From: Kilian Saffran Date: Sat, 7 Mar 2020 08:28:37 +0000 (+0100) Subject: v20200307 X-Git-Url: http://cloud.dks.lu/git/?a=commitdiff_plain;h=326922917c6e1826bb944f5e6ac5f0eda9eacd4e;p=luxopen_lu.git v20200307 --- diff --git a/.gitignore b/.gitignore index 2ff3f33..d1f9db8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ backoffice/api/lib/perl5 - +OLD/* diff --git a/backoffice/api/payment.cgi b/backoffice/api/payment.cgi new file mode 100644 index 0000000..ea510e1 --- /dev/null +++ b/backoffice/api/payment.cgi @@ -0,0 +1,68 @@ +#!/usr/local/bin/perl + +use strict; +use lib ('./lib/perl5'); +use lib ('./lib'); +use CGI; +use CGI::Cookie; +use CGI::Carp qw/fatalsToBrowser/; +use File::Basename; +use File::Path qw/make_path/; +use JSON::PP; +use session; +use dksconfig qw/$sitecfg/; +use dksdb; + +my $stripekey="sk_test_CA41ES1XlQHXR3G3AydFfG0O001IiM9USp"; +my $cgi = new CGI(); +my $se = session->new(); +my $scriptpath = $cgi->url(-absolute => 1); +my $p = (); +my @params = $cgi->param(); +foreach my $pe (@params){ + $p->{$pe} = $cgi->param($pe); +} +my $html = (); +print $cgi->header(-type=>"application/json", -charset => "utf-8"); +my $db = dksdb->new(); +my $payment = (); +if ((scalar($p->registrations) > 0) && ($p->{amount} gt "0")){ + $payment = $db->dbquerysorted("INSERT INTO public.luxopenpayments (gateway, sessionid, email, prename, surname, sessiondata, statusdate, status, amount, created, modified) VALUES('stripe', null, '".$db->securetext($p->{'email'})."', '".$db->securetext($p->{'prename'})."', '".$db->securetext(p->{'surname'})."', null, 'unpayed', now(),".$db->securetext($p->{'amount'}).") returning id; "); + foreach my $r (@{$p->{registrations}}){ + $db->dbexec("INSERT INTO public.luxopenregistrations (id_payment, playerprename, playersurname, playercountry, dpplayerprename, dpplayersurname, dpplayercountry, category, tournament, statusdate, status, created, modified) VALUES(".$payment->{0}->{id}.", '".$db->securetext($r->{playerprename})."', '".$db->securetext($r->{playersurname})."', '".$db->securetext($r->{playercountry})."', '".$db->securetext($r->{dpplayerprename})."', '".$db->securetext($r->{dpplayersurname})."', '".$db->securetext($r->{dpplayercountry})."', '".$db->securetext($r->{category})."', '".$db->securetext($r->{tournament})."', now(), 'unpayed');"); + } + + if ($p->{stripe} eq "1" && (keys(%{$payment}) > 0)){ + #my $rstr = $se->randomstring(20); + #curl https://api.stripe.com/v1/checkout/sessions/cs_test_nFu3EpqbeMfTrAPGNUH2DCw8FRfOhNcwapetICCqhXqzdRz3Dn1aWdoY -u sk_test_mICurPtgWWeQuWMRCTyP4upf: + #curl https://api.stripe.com/v1/customers/cus_GqlVlBjzY2j0bF -u sk_test_mICurPtgWWeQuWMRCTyP4upf: + #curl https://api.stripe.com/v1/orders -u sk_test_mICurPtgWWeQuWMRCTyP4upf: -d limit=3 -G + $html->{result}->{checkout_session} = $rstr; + my $cmd = '/usr/bin/curl https://api.stripe.com/v1/checkout/sessions '; + $cmd .= '-u sk_test_mICurPtgWWeQuWMRCTyP4upf '; + $cmd .= '-d "payment_method_types[]"=card '; + $cmd .= '-d "line_items[][name]"="Luxembourg Open Registration" '; + $cmd .= '-d "line_items[][description]"="Registration(s) for the Luxembourg Open" '; + #$cmd .= '-d "line_items[][images][]"="https://example.com/t-shirt.png" '; + $cmd .= '-d "line_items[][amount]"='.$db->securetext($p->{'amount'}).' '; + $cmd .= '-d "line_items[][currency]"=eur '; + $cmd .= '-d "line_items[][quantity]"=1 '; + $cmd .= '-d success_url="https://www.luxopen.lu/registration.html?session_id={CHECKOUT_SESSION_ID}" '; + $cmd .= '-d cancel_url="https://www.luxopen.lu/registration.html?canceled=1"'; + #my $res = ""; + open(TST,">".dirname($0).'/tmp/'.$rstr.".txt"); + print TST $rstr."\n"; + close(TST); + my $res = `$cmd`; + my $xdata = JSON::PP::decode_json($res); + open(TST,">".dirname($0).'/tmp/'.$xdata->{id}.".txt"); + print TST JSON::PP::encode_json($xdata)."\n"; + close(TST); + $html->{result}->{cmd} = $cmd; + $html->{result}->{stripeoutput} = $xdata; + } +} +if ($p->{psid}){ + +} +print JSON::PP::encode_json($html); diff --git a/backoffice/img/bg1.jpg b/backoffice/img/bg1.jpg index 80c5326..3123259 100644 Binary files a/backoffice/img/bg1.jpg and b/backoffice/img/bg1.jpg differ diff --git a/backoffice/img/favicon/android-icon-144x144.png b/backoffice/img/favicon/android-icon-144x144.png index 6aa79d8..7c5eaa9 100644 Binary files a/backoffice/img/favicon/android-icon-144x144.png and b/backoffice/img/favicon/android-icon-144x144.png differ diff --git a/backoffice/img/favicon/android-icon-192x192.png b/backoffice/img/favicon/android-icon-192x192.png index f58a3e6..a47f6d9 100644 Binary files a/backoffice/img/favicon/android-icon-192x192.png and b/backoffice/img/favicon/android-icon-192x192.png differ diff --git a/backoffice/img/favicon/android-icon-36x36.png b/backoffice/img/favicon/android-icon-36x36.png index f52eed7..1dbb3f3 100644 Binary files a/backoffice/img/favicon/android-icon-36x36.png and b/backoffice/img/favicon/android-icon-36x36.png differ diff --git a/backoffice/img/favicon/android-icon-48x48.png b/backoffice/img/favicon/android-icon-48x48.png index d5beba1..d808744 100644 Binary files a/backoffice/img/favicon/android-icon-48x48.png and b/backoffice/img/favicon/android-icon-48x48.png differ diff --git a/backoffice/img/favicon/android-icon-72x72.png b/backoffice/img/favicon/android-icon-72x72.png index 7c7f324..6ba20ba 100644 Binary files a/backoffice/img/favicon/android-icon-72x72.png and b/backoffice/img/favicon/android-icon-72x72.png differ diff --git a/backoffice/img/favicon/android-icon-96x96.png b/backoffice/img/favicon/android-icon-96x96.png index 38484ee..69e14a0 100644 Binary files a/backoffice/img/favicon/android-icon-96x96.png and b/backoffice/img/favicon/android-icon-96x96.png differ diff --git a/backoffice/img/favicon/apple-icon-114x114.png b/backoffice/img/favicon/apple-icon-114x114.png index 3d448dd..8ce39be 100644 Binary files a/backoffice/img/favicon/apple-icon-114x114.png and b/backoffice/img/favicon/apple-icon-114x114.png differ diff --git a/backoffice/img/favicon/apple-icon-120x120.png b/backoffice/img/favicon/apple-icon-120x120.png index 99a1a39..ed9b7c9 100644 Binary files a/backoffice/img/favicon/apple-icon-120x120.png and b/backoffice/img/favicon/apple-icon-120x120.png differ diff --git a/backoffice/img/favicon/apple-icon-144x144.png b/backoffice/img/favicon/apple-icon-144x144.png index 6aa79d8..7c5eaa9 100644 Binary files a/backoffice/img/favicon/apple-icon-144x144.png and b/backoffice/img/favicon/apple-icon-144x144.png differ diff --git a/backoffice/img/favicon/apple-icon-152x152.png b/backoffice/img/favicon/apple-icon-152x152.png index 3ee4143..67ac17f 100644 Binary files a/backoffice/img/favicon/apple-icon-152x152.png and b/backoffice/img/favicon/apple-icon-152x152.png differ diff --git a/backoffice/img/favicon/apple-icon-180x180.png b/backoffice/img/favicon/apple-icon-180x180.png index 7541cce..decad76 100644 Binary files a/backoffice/img/favicon/apple-icon-180x180.png and b/backoffice/img/favicon/apple-icon-180x180.png differ diff --git a/backoffice/img/favicon/apple-icon-57x57.png b/backoffice/img/favicon/apple-icon-57x57.png index 58d5700..b5f8e58 100644 Binary files a/backoffice/img/favicon/apple-icon-57x57.png and b/backoffice/img/favicon/apple-icon-57x57.png differ diff --git a/backoffice/img/favicon/apple-icon-60x60.png b/backoffice/img/favicon/apple-icon-60x60.png index 31a3f78..75a9351 100644 Binary files a/backoffice/img/favicon/apple-icon-60x60.png and b/backoffice/img/favicon/apple-icon-60x60.png differ diff --git a/backoffice/img/favicon/apple-icon-72x72.png b/backoffice/img/favicon/apple-icon-72x72.png index 7c7f324..6ba20ba 100644 Binary files a/backoffice/img/favicon/apple-icon-72x72.png and b/backoffice/img/favicon/apple-icon-72x72.png differ diff --git a/backoffice/img/favicon/apple-icon-76x76.png b/backoffice/img/favicon/apple-icon-76x76.png index bd28884..7bff42f 100644 Binary files a/backoffice/img/favicon/apple-icon-76x76.png and b/backoffice/img/favicon/apple-icon-76x76.png differ diff --git a/backoffice/img/favicon/apple-icon-precomposed.png b/backoffice/img/favicon/apple-icon-precomposed.png index cd3635a..fc4f0ce 100644 Binary files a/backoffice/img/favicon/apple-icon-precomposed.png and b/backoffice/img/favicon/apple-icon-precomposed.png differ diff --git a/backoffice/img/favicon/apple-icon.png b/backoffice/img/favicon/apple-icon.png index cd3635a..fc4f0ce 100644 Binary files a/backoffice/img/favicon/apple-icon.png and b/backoffice/img/favicon/apple-icon.png differ diff --git a/backoffice/img/favicon/favicon-16x16.png b/backoffice/img/favicon/favicon-16x16.png index 09adf92..71a579b 100644 Binary files a/backoffice/img/favicon/favicon-16x16.png and b/backoffice/img/favicon/favicon-16x16.png differ diff --git a/backoffice/img/favicon/favicon-32x32.png b/backoffice/img/favicon/favicon-32x32.png index 3281e25..66fcee5 100644 Binary files a/backoffice/img/favicon/favicon-32x32.png and b/backoffice/img/favicon/favicon-32x32.png differ diff --git a/backoffice/img/favicon/favicon-96x96.png b/backoffice/img/favicon/favicon-96x96.png index 38484ee..69e14a0 100644 Binary files a/backoffice/img/favicon/favicon-96x96.png and b/backoffice/img/favicon/favicon-96x96.png differ diff --git a/backoffice/img/favicon/favicon.ico b/backoffice/img/favicon/favicon.ico index bbf93a1..17aa8be 100644 Binary files a/backoffice/img/favicon/favicon.ico and b/backoffice/img/favicon/favicon.ico differ diff --git a/backoffice/img/favicon/ms-icon-144x144.png b/backoffice/img/favicon/ms-icon-144x144.png index 6aa79d8..7c5eaa9 100644 Binary files a/backoffice/img/favicon/ms-icon-144x144.png and b/backoffice/img/favicon/ms-icon-144x144.png differ diff --git a/backoffice/img/favicon/ms-icon-150x150.png b/backoffice/img/favicon/ms-icon-150x150.png index b08e562..c1b2062 100644 Binary files a/backoffice/img/favicon/ms-icon-150x150.png and b/backoffice/img/favicon/ms-icon-150x150.png differ diff --git a/backoffice/img/favicon/ms-icon-70x70.png b/backoffice/img/favicon/ms-icon-70x70.png index 5135560..54b75ef 100644 Binary files a/backoffice/img/favicon/ms-icon-70x70.png and b/backoffice/img/favicon/ms-icon-70x70.png differ diff --git a/backoffice/img/hourtrax.png b/backoffice/img/hourtrax.png deleted file mode 100644 index 4f04687..0000000 Binary files a/backoffice/img/hourtrax.png and /dev/null differ diff --git a/backoffice/img/logo_512.png b/backoffice/img/logo_512.png deleted file mode 100644 index 37e2068..0000000 Binary files a/backoffice/img/logo_512.png and /dev/null differ diff --git a/backoffice/img/pottop.png b/backoffice/img/pottop.png deleted file mode 100644 index 5f159c5..0000000 Binary files a/backoffice/img/pottop.png and /dev/null differ diff --git a/backoffice/img/toplogo.png b/backoffice/img/toplogo.png deleted file mode 100644 index 37e2068..0000000 Binary files a/backoffice/img/toplogo.png and /dev/null differ diff --git a/backoffice/img/toplogo.svg b/backoffice/img/toplogo.svg new file mode 100644 index 0000000..9e2ec89 --- /dev/null +++ b/backoffice/img/toplogo.svg @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backoffice/js/formsave.js b/backoffice/js/formsave.js index 9e2e214..7686d15 100644 --- a/backoffice/js/formsave.js +++ b/backoffice/js/formsave.js @@ -52,6 +52,7 @@ function showsnackbar(xclass,xmessage){ } function getformcontent(frmid,dataflds){ + var frm = document.getElementById("frm_" + frmid); var flds = []; if (dataflds){ diff --git a/backoffice/tmpl/skeleton/login.tt b/backoffice/tmpl/skeleton/login.tt index dff443c..a961c63 100644 --- a/backoffice/tmpl/skeleton/login.tt +++ b/backoffice/tmpl/skeleton/login.tt @@ -9,7 +9,7 @@
- logo + logo
[% IF pagename == 'register' && registration_enabled == '1' %] [% INCLUDE skeleton/login/register.tt %] @@ -26,7 +26,7 @@ [% END %]
- logo + logo
diff --git a/css/about.css b/css/about.css deleted file mode 100755 index efd7dcd..0000000 --- a/css/about.css +++ /dev/null @@ -1,1308 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. Fonts -2. Body and some general stuff -3. Header -4. Menu -5. Home -6. Intro -7. Milestones -8. Pricing -9. Logos -10. CTA -11. Footer - - -******************************/ - -/*********** -1. Fonts -***********/ - -@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900'); - -/********************************* -2. Body and some general stuff -*********************************/ - -* -{ - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -body -{ - font-family: 'Roboto', sans-serif; - font-size: 14px; - font-weight: 400; - background: #FFFFFF; - color: #a5a5a5; -} -div -{ - display: block; - position: relative; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -ul -{ - list-style: none; - margin-bottom: 0px; -} -p -{ - font-family: 'Roboto', sans-serif; - font-size: 15px; - line-height: 2; - font-weight: 400; - color: #68727c; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a -{ - display: inline; - position: relative; - color: inherit; - border-bottom: solid 1px #ffa07f; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -p:last-of-type -{ - margin-bottom: 0; -} -a -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -a, a:hover, a:visited, a:active, a:link -{ - text-decoration: none; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a:active -{ - position: relative; - color: #FF6347; -} -p a:hover -{ - color: #FFFFFF; - background: #ffa07f; -} -p a:hover::after -{ - opacity: 0.2; -} -::selection -{ - background: rgba(127,102,255,0.85); - color: #ffffff; -} -p::selection -{ - -} -h1{font-size: 60px;} -h2{font-size: 48px;} -h3{font-size: 36px;} -h4{font-size: 24px;} -h5{font-size: 18px;} -h1, h2, h3, h4, h5, h6 -{ - font-family: 'Roboto', sans-serif; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; - line-height: 1.2; - color: #0a2642; - font-weight: 700; - margin-bottom: 0; -} -h1::selection, -h2::selection, -h3::selection, -h4::selection, -h5::selection, -h6::selection -{ - -} -img -{ - max-width: 100%; -} -button:active -{ - outline: none; -} -.form-control -{ - color: #db5246; -} -section -{ - display: block; - position: relative; - box-sizing: border-box; -} -.clear -{ - clear: both; -} -.clearfix::before, .clearfix::after -{ - content: ""; - display: table; -} -.clearfix::after -{ - clear: both; -} -.clearfix -{ - zoom: 1; -} -.float_left -{ - float: left; -} -.float_right -{ - float: right; -} -.trans_200 -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.trans_300 -{ - -webkit-transition: all 300ms ease; - -moz-transition: all 300ms ease; - -ms-transition: all 300ms ease; - -o-transition: all 300ms ease; - transition: all 300ms ease; -} -.trans_400 -{ - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.trans_500 -{ - -webkit-transition: all 500ms ease; - -moz-transition: all 500ms ease; - -ms-transition: all 500ms ease; - -o-transition: all 500ms ease; - transition: all 500ms ease; -} -.fill_height -{ - height: 100%; -} -.super_container -{ - width: 100%; - overflow: hidden; -} -.prlx_parent -{ - overflow: hidden; -} -.prlx -{ - height: 130% !important; -} -.parallax-window -{ - min-height: 400px; - background: transparent; -} -.parallax_background -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.background_image -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-size: cover; - background-position: center center; -} -.nopadding -{ - padding: 0px !important; -} -.owl-carousel, -.owl-carousel .owl-stage-outer, -.owl-carousel .owl-stage, -.owl-carousel .owl-item -{ - height: 100%; -} -.slide -{ - height: 100%; -} -.button -{ - display: inline-block; - width: 202px; - height: 59px; - text-align: center; -} -.button_1 -{ - background: #ffffff; -} -.button_2 -{ - background: #7f66ff; -} -.button_3 -{ - background: #ff9000; -} -.button_4 -{ - background: #7f66ff; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.button::after -{ - display: block; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 3px; - content: ''; -} -.button_1::after -{ - background: #7f66ff; -} -.button_2::after -{ - background: #0a2642; -} -.button_3::after -{ - background: #0a2642; -} -.button_4::after -{ - background: #ffffff; -} -.button_4:hover -{ - background: #0a2642; -} -.button a -{ - display: block; - height: 100%; - line-height: 59px; - font-size: 14px; - font-weight: 900; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.button_1 a -{ - color: #081624; -} -.button_2 a -{ - color: #ffffff; -} -.button_3 a -{ - color: #ffffff; -} -.button_4 a -{ - color: #ffffff; -} -.button a img -{ - display: inline-block !important; - width: auto !important; - margin-left: 8px; - margin-bottom: 3px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.button:hover a img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.section_subtitle -{ - font-size: 13px; - font-weight: 700; - color: #b6bec7; - line-height: 0.75; - text-transform: uppercase; - letter-spacing: 0.2em; - margin-right: -0.2em; -} -.section_title -{ - margin-top: 7px; -} - -/********************************* -3. Header -*********************************/ - -.header -{ - position: fixed; - top: 22px; - left: 23px; - width: calc(100% - 48px); - background: #0a2642; - z-index: 100; - border-bottom: solid 2px #7f66ff; -} -.header_content -{ - width: 100%; - height: 94px; - padding-left: 50px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_content -{ - height: 75px; -} -.logo -{ - display: inline-block; -} -.logo a -{ - display: block; - height: 100%; - padding: 5px; -} -.logo a > span -{ - display: block; - font-size: 30px; - line-height: 0.75; - font-weight: 500; - color: #7f66ff; - text-transform: uppercase; -} -.logo a > span > span -{ - color: #ffffff; -} -.logo a > span:last-of-type -{ - font-size: 10px; - font-weight: 500; - letter-spacing: 0.75em; - margin-top: 7px; - margin-left: 2px; -} -.main_nav -{ - margin-left: 155px; -} -.main_nav ul li -{ - position: relative; - white-space: nowrap; -} -.main_nav > ul > li.has_children > a -{ - padding-right: 19px; -} -.main_nav > ul > li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 0px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f107'; - font-size: 20px; - color: #928d92; - line-height: 1.2; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.active.has_children > a::after -{ - color: #7f66ff; -} -.main_nav > ul > li:not(:last-of-type) -{ - margin-right: 40px; -} -.main_nav ul li a -{ - display: block; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.main_nav > ul > li a:hover, -.main_nav > ul > li.active a, -.main_nav > ul > li > a:hover::after -{ - color: #7f66ff; -} -.main_nav ul li > ul -{ - position: absolute; - left: 0; - top: 100%; - min-width: 100%; - background: #ffffff; - padding-top: 20px; - padding-bottom: 25px; - visibility: hidden; - opacity: 0; -} -.main_nav ul li.has_children:hover > ul -{ - visibility: visible; - opacity: 1; -} -.main_nav ul li > ul > li -{ - padding-left: 30px; -} -.main_nav ul li > ul > li > a -{ - position: relative; - padding-right: 30px; -} -.main_nav ul li > ul > li:not(:last-of-type) -{ - margin-bottom: 8px; -} -.main_nav ul li > ul > li a -{ - color: #7f66ff; -} -.main_nav ul li > ul > li a:hover -{ - color: #0a2642; -} -.main_nav > ul > li.has_children > ul li.has_children ul -{ - position: absolute; - top: -20px; - left: 100%; - border-left: solid 3px #7f66ff; -} -.main_nav > ul > li.has_children > ul li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 16px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f105'; - font-size: 16px; - color: #928d92; - line-height: 1.4; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.has_children > ul li.has_children > a:hover::after -{ - color: #0a2642; -} -.header_right -{ - height: 100%; -} -.header_link -{ - height: 100%; - width: 200px; - background: #7f66ff; - text-align: center; -} -.header_link a -{ - display: block; - position: relative; - height: 100%; -} -.header_link a span -{ - position: relative; - font-size: 14px; - font-weight: 900; - color: #ffffff; - line-height: 96px; - text-transform: uppercase; - letter-spacing: 0.2em; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_link a span -{ - line-height: 75px; -} -.header_link a span > img -{ - margin-bottom: 4px; - margin-left: 5px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.header_link:hover a span > img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.header .social -{ - margin-right: 56px; -} -.social ul li -{ - width: 32px; - height: 32px; - text-align: center; - border-radius: 50%; - background: transparent; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.social ul li:not(:last-of-type) -{ - margin-right: 13px; -} -.social ul li:hover -{ - background: #7f66ff; -} -.social ul li a -{ - display: block; - height: 100%; -} -.social ul li a i -{ - font-size: 14px; - color: #ffffff; - line-height: 32px; -} -.log_reg -{ - margin-right: 75px; -} -.log_reg ul li -{ - position: relative; -} -.log_reg ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - padding-right: 4px; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a:hover -{ - color: #7f66ff; -} -.hamburger -{ - display: none; - cursor: pointer; -} -.hamburger i -{ - font-size: 22px; - color: #ffffff; - padding: 5px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.hamburger:hover i -{ - color: #7f66ff; -} - -/********************************* -4. Menu -*********************************/ - -.menu -{ - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 101; - visibility: hidden; - opacity: 0; - background: rgba(10,38,66,0.92); - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.menu.active -{ - visibility: visible; - opacity: 1; -} -.menu_container -{ - width: 100%; - height: 100%; -} -.menu_close -{ - position: absolute; - top: 50px; - right: 50px; - cursor: pointer; -} -.menu_close i -{ - font-size: 22px; - color: #ffffff; -} -.menu_close:hover i -{ - color: #7f66ff; -} -.menu_content -{ - position: absolute; - top: 40%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0; - width: 100%; -} -.menu_nav ul li -{ - position: relative; - display: inline-block; - -} -.menu_nav ul li a -{ - font-size: 36px; - font-weight: 500; - color: #ffffff; -} -.menu_nav ul li a:hover -{ - color: #7f66ff; -} -.menu_social -{ - position: absolute; - bottom: 30px; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); -} - -/********************************* -5. Home -*********************************/ - -.home -{ - height: 511px; -} -.home_container -{ - position: absolute; - top: 59.85%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0px; - width: 100%; -} -.home_content -{ - -} -.home_title h1 -{ - font-size: 90px; - font-weight: 700; - color: #ffffff; - font-style: italic; - line-height: 0.75; -} -.breadcrumbs -{ - display: inline-block; - background: #7f66ff; - height: 38px; - padding-left: 23px; - padding-right: 25px; - margin-top: 21px; -} -.breadcrumbs ul -{ - height: 100%; -} -.breadcrumbs ul li -{ - position: relative; -} -.breadcrumbs ul li, -.breadcrumbs ul li a, -.breadcrumbs ul li::after -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.breadcrumbs ul li a:hover -{ - color: #ff9000; -} -.breadcrumbs ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - margin-right: 4px; -} - -/********************************* -6. Intro -*********************************/ - -.intro -{ - background: #f5f8fb; -} -.container_wrapper -{ - width: 100%; -} -.container_wrapper > .container -{ - max-width: 100%; - padding-left: 0; - padding-right: 0; -} -.container_wrapper > .container > .row -{ - margin-left: 0; - margin-right: 0; -} -.container_wrapper > .container > .row > div[class^='col'] -{ - padding-left: 0; - padding-right: 0; -} -.intro_image -{ - height: 100%; -} -.intro_image > img -{ - display: none; -} -.intro_left_content -{ - padding-left: 190px; - padding-top: 98px; - padding-bottom: 109px; - padding-right: 200px; -} -.intro_title h1 -{ - line-height: 1; -} -.intro_text -{ - margin-top: 27px; -} -.intro_button -{ - margin-top: 41px; -} -.intro_right_content -{ - padding-top: 149px; - padding-left: 205px; - padding-bottom: 143px; - padding-right: 190px; -} - -/********************************* -7. Milestones -*********************************/ - -.milestones -{ - background: #ffffff; - padding-top: 102px; - padding-bottom: 25px; -} -.milestone -{ - width: 100%; - margin-bottom: 60px; - padding-left: 22px; -} -.milestone_icon -{ - display: inline-block; - height: 62px; - width: 62px; -} -.milestone_icon img -{ - max-width: 100%; - max-height: 100%; -} -.milestone_content -{ - padding-left: 18px; -} -.milestone_counter -{ - font-size: 60px; - font-weight: 700; - color: #0a2642; - line-height: 0.75; -} -.milestone_text -{ - font-size: 18px; - font-weight: 700; - color: #0a2642; - margin-top: 11px; - line-height: 1.2; -} - -/********************************* -8. Pricing -*********************************/ - -.pricing -{ - background: #ffffff; - padding-bottom: 47px; -} -.pricing_row -{ - margin-top: 90px; -} -.pricing_row > div[class^='col'] -{ - margin-bottom: 40px; -} -.pricing_item -{ - height: 100%; - background: #0a2642; - padding-top: 51px; - padding-bottom: 162px; - padding-left: 25px; - padding-right: 25px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.pricing_item:hover -{ - background: #7f66ff; - box-shadow: 0px 30px 43px rgba(0,0,0,0.44); -} -.pricing_icon -{ - width: 103px; - height: 103px; - margin-left: auto; - margin-right: auto; -} -.pricing_icon > img -{ - max-height: 100%; -} -.pricing_title -{ - margin-top: 21px; -} -.pricing_title h3 -{ - color: #ffffff; -} -.pricing_price -{ - font-size: 72px; - color: #ff9000; - font-weight: 900; - margin-top: 29px; - line-height: 1; -} -.pricing_price span -{ - font-size: 18px; - color: #ffffff; -} -.pricing_text -{ - margin-top: 7px; - font-size: 16px; - font-style: italic; - font-weight: 400; - color: rgba(255,255,255,0.24); -} -.pricing_list -{ - margin-top: 54px; -} -.pricing_list ul li -{ - font-size: 16px; - font-weight: 400; - color: #ffffff; -} -.pricing_list ul li:not(:last-of-type) -{ - margin-bottom: 13px; -} -.pricing_button -{ - position: absolute; - bottom: 52px; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); -} -.pricing_item:hover .pricing_button -{ - background: #0a2642; -} - -/********************************* -9. Logos -*********************************/ - -.logos -{ - background: #ffffff; - padding-bottom: 87px; -} -.logos_text -{ - margin-top: 38px; -} -.logos_slider_container -{ - margin-top: 54px; -} -.logos_slider .slide -{ - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - height: 76px; -} -.owl-carousel.logos_slider .owl-item img -{ - width: auto; -} - -/********************************* -10. CTA -*********************************/ - -.cta -{ - padding-top: 81px; - padding-bottom: 73px; -} -.cta_overlay -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(127,102,255,0.9); -} -.cta_title h1 -{ - color: #ffffff; -} -.cta_text -{ - margin-top: 18px; -} -.cta_text p -{ - font-size: 18px; - color: #ffffff; -} -.cta_button -{ - margin-top: 23px; -} - -/********************************* -11. Footer -*********************************/ - -.footer -{ - -} -.footer_container -{ - background: #221831; - padding-top: 83px; - padding-bottom: 71px; -} -.footer_text -{ - margin-top: 50px; - padding-left: 8px; -} -.footer_text p -{ - color: #a1acb7; -} -.footer_social -{ - margin-top: 52px; -} -.footer_column -{ - padding-top: 23px; -} -.newsletter_form -{ - display: block; - width: 100%; - margin-top: 55px; -} -.newsletter_input -{ - width: 100%; - height: 44px; - padding-left: 18px; - background: #463a58; - border: none; - outline: none; - font-size: 14px; - color: #ffffff; - font-weight: 400; - line-height: 44px; -} -.newsletter_input::-webkit-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-ms-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_button -{ - position: relative; - width: 100%; - height: 59px; - border: none; - outline: none; - background: #7f66ff; - border-bottom: solid 3px #ffffff; - cursor: pointer; - margin-top: 13px; -} -.newsletter_button span -{ - font-size: 14px; - font-weight: 700; - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.newsletter_button span img -{ - margin-left: 16px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.newsletter_button:hover span img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.footer_title -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.gallery -{ - max-width: 360px; - margin-top: 54px; -} -.gallery_item -{ - width: calc((100% - 12px) / 4); - max-width: 87px; - max-height: 87px; - margin-bottom: 4px; -} -.footer_bar -{ - background: #190e2b; -} -.footer_bar_content -{ - height: 58px; -} -.copyright -{ - font-size: 14px; - font-weight: 400; - color: #4e445d; -} \ No newline at end of file diff --git a/css/about_responsive.css b/css/about_responsive.css deleted file mode 100755 index f0af392..0000000 --- a/css/about_responsive.css +++ /dev/null @@ -1,348 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. 1600px -2. 1440px -3. 1280px -4. 1199px -5. 1024px -6. 991px -7. 959px -8. 880px -9. 768px -10. 767px -11. 539px -12. 479px -13. 400px - -******************************/ - -/************ -1. 1600px -************/ - -@media only screen and (max-width: 1600px) -{ - .main_nav - { - margin-left: 75px; - } - .main_nav > ul > li:not(:last-of-type) - { - margin-right: 32px; - } - .header .social - { - margin-right: 41px; - } - .log_reg - { - margin-right: 43px; - } - .intro_left_content, - .intro_right_content - { - padding-left: 91px; - padding-right: 110px; - } -} - -/************ -2. 1440px -************/ - -@media only screen and (max-width: 1440px) -{ - .header .social - { - display: none; - } -} - -/************ -3. 1380px -************/ - -@media only screen and (max-width: 1380px) -{ - -} - -/************ -3. 1280px -************/ - -@media only screen and (max-width: 1280px) -{ - -} - -/************ -4. 1199px -************/ - -@media only screen and (max-width: 1199px) -{ - .header_content - { - padding-left: 30px; - } - .main_nav - { - margin-left: 45px; - } - .header_link - { - display: none; - } - .container_wrapper > .container - { - max-width: 960px; - padding-left: 15px; - padding-right: 15px; - } - .container_wrapper > .container > .row - { - margin-left: -15px; - margin-right: -15px; - } - .container_wrapper > .container > .row > div[class^='col'] - { - padding-left: 15px; - padding-right: 15px; - } - .intro_image > img - { - display: block; - } - .intro_image > .background_image - { - display: none; - } - .intro_left_content, - .intro_right_content - { - padding-left: 0px; - padding-top: 98px; - padding-bottom: 109px; - padding-right: 0px; - } -} - -/************ -4. 1100px -************/ - -@media only screen and (max-width: 1100px) -{ - -} - -/************ -5. 1024px -************/ - -@media only screen and (max-width: 1024px) -{ - -} - -/************ -6. 991px -************/ - -@media only screen and (max-width: 991px) -{ - .main_nav - { - display: none; - } - .header_content - { - padding-right: 30px; - } - .hamburger - { - display: block; - } - .container_wrapper > .container - { - max-width: 720px; - } - .home_title h1 - { - font-size: 72px; - } - .footer_column - { - padding-top: 0; - } - .footer_col:not(:last-child) - { - margin-bottom: 80px; - } -} - -/************ -7. 959px -************/ - -@media only screen and (max-width: 959px) -{ - -} - -/************ -8. 880px -************/ - -@media only screen and (max-width: 880px) -{ - -} - -/************ -9. 768px -************/ - -@media only screen and (max-width: 768px) -{ - -} - -/************ -10. 767px -************/ - -@media only screen and (max-width: 767px) -{ - h1 - { - font-size: 48px; - } - .container_wrapper > .container - { - max-width: 540px; - } - .home_title h1 - { - font-size: 56px; - } -} - -/************ -11. 575px -************/ - -@media only screen and (max-width: 575px) -{ - h1 - { - font-size: 36px; - } - h3 - { - font-size: 24px; - } - p - { - font-size: 14px; - } - .header_content - { - height: 75px; - padding-left: 15px; - padding-right: 15px; - } - .header.scrolled .header_content - { - height: 75px; - } - .logo a > span - { - font-size: 24px; - } - .logo a > span:last-of-type - { - font-size: 8px; - margin-left: 3px; - } - .log_reg ul li a - { - font-size: 14px; - } - .log_reg ul li:not(:last-of-type)::after - { - font-size: 14px; - } - .log_reg - { - margin-right: 30px; - } - .button - { - width: 180px; - height: 53px; - } - .button a - { - font-size: 12px; - line-height: 53px; - } - .container_wrapper > .container - { - max-width: 100%; - } - .home - { - height: 385px; - } - .home_title h1 - { - font-size: 48px; - } - .cta_text p - { - font-size: 16px; - } -} - -/************ -11. 539px -************/ - -@media only screen and (max-width: 539px) -{ - -} - -/************ -12. 480px -************/ - -@media only screen and (max-width: 480px) -{ - -} - -/************ -13. 479px -************/ - -@media only screen and (max-width: 479px) -{ - -} - -/************ -14. 400px -************/ - -@media only screen and (max-width: 400px) -{ - -} \ No newline at end of file diff --git a/css/animate.min.css b/css/animate.min.css new file mode 100644 index 0000000..e7dd655 --- /dev/null +++ b/css/animate.min.css @@ -0,0 +1,11 @@ +@charset "UTF-8"; + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.5.2 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2017 Daniel Eden + */ + +.animated{animation-duration:1s;animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{animation-duration:.75s}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.bounce{animation-name:bounce;transform-origin:center bottom}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{animation-name:flash}@keyframes pulse{0%{transform:scaleX(1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scaleX(1)}}.pulse{animation-name:pulse}@keyframes rubberBand{0%{transform:scaleX(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleX(1)}}.rubberBand{animation-name:rubberBand}@keyframes shake{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}.shake{animation-name:shake}@keyframes headShake{0%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}50%{transform:translateX(0)}}.headShake{animation-timing-function:ease-in-out;animation-name:headShake}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0deg)}}.swing{transform-origin:top center;animation-name:swing}@keyframes tada{0%{transform:scaleX(1)}10%,20%{transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{transform:scaleX(1)}}.tada{animation-name:tada}@keyframes wobble{0%{transform:none}15%{transform:translate3d(-25%,0,0) rotate(-5deg)}30%{transform:translate3d(20%,0,0) rotate(3deg)}45%{transform:translate3d(-15%,0,0) rotate(-3deg)}60%{transform:translate3d(10%,0,0) rotate(2deg)}75%{transform:translate3d(-5%,0,0) rotate(-1deg)}to{transform:none}}.wobble{animation-name:wobble}@keyframes jello{0%,11.1%,to{transform:none}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{transform:skewX(.390625deg) skewY(.390625deg)}88.8%{transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{animation-name:jello;transform-origin:center}@keyframes bounceIn{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scaleX(1)}}.bounceIn{animation-name:bounceIn}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}.bounceInDown{animation-name:bounceInDown}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}.bounceInLeft{animation-name:bounceInLeft}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}.bounceInRight{animation-name:bounceInRight}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}.bounceInUp{animation-name:bounceInUp}@keyframes bounceOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{animation-name:bounceOut}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.bounceOutDown{animation-name:bounceOutDown}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}.bounceOutLeft{animation-name:bounceOutLeft}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}.bounceOutRight{animation-name:bounceOutRight}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}.bounceOutUp{animation-name:bounceOutUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}.fadeInDown{animation-name:fadeInDown}@keyframes fadeInDownBig{0%{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:none}}.fadeInDownBig{animation-name:fadeInDownBig}@keyframes fadeInLeft{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}.fadeInLeft{animation-name:fadeInLeft}@keyframes fadeInLeftBig{0%{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:none}}.fadeInLeftBig{animation-name:fadeInLeftBig}@keyframes fadeInRight{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:none}}.fadeInRight{animation-name:fadeInRight}@keyframes fadeInRightBig{0%{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:none}}.fadeInRightBig{animation-name:fadeInRightBig}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}.fadeInUp{animation-name:fadeInUp}@keyframes fadeInUpBig{0%{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:none}}.fadeInUpBig{animation-name:fadeInUpBig}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{animation-name:fadeOut}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{animation-name:fadeOutDown}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}.fadeOutDownBig{animation-name:fadeOutDownBig}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}.fadeOutLeft{animation-name:fadeOutLeft}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{animation-name:fadeOutLeftBig}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}.fadeOutRight{animation-name:fadeOutRight}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}.fadeOutRightBig{animation-name:fadeOutRightBig}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{animation-name:fadeOutUp}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{animation-name:fadeOutUpBig}@keyframes flip{0%{transform:perspective(400px) rotateY(-1turn);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in}80%{transform:perspective(400px) scale3d(.95,.95,.95);animation-timing-function:ease-in}to{transform:perspective(400px);animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;animation-name:flip}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;animation-name:flipInX}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateY(10deg);opacity:1}80%{transform:perspective(400px) rotateY(-5deg)}to{transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;animation-name:flipInY}@keyframes flipOutX{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@keyframes flipOutY{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateY(-15deg);opacity:1}to{transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;animation-name:flipOutY}@keyframes lightSpeedIn{0%{transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{transform:skewX(20deg);opacity:1}80%{transform:skewX(-5deg);opacity:1}to{transform:none;opacity:1}}.lightSpeedIn{animation-name:lightSpeedIn;animation-timing-function:ease-out}@keyframes lightSpeedOut{0%{opacity:1}to{transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{animation-name:lightSpeedOut;animation-timing-function:ease-in}@keyframes rotateIn{0%{transform-origin:center;transform:rotate(-200deg);opacity:0}to{transform-origin:center;transform:none;opacity:1}}.rotateIn{animation-name:rotateIn}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;transform:rotate(-45deg);opacity:0}to{transform-origin:left bottom;transform:none;opacity:1}}.rotateInDownLeft{animation-name:rotateInDownLeft}@keyframes rotateInDownRight{0%{transform-origin:right bottom;transform:rotate(45deg);opacity:0}to{transform-origin:right bottom;transform:none;opacity:1}}.rotateInDownRight{animation-name:rotateInDownRight}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;transform:rotate(45deg);opacity:0}to{transform-origin:left bottom;transform:none;opacity:1}}.rotateInUpLeft{animation-name:rotateInUpLeft}@keyframes rotateInUpRight{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}to{transform-origin:right bottom;transform:none;opacity:1}}.rotateInUpRight{animation-name:rotateInUpRight}@keyframes rotateOut{0%{transform-origin:center;opacity:1}to{transform-origin:center;transform:rotate(200deg);opacity:0}}.rotateOut{animation-name:rotateOut}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{animation-name:rotateOutDownLeft}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}to{transform-origin:right bottom;transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{animation-name:rotateOutDownRight}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{animation-name:rotateOutUpLeft}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}to{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}.rotateOutUpRight{animation-name:rotateOutUpRight}@keyframes hinge{0%{transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate(80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%,80%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out;opacity:1}to{transform:translate3d(0,700px,0);opacity:0}}.hinge{animation-name:hinge}@keyframes jackInTheBox{0%{opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.jackInTheBox{animation-name:jackInTheBox}@keyframes rollIn{0%{opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;transform:none}}.rollIn{animation-name:rollIn}@keyframes rollOut{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{animation-name:rollOut}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{animation-name:zoomIn}@keyframes zoomInDown{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{animation-name:zoomInDown}@keyframes zoomInLeft{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{animation-name:zoomInLeft}@keyframes zoomInRight{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{animation-name:zoomInRight}@keyframes zoomInUp{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{animation-name:zoomInUp}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{animation-name:zoomOut}@keyframes zoomOutDown{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{animation-name:zoomOutDown}@keyframes zoomOutLeft{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}.zoomOutLeft{animation-name:zoomOutLeft}@keyframes zoomOutRight{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}.zoomOutRight{animation-name:zoomOutRight}@keyframes zoomOutUp{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{animation-name:zoomOutUp}@keyframes slideInDown{0%{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translateZ(0)}}.slideInDown{animation-name:slideInDown}@keyframes slideInLeft{0%{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translateZ(0)}}.slideInLeft{animation-name:slideInLeft}@keyframes slideInRight{0%{transform:translate3d(100%,0,0);visibility:visible}to{transform:translateZ(0)}}.slideInRight{animation-name:slideInRight}@keyframes slideInUp{0%{transform:translate3d(0,100%,0);visibility:visible}to{transform:translateZ(0)}}.slideInUp{animation-name:slideInUp}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,100%,0)}}.slideOutDown{animation-name:slideOutDown}@keyframes slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-100%,0,0)}}.slideOutLeft{animation-name:slideOutLeft}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}.slideOutRight{animation-name:slideOutRight}@keyframes slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-100%,0)}}.slideOutUp{animation-name:slideOutUp} \ No newline at end of file diff --git a/css/blog.css b/css/blog.css deleted file mode 100755 index e05816b..0000000 --- a/css/blog.css +++ /dev/null @@ -1,1309 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. Fonts -2. Body and some general stuff -3. Header -4. Menu -5. Home -6. Blog -7. Sidebar -8. CTA -9. Footer - - -******************************/ - -/*********** -1. Fonts -***********/ - -@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900'); - -/********************************* -2. Body and some general stuff -*********************************/ - -* -{ - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -body -{ - font-family: 'Roboto', sans-serif; - font-size: 14px; - font-weight: 400; - background: #FFFFFF; - color: #a5a5a5; -} -div -{ - display: block; - position: relative; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -ul -{ - list-style: none; - margin-bottom: 0px; -} -p -{ - font-family: 'Roboto', sans-serif; - font-size: 15px; - line-height: 2; - font-weight: 400; - color: #68727c; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a -{ - display: inline; - position: relative; - color: inherit; - border-bottom: solid 1px #ffa07f; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -p:last-of-type -{ - margin-bottom: 0; -} -a -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -a, a:hover, a:visited, a:active, a:link -{ - text-decoration: none; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a:active -{ - position: relative; - color: #FF6347; -} -p a:hover -{ - color: #FFFFFF; - background: #ffa07f; -} -p a:hover::after -{ - opacity: 0.2; -} -::selection -{ - background: rgba(127,102,255,0.85); - color: #ffffff; -} -p::selection -{ - -} -h1{font-size: 60px;} -h2{font-size: 48px;} -h3{font-size: 36px;} -h4{font-size: 24px;} -h5{font-size: 18px;} -h1, h2, h3, h4, h5, h6 -{ - font-family: 'Roboto', sans-serif; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; - line-height: 1.2; - color: #0a2642; - font-weight: 700; - margin-bottom: 0; -} -h1::selection, -h2::selection, -h3::selection, -h4::selection, -h5::selection, -h6::selection -{ - -} -img -{ - max-width: 100%; -} -button:active -{ - outline: none; -} -.form-control -{ - color: #db5246; -} -section -{ - display: block; - position: relative; - box-sizing: border-box; -} -.clear -{ - clear: both; -} -.clearfix::before, .clearfix::after -{ - content: ""; - display: table; -} -.clearfix::after -{ - clear: both; -} -.clearfix -{ - zoom: 1; -} -.float_left -{ - float: left; -} -.float_right -{ - float: right; -} -.trans_200 -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.trans_300 -{ - -webkit-transition: all 300ms ease; - -moz-transition: all 300ms ease; - -ms-transition: all 300ms ease; - -o-transition: all 300ms ease; - transition: all 300ms ease; -} -.trans_400 -{ - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.trans_500 -{ - -webkit-transition: all 500ms ease; - -moz-transition: all 500ms ease; - -ms-transition: all 500ms ease; - -o-transition: all 500ms ease; - transition: all 500ms ease; -} -.fill_height -{ - height: 100%; -} -.super_container -{ - width: 100%; - overflow: hidden; -} -.prlx_parent -{ - overflow: hidden; -} -.prlx -{ - height: 130% !important; -} -.parallax-window -{ - min-height: 400px; - background: transparent; -} -.parallax_background -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.background_image -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-size: cover; - background-position: center center; -} -.nopadding -{ - padding: 0px !important; -} -.owl-carousel, -.owl-carousel .owl-stage-outer, -.owl-carousel .owl-stage, -.owl-carousel .owl-item -{ - height: 100%; -} -.slide -{ - height: 100%; -} -.button -{ - display: inline-block; - width: 202px; - height: 59px; - text-align: center; -} -.button_1 -{ - background: #ffffff; -} -.button_2 -{ - background: #7f66ff; -} -.button_3 -{ - background: #ff9000; -} -.button_4 -{ - background: #7f66ff; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.button::after -{ - display: block; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 3px; - content: ''; -} -.button_1::after -{ - background: #7f66ff; -} -.button_2::after -{ - background: #0a2642; -} -.button_3::after -{ - background: #0a2642; -} -.button_4::after -{ - background: #ffffff; -} -.button_4:hover -{ - background: #0a2642; -} -.button a -{ - display: block; - height: 100%; - line-height: 59px; - font-size: 14px; - font-weight: 900; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.button_1 a -{ - color: #081624; -} -.button_2 a -{ - color: #ffffff; -} -.button_3 a -{ - color: #ffffff; -} -.button_4 a -{ - color: #ffffff; -} -.button a img -{ - display: inline-block !important; - width: auto !important; - margin-left: 8px; - margin-bottom: 3px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.button:hover a img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.section_subtitle -{ - font-size: 13px; - font-weight: 700; - color: #b6bec7; - line-height: 0.75; - text-transform: uppercase; - letter-spacing: 0.2em; - margin-right: -0.2em; -} -.section_title -{ - margin-top: 7px; -} - -/********************************* -3. Header -*********************************/ - -.header -{ - position: fixed; - top: 22px; - left: 23px; - width: calc(100% - 48px); - background: #0a2642; - z-index: 100; - border-bottom: solid 2px #7f66ff; -} -.header_content -{ - width: 100%; - height: 94px; - padding-left: 50px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_content -{ - height: 75px; -} -.logo -{ - display: inline-block; -} -.logo a -{ - display: block; - height: 100%; - padding: 5px; -} -.logo a > span -{ - display: block; - font-size: 30px; - line-height: 0.75; - font-weight: 500; - color: #7f66ff; - text-transform: uppercase; -} -.logo a > span > span -{ - color: #ffffff; -} -.logo a > span:last-of-type -{ - font-size: 10px; - font-weight: 500; - letter-spacing: 0.75em; - margin-top: 7px; - margin-left: 2px; -} -.main_nav -{ - margin-left: 155px; -} -.main_nav ul li -{ - position: relative; - white-space: nowrap; -} -.main_nav > ul > li.has_children > a -{ - padding-right: 19px; -} -.main_nav > ul > li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 0px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f107'; - font-size: 20px; - color: #928d92; - line-height: 1.2; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.active.has_children > a::after -{ - color: #7f66ff; -} -.main_nav > ul > li:not(:last-of-type) -{ - margin-right: 40px; -} -.main_nav ul li a -{ - display: block; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.main_nav > ul > li a:hover, -.main_nav > ul > li.active a, -.main_nav > ul > li > a:hover::after -{ - color: #7f66ff; -} -.main_nav ul li > ul -{ - position: absolute; - left: 0; - top: 100%; - min-width: 100%; - background: #ffffff; - padding-top: 20px; - padding-bottom: 25px; - visibility: hidden; - opacity: 0; -} -.main_nav ul li.has_children:hover > ul -{ - visibility: visible; - opacity: 1; -} -.main_nav ul li > ul > li -{ - padding-left: 30px; -} -.main_nav ul li > ul > li > a -{ - position: relative; - padding-right: 30px; -} -.main_nav ul li > ul > li:not(:last-of-type) -{ - margin-bottom: 8px; -} -.main_nav ul li > ul > li a -{ - color: #7f66ff; -} -.main_nav ul li > ul > li a:hover -{ - color: #0a2642; -} -.main_nav > ul > li.has_children > ul li.has_children ul -{ - position: absolute; - top: -20px; - left: 100%; - border-left: solid 3px #7f66ff; -} -.main_nav > ul > li.has_children > ul li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 16px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f105'; - font-size: 16px; - color: #928d92; - line-height: 1.4; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.has_children > ul li.has_children > a:hover::after -{ - color: #0a2642; -} -.header_right -{ - height: 100%; -} -.header_link -{ - height: 100%; - width: 200px; - background: #7f66ff; - text-align: center; -} -.header_link a -{ - display: block; - position: relative; - height: 100%; -} -.header_link a span -{ - position: relative; - font-size: 14px; - font-weight: 900; - color: #ffffff; - line-height: 96px; - text-transform: uppercase; - letter-spacing: 0.2em; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_link a span -{ - line-height: 75px; -} -.header_link a span > img -{ - margin-bottom: 4px; - margin-left: 5px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.header_link:hover a span > img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.header .social -{ - margin-right: 56px; -} -.social ul li -{ - width: 32px; - height: 32px; - text-align: center; - border-radius: 50%; - background: transparent; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.social ul li:not(:last-of-type) -{ - margin-right: 13px; -} -.social ul li:hover -{ - background: #7f66ff; -} -.social ul li a -{ - display: block; - height: 100%; -} -.social ul li a i -{ - font-size: 14px; - color: #ffffff; - line-height: 32px; -} -.log_reg -{ - margin-right: 75px; -} -.log_reg ul li -{ - position: relative; -} -.log_reg ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - padding-right: 4px; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a:hover -{ - color: #7f66ff; -} -.hamburger -{ - display: none; - cursor: pointer; -} -.hamburger i -{ - font-size: 22px; - color: #ffffff; - padding: 5px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.hamburger:hover i -{ - color: #7f66ff; -} - -/********************************* -4. Menu -*********************************/ - -.menu -{ - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 101; - visibility: hidden; - opacity: 0; - background: rgba(10,38,66,0.92); - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.menu.active -{ - visibility: visible; - opacity: 1; -} -.menu_container -{ - width: 100%; - height: 100%; -} -.menu_close -{ - position: absolute; - top: 50px; - right: 50px; - cursor: pointer; -} -.menu_close i -{ - font-size: 22px; - color: #ffffff; -} -.menu_close:hover i -{ - color: #7f66ff; -} -.menu_content -{ - position: absolute; - top: 40%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0; - width: 100%; -} -.menu_nav ul li -{ - position: relative; - display: inline-block; - -} -.menu_nav ul li a -{ - font-size: 36px; - font-weight: 500; - color: #ffffff; -} -.menu_nav ul li a:hover -{ - color: #7f66ff; -} -.menu_social -{ - position: absolute; - bottom: 30px; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); -} - -/********************************* -5. Home -*********************************/ - -.home -{ - height: 511px; -} -.home_container -{ - position: absolute; - top: 59.85%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0px; - width: 100%; -} -.home_content -{ - -} -.home_title h1 -{ - font-size: 90px; - font-weight: 700; - color: #ffffff; - font-style: italic; - line-height: 0.75; -} -.breadcrumbs -{ - display: inline-block; - background: #7f66ff; - height: 38px; - padding-left: 23px; - padding-right: 25px; - margin-top: 21px; -} -.breadcrumbs ul -{ - height: 100%; -} -.breadcrumbs ul li -{ - position: relative; -} -.breadcrumbs ul li, -.breadcrumbs ul li a, -.breadcrumbs ul li::after -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.breadcrumbs ul li a:hover -{ - color: #ff9000; -} -.breadcrumbs ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - margin-right: 4px; -} - -/********************************* -6. Blog -*********************************/ - -.blog -{ - background: #ffffff; - padding-top: 103px; - padding-bottom: 97px; -} -.blog_post -{ - padding-bottom: 103px; -} -.blog_post_container -{ - padding-left: 25px; - padding-right: 26px; - padding-bottom: 29px; -} -.blog_post_content -{ - background: #ffffff; - border: solid 1px #d8e5e7; - margin-top: -45px; - padding-bottom: 68px; - padding-left: 25px; - padding-right: 25px; - padding-top: 27px; -} -.blog_post_date -{ - font-size: 14px; - font-weight: 700; - color: #7f66ff; - text-transform: uppercase; -} -.blog_post_title -{ - margin-top: 14px; -} -.blog_post_title h3 a -{ - font-size: 30px; - font-weight: 700; - color: #0a2642; -} -.blog_post_title h3 a:hover -{ - color: #7f66ff; -} -.blog_post_info -{ - margin-top: 7px; -} -.blog_post_info ul li -{ - position: relative; - font-size: 15px; - font-weight: 400; - color: #68727c; -} -.blog_post_info > ul > li > a -{ - color: #8886fe; -} -.blog_post_info > ul > li > ul > li > a -{ - color: #68727c; -} -.blog_post_info ul li a:hover -{ - color: #ff9000; -} -.blog_post_info > ul > li:not(:last-of-type)::after -{ - display: inline-block; - content: '|'; - font-size: 15px; - font-weight: 400; - color: #68727c; - margin-left: 10px; - margin-right: 10px; -} -.blog_post_info > ul > li > ul > li:not(:last-of-type)::after -{ - display: inline-block; - content: ','; - font-size: 15px; - font-weight: 400; - color: #68727c; - margin-right: 4px; - margin-left: 1px; -} -.blog_post_text -{ - margin-top: 31px; -} -.blog_post_button -{ - position: absolute; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); - bottom: -30px; -} -.page_nav -{ - margin-top: -28px; -} -.page_nav ul li:not(:last-of-type) -{ - margin-right: 5px; -} -.page_nav ul li a -{ - font-size: 14px; - font-weight: 700; - color: #0a2642; -} -.page_nav ul li.active a, -.page_nav ul li a:hover -{ - color: #8886fe; -} - -/********************************* -7. Sidebar -*********************************/ - -.search_form -{ - display: block; - width: 100%; -} -.search_input -{ - width: 100%; - height: 44px; - padding-left: 15px; - background: #ffffff; - border: solid 1px #d8e5e7; - outline: none; - font-size: 15px; - font-weight: 500; - color: #68727c; -} -.search_input::-webkit-input-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - color: #68727c !important; -} -.search_input:-moz-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - color: #68727c !important; -} -.search_input::-moz-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - color: #68727c !important; -} -.search_input:-ms-input-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - color: #68727c !important; -} -.search_input::input-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - color: #68727c !important; -} -.categories -{ - margin-top: 77px; -} -.sidebar_title -{ - font-size: 24px; - font-weight: 700; - color: #0a2642; - line-height: 1.2; -} -.sidebar_list ul -{ - padding-left: 37px; - margin-top: 44px; -} -.sidebar_list ul li:not(:last-of-type) -{ - margin-bottom: 12px; -} -.sidebar_list ul li a -{ - font-size: 15px; - font-weight: 400; - color: #68727c; -} -.sidebar_list ul li a:hover -{ - color: #8886fe; -} -.archives -{ - margin-top: 70px; -} -.latest_posts -{ - margin-top: 69px; -} -.latest_posts_container -{ - margin-top: 53px; -} -.latest_post:not(:last-child) -{ - margin-bottom: 27px; -} -.latest_post_content -{ - padding-left: 16px; - padding-top: 10px; -} -.latest_post_title a -{ - font-size: 15px; - font-weight: 700; - color: #0a2642; -} -.latest_post_title a:hover, -.latest_post_date a:hover -{ - color: #8886fe; -} -.latest_post_date -{ - margin-top: 6px; -} -.latest_post_date a -{ - font-size: 15px; - font-weight: 400; - color: #68727c; -} - -/********************************* -8. CTA -*********************************/ - -.cta -{ - padding-top: 81px; - padding-bottom: 73px; -} -.cta_overlay -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(127,102,255,0.9); -} -.cta_title h1 -{ - color: #ffffff; -} -.cta_text -{ - margin-top: 18px; -} -.cta_text p -{ - font-size: 18px; - color: #ffffff; -} -.cta_button -{ - margin-top: 23px; -} - -/********************************* -9. Footer -*********************************/ - -.footer -{ - -} -.footer_container -{ - background: #221831; - padding-top: 83px; - padding-bottom: 71px; -} -.footer_text -{ - margin-top: 50px; - padding-left: 8px; -} -.footer_text p -{ - color: #a1acb7; -} -.footer_social -{ - margin-top: 52px; -} -.footer_column -{ - padding-top: 23px; -} -.newsletter_form -{ - display: block; - width: 100%; - margin-top: 55px; -} -.newsletter_input -{ - width: 100%; - height: 44px; - padding-left: 18px; - background: #463a58; - border: none; - outline: none; - font-size: 14px; - color: #ffffff; - font-weight: 400; - line-height: 44px; -} -.newsletter_input::-webkit-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-ms-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_button -{ - position: relative; - width: 100%; - height: 59px; - border: none; - outline: none; - background: #7f66ff; - border-bottom: solid 3px #ffffff; - cursor: pointer; - margin-top: 13px; -} -.newsletter_button span -{ - font-size: 14px; - font-weight: 700; - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.newsletter_button span img -{ - margin-left: 16px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.newsletter_button:hover span img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.footer_title -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.gallery -{ - max-width: 360px; - margin-top: 54px; -} -.gallery_item -{ - width: calc((100% - 12px) / 4); - max-width: 87px; - max-height: 87px; - margin-bottom: 4px; -} -.footer_bar -{ - background: #190e2b; -} -.footer_bar_content -{ - height: 58px; -} -.copyright -{ - font-size: 14px; - font-weight: 400; - color: #4e445d; -} \ No newline at end of file diff --git a/css/blog_responsive.css b/css/blog_responsive.css deleted file mode 100755 index 74accfb..0000000 --- a/css/blog_responsive.css +++ /dev/null @@ -1,322 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. 1600px -2. 1440px -3. 1280px -4. 1199px -5. 1024px -6. 991px -7. 959px -8. 880px -9. 768px -10. 767px -11. 539px -12. 479px -13. 400px - -******************************/ - -/************ -1. 1600px -************/ - -@media only screen and (max-width: 1600px) -{ - .main_nav - { - margin-left: 75px; - } - .main_nav > ul > li:not(:last-of-type) - { - margin-right: 32px; - } - .header .social - { - margin-right: 41px; - } - .log_reg - { - margin-right: 43px; - } -} - -/************ -2. 1440px -************/ - -@media only screen and (max-width: 1440px) -{ - .header .social - { - display: none; - } -} - -/************ -3. 1380px -************/ - -@media only screen and (max-width: 1380px) -{ - -} - -/************ -3. 1280px -************/ - -@media only screen and (max-width: 1280px) -{ - -} - -/************ -4. 1199px -************/ - -@media only screen and (max-width: 1199px) -{ - .header_content - { - padding-left: 30px; - } - .main_nav - { - margin-left: 45px; - } - .header_link - { - display: none; - } -} - -/************ -4. 1100px -************/ - -@media only screen and (max-width: 1100px) -{ - -} - -/************ -5. 1024px -************/ - -@media only screen and (max-width: 1024px) -{ - -} - -/************ -6. 991px -************/ - -@media only screen and (max-width: 991px) -{ - .main_nav - { - display: none; - } - .header_content - { - padding-right: 30px; - } - .hamburger - { - display: block; - } - .container_wrapper > .container - { - max-width: 720px; - } - .home_title h1 - { - font-size: 72px; - } - .sidebar_col - { - margin-top: 103px; - } - .footer_column - { - padding-top: 0; - } - .footer_col:not(:last-child) - { - margin-bottom: 80px; - } -} - -/************ -7. 959px -************/ - -@media only screen and (max-width: 959px) -{ - -} - -/************ -8. 880px -************/ - -@media only screen and (max-width: 880px) -{ - -} - -/************ -9. 768px -************/ - -@media only screen and (max-width: 768px) -{ - -} - -/************ -10. 767px -************/ - -@media only screen and (max-width: 767px) -{ - h1 - { - font-size: 48px; - } - .container_wrapper > .container - { - max-width: 540px; - } - .home_title h1 - { - font-size: 56px; - } -} - -/************ -11. 575px -************/ - -@media only screen and (max-width: 575px) -{ - h1 - { - font-size: 36px; - } - h3 - { - font-size: 24px; - } - p - { - font-size: 14px; - } - .header_content - { - height: 75px; - padding-left: 15px; - padding-right: 15px; - } - .header.scrolled .header_content - { - height: 75px; - } - .logo a > span - { - font-size: 24px; - } - .logo a > span:last-of-type - { - font-size: 8px; - margin-left: 3px; - } - .log_reg ul li a - { - font-size: 14px; - } - .log_reg ul li:not(:last-of-type)::after - { - font-size: 14px; - } - .log_reg - { - margin-right: 30px; - } - .button - { - width: 180px; - height: 53px; - } - .button a - { - font-size: 12px; - line-height: 53px; - } - .container_wrapper > .container - { - max-width: 100%; - } - .home - { - height: 385px; - } - .home_title h1 - { - font-size: 48px; - } - .blog_post_title h3 a - { - font-size: 24px; - } - .blog_post_info ul li - { - font-size: 14px; - } - .cta_text p - { - font-size: 16px; - } -} - -/************ -11. 539px -************/ - -@media only screen and (max-width: 539px) -{ - -} - -/************ -12. 480px -************/ - -@media only screen and (max-width: 480px) -{ - -} - -/************ -13. 479px -************/ - -@media only screen and (max-width: 479px) -{ - -} - -/************ -14. 400px -************/ - -@media only screen and (max-width: 400px) -{ - -} \ No newline at end of file diff --git a/css/contact.css b/css/contact.css deleted file mode 100755 index e46d41f..0000000 --- a/css/contact.css +++ /dev/null @@ -1,1241 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. Fonts -2. Body and some general stuff -3. Header -4. Menu -5. Home -6. Contact -7. CTA -8. Footer - - -******************************/ - -/*********** -1. Fonts -***********/ - -@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900'); - -/********************************* -2. Body and some general stuff -*********************************/ - -* -{ - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -body -{ - font-family: 'Roboto', sans-serif; - font-size: 14px; - font-weight: 400; - background: #FFFFFF; - color: #a5a5a5; -} -div -{ - display: block; - position: relative; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -ul -{ - list-style: none; - margin-bottom: 0px; -} -p -{ - font-family: 'Roboto', sans-serif; - font-size: 15px; - line-height: 2; - font-weight: 400; - color: #68727c; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a -{ - display: inline; - position: relative; - color: inherit; - border-bottom: solid 1px #ffa07f; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -p:last-of-type -{ - margin-bottom: 0; -} -a -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -a, a:hover, a:visited, a:active, a:link -{ - text-decoration: none; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a:active -{ - position: relative; - color: #FF6347; -} -p a:hover -{ - color: #FFFFFF; - background: #ffa07f; -} -p a:hover::after -{ - opacity: 0.2; -} -::selection -{ - background: rgba(127,102,255,0.85); - color: #ffffff; -} -p::selection -{ - -} -h1{font-size: 60px;} -h2{font-size: 48px;} -h3{font-size: 36px;} -h4{font-size: 24px;} -h5{font-size: 18px;} -h1, h2, h3, h4, h5, h6 -{ - font-family: 'Roboto', sans-serif; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; - line-height: 1.2; - color: #0a2642; - font-weight: 700; - margin-bottom: 0; -} -h1::selection, -h2::selection, -h3::selection, -h4::selection, -h5::selection, -h6::selection -{ - -} -img -{ - max-width: 100%; -} -button:active -{ - outline: none; -} -.form-control -{ - color: #db5246; -} -section -{ - display: block; - position: relative; - box-sizing: border-box; -} -.clear -{ - clear: both; -} -.clearfix::before, .clearfix::after -{ - content: ""; - display: table; -} -.clearfix::after -{ - clear: both; -} -.clearfix -{ - zoom: 1; -} -.float_left -{ - float: left; -} -.float_right -{ - float: right; -} -.trans_200 -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.trans_300 -{ - -webkit-transition: all 300ms ease; - -moz-transition: all 300ms ease; - -ms-transition: all 300ms ease; - -o-transition: all 300ms ease; - transition: all 300ms ease; -} -.trans_400 -{ - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.trans_500 -{ - -webkit-transition: all 500ms ease; - -moz-transition: all 500ms ease; - -ms-transition: all 500ms ease; - -o-transition: all 500ms ease; - transition: all 500ms ease; -} -.fill_height -{ - height: 100%; -} -.super_container -{ - width: 100%; - overflow: hidden; -} -.prlx_parent -{ - overflow: hidden; -} -.prlx -{ - height: 130% !important; -} -.parallax-window -{ - min-height: 400px; - background: transparent; -} -.parallax_background -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.background_image -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-size: cover; - background-position: center center; -} -.nopadding -{ - padding: 0px !important; -} -.owl-carousel, -.owl-carousel .owl-stage-outer, -.owl-carousel .owl-stage, -.owl-carousel .owl-item -{ - height: 100%; -} -.slide -{ - height: 100%; -} -.button -{ - display: inline-block; - width: 202px; - height: 59px; - text-align: center; -} -.button_1 -{ - background: #ffffff; -} -.button_2 -{ - background: #7f66ff; -} -.button_3 -{ - background: #ff9000; -} -.button_4 -{ - background: #7f66ff; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.button::after -{ - display: block; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 3px; - content: ''; -} -.button_1::after -{ - background: #7f66ff; -} -.button_2::after -{ - background: #0a2642; -} -.button_3::after -{ - background: #0a2642; -} -.button_4::after -{ - background: #ffffff; -} -.button_4:hover -{ - background: #0a2642; -} -.button a -{ - display: block; - height: 100%; - line-height: 59px; - font-size: 14px; - font-weight: 900; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.button_1 a -{ - color: #081624; -} -.button_2 a -{ - color: #ffffff; -} -.button_3 a -{ - color: #ffffff; -} -.button_4 a -{ - color: #ffffff; -} -.button a img -{ - display: inline-block !important; - width: auto !important; - margin-left: 8px; - margin-bottom: 3px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.button:hover a img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.section_subtitle -{ - font-size: 13px; - font-weight: 700; - color: #b6bec7; - line-height: 0.75; - text-transform: uppercase; - letter-spacing: 0.2em; - margin-right: -0.2em; -} -.section_title -{ - margin-top: 7px; -} - -/********************************* -3. Header -*********************************/ - -.header -{ - position: fixed; - top: 22px; - left: 23px; - width: calc(100% - 48px); - background: #000; - z-index: 100; - border-bottom: solid 2px #7f66ff; -} -.header_content -{ - width: 100%; - height: 94px; - padding-left: 50px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_content -{ - height: 75px; -} -.logo -{ - display: inline-block; -} -.logo a -{ - display: block; - height: 100%; - padding: 5px; -} -.logo a > span -{ - display: block; - font-size: 30px; - line-height: 0.75; - font-weight: 500; - color: #fff; - text-transform: uppercase; -} -.logo a > span > span -{ - color: #ffffff; -} -.logo a > span:last-of-type -{ - font-size: 10px; - font-weight: 500; - letter-spacing: 0.75em; - margin-top: 7px; - margin-left: 2px; -} -.main_nav -{ - margin-left: 155px; -} -.main_nav ul li -{ - position: relative; - white-space: nowrap; -} -.main_nav > ul > li.has_children > a -{ - padding-right: 19px; -} -.main_nav > ul > li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 0px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f107'; - font-size: 20px; - color: #928d92; - line-height: 1.2; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.active.has_children > a::after -{ - color: #7f66ff; -} -.main_nav > ul > li:not(:last-of-type) -{ - margin-right: 40px; -} -.main_nav ul li a -{ - display: block; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.main_nav > ul > li a:hover, -.main_nav > ul > li.active a, -.main_nav > ul > li > a:hover::after -{ - color: #7f66ff; -} -.main_nav ul li > ul -{ - position: absolute; - left: 0; - top: 100%; - min-width: 100%; - background: #ffffff; - padding-top: 20px; - padding-bottom: 25px; - visibility: hidden; - opacity: 0; -} -.main_nav ul li.has_children:hover > ul -{ - visibility: visible; - opacity: 1; -} -.main_nav ul li > ul > li -{ - padding-left: 30px; -} -.main_nav ul li > ul > li > a -{ - position: relative; - padding-right: 30px; -} -.main_nav ul li > ul > li:not(:last-of-type) -{ - margin-bottom: 8px; -} -.main_nav ul li > ul > li a -{ - color: #7f66ff; -} -.main_nav ul li > ul > li a:hover -{ - color: #0a2642; -} -.main_nav > ul > li.has_children > ul li.has_children ul -{ - position: absolute; - top: -20px; - left: 100%; - border-left: solid 3px #7f66ff; -} -.main_nav > ul > li.has_children > ul li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 16px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f105'; - font-size: 16px; - color: #928d92; - line-height: 1.4; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.has_children > ul li.has_children > a:hover::after -{ - color: #0a2642; -} -.header_right -{ - height: 100%; -} -.header_link -{ - height: 100%; - width: 200px; - background: #7f66ff; - text-align: center; -} -.header_link a -{ - display: block; - position: relative; - height: 100%; -} -.header_link a span -{ - position: relative; - font-size: 14px; - font-weight: 900; - color: #ffffff; - line-height: 96px; - text-transform: uppercase; - letter-spacing: 0.2em; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_link a span -{ - line-height: 75px; -} -.header_link a span > img -{ - margin-bottom: 4px; - margin-left: 5px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.header_link:hover a span > img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.header .social -{ - margin-right: 56px; -} -.social ul li -{ - width: 32px; - height: 32px; - text-align: center; - border-radius: 50%; - background: transparent; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.social ul li:not(:last-of-type) -{ - margin-right: 13px; -} -.social ul li:hover -{ - background: #7f66ff; -} -.social ul li a -{ - display: block; - height: 100%; -} -.social ul li a i -{ - font-size: 14px; - color: #ffffff; - line-height: 32px; -} -.log_reg -{ - margin-right: 75px; -} -.log_reg ul li -{ - position: relative; -} -.log_reg ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - padding-right: 4px; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a:hover -{ - color: #7f66ff; -} -.hamburger -{ - display: none; - cursor: pointer; -} -.hamburger i -{ - font-size: 22px; - color: #ffffff; - padding: 5px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.hamburger:hover i -{ - color: #7f66ff; -} - -/********************************* -4. Menu -*********************************/ - -.menu -{ - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 101; - visibility: hidden; - opacity: 0; - background: rgba(10,38,66,0.92); - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.menu.active -{ - visibility: visible; - opacity: 1; -} -.menu_container -{ - width: 100%; - height: 100%; -} -.menu_close -{ - position: absolute; - top: 50px; - right: 50px; - cursor: pointer; -} -.menu_close i -{ - font-size: 22px; - color: #ffffff; -} -.menu_close:hover i -{ - color: #7f66ff; -} -.menu_content -{ - position: absolute; - top: 40%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0; - width: 100%; -} -.menu_nav ul li -{ - position: relative; - display: inline-block; - -} -.menu_nav ul li a -{ - font-size: 36px; - font-weight: 500; - color: #ffffff; -} -.menu_nav ul li a:hover -{ - color: #7f66ff; -} -.menu_social -{ - position: absolute; - bottom: 30px; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); -} - -/********************************* -5. Home -*********************************/ - -.home -{ - height: 511px; -} -.home_container -{ - position: absolute; - top: 59.85%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0px; - width: 100%; -} -.home_content -{ - -} -.home_title h1 -{ - font-size: 90px; - font-weight: 700; - color: #ffffff; - font-style: italic; - line-height: 0.75; -} -.breadcrumbs -{ - display: inline-block; - background: #7f66ff; - height: 38px; - padding-left: 23px; - padding-right: 25px; - margin-top: 21px; -} -.breadcrumbs ul -{ - height: 100%; -} -.breadcrumbs ul li -{ - position: relative; -} -.breadcrumbs ul li, -.breadcrumbs ul li a, -.breadcrumbs ul li::after -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.breadcrumbs ul li a:hover -{ - color: #ff9000; -} -.breadcrumbs ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - margin-right: 4px; -} - -/********************************* -6. Contact -*********************************/ - -.contact -{ - background: #ffffff; -} -.container_wrapper > .container -{ - max-width: 100%; - padding-left: 0; - padding-right: 0; -} -.container_wrapper > .container > .row -{ - margin-left: 0; - margin-right: 0; -} -.container_wrapper > .container > .row > div[class^='col'] -{ - padding-left: 0; - padding-right: 0; -} -.contact_map_container -{ - height: 100%; - padding-right: 69px; -} -.map -{ - height: 100%; -} -.google_map -{ - width: 100%; - height: 100%; - min-height: 600px; -} -.map_container -{ - width: 100%; - height: 100%; - overflow: hidden; -} -#map -{ - width: 100%; - height: calc(100% + 30px); -} -.contact_content -{ - padding-top: 92px; - padding-right: 190px; - padding-bottom: 103px; - padding-left: 15px; -} -.contact_title -{ - font-size: 30px; - font-weight: 700; - color: #0a2642; -} -.contact_text -{ - margin-top: 15px; -} -.contact_list -{ - margin-top: 43px; -} -.contact_list ul li -{ - font-size: 15px; - font-weight: 400; - color: #68727c; -} -.contact_list ul li:not(:last-of-type) -{ - margin-bottom: 22px; -} -.contact_form_container -{ - margin-top: 56px; -} -.contact_form -{ - display: block; - width: 100%; -} -.contact_form > div > div -{ - width: calc((100% - 30px) / 2); -} -.contact_input -{ - width: 100%; - height: 55px; - background: #ffffff; - border: solid 1px #d8e5e7; - outline: none; - padding-left: 15px; - margin-bottom: 24px; - font-size: 15px; - font-weight: 500; - color: #68727c; -} -.contact_input:focus -{ - border-color: #ff9000; -} -.contact_textarea -{ - height: 190px; - padding-top: 15px; - font-weight: 400; -} -.contact_input::-webkit-input-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - font-style: italic; - color: #68727c !important; -} -.contact_input:-moz-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - font-style: italic; - color: #68727c !important; -} -.contact_input::-moz-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - font-style: italic; - color: #68727c !important; -} -.contact_input:-ms-input-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - font-style: italic; - color: #68727c !important; -} -.contact_input::input-placeholder -{ - font-size: 15px !important; - font-weight: 400 !important; - font-style: italic; - color: #68727c !important; -} -.contact_button -{ - width: 146px; - height: 59px; - background: #7f66ff; - border: none; - outline: none; - border-bottom: solid 3px #0a2642; - cursor: pointer; - margin-top: 11px; -} -.contact_button span -{ - font-size: 14px; - font-weight: 900; - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.contact_button span img -{ - margin-left: 15px; - margin-bottom: 2px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.contact_button:hover span img -{ - transform: translateX(5px); -} - -/********************************* -7. CTA -*********************************/ - -.cta -{ - padding-top: 81px; - padding-bottom: 73px; -} -.cta_overlay -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(127,102,255,0.9); -} -.cta_title h1 -{ - color: #ffffff; -} -.cta_text -{ - margin-top: 18px; -} -.cta_text p -{ - font-size: 18px; - color: #ffffff; -} -.cta_button -{ - margin-top: 23px; -} - -/********************************* -8. Footer -*********************************/ - -.footer -{ - -} -.footer_container -{ - background: #221831; - padding-top: 83px; - padding-bottom: 71px; -} -.footer_text -{ - margin-top: 50px; - padding-left: 8px; -} -.footer_text p -{ - color: #a1acb7; -} -.footer_social -{ - margin-top: 52px; -} -.footer_column -{ - padding-top: 23px; -} -.newsletter_form -{ - display: block; - width: 100%; - margin-top: 55px; -} -.newsletter_input -{ - width: 100%; - height: 44px; - padding-left: 18px; - background: #463a58; - border: none; - outline: none; - font-size: 14px; - color: #ffffff; - font-weight: 400; - line-height: 44px; -} -.newsletter_input::-webkit-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-ms-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_button -{ - position: relative; - width: 100%; - height: 59px; - border: none; - outline: none; - background: #7f66ff; - border-bottom: solid 3px #ffffff; - cursor: pointer; - margin-top: 13px; -} -.newsletter_button span -{ - font-size: 14px; - font-weight: 700; - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.newsletter_button span img -{ - margin-left: 16px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.newsletter_button:hover span img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.footer_title -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.gallery -{ - max-width: 360px; - margin-top: 54px; -} -.gallery_item -{ - width: calc((100% - 12px) / 4); - max-width: 87px; - max-height: 87px; - margin-bottom: 4px; -} -.footer_bar -{ - background: #190e2b; -} -.footer_bar_content -{ - height: 58px; -} -.copyright -{ - font-size: 14px; - font-weight: 400; - color: #4e445d; -} \ No newline at end of file diff --git a/css/contact_responsive.css b/css/contact_responsive.css deleted file mode 100755 index f4e6753..0000000 --- a/css/contact_responsive.css +++ /dev/null @@ -1,365 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. 1600px -2. 1440px -3. 1280px -4. 1199px -5. 1024px -6. 991px -7. 959px -8. 880px -9. 768px -10. 767px -11. 539px -12. 479px -13. 400px - -******************************/ - -/************ -1. 1600px -************/ - -@media only screen and (max-width: 1600px) -{ - .main_nav - { - margin-left: 75px; - } - .main_nav > ul > li:not(:last-of-type) - { - margin-right: 32px; - } - .header .social - { - margin-right: 41px; - } - .log_reg - { - margin-right: 43px; - } - .contact_content - { - padding-right: 103px; - } -} - -/************ -2. 1440px -************/ - -@media only screen and (max-width: 1440px) -{ - .header .social - { - display: none; - } -} - -/************ -3. 1380px -************/ - -@media only screen and (max-width: 1380px) -{ - -} - -/************ -3. 1280px -************/ - -@media only screen and (max-width: 1280px) -{ - -} - -/************ -4. 1199px -************/ - -@media only screen and (max-width: 1199px) -{ - .header_content - { - padding-left: 30px; - } - .main_nav - { - margin-left: 45px; - } - .header_link - { - display: none; - } - .container_wrapper > .container - { - max-width: 960px; - padding-left: 15px; - padding-right: 15px; - } - .container_wrapper > .container > .row - { - margin-left: -15px; - margin-right: -15px; - } - .container_wrapper > .container > .row > div[class^='col'] - { - padding-left: 15px; - padding-right: 15px; - } - .contact_map_container - { - padding-right: 0; - padding-bottom: 103px; - } - .contact_content - { - padding-left: 0; - padding-right: 0; - } -} - -/************ -4. 1100px -************/ - -@media only screen and (max-width: 1100px) -{ - -} - -/************ -5. 1024px -************/ - -@media only screen and (max-width: 1024px) -{ - -} - -/************ -6. 991px -************/ - -@media only screen and (max-width: 991px) -{ - .main_nav - { - display: none; - } - .header_content - { - padding-right: 30px; - } - .hamburger - { - display: block; - } - .container_wrapper > .container - { - max-width: 720px; - } - .home_title h1 - { - font-size: 72px; - } - .container_wrapper > .container - { - max-width: 720px; - } - .footer_column - { - padding-top: 0; - } - .footer_col:not(:last-child) - { - margin-bottom: 80px; - } -} - -/************ -7. 959px -************/ - -@media only screen and (max-width: 959px) -{ - -} - -/************ -8. 880px -************/ - -@media only screen and (max-width: 880px) -{ - -} - -/************ -9. 768px -************/ - -@media only screen and (max-width: 768px) -{ - -} - -/************ -10. 767px -************/ - -@media only screen and (max-width: 767px) -{ - h1 - { - font-size: 48px; - } - .container_wrapper > .container - { - max-width: 540px; - } - .home_title h1 - { - font-size: 56px; - } - .container_wrapper > .container - { - max-width: 540px; - } - .contact_form > div > div - { - width: 100%; - } -} - -/************ -11. 575px -************/ - -@media only screen and (max-width: 575px) -{ - h1 - { - font-size: 36px; - } - h3 - { - font-size: 24px; - } - p - { - font-size: 14px; - } - .header_content - { - height: 75px; - padding-left: 15px; - padding-right: 15px; - } - .header.scrolled .header_content - { - height: 75px; - } - .logo a > span - { - font-size: 24px; - } - .logo a > span:last-of-type - { - font-size: 8px; - margin-left: 3px; - } - .log_reg ul li a - { - font-size: 14px; - } - .log_reg ul li:not(:last-of-type)::after - { - font-size: 14px; - } - .log_reg - { - margin-right: 30px; - } - .button - { - width: 180px; - height: 53px; - } - .button a - { - font-size: 12px; - line-height: 53px; - } - .container_wrapper > .container - { - max-width: 100%; - } - .home - { - height: 385px; - } - .home_title h1 - { - font-size: 48px; - } - .container_wrapper > .container - { - max-width: 100%; - } - .contact_title - { - font-size: 24px; - } - .google_map - { - height: 400px; - min-height: auto; - } - .cta_text p - { - font-size: 16px; - } -} - -/************ -11. 539px -************/ - -@media only screen and (max-width: 539px) -{ - -} - -/************ -12. 480px -************/ - -@media only screen and (max-width: 480px) -{ - -} - -/************ -13. 479px -************/ - -@media only screen and (max-width: 479px) -{ - -} - -/************ -14. 400px -************/ - -@media only screen and (max-width: 400px) -{ - -} \ No newline at end of file diff --git a/css/elements.css b/css/elements.css deleted file mode 100755 index 2afa4ae..0000000 --- a/css/elements.css +++ /dev/null @@ -1,1429 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. Fonts -2. Body and some general stuff -3. Header -4. Menu -5. Home -6. Elements - 6.1 Buttons - 6.2 Accordions - 6.3 Tabs - 6.4 Loaders - 6.5 Milestones - 6.6 Icon Boxes -7. Footer - - -******************************/ - -/*********** -1. Fonts -***********/ - -@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900'); - -/********************************* -2. Body and some general stuff -*********************************/ - -* -{ - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -body -{ - font-family: 'Roboto', sans-serif; - font-size: 14px; - font-weight: 400; - background: #FFFFFF; - color: #a5a5a5; -} -div -{ - display: block; - position: relative; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -ul -{ - list-style: none; - margin-bottom: 0px; -} -p -{ - font-family: 'Roboto', sans-serif; - font-size: 15px; - line-height: 2; - font-weight: 400; - color: #68727c; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a -{ - display: inline; - position: relative; - color: inherit; - border-bottom: solid 1px #ffa07f; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -p:last-of-type -{ - margin-bottom: 0; -} -a -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -a, a:hover, a:visited, a:active, a:link -{ - text-decoration: none; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a:active -{ - position: relative; - color: #FF6347; -} -p a:hover -{ - color: #FFFFFF; - background: #ffa07f; -} -p a:hover::after -{ - opacity: 0.2; -} -::selection -{ - background: rgba(127,102,255,0.85); - color: #ffffff; -} -p::selection -{ - -} -h1{font-size: 60px;} -h2{font-size: 48px;} -h3{font-size: 36px;} -h4{font-size: 24px;} -h5{font-size: 18px;} -h1, h2, h3, h4, h5, h6 -{ - font-family: 'Roboto', sans-serif; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; - line-height: 1.2; - color: #0a2642; - font-weight: 700; - margin-bottom: 0; -} -h1::selection, -h2::selection, -h3::selection, -h4::selection, -h5::selection, -h6::selection -{ - -} -img -{ - max-width: 100%; -} -button:active -{ - outline: none; -} -.form-control -{ - color: #db5246; -} -section -{ - display: block; - position: relative; - box-sizing: border-box; -} -.clear -{ - clear: both; -} -.clearfix::before, .clearfix::after -{ - content: ""; - display: table; -} -.clearfix::after -{ - clear: both; -} -.clearfix -{ - zoom: 1; -} -.float_left -{ - float: left; -} -.float_right -{ - float: right; -} -.trans_200 -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.trans_300 -{ - -webkit-transition: all 300ms ease; - -moz-transition: all 300ms ease; - -ms-transition: all 300ms ease; - -o-transition: all 300ms ease; - transition: all 300ms ease; -} -.trans_400 -{ - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.trans_500 -{ - -webkit-transition: all 500ms ease; - -moz-transition: all 500ms ease; - -ms-transition: all 500ms ease; - -o-transition: all 500ms ease; - transition: all 500ms ease; -} -.fill_height -{ - height: 100%; -} -.super_container -{ - width: 100%; - overflow: hidden; -} -.prlx_parent -{ - overflow: hidden; -} -.prlx -{ - height: 130% !important; -} -.parallax-window -{ - min-height: 400px; - background: transparent; -} -.parallax_background -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.background_image -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-size: cover; - background-position: center center; -} -.nopadding -{ - padding: 0px !important; -} -.owl-carousel, -.owl-carousel .owl-stage-outer, -.owl-carousel .owl-stage, -.owl-carousel .owl-item -{ - height: 100%; -} -.slide -{ - height: 100%; -} -.button -{ - display: inline-block; - width: 202px; - height: 59px; - text-align: center; -} -.button_1 -{ - background: #ffffff; -} -.button_2 -{ - background: #7f66ff; -} -.button_3 -{ - background: #ff9000; -} -.button_4 -{ - background: #7f66ff; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.button_5 -{ - background: #041e5a; -} -.button::after -{ - display: block; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 3px; - content: ''; -} -.button_1::after -{ - background: #7f66ff; -} -.button_2::after -{ - background: #0a2642; -} -.button_3::after -{ - background: #0a2642; -} -.button_4::after -{ - background: #ffffff; -} -.button_4:hover -{ - background: #0a2642; -} -.button_5::after -{ - background: #675aff; -} -.button a -{ - display: block; - height: 100%; - line-height: 59px; - font-size: 14px; - font-weight: 900; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.button_1 a -{ - color: #081624; -} -.button_2 a -{ - color: #ffffff; -} -.button_3 a -{ - color: #ffffff; -} -.button_4 a -{ - color: #ffffff; -} -.button_5 a -{ - color: #ffffff; -} -.button a img -{ - display: inline-block !important; - width: auto !important; - margin-left: 8px; - margin-bottom: 3px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.button:hover a img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.section_subtitle -{ - font-size: 13px; - font-weight: 700; - color: #b6bec7; - line-height: 0.75; - text-transform: uppercase; - letter-spacing: 0.2em; - margin-right: -0.2em; -} -.section_title -{ - margin-top: 7px; -} - -/********************************* -3. Header -*********************************/ - -.header -{ - position: fixed; - top: 22px; - left: 23px; - width: calc(100% - 48px); - background: #0a2642; - z-index: 100; - border-bottom: solid 2px #7f66ff; -} -.header_content -{ - width: 100%; - height: 94px; - padding-left: 50px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_content -{ - height: 75px; -} -.logo -{ - display: inline-block; -} -.logo a -{ - display: block; - height: 100%; - padding: 5px; -} -.logo a > span -{ - display: block; - font-size: 30px; - line-height: 0.75; - font-weight: 500; - color: #7f66ff; - text-transform: uppercase; -} -.logo a > span > span -{ - color: #ffffff; -} -.logo a > span:last-of-type -{ - font-size: 10px; - font-weight: 500; - letter-spacing: 0.75em; - margin-top: 7px; - margin-left: 2px; -} -.main_nav -{ - margin-left: 155px; -} -.main_nav ul li -{ - position: relative; - white-space: nowrap; -} -.main_nav > ul > li.has_children > a -{ - padding-right: 19px; -} -.main_nav > ul > li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 0px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f107'; - font-size: 20px; - color: #928d92; - line-height: 1.2; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.active.has_children > a::after -{ - color: #7f66ff; -} -.main_nav > ul > li:not(:last-of-type) -{ - margin-right: 40px; -} -.main_nav ul li a -{ - display: block; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.main_nav > ul > li a:hover, -.main_nav > ul > li.active a, -.main_nav > ul > li > a:hover::after -{ - color: #7f66ff; -} -.main_nav ul li > ul -{ - position: absolute; - left: 0; - top: 100%; - min-width: 100%; - background: #ffffff; - padding-top: 20px; - padding-bottom: 25px; - visibility: hidden; - opacity: 0; -} -.main_nav ul li.has_children:hover > ul -{ - visibility: visible; - opacity: 1; -} -.main_nav ul li > ul > li -{ - padding-left: 30px; -} -.main_nav ul li > ul > li > a -{ - position: relative; - padding-right: 30px; -} -.main_nav ul li > ul > li:not(:last-of-type) -{ - margin-bottom: 8px; -} -.main_nav ul li > ul > li a -{ - color: #7f66ff; -} -.main_nav ul li > ul > li a:hover -{ - color: #0a2642; -} -.main_nav > ul > li.has_children > ul li.has_children ul -{ - position: absolute; - top: -20px; - left: 100%; - border-left: solid 3px #7f66ff; -} -.main_nav > ul > li.has_children > ul li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 16px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f105'; - font-size: 16px; - color: #928d92; - line-height: 1.4; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.has_children > ul li.has_children > a:hover::after -{ - color: #0a2642; -} -.header_right -{ - height: 100%; -} -.header_link -{ - height: 100%; - width: 200px; - background: #7f66ff; - text-align: center; -} -.header_link a -{ - display: block; - position: relative; - height: 100%; -} -.header_link a span -{ - position: relative; - font-size: 14px; - font-weight: 900; - color: #ffffff; - line-height: 96px; - text-transform: uppercase; - letter-spacing: 0.2em; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_link a span -{ - line-height: 75px; -} -.header_link a span > img -{ - margin-bottom: 4px; - margin-left: 5px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.header_link:hover a span > img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.header .social -{ - margin-right: 56px; -} -.social ul li -{ - width: 32px; - height: 32px; - text-align: center; - border-radius: 50%; - background: transparent; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.social ul li:not(:last-of-type) -{ - margin-right: 13px; -} -.social ul li:hover -{ - background: #7f66ff; -} -.social ul li a -{ - display: block; - height: 100%; -} -.social ul li a i -{ - font-size: 14px; - color: #ffffff; - line-height: 32px; -} -.log_reg -{ - margin-right: 75px; -} -.log_reg ul li -{ - position: relative; -} -.log_reg ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - padding-right: 4px; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a:hover -{ - color: #7f66ff; -} -.hamburger -{ - display: none; - cursor: pointer; -} -.hamburger i -{ - font-size: 22px; - color: #ffffff; - padding: 5px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.hamburger:hover i -{ - color: #7f66ff; -} - -/********************************* -4. Menu -*********************************/ - -.menu -{ - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 101; - visibility: hidden; - opacity: 0; - background: rgba(10,38,66,0.92); - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.menu.active -{ - visibility: visible; - opacity: 1; -} -.menu_container -{ - width: 100%; - height: 100%; -} -.menu_close -{ - position: absolute; - top: 50px; - right: 50px; - cursor: pointer; -} -.menu_close i -{ - font-size: 22px; - color: #ffffff; -} -.menu_close:hover i -{ - color: #7f66ff; -} -.menu_content -{ - position: absolute; - top: 40%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0; - width: 100%; -} -.menu_nav ul li -{ - position: relative; - display: inline-block; - -} -.menu_nav ul li a -{ - font-size: 36px; - font-weight: 500; - color: #ffffff; -} -.menu_nav ul li a:hover -{ - color: #7f66ff; -} -.menu_social -{ - position: absolute; - bottom: 30px; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); -} - -/********************************* -5. Home -*********************************/ - -.home -{ - height: 511px; -} -.home_container -{ - position: absolute; - top: 59.85%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0px; - width: 100%; -} -.home_content -{ - -} -.home_title h1 -{ - font-size: 90px; - font-weight: 700; - color: #ffffff; - font-style: italic; - line-height: 0.75; -} -.breadcrumbs -{ - display: inline-block; - background: #7f66ff; - height: 38px; - padding-left: 23px; - padding-right: 25px; - margin-top: 21px; -} -.breadcrumbs ul -{ - height: 100%; -} -.breadcrumbs ul li -{ - position: relative; -} -.breadcrumbs ul li, -.breadcrumbs ul li a, -.breadcrumbs ul li::after -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.breadcrumbs ul li a:hover -{ - color: #ff9000; -} -.breadcrumbs ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - margin-right: 4px; -} - -/********************************* -6. Elements -*********************************/ - -.elements -{ - background: #ffffff; - padding-top: 93px; - padding-bottom: 33px; -} -.elements_title -{ - font-size: 30px; - font-weight: 700; - color: #0a2642; -} - -/********************************* -6.1 Buttons -*********************************/ - -.buttons_container -{ - margin-top: 68px; -} -.buttons_container > .button:not(:last-child) -{ - margin-right: 17px; -} -.buttons_container > .button -{ - margin-bottom: 17px; -} - -/********************************* -6.2 Accordions -*********************************/ - -.acc_tabs -{ - margin-top: 75px; -} -.acc_tabs_row -{ - margin-top: 68px; -} -.accordion_container:not(:last-child) -{ - margin-bottom: 13px; -} -.accordion -{ - height: 57px; - width: 100%; - background: #f4f8fb; - padding-left: 29px; - cursor: pointer; - color: #0a2642; - font-size: 16px; - font-weight: 500; - line-height: 57px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.accordion:hover -{ - background: #7360ff; - color: #ffffff; -} -.accordion.active -{ - background: #7360ff; - color: #ffffff; -} -.accordion.active:hover -{ - -} -.accordion.active:hover::after -{ - -} -.accordion div -{ - max-width: 90%; - overflow: hidden; - white-space: nowrap; -} -.accordion::after -{ - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - right: 17px; - height: 100%; - content: '+'; - font-size: 16px; - color: #0a2642; - font-weight: 500; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.accordion.active::after -{ - content: '-'; - color: #FFFFFF; -} -.accordion:hover::after -{ - color: #ffffff; -} -.accordion_panel -{ - padding-right: 8px; - max-height: 0px; - overflow: hidden; - -webkit-transition: all 500ms ease; - -moz-transition: all 500ms ease; - -ms-transition: all 500ms ease; - -o-transition: all 500ms ease; - transition: all 500ms ease; -} -.accordion_title -{ - -} -.accordion_panel > div -{ - padding-top: 41px; - padding-bottom: 20px; -} -.accordion_panel p -{ - margin-top: 28px; -} - -/********************************* -6.3 Tabs -*********************************/ - -.tabs_container -{ - width: 100%; -} -.tab -{ - height: 57px; - background: #f4f8fb; - font-size: 16px; - color: #0a2642; - font-weight: 500; - line-height: 57px; - text-align: center; - cursor: pointer; - white-space: nowrap; - margin-bottom: 9px; - padding-left: 27px; - padding-right: 25px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.tab:hover -{ - background: #7360ff; - color: #ffffff; -} -.tab:not(:last-child) -{ - margin-right: 7px; -} -.tab.active -{ - background: #7360ff; - color: #ffffff; -} -.tab_panels -{ - padding-left: 2px; - padding-right: 2px; - padding-top: 14px; - padding-bottom: 32px; -} -.tab_panel -{ - display: none !important; - width: 100%; - height: 100%; - -webkit-animation: fadeEffect 1s; - animation: fadeEffect 1s; -} -/* Fade in tabs */ -@-webkit-keyframes fadeEffect { - from {opacity: 0;} - to {opacity: 1;} -} - -@keyframes fadeEffect { - from {opacity: 0;} - to {opacity: 1;} -} -.tab_panel.active -{ - display: block !important; -} -.tab_panel_content -{ - padding-top: 31px; -} -.tab_panel_content p:last-of-type -{ - margin-bottom: 0; -} -.tab_text -{ - -} -.tab_text p -{ - margin-top: 28px; -} -.tab_image -{ - width: 100%; -} -.tab_image img -{ - max-width: 100%; -} - -/********************************* -6.4 Loaders -*********************************/ - -.loaders -{ - margin-top: 62px; -} -.loaders_container -{ - margin-top: 70px; -} -.loader_container -{ - width: calc(100% / 4); - height: 153px; - margin-bottom: 60px; -} -.loader -{ - width: 153px; - height: 153px; - background: transparent; - margin-left: auto; - margin-right: auto; -} -.loader_content -{ - position: absolute; - left: 50%; - bottom: 55px; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); - font-size: 18px; - font-weight: 500; - color: #232323; - white-space: nowrap; - text-align: center; -} -.loader_title -{ - font-size: 15px; - font-weight: 400; - color: #68727c; - line-height: 0.75; - white-space: nowrap; -} -.progressbar-text -{ - top: 44.5% !important; - font-size: 30px !important; - font-weight: 700 !important; - color: #0a2642 !important; - line-height: 0.75 !important; -} - -/********************************* -6.5 Milestones -*********************************/ - -.milestones -{ - margin-top: 33px; -} -.milestones_row -{ - margin-top: 70px; -} -.milestone -{ - width: 100%; - margin-bottom: 60px; - padding-left: 22px; -} -.milestone_icon -{ - display: inline-block; - height: 62px; - width: 62px; -} -.milestone_icon img -{ - max-width: 100%; - max-height: 100%; -} -.milestone_content -{ - padding-left: 18px; -} -.milestone_counter -{ - font-size: 60px; - font-weight: 700; - color: #0a2642; - line-height: 0.75; -} -.milestone_text -{ - font-size: 18px; - font-weight: 700; - color: #0a2642; - margin-top: 11px; - line-height: 1.2; -} - -/********************************* -6.6 Icon Boxes -*********************************/ - -.icon_boxes -{ - margin-top: 27px; -} -.icon_boxes_row -{ - margin-top: 68px; -} -.icon_box -{ - width: 100%; - margin-bottom: 60px; -} -.icon_box_icon -{ - width: 62px; - height: 62px; -} -.icon_box_icon > img -{ - max-height: 100%; -} -.icon_box_title -{ - margin-top: 27px; -} -.icon_box_text -{ - margin-top: 19px; -} - -/********************************* -7. Footer -*********************************/ - -.footer -{ - -} -.footer_container -{ - background: #221831; - padding-top: 83px; - padding-bottom: 71px; -} -.footer_text -{ - margin-top: 50px; - padding-left: 8px; -} -.footer_text p -{ - color: #a1acb7; -} -.footer_social -{ - margin-top: 52px; -} -.footer_column -{ - padding-top: 23px; -} -.newsletter_form -{ - display: block; - width: 100%; - margin-top: 55px; -} -.newsletter_input -{ - width: 100%; - height: 44px; - padding-left: 18px; - background: #463a58; - border: none; - outline: none; - font-size: 14px; - color: #ffffff; - font-weight: 400; - line-height: 44px; -} -.newsletter_input::-webkit-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-ms-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_button -{ - position: relative; - width: 100%; - height: 59px; - border: none; - outline: none; - background: #7f66ff; - border-bottom: solid 3px #ffffff; - cursor: pointer; - margin-top: 13px; -} -.newsletter_button span -{ - font-size: 14px; - font-weight: 700; - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.newsletter_button span img -{ - margin-left: 16px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.newsletter_button:hover span img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.footer_title -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.gallery -{ - max-width: 360px; - margin-top: 54px; -} -.gallery_item -{ - width: calc((100% - 12px) / 4); - max-width: 87px; - max-height: 87px; - margin-bottom: 4px; -} -.footer_bar -{ - background: #190e2b; -} -.footer_bar_content -{ - height: 58px; -} -.copyright -{ - font-size: 14px; - font-weight: 400; - color: #4e445d; -} \ No newline at end of file diff --git a/css/elements_responsive.css b/css/elements_responsive.css deleted file mode 100755 index 9b3dc9e..0000000 --- a/css/elements_responsive.css +++ /dev/null @@ -1,332 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. 1600px -2. 1440px -3. 1280px -4. 1199px -5. 1024px -6. 991px -7. 959px -8. 880px -9. 768px -10. 767px -11. 539px -12. 479px -13. 400px - -******************************/ - -/************ -1. 1600px -************/ - -@media only screen and (max-width: 1600px) -{ - .main_nav - { - margin-left: 75px; - } - .main_nav > ul > li:not(:last-of-type) - { - margin-right: 32px; - } - .header .social - { - margin-right: 41px; - } - .log_reg - { - margin-right: 43px; - } -} - -/************ -2. 1440px -************/ - -@media only screen and (max-width: 1440px) -{ - .header .social - { - display: none; - } -} - -/************ -3. 1380px -************/ - -@media only screen and (max-width: 1380px) -{ - -} - -/************ -3. 1280px -************/ - -@media only screen and (max-width: 1280px) -{ - -} - -/************ -4. 1199px -************/ - -@media only screen and (max-width: 1199px) -{ - .header_content - { - padding-left: 30px; - } - .main_nav - { - margin-left: 45px; - } - .header_link - { - display: none; - } - .loader_container - { - width: calc(100% / 2); - } -} - -/************ -4. 1100px -************/ - -@media only screen and (max-width: 1100px) -{ - -} - -/************ -5. 1024px -************/ - -@media only screen and (max-width: 1024px) -{ - -} - -/************ -6. 991px -************/ - -@media only screen and (max-width: 991px) -{ - .main_nav - { - display: none; - } - .header_content - { - padding-right: 30px; - } - .hamburger - { - display: block; - } - .home_title h1 - { - font-size: 72px; - } - .tabs_col - { - margin-top: 80px; - } - .accordion - { - height: 50px; - font-size: 14px; - padding-left: 25px; - } - .accordion::after - { - font-size: 14px; - } - .tab - { - height: 50px; - font-size: 14px; - line-height: 50px; - padding-left: 24px; - padding-right: 23px; - } - .footer_column - { - padding-top: 0; - } - .footer_col:not(:last-child) - { - margin-bottom: 80px; - } -} - -/************ -7. 959px -************/ - -@media only screen and (max-width: 959px) -{ - -} - -/************ -8. 880px -************/ - -@media only screen and (max-width: 880px) -{ - -} - -/************ -9. 768px -************/ - -@media only screen and (max-width: 768px) -{ - -} - -/************ -10. 767px -************/ - -@media only screen and (max-width: 767px) -{ - h1 - { - font-size: 48px; - } - .home_title h1 - { - font-size: 56px; - } -} - -/************ -11. 575px -************/ - -@media only screen and (max-width: 575px) -{ - h1 - { - font-size: 36px; - } - h3 - { - font-size: 24px; - } - p - { - font-size: 14px; - } - .header_content - { - height: 75px; - padding-left: 15px; - padding-right: 15px; - } - .header.scrolled .header_content - { - height: 75px; - } - .logo a > span - { - font-size: 24px; - } - .logo a > span:last-of-type - { - font-size: 8px; - margin-left: 3px; - } - .log_reg ul li a - { - font-size: 14px; - } - .log_reg ul li:not(:last-of-type)::after - { - font-size: 14px; - } - .log_reg - { - margin-right: 30px; - } - .button - { - width: 180px; - height: 53px; - } - .button a - { - font-size: 12px; - line-height: 53px; - } - .container_wrapper > .container - { - max-width: 100%; - } - .home - { - height: 385px; - } - .home_title h1 - { - font-size: 48px; - } - .loader_container - { - width: 100%; - } - .cta_text p - { - font-size: 16px; - } -} - -/************ -11. 539px -************/ - -@media only screen and (max-width: 539px) -{ - -} - -/************ -12. 480px -************/ - -@media only screen and (max-width: 480px) -{ - -} - -/************ -13. 479px -************/ - -@media only screen and (max-width: 479px) -{ - -} - -/************ -14. 400px -************/ - -@media only screen and (max-width: 400px) -{ - -} \ No newline at end of file diff --git a/css/fonts.css b/css/fonts.css new file mode 100644 index 0000000..a7320ee --- /dev/null +++ b/css/fonts.css @@ -0,0 +1,336 @@ +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 200; + src: local('Nunito Sans ExtraLight Italic'), local('NunitoSans-ExtraLightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4GxZrY1wIUql-.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 200; + src: local('Nunito Sans ExtraLight Italic'), local('NunitoSans-ExtraLightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4GxZrY10IUql-.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 200; + src: local('Nunito Sans ExtraLight Italic'), local('NunitoSans-ExtraLightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4GxZrY1MIUg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 300; + src: local('Nunito Sans Light Italic'), local('NunitoSans-LightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G3JoY1wIUql-.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 300; + src: local('Nunito Sans Light Italic'), local('NunitoSans-LightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G3JoY10IUql-.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 300; + src: local('Nunito Sans Light Italic'), local('NunitoSans-LightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G3JoY1MIUg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 400; + src: local('Nunito Sans Italic'), local('NunitoSans-Italic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe0oMImSLYBIv1o4X1M8cce4E9ZKdmwp.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 400; + src: local('Nunito Sans Italic'), local('NunitoSans-Italic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe0oMImSLYBIv1o4X1M8cce4E9dKdmwp.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 400; + src: local('Nunito Sans Italic'), local('NunitoSans-Italic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe0oMImSLYBIv1o4X1M8cce4E9lKdg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 600; + src: local('Nunito Sans SemiBold Italic'), local('NunitoSans-SemiBoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4GwZuY1wIUql-.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 600; + src: local('Nunito Sans SemiBold Italic'), local('NunitoSans-SemiBoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4GwZuY10IUql-.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 600; + src: local('Nunito Sans SemiBold Italic'), local('NunitoSans-SemiBoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4GwZuY1MIUg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 700; + src: local('Nunito Sans Bold Italic'), local('NunitoSans-BoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G2JvY1wIUql-.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 700; + src: local('Nunito Sans Bold Italic'), local('NunitoSans-BoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G2JvY10IUql-.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 700; + src: local('Nunito Sans Bold Italic'), local('NunitoSans-BoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G2JvY1MIUg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 800; + src: local('Nunito Sans ExtraBold Italic'), local('NunitoSans-ExtraBoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G35sY1wIUql-.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 800; + src: local('Nunito Sans ExtraBold Italic'), local('NunitoSans-ExtraBoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G35sY10IUql-.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 800; + src: local('Nunito Sans ExtraBold Italic'), local('NunitoSans-ExtraBoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G35sY1MIUg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 900; + src: local('Nunito Sans Black Italic'), local('NunitoSans-BlackItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G1ptY1wIUql-.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 900; + src: local('Nunito Sans Black Italic'), local('NunitoSans-BlackItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G1ptY10IUql-.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: italic; + font-weight: 900; + src: local('Nunito Sans Black Italic'), local('NunitoSans-BlackItalic'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe01MImSLYBIv1o4X1M8cce4G1ptY1MIUg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 200; + src: local('Nunito Sans ExtraLight'), local('NunitoSans-ExtraLight'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc9yAs5iU1EQVg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 200; + src: local('Nunito Sans ExtraLight'), local('NunitoSans-ExtraLight'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc9yAs5jU1EQVg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 200; + src: local('Nunito Sans ExtraLight'), local('NunitoSans-ExtraLight'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc9yAs5tU1E.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 300; + src: local('Nunito Sans Light'), local('NunitoSans-Light'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8WAc5iU1EQVg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 300; + src: local('Nunito Sans Light'), local('NunitoSans-Light'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8WAc5jU1EQVg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 300; + src: local('Nunito Sans Light'), local('NunitoSans-Light'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8WAc5tU1E.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 400; + src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe0qMImSLYBIv1o4X1M8cceyI9tScg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 400; + src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe0qMImSLYBIv1o4X1M8ccezI9tScg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 400; + src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe0qMImSLYBIv1o4X1M8cce9I9s.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 600; + src: local('Nunito Sans SemiBold'), local('NunitoSans-SemiBold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc9iB85iU1EQVg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 600; + src: local('Nunito Sans SemiBold'), local('NunitoSans-SemiBold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc9iB85jU1EQVg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 600; + src: local('Nunito Sans SemiBold'), local('NunitoSans-SemiBold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc9iB85tU1E.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 700; + src: local('Nunito Sans Bold'), local('NunitoSans-Bold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8GBs5iU1EQVg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 700; + src: local('Nunito Sans Bold'), local('NunitoSans-Bold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8GBs5jU1EQVg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 700; + src: local('Nunito Sans Bold'), local('NunitoSans-Bold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8GBs5tU1E.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 800; + src: local('Nunito Sans ExtraBold'), local('NunitoSans-ExtraBold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8aBc5iU1EQVg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 800; + src: local('Nunito Sans ExtraBold'), local('NunitoSans-ExtraBold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8aBc5jU1EQVg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 800; + src: local('Nunito Sans ExtraBold'), local('NunitoSans-ExtraBold'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8aBc5tU1E.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* vietnamese */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 900; + src: local('Nunito Sans Black'), local('NunitoSans-Black'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8-BM5iU1EQVg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 900; + src: local('Nunito Sans Black'), local('NunitoSans-Black'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8-BM5jU1EQVg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Nunito Sans'; + font-style: normal; + font-weight: 900; + src: local('Nunito Sans Black'), local('NunitoSans-Black'), url(https://fonts.gstatic.com/s/nunitosans/v5/pe03MImSLYBIv1o4X1M8cc8-BM5tU1E.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/css/main_styles.css b/css/main_styles.css deleted file mode 100755 index 0b8738d..0000000 --- a/css/main_styles.css +++ /dev/null @@ -1,1510 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. Fonts -2. Body and some general stuff -3. Header -4. Menu -5. Home -6. Timer -7. Intro -8. Tabs Section -9. Schedule -10. Speakers -11. CTA -12. Footer - - -******************************/ - -/*********** -1. Fonts -***********/ - -@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900'); - -/********************************* -2. Body and some general stuff -*********************************/ - -* -{ - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -body -{ - font-family: 'Roboto', sans-serif; - font-size: 14px; - font-weight: 400; - background: #FFFFFF; - color: #a5a5a5; -} -div -{ - display: block; - position: relative; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -ul -{ - list-style: none; - margin-bottom: 0px; -} -p -{ - font-family: 'Roboto', sans-serif; - font-size: 15px; - line-height: 2; - font-weight: 400; - color: #68727c; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a -{ - display: inline; - position: relative; - color: inherit; - border-bottom: solid 1px #ffa07f; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -p:last-of-type -{ - margin-bottom: 0; -} -a -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -a, a:hover, a:visited, a:active, a:link -{ - text-decoration: none; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a:active -{ - position: relative; - color: #FF6347; -} -p a:hover -{ - color: #FFFFFF; - background: #ffa07f; -} -p a:hover::after -{ - opacity: 0.2; -} -::selection -{ - background: rgba(219,82,70,0.85); - color: #ffffff; -} -p::selection -{ - -} -h1{font-size: 60px;} -h2{font-size: 48px;} -h3{font-size: 36px;} -h4{font-size: 24px;} -h5{font-size: 18px;} -h1, h2, h3, h4, h5, h6 -{ - font-family: 'Roboto', sans-serif; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; - line-height: 1.2; - color: #0a2642; - font-weight: 700; -} -h1::selection, -h2::selection, -h3::selection, -h4::selection, -h5::selection, -h6::selection -{ - -} -img -{ - max-width: 100%; -} -button:active -{ - outline: none; -} -.form-control -{ - color: #db5246; -} -section -{ - display: block; - position: relative; - box-sizing: border-box; -} -.clear -{ - clear: both; -} -.clearfix::before, .clearfix::after -{ - content: ""; - display: table; -} -.clearfix::after -{ - clear: both; -} -.clearfix -{ - zoom: 1; -} -.float_left -{ - float: left; -} -.float_right -{ - float: right; -} -.trans_200 -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.trans_300 -{ - -webkit-transition: all 300ms ease; - -moz-transition: all 300ms ease; - -ms-transition: all 300ms ease; - -o-transition: all 300ms ease; - transition: all 300ms ease; -} -.trans_400 -{ - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.trans_500 -{ - -webkit-transition: all 500ms ease; - -moz-transition: all 500ms ease; - -ms-transition: all 500ms ease; - -o-transition: all 500ms ease; - transition: all 500ms ease; -} -.fill_height -{ - height: 100%; -} -.super_container -{ - width: 100%; - overflow: hidden; -} -.prlx_parent -{ - overflow: hidden; -} -.prlx -{ - height: 130% !important; -} -.parallax-window -{ - min-height: 400px; - background: transparent; -} -.parallax_background -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.background_image -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-size: cover; - background-position: center center; -} -.nopadding -{ - padding: 0px !important; -} -.owl-carousel, -.owl-carousel .owl-stage-outer, -.owl-carousel .owl-stage, -.owl-carousel .owl-item -{ - height: 100%; -} -.slide -{ - height: 100%; -} -.button -{ - display: inline-block; - width: 202px; - height: 59px; - text-align: center; -} -.button_1 -{ - background: #ffffff; -} -.button_2 -{ - background: #db5246; -} -.button_3 -{ - background: #ff9000; -} -.button_4 -{ - background: #db5246; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.button::after -{ - display: block; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 3px; - content: ''; -} -.button_1::after -{ - background: #db5246; -} -.button_2::after -{ - background: #0a2642; -} -.button_3::after -{ - background: #0a2642; -} -.button_4:hover -{ - background: #0a2642; -} -.button a -{ - display: block; - height: 100%; - line-height: 59px; - font-size: 14px; - font-weight: 900; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.button_1 a -{ - color: #081624; -} -.button_2 a -{ - color: #ffffff; -} -.button_3 a -{ - color: #ffffff; -} -.button_4 a -{ - color: #ffffff; -} -.button a img -{ - display: inline-block !important; - width: auto !important; - margin-left: 8px; - margin-bottom: 3px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.button:hover a img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.section_subtitle -{ - font-size: 13px; - font-weight: 700; - color: #b6bec7; - line-height: 0.75; - text-transform: uppercase; - letter-spacing: 0.2em; - margin-right: -0.2em; -} -.section_title -{ - margin-top: 7px; -} - -/********************************* -3. Header -*********************************/ - -.header -{ - position: fixed; - top: 22px; - left: 23px; - width: calc(100% - 48px); - background: #000; - z-index: 100; - border-bottom: solid 2px #db5246; - -} -.header_content -{ - width: 100%; - height: 94px; - padding-left: 50px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_content -{ - height: 75px; -} -.logo -{ - display: inline-block; -} -.logo a -{ - display: block; - height: 100%; - padding: 5px; -} -.logo a > span -{ - display: block; - font-size: 30px; - line-height: 0.75; - font-weight: 500; - color: #db5246; - text-transform: uppercase; -} -.logo a > span > span -{ - color: #ffffff; -} -.logo a > span:last-of-type -{ - font-size: 10px; - font-weight: 500; - letter-spacing: 0.75em; - margin-top: 7px; - margin-left: 2px; -} -.main_nav -{ - margin-left: 155px; -} -.main_nav ul li -{ - position: relative; - white-space: nowrap; -} -.main_nav > ul > li.has_children > a -{ - padding-right: 19px; -} -.main_nav > ul > li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 0px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f107'; - font-size: 20px; - color: #928d92; - line-height: 1.2; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.active.has_children > a::after -{ - color: #db5246; -} -.main_nav > ul > li:not(:last-of-type) -{ - margin-right: 40px; -} -.main_nav ul li a -{ - display: block; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.main_nav > ul > li a:hover, -.main_nav > ul > li.active a, -.main_nav > ul > li > a:hover::after -{ - color: #db5246; -} -.main_nav ul li > ul -{ - position: absolute; - left: 0; - top: 100%; - min-width: 100%; - background: #ffffff; - padding-top: 20px; - padding-bottom: 25px; - visibility: hidden; - opacity: 0; -} -.main_nav ul li.has_children:hover > ul -{ - visibility: visible; - opacity: 1; -} -.main_nav ul li > ul > li -{ - padding-left: 30px; -} -.main_nav ul li > ul > li > a -{ - position: relative; - padding-right: 30px; -} -.main_nav ul li > ul > li:not(:last-of-type) -{ - margin-bottom: 8px; -} -.main_nav ul li > ul > li a -{ - color: #db5246; -} -.main_nav ul li > ul > li a:hover -{ - color: #0a2642; -} -.main_nav > ul > li.has_children > ul li.has_children ul -{ - position: absolute; - top: -20px; - left: 100%; - border-left: solid 3px #db5246; -} -.main_nav > ul > li.has_children > ul li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 16px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f105'; - font-size: 16px; - color: #928d92; - line-height: 1.4; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.has_children > ul li.has_children > a:hover::after -{ - color: #0a2642; -} -.header_right -{ - height: 100%; -} -.header_link -{ - height: 100%; - width: 200px; - background: #db5246; - text-align: center; -} -.header_link a -{ - display: block; - position: relative; - height: 100%; -} -.header_link a span -{ - position: relative; - font-size: 14px; - font-weight: 900; - color: #ffffff; - line-height: 96px; - text-transform: uppercase; - letter-spacing: 0.2em; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_link a span -{ - line-height: 75px; -} -.header_link a span > img -{ - margin-bottom: 4px; - margin-left: 5px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.header_link:hover a span > img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.header .social -{ - margin-right: 56px; -} -.social ul li -{ - width: 32px; - height: 32px; - text-align: center; - border-radius: 50%; - background: transparent; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.social ul li:not(:last-of-type) -{ - margin-right: 13px; -} -.social ul li:hover -{ - background: #db5246; -} -.social ul li a -{ - display: block; - height: 100%; -} -.social ul li a i -{ - font-size: 14px; - color: #ffffff; - line-height: 32px; -} -.log_reg -{ - margin-right: 75px; -} -.log_reg ul li -{ - position: relative; -} -.log_reg ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - padding-right: 4px; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a:hover -{ - color: #db5246; -} -.hamburger -{ - display: none; - cursor: pointer; -} -.hamburger i -{ - font-size: 22px; - color: #ffffff; - padding: 5px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.hamburger:hover i -{ - color: #db5246; -} - -/********************************* -4. Menu -*********************************/ - -.menu -{ - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 101; - visibility: hidden; - opacity: 0; - background: rgba(10,38,66,0.92); - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.menu.active -{ - visibility: visible; - opacity: 1; -} -.menu_container -{ - width: 100%; - height: 100%; -} -.menu_close -{ - position: absolute; - top: 50px; - right: 50px; - cursor: pointer; -} -.menu_close i -{ - font-size: 22px; - color: #ffffff; -} -.menu_close:hover i -{ - color: #db5246; -} -.menu_content -{ - position: absolute; - top: 40%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0; - width: 100%; -} -.menu_nav ul li -{ - position: relative; - display: inline-block; - -} -.menu_nav ul li a -{ - font-size: 36px; - font-weight: 500; - color: #ffffff; -} -.menu_nav ul li a:hover -{ - color: #db5246; -} -.menu_social -{ - position: absolute; - bottom: 30px; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); -} - -/********************************* -5. Home -*********************************/ - -.home -{ - height: 100vh; -} -.home_slider_container -{ - width: 100%; - height: 100%; -} -.home_container -{ - position: absolute; - top: 51.5%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0px; - width: 100%; -} -.home_content -{ - -} -.home_title h1 span -{ - display: block; - font-size: 90px; - font-weight: 700; - color: #ffffff; - line-height: 1; - font-style: italic; -} -.home_title h1 span:first-of-type -{ - color: #db5246; -} -.home_info_container -{ - margin-top: 2px; -} -.home_info -{ - display: inline-block; - height: 49px; - padding-left: 22px; - padding-right: 24px; - background: #db5246; -} -.home_info ul -{ - height: 100%; -} -.home_info ul li -{ - position: relative; - font-size: 30px; - font-weight: 700; - color: #ffffff; -} -.home_info ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '|'; - font-size: 30px; - font-weight: 700; - color: #ffffff; - margin-left: 6px; - margin-right: 8px; -} -.home_button -{ - margin-top: 60px; -} -.home_slider_dots_container -{ - position: absolute; - left: 0; - bottom: 27px; - width: 100%; - z-index: 1; -} -.home_slider_custom_dot:not(:last-child) -{ - margin-right: 3px; -} -.home_slider_custom_dot -{ - width: 43px; - height: 43px; - background: transparent; - text-align: center; - line-height: 43px; - font-size: 16px; - font-weight: 700; - color: #ffffff; - cursor: pointer; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.home_slider_custom_dot.active, -.home_slider_custom_dot:hover -{ - background: #db5246; -} -.home_slider .owl-dots -{ - display: none; -} - -/********************************* -6. Timer -*********************************/ - -.timer_section -{ - -} -.timer_overlay -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(219,82,70,0.88); -} -.timer_container -{ - height: 197px; - padding-left: 70px; - padding-right: 70px; -} -.timer -{ - width: 100%; - height: 100%; -} -.timer_num -{ - font-size: 72px; - font-weight: 700; - color: #ffffff; - line-height: 0.75; -} -.timer_unit -{ - font-size: 18px; - font-weight: 700; - color: #ffffff; - line-height: 0.75; - margin-top: 18px; -} -.timer li -{ - position: relative; - width: 25%; -} -.timer li:not(:last-of-type)::after -{ - display: block; - position: absolute; - top: 45%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - right: -6px; - content: ':'; - font-size: 72px; - font-weight: 700; - color: rgba(10,38,66,0.3); -} - -/********************************* -7. Intro -*********************************/ - -.intro -{ - background: #f5f8fb; - padding-top: 92px; - padding-bottom: 102px; -} -.intro .section_title -{ - margin-top: 0; -} -.intro_text -{ - max-width: 770px; - margin-left: auto; - margin-right: auto; - margin-top: 18px; -} -.intro_text p -{ - font-size: 18px; - font-weight: 400; - color: #68727c; -} -.intro_button -{ - margin-top: 47px; -} - -/********************************* -8. Tabs Section -*********************************/ - -.tabs_section -{ - background: #ffffff; - padding-top: 103px; - padding-bottom: 71px; -} -.tabs_container -{ - margin-top: 80px; -} -.tab -{ - height: 57px; - background: #f5f8fb; - -webkit-flex-grow: 1; - flex-grow: 1; - font-size: 16px; - color: #0a2642; - font-weight: 500; - line-height: 57px; - text-align: center; - cursor: pointer; - white-space: nowrap; - margin-bottom: 6px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.tab:hover -{ - background: #db5246; - color: #ffffff; -} -.tab:not(:last-child) -{ - margin-right: 6px; -} -.tab.active -{ - background: #db5246; - color: #ffffff; -} -.tab_panels -{ - padding-top: 55px; - padding-bottom: 32px; -} -.tab_panel -{ - display: none !important; - width: 100%; - height: 100%; - -webkit-animation: fadeEffect 1s; - animation: fadeEffect 1s; -} -/* Fade in tabs */ -@-webkit-keyframes fadeEffect { - from {opacity: 0;} - to {opacity: 1;} -} - -@keyframes fadeEffect { - from {opacity: 0;} - to {opacity: 1;} -} -.tab_panel.active -{ - display: block !important; -} -.tab_panel_content p:last-of-type -{ - margin-bottom: 0; -} -.tab_title -{ - margin-top: 24px; -} -.tab_text -{ - margin-top: 20px; -} -.tab_text p -{ - -webkit-transform: translateY(8px); - -moz-transform: translateY(8px); - -ms-transform: translateY(8px); - -o-transform: translateY(8px); - transform: translateY(8px); -} -.tab_image -{ - width: 100%; -} -.tab_image img -{ - max-width: 100%; -} -.tab_link -{ - margin-top: 35px; -} -.tab_link a -{ - font-size: 14px; - font-weight: 700; - color: #db5246; - text-decoration: underline; -} -.tab_link a:hover -{ - color: #ff9000; -} - -/********************************* -9. Schedule -*********************************/ - -.schedule -{ - background: #ffffff; - padding-bottom: 106px; -} -.schedule_row -{ - margin-top: 58px; -} -.schedule_container -{ - border: solid 1px #cbd6e1; -} -.schedule_title_bar -{ - height: 112px; - line-height: 112px; - font-size: 24px; - font-weight: 700; - color: #ffffff; -} -.schedule_title_bar span -{ - font-size: 16px; - font-weight: 400; - margin-left: 8px; -} -.schedule_title_bar_1 -{ - background: #db5246; -} -.schedule_title_bar_2 -{ - background: #ff9000; -} -.schedule_list -{ - padding-top: 45px; - padding-bottom: 76px; -} -.schedule_list::before -{ - display: block; - position: absolute; - top: 0; - left: 0; - width: 113px; - height: 100%; - background: #f5f8fb; - content: ''; -} -.schedule_image -{ - width: 65px; - height: 65px; - border-radius: 50%; - overflow: hidden; - -webkit-transform: translateY(4px); - -moz-transform: translateY(4px); - -ms-transform: translateY(4px); - -o-transform: translateY(4px); - transform: translateY(4px); -} -.schedule_list ul li -{ - padding-left: 24px; -} -.schedule_list ul li:not(:last-of-type) -{ - margin-bottom: 43px; -} -.schedule_content -{ - padding-left: 60px; -} -.schedule_time -{ - font-size: 14px; - font-weight: 700; - color: #db5246; -} -.schedule_title -{ - font-size: 24px; - font-weight: 700; - color: #0a2642; - margin-top: 2px; -} -.schedule_info -{ - font-size: 15px; - font-weight: 400; - color: #68727c; - margin-top: 6px; -} -.schedule_info a -{ - color: #db5246; - margin-left: 3px; -} -.schedule_info a:hover -{ - color: #ff9000; -} - -/********************************* -10. Speakers -*********************************/ - -.speakers -{ - background: #f5f8fb; - padding-top: 101px; - padding-bottom: 103px; -} -.speakers_row -{ - margin-top: 58px; -} -.speaker -{ - margin-bottom: 27px; -} -.speaker_image::after -{ - display: block; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - content: ''; - border: solid 1px #db5246; - background: rgba(127,102,255,0.67); - visibility: hidden; - opacity: 0; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.speaker:hover .speaker_image::after -{ - visibility: visible; - opacity: 1; -} -.speaker_info -{ - position: absolute; - left: 22px; - bottom: 22px; - width: 191px; - height: 67px; - background: #db5246; - padding-left: 21px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.speaker:hover .speaker_info -{ - background: #221831; -} -.speaker_name a -{ - font-size: 20px; - font-weight: 500; - color: #ffffff; - line-height: 1.2; -} -.speaker_name a:hover -{ - color: #db5246; -} -.speaker_title -{ - font-size: 14px; - font-weight: 400; - color: #ffffff; - line-height: 1.2; - margin-top: 1px; -} - -/********************************* -11. CTA -*********************************/ - -.cta -{ - padding-top: 81px; - padding-bottom: 73px; -} -.cta_overlay -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(127,102,255,0.9); -} -.cta_title h1 -{ - color: #ffffff; -} -.cta_text -{ - margin-top: 18px; -} -.cta_text p -{ - font-size: 18px; - color: #ffffff; -} -.cta_button -{ - margin-top: 23px; -} - -/********************************* -12. Footer -*********************************/ - -.footer -{ - -} -.footer_container -{ - background: #000; - padding-top: 83px; - padding-bottom: 71px; -} -.footer_text -{ - margin-top: 50px; - padding-left: 8px; -} -.footer_text p -{ - color: #a1acb7; -} -.footer_social -{ - margin-top: 52px; -} -.footer_column -{ - padding-top: 23px; -} -.newsletter_form -{ - display: block; - width: 100%; - margin-top: 55px; -} -.newsletter_input -{ - width: 100%; - height: 44px; - padding-left: 18px; - background: #463a58; - border: none; - outline: none; - font-size: 14px; - color: #ffffff; - font-weight: 400; - line-height: 44px; -} -.newsletter_input::-webkit-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-ms-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_button -{ - position: relative; - width: 100%; - height: 59px; - border: none; - outline: none; - background: #db5246; - border-bottom: solid 3px #ffffff; - cursor: pointer; - margin-top: 13px; -} -.newsletter_button span -{ - font-size: 14px; - font-weight: 700; - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.newsletter_button span img -{ - margin-left: 16px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.newsletter_button:hover span img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.footer_title -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.gallery -{ - max-width: 360px; - margin-top: 54px; -} -.gallery_item -{ - width: calc((100% - 12px) / 4); - max-width: 87px; - max-height: 87px; - margin-bottom: 4px; -} -.footer_bar -{ - background: #220300; -} -.footer_bar_content -{ - height: 58px; -} -.copyright -{ - font-size: 14px; - font-weight: 400; - color: #4e445d; -} \ No newline at end of file diff --git a/css/responsive.css b/css/responsive.css deleted file mode 100755 index 976174b..0000000 --- a/css/responsive.css +++ /dev/null @@ -1,380 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. 1600px -2. 1440px -3. 1280px -4. 1199px -5. 1024px -6. 991px -7. 959px -8. 880px -9. 768px -10. 767px -11. 539px -12. 479px -13. 400px - -******************************/ - -/************ -1. 1600px -************/ - -@media only screen and (max-width: 1600px) -{ - .main_nav - { - margin-left: 75px; - } - .main_nav > ul > li:not(:last-of-type) - { - margin-right: 32px; - } - .header .social - { - margin-right: 41px; - } - .log_reg - { - margin-right: 43px; - } -} - -/************ -2. 1440px -************/ - -@media only screen and (max-width: 1440px) -{ - .header .social - { - display: none; - } -} - -/************ -3. 1380px -************/ - -@media only screen and (max-width: 1380px) -{ - -} - -/************ -3. 1280px -************/ - -@media only screen and (max-width: 1280px) -{ - -} - -/************ -4. 1199px -************/ - -@media only screen and (max-width: 1199px) -{ - .header_content - { - padding-left: 30px; - } - .main_nav - { - margin-left: 45px; - } - .header_link - { - display: none; - } -} - -/************ -4. 1100px -************/ - -@media only screen and (max-width: 1100px) -{ - -} - -/************ -5. 1024px -************/ - -@media only screen and (max-width: 1024px) -{ - -} - -/************ -6. 991px -************/ - -@media only screen and (max-width: 991px) -{ - .main_nav - { - display: none; - } - .header_content - { - padding-right: 30px; - } - .hamburger - { - display: block; - } - .home_title h1 span - { - font-size: 72px; - } - .home_info ul li, - .home_info ul li:not(:last-of-type)::after - { - font-size: 24px; - } - .timer_container - { - padding-left: 0px; - padding-right: 0px; - } - .tab - { - -webkit-flex-grow: 0; - flex-grow: 0; - padding-left: 20px; - padding-right: 20px; - } - .tab_col - { - margin-top: 60px; - } - .schedule_col:not(:last-child) - { - margin-bottom: 40px; - } - .footer_column - { - padding-top: 0; - } - .footer_col:not(:last-child) - { - margin-bottom: 80px; - } -} - -/************ -7. 959px -************/ - -@media only screen and (max-width: 959px) -{ - -} - -/************ -8. 880px -************/ - -@media only screen and (max-width: 880px) -{ - -} - -/************ -9. 768px -************/ - -@media only screen and (max-width: 768px) -{ - -} - -/************ -10. 767px -************/ - -@media only screen and (max-width: 767px) -{ - h1 - { - font-size: 48px; - } - .home_title h1 span - { - font-size: 56px; - } - .timer_num, - .timer li:not(:last-of-type)::after - { - font-size: 48px; - } -} - -/************ -11. 575px -************/ - -@media only screen and (max-width: 575px) -{ - h1 - { - font-size: 36px; - } - h3 - { - font-size: 24px; - } - p - { - font-size: 14px; - } - .header_content - { - height: 75px; - padding-left: 15px; - padding-right: 15px; - } - .header.scrolled .header_content - { - height: 75px; - } - .logo a > span - { - font-size: 24px; - } - .logo a > span:last-of-type - { - font-size: 8px; - margin-left: 3px; - } - .log_reg ul li a - { - font-size: 14px; - } - .log_reg ul li:not(:last-of-type)::after - { - font-size: 14px; - } - .log_reg - { - margin-right: 30px; - } - .button - { - width: 180px; - height: 53px; - } - .button a - { - font-size: 12px; - line-height: 53px; - } - .home_title h1 span - { - font-size: 48px; - } - .home_info ul li, - .home_info ul li:not(:last-of-type)::after - { - font-size: 18px; - } - .home_info - { - height: 43px; - } - .home_button - { - margin-top: 46px; - } - .home_slider_dots_container - { - display: none; - } - .timer_num, - .timer li:not(:last-of-type)::after - { - font-size: 36px; - } - .timer_unit - { - font-size: 14px; - } - .intro_text p - { - font-size: 16px; - } - .tab - { - font-size: 14px; - height: 47px; - line-height: 47px; - } - .tab_text - { - margin-top: 16px; - } - .schedule_info - { - font-size: 14px; - } - .schedule_list::before - { - width: 98px; - } - .schedule_content - { - padding-left: 45px; - } - .schedule_list ul li - { - padding-left: 15px; - } - .cta_text p - { - font-size: 16px; - } -} - -/************ -11. 539px -************/ - -@media only screen and (max-width: 539px) -{ - -} - -/************ -12. 480px -************/ - -@media only screen and (max-width: 480px) -{ - -} - -/************ -13. 479px -************/ - -@media only screen and (max-width: 479px) -{ - -} - -/************ -14. 400px -************/ - -@media only screen and (max-width: 400px) -{ - -} \ No newline at end of file diff --git a/css/schedule.css b/css/schedule.css deleted file mode 100755 index d4fbc7e..0000000 --- a/css/schedule.css +++ /dev/null @@ -1,1247 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. Fonts -2. Body and some general stuff -3. Header -4. Menu -5. Home -6. Schedule -7. CTA -8. Footer - - -******************************/ - -/*********** -1. Fonts -***********/ - -@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900'); - -/********************************* -2. Body and some general stuff -*********************************/ - -* -{ - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -body -{ - font-family: 'Roboto', sans-serif; - font-size: 14px; - font-weight: 400; - background: #FFFFFF; - color: #a5a5a5; -} -div -{ - display: block; - position: relative; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -ul -{ - list-style: none; - margin-bottom: 0px; -} -p -{ - font-family: 'Roboto', sans-serif; - font-size: 15px; - line-height: 2; - font-weight: 400; - color: #68727c; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a -{ - display: inline; - position: relative; - color: inherit; - border-bottom: solid 1px #ffa07f; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -p:last-of-type -{ - margin-bottom: 0; -} -a -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -a, a:hover, a:visited, a:active, a:link -{ - text-decoration: none; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; -} -p a:active -{ - position: relative; - color: #FF6347; -} -p a:hover -{ - color: #FFFFFF; - background: #ffa07f; -} -p a:hover::after -{ - opacity: 0.2; -} -::selection -{ - background: rgba(127,102,255,0.85); - color: #ffffff; -} -p::selection -{ - -} -h1{font-size: 60px;} -h2{font-size: 48px;} -h3{font-size: 36px;} -h4{font-size: 24px;} -h5{font-size: 18px;} -h1, h2, h3, h4, h5, h6 -{ - font-family: 'Roboto', sans-serif; - -webkit-font-smoothing: antialiased; - -webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px; - text-shadow: rgba(0,0,0,.01) 0 0 1px; - line-height: 1.2; - color: #0a2642; - font-weight: 700; - margin-bottom: 0; -} -h1::selection, -h2::selection, -h3::selection, -h4::selection, -h5::selection, -h6::selection -{ - -} -img -{ - max-width: 100%; -} -button:active -{ - outline: none; -} -.form-control -{ - color: #db5246; -} -section -{ - display: block; - position: relative; - box-sizing: border-box; -} -.clear -{ - clear: both; -} -.clearfix::before, .clearfix::after -{ - content: ""; - display: table; -} -.clearfix::after -{ - clear: both; -} -.clearfix -{ - zoom: 1; -} -.float_left -{ - float: left; -} -.float_right -{ - float: right; -} -.trans_200 -{ - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.trans_300 -{ - -webkit-transition: all 300ms ease; - -moz-transition: all 300ms ease; - -ms-transition: all 300ms ease; - -o-transition: all 300ms ease; - transition: all 300ms ease; -} -.trans_400 -{ - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.trans_500 -{ - -webkit-transition: all 500ms ease; - -moz-transition: all 500ms ease; - -ms-transition: all 500ms ease; - -o-transition: all 500ms ease; - transition: all 500ms ease; -} -.fill_height -{ - height: 100%; -} -.super_container -{ - width: 100%; - overflow: hidden; -} -.prlx_parent -{ - overflow: hidden; -} -.prlx -{ - height: 130% !important; -} -.parallax-window -{ - min-height: 400px; - background: transparent; -} -.parallax_background -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.background_image -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-size: cover; - background-position: center center; -} -.nopadding -{ - padding: 0px !important; -} -.owl-carousel, -.owl-carousel .owl-stage-outer, -.owl-carousel .owl-stage, -.owl-carousel .owl-item -{ - height: 100%; -} -.slide -{ - height: 100%; -} -.button -{ - display: inline-block; - width: 202px; - height: 59px; - text-align: center; -} -.button_1 -{ - background: #ffffff; -} -.button_2 -{ - background: #7f66ff; -} -.button_3 -{ - background: #ff9000; -} -.button_4 -{ - background: #7f66ff; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.button::after -{ - display: block; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 3px; - content: ''; -} -.button_1::after -{ - background: #FF6347; -} -.button_2::after -{ - background: #0a2642; -} -.button_3::after -{ - background: #0a2642; -} -.button_4::after -{ - background: #ffffff; -} -.button_4:hover -{ - background: #0a2642; -} -.button a -{ - display: block; - height: 100%; - line-height: 59px; - font-size: 14px; - font-weight: 900; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.button_1 a -{ - color: #081624; -} -.button_2 a -{ - color: #ffffff; -} -.button_3 a -{ - color: #ffffff; -} -.button_4 a -{ - color: #ffffff; -} -.button a img -{ - display: inline-block !important; - width: auto !important; - margin-left: 8px; - margin-bottom: 3px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.button:hover a img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.section_subtitle -{ - font-size: 13px; - font-weight: 700; - color: #b6bec7; - line-height: 0.75; - text-transform: uppercase; - letter-spacing: 0.2em; - margin-right: -0.2em; -} -.section_title -{ - margin-top: 7px; -} - -/********************************* -3. Header -*********************************/ - -.header -{ - position: fixed; - top: 22px; - left: 23px; - width: calc(100% - 48px); - background: #0a2642; - z-index: 100; - border-bottom: solid 2px #7f66ff; -} -.header_content -{ - width: 100%; - height: 94px; - padding-left: 50px; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_content -{ - height: 75px; -} -.logo -{ - display: inline-block; -} -.logo a -{ - display: block; - height: 100%; - padding: 5px; -} -.logo a > span -{ - display: block; - font-size: 30px; - line-height: 0.75; - font-weight: 500; - color: #7f66ff; - text-transform: uppercase; -} -.logo a > span > span -{ - color: #ffffff; -} -.logo a > span:last-of-type -{ - font-size: 10px; - font-weight: 500; - letter-spacing: 0.75em; - margin-top: 7px; - margin-left: 2px; -} -.main_nav -{ - margin-left: 155px; -} -.main_nav ul li -{ - position: relative; - white-space: nowrap; -} -.main_nav > ul > li.has_children > a -{ - padding-right: 19px; -} -.main_nav > ul > li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 0px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f107'; - font-size: 20px; - color: #928d92; - line-height: 1.2; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.active.has_children > a::after -{ - color: #7f66ff; -} -.main_nav > ul > li:not(:last-of-type) -{ - margin-right: 40px; -} -.main_nav ul li a -{ - display: block; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.main_nav > ul > li a:hover, -.main_nav > ul > li.active a, -.main_nav > ul > li > a:hover::after -{ - color: #7f66ff; -} -.main_nav ul li > ul -{ - position: absolute; - left: 0; - top: 100%; - min-width: 100%; - background: #ffffff; - padding-top: 20px; - padding-bottom: 25px; - visibility: hidden; - opacity: 0; -} -.main_nav ul li.has_children:hover > ul -{ - visibility: visible; - opacity: 1; -} -.main_nav ul li > ul > li -{ - padding-left: 30px; -} -.main_nav ul li > ul > li > a -{ - position: relative; - padding-right: 30px; -} -.main_nav ul li > ul > li:not(:last-of-type) -{ - margin-bottom: 8px; -} -.main_nav ul li > ul > li a -{ - color: #7f66ff; -} -.main_nav ul li > ul > li a:hover -{ - color: #0a2642; -} -.main_nav > ul > li.has_children > ul li.has_children ul -{ - position: absolute; - top: -20px; - left: 100%; - border-left: solid 3px #7f66ff; -} -.main_nav > ul > li.has_children > ul li.has_children > a::after -{ - position: absolute; - top: 0px; - right: 16px; - height: 100%; - font-family: 'FontAwesome'; - content: '\f105'; - font-size: 16px; - color: #928d92; - line-height: 1.4; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.main_nav > ul > li.has_children > ul li.has_children > a:hover::after -{ - color: #0a2642; -} -.header_right -{ - height: 100%; -} -.header_link -{ - height: 100%; - width: 200px; - background: #7f66ff; - text-align: center; -} -.header_link a -{ - display: block; - position: relative; - height: 100%; -} -.header_link a span -{ - position: relative; - font-size: 14px; - font-weight: 900; - color: #ffffff; - line-height: 96px; - text-transform: uppercase; - letter-spacing: 0.2em; - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.header.scrolled .header_link a span -{ - line-height: 75px; -} -.header_link a span > img -{ - margin-bottom: 4px; - margin-left: 5px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.header_link:hover a span > img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.header .social -{ - margin-right: 56px; -} -.social ul li -{ - width: 32px; - height: 32px; - text-align: center; - border-radius: 50%; - background: transparent; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.social ul li:not(:last-of-type) -{ - margin-right: 13px; -} -.social ul li:hover -{ - background: #7f66ff; -} -.social ul li a -{ - display: block; - height: 100%; -} -.social ul li a i -{ - font-size: 14px; - color: #ffffff; - line-height: 32px; -} -.log_reg -{ - margin-right: 75px; -} -.log_reg ul li -{ - position: relative; -} -.log_reg ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - padding-right: 4px; - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.log_reg ul li a:hover -{ - color: #7f66ff; -} -.hamburger -{ - display: none; - cursor: pointer; -} -.hamburger i -{ - font-size: 22px; - color: #ffffff; - padding: 5px; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.hamburger:hover i -{ - color: #7f66ff; -} - -/********************************* -4. Menu -*********************************/ - -.menu -{ - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 101; - visibility: hidden; - opacity: 0; - background: rgba(10,38,66,0.92); - -webkit-transition: all 400ms ease; - -moz-transition: all 400ms ease; - -ms-transition: all 400ms ease; - -o-transition: all 400ms ease; - transition: all 400ms ease; -} -.menu.active -{ - visibility: visible; - opacity: 1; -} -.menu_container -{ - width: 100%; - height: 100%; -} -.menu_close -{ - position: absolute; - top: 50px; - right: 50px; - cursor: pointer; -} -.menu_close i -{ - font-size: 22px; - color: #ffffff; -} -.menu_close:hover i -{ - color: #7f66ff; -} -.menu_content -{ - position: absolute; - top: 40%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0; - width: 100%; -} -.menu_nav ul li -{ - position: relative; - display: inline-block; - -} -.menu_nav ul li a -{ - font-size: 36px; - font-weight: 500; - color: #ffffff; -} -.menu_nav ul li a:hover -{ - color: #7f66ff; -} -.menu_social -{ - position: absolute; - bottom: 30px; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); -} - -/********************************* -5. Home -*********************************/ - -.home -{ - height: 511px; -} -.home_container -{ - position: absolute; - top: 59.85%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - left: 0px; - width: 100%; -} -.home_content -{ - -} -.home_title h1 -{ - font-size: 90px; - font-weight: 700; - color: #ffffff; - font-style: italic; - line-height: 0.75; -} -.breadcrumbs -{ - display: inline-block; - background: #7f66ff; - height: 38px; - padding-left: 23px; - padding-right: 25px; - margin-top: 21px; -} -.breadcrumbs ul -{ - height: 100%; -} -.breadcrumbs ul li -{ - position: relative; -} -.breadcrumbs ul li, -.breadcrumbs ul li a, -.breadcrumbs ul li::after -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.breadcrumbs ul li a:hover -{ - color: #ff9000; -} -.breadcrumbs ul li:not(:last-of-type)::after -{ - display: inline-block; - content: '/'; - margin-left: 4px; - margin-right: 4px; -} - -/********************************* -6. Schedule -*********************************/ - -.schedule -{ - padding-top: 103px; - padding-bottom: 136px; - background: #ffffff; -} -.schedule_container -{ - border: solid 1px #cbd6e1; - padding-bottom: 99px; -} -.schedule_container::before -{ - display: block; - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 114px; - background: #f5f8fb; - content: ''; -} -.tab -{ - width: 25%; - height: 113px; - font-size: 24px; - font-weight: 500; - color: #ffffff; - cursor: pointer; -} -.tab span -{ - font-size: 16px; - font-weight: 400; - margin-left: 8px; -} -.tab:first-child -{ - background: #7f66ff; -} -.tab:nth-child(2) -{ - background: #ff9000; -} -.tab:nth-child(3) -{ - background: #b400ff; -} -.tab:nth-child(4) -{ - background: #ffcc00; -} -.tab_panel -{ - display: none !important; - -webkit-animation: fadeEffect 1s; - animation: fadeEffect 1s; - padding-top: 45px; - padding-left: 24px; - padding-right: 55px; -} -/* Fade in tabs */ -@-webkit-keyframes fadeEffect { - from {opacity: 0;} - to {opacity: 1;} -} - -@keyframes fadeEffect { - from {opacity: 0;} - to {opacity: 1;} -} -.tab_panel.active -{ - display: block !important; -} -.schedule_item:not(:last-child) -{ - margin-bottom: 41px; -} -.schedule_image -{ - width: 65px; - height: 65px; - border-radius: 50%; - overflow: hidden; - margin-bottom: 7px; - -webkit-flex: 0 0 auto; - flex: 0 0 auto; -} -.schedule_content -{ - padding-left: 60px; -} -.schedule_time -{ - font-size: 14px; - font-weight: 700; - color: #7f66ff; -} -.schedule_title -{ - font-size: 24px; - font-weight: 700; - color: #0a2642; - margin-top: 2px; -} -.schedule_info -{ - font-size: 15px; - font-weight: 400; - color: #68727c; - margin-top: 6px; -} -.schedule_info a -{ - color: #7f66ff; - margin-left: 3px; -} -.schedule_info a:hover -{ - color: #ff9000; -} -.schedule_button -{ - margin-bottom: 7px; -} -.schedule_text -{ - padding-left: 125px; - margin-top: 35px; -} -.schedule_text_title -{ - display: inline-block; - position: relative; - font-size: 20px; - font-weight: 700; - color: #68727c; - line-height: 1; -} -.schedule_text_title::after -{ - display: block; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 1px; - background: #68727c; - content: ''; -} -.schedule_text > p:first-of-type -{ - margin-top: 8px; -} -.scroll_up -{ - position: absolute; - left: 50%; - -webkit-transform: translateX(-50%); - -moz-transform: translateX(-50%); - -ms-transform: translateX(-50%); - -o-transform: translateX(-50%); - transform: translateX(-50%); - bottom: -32px; - width: 64px; - height: 64px; - border-radius: 50%; - background: #7f66ff; - line-height: 64px; - text-align: center; - font-size: 15px; - font-weight: 700; - color: #ffffff; - text-transform: uppercase; - cursor: pointer; - -webkit-transition: all 200ms ease; - -moz-transition: all 200ms ease; - -ms-transition: all 200ms ease; - -o-transition: all 200ms ease; - transition: all 200ms ease; -} -.scroll_up:hover -{ - background: #0a2642; -} - -/********************************* -7. CTA -*********************************/ - -.cta -{ - padding-top: 81px; - padding-bottom: 73px; -} -.cta_overlay -{ - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(127,102,255,0.9); -} -.cta_title h1 -{ - color: #ffffff; -} -.cta_text -{ - margin-top: 18px; -} -.cta_text p -{ - font-size: 18px; - color: #ffffff; -} -.cta_button -{ - margin-top: 23px; -} - -/********************************* -8. Footer -*********************************/ - -.footer -{ - -} -.footer_container -{ - background: #221831; - padding-top: 83px; - padding-bottom: 71px; -} -.footer_text -{ - margin-top: 50px; - padding-left: 8px; -} -.footer_text p -{ - color: #a1acb7; -} -.footer_social -{ - margin-top: 52px; -} -.footer_column -{ - padding-top: 23px; -} -.newsletter_form -{ - display: block; - width: 100%; - margin-top: 55px; -} -.newsletter_input -{ - width: 100%; - height: 44px; - padding-left: 18px; - background: #463a58; - border: none; - outline: none; - font-size: 14px; - color: #ffffff; - font-weight: 400; - line-height: 44px; -} -.newsletter_input::-webkit-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::-moz-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input:-ms-input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_input::input-placeholder -{ - font-size: 12px !important; - font-weight: 400 !important; - color: #949ea9 !important; -} -.newsletter_button -{ - position: relative; - width: 100%; - height: 59px; - border: none; - outline: none; - background: #7f66ff; - border-bottom: solid 3px #ffffff; - cursor: pointer; - margin-top: 13px; -} -.newsletter_button span -{ - font-size: 14px; - font-weight: 700; - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.2em; -} -.newsletter_button span img -{ - margin-left: 16px; - -webkit-transition: all 700ms ease; - -moz-transition: all 700ms ease; - -ms-transition: all 700ms ease; - -o-transition: all 700ms ease; - transition: all 700ms ease; -} -.newsletter_button:hover span img -{ - -webkit-transform: translateX(5px); - -moz-transform: translateX(5px); - -ms-transform: translateX(5px); - -o-transform: translateX(5px); - transform: translateX(5px); -} -.footer_title -{ - font-size: 16px; - font-weight: 500; - color: #ffffff; -} -.gallery -{ - max-width: 360px; - margin-top: 54px; -} -.gallery_item -{ - width: calc((100% - 12px) / 4); - max-width: 87px; - max-height: 87px; - margin-bottom: 4px; -} -.footer_bar -{ - background: #190e2b; -} -.footer_bar_content -{ - height: 58px; -} -.copyright -{ - font-size: 14px; - font-weight: 400; - color: #4e445d; -} \ No newline at end of file diff --git a/css/schedule_responsive.css b/css/schedule_responsive.css deleted file mode 100755 index 68415f1..0000000 --- a/css/schedule_responsive.css +++ /dev/null @@ -1,393 +0,0 @@ -@charset "utf-8"; -/* CSS Document */ - -/****************************** - -[Table of Contents] - -1. 1600px -2. 1440px -3. 1280px -4. 1199px -5. 1024px -6. 991px -7. 959px -8. 880px -9. 768px -10. 767px -11. 539px -12. 479px -13. 400px - -******************************/ - -/************ -1. 1600px -************/ - -@media only screen and (max-width: 1600px) -{ - .main_nav - { - margin-left: 75px; - } - .main_nav > ul > li:not(:last-of-type) - { - margin-right: 32px; - } - .header .social - { - margin-right: 41px; - } - .log_reg - { - margin-right: 43px; - } - .intro_left_content, - .intro_right_content - { - padding-left: 91px; - padding-right: 110px; - } -} - -/************ -2. 1440px -************/ - -@media only screen and (max-width: 1440px) -{ - .header .social - { - display: none; - } -} - -/************ -3. 1380px -************/ - -@media only screen and (max-width: 1380px) -{ - -} - -/************ -3. 1280px -************/ - -@media only screen and (max-width: 1280px) -{ - -} - -/************ -4. 1199px -************/ - -@media only screen and (max-width: 1199px) -{ - .header_content - { - padding-left: 30px; - } - .main_nav - { - margin-left: 45px; - } - .header_link - { - display: none; - } - .container_wrapper > .container - { - max-width: 960px; - padding-left: 15px; - padding-right: 15px; - } - .container_wrapper > .container > .row - { - margin-left: -15px; - margin-right: -15px; - } - .container_wrapper > .container > .row > div[class^='col'] - { - padding-left: 15px; - padding-right: 15px; - } - .intro_image > img - { - display: block; - } - .intro_image > .background_image - { - display: none; - } - .intro_left_content, - .intro_right_content - { - padding-left: 0px; - padding-top: 98px; - padding-bottom: 109px; - padding-right: 0px; - } -} - -/************ -4. 1100px -************/ - -@media only screen and (max-width: 1100px) -{ - -} - -/************ -5. 1024px -************/ - -@media only screen and (max-width: 1024px) -{ - -} - -/************ -6. 991px -************/ - -@media only screen and (max-width: 991px) -{ - .main_nav - { - display: none; - } - .header_content - { - padding-right: 30px; - } - .hamburger - { - display: block; - } - .container_wrapper > .container - { - max-width: 720px; - } - .home_title h1 - { - font-size: 72px; - } - .tab - { - width: 50%; - } - .schedule_button - { - margin-left: 124px; - margin-top: 36px; - } - .footer_column - { - padding-top: 0; - } - .footer_col:not(:last-child) - { - margin-bottom: 80px; - } -} - -/************ -7. 959px -************/ - -@media only screen and (max-width: 959px) -{ - -} - -/************ -8. 880px -************/ - -@media only screen and (max-width: 880px) -{ - -} - -/************ -9. 768px -************/ - -@media only screen and (max-width: 768px) -{ - -} - -/************ -10. 767px -************/ - -@media only screen and (max-width: 767px) -{ - h1 - { - font-size: 48px; - } - .container_wrapper > .container - { - max-width: 540px; - } - .home_title h1 - { - font-size: 56px; - } - .schedule_container::before - { - width: 81px; - } - .tab_panel - { - padding-left: 15px; - padding-right: 25px; - } - .schedule_image - { - width: 50px; - height: 50px; - } - .schedule_content - { - padding-left: 40px; - } - .schedule_button - { - margin-left: 91px; - } - .schedule_text - { - padding-left: 91px; - } -} - -/************ -11. 575px -************/ - -@media only screen and (max-width: 575px) -{ - h1 - { - font-size: 36px; - } - h3 - { - font-size: 24px; - } - p - { - font-size: 14px; - } - .header_content - { - height: 75px; - padding-left: 15px; - padding-right: 15px; - } - .header.scrolled .header_content - { - height: 75px; - } - .logo a > span - { - font-size: 24px; - } - .logo a > span:last-of-type - { - font-size: 8px; - margin-left: 3px; - } - .log_reg ul li a - { - font-size: 14px; - } - .log_reg ul li:not(:last-of-type)::after - { - font-size: 14px; - } - .log_reg - { - margin-right: 30px; - } - .button - { - width: 180px; - height: 53px; - } - .button a - { - font-size: 12px; - line-height: 53px; - } - .container_wrapper > .container - { - max-width: 100%; - } - .home - { - height: 385px; - } - .home_title h1 - { - font-size: 48px; - } - .tab - { - width: 100%; - height: 70px; - font-size: 20px; - } - .tab span - { - font-size: 14px; - } - .cta_text p - { - font-size: 16px; - } -} - -/************ -11. 539px -************/ - -@media only screen and (max-width: 539px) -{ - -} - -/************ -12. 480px -************/ - -@media only screen and (max-width: 480px) -{ - -} - -/************ -13. 479px -************/ - -@media only screen and (max-width: 479px) -{ - -} - -/************ -14. 400px -************/ - -@media only screen and (max-width: 400px) -{ - -} \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..fd0ec63 --- /dev/null +++ b/css/style.css @@ -0,0 +1,5309 @@ + +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +menu, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +a { + text-decoration: none; + color: inherit; + background-color: transparent; +} + +a:active, +a:hover { + outline: 0; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +mark { + background: #ff0; + color: #000; +} + +small { + font-size: 80%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; + vertical-align: top; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +legend { + border: 0; + padding: 0; +} + +optgroup { + font-weight: bold; +} + +/* table { + border-collapse: collapse; + border-spacing: 0; +} */ + +/* td, +th { + padding: 0; +} */ + +/*-------------------------------------------------------------- +# Typography +--------------------------------------------------------------*/ +body, +optgroup { + color: #353535; + font-family: 'Nunito Sans', sans-serif; + font-size: 18px; + font-weight: 400; + line-height: 1.8; +} + +h1, h2, h3, h4, h5, h6 { + clear: both; + font-weight: 700; + color: #1c1d1d; + margin: 1em 0 0.6666em 0; + line-height: 1.3; +} + +h1 { + font-size: 2.7223em; +} +h2 { + font-size: 2.1665em; +} +h3 { + font-size: 1.7223em; +} +h4 { + font-size: 1.3888em; +} +h5 { + font-size: 1.112em; +} +h6 { + font-size: 0.8888em; +} + +p { + margin-bottom: 1.5em; +} + +dfn, cite, em, i { + font-style: italic; +} + +.halfwidth { + width: 50%; +} + +address { + margin: 0 0 1.5em; +} + +pre { + background: #eee; + font-family: "Courier 10 Pitch", Courier, monospace; + font-size: 15px; + font-size: 0.9375rem; + line-height: 1.6; + margin-bottom: 1.6em; + max-width: 100%; + overflow: auto; + padding: 1.6em; +} + +code, kbd, tt, var { + font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; + font-size: 15px; + font-size: 0.9375rem; +} + +abbr, acronym { + border-bottom: 1px dotted #666; + cursor: help; +} + +mark, ins { + background: #fff9c0; + text-decoration: none; +} + +big { + font-size: 125%; +} + +/*-------------------------------------------------------------- +# Elements +--------------------------------------------------------------*/ +html { + box-sizing: border-box; +} + +*, +*:before, +*:after { + /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ + box-sizing: inherit; +} + +body { + background: #fff; + /* Fallback for when there is no custom background color defined. */ +} + +hr { + background-color: #e9e9e9; + border: 0; + height: 1px; + margin-top: 2.5em; + margin-bottom: 2.5em; +} + +ul, ol { + margin: 0; +} + +ul { + list-style: none; + margin: 0; + padding: 0; +} +ol { + list-style: decimal; + font-weight: 400; +} + +li > ul, +li > ol { + margin-bottom: 0; + margin-left: 1.5em; + padding: 0; +} + +dt { + font-weight: bold; +} + +dd { + margin: 0 1.5em 1.5em; +} + +img { + height: auto; + /* Make sure images are scaled correctly. */ + max-width: 100%; + /* Adhere to container width. */ + vertical-align: top; +} + +figure { + margin: 0; + /* Extra wide images within figure tags don't overflow the content area. */ +} + +/* table { + margin: 0 0 1.5em; + width: 100%; + border-radius: 0; + font-size: 1em; + text-align: left; +} +table tr th { + font-weight: 700; + color: #212127; + padding: 10px 15px; + border-bottom: 2px solid #EBEBEB; +} +table tr td { + color: #353535; + padding: 10px 15px; +} +table tbody tr:nth-child(odd) { + background: rgba(0,0,0,0.035); +} +.site-footer table tbody tr:nth-child(odd) { + background: rgba(255,255,255,0.05); +} */ + +/*-------------------------------------------------------------- +## Menus +--------------------------------------------------------------*/ +.site-main .comment-navigation, .site-main +.posts-navigation, .site-main +.post-navigation { + margin: 0 0 1.5em; + overflow: hidden; +} + +.post-navigation .nav-links:before, +.post-navigation .nav-links:after { + content: ""; + display: table; + line-height: 0; +} + +.post-navigation .nav-links:after { + clear: both; +} + +.comment-navigation .nav-previous, +.posts-navigation .nav-previous, +.post-navigation .nav-previous { + float: left; + width: 50%; +} + +.comment-navigation .nav-next, +.posts-navigation .nav-next, +.post-navigation .nav-next { + float: right; + text-align: right; + width: 50%; +} + +/*-------------------------------------------------------------- +# Accessibility +--------------------------------------------------------------*/ +/* Text meant only for screen readers. */ +.screen-reader-text { + border: 0; + clip: rect(1px, 1px, 1px, 1px); + clip-path: inset(50%); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute !important; + width: 1px; + word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ +} + +.screen-reader-text:focus { + background-color: #f1f1f1; + border-radius: 3px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + clip: auto !important; + clip-path: none; + color: #21759b; + display: block; + font-size: 14px; + font-size: 0.875rem; + font-weight: bold; + height: auto; + left: 5px; + line-height: normal; + padding: 15px 23px 14px; + text-decoration: none; + top: 5px; + width: auto; + z-index: 100000; + /* Above WP toolbar. */ +} + +/* Do not show the outline on the skip link target. */ +#content[tabindex="-1"]:focus { + outline: 0; +} + +/*-------------------------------------------------------------- +# Alignments +--------------------------------------------------------------*/ +.alignleft { + display: inline; + float: left; + margin-right: 1.5em; + margin-bottom: 1.5em; +} + +.alignright { + display: inline; + float: right; + margin-left: 1.5em; + margin-bottom: 1.5em; +} + +.aligncenter { + clear: both; + display: block; + margin-left: auto; + margin-right: auto; +} + +/*-------------------------------------------------------------- +# Clearings +--------------------------------------------------------------*/ +.clearfix:before, +.clearfix:after, +.entry-content:before, +.entry-content:after, +.comment-content:before, +.comment-content:after, +.site-content:before, +.site-content:after, +.container:before, +.container:after { + content: ""; + display: table; + table-layout: fixed; +} + +.clearfix:after, +.entry-content:after, +.comment-content:after, +.site-content:after, +.container:after { + clear: both; +} + +/*-------------------------------------------------------------- +# Widgets +--------------------------------------------------------------*/ +.widget { + margin: 0 0 60px 0; + /* Make sure select elements fit in widgets. */ +} +#secondary .widget:last-child { + margin-bottom: 0; +} + +.widget select { + max-width: 100%; +} + +/*-------------------------------------------------------------- +# Content +--------------------------------------------------------------*/ +/*-------------------------------------------------------------- +## Posts and pages +--------------------------------------------------------------*/ +.sticky { + display: block; +} + +.hentry { + margin: 0 0 1.5em; +} + +.updated:not(.published) { + display: none; +} + +.page-content, +.entry-content, +.entry-summary { + margin: 1.5em 0 0; +} + +.page-links { + clear: both; + margin: 0 0 1.5em; +} + +/*-------------------------------------------------------------- +## Comments +--------------------------------------------------------------*/ +.comment-content a { + word-wrap: break-word; +} + +.bypostauthor { + display: block; +} + +/*-------------------------------------------------------------- +# Infinite scroll +--------------------------------------------------------------*/ +/* Globally hidden elements when Infinite Scroll is supported and in use. */ +.infinite-scroll .posts-navigation, +.infinite-scroll.neverending .site-footer { + /* Theme Footer (when set to scrolling) */ + display: none; +} + +/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */ +.infinity-end.neverending .site-footer { + display: block; +} + +/*-------------------------------------------------------------- +# Media +--------------------------------------------------------------*/ +.page-content .wp-smiley, +.entry-content .wp-smiley, +.comment-content .wp-smiley { + border: none; + margin-bottom: 0; + margin-top: 0; + padding: 0; +} + +/* Make sure embeds and iframes fit their containers. */ +embed, +iframe, +object { + max-width: 100%; +} + +/* Make sure logo link wraps around logo image. */ +.custom-logo-link { + display: inline-block; +} + +.custom-logo-link:focus{ + outline: thin dotted #fff; +} + +/*-------------------------------------------------------------- +## Captions +--------------------------------------------------------------*/ +.wp-caption { + margin-bottom: 1.5em; + max-width: 100%; +} + +.wp-caption img[class*="wp-image-"] { + display: block; + margin-left: auto; + margin-right: auto; +} + +.wp-caption .wp-caption-text { + margin: 0.8075em 0; + line-height: initial; + font-size: 0.7778em; + color: #999999; +} + +.wp-caption-text { + text-align: center; +} + +.alignright .wp-caption-text, +.alignleft .wp-caption-text { + text-align: left; + margin-bottom: 0; +} + +/*-------------------------------------------------------------- +## Galleries +--------------------------------------------------------------*/ +.gallery:before, +.gallery:after { + content: ""; + display: table; +} +.gallery:after { + clear: both; +} +.gallery { + margin-bottom: 0; +} +.gallery-item { + /*float: left;*/ + display: inline-block; + text-align: center; + vertical-align: top; + width: 100%; +} +.gallery:not(gallery-columns-1) .gallery-item { + margin-right: 2%; + margin-bottom: 2%; +} +.gallery-columns-2 .gallery-item { + max-width: 49%; +} +.gallery-columns-3 .gallery-item { + max-width: 32%; +} +.gallery-columns-4 .gallery-item { + max-width: 23.4%; +} +.gallery-columns-5 .gallery-item { + max-width: 18.33%; +} +.gallery-columns-6 .gallery-item { + max-width: 15%; +} +.gallery-columns-7 .gallery-item { + max-width: 12.5%; +} +.gallery-columns-8 .gallery-item { + max-width: 10.7%; +} +.gallery-columns-9 .gallery-item { + max-width: 9.33%; +} +.gallery-columns-2 .gallery-item:nth-child(2n), +.gallery-columns-3 .gallery-item:nth-child(3n), +.gallery-columns-4 .gallery-item:nth-child(4n), +.gallery-columns-5 .gallery-item:nth-child(5n), +.gallery-columns-6 .gallery-item:nth-child(6n), +.gallery-columns-7 .gallery-item:nth-child(7n), +.gallery-columns-8 .gallery-item:nth-child(8n), +.gallery-columns-9 .gallery-item:nth-child(9n) { + margin-right: 0; +} +.gallery-caption { + display: block; +} + +/*============================= +COMMON CSS +=============================*/ +iframe { + width: 100%; + height: 100%; +} +.container { + max-width: 1170px; + margin: 0 auto; +} +.section-title { + margin: 0 auto; + font-size: 2.223em; + max-width: 800px; + line-height: 1.5; + text-align: center; +} +.section-desc { + max-width: 800px; + margin: 0 auto; + font-size: 1.112em; + line-height: 1.8; + font-weight: 400; + text-align: center; + color: #353535; +} +.site-content { + min-height: 900px; +} +.no-pageHeader .site-content { + margin-top: 120px; + /*margin-bottom: 120px;*/ +} +.site-header .container, +.speaker-section .container { + max-width: 1440px; +} +.site-header .container { + max-width: 1440px; + display: flex; + flex: 1; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-end; + align-items: center; +} +.entry-header .entry-title { + margin-top: 0; + font-size: 1.3333em; + font-weight: 700; + line-height: 1.3; + margin-bottom: 0; +} +.entry-meta > span { + font-size: 0.6666em; + font-weight: 600; + color: #999; + position: relative; + display: inline-block; + vertical-align: middle; + margin-right: 30px; + text-transform: uppercase; +} +.entry-meta span span, +.entry-meta > span:last-child { + margin-right: 0; +} +.entry-meta > span::after { + content: ""; + width: 6px; + height: 6px; + background: #F2F2F2; + position: absolute; + top: 8px; + right: -20px; + border-radius: 100%; +} +.entry-meta span span:after, +.entry-meta > span:last-child:after { + display: none; +} +.entry-meta span svg { + width: 18px; + vertical-align: middle; + margin-right: 5px; +} +.entry-meta span a { + display: inline-block; + vertical-align: middle; +} +.entry-content { + font-size: 1em; + margin-top: 10px; + margin-bottom: 0; + color: #353535; +} +.entry-content p { + margin-top: 0; + margin-bottom: 20px; + clear: both; +} +.entry-content p:last-child { + margin-bottom: 10px; +} +.entry-content iframe { + min-height: 360px; +} +#secondary .widget-title, +.site-footer .widget-title { + font-size: 1.112em; + margin-top: 0; + margin-bottom: 30px; + font-weight: 700; + border-bottom: 1px solid #e6e6e6; + padding-bottom: 10px; +} +.site-footer .widget-title { + color: #fff; + border-bottom-color: rgba(255,255,255,0.1); +} +.title-wrap { + display: inline-block; +} +.title-wrap::after { + content: ""; + background: #57b9a8; + height: 3px; + width: 70px; + position: absolute; + bottom: -2px; + left: 0; +} +.widget ul { + margin: 0; + padding: 0; + list-style: none; +} +.widget ul ul { + margin-top: 12px; + margin-left: 20px; + padding-top: 12px; + border-top: 1px solid #F0F0F0; +} +.widget ul li { + margin-bottom: 12px; + font-weight: 400; + position: relative; + padding-left: 0; + border-bottom: 1px solid #F0F0F0; + padding-bottom: 12px; + word-break: break-word; +} +.widget ul li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; +} +/*body.home:not(.hasbanner) .site-header + section[class*="-section"] { + margin-top: 0; + }*/ + header.page-header { + text-align: center; + /*min-height: 560px;*/ + background-size: cover !important; + position: relative; + z-index: 1; + padding: 80px 0; + display: flex; + flex: 1; + flex-direction: column; + justify-content: center; + align-items: center; + margin-bottom: 60px; + } + header.page-header:before { + content: ""; + background: rgba(0,0,0,0.5); + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; + } + header.page-header:after { + content: ""; + background: -webkit-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: -moz-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: -ms-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: -o-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; + } + .page-header .container { + margin-top: 80px; + } + .page-header .page-title { + font-size: 3.1111em; + margin: 0 0 5px 0; + font-weight: 700; + color: #fff; + } + + .archive-description { + max-width: 800px; + margin: 0 auto; + } + + .archive-description p { + margin-top: 0; + margin-bottom: 20px; + color: rgba(255,255,255,0.7); + } + + blockquote { + margin: 40px 0; + font-style: italic; + font-weight: 700; + color: #212127; + font-size: 1.2223em; + background-image: url('data:image/svg+xml; utf-8, '); + background-repeat: no-repeat; + background-size: 110px; + background-position: top left; + padding-left: 60px; + padding-top: 40px; + padding-bottom: 10px; + } + blockquote p:last-child { + margin-bottom: 0; + } + blockquote p + span { + display: block; + text-align: center; + font-style: normal; + font-weight: 400; + color: #999; + font-size: 0.8182em; + margin-top: 15px; + } + q { + border-left: 3px solid #57b9a8; + display: inline-block; + padding-left: 25px; + font-style: italic; + margin-bottom: 0; + margin-right: 20px; + font-size: 1.2223em; + font-weight: 700; + float: left; + width: 45%; + line-height: 1.5; + } + q:before, + q:after { + display: none; + } + q p:last-child { + margin-bottom: 0; + } + .highlight { + display: inline-block; + background: #e9e9e9; + padding: 0 5px; + border-radius: 5px; + } + .cat-tags h5 { + margin: 0 0 5px 0; + font-size: 0.5556em; + color: #999; + letter-spacing: 1px; + font-weight: 600; + display: inline-block; + vertical-align: middle; + } + .cat-tags a { + display: inline-block; + vertical-align: middle; + font-weight: 700; + margin: 0 0 5px 3px; + letter-spacing: 1px; + font-size: 0.5556em; + text-transform: uppercase; + color: #353535; + border: 1px solid; + border-radius: 3px; + padding: 2px 7px; + } + .cat-tags a:hover { + background: #57b9a8; + color: #fff; + border-color: #57b9a8; + } + .left { + text-align: left; + } + .center { + text-align: center; + } + .right { + text-align: right; + } + + section[class*="-section"] .widget_text { + text-align: center; + width: 100%; + } + section[class*="-section"] .widget_text .widget-title { + font-size: 2.223em; + max-width: 800px; + margin: 0 auto 15px auto; + } + section[class*="-section"] .widget_text .textwidget { + font-size: 1.112em; + font-weight: 400; + color: #353535; + max-width: 800px; + margin-left: auto; + margin-right: auto; + } + + .edit-link, + .cat-tags { + display: inline-block; + vertical-align: middle; + } + + .entry-footer a.btn-transparent + .edit-link, + .entry-footer .cat-tags + .edit-link { + margin-left: 20px; + } + + .entry-footer .cat-tags + .edit-link { + margin-bottom: 3px; + } + + .edit-link a { + display: inline-block; + vertical-align: middle; + font-size: 0.6666em; + text-transform: uppercase; + font-weight: 700; + letter-spacing: 1px; + background: #57B9A8; + color: #fff; + padding: 0 10px; + border-radius: 3px; + border: 1px solid #57B9A8; + } + + .edit-link a:hover { + background: none; + color: #57b9a8; + } + + body.custom-background .site { + background: #fff; + max-width: 1480px; + margin-left: auto; + margin-right: auto; + box-shadow: 0 0 10px rgba(0,0,0,0.15); + } + + .custom-background header.site-header { + max-width: 1480px; + margin-left: auto; + margin-right: auto; + } + +/*========================= +OWL CAROUSEL +=========================*/ +.owl-theme .owl-nav { + margin-top: 0; +} + +.owl-theme .owl-nav [class*="owl-"] { + background: rgba(255,255,255,0.75); + width: 40px; + height: 40px; + text-align: center; + line-height: 40px; + padding: 0; + border-radius: 100%; + position: absolute; + top: 50%; + left: 0; + margin-top: 0; + margin-bottom: 0; + color: #353535; + text-indent: 50px; + overflow: hidden; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + transform: translateY(-50%); + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; +} + +.owl-theme .owl-nav .owl-next { + left: auto; + right: 0; +} + +.owl-theme .owl-nav [class*="owl-"]:hover { + background: #fff; +} + +.owl-theme .owl-nav [class*="owl-"]::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + background-image: url('data:image/svg+xml; utf-8, '); + background-repeat: no-repeat; + width: 14px; + height: 16px; + bottom: 0; + margin: auto; +} + +.owl-theme .owl-nav .owl-next::before { + background-image: url('data:image/svg+xml; utf-8, '); + width: 11px; +} + +.owl-theme .owl-dots .owl-dot.active span, +.owl-theme .owl-dots .owl-dot:hover span { + background: #57b9a8; +} + + + +/*======================== +BREADCRUMB +========================*/ +.breadcrumb { + font-weight: 400; + font-size: 0.8888em; +} +.page-header .breadcrumb, +.page-header span.separator { + color: rgba(255,255,255,0.5); +} +.breadcrumb a:hover { + text-decoration: underline; +} +span.separator { + display: inline-block; + vertical-align: middle; + margin: 0 10px; + color: #707171; +} +.breadcrumb .current a { + color: #57b9a8; + pointer-events: none; + cursor: default; +} + +/*======================== +PAGINATION +========================*/ +.navigation.pagination { + margin-top: 60px; + text-align: center; +} + +.site-main .post-navigation { + border-top: 1px solid #e6e6e6; + padding-top: 60px; + margin-top: 60px; + margin-bottom: 0; +} + +.post-navigation .nav-previous a { + display: block; + position: relative; + padding-left: 30px; +} + +.post-navigation .nav-next a { + position: relative; + display: table; + clear: both; + float: right; + padding-right: 30px; +} + +.post-navigation a .meta-nav { + display: block; + font-size: 0.6666em; + font-weight: 700; + letter-spacing: 1px; + color: #999; + text-transform: uppercase; +} + +.post-navigation a .meta-nav svg { + font-size: 1.333em; + font-weight: 400; + vertical-align: middle; + margin-right: 10px; + position: absolute; + top: 3px; + left: 0; +} + +.post-navigation .nav-next a .meta-nav svg { + margin-right: 0; + margin-left: 10px; + left: auto; + right: 0; +} + +.post-navigation a .post-title { + font-size: 1em; + font-weight: 600; + margin-bottom: 0; + width: 90%; + display: block; + line-height: 1.3; + margin-top: 5px; +} + +.post-navigation .nav-next a .post-title { + float: right; +} + +.posts-navigation { + margin-top: 60px; +} + +.posts-navigation .nav-links:before, +.posts-navigation .nav-links:after { + content: ""; + display: table; + line-height: 0; +} + +.posts-navigation .nav-links:after { + clear: both; +} + +.posts-navigation .nav-links a { + display: inline-block; + color: #000; + text-transform: uppercase; + font-weight: 700; + font-size: 0.6666em; + letter-spacing: 1px; + position: relative; + border: 1px solid rgba(0,0,0,0.15); + padding: 15px 50px 15px 20px; + border-radius: 5px; +} + +.posts-navigation .nav-links .nav-previous a { + padding-right: 20px; + padding-left: 50px; +} + +.posts-navigation .nav-links a:hover { + border-color: #57b9a8; + background: #57b9a8; + color: #fff; +} + +.posts-navigation .nav-links a::before { + content: "\279d"; + font-size: 2.1em; + line-height: 1; + position: absolute; + top: 14px; + right: 20px; +} + +.posts-navigation .nav-links .nav-previous a::before { + right: auto; + left: 20px; + top: 13px; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + transform: rotate(180deg); +} + +/*======================== +SIDEBARS +========================*/ +body:not([class*="page-template-"]) #primary { + margin-bottom: 100px; +} +.rightsidebar #primary { + float: left; + width: 72%; + padding-right: 70px; +} +.leftsidebar #primary { + float: right; + width: 72%; + padding-left: 70px; +} +.rightsidebar #secondary, +.leftsidebar #secondary { + float: left; + width: 28%; + margin-bottom: 100px; +} + +.full-width-centered .site-main, +.error404 .site-main { + max-width: 780px; + margin-left: auto; + margin-right: auto; +} + +/*======================== +SITE HEADER +=========================*/ +body.home.blog .site { + padding-top: 0 !important; +} +header.site-header { + /* position: absolute; */ + background-color: #212127; + left: 0; + right: 0; + top: 0; + z-index: 999; + border-bottom: 1px solid rgba(255,255,255,0.3); + padding-top: 20px; + padding-bottom: 20px; +} +.site-header.sticky-menu.menu-stick, +body.home:not(.hasbanner) header.site-header { + background: rgba(13,45,98,0.85); +} +.admin-bar header.site-header { + top: 32px; +} +body.home header.site-header { + border-bottom-color: rgba(255,255,255,0.1); +} +.site-header.sticky-menu { + position: fixed; + z-index: 9999; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; +} +.site-branding { + display: flex; + flex: auto; +} +.site-branding:not(.logo-with-site-identity) .site-logo + .site-title-wrap { + display: none; +} +.site-title { + font-size: 23px; + color: #fff; + margin: 0; + font-weight: 700; +} +.site-title a { + color: #fff; +} +.site-description { + font-size: 14px; + font-weight: 400; + color: #eee; + margin: 0; +} + +.site-logo + .site-title-wrap { + padding-left: 20px; +} +body > .nav-wrap, +button.toggle-btn { + display: none; +} +.site-header .nav-wrap { + display: flex; + flex: auto; + justify-content: flex-end; + align-items: center; +} +.main-navigation button.toggle-button { + display: none; +} +.main-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.main-navigation ul li { + display: inline-block; + vertical-align: middle; + font-weight: 700; + font-size: 0.778em; + text-transform: capitalize; + position: relative; + letter-spacing: 1; +} +.nav-wrap .nav-btn a { + font-weight: 600; + padding-left: 25px; +} +.single .main-navigation ul li { + margin-bottom: 0; + padding-left: 0; +} +.main-navigation ul li:before { + display: none; +} +.main-navigation ul li a { + display: inline-block; + vertical-align: middle; + padding: 25px; + color: #fff; +} +.main-navigation ul li a:hover, +.main-navigation ul li:hover > a, +.main-navigation ul li.current-menu-item > a, +.main-navigation ul li.current_page_item > a { + color: #57B9A8; +} +.main-navigation ul li ul { + position: absolute; + top: 120%; + left: 0; + width: 270px; + text-align: left; + opacity: 0; + visibility: hidden; + -webkit-transition: all ease 0.4s; + -moz-transition: all ease 0.4s; + transition: all ease 0.4s; +} +.main-navigation ul.nav-menu > li:nth-last-of-type(1) ul, +.main-navigation ul.nav-menu > li:nth-last-of-type(2) ul { + left: auto; + right: 0; +} +.main-navigation ul li:hover > ul, +.main-navigation ul li.hover > ul { + top: 100%; + opacity: 1; + filter: alpha(opacity=100); + visibility: visible; + z-index: 999; +} +.main-navigation ul li ul ul { + top: 0; + left: 110%; + padding-left: 15px; +} +.main-navigation ul.nav-menu > li:nth-last-of-type(1) ul ul, +.main-navigation ul.nav-menu > li:nth-last-of-type(2) ul ul { + left: auto; + right: 110%; + padding-left: 0; + padding-right: 15px; +} +.main-navigation ul li ul li:hover ul { + top: 0; + left: 100%; +} +.main-navigation ul.nav-menu > li:nth-last-of-type(1) ul li:hover ul, +.main-navigation ul.nav-menu > li:nth-last-of-type(2) ul li:hover ul { + left: auto; + right: 100%; +} +.main-navigation ul li ul:before { + content: ""; + border-bottom: 12px solid #57B9A8; + border-right: 15px solid transparent; + position: absolute; + top: -12px; + left: 60px; +} +.main-navigation ul.nav-menu > li:nth-last-of-type(1) ul:before, +.main-navigation ul.nav-menu > li:nth-last-of-type(2) ul:before { + left: auto; + right: 60px; + border-right: none; + border-left: 15px solid transparent; +} +.main-navigation ul li ul li ul:before { + border-top: 15px solid transparent; + border-right: 12px solid #57B9A8; + top: 20px; + left: 3px; + border-bottom: none; +} +.main-navigation ul.nav-menu > li:nth-last-of-type(1) ul ul:before, +.main-navigation ul.nav-menu > li:nth-last-of-type(2) ul ul:before { + left: auto; + right: 3px; + border-left: 12px solid #57B9A8; +} +.main-navigation ul li ul li { + display: block; + background: #57B9A8; + font-size: 1em; +} +.main-navigation ul li ul li a { + padding-top: 15px; + padding-bottom: 15px; + border-bottom: 1px solid rgba(0,0,0,0.1); + display: block; + color: #fff; +} +.main-navigation ul ul.sub-menu li a:hover, +.main-navigation ul ul.sub-menu li:hover > a, +.main-navigation ul ul.sub-menu li.current-menu-item a, +.main-navigation ul ul.sub-menu li.current_page_item a { + color: #fff; + background: rgba(0,0,0,0.1); +} + +.nav-wrap .nav-btn a { + border: 2px solid #57B9A8; + border-radius: 5px; + padding: 15px 30px; + line-height: 1; + display: inline-block; + color: #fff; + background: #57B9A8; + font-size: 0.778em; + font-weight: 700; + letter-spacing: 1px; +} +.nav-wrap .nav-btn a:hover { + background: transparent; + color: #57b9a8; +} + +/*======================= +SITE BANNER +=======================*/ +.site-banner { + position: relative; +} +.site-banner img { + width: 100vw; + height: 100vh; + object-fit: cover; +} +.site-banner.video-banner .item { + overflow: hidden; + height: 56.25%; +} + +.site-banner .item { + position: relative; +} +.site-banner .item img { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 70vh; +} +.banner-caption { + position: relative; + top: 0; + left: 0; + background: -webkit-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: -moz-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: -ms-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: -o-linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + background: linear-gradient(rgba(87,185,168,0.8), rgba(13,45,98,0.8)); + width: 100%; + height: 70vh; + z-index: 1; + padding-bottom: 10px; +} +.video-banner .banner-caption { + background: -webkit-linear-gradient( rgba(87, 185, 168, 0.5), rgba(13, 45, 98, 0.5)); + background: -moz-linear-gradient( rgba(87, 185, 168, 0.5), rgba(13, 45, 98, 0.5)); + background: -ms-linear-gradient( rgba(87, 185, 168, 0.5), rgba(13, 45, 98, 0.5)); + background: -o-linear-gradient( rgba(87, 185, 168, 0.5), rgba(13, 45, 98, 0.5)); + background: linear-gradient( rgba(87, 185, 168, 0.5), rgba(13, 45, 98, 0.5)); +} +.banner-caption::before { + content: ""; + background: rgba(0,0,0,0.5); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} +.video-banner .banner-caption:before { + background: rgba(0,0,0,0.2); +} +.banner-caption .container { + /*position: absolute; + top: 50%; + left: 0; + right: 0; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + transform: translateY(-50%);*/ + text-align: center; + display: flex; + flex-direction: column; + justify-content: center; + align-self: center; + height: 100%; + flex: 1; + margin-top: 60px; +} +.banner-caption .banner-title { + margin: 0 auto; + color: #fff; + font-size: 4.1667em; + font-weight: 700; + line-height: 1.2; + width: 100%; +} +.banner-caption .banner-desc { + font-weight: 600; + color: #fff; + letter-spacing: 0.8px; + font-size: 1.223em; + margin: 10px 0 0 0; +} +.banner-caption .btn-wrap { + margin-top: 70px; +} +.banner-caption .banner-countdown { + width: 90%; + margin: 80px auto 0 auto; + padding: 0; + display: flex; + /*flex: 1;*/ + justify-content: center; + flex-flow: row wrap; +} +.countdown-wrap { + display: flex; + width: 130px; + color: #fff; + padding: 0 30px; + position: relative; + flex: auto; + flex-direction: column; + justify-content: center; + background: rgba(0,0,0,0.5); + border-radius: 5px; + min-height: 160px; + margin-right: 10%; +} +.countdown-wrap:last-child { + margin-right: 0; +} +.countdown-wrap::before, +.countdown-wrap::after { + content: ""; + background: rgba(255,255,255,0.75); + width: 8px; + height: 8px; + border-radius: 100%; + position: absolute; + top: 45%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + transform: translateY(-50%); + right: -50px; +} +.countdown-wrap::after { + top: 55%; +} +.countdown-wrap:last-child::before, +.countdown-wrap:last-child::after { + display: none; +} +.countdown-wrap span { + font-size: 3.4446em; + font-weight: 700; + display: table; + line-height: 1; + margin-bottom: 10px; + border-bottom: 2px solid rgba(255,255,255,0.2); + padding-bottom: 10px; + margin-left: auto; + margin-right: auto; +} +.countdown-wrap .smalltext { + font-size: 1em; + font-weight: 400; + line-height: 1.2; +} +a.btn-transparent, +.btn-readmore { + display: inline-block; + vertical-align: middle; + color: #57b9a8; + font-weight: 700; + letter-spacing: 1px; + text-align: center; + font-size: 0.778em; + padding: 17px 40px; + border: 2px solid #57b9a8; + border-radius: 5px; +} +.site-banner .btn-readmore { + color: #fff; +} +.site-banner a.btn-transparent { + color: #fff; + border-color: #fff; +} +a.btn-transparent:hover, +.btn-readmore:hover { + background: #57b9a8; + color: #fff; +} +.site-banner a.btn-transparent:hover { + border-color: #57b9a8; +} +a.btn-filled { + display: inline-block; + vertical-align: middle; + color: #fff; + font-size: 0.778em; + font-weight: 700; + letter-spacing: 1px; + padding: 17px 40px; + background: #57b9a8; + border-radius: 5px; + border: 2px solid #57b9a8; +} +a.btn-filled:hover { + background: transparent; + color: #fff; + border-color: #fff; +} +a.btn-filled:focus{ + outline: thin dotted #000; + outline-offset: 2px; +} +.btn-wrap a + a { + margin-left: 20px; +} +a.btn-transparent svg, +.btn-readmore svg { + margin-left: 7px; +} +.scroll-down { + display: inline-block; + width: 25px; + height: 40px; + border: 2px solid rgba(255,255,255,0.8); + position: absolute; + bottom: 50px; + left: 0; + right: 0; + margin: 0 auto; + border-radius: 40px; + z-index: 9; + cursor: pointer; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; +} +.scroll-down:hover { + border-color: #fff; +} +.scroll-down::before { + content: ""; + background: #fff; + width: 4px; + height: 6px; + position: absolute; + top: 10px; + right: 0; + left: 0; + margin: 0 auto; + border-radius: 10px; +} + +.wp-custom-header .wp-custom-header-video-button { + border: 0; + color: rgba(255, 255, 255, 0.6); + height: 45px; + line-height: 50px; + overflow: hidden; + padding: 0; + position: absolute; + right: 30px; + bottom: 30px; + -webkit-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out; + transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out; + width: 45px; + z-index: 9999; + background: rgba(255, 255, 255, 0.5); + +} + +.wp-custom-header .wp-custom-header-video-button svg { + width: 18px; + height: 18px; +} + +.banner-caption.newsletter-banner .container { + max-width: 1440px; +} + + +/*============================= +ABOUT SECTION +=============================*/ +section.about-section { + margin-top: 100px; + margin-bottom: 100px; +} +section.about-section .widget-title { + font-size: 2em; +} + +section[class*="-section"] .widget:last-child { + margin-bottom: 0; +} + +/*============================== +COUNTER SECTION +==============================*/ +section.counter-section { + padding-top: 100px; + padding-bottom: 140px; + text-align: center; + background-size: cover; + position: relative; + z-index: 1; +} +section.counter-section:before { + content: ""; + background: -webkit-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -moz-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -ms-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -o-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} +.counter-section .container { + display: flex; + flex: 1; + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + justify-content: space-around; + max-width: 100%; +} + +/*============================== +RECENT CONFERENCE SECTION +==============================*/ +section.recent-the-conference-section { + max-width: 1440px; + margin-left: auto; + margin-right: auto; + position: relative; + box-shadow: 0 0px 21px rgba(0,0,0,0.07); + padding-top: 0; + padding-bottom: 100px; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + z-index: 999; +} + +section.recent-the-conference-section:before { + content: ""; + background: #fff; + width: 100%; + height: 100px; + position: absolute; + top: -100px; + left: 0; + box-shadow: 0 -15px 21px rgba(0,0,0,0.07); + z-index: 9; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} + +section[class*="-section"] .widget_rrtc_icon_text_widget { + text-align: left; + margin-bottom: 40px; +} + +section[class*="-section"] .widget_rrtc_icon_text_widget .rtc-itw-inner-holder { + flex-direction: row; + /*align-items: center;*/ +} + +section[class*="-section"] .widget_rrtc_icon_text_widget:nth-child(2n) .rtc-itw-inner-holder { + flex-direction: row-reverse; +} + +section[class*="-section"] .widget_rrtc_icon_text_widget .text-holder { + width: 50%; + margin-top: 0; + padding-left: 60px; + display: flex; + flex: 1; + flex-direction: column; + align-self: center; + align-items: flex-start; +} + +section[class*="-section"] .widget_rrtc_icon_text_widget:nth-child(2n) .text-holder { + padding-left: 0; + padding-right: 60px; +} + +section[class*="-section"] .widget_rrtc_icon_text_widget .icon-holder { + width: 50%; + background: #57B9A8; + text-align: center; + font-size: 5em; + color: #fff; + border-radius: 5px; + overflow: hidden; + display: flex; + flex: 1; + justify-content: center; + align-items: center; + flex-direction: column; +} + +section[class*="-section"] .widget_rrtc_icon_text_widget .icon-holder img { + border-radius: 5px; +} + +/*============================== +SPEAKERS SECTION +==============================*/ +.speakers-section { + margin: 100px 0 70px 0; +} + +.speakers-section .container, +.page-template-speaker .site-main { + display: flex; + flex: 1; + flex-flow: row wrap; +} + +section[class*="-section"] .widget_rrtc_description_widget, +.page-template-speaker .site-main .widget_rrtc_description_widget { + margin: 0 1.25% 30px 1.25%; + width: 30.8%; +} + +section[class*="-section"] .widget_rrtc_description_widget:last-child, +.page-template-speaker .site-main .widget_rrtc_description_widget:last-child { + margin-bottom: 30px; +} + +/*=================================== +RARATHEME COMPANION DESCRIPTION +===================================*/ +.widget_rrtc_description_widget, +.widget_rrtc_description_widget .rtc-team-holder { + position: relative; +} + +.widget_rrtc_description_widget { + border-radius: 5px; + overflow: hidden; +} + +.widget_rrtc_description_widget .rtc-team-inner-holder .text-holder { + background: -webkit-linear-gradient(transparent, rgba(0,0,0,0.85) 80%); + background: -moz-linear-gradient(transparent, rgba(0,0,0,0.85) 80%); + background: -ms-linear-gradient(transparent, rgba(0,0,0,0.85) 80%); + background: -o-linear-gradient(transparent, rgba(0,0,0,0.85) 80%); + position: absolute; + bottom: 0; + left: 0; + right: 0; + padding: 80px 30px 30px 30px; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; +} + +.widget_rrtc_description_widget:hover .rtc-team-inner-holder .text-holder { + opacity: 0; + visibility: hidden; +} + +.widget_rrtc_description_widget .name { + font-size: 1.3333em; + color: #fff; + margin: 0; + font-weight: 700; + line-height: 1.2; + display: block; +} + +.widget_rrtc_description_widget .designation { + display: block; + font-size: 1em; + color: rgba(255,255,255,0.75); + margin: 5px 0 0 0px; + font-weight: 400; + line-height: 1.2; +} + +.widget_rrtc_description_widget .rtc-team-inner-holder .description, +.widget_rrtc_description_widget .rtc-team-inner-holder .social-profile, +.widget_rrtc_description_widget .rtc-team-holder-modal .image-holder, +.widget_rrtc_description_widget .rtc-team-holder-modal .close_popup, +.widget_rrtc_description_widget .social-profile li:before { + display: none; +} + +.widget_rrtc_description_widget .rtc-team-holder-modal { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: -webkit-linear-gradient(rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -moz-linear-gradient(rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -ms-linear-gradient(rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -o-linear-gradient(rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: linear-gradient(rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + z-index: 99; + padding: 30px; + display: flex; + flex: 1; + flex-direction: column; + justify-content: center; + opacity: 0; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; +} + +.widget_rrtc_description_widget:hover .rtc-team-holder-modal, +.widget_rrtc_description_widget.hover .rtc-team-holder-modal { + opacity: 1; + filter: alpha(opacity=100); +} + +.widget_rrtc_description_widget .rtc-team-inner-holder-modal { + position: relative; + left: -30px; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; +} + +.widget_rrtc_description_widget:hover .rtc-team-inner-holder-modal, +.widget_rrtc_description_widget.hover .rtc-team-inner-holder-modal { + left: 0; +} + +.widget_rrtc_description_widget .description { + font-size: 0.8888em; + color: #fff; + font-weight: 400; + line-height: 1.65; + margin-top: 15px; + height: 185px; + overflow: auto; + position: relative; + padding-right: 15px; +} + +.ps--active-x > .ps__rail-x, .ps--active-y > .ps__rail-y { + background: rgba(0,0,0,0.4); + border-radius: 50px; + width: 7px; +} + +.ps .ps__rail-x:hover, +.ps .ps__rail-y:hover, +.ps .ps__rail-x:focus, +.ps .ps__rail-y:focus, +.ps .ps__rail-x.ps--clicking, +.ps .ps__rail-y.ps--clicking { + background: rgba(0,0,0,0.4); +} + +.ps__thumb-y { + background-color: rgba(255,255,255,0.5); + width: 5px; + right: 1px; +} + +.ps__rail-y:hover > .ps__thumb-y, +.ps__rail-y:focus > .ps__thumb-y, +.ps__rail-y.ps--clicking .ps__thumb-y { + width: 5px; + background-color: rgba(255,255,255,0.8); +} + +.widget_rrtc_description_widget .social-profile { + margin-top: 20px; +} + +.widget_rrtc_description_widget .social-profile li { + margin: 0; + padding: 0; + display: inline-block; + font-size: 1.112em; + letter-spacing: 0; + line-height: 1; + border-bottom: none; +} + +.widget_rrtc_description_widget .social-profile li a { + color: #fff; + display: inline-block; + padding: 10px; +} + +.widget_rrtc_description_widget .social-profile li:first-child a { + padding-left: 0; +} + +.widget_rrtc_description_widget .social-profile li:last-child a { + padding-right: 0; +} + +.widget_rrtc_description_widget .social-profile li a:hover { + color: rgba(255,255,255,0.75); +} + +.btn-wrap a.btn-filled:hover { + background: none; + border-color: #57b9a8; + color: #57b9a8; +} + +/*============================== +TESTIMONIAL SECTION +==============================*/ +section.testimonial-section { + margin-top: 100px; + margin-bottom: 60px; + text-align: center; +} +.testimonial-section .widget-title { + margin-bottom: 10px; +} +.testimonial-wdgt-wrap { + text-align: left; + display: flex; + flex: 1; + flex-flow: row wrap; +} +.testimonial-wdgt-wrap .widget_text { + text-align: center; + width: 100%; +} +.testimonial-wdgt-wrap .widget_rrtc_testimonial_widget { + width: 47.33%; + margin-bottom: 40px; + display: flex; + vertical-align: top; + padding-left: 50px; + margin-left: 1%; + margin-right: 1%; +} +section[class*="-section"] .widget_rrtc_testimonial_widget:last-child { + margin-bottom: 40px; +} +#secondary .widget_rrtc_testimonial_widget { + padding-left: 35px; +} +.widget_rrtc_testimonial_widget .rtc-testimonial-holder { + position: relative; + box-shadow: 0 0 30px rgba(0,0,0,0.05); + padding: 30px; + border: 1px solid #E6E6E6; + border-radius: 5px; +} +#secondary .widget_rrtc_testimonial_widget .rtc-testimonial-holder { + padding: 20px; +} +.rtc-testimonial-inner-holder:before, +.rtc-testimonial-inner-holder:after { + content: ""; + display: table; +} +.rtc-testimonial-inner-holder:after { + clear: both; +} +.rtc-testimonial-holder .img-holder { + border-radius: 100%; + overflow: hidden; + width: 90px; + height: 90px; + position: absolute; + top: 35px; + left: -50px; +} +#secondary .rtc-testimonial-holder .img-holder { + width: 75px; + height: 75px; + left: -35px; +} +.rtc-testimonial-holder .img-holder::before { + content: ""; + border: 6px solid rgba(242,242,242,0.5); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border-radius: 100%; +} +.rtc-testimonial-holder .text-holder { + display: flex; + flex-direction: column; + padding-left: 50px; +} +#secondary .rtc-testimonial-holder .text-holder { + padding-left: 40px; +} +.rtc-testimonial-holder .testimonial-meta { + order: 2; +} +.rtc-testimonial-holder .testimonial-content p { + margin: 0 0 15px 0; + line-height: 1.7; +} +.rtc-testimonial-holder .testimonial-meta span.name { + display: block; + text-transform: uppercase; + font-weight: 700; + line-height: 1.3; +} +.rtc-testimonial-holder .testimonial-meta span.designation { + font-size: 0.8888em; + font-weight: 400; + color: #999999; + line-height: 1.5; +} + +.testimonial-section .btn-wrap a.btn-filled:hover { + background: transparent; + border-color: #57b9a8; + color: #57b9a8; +} + +/*============================ +CTA TIMER SECTION +============================*/ +.ctatimer-section { + background-size: cover !important; + padding: 120px 0; + text-align: center; + position: relative; + z-index: 1; +} +.ctatimer-section:before { + content: ""; + background: -webkit-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -moz-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -ms-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: -o-linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + background: linear-gradient(135deg, rgba(87,185,168,0.9), rgba(13,45,98,0.9)); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + opacity: 0.95; + filter: alpha(opacity=95); +} +.ctatimer-section .section-title, +.ctatimer-section .section-desc { + color: #fff; +} +.ctatimer-section .ctaTimer-countdown { + width: 90%; + margin: 60px auto 0 auto; +} +.ctaTimer-countdown:before, +.ctaTimer-countdown:after { + content: ""; + display: table; +} +.ctaTimer-countdown:after { + clear: both; +} +.ctaTimer-countdown p, +.banner-caption .banner-countdown p { + margin: 0; + border-left: 5px solid #cc444d; + color: #cc444d; + font-size: 1.112em; + font-style: italic; + display: inline-block; + padding: 5px 40px 5px 20px; + background: rgba(255,255,255,0.85); + text-align: left; +} +.ctaTimer-countdown .countdown-wrap { + float: left; + width: 17.33%; + text-align: center; +} +.ctatimer-section .btn-wrap { + margin-top: 60px; +} +.ctatimer-section a.btn-filled { + background: #fff; + color: #57b9a8; + border-color: #fff; + padding-top: 15px; + padding-bottom: 15px; +} +.ctatimer-section a.btn-filled:hover { + background: transparent; + color: #fff; + border-color: #fff; +} + +/*============================== +CTA SECTION +==============================*/ +section.cta-section { + margin-top: 100px; + margin-bottom: 40px; +} + +.cta-section .container { + display: flex; + flex: 1; + flex-flow: row wrap; + justify-content: center; +} + +.cta-section .widget { + width: 48.33%; + margin-right: 3%; + display: flex; + margin-bottom: 60px; +} + +.cta-section .widget:nth-child(2n) { + margin-right: 0; +} + +section.cta-section .widget:last-child { + margin-bottom: 60px; +} + +.cta-section .active-widget-1 .widget { + width: 100%; + margin-right: 0; +} + + + + +.btn-cta { + display: inline-block; + vertical-align: middle; + color: #57b9a8; + font-size: 0.778em; + font-weight: 700; + letter-spacing: 1px; + padding: 15px 40px; + background: #fff; + border-radius: 5px; + border: 2px solid #fff; + text-align: center; +} + +.btn-cta + .btn-cta { + margin-left: 10px; +} + + + +.btn-cta:hover { + background: transparent; + color: #fff; +} + +.widget .centered { + text-align: center; +} + +/*============================ +BLOG SECTION +============================*/ +.portfolio-holder { + margin-bottom: 60px; +} + +.blog-section { + border-top: 1px solid #e6e6e6; + margin-top: 60px; + margin-bottom: 100px; + padding-top: 100px; + text-align: center; +} + +.blog-section .article-wrap { + margin-top: 60px; + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-gap: 30px; +} + +.blog-section .article-wrap article { + border: 1px solid #E6E6E6; + border-radius: 5px; + /*overflow: hidden;*/ + box-shadow: 0 0 20px rgba(0,0,0,0.05); +} + +.blog-section article .post-thumbnail { + position: relative; +} + +.post-thumbnail span.category { + position: absolute; + bottom: 15px; + left: 15px; + height: auto; +} + +span.category { + font-size: 0.6666em; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 1px; + line-height: 1; +} + +span.category a { + display: inline-block; + background: #57b9a8; + color: #fff; + vertical-align: top; + padding: 7px 10px; + border-radius: 3px; + margin-right: 5px; + margin-top: 5px; +} + +span.category a:last-child { + margin-right: 0; +} + +span.category a:hover { + background: #fff; + color: #57b9a8; +} +span.category a:focus{ + outline: thin dotted #fff; + outline-offset: -2px; +} +.blog-section article .entry-header { + padding: 40px; + text-align: left; +} +.blog-section .entry-header .entry-title { + font-size: 1.112em; + margin-top: 10px; + line-height: 1.3; +} +.blog-section .btn-wrap { + margin-top: 60px; +} + +/*============================= +CONTACT FORM SECTION +=============================*/ +.contact-form-section .container { + max-width: 1440px; + background: #fff; + border-radius: 5px 5px 0 0; + box-shadow: 0 0 21px rgba(0,0,0,0.07); + width: 100%; + padding: 100px 0 0 0; + position: relative; + z-index: 2; + display: flex; + flex: 1; + flex-flow: row wrap; + justify-content: center; + align-items: flex-start; +} + +.contact-form-section .container::after { + content: ""; + background: #fff; + width: 100%; + height: 100px; + position: absolute; + bottom: -100px; + left: 0; + right: 0; + border-radius: 0 0 5px 5px; + box-shadow: 0px 15px 21px rgba(0,0,0,0.07); + display: block; + z-index: -1; +} + +.contact-form-section .content-wrap { + max-width: 1170px; + margin-left: auto; + margin-right: auto; + margin-top: 60px; +} + +section.contact-form-section .widget { + width: 45%; + text-align: left; + margin-bottom: 0; + margin-top: 60px; + padding-right: 60px; +} + +section.contact-form-section .widget_text:first-child { + width: 100%; + text-align: center; + margin-top: 0; + padding-right: 0; +} + +section.contact-form-section .widget:not(:first-child) .widget-title { + font-size: 1.6667em; +} + +section.contact-form-section .widget_text .textwidget, +.rtc-contact-widget-wrap p { + font-size: 1em; +} + +.wpcf7-form p:nth-last-of-type(1) { + margin-bottom: 0; +} + +section.contact-form-section .widget_rtc_contact_social_links { + width: 35%; + padding: 50px; + box-shadow: 0 0 20px rgba(0,0,0,0.05); + border-radius: 5px; +} + +.contact-info ul.contact-list li { + border-bottom: none; + padding-bottom: 0; + margin-bottom: 20px; +} + +.contact-info ul.contact-list li svg { + color: #57B9A8; +} + +.contact-form-section .widget_rtc_contact_social_links .widget-title { + border-bottom: 1px solid #e6e6e6; + padding-bottom: 10px; +} + +.widget_rtc_contact_social_links .social-networks { + border-top: 1px solid #e6e6e6; + padding-top: 20px; + margin-top: 20px +} + +.site-footer .widget_rtc_contact_social_links .social-networks { + border-top-color: rgba(255,255,255,0.2); +} + +.widget .social-networks li, +.top-footer .widget .social-networks li { + display: inline-block; + vertical-align: middle; + padding: 5px 3px; + line-height: 1; + margin-bottom: 0; +} + +.social-networks li a { + display: inline-block; + width: 40px; + height: 40px; + background: #57b9a8; + border: 1px solid #57b9a8; + color: #fff; + text-align: center; + line-height: 40px; + border-radius: 5px; +} + +.social-networks li a:hover { + background: none; + color: #57b9a8; +} + +.social-networks li a[href*="facebook.com"] { + background: #3b5998; + border: 1px solid #3b5998; +} +.social-networks li a[href*="facebook.com"]:hover { + background: none; + color: #3b5998; +} +.social-networks li a[href*="twitter.com"] { + background: #00aced; + border: 1px solid #00aced; +} +.social-networks li a[href*="twitter.com"]:hover { + background: none; + color: #00aced; +} +.social-networks li a[href*="instagram.com"] { + background: #3f729b; + border: 1px solid #3f729b; +} +.social-networks li a[href*="instagram.com"]:hover { + background: none; + color: #3f729b; +} +.social-networks li a[href*="plus.google.com"] { + background: #dd4b39; + border: 1px solid #dd4b39; +} +.social-networks li a[href*="plus.google.com"]:hover { + background: none; + color: #dd4b39; +} +.social-networks li a[href*="pinterest.com"] { + background: #cb2128; + border: 1px solid #cd2128; +} +.social-networks li a[href*="pinterest.com"]:hover { + background: none; + color: #cd2128; +} +.social-networks li a[href*="linkedin.com"] { + background: #007fb1; + border: 1px solid #007fb1; +} +.social-networks li a[href*="linkedin.com"]:hover { + background: none; + color: #007fb1; +} +.social-networks li a[href*="youtube.com"] { + background: #ff3333; + border: 1px solid #ff3333; +} +.social-networks li a[href*="youtube.com"]:hover { + background: none; + color: #ff3333; +} +.social-networks li a[href*="vimeo.com"] { + background: #1ab7ea; + border: 1px solid #1ab7ea; +} +.social-networks li a[href*="vimeo.com"]:hover { + background: none; + color: #1ab7ea; +} +.social-networks li a[href*="dribbble.com"] { + background: #ea4c89; + border: 1px solid #ea4c89; +} +.social-networks li a[href*="dribbble.com"]:hover { + background: none; + color: #ea4c89; +} +.social-networks li a[href*="foursquare.com"] { + background: #0072b1; + border: 1px solid #0072b1; +} +.social-networks li a[href*="foursquare.com"]:hover { + background: none; + color: #0072b1; +} +.social-networks li a[href*="flickr.com"] { + background: #0063db; + border: 1px solid #0063db; +} +.social-networks li a[href*="flickr.com"]:hover { + background: none; + color: #0063db; +} +.social-networks li a[href*="reddit.com"] { + background: #000000; + border: 1px solid #000000; +} +.social-networks li a[href*="reddit.com"]:hover { + background: none; + color: #000000; +} +.social-networks li a[href*="skype.com"] { + background: #26ade3; + border: 1px solid #26ade3; +} +.social-networks li a[href*="skype.com"]:hover { + background: none; + color: #26ade3; +} +.social-networks li a[href*="stumbleupon.com"] { + background: #ea4b24; + border: 1px solid #ea4b24; +} +.social-networks li a[href*="stumbleupon.com"]:hover { + background: none; + color: #ea4b24; +} +.social-networks li a[href*="tumblr.com"] { + background: #2c4762; + border: 1px solid #2c4762; +} +.social-networks li a[href*="tumblr.com"]:hover { + background: none; + color: #2c4762; +} +.social-networks li a[href*="ok.ru"] { + background: #f38231; + border: 1px solid #f38231; +} +.social-networks li a[href*="ok.ru"]:hover { + background: none; + color: #f38231; +} +.social-networks li a[href*="vk.com"] { + background: #4e76a1; + border: 1px solid #4e76a1; +} +.social-networks li a[href*="vk.com"]:hover { + background: none; + color: #4e76a1; +} +.social-networks li a[href*="xing.com"] { + background: #006565; + border: 1px solid #006565; +} + +.social-networks li a[href*="xing.com"]:hover { + background: none; + color: #006565; +} + +/*============================= +MAP SECTION +=============================*/ +section.contact-form-section + section.map-section .widget .widget-title { + margin-top: 200px; +} + +section.map-section .widget .textwidget { + max-width: 100%; + height: 700px; +} + +section.map-section .widget .widget-title + .textwidget { + height: 500px; +} + +/*============================ +VENUE PAGE SECTION +============================*/ +section.feat-page-section { + margin-top: 100px; +} +section.feat-page-section .widget:last-child { + margin-bottom: 0; +} +.feat-page-section .widget-featured-holder { + display: flex; + flex: 1; + flex-direction: row; +} +section.feat-page-section .widget .widget-featured-holder .text-holder { + order: 2; + padding-right: 0; + padding-left: 50px; +} +.feat-page-section .widget-title { + margin-bottom: 0; +} + +.feat-page-section ul { + font-size: 16px; +} + +/*=============================== +NEWSLETTER SECTION +===============================*/ +section[class*="-section"] .blossomthemes-email-newsletter-wrapper { + padding: 100px 0; +} + +.contact-form-section + .newsletter-section .blossomthemes-email-newsletter-wrapper { + padding-top: 200px; +} + +section.newsletter-section.gradient-enabled .blossomthemes-email-newsletter-wrapper { + background: -webkit-linear-gradient( 90deg, rgba(87, 185, 168, 1), rgba(13, 45, 98, 1) 85%) !important; + background: -moz-linear-gradient( 90deg, rgba(87, 185, 168, 1), rgba(13, 45, 98, 1) 85%) !important; + background: -ms-linear-gradient( 90deg, rgba(87, 185, 168, 1), rgba(13, 45, 98, 1) 85%) !important; + background: -o-linear-gradient( 90deg, rgba(87, 185, 168, 1), rgba(13, 45, 98, 1) 85%) !important; + background: linear-gradient( 90deg, rgba(87, 185, 168, 1), rgba(13, 45, 98, 1) 85%) !important; +} + +section.newsletter-section.gradient-enabled .blossomthemes-email-newsletter-wrapper.bg-img:after { + display: none; +} + +.blossomthemes-email-newsletter-wrapper .newsletter-wrap-inner { + max-width: 1170px; + margin-left: auto; + margin-right: auto; + display: flex; + flex: 1; + justify-content: center; + align-items: center; + flex-flow: row wrap; +} + +.blossomthemes-email-newsletter-wrapper .text-holder { + display: flex; + flex: auto; + flex-direction: column; + padding-right: 40px; + max-width: 500px; +} + +.blossomthemes-email-newsletter-wrapper .text-holder h3 { + margin-top: 0; + margin-bottom: 5px; + font-size: 2.2223em; + color: #fff; +} + +.blossomthemes-email-newsletter-wrapper .text-holder span { + display: block; + font-size: 1.1112em; + color: #fff; +} + +.blossomthemes-email-newsletter-wrapper form { + display: flex; + flex: auto; + flex-direction: row; + flex-wrap: wrap; + max-width: 670px; +} + +.blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"], +.blossomthemes-email-newsletter-wrapper form input[name="subscribe-email"] { + margin-bottom: 0; + background: none; + border: 2px solid rgba(255,255,255,0.5); + height: 60px; + color: #fff; + border-right: none; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + width: 40%; +} + +.blossomthemes-email-newsletter-wrapper form input[name="subscribe-email"] { + width: 80%; +} + +.blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"] + input[name="subscribe-email"] { + width: 40%; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.blossomthemes-email-newsletter-wrapper form label { + order: 5; + width: 100%; + font-size: 0.8888em; + color: #fff; + display: block; + margin-top: 10px; + position: relative; + padding-left: 25px; + cursor: pointer; + -webkit-transition: all ease 0.15s; + -moz-transition: all ease 0.15s; + transition: all ease 0.15s; +} + +.blossomthemes-email-newsletter-wrapper form label:hover { + text-decoration: underline; + color: #57b9a8; +} + +.blossomthemes-email-newsletter-wrapper form label input[type="checkbox"] { + display: none; +} + +.blossomthemes-email-newsletter-wrapper form label .check-mark { + display: inline-block; + width: 15px; + height: 15px; + border: 1px solid rgba(255,255,255,0.5); + border-radius: 2px; + position: absolute; + top: 6px; + left: 0; + background-image: url('data:image/svg+xml; utf-8, '); + background-color: transparent; + background-size: 0; + background-repeat: no-repeat; + background-position: center; + -webkit-transition: all ease 0.15s; + -moz-transition: all ease 0.15s; + transition: all ease 0.15s; +} + +.blossomthemes-email-newsletter-wrapper form label input[type="checkbox"]:checked + .check-mark { + background-color: #57b9a8; + border-color: #57b9a8; + background-size: 11px; +} + +.blossomthemes-email-newsletter-wrapper form input[type="submit"] { + margin-bottom: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + width: 20%; + padding-left: 10px; + padding-right: 10px; +} + +.blossomthemes-email-newsletter-wrapper form input[type="submit"]:hover { + background: #fff; + border-color: #fff; + color: #57b9a8; +} + +.blossomthemes-email-newsletter-wrapper form #loader-156 { + font-size: 30px; + color: #57b9a8; +} + +/*======================================= +WIDGET BLOSSOMTHEME EMAIL NEWSLETTER +=======================================*/ +#secondary .widget_blossomthemes_email_newsletter_widget .img-holder, +.site-footer .widget_blossomthemes_email_newsletter_widget .img-holder { + width: 65px; + height: 65px; + border-radius: 100%; + overflow: hidden; + margin: 0 auto 20px auto; + border: 3px solid #57B9A8; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); + display: flex; + flex: 1; + flex-direction: column; + align-items: center; + justify-content: center; +} + +#secondary .widget_blossomthemes_email_newsletter_widget .bg-img .img-holder, +.site-footer .widget_blossomthemes_email_newsletter_widget .bg-img .img-holder { + border-color: rgba(255,255,255,0.75); +} + +#secondary .blossomthemes-email-newsletter-wrapper, +.site-footer .blossomthemes-email-newsletter-wrapper { + border: 1px solid #e6e6e6; + border-radius: 4px; + padding: 30px; + text-align: center; + box-shadow: 0 0 21px rgba(0,0,0,0.07); +} + +#secondary .blossomthemes-email-newsletter-wrapper.bg-img, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img { + border: none; + overflow: hidden; +} + +#secondary .blossomthemes-email-newsletter-wrapper:after, +.site-footer .blossomthemes-email-newsletter-wrapper:after { + background: rgba(13,45,98,0.5); +} + +#secondary .blossomthemes-email-newsletter-wrapper .text-holder, +.site-footer .blossomthemes-email-newsletter-wrapper .text-holder { + padding-right: 0; + max-width: 100%; +} + +#secondary .blossomthemes-email-newsletter-wrapper .text-holder h3, +.site-footer .blossomthemes-email-newsletter-wrapper .text-holder h3 { + font-size: 1em; + color: #000; + border-bottom: 1px solid #e6e6e6; + padding-bottom: 10px; + position: relative; + margin-bottom: 15px; +} + +#secondary .blossomthemes-email-newsletter-wrapper.bg-img .text-holder h3, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img .text-holder h3 { + color: #fff; + border-bottom-color: rgba(255,255,255,0.35); +} + +#secondary .blossomthemes-email-newsletter-wrapper .text-holder h3:after, +.site-footer .blossomthemes-email-newsletter-wrapper .text-holder h3:after { + content: ""; + background: #57B9A8; + width: 70px; + height: 3px; + position: absolute; + bottom: -2px; + left: 0; + right: 0; + margin: 0 auto; +} + +#secondary .blossomthemes-email-newsletter-wrapper .text-holder span, +.site-footer .blossomthemes-email-newsletter-wrapper .text-holder span { + font-size: 0.8888em; + color: #353535; + margin-bottom: 15px; +} + +#secondary .blossomthemes-email-newsletter-wrapper.bg-img .text-holder span, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img .text-holder span { + color: #fff; +} + +#secondary .blossomthemes-email-newsletter-wrapper form, +.site-footer .blossomthemes-email-newsletter-wrapper form { + flex-direction: column; +} + +#secondary .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"], +#secondary .blossomthemes-email-newsletter-wrapper form input[name="subscribe-email"], +.site-footer .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"], +.site-footer .blossomthemes-email-newsletter-wrapper form input[name="subscribe-email"] { + border: 1px solid #e6e6e6; + width: 100%; + border-radius: 5px; + text-align: center; + font-size: 0.7778em; + color: #000; +} + +#secondary .blossomthemes-email-newsletter-wrapper.bg-img form input[name="subscribe-fname"], +#secondary .blossomthemes-email-newsletter-wrapper.bg-img form input[name="subscribe-email"], +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img form input[name="subscribe-fname"], +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img form input[name="subscribe-email"] { + border-color: rgba(255,255,255,0.35); + color: #fff; +} + +#secondary .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]::-webkit-input-placeholder, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]::-webkit-input-placeholder { + color: rgba(255,255,255,0.5); +} +#secondary .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]::-moz-placeholder, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]::-moz-placeholder { + color: rgba(255,255,255,0.5); +} +#secondary .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]:-ms-input-placeholder, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]:-ms-input-placeholder { + color: rgba(255,255,255,0.5); +} +#secondary .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]:-moz-placeholder, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img form input[type="text"]:-moz-placeholder { + color: rgba(255,255,255,0.5); +} + +#secondary .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"], +.site-footer .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"] { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +#secondary .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"] + input[name="subscribe-email"], +.site-footer .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"] + input[name="subscribe-email"] { + width: 100%; + border-radius: 0 0 5px 5px; + border-top: none; +} + +#secondary .blossomthemes-email-newsletter-wrapper form label, +.site-footer .blossomthemes-email-newsletter-wrapper form label { + order: 0; + color: #353535; + text-align: left; + font-size: 0.7778em; + margin-bottom: 20px; +} + +#secondary .blossomthemes-email-newsletter-wrapper.bg-img form label, +.site-footer .blossomthemes-email-newsletter-wrapper.bg-img form label { + color: #fff; +} + +#secondary .blossomthemes-email-newsletter-wrapper form label span.check-mark, +.site-footer .blossomthemes-email-newsletter-wrapper form label span.check-mark { + border-color: #e6e6e6; +} + +#secondary .blossomthemes-email-newsletter-wrapper form label input[type="checkbox"]:checked + .check-mark, +.site-footer .blossomthemes-email-newsletter-wrapper form label input[type="checkbox"]:checked + .check-mark { + border-color: #57B9A8; +} + +#secondary .blossomthemes-email-newsletter-wrapper form input[type="submit"], +.site-footer .blossomthemes-email-newsletter-wrapper form input[type="submit"] { + width: 100%; + border-radius: 5px; +} + +#secondary .blossomthemes-email-newsletter-wrapper form input[type="submit"]:hover, +.site-footer .blossomthemes-email-newsletter-wrapper form input[type="submit"]:hover { + border-color: #57B9A8; + background: none; +} + +/*============================== +FOOTER SECTION +==============================*/ +.contact-form-section + .site-footer { + padding-top: 100px; + background: #212127; +} +.site-footer .top-footer { + background: #212127; + padding: 80px 0 20px 0; +} +.top-footer .grid { + display: flex; + flex: 1; + flex-flow: row wrap; + align-items: flex-start; +} +.top-footer .grid.column-1 { + flex-direction: column; +} +.top-footer .grid .col { + margin-right: 3%; +} +.top-footer .grid.column-2 .col { + width: 48%; +} +.top-footer .grid.column-3 .col { + width: 31.33%; +} +.top-footer .grid.column-4 .col { + width: 22.66%; +} +.top-footer .grid .col:last-child { + margin-right: 0; +} +.top-footer .widget ul li { + border-bottom: none; + padding-bottom: 0; + margin-bottom: 20px; + color: #fff; +} +.top-footer .widget ul li:last-child { + margin-bottom: 0; +} +.top-footer .widget ul li a, +.top-footer .widget_text .textwidget { + color: #fff; + display: inline-block; +} +.top-footer .widget ul li a:hover { + color: #57B9A8; +} +.site-footer .bottom-footer { + font-size: 0.8888em; + font-weight: 400; + text-align: center; + background: #1E1E24; + padding: 20px 0; + color: rgba(255,255,255,0.8); + line-height: 1.2; +} +.site-footer .bottom-footer a { + display: inline-block; +} + +/*=========================== +LIST VIEW +===========================*/ +.list-view .site-main article:before, +.list-view .site-main article:after { + content: ""; + display: table; +} +.list-view .site-main article:after { + clear: both; +} + +.site-main article { + word-break: break-word; +} + +.list-view .site-main article { + margin-bottom: 50px; + border-bottom: 1px solid #E6E6E6; + padding-bottom: 50px; +} +.list-view .site-main article:last-child { + margin-bottom: 0; + border-bottom: none; + padding-bottom: 0; +} +.list-view figure.post-thumbnail { + width: 48%; + display: inline-block; + vertical-align: top; + border-radius: 5px; + overflow: hidden; + position: relative; +} +.list-view figure.post-thumbnail + .post-content-wrap { + width: 51%; + display: inline-block; + vertical-align: top; + padding-left: 30px; +} + +.list-view .site-main article .entry-meta { + margin-top: 10px; +} + +.blog .site-main article a.btn-transparent { + padding: 0; + border: none; + border-radius: 0; + position: relative; +} + +.blog .site-main article a.btn-transparent:hover { + background: none; + color: #57b9a8; + text-decoration: underline; +} + +/*========================== +Classic VIEW +==========================*/ +.classic-view .site-main article { + margin-bottom: 60px; + padding-bottom: 60px; + border-bottom: 1px solid #e6e6e6; +} +.classic-view .site-main article:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; +} +.classic-view figure.post-thumbnail { + margin-bottom: 30px; + position: relative; + border-radius: 5px; + /*overflow: hidden;*/ + display: inline-block; +} + +.classic-view figure.post-thumbnail a.post-thumbnail:focus{ + outline: thin dotted #000; + outline-offset: 2px; +} +.classic-view .site-main .entry-header .entry-title { + font-size: 1.6667em; + margin-bottom: 10px; +} + +/*=========================== +WIDGET AUTHOR +===========================*/ +.widget_author { + box-shadow: 0 0 21px rgba(0,0,0,0.07); + padding: 30px; + border-radius: 5px; + border: 1px solid #e6e6e6; +} + +/*=========================== +WIDGET CATEGORIES +===========================*/ +.widget_categories { + +} + +/*========================== +WIDGET SOCIAL +==========================*/ +.widget_social_links ul li { + padding-left: 0; + display: inline-block; + margin-right: 2px; + padding-bottom: 0; + border-bottom: none; + padding-top: 0; + margin-bottom: 5px; +} +.widget_social_links ul li:last-child { + margin-bottom: 5px; +} +.widget_social_links ul li a { + display: inline-block; + width: 40px; + height: 40px; + line-height: 36px; + text-align: center; + background: transparent; + border-radius: 5px; + font-size: 1.03em; + color: #1c1b1b; + border: 2px solid #F0F0F0; +} + +.widget_social_links ul li a:hover { + background: #57b9a8; + border-color: #57b9a8; + color: #fff; +} + + +/*========================= +WIDGET TWITTER FEEDS +=========================*/ +.widget_twitter_feeds ul li { + padding-left: 0; + padding-bottom: 30px; + border-bottom: 1px solid #ddd; + margin-bottom: 30px; + color: #4a4a4a; +} +.widget_twitter_feeds ul li:before { + display: none; +} +.widget_twitter_feeds ul li:last-child { + border-bottom: none; + padding-bottom: 0; + margin-bottom: 0; +} +.widget_twitter_feeds ul li a { + color: #57b9a8; +} +.widget_twitter_feeds ul li a.twitter_time { + color: #4a4a4a; + font-size: 0.7778em; + font-weight: 600; + margin-top: 15px; + display: inline-block; + vertical-align: middle; +} +.widget_twitter_feeds ul li a:hover { + text-decoration: underline; +} +.widget_twitter_feeds ul li a.twitter_time:hover { + color: #57b9a8; +} +.widget_twitter_feeds ul li .fa-twitter { + font-size: 1.112em; + margin-top: 15px; + vertical-align: middle; + margin-right: 5px; +} + +/*========================= +SINGLE POST / PAGE +=========================*/ +.page.page-template-default #primary { + margin-bottom: 80px; +} + +.home.page #primary, +.home.page #secondary { + margin-top: 80px; +} + +.single:not(.single-product) .page-header .page-title, +.single:not(.single-product) .page-header span.category, +.single:not(.single-product) .page-header .entry-meta { + max-width: 770px; + margin-left: auto; + margin-right: auto; +} + +.single:not(.single-product) .page-header span.category { + margin-bottom: 20px; + display: block; +} + +.single:not(.single-product) .page-header .entry-meta > span { + color: #ccc6c8; + letter-spacing: 1px; +} + +.single:not(.single-product) .page-header .entry-meta > span.posted-on .clk, +.single:not(.single-product) .page-header .entry-meta > span.comment-box .cmt { + fill: #ccc6c8; +} + +.single:not(.single-product) .page-header .entry-meta > span::after { + background: rgba(240,240,240,0.25); +} + +.single:not(.single-product) .site-main .entry-content, +.page .site-main .entry-content { + margin-top: 0; +} + +.single:not(.single-product) .entry-content p:first-child, +.page .entry-content p:first-child { + margin-bottom: 0; +} + +.single #primary .entry-content ul, +.page #primary .entry-content ul { + list-style: inherit; + padding: inherit; +} + +.single:not(.single-product) .site-main .article-share { + display: inline-block; + vertical-align: top; + margin-bottom: 30px; +} + +.single:not(.single-product) .site-main .sticky-social .article-share { + width: 50px; + position: sticky; + top: 20px; + margin-bottom: 0; +} + +.single:not(.single-product) .article-share .social-icons li { + margin: 5px; +} + +.single:not(.single-product) .article-share .social-icons li a { + width: 50px; + height: 50px; + line-height: 50px; + display: inline-block; + text-align: center; + background: none; + border: 2px solid #F0F0F0; + border-radius: 100%; + color: #212127; +} + +.single:not(.single-product) .article-share .social-icons li a:hover { + background: #57b9a8; + border-color: #57b9a8; + color: #fff; +} + +.single:not(.single-product) .site-main .sticky-social .entry-content { + display: inline-block; + width: calc(100% - 55px); + vertical-align: top; + padding-left: 60px; +} + +.single:not(.single-product) .site-main .sticky-social .entry-footer { + padding-left: 115px; +} + +.dropcap { + display: inline-block; + float: left; + font-size: 3.5554em; + line-height: 1; + font-weight: 700; + margin-right: 7px; +} + +.single:not(.single-product) .site-main .entry-content figure img { + border-radius: 5px; +} + +/*========================== +ABOUT AUTHOR SECTION +==========================*/ +.about-author { + margin-top: 60px; + border-top: 1px solid #e6e6e6; + padding-top: 60px; +} +.about-author figure.author-img { + display: inline-block; + vertical-align: top; + width: 120px; + height: 120px; + overflow: hidden; + border-radius: 100%; + position: relative; +} +.about-author figure.author-img::before { + content: ""; + border: 8px solid rgba(255,255,255,0.5); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border-radius: 100%; +} +.about-author .author-content-wrap { + display: inline-block; + vertical-align: middle; + width: calc(100% - 125px); + padding-left: 25px; +} +.author-content-wrap .author-name { + margin-top: 0; + margin-bottom: 15px; + font-size: 1em; + border-bottom: 1px solid #e6e6e6; + padding-bottom: 10px; + position: relative; +} + +.author-content-wrap .author-info { + font-size: 0.8888em; + margin-bottom: 15px; + color: #353535; +} +.author-social a { + display: inline-block; + vertical-align: middle; + font-size: 0.7778em; + color: #999; + margin-right: 20px; + margin-bottom: 20px; +} + +.author-social a:last-child { + margin-right: 0; +} + +.author-social a::after { + content: ""attr(title)""; + text-transform: capitalize; + display: inline-block; + vertical-align: middle; + margin-left: 5px; + font-size: 1.1429em; +} + +.author-social a[title="googleplus"]::after { + content: "google+"; +} + +.author-social a .icon { + display: inline-block; + vertical-align: middle; + width: 32px; + height: 32px; + line-height: 28px; + text-align: center; + border: 2px solid #f0f0f0; + color: #212127; + border-radius: 100%; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; +} + +.author-social a:hover .icon { + background: #57b9a8; + border-color: #57b9a8; + color: #fff; +} + +/*========================== +RELATED POST +==========================*/ +.related-post { + margin-top: 60px; + padding-top: 60px; + border-top: 1px solid #e6e6e6; +} + +.related-post .post-title { + color: #212127; + margin-top: 0; + margin-bottom: 30px; + padding-bottom: 10px; + border-bottom: 1px solid #e6e6e6; + font-size: 1em; + position: relative; +} + +.related-post .article-wrap article { + margin-bottom: 25px; + padding-bottom: 25px; + border-bottom: 1px solid #e6e6e6; + display: flex; + flex: 1; + flex-flow: row wrap; + align-items: flex-start; +} + +.related-post .article-wrap article:last-child { + border-bottom: none; + padding-bottom: 0; + margin-bottom: 0; +} + +.related-post .article-wrap article .post-thumbnail { + order: 2; + width: 110px; + overflow: hidden; + border-radius: 5px; +} + +.related-post .article-wrap article .entry-header { + width: calc(100% - 110px); + padding-right: 25px; +} + +.related-post .article-wrap article .entry-meta { + display: inline-block; + vertical-align: top; + width: 200px; +} + +.related-post .entry-meta span.posted-on svg { + display: none; +} + +.related-post .article-wrap article .entry-title { + display: inline-block; + vertical-align: top; + width: calc(100% - 205px); + font-size: 1em; + font-weight: 600; +} + +/*============================== +PLUGIN WIDGETS STYLE +==============================*/ +.widget-title { + position: relative; + font-size: 2.223em; + margin-top: 0; + margin-bottom: 20px; +} + +/*================================ +RARATHEME COMPANION COUNTER +================================*/ + +/*=================================== +RARATHEME SOCIAL LINKS WIDGET +===================================*/ +.top-footer .widget_rtc_social_links ul li a:hover { + color: #fff; +} + +/*============================ +WIDGET TEXT +============================*/ +.widget_text .textwidget { + line-height: 1.8; +} +.widget_text .textwidget p:first-child { + margin-top: 0; +} +.widget_text .textwidget p:last-child { + margin-bottom: 0; +} + + +section[class*="-section"] .widget-featured-holder { + display: flex; + flex: 1; + flex-direction: row-reverse; + flex-wrap: wrap; + align-items: flex-start; +} + +#secondary .widget-featured-holder { + display: flex; + flex: 1; + flex-direction: column; +} +#secondary .widget-featured-holder .section-subtitle { + order: 2; +} +#secondary .widget-featured-holder .text-holder { + order: 3; +} + +#secondary .widget-featured-holder .img-holder { + margin-top: 0; + margin-bottom: 40px; +} + + + +.widget_rrtc_icon_text_widget { + text-align: center; +} +#secondary .widget_rrtc_icon_text_widget { + text-align: left; +} +#secondary .widget_rrtc_icon_text_widget .icon-holder { + font-size: 3em; + line-height: 1; +} +.widget_rrtc_icon_text_widget .widget-title { + margin-bottom: 0; +} +.widget_rrtc_icon_text_widget .content p { + margin-top: 10px; + letter-spacing: 0.5px; + margin-bottom: 20px; +} +section[class*="-section"] .widget_rrtc_icon_text_widget .content p { + font-size: 1em; + line-height: 1.6; + margin-top: 20px; +} +.widget_rrtc_icon_text_widget a.btn-readmore { + font-size: 0.778em; + font-weight: 700; + display: inline-block; + padding: 16px 40px; + border: 2px solid #57B9A8; + border-radius: 5px; + letter-spacing: 1px; + margin-bottom: 0; + margin-right: 0; + background: #57B9A8; + color: #fff; +} + +.widget_rrtc_icon_text_widget a.btn-readmore:focus{ + outline: thin dotted #000; + outline-offset: 2px; +} + +section[class*="-section"] .widget_rrtc_icon_text_widget a.btn-readmore { + margin-top: 20px; +} +.widget_rrtc_icon_text_widget a.btn-readmore:hover { + background: transparent; + color: #57B9A8; +} +.widget_rrtc_icon_text_widget .rtc-itw-inner-holder { + display: flex; + flex: 1; + flex-direction: column; +} +.widget_rrtc_icon_text_widget .rtc-itw-inner-holder .text-holder { + order: 2; + margin-top: 20px; +} +.widget_rrtc_icon_text_widget .widget_rrtc_icon_text_widget svg { + font-size: 4.5em; + color: #57b9a8; +} + + + +.widget ul li .entry-meta a { + color: #999; +} + +.widget ul li .entry-meta a:hover { + color: #57b9a8; +} + +/*=========================================== +RARATHEME COMPANION POST CATEGORY SLIDER +===========================================*/ +.widget_rara_posts_category_slider_widget .item .carousel-title { + margin-top: 20px; +} + +.widget_rara_posts_category_slider_widget .item .cat-links { + font-size: 0.7778em; + color: #999; + display: block; + text-transform: uppercase; + font-weight: 600; +} +.widget_rara_posts_category_slider_widget .item .cat-links a { + display: inline-block; + margin-right: 15px; +} + +.widget_rara_posts_category_slider_widget .item .cat-links a:last-child { + margin-right: 0; +} + +.widget_rara_posts_category_slider_widget .item .cat-links a::after { + content: ","; + margin-left: 2px; +} + +.widget_rara_posts_category_slider_widget .item .cat-links a:last-child:after { + display: none; +} + +.widget_rara_posts_category_slider_widget .item .title { + font-size: 1em; + margin-top: 5px; + margin-bottom: 0; +} + +.top-footer .widget_rara_posts_category_slider_widget .item .title { + color: #fff; +} + +.widget_rara_posts_category_slider_widget .owl-theme .owl-nav [class*="owl-"] { + top: 30%; + margin-top: 0; + margin-bottom: 0; +} + +.site-main .widget_text .textwidget { + font-size: 1.112em; +} + +/*========================== +ARCHIVE PAGE +==========================*/ +.page-header .about-author { + border-top: none; + margin-top: 0; + padding-top: 0; + text-align: left; + max-width: 770px; +} + +.page-header .author-content-wrap .author-name { + border-bottom-color: rgba(255,255,255,0.1); + color: #fff; + white-space: nowrap; +} + +.page-header .author-content-wrap .author-name b { + font-weight: 800; +} + +.page-header .author-content-wrap .author-info, +.page-header .author-social a { + color: #fff; + margin-bottom: 0; + margin-top: 20px; +} + +.page-header .author-social a .icon { + color: #fff; + border-color: rgba(255,255,255,0.5); +} + +.page-header .author-social a:hover .icon { + border-color: #57b9a8; +} + +.post-count { + font-size: 0.7778em; + color: #999; + font-weight: 600; + margin-bottom: 20px; +} + +.archive .site-main article a.btn-transparent, +.search .site-main article a.btn-transparent { + padding: 0; + border: none; +} + +.archive .site-main article a.btn-transparent:hover, +.search .site-main article a.btn-transparent:hover { + background: none; + color: #57b9a8; + text-decoration: underline; +} + +.sub-title { + font-size: 0.7778em; + letter-spacing: 1px; + color: #e6e6e6; + font-weight: 600; +} + +/*========================== +SEARCH PAGE +==========================*/ +.search .page-header .container { + width: 1170px; +} + +.search .page-header .page-title { + font-size: 0.7778em; + letter-spacing: 1px; + width: 65%; + text-align: left; + color: #E6E6E6; + margin-left: auto; + margin-right: auto; +} + +.search .page-header .search-form { + width: 65%; + border-bottom: 2px solid rgba(255,255,255,0.5); + margin-left: auto; + margin-right: auto; +} + +.search .page-header .search-form label input.search-field { + background: none; + border: none; + border-radius: 0; + height: 70px; + padding-left: 0; + font-size: 2.6665em; + color: #fff; + font-weight: 700; + padding-bottom: 0; +} + +.search .page-header .search-form label input.search-field::-webkit-input-placeholder { + color: rgba(255,255,255,0.5); +} +.search .page-header .search-form label input.search-field::-moz-placeholder { + color: rgba(255,255,255,0.5); +} +.search .page-header .search-form label input.search-field:-ms-input-placeholder { + color: rgba(255,255,255,0.5); +} +.search .page-header .search-form label input.search-field:-moz-placeholder { + color: rgba(255,255,255,0.5); +} + +.search .page-header .search-form input.search-submit { + height: 70px; + border-radius: 0; + background-color: transparent; + border: none; + background-size: 25px; + opacity: 0.75; + filter: alpha(opacity=75); +} + +.search .page-header .search-form input.search-submit:hover { + opacity: 1; + filter: alpha(opacity=100); +} + +.search .no-results .entry-header .entry-title { + font-size: 2.223em; + font-weight: 700; +} + +.search .no-results .page-content { + font-size: 1.112em; + margin-top: 15px; +} + +.search .no-results .page-content p { + margin: 0; +} + +/*========================== +ERROR 404 PAGE +==========================*/ +.error404 .not-found .page-content { + margin-top: 0; + text-align: center; +} + +.error404 .not-found .error-text { + margin: 0 auto 30px auto; + font-size: 1.3888em; + max-width: 586px; +} + +.error404 .not-found .error-num { + font-size: 22.2222em; + font-weight: 700; + color: #57B9A8; + text-shadow: 0 -10px rgba(0,0,0,0.1); + line-height: 1.3; +} + +.error404 .not-found .bttn { + text-transform: uppercase; + font-size: 0.7778em; + font-weight: 700; + background: #57B9A8; + border: 2px solid #57B9A8; + color: #fff; + display: inline-block; + text-align: center; + padding: 15px 40px; + border-radius: 5px; + margin-top: 40px; + margin-bottom: 70px; + letter-spacing: 1px; +} + +.error404 .not-found .bttn:hover { + background: none; + color: #57B9A8; +} + +.error404 .not-found .search-form { + max-width: 630px; + margin: 0 auto; +} + +/*============================ +PORTFOLIO PAGE +============================*/ +.portfolio-holder .portfolio-sorting { + margin-bottom: 20px; +} + +.portfolio-sorting .button { + font-size: 1em; + font-weight: 700; + margin-left: 5px; + margin-right: 5px; + margin-bottom: 10px; + padding: 15px 20px; +} + +.portfolio-sorting .button.is-checked, +.portfolio-sorting .button:hover { + color: #fff; + background: #57B9A8; +} + +.portfolio-item .portfolio-item-inner { + border-radius: 5px; +} + +.portfolio-item .portfolio-text-holder { + font-size: 1em; + background: -webkit-linear-gradient( rgba(87, 185, 168, 0.8), rgba(13, 45, 98, 0.8)); + background: -moz-linear-gradient( rgba(87, 185, 168, 0.8), rgba(13, 45, 98, 0.8)); + background: -ms-linear-gradient( rgba(87, 185, 168, 0.8), rgba(13, 45, 98, 0.8)); + background: -o-linear-gradient( rgba(87, 185, 168, 0.8), rgba(13, 45, 98, 0.8)); + background: linear-gradient( rgba(87, 185, 168, 0.8), rgba(13, 45, 98, 0.8)); +} + +.portfolio-item-inner:hover .portfolio-text-holder { + padding-top: 20px; + padding-bottom: 20px; +} + +.portfolio-item .portfolio-cat a { + font-size: 0.8888em; + text-transform: uppercase; + color: rgba(255,255,255,0.75); +} + +.portfolio-item .portfolio-cat a:hover { + color: #fff; +} + +.portfolio-item .portfolio-cat a:after, +.entry-header .portfolio-cat a:after { + content: ","; +} + +.portfolio-item .portfolio-cat a:last-child:after, +.entry-header .portfolio-cat a:last-child:after { + display: none; +} + +.portfolio-text-holder .portfolio-img-title { + font-size: 1.3333em; + font-weight: 700; +} + +.portfolio-holder .post-thumbnail { + border-radius: 4px; + overflow: hidden; + margin-bottom: 50px; +} + +.portfolio-holder .post-thumbnail img { + width: 100%; +} + +.portfolio-holder .entry-header { + padding-bottom: 15px; + margin-bottom: 40px; + border-bottom-color: #E6E6E6; +} + +.entry-header .portfolio-cat a { + color: #555; + text-transform: uppercase; +} + +.entry-header .portfolio-cat a:hover { + color: #57b9a8; +} + +.portfolio-holder .entry-header .entry-title { + font-size: 2.2223em; + color: #1c1d1d; +} + +.portfolio-holder .entry-content { + color: #333; + line-height: 1.8; +} + +.portfolio-holder + .post-navigation { + border-top: 1px solid #e6e6e6; + padding-top: 60px; +} + +.related-portfolio { + border-top: 1px solid #e6e6e6; + padding-top: 60px; + margin-top: 60px; +} + +.portfolio-img-holder, +.related-portfolio .portfolio-img-holder { + margin-left: -15px; + margin-right: -15px; +} + +.related-portfolio-title { + font-size: 2.2223em; + font-weight: 700; + color: #212127; + position: relative; + line-height: 1.5; + border-bottom: 1px solid #E6E6E6; + padding-bottom: 20px; + margin-bottom: 40px; +} + +.related-portfolio-title::after { + content: ""; + background: #57B9A8; + width: 70px; + height: 3px; + position: absolute; + bottom: -2px; + left: 0; + right: 0; + margin: 0 auto; +} + +.related-portfolio .portfolio-item .portfolio-text-holder { + opacity: 0; + visibility: hidden; + padding: 0 20px; +} + +.related-portfolio .portfolio-item-inner:hover .portfolio-text-holder { + opacity: 1; + filter: alpha(opacity=100); + visibility: visible; + padding-top: 20px; + padding-bottom: 20px; +} + +/*============================= +RESPONSIVE STYLESHEET +=============================*/ +@media screen and (max-width: 1450px) { + .site-header .container, + section.recent-the-conference-section, + section.schedule-section, + .banner-caption.newsletter-banner .container { + max-width: 1280px; + padding-left: 15px; + padding-right: 15px; + } + + body.custom-background .site, + .custom-background header.site-header { + max-width: 95%; + } + + .nav-wrap .nav-btn a, + .main-navigation ul li a { + padding-left: 15px; + padding-right: 15px; + } + + body.custom-background .nav-wrap .nav-btn a, + body.custom-background .main-navigation ul li a { + padding-left: 15px; + padding-right: 15px; + } + + .site-banner .item img { + height: 100%; + } + + .banner-caption { + height: 100%; + } + + .banner-caption .banner-title { + font-size: 3em; + } + + .banner-caption .btn-wrap { + margin-top: 40px; + } + + + + .video-banner #wp-custom-header { + padding-top: 0; + height: 100%; + } + + .video-banner .banner-caption { + height: 100vh; + } +} + +@media screen and (max-width: 1199px) { + .container, + .blossomthemes-email-newsletter-wrapper .newsletter-wrap-inner { + max-width: 1000px; + padding-left: 15px; + padding-right: 15px; + } + + .site-header .container, + section.recent-the-conference-section, + section.schedule-section, + .banner-caption.newsletter-banner .container { + max-width: 1100px; + } + + .faq-section .faq-content-wrap, + .contact-form-section .container { + padding-left: 15px; + padding-right: 15px; + } + + .banner-caption .banner-title { + font-size: 3.5em; + } + + .banner-caption .btn-wrap, + .banner-caption .banner-countdown { + margin-top: 40px; + } + + .widget_rrtc_description_widget .social-profile li a { + padding: 5px; + } + + .search .page-header .container { + width: 100%; + max-width: 100%; + } + + /*============================ + NEWSLETTER SECTION + ============================*/ + .blossomthemes-email-newsletter-wrapper .text-holder { + padding-right: 20px; + max-width: 390px; + } + + .blossomthemes-email-newsletter-wrapper .text-holder h3 { + font-size: 1.5em; + } + + .blossomthemes-email-newsletter-wrapper form { + max-width: 570px; + } + +} + +@media screen and (max-width: 1024px) { + .container, + .blossomthemes-email-newsletter-wrapper .newsletter-wrap-inner { + max-width: 768px; + } + + .site-header .container, + section.recent-the-conference-section, + section.schedule-section, + .banner-caption.newsletter-banner .container { + max-width: 850px; + } + + section.about-section, + section.testimonial-section, + section.cta-section, + section.gallery-section { + margin-top: 80px; + margin-bottom: 80px; + } + + .widget-title, + section[class*="-section"] .widget_text .widget-title, + .section-title { + font-size: 2em; + } + + .page-header .page-title { + font-size: 2em; + } + + .rightsidebar #primary { + float: none; + width: 100%; + padding-right: 0; + } + + .leftsidebar #primary { + float: none; + width: 100%; + padding-left: 0; + } + + body:not([class*="page-template-"]) #primary { + margin-bottom: 80px; + } + + .rightsidebar #secondary, + .leftsidebar #secondary { + float: none; + width: 100%; + margin-bottom: 80px; + } + + .portfolio-img-holder .portfolio-item { + width: 50%; + } + + /*========================= + SITE HEADER + =========================*/ + .admin-bar header.site-header { + top: 0; + } + body > .nav-wrap, + button.toggle-btn { + display: block; + } + .site-header .nav-wrap { + display: none; + } + body.nav-toggled { + overflow: hidden; + } + .site { + position: relative; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; + } + .nav-toggled .site { + -webkit-transform: translateX(-50%); + -moz-transform: translateX(-50%); + transform: translateX(-50%); + } + .site:before { + content: ""; + background: rgba(0,0,0,0.5); + position: absolute; + z-index: 9999; + width: 100%; + left: 0; + top: 0; + height: 100%; + opacity: 0; + visibility: hidden; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; + } + .nav-toggled .site:before { + opacity: 1; + visibility: visible; + } + .site-header button.toggle-btn { + width: 60px; + height: 60px; + padding: 0; + text-align: center; + background: none; + border: 2px solid #fff; + border-radius: 100%; + position: relative; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; + } + .site-header button.toggle-btn:hover { + background: #fff; + } + .site-header button.toggle-btn .bar { + display: block; + width: 20px; + height: 3px; + background: #fff; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + margin: auto; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; + } + .site-header button.toggle-btn .bar:first-child { + top: -15px; + } + .site-header button.toggle-btn .bar:last-child { + bottom: -16px; + } + .site-header button.toggle-btn:hover .bar { + background: #57b9a8; + } + .main-navigation button.toggle-button { + display: block; + width: 60px; + height: 60px; + padding: 0; + margin: 0 auto; + border-radius: 100%; + background: none; + position: absolute; + top: 20px; + left: 0; + right: 0; + } + .main-navigation button.toggle-button:hover { + background: #57b9a8; + } + .main-navigation button.toggle-button .toggle-bar { + display: block; + width: 25px; + height: 3px; + background: #000; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: auto; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + transform: rotate(45deg); + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; + } + .main-navigation button.toggle-button .toggle-bar:last-child { + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + transform: rotate(-45deg); + } + .main-navigation button.toggle-button:hover .toggle-bar { + background: #fff; + } + .nav-wrap { + position: fixed; + top: 0; + right: 0; + width: 400px; + background: #fff; + height: 100%; + display: block; + padding: 0; + text-align: center; + z-index: 9999; + overflow: auto; + -webkit-transform: translateX(100%); + -moz-transform: translateX(100%); + transform: translateX(100%); + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; + } + + .nav-toggled .nav-wrap { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + transform: translateX(0); + } + + .nav-wrap .main-navigation { + margin-top: 100px; + } + + .main-navigation ul li { + display: block; + font-size: 0.8888em; + } + + .main-navigation ul li a { + color: #000; + width: 100%; + padding-top: 20px 25px; + border-bottom: 1px solid rgba(0,0,0,0.05); + } + + .main-navigation ul li ul { + position: static; + width: 100%; + opacity: 1; + visibility: visible; + text-align: center; + display: none; + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + + .main-navigation ul li ul ul, + .main-navigation ul.nav-menu > li:nth-last-of-type(1) ul ul, + .main-navigation ul.nav-menu > li:nth-last-of-type(2) ul ul { + padding-left: 0; + } + + .main-navigation ul li ul::before { + display: none; + } + + .main-navigation ul li ul.sub-menu li { + background: rgba(0,0,0,0.02); + } + + .main-navigation ul li ul li a { + color: #000; + padding: 20px 25px; + } + + .main-navigation ul ul.sub-menu li a:hover, + .main-navigation ul ul.sub-menu li:hover > a, + .main-navigation ul ul.sub-menu li.current-menu-item a, + .main-navigation ul ul.sub-menu li.current_page_item a { + color: #57b9a8; + background: rgba(0,0,0,0.01); + } + + .menu-item-has-children .submenu-toggle { + position: absolute; + top: 20px; + right: 10px; + width: 20px; + height: 30px; + line-height: 30px; + -webkit-transition: all ease 0.35s; + -moz-transition: all ease 0.35s; + transition: all ease 0.35s; + } + + .menu-item-has-children .submenu-toggle.active { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + transform: rotate(180deg); + } + + .nav-wrap .nav-btn { + padding: 30px 20px; + } + + .nav-wrap .nav-btn a { + display: block; + padding-left: 30px; + padding-right: 30px; + } + + /*====================== + SITE BANNER + ======================*/ + .site-banner img { + height: 100vw; + } + + .scroll-down, + .countdown-wrap::before, + .countdown-wrap::after { + display: none; + } + + .banner-caption .banner-title, + .countdown-wrap span { + font-size: 2em; + } + + .banner-caption .banner-desc { + font-size: 1em; + } + + .banner-caption .btn-wrap { + margin-top: 40px; + } + + .banner-caption .banner-countdown { + width: 100%; + margin-top: 40px; + } + + .countdown-wrap { + margin-right: 3%; + margin-bottom: 10px; + min-height: auto; + padding-top: 20px; + padding-bottom: 20px; + } + + .ctaTimer-countdown .countdown-wrap { + width: 22.66%; + } + + /*========================= + COUNTER SECTION + =========================*/ + section.counter-section { + padding-top: 80px; + padding-bottom: 100px; + } + + section.recent-the-conference-section::before { + height: 80px; + top: -80px; + } + + + /*=========================== + RECENT CONFERENCE SECTION + ===========================*/ + section.recent-the-conference-section { + padding-bottom: 80px; + } + + section.recent-the-conference-section::before { + height: 80px; + top: -80px; + } + + section[class*="-section"] .widget_rrtc_icon_text_widget .rtc-itw-inner-holder { + align-items: flex-start; + } + + /*=========================== + SPEAKERS SECTION + ===========================*/ + .speakers-section { + margin-top: 80px; + margin-top: 50px; + } + + section[class*="-section"] .widget_rrtc_description_widget, + .page-template-speaker .site-main .widget_rrtc_description_widget { + width: 47%; + } + + section[class*="-section"] .widget_rrtc_description_widget .description { + height: 100px; + } + + /*============================= + TESTIMONIAL SECTION + =============================*/ + section.testimonial-section { + margin-top: 50px; + } + + .testimonial-wdgt-wrap { + flex-direction: column; + } + .testimonial-wdgt-wrap .widget_rrtc_testimonial_widget { + width: 100%; + margin-left: 0; + margin-right: 0; + padding-left: 30px; + } + .rtc-testimonial-holder .img-holder { + width: 60px; + height: 60px; + left: -30px; + } + + .rtc-testimonial-holder .img-holder::before { + border-width: 4px; + } + + .rtc-testimonial-holder .text-holder { + padding-left: 20px; + } + + /*========================== + CTATIMER SECTION + ==========================*/ + section.cta-section { + margin-top: 50px; + } + + .ctatimer-section { + padding-top: 80px; + padding-bottom: 80px; + } + + .ctatimer-section .ctaTimer-countdown { + width: 100%; + margin-top: 40px; + } + + .ctatimer-section .btn-wrap { + margin-top: 40px; + } + + /*=========================== + CTA SECTION + ===========================*/ + + + .btn-cta { + padding-left: 20px; + padding-right: 20px; + } + + /*========================= + BLOG SECTION + =========================*/ + .blog-section { + margin-top: 80px; + margin-bottom: 80px; + padding-top: 80px; + } + + .blog-section .btn-wrap { + margin-top: 40px; + } + + .blog-section .article-wrap { + grid-template-columns: repeat(2, 1fr); + grid-gap: 20px; + } + + .blog-section .article-wrap article:last-child { + display: none; + } + + /*========================== + CONTACT FORM SECTION + ==========================*/ + .contact-form-section .container { + padding-top: 80px; + flex-direction: column; + max-width: 800px; + } + + .contact-form-section .container::after { + height: 80px; + bottom: -80px; + } + + .content-wrap .contact-form { + width: 100%; + margin-right: 0; + margin-bottom: 50px; + } + + .content-wrap .contact-info { + width: 100%; + padding: 30px; + } + + section.contact-form-section .widget, .page-template-contact .site-main .widget { + width: calc(100% - 50px); + padding-right: 0; + margin-left: auto; + margin-right: auto; + } + + .page-template-contact .site-main .widget { + width: 100%; + } + + .page-template-contact .site-main .widget:last-child { + margin-bottom: 0; + } + + section.contact-form-section .widget_rtc_contact_social_links, .page-template-contact .site-main .widget_rtc_contact_social_links { + padding: 30px; + } + + /*========================== + MAP SECTION + ==========================*/ + section.contact-form-section + section.map-section .widget .widget-title { + margin-top: 160px; + } + + section.map-section .widget .textwidget { + height: 500px; + } + + section.map-section .widget .widget-title + .textwidget { + height: 400px; + } + + /*============================ + NEWSLETTER SECTION + ============================*/ + section[class*="-section"] .blossomthemes-email-newsletter-wrapper { + padding-top: 80px; + padding-bottom: 80px; + } + + .blossomthemes-email-newsletter-wrapper .newsletter-wrap-inner { + flex-direction: column; + text-align: center; + } + + .blossomthemes-email-newsletter-wrapper .text-holder { + padding-right: 0; + margin-bottom: 40px; + max-width: 500px; + } + + .blossomthemes-email-newsletter-wrapper .text-holder h3 { + font-size: 2.2223em; + } + + .blossomthemes-email-newsletter-wrapper form { + max-width: 670px; + } + + .blossomthemes-email-newsletter-wrapper form label { + text-align: left; + } + + /*============================= + SITE FOOTER SECTION + =============================*/ + .site-footer .top-footer { + padding-top: 60px; + padding-bottom: 0; + } + + .top-footer .grid.column-3 .col, + .top-footer .grid.column-4 .col { + width: 48%; + } + + .top-footer .grid.column-3 .col:nth-child(2n), + .top-footer .grid.column-4 .col:nth-child(2n) { + margin-right: 0; + } + + /*============================= + PAGE TEMPLATE ABOUT + =============================*/ + header.page-header { + margin-bottom: 80px; + } + + /*============================ + PAGE TEMPLATE TICKET + ============================*/ + #primary .pricingtable-wrap { + margin-bottom: 70px; + } + + /*==================================== + PAGE TEMPLATE SCHEDULE & SPEAKER + ====================================*/ + .post-type-archive-schedule .event-sponsor-section { + padding-top: 80px; + } + + /*========================== + SINGLE POST + ==========================*/ + .single:not(.single-product) .site-main .sticky-social .entry-content { + padding-left: 30px; + } + + .single:not(.single-product) .site-main .sticky-social .entry-footer { + padding-left: 85px; + } + + .post-navigation a .post-title { + width: 100%; + } + + + + /*========================= + ERROR 404 PAGE + =========================*/ + .error404 .not-found .error-num { + font-size: 18em; + } + +} + +@media screen and (max-width: 899px) { + .video-banner #wp-custom-header { + height: auto; + padding-top: 0; + position: relative; + } + + .site-banner.video-banner .item img { + height: 100vh; + } +} + +@media screen and (max-width: 767px) { + .container, + .blossomthemes-email-newsletter-wrapper .newsletter-wrap-inner { + max-width: 480px; + } + + .site-header .container, + section.recent-the-conference-section, + section.schedule-section, + .banner-caption.newsletter-banner .container { + max-width: 540px; + } + + body.custom-background .site { + max-width: 100%; + } + + .nav-toggled .site { + -webkit-transform: translateX(-80%); + -moz-transform: translateX(-80%); + transform: translateX(-80%); + } + .nav-wrap { + width: 320px; + } + + a.btn-transparent, .btn-readmore { + padding-left: 20px; + padding-right: 20px; + } + + blockquote { + background-size: 60px; + padding-top: 20px; + padding-left: 30px; + } + + header.page-header { + margin-bottom: 60px; + } + + /*=========================== + SITE BANNER SECTION + ===========================*/ + .site-banner img { + height: auto; + } + .site-banner .item img { + position: static; + } + .banner-caption { + /*position: static;*/ + padding-top: 40px !important; + padding-bottom: 40px; + } + + .banner-caption::before { + background: rgba(0,0,0,0.2); + } + + .banner-caption .container { + margin-top: 0; + } + .site-banner .countdown-wrap:last-child { + margin-right: 3%; + } + .site-banner .btn-wrap a { + display: block; + } + + .site-banner .btn-wrap a + a { + margin-left: 0; + margin-top: 10px; + } + + .site-banner.video-banner .item, + .site-banner.video-banner .item img { + height: auto; + } + + /*=========================== + ABOUT SECTION + ===========================*/ + section[class*="-section"] .widget-featured-holder { + flex-direction: column; + } + + + /*========================= + COUNTER SECTION + =========================*/ + .counter-section .container { + flex-wrap: wrap; + } + + + section.counter-section .widget:last-child { + margin-bottom: 60px; + } + + + /*============================ + RECENT CONFERENCE SECTION + ============================*/ + section[class*="-section"] .widget_rrtc_icon_text_widget .rtc-itw-inner-holder, + section[class*="-section"] .widget_rrtc_icon_text_widget:nth-child(2n) .rtc-itw-inner-holder { + flex-direction: column; + } + + section[class*="-section"] .widget_rrtc_icon_text_widget .text-holder { + width: 100%; + padding-left: 0; + } + + section[class*="-section"] .widget_rrtc_icon_text_widget:nth-child(2n) .text-holder { + padding-right: 0; + } + + section[class*="-section"] .widget_rrtc_icon_text_widget .icon-holder { + width: 100%; + margin-bottom: 30px; + } + + /*========================== + SPEAKERS SECTION + ==========================*/ + section[class*="-section"] .widget_rrtc_description_widget, + .page-template-speaker .site-main .widget_rrtc_description_widget { + margin-left: 0; + margin-right: 0; + width: 100%; + } + + .widget_rrtc_description_widget .rtc-team-holder-modal { + padding: 20px; + } + + .widget_rrtc_description_widget .name { + font-size: 1em; + } + + .widget_rrtc_description_widget .designation, + .widget_rrtc_description_widget .social-profile li { + font-size: 0.8888em; + } + + .widget_rrtc_description_widget .social-profile li a { + padding: 7px; + } + + /*============================= + CTATIMER SECTION + =============================*/ + .ctaTimer-countdown .countdown-wrap { + width: 48%; + margin-right: 3%; + } + + .ctaTimer-countdown .countdown-wrap:nth-child(2n) { + margin-right: 0; + } + + /*============================= + CTA SECTION + =============================*/ + .cta-section .container { + flex-direction: column; + } + + .cta-section .widget { + width: 100%; + margin-right: 0; + } + + section.cta-section .widget:nth-last-of-type(2) { + margin-bottom: 60px; + } + + .btn-cta { + display: block; + width: 100%; + } + + .btn-cta + .btn-cta { + margin-left: 0; + margin-top: 10px; + } + + + + /*======================== + BLOG SECTION + ========================*/ + .blog-section .article-wrap { + grid-template-columns: repeat(1, 1fr); + } + + .blog-section .article-wrap article:last-child { + display: block; + } + + .blog-section article .entry-header { + padding: 20px; + } + + .portfolio-img-holder, + .related-portfolio .portfolio-img-holder { + margin-left: 0; + margin-right: 0; + } + + .portfolio-img-holder .portfolio-item { + float: none; + width: 100%; + padding-left: 0; + padding-right: 0; + } + + /*========================== + CONTACT FORM SECTION + ==========================*/ + .contact-form-section .container { + max-width: 540px; + } + + section.contact-form-section .widget { + width: calc(100% - 30px); + } + + /*============================ + NEWSLETTER SECTION + ============================*/ + .blossomthemes-email-newsletter-wrapper form { + flex-direction: column; + width: 100%; + } + + .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"], + .blossomthemes-email-newsletter-wrapper form input[name="subscribe-email"] { + width: 100%; + border-right: 2px solid rgba(255,255,255,0.5); + margin-bottom: 10px; + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + } + + .blossomthemes-email-newsletter-wrapper form input[name="subscribe-fname"] + input[name="subscribe-email"], + .blossomthemes-email-newsletter-wrapper form input[type="submit"] { + width: 100%; + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + } + + /*======================== + LIST VIEW + ========================*/ + .list-view figure.post-thumbnail { + width: 100%; + margin-bottom: 30px; + } + + .list-view figure.post-thumbnail + .post-content-wrap { + width: 100%; + padding-left: 0; + } + + /*============================ + SINGLE POST + ============================*/ + .single .site-content header.page-header { + margin-bottom: 0; + } + .single:not(.single-product) .site-main .entry-content { + margin-top: 60px; + } + .single:not(.single-product) .site-main .sticky-social .article-share { + position: static; + width: 100%; + margin-top: 30px; + } + + .single:not(.single-product) .site-main .sticky-social .entry-content { + width: 100%; + padding-left: 0; + } + + .single:not(.single-product) .site-main .sticky-social .entry-footer { + padding-left: 0; + } + + q { + float: none; + width: 100%; + margin-right: 0; + margin-bottom: 40px; + } + + .about-author, + .page-header .about-author { + text-align: center; + } + + .about-author figure.author-img { + display: block; + margin-bottom: 30px; + margin-left: auto; + margin-right: auto; + } + + .about-author .author-content-wrap { + width: 100%; + padding-left: 0; + } + + .author-content-wrap .author-name .title-wrap::after { + margin-left: auto; + margin-right: auto; + right: 0; + } + + .post-navigation .nav-previous { + float: none; + width: 100%; + margin-bottom: 30px; + } + + .post-navigation .nav-next { + float: none; + width: 100%; + } + + .related-post .article-wrap article .entry-meta { + width: 100%; + } + + .related-post .article-wrap article .entry-title { + width: 100%; + display: block; + } + + /*========================== + SEARCH PAGE + ==========================*/ + .search .page-header .page-title, + .search .page-header .search-form { + width: 100%; + } + + /*========================== + ERROR 404 PAGE + ==========================*/ + .error404 .not-found .error-num { + font-size: 9em; + } + + .error404 .not-found .bttn { + padding-left: 30px; + padding-right: 30px; + } + + /*============================ + FOOTER SECTION + ============================*/ + .top-footer .grid { + flex-direction: column; + } + + .top-footer .grid .col { + margin-right: 0; + } + + .top-footer .grid.column-2 .col, + .top-footer .grid.column-3 .col, + .top-footer .grid.column-4 .col { + width: 100%; + } +} + + +.tab { + overflow: hidden; + border: 1px solid #ccc; + background-color: #f1f1f1; +} + +/* Style the buttons inside the tab */ +.tab button { + background-color: inherit; + float: left; + border: none; + outline: none; + cursor: pointer; + padding: 14px 16px; + transition: 0.3s; + font-size: 17px; +} + +/* Change background color of buttons on hover */ +.tab button:hover { + background-color: #ddd; +} + +/* Create an active/current tablink class */ +.tab button.active { + background-color: #ccc; +} + +/* Style the tab content */ +.tabcontent { + display: none; + padding: 6px 12px; + border: 1px solid #ccc; + border-top: none; +} \ No newline at end of file diff --git a/css/w3pro.css b/css/w3pro.css new file mode 100644 index 0000000..e3cac79 --- /dev/null +++ b/css/w3pro.css @@ -0,0 +1,386 @@ +/* W3PRO.CSS 4.13 June 2019 by Jan Egil and Borge Refsnes */ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} +/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} +article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item} +audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} +audio:not([controls]){display:none;height:0}[hidden],template{display:none} +a{background-color:transparent}a:active,a:hover{outline-width:0} +abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} +b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000} +small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} +button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold} +button,input{overflow:visible}button,select{text-transform:none} +button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button} +button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0} +button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} +legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} +[type=checkbox],[type=radio]{padding:0} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} +[type=search]{-webkit-appearance:textfield;outline-offset:-2px} +[type=search]::-webkit-search-decoration{-webkit-appearance:none} +::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/* End extract */ +html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} +h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} +h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin: 0}.w3-wide{letter-spacing:4px} +h3 {text-decoration: underline;} +hr{border:0;border-top:1px solid #eee;margin:20px 0} +.w3-btn-append-right{float:left;margin-right: 0px;} +.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit} +.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;display:table}.w3-table-all{border:1px solid #ccc} +.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} +.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} +.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} +.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{border: 1px solid #ddd;padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} +.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} +.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} +.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} +.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} +.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} +.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} +.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} +.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} +.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} +.w3-input{padding:4px;display:block;border:1px solid #ccc;width:100%;background-color: #e8f0fe; } +.w3-input-append{padding:4px;display:block;border:1px solid #ccc;float:left;background-color: #e8f0fe;} +.w3-select{padding:4px 0; display:block;width:100%;border:1px solid #ccc;background-color: #e8f0fe;} +.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} +.w3-dropdown-hover:hover .w3-dropdown-content{display:block; } +.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} +.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} +.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1} +.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} +.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} +.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} +.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} +.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} +.w3-main,#main{transition:margin-left .4s} +.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} +.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} +.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} +.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0} +.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} +.w3-bar .w3-button{white-space:normal} +.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} +.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} +.w3-responsive{display:block;overflow-x:auto} +.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, +.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} +.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter,.w3-fifth,.w3-twofifth,.w3-threefifth,.w3-fourfifth{float:left;width:100%} +.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} +.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} +.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} +@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%}.w3-fifth{width:20%;min-width:100px} +.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} +.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}.w3-twofifth{width:40%}.w3-threefifth{width:60%}.w3-fourfifth{width:80%}} +@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} +.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} +.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} +.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px} +.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px} +.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} +.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} +.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} +@media (max-width:1205px){.w3-auto{max-width:95%}} +@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} +.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} +.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} +.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} +@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} +@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} +@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} +@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}} +.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} +.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} +.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} +.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} +.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} +.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} +.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} +.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} +.w3-display-position{position:absolute} +.w3-circle{border-radius:50%} +.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} +.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} +.w3-container,.w3-panel{padding:0.01em 8px}.w3-panel{margin-top:8px;margin-bottom:8px} +.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} +.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} +.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} +.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16)} +.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} +.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} +.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} +.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} +.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} +.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} +.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} +.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} +.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} +.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} +.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} +.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} +.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} +.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} +.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} +.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} +.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} +.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} +.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} +.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} +.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} +.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} +.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} +.w3-section,.w3-code{margin-top:2px!important;margin-bottom:16px!important} +.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} +.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} +.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} +.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} +.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} +.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} +.w3-left{float:left!important}.w3-right{float:right!important} +.w3-button:hover{color:#000!important;background-color:#ccc!important} +.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} +.w3-hover-none:hover{box-shadow:none!important} +/* DEFAULT COLORS */ +.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} +.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} +.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} +.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} +.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} +.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} +.w3-blue-grey,.w3-hover-blue-grey:hover{color:#fff!important;background-color:#607d8b!important} +.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} +.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} +.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} +.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} +.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} +.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} +.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} +.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} +.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} +.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} +.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} +.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} +.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} +.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} +.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} +.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} +.w3-grey,.w3-hover-grey:hover{color:#000!important;background-color:#9e9e9e!important} +.w3-light-grey,.w3-hover-light-grey:hover{color:#000!important;background-color:#f1f1f1!important} +.w3-dark-grey,.w3-hover-dark-grey:hover{color:#fff!important;background-color:#616161!important} +.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffe7e7!important}.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#e7ffe7!important} +.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffd7!important}.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#e7ffff!important} +.w3-text-align-right { text-align: right;} +.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} +.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} +.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} +.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} +.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} +.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} +.w3-text-blue-grey,.w3-hover-text-blue-grey:hover{color:#607d8b!important} +.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} +.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} +.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} +.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} +.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} +.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} +.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} +.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} +.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} +.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} +.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} +.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} +.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} +.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} +.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} +.w3-text-black,.w3-hover-text-black:hover{color:#000!important} +.w3-text-grey,.w3-hover-text-grey:hover{color:#757575!important} +.w3-text-light-grey,.w3-hover-text-light-grey:hover{color:#f1f1f1!important} +.w3-text-dark-grey,.w3-hover-text-dark-grey:hover{color:#3a3a3a!important} +.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} +.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} +.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} +.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} +.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} +.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} +.w3-border-blue-grey,.w3-hover-blue-grey:hover{border-color:#607d8b!important} +.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} +.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} +.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} +.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} +.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} +.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} +.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} +.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} +.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} +.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} +.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} +.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} +.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} +.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} +.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} +.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} +.w3-border-grey,.w3-hover-border-grey:hover{border-color:#9e9e9e!important} +.w3-border-light-grey,.w3-hover-border-light-grey:hover{border-color:#f1f1f1!important} +.w3-border-dark-grey,.w3-hover-border-dark-grey:hover{border-color:#616161!important} +.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} +.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffd7!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important} +/* DEFAULT THEME */ +.w3-theme-l5 {color:#000 !important; background-color:#f6f8fc !important} +.w3-theme-l4 {color:#000 !important; background-color:#e1e9f6 !important} +.w3-theme-l3 {color:#000 !important; background-color:#c3d3ed !important} +.w3-theme-l2 {color:#000 !important; background-color:#a5bee4 !important} +.w3-theme-l1 {color:#fff !important; background-color:#88a8db !important} +.w3-theme-d1 {color:#fff !important; background-color:#5180cb !important} +.w3-theme-d2 {color:#fff !important; background-color:#3a6fc3 !important} +.w3-theme-d3 {color:#fff !important; background-color:#3361aa !important} +.w3-theme-d4 {color:#fff !important; background-color:#2c5392 !important} +.w3-theme-d5 {color:#fff !important; background-color:#24457a !important} + +.w3-theme-light {color:#000 !important; background-color:#f6f8fc !important} +.w3-theme-dark {color:#fff !important; background-color:#24457a !important} +.w3-theme-action {color:#fff !important; background-color:#24457a !important} + +.w3-theme {color:#fff !important; background-color:#6a92d3 !important} +.w3-text-theme {color:#6a92d3 !important} +.w3-border-theme {border-color:#6a92d3 !important} + +.w3-hover-theme:hover {color:#fff !important; background-color:#6a92d3 !important} +.w3-hover-text-theme:hover {color:#6a92d3 !important} +.w3-hover-border-theme:hover {border-color:#6a92d3 !important} +.w3-link { + text-decoration: underline; + color: rgb(66, 138, 126)!important; +} +.w3-label { color: rgb(153, 150, 150);} +/* #main {margin-left: 210px;} */ +@media (max-width:768px){ + #sidebar { display: none;} + #main { margin-left: 0px;} +} + +.w3-select { + display: block; + font-size: 16px; + font-family: sans-serif; + font-weight: normal; + color: #444; + line-height: 1.3; + padding:4px; + width: 100%; + max-width: 100%; + box-sizing: border-box; + margin: 0; + border-bottom: 1px solid #aaa; + box-shadow: 0 1px 0 1px rgba(0,0,0,.04); + /* border-radius: .5em; */ + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + background-color: #e8f0fe; + /*border-radius:4px; */ + background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'), + linear-gradient(to bottom, #e8f0fe 0%,#e8f0fe 100%); + background-repeat: no-repeat, repeat; + background-position: right .7em top 50%, 0 0; + background-size: .65em auto, 100%; +} +.w3-select::-ms-expand { + display: none; +} +.w3-select:hover { + border-color: #888; +} +.w3-select:focus { + border-color: #aaa; + box-shadow: 0 0 1px 1px #6a92d3; + box-shadow: 0 0 0 1px -moz-mac-focusring; + color: #222; + outline: none; +} + + +.w3-select option { + font-weight:normal; +} + +.w3-table { + table-layout: fixed; +} + +.w3-text-line-through { text-decoration: line-through; } + +#snackbar { + visibility: hidden; + min-width: 250px; + margin-left: -125px; + background-color: #333; + color: #fff; + text-align: center; + /*border-radius: 2px; */ + padding: 16px; + position: fixed; + z-index: 1; + left: 50%; + bottom: 30px; + font-size: 17px; +} + +#snackbar.show { + visibility: visible; + -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; + animation: fadein 0.5s, fadeout 0.5s 2.5s; +} + +@-webkit-keyframes fadein { + from {bottom: 0; opacity: 0;} + to {bottom: 30px; opacity: 1;} +} + +@keyframes fadein { + from {bottom: 0; opacity: 0;} + to {bottom: 30px; opacity: 1;} +} + +@-webkit-keyframes fadeout { + from {bottom: 30px; opacity: 1;} + to {bottom: 0; opacity: 0;} +} + +@keyframes fadeout { + from {bottom: 30px; opacity: 1;} + to {bottom: 0; opacity: 0;} +} + +.tabulator-header-filter > input { + background-color: #e8f0fe; + border: 1px solid #ccc; + font-weight: normal; +} + +.w3-readonly { + pointer-events:none; + display:block;border:0px;width:100%;background-color: #fff; +} + +.right-side-bg { + background: url("../img/bg1.jpg"); + background-size: cover; + min-height: 100vh; +} + +/* .mceContentBody { + background: #e8f0fe; + color:#000; +} */ + +/* .tabulator-row-even { + background-color: #757575; +} */ \ No newline at end of file diff --git a/img/FLD_Logo.svg b/img/FLD_Logo.svg new file mode 100644 index 0000000..9e2ec89 --- /dev/null +++ b/img/FLD_Logo.svg @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/FLD_Logo2.png b/img/FLD_Logo2.png new file mode 100644 index 0000000..5971425 Binary files /dev/null and b/img/FLD_Logo2.png differ diff --git a/img/FLD_Red_Lion.svg b/img/FLD_Red_Lion.svg new file mode 100644 index 0000000..1468437 --- /dev/null +++ b/img/FLD_Red_Lion.svg @@ -0,0 +1,2604 @@ + +image/svg+xml20 + + + \ No newline at end of file diff --git a/img/WDF-Logo.png b/img/WDF-Logo.png new file mode 100644 index 0000000..36246ba Binary files /dev/null and b/img/WDF-Logo.png differ diff --git a/img/about_intro_1.jpg b/img/about_intro_1.jpg deleted file mode 100755 index 05a39e4..0000000 Binary files a/img/about_intro_1.jpg and /dev/null differ diff --git a/img/about_intro_2.jpg b/img/about_intro_2.jpg deleted file mode 100755 index 0e77eca..0000000 Binary files a/img/about_intro_2.jpg and /dev/null differ diff --git a/img/about_page.jpg b/img/about_page.jpg deleted file mode 100755 index 05dbbe9..0000000 Binary files a/img/about_page.jpg and /dev/null differ diff --git a/img/arrow.png b/img/arrow.png deleted file mode 100755 index 912157e..0000000 Binary files a/img/arrow.png and /dev/null differ diff --git a/img/arrow_2.png b/img/arrow_2.png deleted file mode 100755 index 9668a3f..0000000 Binary files a/img/arrow_2.png and /dev/null differ diff --git a/img/blog_1.jpg b/img/blog_1.jpg deleted file mode 100755 index 6af57d4..0000000 Binary files a/img/blog_1.jpg and /dev/null differ diff --git a/img/blog_2.jpg b/img/blog_2.jpg deleted file mode 100755 index 0d86db7..0000000 Binary files a/img/blog_2.jpg and /dev/null differ diff --git a/img/blog_3.jpg b/img/blog_3.jpg deleted file mode 100755 index 3c4f5e6..0000000 Binary files a/img/blog_3.jpg and /dev/null differ diff --git a/img/blog_page.jpg b/img/blog_page.jpg deleted file mode 100755 index 369db32..0000000 Binary files a/img/blog_page.jpg and /dev/null differ diff --git a/img/contact_page.jpg b/img/contact_page.jpg deleted file mode 100755 index 06fb965..0000000 Binary files a/img/contact_page.jpg and /dev/null differ diff --git a/img/cropped-bg_luxopen-scaled-1.jpg b/img/cropped-bg_luxopen-scaled-1.jpg new file mode 100644 index 0000000..87d15e1 Binary files /dev/null and b/img/cropped-bg_luxopen-scaled-1.jpg differ diff --git a/img/cta.jpg b/img/cta.jpg deleted file mode 100755 index 55ed0ff..0000000 Binary files a/img/cta.jpg and /dev/null differ diff --git a/img/dartsxx.jpg b/img/dartsxx.jpg deleted file mode 100644 index 9d7bd7e..0000000 Binary files a/img/dartsxx.jpg and /dev/null differ diff --git a/img/elements_page.jpg b/img/elements_page.jpg deleted file mode 100755 index 4d035cf..0000000 Binary files a/img/elements_page.jpg and /dev/null differ diff --git a/img/favicon/android-icon-144x144.png b/img/favicon/android-icon-144x144.png new file mode 100644 index 0000000..7c5eaa9 Binary files /dev/null and b/img/favicon/android-icon-144x144.png differ diff --git a/img/favicon/android-icon-192x192.png b/img/favicon/android-icon-192x192.png new file mode 100644 index 0000000..a47f6d9 Binary files /dev/null and b/img/favicon/android-icon-192x192.png differ diff --git a/img/favicon/android-icon-36x36.png b/img/favicon/android-icon-36x36.png new file mode 100644 index 0000000..1dbb3f3 Binary files /dev/null and b/img/favicon/android-icon-36x36.png differ diff --git a/img/favicon/android-icon-48x48.png b/img/favicon/android-icon-48x48.png new file mode 100644 index 0000000..d808744 Binary files /dev/null and b/img/favicon/android-icon-48x48.png differ diff --git a/img/favicon/android-icon-72x72.png b/img/favicon/android-icon-72x72.png new file mode 100644 index 0000000..6ba20ba Binary files /dev/null and b/img/favicon/android-icon-72x72.png differ diff --git a/img/favicon/android-icon-96x96.png b/img/favicon/android-icon-96x96.png new file mode 100644 index 0000000..69e14a0 Binary files /dev/null and b/img/favicon/android-icon-96x96.png differ diff --git a/img/favicon/apple-icon-114x114.png b/img/favicon/apple-icon-114x114.png new file mode 100644 index 0000000..8ce39be Binary files /dev/null and b/img/favicon/apple-icon-114x114.png differ diff --git a/img/favicon/apple-icon-120x120.png b/img/favicon/apple-icon-120x120.png new file mode 100644 index 0000000..ed9b7c9 Binary files /dev/null and b/img/favicon/apple-icon-120x120.png differ diff --git a/img/favicon/apple-icon-144x144.png b/img/favicon/apple-icon-144x144.png new file mode 100644 index 0000000..7c5eaa9 Binary files /dev/null and b/img/favicon/apple-icon-144x144.png differ diff --git a/img/favicon/apple-icon-152x152.png b/img/favicon/apple-icon-152x152.png new file mode 100644 index 0000000..67ac17f Binary files /dev/null and b/img/favicon/apple-icon-152x152.png differ diff --git a/img/favicon/apple-icon-180x180.png b/img/favicon/apple-icon-180x180.png new file mode 100644 index 0000000..decad76 Binary files /dev/null and b/img/favicon/apple-icon-180x180.png differ diff --git a/img/favicon/apple-icon-57x57.png b/img/favicon/apple-icon-57x57.png new file mode 100644 index 0000000..b5f8e58 Binary files /dev/null and b/img/favicon/apple-icon-57x57.png differ diff --git a/img/favicon/apple-icon-60x60.png b/img/favicon/apple-icon-60x60.png new file mode 100644 index 0000000..75a9351 Binary files /dev/null and b/img/favicon/apple-icon-60x60.png differ diff --git a/img/favicon/apple-icon-72x72.png b/img/favicon/apple-icon-72x72.png new file mode 100644 index 0000000..6ba20ba Binary files /dev/null and b/img/favicon/apple-icon-72x72.png differ diff --git a/img/favicon/apple-icon-76x76.png b/img/favicon/apple-icon-76x76.png new file mode 100644 index 0000000..7bff42f Binary files /dev/null and b/img/favicon/apple-icon-76x76.png differ diff --git a/img/favicon/apple-icon-precomposed.png b/img/favicon/apple-icon-precomposed.png new file mode 100644 index 0000000..fc4f0ce Binary files /dev/null and b/img/favicon/apple-icon-precomposed.png differ diff --git a/img/favicon/apple-icon.png b/img/favicon/apple-icon.png new file mode 100644 index 0000000..fc4f0ce Binary files /dev/null and b/img/favicon/apple-icon.png differ diff --git a/img/favicon/browserconfig.xml b/img/favicon/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/img/favicon/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/img/favicon/facebook.svg b/img/favicon/facebook.svg new file mode 100644 index 0000000..af332d6 --- /dev/null +++ b/img/favicon/facebook.svg @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/img/favicon/favicon-16x16.png b/img/favicon/favicon-16x16.png new file mode 100644 index 0000000..71a579b Binary files /dev/null and b/img/favicon/favicon-16x16.png differ diff --git a/img/favicon/favicon-32x32.png b/img/favicon/favicon-32x32.png new file mode 100644 index 0000000..66fcee5 Binary files /dev/null and b/img/favicon/favicon-32x32.png differ diff --git a/img/favicon/favicon-96x96.png b/img/favicon/favicon-96x96.png new file mode 100644 index 0000000..69e14a0 Binary files /dev/null and b/img/favicon/favicon-96x96.png differ diff --git a/img/favicon/favicon.ico b/img/favicon/favicon.ico new file mode 100644 index 0000000..17aa8be Binary files /dev/null and b/img/favicon/favicon.ico differ diff --git a/img/favicon/manifest.json b/img/favicon/manifest.json new file mode 100644 index 0000000..013d4a6 --- /dev/null +++ b/img/favicon/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/img/favicon/ms-icon-144x144.png b/img/favicon/ms-icon-144x144.png new file mode 100644 index 0000000..7c5eaa9 Binary files /dev/null and b/img/favicon/ms-icon-144x144.png differ diff --git a/img/favicon/ms-icon-150x150.png b/img/favicon/ms-icon-150x150.png new file mode 100644 index 0000000..c1b2062 Binary files /dev/null and b/img/favicon/ms-icon-150x150.png differ diff --git a/img/favicon/ms-icon-310x310.png b/img/favicon/ms-icon-310x310.png new file mode 100644 index 0000000..733b625 Binary files /dev/null and b/img/favicon/ms-icon-310x310.png differ diff --git a/img/favicon/ms-icon-70x70.png b/img/favicon/ms-icon-70x70.png new file mode 100644 index 0000000..54b75ef Binary files /dev/null and b/img/favicon/ms-icon-70x70.png differ diff --git a/img/gallery_1.jpg b/img/gallery_1.jpg deleted file mode 100755 index 5dc4b6d..0000000 Binary files a/img/gallery_1.jpg and /dev/null differ diff --git a/img/gallery_1_large.jpg b/img/gallery_1_large.jpg deleted file mode 100755 index acd2059..0000000 Binary files a/img/gallery_1_large.jpg and /dev/null differ diff --git a/img/gallery_2.jpg b/img/gallery_2.jpg deleted file mode 100755 index 4413e1c..0000000 Binary files a/img/gallery_2.jpg and /dev/null differ diff --git a/img/gallery_2_large.jpg b/img/gallery_2_large.jpg deleted file mode 100755 index 27b7d60..0000000 Binary files a/img/gallery_2_large.jpg and /dev/null differ diff --git a/img/gallery_3.jpg b/img/gallery_3.jpg deleted file mode 100755 index fdf4781..0000000 Binary files a/img/gallery_3.jpg and /dev/null differ diff --git a/img/gallery_3_large.jpg b/img/gallery_3_large.jpg deleted file mode 100755 index 2b2fbe5..0000000 Binary files a/img/gallery_3_large.jpg and /dev/null differ diff --git a/img/gallery_4.jpg b/img/gallery_4.jpg deleted file mode 100755 index 3196631..0000000 Binary files a/img/gallery_4.jpg and /dev/null differ diff --git a/img/gallery_4_large.jpg b/img/gallery_4_large.jpg deleted file mode 100755 index 7f1ccbe..0000000 Binary files a/img/gallery_4_large.jpg and /dev/null differ diff --git a/img/gallery_5.jpg b/img/gallery_5.jpg deleted file mode 100755 index 83c7066..0000000 Binary files a/img/gallery_5.jpg and /dev/null differ diff --git a/img/gallery_5_large.jpg b/img/gallery_5_large.jpg deleted file mode 100755 index 4d3f9da..0000000 Binary files a/img/gallery_5_large.jpg and /dev/null differ diff --git a/img/gallery_6.jpg b/img/gallery_6.jpg deleted file mode 100755 index 1f22b1e..0000000 Binary files a/img/gallery_6.jpg and /dev/null differ diff --git a/img/gallery_6_large.jpg b/img/gallery_6_large.jpg deleted file mode 100755 index 585f91d..0000000 Binary files a/img/gallery_6_large.jpg and /dev/null differ diff --git a/img/gallery_7.jpg b/img/gallery_7.jpg deleted file mode 100755 index 4400530..0000000 Binary files a/img/gallery_7.jpg and /dev/null differ diff --git a/img/gallery_7_large.jpg b/img/gallery_7_large.jpg deleted file mode 100755 index 0b078f4..0000000 Binary files a/img/gallery_7_large.jpg and /dev/null differ diff --git a/img/gallery_8.jpg b/img/gallery_8.jpg deleted file mode 100755 index 8773bc1..0000000 Binary files a/img/gallery_8.jpg and /dev/null differ diff --git a/img/gallery_8_large.jpg b/img/gallery_8_large.jpg deleted file mode 100755 index b69cd4d..0000000 Binary files a/img/gallery_8_large.jpg and /dev/null differ diff --git a/img/icon_1.svg b/img/icon_1.svg deleted file mode 100755 index 712c707..0000000 --- a/img/icon_1.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_10.svg b/img/icon_10.svg deleted file mode 100755 index ca4ca25..0000000 --- a/img/icon_10.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_2.svg b/img/icon_2.svg deleted file mode 100755 index 6a9f8d0..0000000 --- a/img/icon_2.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_3.svg b/img/icon_3.svg deleted file mode 100755 index 5549431..0000000 --- a/img/icon_3.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_4.svg b/img/icon_4.svg deleted file mode 100755 index 50a037f..0000000 --- a/img/icon_4.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_5.svg b/img/icon_5.svg deleted file mode 100755 index 07f189a..0000000 --- a/img/icon_5.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_6.svg b/img/icon_6.svg deleted file mode 100755 index dc7cf31..0000000 --- a/img/icon_6.svg +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_7.svg b/img/icon_7.svg deleted file mode 100755 index 764e8ce..0000000 --- a/img/icon_7.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_8.svg b/img/icon_8.svg deleted file mode 100755 index d87abe3..0000000 --- a/img/icon_8.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/icon_9.svg b/img/icon_9.svg deleted file mode 100755 index 4f21468..0000000 --- a/img/icon_9.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/index.jpg b/img/index.jpg deleted file mode 100644 index 62cd4c5..0000000 Binary files a/img/index.jpg and /dev/null differ diff --git a/img/index.orig.jpg b/img/index.orig.jpg deleted file mode 100755 index d8d3906..0000000 Binary files a/img/index.orig.jpg and /dev/null differ diff --git a/img/latest_1.jpg b/img/latest_1.jpg deleted file mode 100755 index 3992437..0000000 Binary files a/img/latest_1.jpg and /dev/null differ diff --git a/img/latest_2.jpg b/img/latest_2.jpg deleted file mode 100755 index d478b27..0000000 Binary files a/img/latest_2.jpg and /dev/null differ diff --git a/img/latest_3.jpg b/img/latest_3.jpg deleted file mode 100755 index af76401..0000000 Binary files a/img/latest_3.jpg and /dev/null differ diff --git a/img/logo-cosl-footer.png b/img/logo-cosl-footer.png new file mode 100644 index 0000000..ecbf41d Binary files /dev/null and b/img/logo-cosl-footer.png differ diff --git a/img/logo_1.png b/img/logo_1.png deleted file mode 100755 index 3f41424..0000000 Binary files a/img/logo_1.png and /dev/null differ diff --git a/img/logo_2.png b/img/logo_2.png deleted file mode 100755 index f9fa325..0000000 Binary files a/img/logo_2.png and /dev/null differ diff --git a/img/logo_3.png b/img/logo_3.png deleted file mode 100755 index 02d5860..0000000 Binary files a/img/logo_3.png and /dev/null differ diff --git a/img/logo_4.png b/img/logo_4.png deleted file mode 100755 index f06045e..0000000 Binary files a/img/logo_4.png and /dev/null differ diff --git a/img/schedule_1.jpg b/img/schedule_1.jpg deleted file mode 100755 index e6693f3..0000000 Binary files a/img/schedule_1.jpg and /dev/null differ diff --git a/img/schedule_10.jpg b/img/schedule_10.jpg deleted file mode 100755 index 393bf47..0000000 Binary files a/img/schedule_10.jpg and /dev/null differ diff --git a/img/schedule_11.jpg b/img/schedule_11.jpg deleted file mode 100755 index fb51ef1..0000000 Binary files a/img/schedule_11.jpg and /dev/null differ diff --git a/img/schedule_2.jpg b/img/schedule_2.jpg deleted file mode 100755 index e307a29..0000000 Binary files a/img/schedule_2.jpg and /dev/null differ diff --git a/img/schedule_3.jpg b/img/schedule_3.jpg deleted file mode 100755 index c657ef8..0000000 Binary files a/img/schedule_3.jpg and /dev/null differ diff --git a/img/schedule_4.jpg b/img/schedule_4.jpg deleted file mode 100755 index 08f28d2..0000000 Binary files a/img/schedule_4.jpg and /dev/null differ diff --git a/img/schedule_5.jpg b/img/schedule_5.jpg deleted file mode 100755 index 13cf070..0000000 Binary files a/img/schedule_5.jpg and /dev/null differ diff --git a/img/schedule_6.jpg b/img/schedule_6.jpg deleted file mode 100755 index d855b03..0000000 Binary files a/img/schedule_6.jpg and /dev/null differ diff --git a/img/schedule_7.jpg b/img/schedule_7.jpg deleted file mode 100755 index 51771d4..0000000 Binary files a/img/schedule_7.jpg and /dev/null differ diff --git a/img/schedule_8.jpg b/img/schedule_8.jpg deleted file mode 100755 index 470893a..0000000 Binary files a/img/schedule_8.jpg and /dev/null differ diff --git a/img/schedule_9.jpg b/img/schedule_9.jpg deleted file mode 100755 index 70f4260..0000000 Binary files a/img/schedule_9.jpg and /dev/null differ diff --git a/img/schedule_page.jpg b/img/schedule_page.jpg deleted file mode 100755 index 41c6715..0000000 Binary files a/img/schedule_page.jpg and /dev/null differ diff --git a/img/speaker_1.jpg b/img/speaker_1.jpg deleted file mode 100755 index ce9d39d..0000000 Binary files a/img/speaker_1.jpg and /dev/null differ diff --git a/img/speaker_2.jpg b/img/speaker_2.jpg deleted file mode 100755 index c34696d..0000000 Binary files a/img/speaker_2.jpg and /dev/null differ diff --git a/img/speaker_3.jpg b/img/speaker_3.jpg deleted file mode 100755 index 9efbc21..0000000 Binary files a/img/speaker_3.jpg and /dev/null differ diff --git a/img/speaker_4.jpg b/img/speaker_4.jpg deleted file mode 100755 index 004078e..0000000 Binary files a/img/speaker_4.jpg and /dev/null differ diff --git a/img/speaker_5.jpg b/img/speaker_5.jpg deleted file mode 100755 index 90cdd00..0000000 Binary files a/img/speaker_5.jpg and /dev/null differ diff --git a/img/speaker_6.jpg b/img/speaker_6.jpg deleted file mode 100755 index c9e8222..0000000 Binary files a/img/speaker_6.jpg and /dev/null differ diff --git a/img/tabs.jpg b/img/tabs.jpg deleted file mode 100755 index e7e9f3d..0000000 Binary files a/img/tabs.jpg and /dev/null differ diff --git a/img/timer.jpg b/img/timer.jpg deleted file mode 100755 index 450642e..0000000 Binary files a/img/timer.jpg and /dev/null differ diff --git a/img/venue/12501.jpg b/img/venue/12501.jpg new file mode 100644 index 0000000..158b39a Binary files /dev/null and b/img/venue/12501.jpg differ diff --git a/img/venue/12503.jpg b/img/venue/12503.jpg new file mode 100644 index 0000000..fe72e2a Binary files /dev/null and b/img/venue/12503.jpg differ diff --git a/index.cgi b/index.cgi index 7c00bf2..3d03891 100755 --- a/index.cgi +++ b/index.cgi @@ -85,6 +85,6 @@ if (! -e dirname($0).'/tmpl/'.$vars->{page}){ my $skl = dirname($vars->{page}); # print Dumper($template); $template->process("skeleton/index.tt",$vars) || die "Template process failed: ", $template->error(), "\n"; -print "/*".Dumper($vars->{page})."*/"; +#print "/*".Dumper($vars->{page})."*/"; diff --git a/js/about.js b/js/about.js deleted file mode 100755 index 13f252e..0000000 --- a/js/about.js +++ /dev/null @@ -1,204 +0,0 @@ -/* JS Document */ - -/****************************** - -[Table of Contents] - -1. Vars and Inits -2. Set Header -3. Init Menu -4. Init Gallery -5. Init Milestones -6. Init Logos Slider - - -******************************/ - -$(document).ready(function() -{ - "use strict"; - - /* - - 1. Vars and Inits - - */ - - var header = $('.header'); - var ctrl = new ScrollMagic.Controller(); - - setHeader(); - initMenu(); - initGallery(); - initMilestones(); - initLogosSlider(); - - $(window).on('resize', function() - { - setHeader(); - - setTimeout(function() - { - $(window).trigger('resize.px.parallax'); - }, 375); - }); - - $(document).on('scroll', function() - { - setHeader(); - }); - - /* - - 2. Set Header - - */ - - function setHeader() - { - var header = $('.header'); - - if($(window).scrollTop() > 91) - { - header.addClass('scrolled'); - } - else - { - header.removeClass('scrolled'); - } - } - - /* - - 3. Init Menu - - */ - - function initMenu() - { - if($('.menu').length && $('.hamburger').length) - { - var menu = $('.menu'); - var hamburger = $('.hamburger'); - var close = $('.menu_close'); - - hamburger.on('click', function() - { - menu.toggleClass('active'); - }); - - close.on('click', function() - { - menu.toggleClass('active'); - }); - } - } - - /* - - 7. Init Gallery - - */ - - function initGallery() - { - if($('.gallery_item').length) - { - $('.colorbox').colorbox( - { - rel:'colorbox', - photo: true, - maxWidth:'95%', - maxHeight:'95%' - }); - } - } - - /* - - 5. Init Milestones - - */ - - function initMilestones() - { - if($('.milestone_counter').length) - { - var milestoneItems = $('.milestone_counter'); - - milestoneItems.each(function(i) - { - var ele = $(this); - var endValue = ele.data('end-value'); - var eleValue = ele.text(); - - /* Use data-sign-before and data-sign-after to add signs - infront or behind the counter number */ - var signBefore = ""; - var signAfter = ""; - - if(ele.attr('data-sign-before')) - { - signBefore = ele.attr('data-sign-before'); - } - - if(ele.attr('data-sign-after')) - { - signAfter = ele.attr('data-sign-after'); - } - - var milestoneScene = new ScrollMagic.Scene({ - triggerElement: this, - triggerHook: 'onEnter', - reverse:false - }) - .on('start', function() - { - var counter = {value:eleValue}; - var counterTween = TweenMax.to(counter, 4, - { - value: endValue, - roundProps:"value", - ease: Circ.easeOut, - onUpdate:function() - { - document.getElementsByClassName('milestone_counter')[i].innerHTML = signBefore + counter.value + signAfter; - } - }); - }) - .addTo(ctrl); - }); - } - } - - /* - - 6. Init Logos Slider - - */ - - function initLogosSlider() - { - if($('.logos_slider').length) - { - var logosSlider = $('.logos_slider'); - logosSlider.owlCarousel( - { - items:4, - loop:true, - autoplay:false, - smartSpeed:1200, - nav:false, - dots:false, - responsive: - { - 0:{items:1}, - 769:{items:2}, - 992:{items:3}, - 1200:{items:4} - } - }); - } - } - -}); \ No newline at end of file diff --git a/js/all.min.js b/js/all.min.js new file mode 100644 index 0000000..2daea97 --- /dev/null +++ b/js/all.min.js @@ -0,0 +1 @@ +!function(){"use strict";var c={},l={};try{"undefined"!=typeof window&&(c=window),"undefined"!=typeof document&&(l=document)}catch(c){}var h=(c.navigator||{}).userAgent,z=void 0===h?"":h,v=c,m=l,s=(v.document,!!m.documentElement&&!!m.head&&"function"==typeof m.addEventListener&&m.createElement,~z.indexOf("MSIE")||z.indexOf("Trident/"),"___FONT_AWESOME___"),e=function(){try{return!0}catch(c){return!1}}();var a=v||{};a[s]||(a[s]={}),a[s].styles||(a[s].styles={}),a[s].hooks||(a[s].hooks={}),a[s].shims||(a[s].shims=[]);var M=a[s];function t(c,z){var l=Object.keys(z).reduce(function(c,l){var h=z[l];return!!h.icon?c[h.iconName]=h.icon:c[l]=h,c},{});"function"==typeof M.hooks.addPack?M.hooks.addPack(c,l):M.styles[c]=function(v){for(var c=1;c>>0;h--;)l[h]=c[h];return l}function W(c){return c.classList?D(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function Y(c,l){var h,z=l.split("-"),v=z[0],m=z.slice(1).join("-");return v!==c||""===m||(h=m,~x.indexOf(h))?null:m}function G(c){return"".concat(c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function J(h){return Object.keys(h||{}).reduce(function(c,l){return c+"".concat(l,": ").concat(h[l],";")},"")}function Q(c){return c.size!==R.size||c.x!==R.x||c.y!==R.y||c.rotate!==R.rotate||c.flipX||c.flipY}function Z(c){var l=c.transform,h=c.containerWidth,z=c.iconWidth,v={transform:"translate(".concat(h/2," 256)")},m="translate(".concat(32*l.x,", ").concat(32*l.y,") "),s="scale(".concat(l.size/16*(l.flipX?-1:1),", ").concat(l.size/16*(l.flipY?-1:1),") "),e="rotate(".concat(l.rotate," 0 0)");return{outer:v,inner:{transform:"".concat(m," ").concat(s," ").concat(e)},path:{transform:"translate(".concat(z/2*-1," -256)")}}}var $={x:0,y:0,width:"100%",height:"100%"};function cc(c){var l=c.icons,h=l.main,z=l.mask,v=c.prefix,m=c.iconName,s=c.transform,e=c.symbol,a=c.title,M=c.extra,t=c.watchable,f=void 0!==t&&t,r=z.found?z:h,H=r.width,n=r.height,V="fa-w-".concat(Math.ceil(H/n*16)),i=[U.replacementClass,m?"".concat(U.familyPrefix,"-").concat(m):"",V].filter(function(c){return-1===M.classes.indexOf(c)}).concat(M.classes).join(" "),o={children:[],attributes:B({},M.attributes,{"data-prefix":v,"data-icon":m,class:i,role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(H," ").concat(n)})};f&&(o.attributes[X]=""),a&&o.children.push({tag:"title",attributes:{id:o.attributes["aria-labelledby"]||"title-".concat(K())},children:[a]});var C,L,d,u,p,b,g,S,y,w,k,A,x,q,O,j,E,N,P,T,_,R,F,I=B({},o,{prefix:v,iconName:m,main:h,mask:z,transform:s,symbol:e,styles:M.styles}),D=z.found&&h.found?(L=(C=I).children,d=C.attributes,u=C.main,p=C.mask,b=C.transform,g=u.width,S=u.icon,y=p.width,w=p.icon,k=Z({transform:b,containerWidth:y,iconWidth:g}),A={tag:"rect",attributes:B({},$,{fill:"white"})},x={tag:"g",attributes:B({},k.inner),children:[{tag:"path",attributes:B({},S.attributes,k.path,{fill:"black"})}]},q={tag:"g",attributes:B({},k.outer),children:[x]},O="mask-".concat(K()),j="clip-".concat(K()),E={tag:"defs",children:[{tag:"clipPath",attributes:{id:j},children:[w]},{tag:"mask",attributes:B({},$,{id:O,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[A,q]}]},L.push(E,{tag:"rect",attributes:B({fill:"currentColor","clip-path":"url(#".concat(j,")"),mask:"url(#".concat(O,")")},$)}),{children:L,attributes:d}):function(c){var l=c.children,h=c.attributes,z=c.main,v=c.transform,m=J(c.styles);if(0").concat(s.map(Lc).join(""),"")}var dc=function(){};function uc(c){return"string"==typeof(c.getAttribute?c.getAttribute(X):null)}var pc={replace:function(c){var l=c[0],h=c[1].map(function(c){return Lc(c)}).join("\n");if(l.parentNode&&l.outerHTML)l.outerHTML=h+(U.keepOriginalSource&&"svg"!==l.tagName.toLowerCase()?"\x3c!-- ".concat(l.outerHTML," --\x3e"):"");else if(l.parentNode){var z=document.createElement("span");l.parentNode.replaceChild(z,l),z.outerHTML=h}},nest:function(c){var l=c[0],h=c[1];if(~W(l).indexOf(U.replacementClass))return pc.replace(c);var z=new RegExp("".concat(U.familyPrefix,"-.*"));delete h[0].attributes.style;var v=h[0].attributes.class.split(" ").reduce(function(c,l){return l===U.replacementClass||l.match(z)?c.toSvg.push(l):c.toNode.push(l),c},{toNode:[],toSvg:[]});h[0].attributes.class=v.toSvg.join(" ");var m=h.map(function(c){return Lc(c)}).join("\n");l.setAttribute("class",v.toNode.join(" ")),l.setAttribute(X,""),l.innerHTML=m}};function bc(h,c){var z="function"==typeof c?c:dc;0===h.length?z():(H.requestAnimationFrame||function(c){return c()})(function(){var c=!0===U.autoReplaceSvg?pc.replace:pc[U.autoReplaceSvg]||pc.replace,l=sc.begin("mutate");h.map(c),l(),z()})}var gc=!1;var Sc=null;function yc(c){if(M&&U.observeMutations){var v=c.treeCallback,m=c.nodeCallback,s=c.pseudoElementsCallback,l=c.observeMutationsRoot,h=void 0===l?n.body:l;Sc=new M(function(c){gc||D(c).forEach(function(c){if("childList"===c.type&&0 91) - { - header.addClass('scrolled'); - } - else - { - header.removeClass('scrolled'); - } - } - - /* - - 3. Init Menu - - */ - - function initMenu() - { - if($('.menu').length && $('.hamburger').length) - { - var menu = $('.menu'); - var hamburger = $('.hamburger'); - var close = $('.menu_close'); - - hamburger.on('click', function() - { - menu.toggleClass('active'); - }); - - close.on('click', function() - { - menu.toggleClass('active'); - }); - } - } - - /* - - 4. Init Gallery - - */ - - function initGallery() - { - if($('.gallery_item').length) - { - $('.colorbox').colorbox( - { - rel:'colorbox', - photo: true, - maxWidth:'95%', - maxHeight:'95%' - }); - } - } - -}); \ No newline at end of file diff --git a/js/contact.js b/js/contact.js deleted file mode 100755 index c35c9ca..0000000 --- a/js/contact.js +++ /dev/null @@ -1,170 +0,0 @@ -/* JS Document */ - -/****************************** - -[Table of Contents] - -1. Vars and Inits -2. Set Header -3. Init Menu -4. Init Google Map -5. Init Gallery - - -******************************/ - -$(document).ready(function() -{ - "use strict"; - - /* - - 1. Vars and Inits - - */ - - var header = $('.header'); - var ctrl = new ScrollMagic.Controller(); - var map; - - setHeader(); - initMenu(); - initGoogleMap(); - initGallery(); - - $(window).on('resize', function() - { - setHeader(); - - setTimeout(function() - { - $(window).trigger('resize.px.parallax'); - }, 375); - }); - - $(document).on('scroll', function() - { - setHeader(); - }); - - /* - - 2. Set Header - - */ - - function setHeader() - { - var header = $('.header'); - - if($(window).scrollTop() > 91) - { - header.addClass('scrolled'); - } - else - { - header.removeClass('scrolled'); - } - } - - /* - - 3. Init Menu - - */ - - function initMenu() - { - if($('.menu').length && $('.hamburger').length) - { - var menu = $('.menu'); - var hamburger = $('.hamburger'); - var close = $('.menu_close'); - - hamburger.on('click', function() - { - menu.toggleClass('active'); - }); - - close.on('click', function() - { - menu.toggleClass('active'); - }); - } - } - - /* - - 4. Init Google Map - - */ - - function initGoogleMap() - { - var myLatlng = new google.maps.LatLng(40.760836, -73.910357); - var mapOptions = - { - center: myLatlng, - zoom: 14, - mapTypeId: google.maps.MapTypeId.ROADMAP, - draggable: true, - scrollwheel: false, - zoomControl: true, - zoomControlOptions: - { - position: google.maps.ControlPosition.RIGHT_CENTER - }, - mapTypeControl: false, - scaleControl: false, - streetViewControl: false, - rotateControl: false, - fullscreenControl: true, - styles: - [ - { - "featureType": "road.highway", - "elementType": "geometry.fill", - "stylers": [ - { - "color": "#ffeba1" - } - ] - } - ] - } - - // Initialize a map with options - map = new google.maps.Map(document.getElementById('map'), mapOptions); - - // Re-center map after window resize - google.maps.event.addDomListener(window, 'resize', function() - { - setTimeout(function() - { - google.maps.event.trigger(map, "resize"); - map.setCenter(myLatlng); - }, 1400); - }); - } - - /* - - 5. Init Gallery - - */ - - function initGallery() - { - if($('.gallery_item').length) - { - $('.colorbox').colorbox( - { - rel:'colorbox', - photo: true, - maxWidth:'95%', - maxHeight:'95%' - }); - } - } - -}); \ No newline at end of file diff --git a/js/core.min.js b/js/core.min.js new file mode 100644 index 0000000..cbf09d6 --- /dev/null +++ b/js/core.min.js @@ -0,0 +1,11 @@ +/*! + * jQuery UI Core 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ +!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(a){var e,t,n,i;function r(e,t){var n,i,r,o=e.nodeName.toLowerCase();return"area"===o?(i=(n=e.parentNode).name,!(!e.href||!i||"map"!==n.nodeName.toLowerCase())&&(!!(r=a("img[usemap='#"+i+"']")[0])&&s(r))):(/^(input|select|textarea|button|object)$/.test(o)?!e.disabled:"a"===o&&e.href||t)&&s(e)}function s(e){return a.expr.filters.visible(e)&&!a(e).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}a.ui=a.ui||{},a.extend(a.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({scrollParent:function(e){var t=this.css("position"),n="absolute"===t,i=e?/(auto|scroll|hidden)/:/(auto|scroll)/,r=this.parents().filter(function(){var e=a(this);return(!n||"static"!==e.css("position"))&&i.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==t&&r.length?r:a(this[0].ownerDocument||document)},uniqueId:(e=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(t){return function(e){return!!a.data(e,t)}}):function(e,t,n){return!!a.data(e,n[3])},focusable:function(e){return r(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(e){var t=a.attr(e,"tabindex"),n=isNaN(t);return(n||0<=t)&&r(e,!n)}}),a("").outerWidth(1).jquery||a.each(["Width","Height"],function(e,n){var r="Width"===n?["Left","Right"]:["Top","Bottom"],i=n.toLowerCase(),o={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function s(e,t,n,i){return a.each(r,function(){t-=parseFloat(a.css(e,"padding"+this))||0,n&&(t-=parseFloat(a.css(e,"border"+this+"Width"))||0),i&&(t-=parseFloat(a.css(e,"margin"+this))||0)}),t}a.fn["inner"+n]=function(e){return void 0===e?o["inner"+n].call(this):this.each(function(){a(this).css(i,s(this,e)+"px")})},a.fn["outer"+n]=function(e,t){return"number"!=typeof e?o["outer"+n].call(this,e):this.each(function(){a(this).css(i,s(this,e,!0,t)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),a("").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=(t=a.fn.removeData,function(e){return arguments.length?t.call(this,a.camelCase(e)):t.call(this)})),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.fn.extend({focus:(i=a.fn.focus,function(t,n){return"number"==typeof t?this.each(function(){var e=this;setTimeout(function(){a(e).focus(),n&&n.call(e)},t)}):i.apply(this,arguments)}),disableSelection:(n="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.bind(n+".ui-disableSelection",function(e){e.preventDefault()})}),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(e){if(void 0!==e)return this.css("zIndex",e);if(this.length)for(var t,n,i=a(this[0]);i.length&&i[0]!==document;){if(("absolute"===(t=i.css("position"))||"relative"===t||"fixed"===t)&&(n=parseInt(i.css("zIndex"),10),!isNaN(n)&&0!==n))return n;i=i.parent()}return 0}}),a.ui.plugin={add:function(e,t,n){var i,r=a.ui[e].prototype;for(i in n)r.plugins[i]=r.plugins[i]||[],r.plugins[i].push([t,n[i]])},call:function(e,t,n,i){var r,o=e.plugins[t];if(o&&(i||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(r=0;r 91) - { - header.addClass('scrolled'); - } - else - { - header.removeClass('scrolled'); - } - } - - /* - - 3. Init Menu - - */ - - function initMenu() - { - if($('.menu').length && $('.hamburger').length) - { - var menu = $('.menu'); - var hamburger = $('.hamburger'); - var close = $('.menu_close'); - - hamburger.on('click', function() - { - menu.toggleClass('active'); - }); - - close.on('click', function() - { - menu.toggleClass('active'); - }); - } - } - - /* - - 4. Init Home Slider - - */ - - function initHomeSlider() - { - if($('.home_slider').length) - { - var homeSlider = $('.home_slider'); - homeSlider.owlCarousel( - { - items:1, - autoplay:true, - autoplayTimeout:8000, - loop:true, - smartSpeed:1200, - nav:false - }); - - /* Custom dots events */ - if($('.home_slider_custom_dot').length) - { - $('.home_slider_custom_dot').on('click', function() - { - $('.home_slider_custom_dot').removeClass('active'); - $(this).addClass('active'); - homeSlider.trigger('to.owl.carousel', [$(this).index(), 1200]); - }); - } - - /* Change active class for dots when slide changes by nav or touch */ - homeSlider.on('changed.owl.carousel', function(event) - { - $('.home_slider_custom_dot').removeClass('active'); - $('.home_slider_custom_dots li').eq(event.page.index).addClass('active'); - }); - } - } - - /* - - 5. Init Timer - - */ - - function initTimer() - { - if($('.timer').length) - { - // Uncomment line below and replace date - var target_date = new Date('2020-07-26').getTime(); - - // comment lines below - // var date = new Date(); - // date.setDate(date.getDate() + 3); - // var target_date = date.getTime(); - // //---------------------------------------- - - // variables for time units - var days, hours, minutes, seconds; - - var d = $('#day'); - var h = $('#hour'); - var m = $('#minute'); - var s = $('#second'); - - setInterval(function () - { - // find the amount of "seconds" between now and target - var current_date = new Date().getTime(); - var seconds_left = (target_date - current_date) / 1000; - - // do some time calculations - days = parseInt(seconds_left / 86400); - seconds_left = seconds_left % 86400; - - hours = parseInt(seconds_left / 3600); - seconds_left = seconds_left % 3600; - - minutes = parseInt(seconds_left / 60); - seconds = parseInt(seconds_left % 60); - - // display result - d.text(days); - h.text(hours); - m.text(minutes); - s.text(seconds); - - }, 1000); - } - } - - /* - - 6. Init Tabs - - */ - - function initTabs() - { - if($('.tab').length) - { - $('.tab').on('click', function() - { - $('.tab').removeClass('active'); - $(this).addClass('active'); - var clickedIndex = $('.tab').index(this); - - var panels = $('.tab_panel'); - panels.removeClass('active'); - $(panels[clickedIndex]).addClass('active'); - - setTimeout(function() - { - $(window).trigger('resize.px.parallax'); - }, 375); - }); - } - } - - /* - - 7. Init Gallery - - */ - - function initGallery() - { - if($('.gallery_item').length) - { - $('.colorbox').colorbox( - { - rel:'colorbox', - photo: true, - maxWidth:'95%', - maxHeight:'95%' - }); - } - } - +var the_conference_data = {"rtl":"","singular":"1","banner_event_timer":"2020-07-24"}; +jQuery(document).ready(function($) { + var rtl, winWidth; + winWidth = $(window).width(); + //Header Search form show/hide + // $('.site-header .nav-holder .form-holder').prepend('
'); + + // $('.site-header .form-section').click(function(event) { + // event.stopPropagation(); + // }); + // $("#btn-search").click(function() { + // $(".site-header .form-holder").show("fast"); + // }); + + // $('.btn-close-form').click(function(){ + // $('.site-header .nav-holder .form-holder').hide("fast"); + // }); + + /** + * + * Custom js from theme + * + */ + // new WOW().init(); + + // $('.scroll-down').click(function(){ + // $('html, body').animate({ + // scrollTop: $(".scroll-down").parent('.item').parents('.site-banner').next().offset().top + // }, 800); + // }); + + //append responsive button + // $('.site-header .container').append(''); + // $('.site-header button.toggle-btn').on('click', function(){ + // $('body').addClass('nav-toggled'); + // }); + + // $('.main-navigation .toggle-button').on('click', function(){ + // $('body').removeClass('nav-toggled'); + // }); + + // if($(window).width() <= 1024) { + // $('.main-navigation li.menu-item-has-children').prepend(''); + // $('.menu-item-has-children .submenu-toggle').on('click', function(){ + // $(this).toggleClass('active'); + // $(this).siblings('ul').slideToggle(); + // }); + // } + + // //wrap widget title content with span + // $('#secondary .widget-title, .site-footer .widget-title').wrapInner(''); + + //calculate header height + var headerHeight = $('header.site-header').outerHeight(); + $('header.page-header, body.home:not(.hasbanner) .site').css('padding-top', headerHeight); + $('.site-header + .site-banner .banner-caption').css('padding-top', headerHeight); + + //banner countdown + if ( ! ( the_conference_data.banner_event_timer === undefined || the_conference_data.banner_event_timer.length == 0 ) ) { + $('#bannerClock .days').countdown( the_conference_data.banner_event_timer, function(event) { + $(this).html(event.strftime('%D')); + }); + $('#bannerClock .hours').countdown( the_conference_data.banner_event_timer, function(event) { + $(this).html(event.strftime('%H')); + }); + $('#bannerClock .minutes').countdown(the_conference_data.banner_event_timer, function(event) { + $(this).html(event.strftime('%M')); + }); + $('#bannerClock .seconds').countdown(the_conference_data.banner_event_timer, function(event) { + $(this).html(event.strftime('%S')); + }); + } + + // $("#site-navigation ul li a").focus(function(){ + // $(this).parents("li").addClass("hover"); + // }).blur(function(){ + // $(this).parents("li").removeClass("hover"); + // }); + + }); \ No newline at end of file diff --git a/js/custom.min.js b/js/custom.min.js new file mode 100644 index 0000000..4c4b2bf --- /dev/null +++ b/js/custom.min.js @@ -0,0 +1,3 @@ +/*! the-conference 2020-01-31 9:45:24 AM */ + +jQuery(document).ready(function(n){n(window).width(),the_conference_data.rtl,n(".site-header .nav-holder .form-holder").prepend('
'),n(".site-header .form-section").click(function(e){e.stopPropagation()}),n("#btn-search").click(function(){n(".site-header .form-holder").show("fast")}),n(".btn-close-form").click(function(){n(".site-header .nav-holder .form-holder").hide("fast")}),(new WOW).init(),n(".scroll-down").click(function(){n("html, body").animate({scrollTop:n(".scroll-down").parent(".item").parents(".site-banner").next().offset().top},800)}),n(".site-header .container").append(''),n(".site-header button.toggle-btn").on("click",function(){n("body").addClass("nav-toggled")}),n(".main-navigation .toggle-button").on("click",function(){n("body").removeClass("nav-toggled")}),n(window).width()<=1024&&(n(".main-navigation li.menu-item-has-children").prepend(''),n(".menu-item-has-children .submenu-toggle").on("click",function(){n(this).toggleClass("active"),n(this).siblings("ul").slideToggle()})),n("#secondary .widget-title, .site-footer .widget-title").wrapInner('');var e=n("header.site-header").outerHeight();n("header.page-header, body.home:not(.hasbanner) .site").css("padding-top",e),n(".site-header + .site-banner .banner-caption").css("padding-top",e),void 0!==the_conference_data.banner_event_timer&&0!=the_conference_data.banner_event_timer.length&&(n("#bannerClock .days").countdown(the_conference_data.banner_event_timer,function(e){n(this).html(e.strftime("%D"))}),n("#bannerClock .hours").countdown(the_conference_data.banner_event_timer,function(e){n(this).html(e.strftime("%H"))}),n("#bannerClock .minutes").countdown(the_conference_data.banner_event_timer,function(e){n(this).html(e.strftime("%M"))}),n("#bannerClock .seconds").countdown(the_conference_data.banner_event_timer,function(e){n(this).html(e.strftime("%S"))})),n(".widget_rrtc_description_widget").length&&n(".description").each(function(){new PerfectScrollbar(n(this)[0])}),n("#site-navigation ul li a").focus(function(){n(this).parents("li").addClass("hover")}).blur(function(){n(this).parents("li").removeClass("hover")}),n(".widget_rrtc_description_widget a").focus(function(){n(this).parents(".widget_rrtc_description_widget").addClass("hover")}).blur(function(){n(this).parents(".widget_rrtc_description_widget").removeClass("hover")})}); \ No newline at end of file diff --git a/js/elements.js b/js/elements.js deleted file mode 100755 index 96c47d4..0000000 --- a/js/elements.js +++ /dev/null @@ -1,336 +0,0 @@ -/* JS Document */ - -/****************************** - -[Table of Contents] - -1. Vars and Inits -2. Set Header -3. Init Menu -4. Init Accordions -5. Init Tabs -6. Init Loaders -7. Init Milestones -8. Init Gallery - - -******************************/ - -$(document).ready(function() -{ - "use strict"; - - /* - - 1. Vars and Inits - - */ - - var header = $('.header'); - var ctrl = new ScrollMagic.Controller(); - - setHeader(); - initMenu(); - initAccordions(); - initTabs(); - initLoaders(); - initMilestones(); - initGallery(); - - $(window).on('resize', function() - { - setHeader(); - - setTimeout(function() - { - $(window).trigger('resize.px.parallax'); - }, 375); - }); - - $(document).on('scroll', function() - { - setHeader(); - }); - - /* - - 2. Set Header - - */ - - function setHeader() - { - var header = $('.header'); - - if($(window).scrollTop() > 91) - { - header.addClass('scrolled'); - } - else - { - header.removeClass('scrolled'); - } - } - - /* - - 3. Init Menu - - */ - - function initMenu() - { - if($('.menu').length && $('.hamburger').length) - { - var menu = $('.menu'); - var hamburger = $('.hamburger'); - var close = $('.menu_close'); - - hamburger.on('click', function() - { - menu.toggleClass('active'); - }); - - close.on('click', function() - { - menu.toggleClass('active'); - }); - } - } - - /* - - 4. Init Accordions - - */ - - function initAccordions() - { - if($('.accordion').length) - { - var accs = $('.accordion'); - - accs.each(function() - { - var acc = $(this); - - if(acc.hasClass('active')) - { - var panel = $(acc.next()); - var panelH = panel.prop('scrollHeight') + "px"; - - if(panel.css('max-height') == "0px") - { - panel.css('max-height', panel.prop('scrollHeight') + "px"); - } - else - { - panel.css('max-height', "0px"); - } - } - - acc.on('click', function() - { - if(acc.hasClass('active')) - { - acc.removeClass('active'); - var panel = $(acc.next()); - var panelH = panel.prop('scrollHeight') + "px"; - - if(panel.css('max-height') == "0px") - { - panel.css('max-height', panel.prop('scrollHeight') + "px"); - } - else - { - panel.css('max-height', "0px"); - } - } - else - { - acc.addClass('active'); - var panel = $(acc.next()); - var panelH = panel.prop('scrollHeight') + "px"; - - if(panel.css('max-height') == "0px") - { - panel.css('max-height', panel.prop('scrollHeight') + "px"); - } - else - { - panel.css('max-height', "0px"); - } - } - }); - }); - } - } - - /* - - 5. Init Tabs - - */ - - function initTabs() - { - if($('.tab').length) - { - $('.tab').on('click', function() - { - $('.tab').removeClass('active'); - $(this).addClass('active'); - var clickedIndex = $('.tab').index(this); - - var panels = $('.tab_panel'); - panels.removeClass('active'); - $(panels[clickedIndex]).addClass('active'); - }); - } - } - - /* - - 6. Init Loaders - - */ - - function initLoaders() - { - if($('.loader').length) - { - var loaders = $('.loader'); - - loaders.each(function() - { - var loader = this; - var endValue = $(loader).data('perc'); - - var loaderScene = new ScrollMagic.Scene({ - triggerElement: this, - triggerHook: 'onEnter', - reverse:false - }) - .on('start', function() - { - var bar = new ProgressBar.Circle(loader, - { - color: '#7360ff', - // This has to be the same size as the maximum width to - // prevent clipping - strokeWidth: 6.5, - trailWidth: 0, - trailColor: 'transparent', - easing: 'easeInOut', - duration: 1400, - text: - { - autoStyleContainer: false - }, - from:{ color: '#7360ff', width: 6.5 }, - to: { color: '#7360ff', width: 6.5 }, - // Set default step function for all animate calls - step: function(state, circle) - { - circle.path.setAttribute('stroke', state.color); - circle.path.setAttribute('stroke-width', state.width); - - var value = Math.round(circle.value() * 100); - - if (value === 0) - { - circle.setText('0%'); - } - else - { - circle.setText(value + "%"); - } - } - }); - - - bar.animate(endValue); // Number from 0.0 to 1.0 - }) - .addTo(ctrl); - }); - } - } - - /* - - 7. Init Milestones - - */ - - function initMilestones() - { - if($('.milestone_counter').length) - { - var milestoneItems = $('.milestone_counter'); - - milestoneItems.each(function(i) - { - var ele = $(this); - var endValue = ele.data('end-value'); - var eleValue = ele.text(); - - /* Use data-sign-before and data-sign-after to add signs - infront or behind the counter number */ - var signBefore = ""; - var signAfter = ""; - - if(ele.attr('data-sign-before')) - { - signBefore = ele.attr('data-sign-before'); - } - - if(ele.attr('data-sign-after')) - { - signAfter = ele.attr('data-sign-after'); - } - - var milestoneScene = new ScrollMagic.Scene({ - triggerElement: this, - triggerHook: 'onEnter', - reverse:false - }) - .on('start', function() - { - var counter = {value:eleValue}; - var counterTween = TweenMax.to(counter, 4, - { - value: endValue, - roundProps:"value", - ease: Circ.easeOut, - onUpdate:function() - { - document.getElementsByClassName('milestone_counter')[i].innerHTML = signBefore + counter.value + signAfter; - } - }); - }) - .addTo(ctrl); - }); - } - } - - /* - - 8. Init Gallery - - */ - - function initGallery() - { - if($('.gallery_item').length) - { - $('.colorbox').colorbox( - { - rel:'colorbox', - photo: true, - maxWidth:'95%', - maxHeight:'95%' - }); - } - } - -}); \ No newline at end of file diff --git a/js/jquery-migrate.min.js b/js/jquery-migrate.min.js new file mode 100644 index 0000000..2e84fcb --- /dev/null +++ b/js/jquery-migrate.min.js @@ -0,0 +1,2 @@ +/*! jQuery Migrate v1.4.1 | (c) jQuery Foundation and other contributors | jquery.org/license */ +"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b,c){function d(c){var d=b.console;f[c]||(f[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function e(b,c,e,f){if(Object.defineProperty)try{return void Object.defineProperty(b,c,{configurable:!0,enumerable:!0,get:function(){return d(f),e},set:function(a){d(f),e=a}})}catch(g){}a._definePropertyBroken=!0,b[c]=e}a.migrateVersion="1.4.1";var f={};a.migrateWarnings=[],b.console&&b.console.log&&b.console.log("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" with logging active")+", version "+a.migrateVersion),a.migrateTrace===c&&(a.migrateTrace=!0),a.migrateReset=function(){f={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&d("jQuery is not compatible with Quirks Mode");var g=a("",{size:1}).attr("size")&&a.attrFn,h=a.attr,i=a.attrHooks.value&&a.attrHooks.value.get||function(){return null},j=a.attrHooks.value&&a.attrHooks.value.set||function(){return c},k=/^(?:input|button)$/i,l=/^[238]$/,m=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,n=/^(?:checked|selected)$/i;e(a,"attrFn",g||{},"jQuery.attrFn is deprecated"),a.attr=function(b,e,f,i){var j=e.toLowerCase(),o=b&&b.nodeType;return i&&(h.length<4&&d("jQuery.fn.attr( props, pass ) is deprecated"),b&&!l.test(o)&&(g?e in g:a.isFunction(a.fn[e])))?a(b)[e](f):("type"===e&&f!==c&&k.test(b.nodeName)&&b.parentNode&&d("Can't change the 'type' of an input or button in IE 6/7/8"),!a.attrHooks[j]&&m.test(j)&&(a.attrHooks[j]={get:function(b,d){var e,f=a.prop(b,d);return f===!0||"boolean"!=typeof f&&(e=b.getAttributeNode(d))&&e.nodeValue!==!1?d.toLowerCase():c},set:function(b,c,d){var e;return c===!1?a.removeAttr(b,d):(e=a.propFix[d]||d,e in b&&(b[e]=!0),b.setAttribute(d,d.toLowerCase())),d}},n.test(j)&&d("jQuery.fn.attr('"+j+"') might use property instead of attribute")),h.call(a,b,e,f))},a.attrHooks.value={get:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?i.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value') no longer gets properties"),b in a?a.value:null)},set:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?j.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value', val) no longer sets properties"),void(a.value=b))}};var o,p,q=a.fn.init,r=a.find,s=a.parseJSON,t=/^\s*)([^>]*)$/;a.fn.init=function(b,e,f){var g,h;return b&&"string"==typeof b&&!a.isPlainObject(e)&&(g=w.exec(a.trim(b)))&&g[0]&&(t.test(b)||d("$(html) HTML strings must start with '<' character"),g[3]&&d("$(html) HTML text after last tag is ignored"),"#"===g[0].charAt(0)&&(d("HTML string cannot start with a '#' character"),a.error("JQMIGRATE: Invalid selector string (XSS)")),e&&e.context&&e.context.nodeType&&(e=e.context),a.parseHTML)?q.call(this,a.parseHTML(g[2],e&&e.ownerDocument||e||document,!0),e,f):(h=q.apply(this,arguments),b&&b.selector!==c?(h.selector=b.selector,h.context=b.context):(h.selector="string"==typeof b?b:"",b&&(h.context=b.nodeType?b:e||document)),h)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&u.test(a))try{document.querySelector(a)}catch(c){a=a.replace(v,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),d("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){d("Attribute selector with '#' was not fixed: "+b[0])}}return r.apply(this,b)};var x;for(x in r)Object.prototype.hasOwnProperty.call(r,x)&&(a.find[x]=r[x]);a.parseJSON=function(a){return a?s.apply(this,arguments):(d("jQuery.parseJSON requires a valid JSON string"),null)},a.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a.browser||(o=a.uaMatch(navigator.userAgent),p={},o.browser&&(p[o.browser]=!0,p.version=o.version),p.chrome?p.webkit=!0:p.webkit&&(p.safari=!0),a.browser=p),e(a,"browser",a.browser,"jQuery.browser is deprecated"),a.boxModel=a.support.boxModel="CSS1Compat"===document.compatMode,e(a,"boxModel",a.boxModel,"jQuery.boxModel is deprecated"),e(a.support,"boxModel",a.support.boxModel,"jQuery.support.boxModel is deprecated"),a.sub=function(){function b(a,c){return new b.fn.init(a,c)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(d,e){var f=a.fn.init.call(this,d,e,c);return f instanceof b?f:b(f)},b.fn.init.prototype=b.fn;var c=b(document);return d("jQuery.sub() is deprecated"),b},a.fn.size=function(){return d("jQuery.fn.size() is deprecated; use the .length property"),this.length};var y=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return y=!0,a=d.apply(this,arguments),y=!1,a})}),a.swap=function(a,b,c,e){var f,g,h={};y||d("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=c.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f},a.ajaxSetup({converters:{"text json":a.parseJSON}});var z=a.fn.data;a.fn.data=function(b){var e,f,g=this[0];return!g||"events"!==b||1!==arguments.length||(e=a.data(g,b),f=a._data(g,b),e!==c&&e!==f||f===c)?z.apply(this,arguments):(d("Use of jQuery.fn.data('events') is deprecated"),f)};var A=/\/(java|ecma)script/i;a.clean||(a.clean=function(b,c,e,f){c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d("jQuery.clean() is deprecated");var g,h,i,j,k=[];if(a.merge(k,a.buildFragment(b,c).childNodes),e)for(i=function(a){return!a.type||A.test(a.type)?f?f.push(a.parentNode?a.parentNode.removeChild(a):a):e.appendChild(a):void 0},g=0;null!=(h=k[g]);g++)a.nodeName(h,"script")&&i(h)||(e.appendChild(h),"undefined"!=typeof h.getElementsByTagName&&(j=a.grep(a.merge([],h.getElementsByTagName("script")),i),k.splice.apply(k,[g+1,0].concat(j)),g+=j.length));return k});var B=a.event.add,C=a.event.remove,D=a.event.trigger,E=a.fn.toggle,F=a.fn.live,G=a.fn.die,H=a.fn.load,I="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",J=new RegExp("\\b(?:"+I+")\\b"),K=/(?:^|\s)hover(\.\S+|)\b/,L=function(b){return"string"!=typeof b||a.event.special.hover?b:(K.test(b)&&d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),b&&b.replace(K,"mouseenter$1 mouseleave$1"))};a.event.props&&"attrChange"!==a.event.props[0]&&a.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),a.event.dispatch&&e(a.event,"handle",a.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),a.event.add=function(a,b,c,e,f){a!==document&&J.test(b)&&d("AJAX events should be attached to document: "+b),B.call(this,a,L(b||""),c,e,f)},a.event.remove=function(a,b,c,d,e){C.call(this,a,L(b)||"",c,d,e)},a.each(["load","unload","error"],function(b,c){a.fn[c]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===c&&"string"==typeof a[0]?H.apply(this,a):(d("jQuery.fn."+c+"() is deprecated"),a.splice(0,0,c),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a.fn.toggle=function(b,c){if(!a.isFunction(b)||!a.isFunction(c))return E.apply(this,arguments);d("jQuery.fn.toggle(handler, handler...) is deprecated");var e=arguments,f=b.guid||a.guid++,g=0,h=function(c){var d=(a._data(this,"lastToggle"+b.guid)||0)%g;return a._data(this,"lastToggle"+b.guid,d+1),c.preventDefault(),e[d].apply(this,arguments)||!1};for(h.guid=f;g=this.finalDate,this.offset={seconds:this.totalSecsLeft%60,minutes:Math.floor(this.totalSecsLeft/60)%60,hours:Math.floor(this.totalSecsLeft/60/60)%24,days:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToWeek:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToMonth:Math.floor(this.totalSecsLeft/60/60/24%30.4368),weeks:Math.floor(this.totalSecsLeft/60/60/24/7),weeksToMonth:Math.floor(this.totalSecsLeft/60/60/24/7)%4,months:Math.floor(this.totalSecsLeft/60/60/24/30.4368),years:Math.abs(this.finalDate.getFullYear()-i.getFullYear()),totalDays:Math.floor(this.totalSecsLeft/60/60/24),totalHours:Math.floor(this.totalSecsLeft/60/60),totalMinutes:Math.floor(this.totalSecsLeft/60),totalSeconds:this.totalSecsLeft},this.options.elapse||0!==this.totalSecsLeft?this.dispatchEvent("update"):(this.stop(),this.dispatchEvent("finish")))}else this.remove()},dispatchEvent:function(e){var s,i=t.Event(e+".countdown");i.finalDate=this.finalDate,i.elapsed=this.elapsed,i.offset=t.extend({},this.offset),i.strftime=(s=this.offset,function(t){var e,i,n,a,h,l,r=t.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);if(r)for(var c=0,f=r.length;c1?h:l),""===p&&g<10&&(g="0"+g.toString()),t=t.replace(d,g.toString()))}return t=t.replace(/%%/,"%")}),this.$el.trigger(i)}}),t.fn.countdown=function(){var s=Array.prototype.slice.call(arguments,0);return this.each(function(){var i=t(this).data("countdown-instance");if(void 0!==i){var o=e[i],a=s[0];n.prototype.hasOwnProperty(a)?o[a].apply(o,s.slice(1)):null===String(a).match(/^[$A-Z_][0-9A-Z_$]*$/i)?(o.setFinalDate.call(o,a),o.start()):t.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi,a))}else new n(this,s[0],s[1])})}}); \ No newline at end of file diff --git a/js/jquery.js b/js/jquery.js new file mode 100644 index 0000000..340ce0a --- /dev/null +++ b/js/jquery.js @@ -0,0 +1,6 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license | WordPress 2019-05-16 */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;d0&&b-1 in a)}var t=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=fa(),z=fa(),A=fa(),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;c+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),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")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(xa){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 ea(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+pa(r[h]);s=r.join(","),w=_.test(a)&&na(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function fa(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ga(a){return a[u]=!0,a}function ha(a){var b=n.createElement("div");try{return!!a(b)}catch(xa){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ia(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ja(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 ka(a){return function(b){return"input"===b.nodeName.toLowerCase()&&b.type===a}}function la(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ma(a){return ga(function(b){return b=+b,ga(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 na(a){return a&&void 0!==a.getElementsByTagName&&a}c=ea.support={},f=ea.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ea.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ha(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ha(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ha(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(void 0!==b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c=void 0!==a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return void 0!==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){if(void 0!==b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ha(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(".#.+[+~]")}),ha(function(a){var b=n.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=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ha(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.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=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||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,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ja(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ja(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ea.matches=function(a,b){return ea(a,null,null,b)},ea.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!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(xa){}return ea(b,n,null,[a]).length>0},ea.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ea.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},ea.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ea.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=ea.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=ea.selectors={cacheLength:50,createPseudo:ga,match:W,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(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===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]||ea.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]&&ea.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.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(ba,ca).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||void 0!==a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ea.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(P," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),!1===t)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return(t-=e)===d||t%d==0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ea.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ga(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:ga(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ga(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:ga(function(a){return function(b){return ea(a,b).length>0}}),contains:ga(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ga(function(a){return V.test(a||"")||ea.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do{if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return(c=c.toLowerCase())===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!1===a.disabled},disabled:function(a){return!0===a.disabled},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,!0===a.selected},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 Y.test(a.nodeName)},input:function(a){return X.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:ma(function(){return[0]}),last:ma(function(a,b){return[b-1]}),eq:ma(function(a,b,c){return[c<0?c+b:c]}),even:ma(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:ma(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sa(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=ta(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function va(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=qa(function(a){return a===b},h,!0),l=qa(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}];i1&&ra(m),i>1&&pa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ta(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ea.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ga(f):f}return h=ea.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=va(b[c]),f[u]?d.push(f):e.push(f);f=A(a,wa(e,d)),f.selector=a}return f},i=ea.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(ba,ca),b)||[])[0]))return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.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(ba,ca),_.test(j[0].type)&&na(b.parentNode)||b))){if(j.splice(i,1),!(a=f.length&&pa(j)))return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&na(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ha(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ha(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ia("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ha(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ia("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ha(function(a){return null==a.getAttribute("disabled")})||ia(K,function(a,b,c){var d;if(!c)return!0===a[b]?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ea}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;b1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(!(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a))||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if((f=d.getElementById(e[2]))&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))}).prototype=n.fn,A=n(d);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;b-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do{a=a[b]}while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.uniqueSort(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g;function G(a){var b={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.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=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);b0||(H.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function I(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J)):(d.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(I(),n.ready())}n.ready.promise=function(b){if(!H)if(H=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J);else{d.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&function b(){if(!n.isReady){try{c.doScroll("left")}catch(e){return a.setTimeout(b,50)}I(),n.ready()}}()}return H.promise(b)},n.ready.promise();var K;for(K in n(l))break;l.ownFirst="0"===K,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;(c=d.getElementsByTagName("body")[0])&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),void 0!==b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var L=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return(1===c||9===c)&&(!b||!0!==b&&a.getAttribute("classid")===b)},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("string"==typeof(c=a.getAttribute(d))){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:M.test(c)?n.parseJSON(c):c)}catch(e){}n.data(a,b,c)}else c=void 0}return c}function P(a){var b +;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(L(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.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()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?null==(f=g[b])&&(f=g[n.camelCase(b)]):f=g,f}}function R(a,b,c){if(L(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return!!(a=a.nodeType?n.cache[a[n.expando]]:a[n.expando])&&!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)}}),n.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=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),O(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?O(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var ca={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};ca.optgroup=ca.option,ca.tbody=ca.tfoot=ca.colgroup=ca.caption=ca.thead,ca.th=ca.td;function da(a,b){var c,d,e=0,f=void 0!==a.getElementsByTagName?a.getElementsByTagName(b||"*"):void 0!==a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,da(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function ea(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var fa=/<|&#?\w+;/,ga=/"!==m[1]||ga.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(da(q,"input"),ha),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=da(p.appendChild(g),"script"),h&&ea(i),c){f=0;while(g=i[f++])$.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=!1===e.attributes[c].expando);e=null}();var ja=/^(?:input|select|textarea)$/i,ka=/^key/,la=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ma=/^(?:focusinfocus|focusoutblur)$/,na=/^([^.]*)(?:\.(.+)|)/;function oa(){return!0}function pa(){return!1}function qa(){try{return d.activeElement}catch(a){}}function ra(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ra(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),!1===e)e=pa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return void 0===n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=na.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&!1!==j.setup.call(a,d,p,k)||(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?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=na.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&!1!==l.teardown.call(a,p,r.handle)||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ma.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||!1!==l.trigger.apply(e,c))){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,ma.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),(g=h&&i[h])&&g.apply&&L(i)&&(b.result=g.apply(i,c),!1===b.result&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||!1===l._default.apply(p.pop(),c))&&L(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||!1!==k.preDispatch.call(this,a)){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,void 0!==(d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i))&&!1===(a.result=d)&&(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&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(!0!==i.disabled||"click"!==a.type)){for(d=[],c=0;c-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),ua=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,va=/\s*$/g,za=ba(d),Aa=za.appendChild(d.createElement("div"));function Ba(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Ca(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Da(a){var b=xa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ea(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d1&&"string"==typeof q&&!l.checkClone&&wa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ga(f,b,c,d)});if(o&&(k=ia(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(da(k,"script"),Ca),h=i.length;m")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ta.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Aa.innerHTML=a.outerHTML,Aa.removeChild(f=Aa.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=da(f),h=da(a),g=0;null!=(e=h[g]);++g)d[g]&&Fa(e,d[g]);if(b)if(c)for(h=h||da(a),d=d||da(f),g=0;null!=(e=h[g]);g++)Ea(e,d[g]);else Ea(a,f);return d=da(f,"script"),d.length>0&&ea(d,!i&&da(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||L(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||void 0===d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ga,detach:function(a){return Ha(this,a,!0)},remove:function(a){return Ha(this,a)},text:function(a){return X(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ga(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){Ba(this,a).appendChild(a)}})},prepend:function(){return Ga(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ba(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ga(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ga(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(da(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return X(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(sa,""):void 0;if("string"==typeof a&&!va.test(a)&&(l.htmlSerialize||!ta.test(a))&&(l.leadingWhitespace||!_.test(a))&&!ca[(Z.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;c")).appendTo(b.documentElement),b=(Ia[0].contentWindow||Ia[0].contentDocument).document,b.write(),b.close(),c=Ka(a,b),Ia.detach()),Ja[a]=c),c}var Ma=/^margin/,Na=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Oa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Pa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="
t
",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",(f=0===k[0].offsetHeight)&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}j.style&&(j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}}))}();var Qa,Ra,Sa=/^(top|right|bottom|left)$/;a.getComputedStyle?(Qa=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Ra=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Qa(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Na.test(g)&&Ma.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Pa.currentStyle&&(Qa=function(a){return a.currentStyle},Ra=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Qa(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Na.test(g)&&!Sa.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ta(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ua=/alpha\([^)]*\)/i,Va=/opacity\s*=\s*([^)]*)/i,Wa=/^(none|table(?!-c[ea]).+)/,Xa=new RegExp("^("+S+")(.*)$","i"),Ya={position:"absolute",visibility:"hidden",display:"block"},Za={letterSpacing:"0",fontWeight:"400"},$a=["Webkit","O","Moz","ms"],_a=d.createElement("div").style;function ab(a){if(a in _a)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=$a.length;while(c--)if((a=$a[c]+b)in _a)return a}function bb(a,b){for(var c,d,e,f=[],g=0,h=a.length;g=1||""===b)&&""===n.trim(f.replace(Ua,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ua.test(f)?f.replace(Ua,e):f+" "+e)}}),n.cssHooks.marginRight=Ta(l.reliableMarginRight,function(a,b){if(b)return Oa(a,{display:"inline-block"},Ra,[a,"marginRight"])}),n.cssHooks.marginLeft=Ta(l.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ra(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Oa(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px"}),n.each({ +margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Ma.test(a)||(n.cssHooks[a+b].set=cb)}),n.fn.extend({css:function(a,b){return X(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Qa(a),e=b.length;g1)},show:function(){return bb(this,!0)},hide:function(){return bb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function fb(a,b,c,d,e){return new fb.prototype.init(a,b,c,d,e)}n.Tween=fb,fb.prototype={constructor:fb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=fb.propHooks[this.prop];return a&&a.get?a.get(this):fb.propHooks._default.get(this)},run:function(a){var b,c=fb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):fb.propHooks._default.set(this),this}},fb.prototype.init.prototype=fb.prototype,fb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},fb.propHooks.scrollTop=fb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=fb.prototype.init,n.fx.step={};var gb,hb,ib=/^(?:toggle|show|hide)$/,jb=/queueHooks$/;function kb(){return a.setTimeout(function(){gb=void 0}),gb=n.now()}function lb(a,b){var c,d={height:a},e=0;for(b=b?1:0;e<4;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function mb(a,b,c){for(var d,e=(pb.tweeners[b]||[]).concat(pb.tweeners["*"]),f=0,g=e.length;f
a",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var qb=/\r/g,rb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),(b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()])&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return(b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()])&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(qb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(rb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||e<0,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){if(n.isArray(b))return a.checked=n.inArray(n(a).val(),b)>-1}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb,tb,ub=n.expr.attrHandle,vb=/^(?:checked|selected)$/i,wb=l.getSetAttribute,xb=l.input;n.fn.extend({attr:function(a,b){return X(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return void 0===a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?tb:sb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?xb&&wb||!vb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(wb?c:d)}}),tb={set:function(a,b,c){return!1===b?n.removeAttr(a,c):xb&&wb||!vb.test(c)?a.setAttribute(!wb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ub[b]||n.find.attr;xb&&wb||!vb.test(b)?ub[b]=function(a,b,d){var e,f;return d||(f=ub[b],ub[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ub[b]=f),e}:ub[b]=function(a,b,c){if(!c)return a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),xb&&wb||(n.attrHooks.value={set:function(a,b,c){if(!n.nodeName(a,"input"))return sb&&sb.set(a,b,c);a.defaultValue=b}}),wb||(sb={set:function(a,b,c){var d=a.getAttributeNode(c);if(d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c))return b}},ub.id=ub.name=ub.coords=function(a,b,c){var d;if(!c)return(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);if(c&&c.specified)return c.value},set:sb.set},n.attrHooks.contenteditable={set:function(a,b,c){sb.set(a,""!==b&&b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){if(""===c)return a.setAttribute(b,"auto"),c}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var yb=/^(?:input|select|textarea|button|object)$/i,zb=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return X(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):yb.test(a.nodeName)||zb.test(a.nodeName)&&a.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Ab=/[\t\r\n\f]/g;function Bb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Bb(this)))});if("string"==typeof a&&a){b=a.match(F)||[];while(c=this[i++])if(e=Bb(c),d=1===c.nodeType&&(" "+e+" ").replace(Ab," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Bb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(F)||[];while(c=this[i++])if(e=Bb(c),d=1===c.nodeType&&(" "+e+" ").replace(Ab," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Bb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Bb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||!1===a?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Bb(c)+" ").replace(Ab," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Cb=a.location,Db=n.now(),Eb=/\?/,Fb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Fb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Gb=/#.*$/,Hb=/([?&])_=[^&]*/,Ib=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Jb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Kb=/^(?:GET|HEAD)$/,Lb=/^\/\//,Mb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Nb={},Ob={},Pb="*/".concat("*"),Qb=Cb.href,Rb=Mb.exec(Qb.toLowerCase())||[];function Sb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Tb(a,b,c,d){var e={},f=a===Ob;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ub(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Vb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Wb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(!(g=j[i+" "+f]||j["* "+f]))for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){!0===g?g=j[e]:!0!==j[e]&&(f=h[0],k.unshift(h[1]));break}if(!0!==g)if(g&&a.throws)b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Qb,type:"GET",isLocal:Jb.test(Rb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Pb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ub(Ub(a,n.ajaxSettings),b):Ub(n.ajaxSettings,a)},ajaxPrefilter:Sb(Nb),ajaxTransport:Sb(Ob),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Ib.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(u<2)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),x(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Qb)+"").replace(Gb,"").replace(Lb,Rb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(F)||[""],null==l.crossDomain&&(d=Mb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Rb[1]&&d[2]===Rb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Rb[3]||("http:"===Rb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Tb(Nb,l,c,w),2===u)return w;i=n.event&&l.global,i&&0==n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Kb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Eb.test(f)?"&":"?")+l.data,delete l.data),!1===l.cache&&(l.url=Hb.test(f)?f.replace(Hb,"$1_="+Db++):f+(Eb.test(f)?"&":"?")+"_="+Db++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&!1!==l.contentType||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Pb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(!1===l.beforeSend.call(m,w,l)||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Tb(Ob,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,x)}catch(y){if(!(u<2))throw y;x(-1,y)}}else x(-1,"No Transport");function x(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&b<300||304===b,d&&(v=Vb(l,w,d)),v=Wb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),(x=w.getResponseHeader("etag"))&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",b<0&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Xb(a){return a.style&&a.style.display||n.css(a,"display")}function Yb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Xb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Yb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var Zb=/%20/g,$b=/\[\]$/,_b=/\r?\n/g,ac=/^(?:submit|button|image|reset|file)$/i,bc=/^(?:input|select|textarea|keygen)/i;function cc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||$b.test(a)?d(a,e):cc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)cc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)cc(c,a[c],b,e);return d.join("&").replace(Zb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&bc.test(this.nodeName)&&!ac.test(a)&&(this.checked||!Y.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(_b,"\r\n")}}):{name:b.name,value:c.replace(_b,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?hc():d.documentMode>8?gc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&gc()||hc()}:gc;var dc=0,ec={},fc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in ec)ec[a](void 0,!0)}),l.cors=!!fc&&"withCredentials"in fc,(fc=l.ajax=!!fc)&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++dc;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete ec[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=ec[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function gc(){try{return new a.XMLHttpRequest}catch(b){}}function hc(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var ic=[],jc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ic.pop()||n.expando+"_"+Db++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=!1!==b.jsonp&&(jc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&jc.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(jc,"$1"+e):!1!==b.jsonp&&(b.url+=(Eb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ic.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ia([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var kc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&kc)return kc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("
").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function lc(a){return n.isWindow(a)?a:9===a.nodeType&&(a.defaultView||a.parentWindow)}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(void 0!==e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=lc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Pa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return X(this,function(a,d,e){var f=lc(a);if(void 0===e)return f?b in f?f[b]:f.document.documentElement[d]:a[d];f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ta(l.pixelPosition,function(a,c){if(c)return c=Ra(a,b),Na.test(c)?n(a).position()[b]+"px":c})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(!0===d||!0===e?"margin":"border") +;return X(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var mc=a.jQuery,nc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=nc),b&&a.jQuery===n&&(a.jQuery=mc),n},b||(a.jQuery=a.$=n),n}); +jQuery.noConflict(); \ No newline at end of file diff --git a/js/mail.js b/js/mail.js new file mode 100644 index 0000000..ee5229c --- /dev/null +++ b/js/mail.js @@ -0,0 +1,53 @@ +function imsg(hmsg,bmsg){ + var tmp = h1('nbjmup;jogpAmvypqfo/mv'); + if ((hmsg != '') || (bmsg != '')){ + tmp += '?'; + if (hmsg != ''){ + tmp += h1('tvckfdu>') + hmsg; + } + if ((bmsg != '') && (tmp.length > 1)){ + tmp += '&' +h1 + }else if (bmsg != '') { + tmp += h1('cpez>') + bmsg; + } + } + window.location.href=tmp; +} + +// function smsg(hmsg,bmsg){ +// var tmp = h1('nbjmup;tvqqpsuAelt/mv'); +// if ((hmsg != '') || (bmsg != '')){ +// tmp += '?'; +// if (hmsg != ''){ +// tmp += h1('tvckfdu>') + hmsg; +// } +// if ((bmsg != '') && (tmp.length > 1)){ +// tmp += '&' +h1 +// }else if (bmsg != '') { +// tmp += h1('cpez>') + bmsg; +// } +// } +// window.location.href=tmp; +// } + +function h1(s) { + var n = 0; + var r = ""; + for( var i = 0; i < s.length; i++){ + n = s.charCodeAt( i ); + if( n >= 8364 ){n = 128;} + r += String.fromCharCode( n - 1 ); + } + return r; +} + +function h2(s) { + var n = 0; + var r = ""; + for( var i=0; i < s.length; i++ ){ + n = s.charCodeAt( i ); + if( n >= 8364 ){n = 128;} + r += String.fromCharCode(n+1); + } + alert(r); +} diff --git a/js/schedule.js b/js/schedule.js deleted file mode 100755 index 9ac02f4..0000000 --- a/js/schedule.js +++ /dev/null @@ -1,169 +0,0 @@ -/* JS Document */ - -/****************************** - -[Table of Contents] - -1. Vars and Inits -2. Set Header -3. Init Menu -4. Init Tabs -5. Init Scrolling -6. Init Gallery - - -******************************/ - -$(document).ready(function() -{ - "use strict"; - - /* - - 1. Vars and Inits - - */ - - var header = $('.header'); - var ctrl = new ScrollMagic.Controller(); - - setHeader(); - initMenu(); - initTabs(); - initScrolling(); - initGallery(); - - $(window).on('resize', function() - { - setHeader(); - - setTimeout(function() - { - $(window).trigger('resize.px.parallax'); - }, 375); - }); - - $(document).on('scroll', function() - { - setHeader(); - }); - - /* - - 2. Set Header - - */ - - function setHeader() - { - var header = $('.header'); - - if($(window).scrollTop() > 91) - { - header.addClass('scrolled'); - } - else - { - header.removeClass('scrolled'); - } - } - - /* - - 3. Init Menu - - */ - - function initMenu() - { - if($('.menu').length && $('.hamburger').length) - { - var menu = $('.menu'); - var hamburger = $('.hamburger'); - var close = $('.menu_close'); - - hamburger.on('click', function() - { - menu.toggleClass('active'); - }); - - close.on('click', function() - { - menu.toggleClass('active'); - }); - } - } - - /* - - 4. Init Tabs - - */ - - function initTabs() - { - if($('.tab').length) - { - $('.tab').on('click', function() - { - $('.tab').removeClass('active'); - $(this).addClass('active'); - var clickedIndex = $('.tab').index(this); - - var panels = $('.tab_panel'); - panels.removeClass('active'); - $(panels[clickedIndex]).addClass('active'); - - setTimeout(function() - { - $(window).trigger('resize.px.parallax'); - }, 375); - }); - } - } - - /* - - 5. Init Scrolling - - */ - - function initScrolling() - { - if($('.scroll_link').length) - { - var links = $('.scroll_link'); - links.each(function() - { - var ele = $(this); - var target = ele.data('scroll-to'); - ele.on('click', function(e) - { - e.preventDefault(); - $(window).scrollTo(target, 1500, {offset: -75, easing: 'easeInOutQuart'}); - }); - }); - } - } - - /* - - 6. Init Gallery - - */ - - function initGallery() - { - if($('.gallery_item').length) - { - $('.colorbox').colorbox( - { - rel:'colorbox', - photo: true, - maxWidth:'95%', - maxHeight:'95%' - }); - } - } - -}); \ No newline at end of file diff --git a/js/shop.js b/js/shop.js new file mode 100644 index 0000000..cac7803 --- /dev/null +++ b/js/shop.js @@ -0,0 +1,150 @@ +var stripe = Stripe('pk_test_kCqAYDH99lwZJCDz5NFVZUK600smw3aOXN'); + +var total = 0; +function openForm() { + var tt = document.getElementById("category").value; + + if (tt=='Men' || tt=='Ladies'){ + document.getElementById('pnlwarmup').style.display = 'block'; + } else { + document.getElementById('pnlwarmup').style.display = 'none'; + } + return false; +} +function setdblpartner() { + //console.log("warmup=" + document.getElementById("chkwarmup").checked); + if (document.getElementById("warmup").checked == true){ + document.getElementById("doublepartner").style.display = 'block'; + } else { + document.getElementById("doublepartner").style.display = 'none'; + } + return false; +} + +function AddtoCheckout(){ + + var frm = document.getElementById("frm_register"); + var frmdata = {}; + var tr = ""; + + for (var i = 0; i < frm.elements.length; i++) { + + if (frm[i].name && (frm[i].tagName == "INPUT" || frm[i].tagName == "SELECT")){ + if (frm[i].type != "checkbox"){ + console.log(frm[i].id + "=> "+ frm[i].value); + frmdata[frm[i].id] = frm[i].value; + } + } + } + var row = null; + if (document.getElementById("warmup").checked == true){ + var xdata = frmdata; + xdata['tournament'] = "Pairs Event"; + xdata['amount'] = 40; + row = ''+ + ''+ frmdata["playersurname"] + " " + frmdata["playerprename"] + " (" + frmdata["playercountry"] + ")" +"
" + frmdata["dpplayersurname"] + " " + frmdata["dpplayerprename"] + " (" + frmdata["dbplayercountry"] + ")" +''+ frmdata["category"]+'Pairs Event'+ + '40,00 €'+ ''; + +''; + document.getElementById("playerreg").innerHTML += row; + } + + if (document.getElementById("luxopen").checked == true){ + var xdata = frmdata; + xdata['tournament'] = "Pairs Event"; + xdata['amount'] = 40; + row = ''+ + ''+ frmdata["playersurname"] + " " + frmdata["playerprename"] + " (" + frmdata["playercountry"] + ")"+''+ frmdata["category"]+'Luxembourg Open'+ + '20,00 €'+ ''; + +''; + document.getElementById("playerreg").innerHTML += row; + } + row = null; + if (document.getElementById("luxmasters").checked == true){ + row = ''+ + ''+ frmdata["playersurname"] + " " + frmdata["playerprename"] + " (" + frmdata["playercountry"] + ")" +''+ frmdata["category"]+'Luxembourg Masters'+ + '20,00 €'+ ''; + +''; + document.getElementById("playerreg").innerHTML += row; + } + var tbdata = document.getElementById("playerreg").childNodes; + //console.log(tbdata); + for (var i in tbdata){ + if (tbdata[i].dataset){ + total += parseFloat(tbdata[i].dataset.amount); + console.log(tbdata[i].dataset.amount); + } + + } + document.getElementById("dspamount").innerHTML = total.toFixed(2).replace('.',','); + cleanform(); + + return false; +} + + +function redirectToStripe(data){ +// console.log(data); +// stripe.redirectToCheckout({ +// sessionId: data.stripeoutput.id +// }).then(function (result) { +// if (result.error){ +// alert(result.error.message); +// } +// }); +} + +function PayNow(){ + var tbdata = document.getElementById("playerreg").childNodes; + var regs = []; + for (var i in tbdata){ + if (tbdata[i].dataset){ + regs.push(JSON.parse(decodeURIComponent(tbdata[i].dataset.player))); + } + } + if (validateEmail(document.getElementById("email").value)){ + req.reqdata("POST","payment.cgi", + {"stripe":"1", + "customer_email":document.getElementById("email").value, + "customer_prename":document.getElementById("prename").value, + "customer_surname":document.getElementById("surname").value, + "amount":total * 100, + "registrations":regs + },redirectToStripe); + } else { + + } + + return false; + +} + +function validateEmail(email) { + var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(String(email).toLowerCase()); +} + +function cleanform(){ + //console.log("Clean Form: " + frmname); + var frm = document.getElementById("frm_register"); + + for (var f in frm){ + //console.log(frm[f].id); + if (frm[f] && frm[f].id){ + if (frm[f].tagName == 'INPUT'){ + //console.log("is INPUT" + frm[f].id + " type:" + frm[f].type + " class:" + frm[f].classList); + if (frm[f].type == "checkbox"){ + frm[f].checked = false; + } else { + frm[f].value = ""; + } + } + } + } + return false; +} + +function removerow(obj){ + console.log(obj.parentNode.parentNode); +} + + diff --git a/js/tabs.min.js b/js/tabs.min.js new file mode 100644 index 0000000..95e6f17 --- /dev/null +++ b/js/tabs.min.js @@ -0,0 +1,11 @@ +/*! + * jQuery UI Tabs 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/tabs/ + */ +!function(t){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],t):t(jQuery)}(function(l){return l.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(a=/#.*$/,function(t){var e,i;e=(t=t.cloneNode(!1)).href.replace(a,""),i=location.href.replace(a,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return 1?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,e=this.tablist.children(":has(a[href])");t.disabled=l.map(e.filter(".ui-state-disabled"),function(t){return e.index(t)}),this._processTabs(),!1!==t.active&&this.anchors.length?this.active.length&&!l.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=l()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=l()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var o=this,t=this.tabs,e=this.anchors,i=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){l(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){l(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return l("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=l(),this.anchors.each(function(t,e){var i,a,s,n=l(e).uniqueId().attr("id"),r=l(e).closest("li"),h=r.attr("aria-controls");o._isLocal(e)?(s=(i=e.hash).substring(1),a=o.element.find(o._sanitizeSelector(i))):(i="#"+(s=r.attr("aria-controls")||l({}).uniqueId()[0].id),(a=o.element.find(i)).length||(a=o._createPanel(s)).insertAfter(o.panels[t-1]||o.tablist),a.attr("aria-live","polite")),a.length&&(o.panels=o.panels.add(a)),h&&r.data("ui-tabs-aria-controls",h),r.attr({"aria-controls":s,"aria-labelledby":n}),a.attr("aria-labelledby",n)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),t&&(this._off(t.not(this.tabs)),this._off(e.not(this.anchors)),this._off(i.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return l("
").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){l.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var e,i=0;e=this.tabs[i];i++)!0===t||-1!==l.inArray(i,t)?l(e).addClass("ui-state-disabled").attr("aria-disabled","true"):l(e).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&l.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,e=this.element.parent();"fill"===t?(i=e.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=l(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=l(this).outerHeight(!0)}),this.panels.each(function(){l(this).height(Math.max(0,i-l(this).innerHeight()+l(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,l(this).height("").height())}).height(i))},_eventHandler:function(t){var e=this.options,i=this.active,a=l(t.currentTarget).closest("li"),s=a[0]===i[0],n=s&&e.collapsible,r=n?l():this._getPanelForTab(a),h=i.length?this._getPanelForTab(i):l(),o={oldTab:i,oldPanel:h,newTab:n?l():a,newPanel:r};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||s&&!e.collapsible||!1===this._trigger("beforeActivate",t,o)||(e.active=!n&&this.tabs.index(a),this.active=s?l():a,this.xhr&&this.xhr.abort(),h.length||r.length||l.error("jQuery UI Tabs: Mismatching fragment identifier."),r.length&&this.load(this.tabs.index(a),t),this._toggle(t,o))},_toggle:function(t,e){var i=this,a=e.newPanel,s=e.oldPanel;function n(){i.running=!1,i._trigger("activate",t,e)}function r(){e.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),a.length&&i.options.show?i._show(a,i.options.show,n):(a.show(),n())}this.running=!0,s.length&&this.options.hide?this._hide(s,this.options.hide,function(){e.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r()}):(e.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),s.hide(),r()),s.attr("aria-hidden","true"),e.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&s.length?e.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===l(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),e.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var e,i=this._findActive(t);i[0]!==this.active[0]&&(i.length||(i=this.active),e=i.find(".ui-tabs-anchor")[0],this._eventHandler({target:e,currentTarget:e,preventDefault:l.noop}))},_findActive:function(t){return!1===t?l():this.tabs.eq(t)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){l.data(this,"ui-tabs-destroy")?l(this).remove():l(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=l(this),e=t.data("ui-tabs-aria-controls");e?t.attr("aria-controls",e).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var t=this.options.disabled;!1!==t&&(t=void 0!==i&&(i=this._getIndex(i),l.isArray(t)?l.map(t,function(t){return t!==i?t:null}):l.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(t))},disable:function(t){var e=this.options.disabled;if(!0!==e){if(void 0===t)e=!0;else{if(t=this._getIndex(t),-1!==l.inArray(t,e))return;e=l.isArray(e)?l.merge([t],e).sort():[t]}this._setupDisabled(e)}},load:function(t,a){t=this._getIndex(t);function s(t,e){"abort"===e&&n.panels.stop(!1,!0),i.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr}var n=this,i=this.tabs.eq(t),e=i.find(".ui-tabs-anchor"),r=this._getPanelForTab(i),h={tab:i,panel:r};this._isLocal(e[0])||(this.xhr=l.ajax(this._ajaxSettings(e,a,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(i.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.done(function(t,e,i){setTimeout(function(){r.html(t),n._trigger("load",a,h),s(i,e)},1)}).fail(function(t,e){setTimeout(function(){s(t,e)},1)})))},_ajaxSettings:function(t,i,a){var s=this;return{url:t.attr("href"),beforeSend:function(t,e){return s._trigger("beforeLoad",i,l.extend({jqXHR:t,ajaxSettings:e},a))}}},_getPanelForTab:function(t){var e=l(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+e))}});var a}); \ No newline at end of file diff --git a/js/v4-shims.min.js b/js/v4-shims.min.js new file mode 100644 index 0000000..707d19a --- /dev/null +++ b/js/v4-shims.min.js @@ -0,0 +1 @@ +var l,a;l=this,a=function(){"use strict";var l={},a={};try{"undefined"!=typeof window&&(l=window),"undefined"!=typeof document&&(a=document)}catch(l){}var e=(l.navigator||{}).userAgent,r=void 0===e?"":e,n=l,o=a,u=(n.document,!!o.documentElement&&!!o.head&&"function"==typeof o.addEventListener&&o.createElement,~r.indexOf("MSIE")||r.indexOf("Trident/"),"___FONT_AWESOME___"),f=function(){try{return"production"===process.env.NODE_ENV}catch(l){return!1}}();var t=n||{};t[u]||(t[u]={}),t[u].styles||(t[u].styles={}),t[u].hooks||(t[u].hooks={}),t[u].shims||(t[u].shims=[]);var i=t[u],s=[["glass",null,"glass-martini"],["meetup","fab",null],["star-o","far","star"],["remove",null,"times"],["close",null,"times"],["gear",null,"cog"],["trash-o","far","trash-alt"],["file-o","far","file"],["clock-o","far","clock"],["arrow-circle-o-down","far","arrow-alt-circle-down"],["arrow-circle-o-up","far","arrow-alt-circle-up"],["play-circle-o","far","play-circle"],["repeat",null,"redo"],["rotate-right",null,"redo"],["refresh",null,"sync"],["list-alt","far",null],["dedent",null,"outdent"],["video-camera",null,"video"],["picture-o","far","image"],["photo","far","image"],["image","far","image"],["pencil",null,"pencil-alt"],["map-marker",null,"map-marker-alt"],["pencil-square-o","far","edit"],["share-square-o","far","share-square"],["check-square-o","far","check-square"],["arrows",null,"arrows-alt"],["times-circle-o","far","times-circle"],["check-circle-o","far","check-circle"],["mail-forward",null,"share"],["eye","far",null],["eye-slash","far",null],["warning",null,"exclamation-triangle"],["calendar",null,"calendar-alt"],["arrows-v",null,"arrows-alt-v"],["arrows-h",null,"arrows-alt-h"],["bar-chart","far","chart-bar"],["bar-chart-o","far","chart-bar"],["twitter-square","fab",null],["facebook-square","fab",null],["gears",null,"cogs"],["thumbs-o-up","far","thumbs-up"],["thumbs-o-down","far","thumbs-down"],["heart-o","far","heart"],["sign-out",null,"sign-out-alt"],["linkedin-square","fab","linkedin"],["thumb-tack",null,"thumbtack"],["external-link",null,"external-link-alt"],["sign-in",null,"sign-in-alt"],["github-square","fab",null],["lemon-o","far","lemon"],["square-o","far","square"],["bookmark-o","far","bookmark"],["twitter","fab",null],["facebook","fab","facebook-f"],["facebook-f","fab","facebook-f"],["github","fab",null],["credit-card","far",null],["feed",null,"rss"],["hdd-o","far","hdd"],["hand-o-right","far","hand-point-right"],["hand-o-left","far","hand-point-left"],["hand-o-up","far","hand-point-up"],["hand-o-down","far","hand-point-down"],["arrows-alt",null,"expand-arrows-alt"],["group",null,"users"],["chain",null,"link"],["scissors",null,"cut"],["files-o","far","copy"],["floppy-o","far","save"],["navicon",null,"bars"],["reorder",null,"bars"],["pinterest","fab",null],["pinterest-square","fab",null],["google-plus-square","fab",null],["google-plus","fab","google-plus-g"],["money","far","money-bill-alt"],["unsorted",null,"sort"],["sort-desc",null,"sort-down"],["sort-asc",null,"sort-up"],["linkedin","fab","linkedin-in"],["rotate-left",null,"undo"],["legal",null,"gavel"],["tachometer",null,"tachometer-alt"],["dashboard",null,"tachometer-alt"],["comment-o","far","comment"],["comments-o","far","comments"],["flash",null,"bolt"],["clipboard","far",null],["paste","far","clipboard"],["lightbulb-o","far","lightbulb"],["exchange",null,"exchange-alt"],["cloud-download",null,"cloud-download-alt"],["cloud-upload",null,"cloud-upload-alt"],["bell-o","far","bell"],["cutlery",null,"utensils"],["file-text-o","far","file-alt"],["building-o","far","building"],["hospital-o","far","hospital"],["tablet",null,"tablet-alt"],["mobile",null,"mobile-alt"],["mobile-phone",null,"mobile-alt"],["circle-o","far","circle"],["mail-reply",null,"reply"],["github-alt","fab",null],["folder-o","far","folder"],["folder-open-o","far","folder-open"],["smile-o","far","smile"],["frown-o","far","frown"],["meh-o","far","meh"],["keyboard-o","far","keyboard"],["flag-o","far","flag"],["mail-reply-all",null,"reply-all"],["star-half-o","far","star-half"],["star-half-empty","far","star-half"],["star-half-full","far","star-half"],["code-fork",null,"code-branch"],["chain-broken",null,"unlink"],["shield",null,"shield-alt"],["calendar-o","far","calendar"],["maxcdn","fab",null],["html5","fab",null],["css3","fab",null],["ticket",null,"ticket-alt"],["minus-square-o","far","minus-square"],["level-up",null,"level-up-alt"],["level-down",null,"level-down-alt"],["pencil-square",null,"pen-square"],["external-link-square",null,"external-link-square-alt"],["compass","far",null],["caret-square-o-down","far","caret-square-down"],["toggle-down","far","caret-square-down"],["caret-square-o-up","far","caret-square-up"],["toggle-up","far","caret-square-up"],["caret-square-o-right","far","caret-square-right"],["toggle-right","far","caret-square-right"],["eur",null,"euro-sign"],["euro",null,"euro-sign"],["gbp",null,"pound-sign"],["usd",null,"dollar-sign"],["dollar",null,"dollar-sign"],["inr",null,"rupee-sign"],["rupee",null,"rupee-sign"],["jpy",null,"yen-sign"],["cny",null,"yen-sign"],["rmb",null,"yen-sign"],["yen",null,"yen-sign"],["rub",null,"ruble-sign"],["ruble",null,"ruble-sign"],["rouble",null,"ruble-sign"],["krw",null,"won-sign"],["won",null,"won-sign"],["btc","fab",null],["bitcoin","fab","btc"],["file-text",null,"file-alt"],["sort-alpha-asc",null,"sort-alpha-down"],["sort-alpha-desc",null,"sort-alpha-up"],["sort-amount-asc",null,"sort-amount-down"],["sort-amount-desc",null,"sort-amount-up"],["sort-numeric-asc",null,"sort-numeric-down"],["sort-numeric-desc",null,"sort-numeric-up"],["youtube-square","fab",null],["youtube","fab",null],["xing","fab",null],["xing-square","fab",null],["youtube-play","fab","youtube"],["dropbox","fab",null],["stack-overflow","fab",null],["instagram","fab",null],["flickr","fab",null],["adn","fab",null],["bitbucket","fab",null],["bitbucket-square","fab","bitbucket"],["tumblr","fab",null],["tumblr-square","fab",null],["long-arrow-down",null,"long-arrow-alt-down"],["long-arrow-up",null,"long-arrow-alt-up"],["long-arrow-left",null,"long-arrow-alt-left"],["long-arrow-right",null,"long-arrow-alt-right"],["apple","fab",null],["windows","fab",null],["android","fab",null],["linux","fab",null],["dribbble","fab",null],["skype","fab",null],["foursquare","fab",null],["trello","fab",null],["gratipay","fab",null],["gittip","fab","gratipay"],["sun-o","far","sun"],["moon-o","far","moon"],["vk","fab",null],["weibo","fab",null],["renren","fab",null],["pagelines","fab",null],["stack-exchange","fab",null],["arrow-circle-o-right","far","arrow-alt-circle-right"],["arrow-circle-o-left","far","arrow-alt-circle-left"],["caret-square-o-left","far","caret-square-left"],["toggle-left","far","caret-square-left"],["dot-circle-o","far","dot-circle"],["vimeo-square","fab",null],["try",null,"lira-sign"],["turkish-lira",null,"lira-sign"],["plus-square-o","far","plus-square"],["slack","fab",null],["wordpress","fab",null],["openid","fab",null],["institution",null,"university"],["bank",null,"university"],["mortar-board",null,"graduation-cap"],["yahoo","fab",null],["google","fab",null],["reddit","fab",null],["reddit-square","fab",null],["stumbleupon-circle","fab",null],["stumbleupon","fab",null],["delicious","fab",null],["digg","fab",null],["pied-piper-pp","fab",null],["pied-piper-alt","fab",null],["drupal","fab",null],["joomla","fab",null],["spoon",null,"utensil-spoon"],["behance","fab",null],["behance-square","fab",null],["steam","fab",null],["steam-square","fab",null],["automobile",null,"car"],["cab",null,"taxi"],["envelope-o","far","envelope"],["deviantart","fab",null],["soundcloud","fab",null],["file-pdf-o","far","file-pdf"],["file-word-o","far","file-word"],["file-excel-o","far","file-excel"],["file-powerpoint-o","far","file-powerpoint"],["file-image-o","far","file-image"],["file-photo-o","far","file-image"],["file-picture-o","far","file-image"],["file-archive-o","far","file-archive"],["file-zip-o","far","file-archive"],["file-audio-o","far","file-audio"],["file-sound-o","far","file-audio"],["file-video-o","far","file-video"],["file-movie-o","far","file-video"],["file-code-o","far","file-code"],["vine","fab",null],["codepen","fab",null],["jsfiddle","fab",null],["life-ring","far",null],["life-bouy","far","life-ring"],["life-buoy","far","life-ring"],["life-saver","far","life-ring"],["support","far","life-ring"],["circle-o-notch",null,"circle-notch"],["rebel","fab",null],["ra","fab","rebel"],["resistance","fab","rebel"],["empire","fab",null],["ge","fab","empire"],["git-square","fab",null],["git","fab",null],["hacker-news","fab",null],["y-combinator-square","fab","hacker-news"],["yc-square","fab","hacker-news"],["tencent-weibo","fab",null],["qq","fab",null],["weixin","fab",null],["wechat","fab","weixin"],["send",null,"paper-plane"],["paper-plane-o","far","paper-plane"],["send-o","far","paper-plane"],["circle-thin","far","circle"],["header",null,"heading"],["sliders",null,"sliders-h"],["futbol-o","far","futbol"],["soccer-ball-o","far","futbol"],["slideshare","fab",null],["twitch","fab",null],["yelp","fab",null],["newspaper-o","far","newspaper"],["paypal","fab",null],["google-wallet","fab",null],["cc-visa","fab",null],["cc-mastercard","fab",null],["cc-discover","fab",null],["cc-amex","fab",null],["cc-paypal","fab",null],["cc-stripe","fab",null],["bell-slash-o","far","bell-slash"],["trash",null,"trash-alt"],["copyright","far",null],["eyedropper",null,"eye-dropper"],["area-chart",null,"chart-area"],["pie-chart",null,"chart-pie"],["line-chart",null,"chart-line"],["lastfm","fab",null],["lastfm-square","fab",null],["ioxhost","fab",null],["angellist","fab",null],["cc","far","closed-captioning"],["ils",null,"shekel-sign"],["shekel",null,"shekel-sign"],["sheqel",null,"shekel-sign"],["meanpath","fab","font-awesome"],["buysellads","fab",null],["connectdevelop","fab",null],["dashcube","fab",null],["forumbee","fab",null],["leanpub","fab",null],["sellsy","fab",null],["shirtsinbulk","fab",null],["simplybuilt","fab",null],["skyatlas","fab",null],["diamond","far","gem"],["intersex",null,"transgender"],["facebook-official","fab","facebook"],["pinterest-p","fab",null],["whatsapp","fab",null],["hotel",null,"bed"],["viacoin","fab",null],["medium","fab",null],["y-combinator","fab",null],["yc","fab","y-combinator"],["optin-monster","fab",null],["opencart","fab",null],["expeditedssl","fab",null],["battery-4",null,"battery-full"],["battery",null,"battery-full"],["battery-3",null,"battery-three-quarters"],["battery-2",null,"battery-half"],["battery-1",null,"battery-quarter"],["battery-0",null,"battery-empty"],["object-group","far",null],["object-ungroup","far",null],["sticky-note-o","far","sticky-note"],["cc-jcb","fab",null],["cc-diners-club","fab",null],["clone","far",null],["hourglass-o","far","hourglass"],["hourglass-1",null,"hourglass-start"],["hourglass-2",null,"hourglass-half"],["hourglass-3",null,"hourglass-end"],["hand-rock-o","far","hand-rock"],["hand-grab-o","far","hand-rock"],["hand-paper-o","far","hand-paper"],["hand-stop-o","far","hand-paper"],["hand-scissors-o","far","hand-scissors"],["hand-lizard-o","far","hand-lizard"],["hand-spock-o","far","hand-spock"],["hand-pointer-o","far","hand-pointer"],["hand-peace-o","far","hand-peace"],["registered","far",null],["creative-commons","fab",null],["gg","fab",null],["gg-circle","fab",null],["tripadvisor","fab",null],["odnoklassniki","fab",null],["odnoklassniki-square","fab",null],["get-pocket","fab",null],["wikipedia-w","fab",null],["safari","fab",null],["chrome","fab",null],["firefox","fab",null],["opera","fab",null],["internet-explorer","fab",null],["television",null,"tv"],["contao","fab",null],["500px","fab",null],["amazon","fab",null],["calendar-plus-o","far","calendar-plus"],["calendar-minus-o","far","calendar-minus"],["calendar-times-o","far","calendar-times"],["calendar-check-o","far","calendar-check"],["map-o","far","map"],["commenting",null,"comment-dots"],["commenting-o","far","comment-dots"],["houzz","fab",null],["vimeo","fab","vimeo-v"],["black-tie","fab",null],["fonticons","fab",null],["reddit-alien","fab",null],["edge","fab",null],["credit-card-alt",null,"credit-card"],["codiepie","fab",null],["modx","fab",null],["fort-awesome","fab",null],["usb","fab",null],["product-hunt","fab",null],["mixcloud","fab",null],["scribd","fab",null],["pause-circle-o","far","pause-circle"],["stop-circle-o","far","stop-circle"],["bluetooth","fab",null],["bluetooth-b","fab",null],["gitlab","fab",null],["wpbeginner","fab",null],["wpforms","fab",null],["envira","fab",null],["wheelchair-alt","fab","accessible-icon"],["question-circle-o","far","question-circle"],["volume-control-phone",null,"phone-volume"],["asl-interpreting",null,"american-sign-language-interpreting"],["deafness",null,"deaf"],["hard-of-hearing",null,"deaf"],["glide","fab",null],["glide-g","fab",null],["signing",null,"sign-language"],["viadeo","fab",null],["viadeo-square","fab",null],["snapchat","fab",null],["snapchat-ghost","fab",null],["snapchat-square","fab",null],["pied-piper","fab",null],["first-order","fab",null],["yoast","fab",null],["themeisle","fab",null],["google-plus-official","fab","google-plus"],["google-plus-circle","fab","google-plus"],["font-awesome","fab",null],["fa","fab","font-awesome"],["handshake-o","far","handshake"],["envelope-open-o","far","envelope-open"],["linode","fab",null],["address-book-o","far","address-book"],["vcard",null,"address-card"],["address-card-o","far","address-card"],["vcard-o","far","address-card"],["user-circle-o","far","user-circle"],["user-o","far","user"],["id-badge","far",null],["drivers-license",null,"id-card"],["id-card-o","far","id-card"],["drivers-license-o","far","id-card"],["quora","fab",null],["free-code-camp","fab",null],["telegram","fab",null],["thermometer-4",null,"thermometer-full"],["thermometer",null,"thermometer-full"],["thermometer-3",null,"thermometer-three-quarters"],["thermometer-2",null,"thermometer-half"],["thermometer-1",null,"thermometer-quarter"],["thermometer-0",null,"thermometer-empty"],["bathtub",null,"bath"],["s15",null,"bath"],["window-maximize","far",null],["window-restore","far",null],["times-rectangle",null,"window-close"],["window-close-o","far","window-close"],["times-rectangle-o","far","window-close"],["bandcamp","fab",null],["grav","fab",null],["etsy","fab",null],["imdb","fab",null],["ravelry","fab",null],["eercast","fab","sellcast"],["snowflake-o","far","snowflake"],["superpowers","fab",null],["wpexplorer","fab",null],["spotify","fab",null]];return function(l){try{l()}catch(l){if(!f)throw l}}(function(){var l;"function"==typeof i.hooks.addShims?i.hooks.addShims(s):(l=i.shims).push.apply(l,s)}),s},"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):l["fontawesome-free-shims"]=a(); \ No newline at end of file diff --git a/js/waypoints.min.js b/js/waypoints.min.js new file mode 100644 index 0000000..2470db4 --- /dev/null +++ b/js/waypoints.min.js @@ -0,0 +1,8 @@ +// Generated by CoffeeScript 1.6.2 +/* +jQuery Waypoints - v2.0.3 +Copyright (c) 2011-2013 Caleb Troughton +Dual licensed under the MIT license and GPL license. +https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt +*/ +(function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e=0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disable=function(){return this.enabled=false};t.prototype.enable=function(){this.context.refresh();return this.enabled=true};t.prototype.destroy=function(){delete s[this.axis][this.id];delete this.context.waypoints[this.axis][this.id];return this.context.checkEmpty()};t.getWaypointsByElement=function(t){var e,r;r=n(t).data(w);if(!r){return[]}e=n.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return e[t]})};return t}();d={init:function(t,e){var r;if(e==null){e={}}if((r=e.handler)==null){e.handler=t}this.each(function(){var t,r,i,s;t=n(this);i=(s=e.context)!=null?s:n.fn[g].defaults.context;if(!n.isWindow(i)){i=t.closest(i)}i=n(i);r=a[i.data(u)];if(!r){r=new o(i)}return new l(t,r,e)});n[m]("refresh");return this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(n[e-1])}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(et.oldScroll.y})},left:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;e=n.extend({},s.vertical,s.horizontal);return n.each(e,function(e,n){n[t]();return true})},_filter:function(t,e,r){var i,o;i=a[n(t).data(u)];if(!i){return[]}o=[];n.each(i.waypoints[e],function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};n[m]=function(){var t,n;n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(h[n]){return h[n].apply(null,t)}else{return h.aggregate.call(null,n)}};n[m].settings={resizeThrottle:100,scrollThrottle:30};return i.load(function(){return n[m]("refresh")})})}).call(this); \ No newline at end of file diff --git a/js/widget.min.js b/js/widget.min.js new file mode 100644 index 0000000..f3a2117 --- /dev/null +++ b/js/widget.min.js @@ -0,0 +1,11 @@ +/*! + * jQuery UI Widget 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/jQuery.widget/ + */ +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(h){var s,i=0,a=Array.prototype.slice;return h.cleanData=(s=h.cleanData,function(t){var e,i,n;for(n=0;null!=(i=t[n]);n++)try{(e=h._data(i,"events"))&&e.remove&&h(i).triggerHandler("remove")}catch(t){}s(t)}),h.widget=function(t,i,e){var n,s,o,r,a={},u=t.split(".")[0];return t=t.split(".")[1],n=u+"-"+t,e||(e=i,i=h.Widget),h.expr[":"][n.toLowerCase()]=function(t){return!!h.data(t,n)},h[u]=h[u]||{},s=h[u][t],o=h[u][t]=function(t,e){if(!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},h.extend(o,s,{version:e.version,_proto:h.extend({},e),_childConstructors:[]}),(r=new i).options=h.widget.extend({},r.options),h.each(e,function(e,n){function s(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}h.isFunction(n)?a[e]=function(){var t,e=this._super,i=this._superApply;return this._super=s,this._superApply=o,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}:a[e]=n}),o.prototype=h.widget.extend(r,{widgetEventPrefix:s&&r.widgetEventPrefix||t},a,{constructor:o,namespace:u,widgetName:t,widgetFullName:n}),s?(h.each(s._childConstructors,function(t,e){var i=e.prototype;h.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete s._childConstructors):i._childConstructors.push(o),h.widget.bridge(t,o),o},h.widget.extend=function(t){for(var e,i,n=a.call(arguments,1),s=0,o=n.length;s",options:{disabled:!1,create:null},_createWidget:function(t,e){e=h(e||this.defaultElement||this)[0],this.element=h(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=h(),this.hoverable=h(),this.focusable=h(),e!==this&&(h.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=h(e.style?e.ownerDocument:e.document||e),this.window=h(this.document[0].defaultView||this.document[0].parentWindow)),this.options=h.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:h.noop,_getCreateEventData:h.noop,_create:h.noop,_init:h.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(h.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:h.noop,widget:function(){return this.element},option:function(t,e){var i,n,s,o=t;if(0===arguments.length)return h.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(n=o[t]=h.widget.extend({},this.options[t]),s=0;sb;b++)if(b in this&&this[b]===a)return b;return-1};b=function(){function a(){}return a.prototype.extend=function(a,b){var c,d;for(c in b)d=b[c],null==a[c]&&(a[c]=d);return a},a.prototype.isMobile=function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)},a.prototype.createEvent=function(a,b,c,d){var e;return null==b&&(b=!1),null==c&&(c=!1),null==d&&(d=null),null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e},a.prototype.emitEvent=function(a,b){return null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)?a["on"+b]():void 0},a.prototype.addEvent=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},a.prototype.removeEvent=function(a,b,c){return null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]},a.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},a}(),c=this.WeakMap||this.MozWeakMap||(c=function(){function a(){this.keys=[],this.values=[]}return a.prototype.get=function(a){var b,c,d,e,f;for(f=this.keys,b=d=0,e=f.length;e>d;b=++d)if(c=f[b],c===a)return this.values[b]},a.prototype.set=function(a,b){var c,d,e,f,g;for(g=this.keys,c=e=0,f=g.length;f>e;c=++e)if(d=g[c],d===a)return void(this.values[c]=b);return this.keys.push(a),this.values.push(b)},a}()),a=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(a=function(){function a(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return a.notSupported=!0,a.prototype.observe=function(){},a}()),d=this.getComputedStyle||function(a,b){return this.getPropertyValue=function(b){var c;return"float"===b&&(b="styleFloat"),e.test(b)&&b.replace(e,function(a,b){return b.toUpperCase()}),(null!=(c=a.currentStyle)?c[b]:void 0)||null},this},e=/(\-([a-z]){1})/g,this.WOW=function(){function e(a){null==a&&(a={}),this.scrollCallback=f(this.scrollCallback,this),this.scrollHandler=f(this.scrollHandler,this),this.resetAnimation=f(this.resetAnimation,this),this.start=f(this.start,this),this.scrolled=!0,this.config=this.util().extend(a,this.defaults),null!=a.scrollContainer&&(this.config.scrollContainer=document.querySelector(a.scrollContainer)),this.animationNameCache=new c,this.wowEvent=this.util().createEvent(this.config.boxClass)}return e.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null,scrollContainer:null},e.prototype.init=function(){var a;return this.element=window.document.documentElement,"interactive"===(a=document.readyState)||"complete"===a?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},e.prototype.start=function(){var b,c,d,e;if(this.stopped=!1,this.boxes=function(){var a,c,d,e;for(d=this.element.querySelectorAll("."+this.config.boxClass),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.all=function(){var a,c,d,e;for(d=this.boxes,e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(e=this.boxes,c=0,d=e.length;d>c;c++)b=e[c],this.applyStyle(b,!0);return this.disabled()||(this.util().addEvent(this.config.scrollContainer||window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new a(function(a){return function(b){var c,d,e,f,g;for(g=[],c=0,d=b.length;d>c;c++)f=b[c],g.push(function(){var a,b,c,d;for(c=f.addedNodes||[],d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(this.doSync(e));return d}.call(a));return g}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},e.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(this.config.scrollContainer||window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},e.prototype.sync=function(b){return a.notSupported?this.doSync(this.element):void 0},e.prototype.doSync=function(a){var b,c,d,e,f;if(null==a&&(a=this.element),1===a.nodeType){for(a=a.parentNode||a,e=a.querySelectorAll("."+this.config.boxClass),f=[],c=0,d=e.length;d>c;c++)b=e[c],g.call(this.all,b)<0?(this.boxes.push(b),this.all.push(b),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(b,!0),f.push(this.scrolled=!0)):f.push(void 0);return f}},e.prototype.show=function(a){return this.applyStyle(a),a.className=a.className+" "+this.config.animateClass,null!=this.config.callback&&this.config.callback(a),this.util().emitEvent(a,this.wowEvent),this.util().addEvent(a,"animationend",this.resetAnimation),this.util().addEvent(a,"oanimationend",this.resetAnimation),this.util().addEvent(a,"webkitAnimationEnd",this.resetAnimation),this.util().addEvent(a,"MSAnimationEnd",this.resetAnimation),a},e.prototype.applyStyle=function(a,b){var c,d,e;return d=a.getAttribute("data-wow-duration"),c=a.getAttribute("data-wow-delay"),e=a.getAttribute("data-wow-iteration"),this.animate(function(f){return function(){return f.customStyle(a,b,d,c,e)}}(this))},e.prototype.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),e.prototype.resetStyle=function(){var a,b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(a.style.visibility="visible");return e},e.prototype.resetAnimation=function(a){var b;return a.type.toLowerCase().indexOf("animationend")>=0?(b=a.target||a.srcElement,b.className=b.className.replace(this.config.animateClass,"").trim()):void 0},e.prototype.customStyle=function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a},e.prototype.vendors=["moz","webkit"],e.prototype.vendorSet=function(a,b){var c,d,e,f;d=[];for(c in b)e=b[c],a[""+c]=e,d.push(function(){var b,d,g,h;for(g=this.vendors,h=[],b=0,d=g.length;d>b;b++)f=g[b],h.push(a[""+f+c.charAt(0).toUpperCase()+c.substr(1)]=e);return h}.call(this));return d},e.prototype.vendorCSS=function(a,b){var c,e,f,g,h,i;for(h=d(a),g=h.getPropertyCSSValue(b),f=this.vendors,c=0,e=f.length;e>c;c++)i=f[c],g=g||h.getPropertyCSSValue("-"+i+"-"+b);return g},e.prototype.animationName=function(a){var b;try{b=this.vendorCSS(a,"animation-name").cssText}catch(c){b=d(a).getPropertyValue("animation-name")}return"none"===b?"":b},e.prototype.cacheAnimationName=function(a){return this.animationNameCache.set(a,this.animationName(a))},e.prototype.cachedAnimationName=function(a){return this.animationNameCache.get(a)},e.prototype.scrollHandler=function(){return this.scrolled=!0},e.prototype.scrollCallback=function(){var a;return!this.scrolled||(this.scrolled=!1,this.boxes=function(){var b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],a&&(this.isVisible(a)?this.show(a):e.push(a));return e}.call(this),this.boxes.length||this.config.live)?void 0:this.stop()},e.prototype.offsetTop=function(a){for(var b;void 0===a.offsetTop;)a=a.parentNode;for(b=a.offsetTop;a=a.offsetParent;)b+=a.offsetTop;return b},e.prototype.isVisible=function(a){var b,c,d,e,f;return c=a.getAttribute("data-wow-offset")||this.config.offset,f=this.config.scrollContainer&&this.config.scrollContainer.scrollTop||window.pageYOffset,e=f+Math.min(this.element.clientHeight,this.util().innerHeight())-c,d=this.offsetTop(a),b=d+a.clientHeight,e>=d&&b>=f},e.prototype.util=function(){return null!=this._util?this._util:this._util=new b},e.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent)},e}()}).call(this); \ No newline at end of file diff --git a/media/HOTEL RESERVATION BW.pdf b/media/HOTEL RESERVATION BW.pdf new file mode 100644 index 0000000..156dd53 Binary files /dev/null and b/media/HOTEL RESERVATION BW.pdf differ diff --git a/media/HOTEL RESERVATION JJ32.pdf b/media/HOTEL RESERVATION JJ32.pdf new file mode 100644 index 0000000..5418df1 Binary files /dev/null and b/media/HOTEL RESERVATION JJ32.pdf differ diff --git a/site/about.html b/site/about.html deleted file mode 100755 index 6de59ba..0000000 --- a/site/about.html +++ /dev/null @@ -1,523 +0,0 @@ - - - -About - - - - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

About us

- -
-
-
-
-
-
- - - -
-
-
- - -
-
-

The Best Marketing Conference

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
- - -
-
- -
-
-
- -
-
-
- - - -
-
-
- - -
-
-

Why join us?

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
- - -
-
- -
-
-
- -
-
-
- - - -
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Members
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Topics
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Days
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Speakers
-
-
-
- -
-
-
- - - -
-
-
-
-

Choose a plan

-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-

Basic Pass

-
$25
-
Price Excluding 24% VAT
-
-
    -
  • Regular Sitting
  • -
  • Coffee Break
  • -
  • Workshops
  • -
  • Meet & Greet
  • -
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-

Standard Pass

-
$35
-
Price Excluding 24% VAT
-
-
    -
  • Regular Sitting
  • -
  • Coffee Break
  • -
  • Workshops
  • -
  • Meet & Greet
  • -
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-

Lux Pass

-
$45
-
Price Excluding 24% VAT
-
-
    -
  • Regular Sitting
  • -
  • Coffee Break
  • -
  • Workshops
  • -
  • Meet & Greet
  • -
-
- -
-
- -
-
-
- - - -
-
-
-
-

Official Sponsors & Partners

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
- - -
- -
-
-
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/blog.html b/site/blog.html deleted file mode 100755 index f1c647f..0000000 --- a/site/blog.html +++ /dev/null @@ -1,483 +0,0 @@ - - - -News - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Blog

- -
-
-
-
-
-
- - - -
-
-
- - -
-
- - -
-
-
-
- -

Tips to grow your business fast

- -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

-
-
read more
-
-
-
- - -
-
-
-
- -

Tips to grow your business fast

- -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

-
-
read more
-
-
-
- - -
-
-
-
- -

Tips to grow your business fast

- -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

-
-
read more
-
-
-
- -
- - - -
- - - - -
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/contact.html b/site/contact.html deleted file mode 100755 index 111a1df..0000000 --- a/site/contact.html +++ /dev/null @@ -1,352 +0,0 @@ - - - -Contact - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Contact

- -
-
-
-
-
-
- - - -
-
-
- - -
-
-
-
-
-
-
-
-
-
-
- - -
-
-
Get in touch
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.

-
-
-
    -
  • Main Str, no 23, New York
  • -
  • +546 990221 123
  • -
  • hosting@contact.com
  • -
-
-
-
-
-
-
-
- - - -
-
-
-
- -
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/elements.html b/site/elements.html deleted file mode 100755 index 63d9480..0000000 --- a/site/elements.html +++ /dev/null @@ -1,531 +0,0 @@ - - - -Elements - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Elements

- -
-
-
-
-
-
- - - -
-
-
-
- - -
-
Buttons
- -
- - -
-
Accordions & Tabs
-
-
- - -
- - -
-
Ipsum dolor sit amet, consectetur adipiscing elit
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit.

-
-
-
- - -
-
Nam at diam luctus, lacinia orci ut, pulvinar lacus
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit.

-
-
-
- - -
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit.

-
-
-
- -
- -
- -
- - -
-
-
-
01. Marketing Intro
-
02. Strategy
-
03. Marketing
-
-
-
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in.

-
-
-
-
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in.

-
-
-
-
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in.

-
-
-
-
-
-
- -
-
-
- - -
-
Loaders
-
- - -
-
-
-
Marketing
-
-
-
- - -
-
-
-
Solutions
-
-
-
- - -
-
-
-
Strategy
-
-
-
- - -
-
-
-
Science
-
-
-
- -
-
- - -
-
Milestones
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Members
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Topics
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Days
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Speakers
-
-
-
- -
-
- - -
-
Icon Boxes
-
- - -
-
-
-

Online Marketing

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-
-
-
- - -
-
-
-

Marketing Solutions

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-
-
-
- - -
-
-
-

Online Strategy

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-
-
-
- -
-
- -
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/index.html b/site/index.html deleted file mode 100755 index f585fb8..0000000 --- a/site/index.html +++ /dev/null @@ -1,773 +0,0 @@ - - - -Confpro - - - - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
- - - -
-
-
-
- - - - - - - -
- - -
- - - -
-
-
-
-
-
    -
  • 01.
  • -
  • 02.
  • -
  • 03.
  • -
-
-
-
-
-
- -
-
- - - -
-
-
-
-
-
-
-
    -
  • -
    3
    -
    Days
    -
  • -
  • -
    00
    -
    Hours
    -
  • -
  • -
    00
    -
    Minutes
    -
  • -
  • -
    00
    -
    Seconds
    -
  • -
-
-
-
-
-
- - - -
-
-
-
-
-

The Best Marketing Conference

-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
- - - -
-
-
-
-
-
see what's all about
-

The Topics

-
-
-
-
01. Marketing Intro
-
02. Marketing Strategy
-
03. Cyber Marketing
-
04. Online Stategy
-
05. Stories
-
06. Special Guest
-
-
-
-
-
-
-

Marketing 101 - Studies for begginers

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
-
-

02. Marketing Strategy

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
-
-

03. Cyber Marketing

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
-
-

04. Online Stategy

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-

05. Stories

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-

06. Special Guest

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - -
- - -
- -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/schedule.html b/site/schedule.html deleted file mode 100755 index bb8a58f..0000000 --- a/site/schedule.html +++ /dev/null @@ -1,717 +0,0 @@ - - - -Schedule - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Schedule

- -
-
-
-
-
-
- - - -
-
-
-
-
- - -
-
-
Day 1. February 12, 2019
-
-
-
Day 2. February 13, 2019
-
-
-
Day 3. February 14, 2019
-
-
-
Day 4. February 15, 2019
-
-
- - -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
11:00 AM - 12:00 AM
-
Coffee Break
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
12:00 AM - 13:00 AM
-
Online Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
11:00 AM - 12:00 AM
-
Coffee Break
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
12:00 AM - 13:00 AM
-
Online Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
13:00 AM - 14:00 AM
-
Online Marketing Discussion
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
11:00 AM - 12:00 AM
-
Coffee Break
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
12:00 AM - 13:00 AM
-
Online Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- -
- - - - -
-
-
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/testform.html b/testform.html deleted file mode 100644 index 4b10a86..0000000 --- a/testform.html +++ /dev/null @@ -1,2888 +0,0 @@ - - - - - - - - - -

Tabs

-

Click on the buttons inside the tabbed menu:

- -
- - - - - -
- -
-

Men Registration

-
- -
-
- - -
-
- - -
-
- - -
-
-
- - Warm-Up (24.07.2020) 50 € - -
-
- Luxembourg Open (25.07.2020) 25 € -
-
- Luxembourg Masters (26.07.2020) 25 € -
-
-
- -
-
- -
-

Women Registration

-
- -
-
- - -
-
- - -
-
- - -
-
-
- - Warm-Up (24.07.2020) 50 € - -
-
- Luxembourg Open (25.07.2020) 25 € -
-
- Luxembourg Masters (26.07.2020) 25 € -
- -
-
- -
-
- -
-

Boys Registration

-
- -
-
- - -
-
- - -
-
- - -
-
-
- - Warm-Up (24.07.2020) 50 € - -
-
- Luxembourg Open (25.07.2020) 25 € -
-
- Luxembourg Masters (26.07.2020) 25 € -
- -
-
- -
-
- -
-

Girls Registration

-
- -
-
- - -
-
- - -
-
- - -
-
-
- - Warm-Up (24.07.2020) 50 € - -
-
- Luxembourg Open (25.07.2020) 25 € -
-
- Luxembourg Masters (26.07.2020) 25 € -
- -
-
- -
-
- -
-

Disability Registration

-
- -
-
- - -
-
- - -
-
- - -
-
-
- - Warm-Up (24.07.2020) 50 € - -
-
- Luxembourg Open (25.07.2020) 25 € -
-
- Luxembourg Masters (26.07.2020) 25 € -
- -
-
- -
-
-
-

Checkout

- - - - - - - - - - - - - - - - - - - - -
SurnamePrenameCountryTournamentRegistration Fee 
Total0,00 €
-
- - - - - diff --git a/tmpl/block/countdown.tt b/tmpl/block/countdown.tt deleted file mode 100644 index 46236f9..0000000 --- a/tmpl/block/countdown.tt +++ /dev/null @@ -1,32 +0,0 @@ - - -
-
-
-
-
-
-
-
    -
  • -
    3
    -
    Days
    -
  • -
  • -
    00
    -
    Hours
    -
  • -
  • -
    00
    -
    Minutes
    -
  • -
  • -
    00
    -
    Seconds
    -
  • -
-
-
-
-
-
\ No newline at end of file diff --git a/tmpl/block/countryoptions.tt b/tmpl/block/countryoptions.tt new file mode 100644 index 0000000..9f05ebd --- /dev/null +++ b/tmpl/block/countryoptions.tt @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tmpl/block/footer.tt b/tmpl/block/footer.tt new file mode 100644 index 0000000..d0399fd --- /dev/null +++ b/tmpl/block/footer.tt @@ -0,0 +1,38 @@ + \ No newline at end of file diff --git a/tmpl/block/sliders.tt b/tmpl/block/sliders.tt deleted file mode 100644 index 31e7c38..0000000 --- a/tmpl/block/sliders.tt +++ /dev/null @@ -1,122 +0,0 @@ - - -
- - -
- - - -
-
-
-
-
-
    -
  • 01.
  • -
  • 02.
  • -
  • 03.
  • -
-
-
-
-
-
- -
-
\ No newline at end of file diff --git a/tmpl/block/topmenu.tt b/tmpl/block/topmenu.tt index d8869e9..c2cf833 100644 --- a/tmpl/block/topmenu.tt +++ b/tmpl/block/topmenu.tt @@ -1,49 +1,69 @@ - - \ No newline at end of file + + + \ No newline at end of file diff --git a/tmpl/macro/fields.tt b/tmpl/macro/fields.tt new file mode 100644 index 0000000..22e9917 --- /dev/null +++ b/tmpl/macro/fields.tt @@ -0,0 +1,190 @@ +[% MACRO fieldhidden(column,table,ident,value) BLOCK -%] + +[% END -%] +[% MACRO fieldeditbox(column,table,title,size,state,value,plhold) BLOCK -%] +
+ + 0 %][% state %][% END %]/> + +
+[% END -%] +[% MACRO fieldfile(column,table,title,size,state,value) BLOCK -%] +
+ + 0 %][% state %][% END %]/> + +
+[% END -%] +[% MACRO fieldpasswordbox(column,table,title,size,state,value) BLOCK -%] +
+ + 0 %][% state %][% END %]/> + +
+[% END -%] +[% MACRO fieldmoneybox(column,table,title,size,state,value,plhold) BLOCK -%] +
+ + + 0 %][% state %][% END %]/> + +
+[% END -%] +[% MACRO fieldnumberbox(column,table,title,size,state,value,plhold,minval,maxval,step) BLOCK -%] +
+ + 0 %][% state %][% END %]/> +
+[% END -%] +[% MACRO fieldtagbox(column,table,title,size,state,value) BLOCK -%] +
+ + 0 %][% state %][% END %]/> + +
+[% END -%] +[% MACRO fieldcheckbox(column,table,title,size,state,value) BLOCK -%] +
+
+ 0 %][% state %][% END %]> + +
+[% END -%] +[% MACRO fieldradiobox(column,table,title,size,state,value) BLOCK -%] +
+
+ 0 %][% state %][% END %]> + +
+[% END -%] +[% MACRO fieldemailbox(column,table,title,size,state,value) BLOCK -%] +
+ + 0 %][% state %][% END %]/> +
+[% END -%] + +[% MACRO fieldselectbox(column,table,title,size,state,value,extraclass) BLOCK -%] + [% IF state.length > 0 %] + [% fieldeditbox(column,table,title,size,state,value) %] + [% ELSE %] +
+ + + +
+ [% END %] +[% END -%] +[% MACRO fieldmultiselectbox(column,table,title,size,state,value) BLOCK -%] + [% IF state.length > 0 %] + [% fieldeditbox(column,table,title,size,state,value) %] + [% ELSE %] +
+ + + +
+ [% END %] +[% END -%] +[% MACRO fielddatetimebox(column,table,title,size,state,value) BLOCK -%] +
+ + 0 %][% state %][% END %]]/> + +
+[% END -%] +[% MACRO fieldmultidatebox(column,table,title,size,state,value) BLOCK -%] +
+ + 0 %][% state %][% END %]]/> + +
+[% END -%] +[% MACRO fielddatebox(column,table,title,size,state,value) BLOCK -%] +
+ +
+ [% IF state == "disabled" || state == "readonly" %] + + [% ELSE %] +
+ +
+
+ +
+ [% END %] +
+
+[% END -%] +[% MACRO fieldtimebox(column,table,title,size,state,value,class) BLOCK -%] +
+ +
+ [% IF state == "disabled" || state == "readonly" %] + + [% ELSE %] + + x + + [% END %] +
+
+[% END -%] +[% MACRO fieldintervalbox(column,table,title,size,state,value,class) BLOCK -%] +
+ +
+ [% IF state == "disabled" || state == "readonly" %] + + [% ELSE %] + + + + [% END %] +
+
+[% END -%] +[% MACRO fieldtextarea(column,table,title,size,state,height,value) BLOCK -%] +
+ + +
+[% END -%] +[% MACRO fieldrichtextarea(column,table,title,size,state,height,value) BLOCK -%] +
+ + +
+[% END -%] + +[% MACRO formsavebutton(formname,btnname) BLOCK -%] +
+ +
+[% END -%] +[% MACRO formsavetextfilebutton(formname,btnname) BLOCK -%] +
+ +
+[% END -%] +[% MACRO formdlgsavebutton(formname,btnname,clbk) BLOCK -%] + +[% END -%] +[% MACRO formsavefilebutton(formname,btnname,container) BLOCK -%] +[% IF container.length > 0 %] +
+ [% END %] + +[% IF container.length > 0 %] +
+[% END %] +[% END -%] + + diff --git a/tmpl/page/contact.tt b/tmpl/page/contact.tt index 111a1df..64e6688 100755 --- a/tmpl/page/contact.tt +++ b/tmpl/page/contact.tt @@ -1,352 +1,13 @@ - - - -Contact - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Contact

- -
-
-
-
-
-
- - - -
-
-
- - -
-
-
-
-
-
-
-
-
-
-
- - -
-
-
Get in touch
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.

-
-
-
    -
  • Main Str, no 23, New York
  • -
  • +546 990221 123
  • -
  • hosting@contact.com
  • -
-
-
-
-
-
-
-
- - - -
-
-
-
- -
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- +[% PROCESS macro/fields.tt %] +
+

Contact

+
+
+ [% fieldeditbox('name','contact','Name','','') %] + [% fieldeditbox('email','contact','E-Mail','','') %] + [% fieldeditbox('phone','contact','Phone','','') %] + [% fieldeditbox('subject','contact','Subject','','') %] + [% fieldtextarea('message','contact','message','','','200px','')%] +
- - - - - - - - - - - - - - - - - \ No newline at end of file +
\ No newline at end of file diff --git a/tmpl/page/history.tt b/tmpl/page/history.tt new file mode 100644 index 0000000..782c0f1 --- /dev/null +++ b/tmpl/page/history.tt @@ -0,0 +1,28 @@ +
+

Information

+

The 1st Luxembourg Open was organized in 2010 by the Luxembourgish Dart Federation in collaboration with the Darts Club ‘Triple Twenty’ in Clervaux. Clervaux is located in the north of our beautiful country about good hour drive from Luxembourg city. The Venue give place for 32 boards and so our first Luxembourg Open 150 players took part in it.

+

Over the next few years till 2015 the tournament was growing in the number of participants and by 220 players the venue became too small, and the Luxembourgish Dart Federation took the decision to move more to the center, to the Kirchberg, the ‘COQUE’ in Luxembourg city, where in our opinion more facilities for all the participants are available.

+

In 2017 the international Darts calendar was not in combination with the disponibility with the venue so we couldn’t have held the edition of 2017. But we went back in 2018 not only with the Luxembourg Open but also with the Luxembourg Masters for Women, Men, Boys and Girls. In 2019 we reached more than 400 players/per event combined all categories, and even more than 300 inscriptions in the Men category, which makes us really proud.

+

2020 is the 10th anniversary of the Luxembourg Open, with choosing a new Venue we put us again a new challenge, more possibilities, more work ;) but we hope you gonna enjoy your stay Luxembourg and wish you all GOOD DARTS for that amazing weekend of Darts in Luxembourg

+ + + + + + + + + + + + + + +
YearLUXEMBOURG OPEN MENLUXEMBOURG OPEN WOMEN
2010Tony WestIrina Armstrong
2011Alan NorrisAillen de Graaf
2012Alan NorrisKaylee de Priester
2013Jan DekkerIrina Armstrong
2014Richard VeenstraAileen de Graaf
2015Thomas JunghansDeta Hedman
2016Darryl FittonDeta Hedman
2017(paused)(paused)
2018Roger JanssenDeta Hedman
2019Martijn KleermakerAileen de Graaf
2020

+ + + + + +
YearLUXEMBOURG MASTERS MENLUXEMBOURG MASTERS WOMEN
2018Mario VandenbogaerdeDeta Hedman
2019Richard VeenstraAileen de Graaf
2020
+
\ No newline at end of file diff --git a/tmpl/page/index.tt b/tmpl/page/index.tt index 35a416c..47945b4 100644 --- a/tmpl/page/index.tt +++ b/tmpl/page/index.tt @@ -1,3 +1,23 @@ - [% INCLUDE block/sliders.tt %] - - [% INCLUDE block/countdown.tt %] \ No newline at end of file + \ No newline at end of file diff --git a/tmpl/page/information.tt b/tmpl/page/information.tt new file mode 100644 index 0000000..52a0273 --- /dev/null +++ b/tmpl/page/information.tt @@ -0,0 +1,106 @@ +
+

Information

+ +

The players need to pick up their players card indicating their starting times of all tournaments where they are registered to.
The players card can be picked up at the control desk before the tournament starts.

+ +

The organisation keeps the right to make changes on the above schedule.

+ +

The disability darts final, youth final, ladies final and men's final on both days will be played on stage called by a professional Caller.

+ +

Closing date for the registration is on the 18.07.2020

+ +

Program

+
+
+ +
+
+

Pairs Event

Friday, 24 July 2020

+
+
+

Schedule

+ + + + + + +
18:00Doors Open
20:00Start of men and ladies pairs tournament
  
+
+

Price Money

+ + + + + + + + + + + + +
PlaceMen PairsLadies Pairs
1.400€200€
2.200€100€
3.–4.100€50€
5.–8.50€
9.–16.
17.–32.
+ +
+
+
+
+

Luxembourg Open

+

Saturday, 25 July 2020

+
+

Schedule

+ + + + +
08:30Doors Open
10:00Start of men and ladies singles tournament
12:00Start of youth and disability singles tournament
+
+

Price Money

+ + + + + + + + + + + + +
PlaceMenLadiesBoysGirlsParadarts
1.1800€600€100€50€150€
2.800€250€50€25€100€
3.–4.400€100€25€15€50€
5.–8.200€50€
9.–16.100€25€
17.–32.50€
+
+
+
+
+
+

Luxembourg Masters

Sunday, 26 July 2020

+
+

Schedule

+ + + + +
08:30Doors Open
10:00Start of men and ladies singles tournament
12:00Start of youth and disability singles tournament
+
+

Price Money

+ + + + + + + + + + + + +
PlaceMenLadiesBoysGirlsParadarts
1.1800€600€100€50€150€
2.800€250€50€25€100€
3.–4.400€100€25€15€50€
5.–8.200€50€
9.–16.100€25€
17.–32.50€
+
+
+
+
+ + diff --git a/tmpl/page/news.tt b/tmpl/page/news.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/privacy-policy.tt b/tmpl/page/privacy-policy.tt new file mode 100644 index 0000000..5bf7b55 --- /dev/null +++ b/tmpl/page/privacy-policy.tt @@ -0,0 +1,12 @@ +
+


Your privacy is critically important to us.
Fédération Luxembourgeoise de Darts ASBL is located at:

+

Fédération Luxembourgeoise de Darts ASBL
3, route d’Arlon
L-8009 Luxemburg

+


It is Fédération Luxembourgeoise de Darts ASBL’s policy to respect your privacy regarding any information we may collect while operating our website. This Privacy Policy applies to www.luxopen.lu (hereinafter, “us”, “we”, or “www.luxopen.lu”). We respect your privacy and are committed to protecting personally identifiable information you may provide us through the Website. We have adopted this privacy policy (“Privacy Policy”) to explain what information may be collected on our Website, how we use this information, and under what circumstances we may disclose the information to third parties. This Privacy Policy applies only to information we collect through the Website and does not apply to our collection of information from other sources.
This Privacy Policy, together with the Terms and conditions posted on our Website, set forth the general rules and policies governing your use of our Website. Depending on your activities when visiting our Website, you may be required to agree to additional terms and conditions.

+ + + +
  • Website Visitors
    Like most website operators, Fédération Luxembourgeoise de Darts ASBL collects non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request. Fédération Luxembourgeoise de Darts ASBL’s purpose in collecting non-personally identifying information is to better understand how Fédération Luxembourgeoise de Darts ASBL’s visitors use its website. From time to time, Fédération Luxembourgeoise de Darts ASBL may release non-personally-identifying information in the aggregate, e.g., by publishing a report on trends in the usage of its website.
    Fédération Luxembourgeoise de Darts ASBL also collects potentially personally-identifying information like Internet Protocol (IP) addresses for logged in users and for users leaving comments on http://www.luxopen.lu blog posts. Fédération Luxembourgeoise de Darts ASBL only discloses logged in user and commenter IP addresses under the same circumstances that it uses and discloses personally-identifying information as described below.
  • Gathering of Personally-Identifying Information
    Certain visitors to Fédération Luxembourgeoise de Darts ASBL’s websites choose to interact with Fédération Luxembourgeoise de Darts ASBL in ways that require Fédération Luxembourgeoise de Darts ASBL to gather personally-identifying information. The amount and type of information that Fédération Luxembourgeoise de Darts ASBL gathers depends on the nature of the interaction. For example, we ask visitors who sign up for a blog at http://www.luxopen.lu to provide a username and email address.
  • Security
    The security of your Personal Information is important to us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Information, we cannot guarantee its absolute security.
  • Advertisements
    Ads appearing on our website may be delivered to users by advertising partners, who may set cookies. These cookies allow the ad server to recognize your computer each time they send you an online advertisement to compile information about you or others who use your computer. This information allows ad networks to, among other things, deliver targeted advertisements that they believe will be of most interest to you. This Privacy Policy covers the use of cookies by Fédération Luxembourgeoise de Darts ASBL and does not cover the use of cookies by any advertisers.
  • Links To External Sites
    Our Service may contain links to external sites that are not operated by us. If you click on a third party link, you will be directed to that third party’s site. We strongly advise you to review the Privacy Policy and terms and conditions of every site you visit.
    We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites, products or services.
  • Aggregated Statistics
    Fédération Luxembourgeoise de Darts ASBL may collect statistics about the behavior of visitors to its website. Fédération Luxembourgeoise de Darts ASBL may display this information publicly or provide it to others. However, Fédération Luxembourgeoise de Darts ASBL does not disclose your personally-identifying information.
  • Affiliate Disclosure
    This site uses affiliate links and does earn a commission from certain links. This does not affect your purchases or the price you may pay.
  • Cookies
    To enrich and perfect your online experience, Fédération Luxembourgeoise de Darts ASBL uses “Cookies”, similar technologies and services provided by others to display personalized content, appropriate advertising and store your preferences on your computer.
    A cookie is a string of information that a website stores on a visitor’s computer, and that the visitor’s browser provides to the website each time the visitor returns. Fédération Luxembourgeoise de Darts ASBL uses cookies to help Fédération Luxembourgeoise de Darts ASBL identify and track visitors, their usage of http://www.luxopen.lu, and their website access preferences. Fédération Luxembourgeoise de Darts ASBL visitors who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using Fédération Luxembourgeoise de Darts ASBL’s websites, with the drawback that certain features of Fédération Luxembourgeoise de Darts ASBL’s websites may not function properly without the aid of cookies.
    By continuing to navigate our website without changing your cookie settings, you hereby acknowledge and agree to Fédération Luxembourgeoise de Darts ASBL’s use of cookies.
  • E-commerce
    Those who engage in transactions with Fédération Luxembourgeoise de Darts ASBL – by purchasing Fédération Luxembourgeoise de Darts ASBL’s services or products, are asked to provide additional information, including as necessary the personal and financial information required to process those transactions. In each case, Fédération Luxembourgeoise de Darts ASBL collects such information only insofar as is necessary or appropriate to fulfill the purpose of the visitor’s interaction with Fédération Luxembourgeoise de Darts ASBL. Fédération Luxembourgeoise de Darts ASBL does not disclose personally-identifying information other than as described below. And visitors can always refuse to supply personally-identifying information, with the caveat that it may prevent them from engaging in certain website-related activities.
+ +

Privacy Policy Changes
Although most changes are likely to be minor, Fédération Luxembourgeoise de Darts ASBL may change its Privacy Policy from time to time, and in Fédération Luxembourgeoise de Darts ASBL’s sole discretion. Fédération Luxembourgeoise de Darts ASBL encourages visitors to frequently check this page for any changes to its Privacy Policy. Your continued use of this site after any change in this Privacy Policy will constitute your acceptance of such change.

+ +
\ No newline at end of file diff --git a/tmpl/page/registration.tt b/tmpl/page/registration.tt new file mode 100644 index 0000000..02de75a --- /dev/null +++ b/tmpl/page/registration.tt @@ -0,0 +1,112 @@ +[% PROCESS macro/fields.tt %] + +
+

Registration

+
+
+

How to proceed?

+
    +
  1. You can register multiple players at once
  2. +
  3. Select in the form below the category for the player you want to register
  4. +
  5. Fill out name,country and select the events, the player want to participate
  6. +
  7. Click on "Add player" to add the player into the "Registration Table"
  8. +
  9. To finalize the registration, fill out your contact-data and click on "Register Now"
  10. +
  11. Fill out required payment fields and pay the requested registration fees.
  12. +
+
+
+

Important Notice

+To participate, all registration fees must be payed before registration ends!

+Registration ends on 18 July 2020! +
+
+
+

Player Registration Form

+
+
+ + +
+
+ [% fieldeditbox("playerprename",'luxopenregistrations',"Prename",'w3-third','') %] + [% fieldeditbox("playersurname",'luxopenregistrations',"Surname",'w3-third','') %] + +
+ + +
+
+ +
+ +  Pairs-Event (24.07.2020) 40 € + +
+ +
+  Luxembourg Open (25.07.2020) 20 € +
+
+  Luxembourg Masters (26.07.2020) 20 € +
+
+
+ +
+
+
+

Players to register

+ + + + + + + + + + +
NameCategoryTournamentRegistration fee 
+ + +
+
+

Your Contact Data

+
+
+ [% fieldhidden("amount",'payments','') %] + [% fieldeditbox("prename",'payments',"Prename",'w3-third','') %] + [% fieldeditbox("surname",'payments',"Surname",'w3-third','') %] +
+
+ [% fieldeditbox("email",'payments','email','w3-third','') %] +
+
+ [% fieldradiobox("gateway",'payments',"Pay by Credit Card","w3-third",'','stripe') %] + [% fieldradiobox("gateway",'payments',"Pay by Bank Transfer","w3-third",'','invoice') %] +
+ + +
+ +
+
+
diff --git a/tmpl/page/rules-regulations.tt b/tmpl/page/rules-regulations.tt new file mode 100644 index 0000000..129559d --- /dev/null +++ b/tmpl/page/rules-regulations.tt @@ -0,0 +1,19 @@ +
+

Rules and Regulations

+

    +
  • The playing mode for the ladies and men is best of 7, the men's quarter finals and semi-finals best of 9 and the final best of 11. The ladies final best of 9.
  • +
  • The tournaments will be played in single knock-out mode
  • +
  • The organisation has the right to change the time schedule or play mode
  • +
  • During the finals played on stage, business trousers (grey or black) and black shoes are mandatory for all players. No jeans or similar trousers are allowed.
  • +
  • All players must play under their own name.
  • +
  • Before the game starts each player is allowed to throw nine practice darts.
  • +
  • The closest to the bull starts the game and also the last leg in case of a tie-break.
  • +
  • The loser must mark the next game on its board. If he is not present to mark the next game he will be disqualified for the next tournament where he has been registered and he will not have the right to get his entry fee refunded. If he does not mark on Sunday for the Luxembourg Masters, he will not be allowed to play the next years Luxembourg Open. In that case the next tournament he's allowed to play would be the Luxembourg Masters.
  • +
  • If a player isn't present at the prize ceremony, without the permission of the organisation, that player will lose his right to receive any prize money and trophy.
  • +
  • Entry fees are not refunded except the entry has been refused. The organisation reserves the right to refuse or cancel any entry at any moment of the event.
  • +
  • Smoking and alcohol is not allowed in the playing-area and on the stage. Smoking is only allowed at the foreseen places outside of the venue. Players ignoring this rule get a warning. After a second violation of this rule the player will be taken out of the tournament.
  • +
  • The consumption of own food and beverages is prohibited.
  • +
  • All events will be under the organisation's supervision and its decisions are final in all matters.
  • +
+

+
\ No newline at end of file diff --git a/tmpl/page/sponsors.tt b/tmpl/page/sponsors.tt new file mode 100644 index 0000000..e185ab2 --- /dev/null +++ b/tmpl/page/sponsors.tt @@ -0,0 +1,14 @@ +
+

Sponsors + + +

Sponsorship possibilities

+ +

The 'Luxembourg Open and Masters' are celebrating this year their 10th anniversary, and the sponsoring in very important for the Luxembourgish Darts Federation to be able to organize the biggest darts event in Luxembourg.

+

The Luxembourg Open/Masters offers to companies various opportunities to present themselves.

+

Depending on your budget several options are possible and of course special partnerships can be created. Even for small money your company can be part of our wonderful event.

+

It would be a pleasure for us to present you the different possibilities of a partnership.

+ + +

Contact us without obligation.

+
diff --git a/tmpl/page/tournament/luxembourg_masters.tt b/tmpl/page/tournament/luxembourg_masters.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/luxembourg_open.tt b/tmpl/page/tournament/luxembourg_open.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/luxembourgmasters.tt b/tmpl/page/tournament/luxembourgmasters.tt new file mode 100644 index 0000000..17049c4 --- /dev/null +++ b/tmpl/page/tournament/luxembourgmasters.tt @@ -0,0 +1,86 @@ + +
+
+

Luxembourg Open

+

Saturday, 25 July 2020

+
+
+
+

Schedule

+ + + + + + + + + + + + + + + +
18:00Doors Open
20:00Start of men and ladies pairs tournament
  
+
+
+
+
+

Price Money

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PlaceMen PairsLadies Pairs
1.400€200€
2.200€100€
3.–4.100€50€
5.–8.50€
9.–16.
17.–32.
+
+
+ +
+ +

Registered Players

+
+
diff --git a/tmpl/page/tournament/luxembourgopen.tt b/tmpl/page/tournament/luxembourgopen.tt new file mode 100644 index 0000000..2a363cd --- /dev/null +++ b/tmpl/page/tournament/luxembourgopen.tt @@ -0,0 +1,104 @@ +
+
+

Luxembourg Open

+

Saturday, 25 July 2020

+
+
+
+

Schedule

+ + + + + + + + + + + + + +
08:30Doors Open
10:00Start of men and ladies singles tournament
12:00Start of youth and disability singles tournament
+
+
+
+
+

Price Money

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PlaceMenLadiesBoysGirlsParadarts
1.1800€600€100€50€150€
2.800€250€50€25€100€
3.–4.400€100€25€15€50€
5.–8.200€50€
9.–16.100€25€
17.–32.50€
+
+
+ +
+ +

Registered Players

+
+
diff --git a/tmpl/page/tournament/masters/draw.tt b/tmpl/page/tournament/masters/draw.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/masters/players.tt b/tmpl/page/tournament/masters/players.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/masters/results.tt b/tmpl/page/tournament/masters/results.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/open/draw.tt b/tmpl/page/tournament/open/draw.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/open/players.tt b/tmpl/page/tournament/open/players.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/open/results.tt b/tmpl/page/tournament/open/results.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/pairsevent.tt b/tmpl/page/tournament/pairsevent.tt new file mode 100644 index 0000000..0dfc3e1 --- /dev/null +++ b/tmpl/page/tournament/pairsevent.tt @@ -0,0 +1,53 @@ +
+
+

Pairs Event

+

Friday, 24 July 2020

+
+
+
+
+ +

Schedule

+ + + + + + +
18:00Doors Open
20:00Start of men and ladies pairs tournament
  
+ + +
+
+
+
+

Price Money

+ + + + + + + + + + + + +
PlaceMen PairsLadies Pairs
1.400€200€
2.200€100€
3.–4.100€50€
5.–8.50€
9.–16.
17.–32.
+
+
+
+
+ +

Registered Players

+
+ +
diff --git a/tmpl/page/tournament/registration.tt b/tmpl/page/tournament/registration.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/warmup.tt b/tmpl/page/tournament/warmup.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/warmup/draw.tt b/tmpl/page/tournament/warmup/draw.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/warmup/players.tt b/tmpl/page/tournament/warmup/players.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournament/warmup/results.tt b/tmpl/page/tournament/warmup/results.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/tournaments.tt b/tmpl/page/tournaments.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/venue.tt b/tmpl/page/venue.tt index e69de29..8841a02 100644 --- a/tmpl/page/venue.tt +++ b/tmpl/page/venue.tt @@ -0,0 +1,63 @@ +
+

Venue

+ +

Halle Victor Hugo is conveniently located in Luxembourg. This centrally located multi-functional hall is suited for various sorts of events, such as exhibitions, concerts, conferences and banquets. It offers 2 meeting space totaling 2554 square meter of event space which can accommodate more than 2000 guests.

+
+
+ hall victor hugo +
+
+ hall victor hugo +
+
+ +
+
+ + +
+ +

Directions

+How to get to Hall Virctor Hugo, +

+

By car

+ +

The new venue is located in 'Limpertsberg ' a part ofLuxembourg City , put to your Navigation:

+ +

Hall Victor Hugo
+60, avenue Victor Hugo
+L-1750 Luxembourg
+ +

Next to the venue is a Parking spot for about 70 cars, from Friady 18:00 till Monday morning this parking is for free.

+

The parking fee costs can be found on the following page:
VDL - Paid parking zones

+

Another much bigger parking is about a 5 minutes walk the 'Glacis square', also this parking spot is for free from Friday 18:00 till Monday morning.

+Address to put for this spot:
21 Allée Scheffer, L-2520 Luxembourg
+ +

By FREE public transport

+ +

For those who comes by public transport you can plan your journey via the Site mobiliteit.lu.There also exists an Apps for iOS and Android in the respective appstores.

+ +

From the Airport,

+ +

Take line 16 on Saturday every 10 minutes and Sunday every 2-30 minutes, direction Hesperange Schlass, you have to get out at station 'Pescatore ' and from there it 's a good 8 mintes walk to the venue

+Bus Line 16 + +

From the train station an center of Luxembourg, +Take line number 2 or 4every 20 minutes on Friday, and every 30 minutes on the weekend, direction Limpertsberg Lycée Michel Lucius and get out 'Lycée de Garçons ' and you are 1 minute from the venue.

+ +Bus Line 2
+ +Bus Line 4 + +

From the Kirchberg

+

Take the tram direction Centre/Staereplaatz, every 10 minutes on Friday and every 15 minutes on the weekend, get out at stop 'Theater ' a 5 minutes ' walk to the venue or take bus number 2 or 4 for one next stop direction Limpertsberg Lycée Michel Lucius.

+

For all players which are staying in our Partner hotel Meli and Novotel join a five minutes ' walk from your hotel to station Philharmonie and take the tram down to the 'Theater ' stop.

+ +

Shuttle from Hotel Melia and Novotel,
+
+From our Partner Hotels Melia and Novotel a shuttle will be running to take care first of all of our participants of the Para Darts Open/Masters if in case of free spots in the shuttle every player can join this shuttle.

+

More details about our shuttle will be announced

+
+ + +
\ No newline at end of file diff --git a/tmpl/page/venue/airports.tt b/tmpl/page/venue/airports.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/venue/directions.tt b/tmpl/page/venue/directions.tt deleted file mode 100644 index e69de29..0000000 diff --git a/tmpl/page/venue/goout.tt b/tmpl/page/venue/goout.tt index e69de29..df3ab13 100644 --- a/tmpl/page/venue/goout.tt +++ b/tmpl/page/venue/goout.tt @@ -0,0 +1 @@ +

Go out

\ No newline at end of file diff --git a/tmpl/page/venue/hotels.tt b/tmpl/page/venue/hotels.tt index e69de29..bd04e61 100644 --- a/tmpl/page/venue/hotels.tt +++ b/tmpl/page/venue/hotels.tt @@ -0,0 +1,48 @@ +
+

Hotels

+
+
+
+

Novotel Luxembourg Kirchberg

+
+ Special Offer Luxembourg Open & Masters +

Important Notice!
Please fill in Destination "Novotel Luxembourg Kirchberg" manually. +
reservation must be done before 12th June 2020

+

+
+
+
+
+
+
+

Melià Luxembourg

+ Special Offer Luxembourg Open & Masters +

+
+
+
+
+
+
+
+
+

Best Western Plus Grand Hotel

+ more info about this Hotel +

Please fill out this document, and send it via email to the hotel

+

+
+
+
+
+
+
+

Hôtel JJ32 / Centre Gare Luxembourg

+ more info about this Hotel +

Please fill out this document, and send it via email to the hotel

+

+
+
+
+
+
+
\ No newline at end of file diff --git a/tmpl/page/zznouse_about.tt b/tmpl/page/zznouse_about.tt deleted file mode 100755 index 0f9ac78..0000000 --- a/tmpl/page/zznouse_about.tt +++ /dev/null @@ -1,415 +0,0 @@ - - - -About - - - - - - - - - - - - - - - -
- - - - - - - -
-
-
-
-
-
-
-

About us

- -
-
-
-
-
-
- - - -
-
-
- - -
-
-

The Best Marketing Conference

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
- - -
-
- -
-
-
- -
-
-
- - - -
-
-
- - -
-
-

Why join us?

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
- - -
-
- -
-
-
- -
-
-
- - - -
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Members
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Topics
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Days
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Speakers
-
-
-
- -
-
-
- - - -
-
-
-
-

Choose a plan

-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-

Basic Pass

-
$25
-
Price Excluding 24% VAT
-
-
    -
  • Regular Sitting
  • -
  • Coffee Break
  • -
  • Workshops
  • -
  • Meet & Greet
  • -
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-

Standard Pass

-
$35
-
Price Excluding 24% VAT
-
-
    -
  • Regular Sitting
  • -
  • Coffee Break
  • -
  • Workshops
  • -
  • Meet & Greet
  • -
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-

Lux Pass

-
$45
-
Price Excluding 24% VAT
-
-
    -
  • Regular Sitting
  • -
  • Coffee Break
  • -
  • Workshops
  • -
  • Meet & Greet
  • -
-
- -
-
- -
-
-
- - - -
-
-
-
-

Official Sponsors & Partners

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
- - -
- -
-
-
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tmpl/page/zznouse_blog.tt b/tmpl/page/zznouse_blog.tt deleted file mode 100755 index f1c647f..0000000 --- a/tmpl/page/zznouse_blog.tt +++ /dev/null @@ -1,483 +0,0 @@ - - - -News - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Blog

- -
-
-
-
-
-
- - - -
-
-
- - -
-
- - -
-
-
-
- -

Tips to grow your business fast

- -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

-
-
read more
-
-
-
- - -
-
-
-
- -

Tips to grow your business fast

- -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

-
-
read more
-
-
-
- - -
-
-
-
- -

Tips to grow your business fast

- -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

-
-
read more
-
-
-
- -
- - - -
- - - - -
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tmpl/page/zznouse_elements.tt b/tmpl/page/zznouse_elements.tt deleted file mode 100755 index 63d9480..0000000 --- a/tmpl/page/zznouse_elements.tt +++ /dev/null @@ -1,531 +0,0 @@ - - - -Elements - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Elements

- -
-
-
-
-
-
- - - -
-
-
-
- - -
-
Buttons
- -
- - -
-
Accordions & Tabs
-
-
- - -
- - -
-
Ipsum dolor sit amet, consectetur adipiscing elit
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit.

-
-
-
- - -
-
Nam at diam luctus, lacinia orci ut, pulvinar lacus
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit.

-
-
-
- - -
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit.

-
-
-
- -
- -
- -
- - -
-
-
-
01. Marketing Intro
-
02. Strategy
-
03. Marketing
-
-
-
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in.

-
-
-
-
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in.

-
-
-
-
-
-
-

Marketing 101

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in.

-
-
-
-
-
-
- -
-
-
- - -
-
Loaders
-
- - -
-
-
-
Marketing
-
-
-
- - -
-
-
-
Solutions
-
-
-
- - -
-
-
-
Strategy
-
-
-
- - -
-
-
-
Science
-
-
-
- -
-
- - -
-
Milestones
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Members
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Topics
-
-
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Days
-
- -
-
- - -
-
-
https://www.flaticon.com/authors/freepik
-
-
0
-
Speakers
-
-
-
- -
-
- - -
-
Icon Boxes
-
- - -
-
-
-

Online Marketing

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-
-
-
- - -
-
-
-

Marketing Solutions

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-
-
-
- - -
-
-
-

Online Strategy

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-
-
-
- -
-
- -
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tmpl/page/zznouse_index.tt b/tmpl/page/zznouse_index.tt deleted file mode 100755 index f585fb8..0000000 --- a/tmpl/page/zznouse_index.tt +++ /dev/null @@ -1,773 +0,0 @@ - - - -Confpro - - - - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
- - - -
-
-
-
- - - - - - - -
- - -
- - - -
-
-
-
-
-
    -
  • 01.
  • -
  • 02.
  • -
  • 03.
  • -
-
-
-
-
-
- -
-
- - - -
-
-
-
-
-
-
-
    -
  • -
    3
    -
    Days
    -
  • -
  • -
    00
    -
    Hours
    -
  • -
  • -
    00
    -
    Minutes
    -
  • -
  • -
    00
    -
    Seconds
    -
  • -
-
-
-
-
-
- - - -
-
-
-
-
-

The Best Marketing Conference

-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
- - - -
-
-
-
-
-
see what's all about
-

The Topics

-
-
-
-
01. Marketing Intro
-
02. Marketing Strategy
-
03. Cyber Marketing
-
04. Online Stategy
-
05. Stories
-
06. Special Guest
-
-
-
-
-
-
-

Marketing 101 - Studies for begginers

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
-
-

02. Marketing Strategy

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
-
-

03. Cyber Marketing

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
-
-

04. Online Stategy

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-

05. Stories

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-

06. Special Guest

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. Etiam pretium, nibh vitae varius ultricies, tellus diam gravida elit, vel rhoncus eros eros sit amet ipsum. Cras cursus pellentesque tortor, vitae efficitur nisi laoreet in. Suspendisse libero erat, aliquet eu maximus ac, dignissim vitae ex. Nam vel euismod risus, tempor venenatis nunc.

-
- -
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - -
- - -
- -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tmpl/page/zznouse_schedule.tt b/tmpl/page/zznouse_schedule.tt deleted file mode 100755 index bb8a58f..0000000 --- a/tmpl/page/zznouse_schedule.tt +++ /dev/null @@ -1,717 +0,0 @@ - - - -Schedule - - - - - - - - - - - - -
- - - -
-
- - - - - - - -
-
- -
- - -
-
-
-
- - - - - - - -
-
-
-
-
-
-
-

Schedule

- -
-
-
-
-
-
- - - -
-
-
-
-
- - -
-
-
Day 1. February 12, 2019
-
-
-
Day 2. February 13, 2019
-
-
-
Day 3. February 14, 2019
-
-
-
Day 4. February 15, 2019
-
-
- - -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
11:00 AM - 12:00 AM
-
Coffee Break
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
12:00 AM - 13:00 AM
-
Online Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
11:00 AM - 12:00 AM
-
Coffee Break
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
12:00 AM - 13:00 AM
-
Online Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
13:00 AM - 14:00 AM
-
Online Marketing Discussion
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- - -
- - -
-
-
-
-
-
08:00 AM - 09:00 AM
-
Grand Opening
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
09:00 AM - 10:00 AM
-
Marketing 101
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
10:00 AM - 11:00 AM
-
Big Marketing Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
11:00 AM - 12:00 AM
-
Coffee Break
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- - -
-
-
-
-
-
12:00 AM - 13:00 AM
-
Online Strategy
-
Host: Michael Smith - Marketing ING CEO
-
-
- -
-
-
Short Description
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravi da. Risus commodo viverra maecenas accumsan lacus vel facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus co mmodo viverra maecenas accumsan lacus vel facilisis.

-
-
- -
- -
- - - - -
-
-
-
-
- - - -
-
-
-
-
-
-
-

Get your tickets now!

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis.

-
- -
-
-
-
-
- - - -
- - -
- -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tmpl/skeleton/index.tt b/tmpl/skeleton/index.tt index 984d2d2..d32f37c 100644 --- a/tmpl/skeleton/index.tt +++ b/tmpl/skeleton/index.tt @@ -3,129 +3,81 @@ -Luxembourg Open/Masters 2020 - - - - - - - - - - - - - - - -
- - - -
-
- - - - - [% INCLUDE block/topmenu.tt %] - -
-
-
-
-
- - +Luxembourg Open and Masters 2020 | [% pagename FILTER ucfirst %] + + + + + + + + + + + + + + + + + - + + + + -

- [% INCLUDE $page %] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +[% INCLUDE block/topmenu.tt %] +
+
+
+ [% INCLUDE $page %] +
+
+
+[% INCLUDE block/footer.tt %] + + + +[% IF pagename == 'index' %] + + + +[% END %] + + +[% IF pagename == 'registration' %] + + +[% END %] - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vendor/OwlCarousel2/ajax-loader.gif b/vendor/OwlCarousel2/ajax-loader.gif deleted file mode 100755 index d3962f9..0000000 Binary files a/vendor/OwlCarousel2/ajax-loader.gif and /dev/null differ diff --git a/vendor/OwlCarousel2/animate.css b/vendor/OwlCarousel2/animate.css deleted file mode 100755 index 5be7c6a..0000000 --- a/vendor/OwlCarousel2/animate.css +++ /dev/null @@ -1,3393 +0,0 @@ -@charset "UTF-8"; - -/*! - * animate.css -http://daneden.me/animate - * Version - 3.5.1 - * Licensed under the MIT license - http://opensource.org/licenses/MIT - * - * Copyright (c) 2016 Daniel Eden - */ - -.animated { - -webkit-animation-duration: 1s; - animation-duration: 1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.animated.infinite { - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -.animated.hinge { - -webkit-animation-duration: 2s; - animation-duration: 2s; -} - -.animated.flipOutX, -.animated.flipOutY, -.animated.bounceIn, -.animated.bounceOut { - -webkit-animation-duration: .75s; - animation-duration: .75s; -} - -@-webkit-keyframes bounce { - from, 20%, 53%, 80%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - } - - 40%, 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0,-4px,0); - transform: translate3d(0,-4px,0); - } -} - -@keyframes bounce { - from, 20%, 53%, 80%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - } - - 40%, 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0,-4px,0); - transform: translate3d(0,-4px,0); - } -} - -.bounce { - -webkit-animation-name: bounce; - animation-name: bounce; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} - -@-webkit-keyframes flash { - from, 50%, to { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -@keyframes flash { - from, 50%, to { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -.flash { - -webkit-animation-name: flash; - animation-name: flash; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes pulse { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes pulse { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.pulse { - -webkit-animation-name: pulse; - animation-name: pulse; -} - -@-webkit-keyframes rubberBand { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(.95, 1.05, 1); - transform: scale3d(.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, .95, 1); - transform: scale3d(1.05, .95, 1); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes rubberBand { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(.95, 1.05, 1); - transform: scale3d(.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, .95, 1); - transform: scale3d(1.05, .95, 1); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.rubberBand { - -webkit-animation-name: rubberBand; - animation-name: rubberBand; -} - -@-webkit-keyframes shake { - from, to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -@keyframes shake { - from, to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -.shake { - -webkit-animation-name: shake; - animation-name: shake; -} - -@-webkit-keyframes headShake { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 6.5% { - -webkit-transform: translateX(-6px) rotateY(-9deg); - transform: translateX(-6px) rotateY(-9deg); - } - - 18.5% { - -webkit-transform: translateX(5px) rotateY(7deg); - transform: translateX(5px) rotateY(7deg); - } - - 31.5% { - -webkit-transform: translateX(-3px) rotateY(-5deg); - transform: translateX(-3px) rotateY(-5deg); - } - - 43.5% { - -webkit-transform: translateX(2px) rotateY(3deg); - transform: translateX(2px) rotateY(3deg); - } - - 50% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes headShake { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 6.5% { - -webkit-transform: translateX(-6px) rotateY(-9deg); - transform: translateX(-6px) rotateY(-9deg); - } - - 18.5% { - -webkit-transform: translateX(5px) rotateY(7deg); - transform: translateX(5px) rotateY(7deg); - } - - 31.5% { - -webkit-transform: translateX(-3px) rotateY(-5deg); - transform: translateX(-3px) rotateY(-5deg); - } - - 43.5% { - -webkit-transform: translateX(2px) rotateY(3deg); - transform: translateX(2px) rotateY(3deg); - } - - 50% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -.headShake { - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - -webkit-animation-name: headShake; - animation-name: headShake; -} - -@-webkit-keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - to { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -@keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - to { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -.swing { - -webkit-transform-origin: top center; - transform-origin: top center; - -webkit-animation-name: swing; - animation-name: swing; -} - -@-webkit-keyframes tada { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, 20% { - -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes tada { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, 20% { - -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.tada { - -webkit-animation-name: tada; - animation-name: tada; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes wobble { - from { - -webkit-transform: none; - transform: none; - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -@keyframes wobble { - from { - -webkit-transform: none; - transform: none; - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -.wobble { - -webkit-animation-name: wobble; - animation-name: wobble; -} - -@-webkit-keyframes jello { - from, 11.1%, to { - -webkit-transform: none; - transform: none; - } - - 22.2% { - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg); - } - - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg); - } - - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg); - } - - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg); - } - - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg); - } - - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg); - } - - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - } -} - -@keyframes jello { - from, 11.1%, to { - -webkit-transform: none; - transform: none; - } - - 22.2% { - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg); - } - - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg); - } - - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg); - } - - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg); - } - - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg); - } - - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg); - } - - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - } -} - -.jello { - -webkit-animation-name: jello; - animation-name: jello; - -webkit-transform-origin: center; - transform-origin: center; -} - -@-webkit-keyframes bounceIn { - from, 20%, 40%, 60%, 80%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(.97, .97, .97); - transform: scale3d(.97, .97, .97); - } - - to { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes bounceIn { - from, 20%, 40%, 60%, 80%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(.97, .97, .97); - transform: scale3d(.97, .97, .97); - } - - to { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.bounceIn { - -webkit-animation-name: bounceIn; - animation-name: bounceIn; -} - -@-webkit-keyframes bounceInDown { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInDown { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -.bounceInDown { - -webkit-animation-name: bounceInDown; - animation-name: bounceInDown; -} - -@-webkit-keyframes bounceInLeft { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInLeft { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -.bounceInLeft { - -webkit-animation-name: bounceInLeft; - animation-name: bounceInLeft; -} - -@-webkit-keyframes bounceInRight { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - from { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInRight { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - from { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - to { - -webkit-transform: none; - transform: none; - } -} - -.bounceInRight { - -webkit-animation-name: bounceInRight; - animation-name: bounceInRight; -} - -@-webkit-keyframes bounceInUp { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - from { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInUp { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - from { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInUp { - -webkit-animation-name: bounceInUp; - animation-name: bounceInUp; -} - -@-webkit-keyframes bounceOut { - 20% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - to { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } -} - -@keyframes bounceOut { - 20% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - to { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } -} - -.bounceOut { - -webkit-animation-name: bounceOut; - animation-name: bounceOut; -} - -@-webkit-keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.bounceOutDown { - -webkit-animation-name: bounceOutDown; - animation-name: bounceOutDown; -} - -@-webkit-keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.bounceOutLeft { - -webkit-animation-name: bounceOutLeft; - animation-name: bounceOutLeft; -} - -@-webkit-keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.bounceOutRight { - -webkit-animation-name: bounceOutRight; - animation-name: bounceOutRight; -} - -@-webkit-keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.bounceOutUp { - -webkit-animation-name: bounceOutUp; - animation-name: bounceOutUp; -} - -@-webkit-keyframes fadeIn { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} - -@keyframes fadeIn -{ - from - { - opacity: 0; - animation-timing-function: cubic-bezier(.79,.28,.42,.8); - } - - to { - opacity: 1; - } -} - -.fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; -} - -@-webkit-keyframes fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInDown { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; -} - -@-webkit-keyframes fadeInDownBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInDownBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInDownBig { - -webkit-animation-name: fadeInDownBig; - animation-name: fadeInDownBig; -} - -@-webkit-keyframes fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInLeft { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; -} - -@-webkit-keyframes fadeInLeftBig { - from { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInLeftBig { - from { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInLeftBig { - -webkit-animation-name: fadeInLeftBig; - animation-name: fadeInLeftBig; -} - -@-webkit-keyframes fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInRight { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; -} - -@-webkit-keyframes fadeInRightBig { - from { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInRightBig { - from { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInRightBig { - -webkit-animation-name: fadeInRightBig; - animation-name: fadeInRightBig; -} - -@-webkit-keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0) scale3d(0.5, 0.5, 1); - transform: translate3d(0, 100px, 0) scale3d(0.5, 0.5, 1); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0) scale3d(0.5, 0.5, 1); - transform: translate3d(0, 100px, 0) sscale3d(0.5, 0.5, 1); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; - animation-timing-function: cubic-bezier(0,.5,.5,.99); - animation-delay: 0.3s; - animation-duration: 1s !important; -} - -.delay_1 -{ - -webkit-animation-delay: 200ms !important; - animation-delay: 200ms !important; -} -.delay_2 -{ - -webkit-animation-delay: 400ms !important; - animation-delay: 400ms !important; -} -.delay_3 -{ - -webkit-animation-delay: 600ms !important; - animation-delay: 600ms !important; -} -.delay_4 -{ - -webkit-animation-delay: 800ms !important; - animation-delay: 800ms !important; -} -.delay_5 -{ - -webkit-animation-delay: 1000ms !important; - animation-delay: 1000ms !important; -} -.delay_6 -{ - -webkit-animation-delay: 1200ms !important; - animation-delay: 1200ms !important; -} -.delay_7 -{ - -webkit-animation-delay: 1400ms !important; - animation-delay: 1400ms !important; -} -.delay_8 -{ - -webkit-animation-delay: 1600ms !important; - animation-delay: 1600ms !important; -} -.delay_9 -{ - -webkit-animation-delay: 1800ms !important; - animation-delay: 1800ms !important; -} - -@-webkit-keyframes fadeInUpBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInUpBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInUpBig { - -webkit-animation-name: fadeInUpBig; - animation-name: fadeInUpBig; -} - -@-webkit-keyframes fadeOut { - from { - opacity: 1; - animation-timing-function: cubic-bezier(.79,.28,.42,.8); - } - - to { - opacity: 0; - } -} - -@keyframes fadeOut { - from { - opacity: 1; - } - - to { - opacity: 0; - } -} - -.fadeOut { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; -} - -@-webkit-keyframes fadeOutDown { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes fadeOutDown { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.fadeOutDown { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; -} - -@-webkit-keyframes fadeOutDownBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes fadeOutDownBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.fadeOutDownBig { - -webkit-animation-name: fadeOutDownBig; - animation-name: fadeOutDownBig; -} - -@-webkit-keyframes fadeOutLeft { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes fadeOutLeft { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.fadeOutLeft { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; -} - -@-webkit-keyframes fadeOutLeftBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes fadeOutLeftBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.fadeOutLeftBig { - -webkit-animation-name: fadeOutLeftBig; - animation-name: fadeOutLeftBig; -} - -@-webkit-keyframes fadeOutRight { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes fadeOutRight { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.fadeOutRight { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; -} - -@-webkit-keyframes fadeOutRightBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes fadeOutRightBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.fadeOutRightBig { - -webkit-animation-name: fadeOutRightBig; - animation-name: fadeOutRightBig; -} - -@-webkit-keyframes fadeOutUp { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes fadeOutUp { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.fadeOutUp { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; -} - -@-webkit-keyframes fadeOutUpBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes fadeOutUpBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.fadeOutUpBig { - -webkit-animation-name: fadeOutUpBig; - animation-name: fadeOutUpBig; -} - -@-webkit-keyframes flip { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(.95, .95, .95); - transform: perspective(400px) scale3d(.95, .95, .95); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -@keyframes flip { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(.95, .95, .95); - transform: perspective(400px) scale3d(.95, .95, .95); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -.animated.flip { - -webkit-backface-visibility: visible; - backface-visibility: visible; - -webkit-animation-name: flip; - animation-name: flip; -} - -@-webkit-keyframes flipInX { - from { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInX { - from { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInX { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInX; - animation-name: flipInX; -} - -@-webkit-keyframes flipInY { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInY { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInY; - animation-name: flipInY; -} - -@-webkit-keyframes flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -.flipOutX { - -webkit-animation-name: flipOutX; - animation-name: flipOutX; - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; -} - -@-webkit-keyframes flipOutY { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutY { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -.flipOutY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipOutY; - animation-name: flipOutY; -} - -@-webkit-keyframes lightSpeedIn { - from { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - opacity: 1; - } - - to { - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes lightSpeedIn { - from { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - opacity: 1; - } - - to { - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.lightSpeedIn { - -webkit-animation-name: lightSpeedIn; - animation-name: lightSpeedIn; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; -} - -@-webkit-keyframes lightSpeedOut { - from { - opacity: 1; - } - - to { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -@keyframes lightSpeedOut { - from { - opacity: 1; - } - - to { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -.lightSpeedOut { - -webkit-animation-name: lightSpeedOut; - animation-name: lightSpeedOut; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; -} - -@-webkit-keyframes rotateIn { - from { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateIn { - from { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateIn { - -webkit-animation-name: rotateIn; - animation-name: rotateIn; -} - -@-webkit-keyframes rotateInDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInDownLeft { - -webkit-animation-name: rotateInDownLeft; - animation-name: rotateInDownLeft; -} - -@-webkit-keyframes rotateInDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInDownRight { - -webkit-animation-name: rotateInDownRight; - animation-name: rotateInDownRight; -} - -@-webkit-keyframes rotateInUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInUpLeft { - -webkit-animation-name: rotateInUpLeft; - animation-name: rotateInUpLeft; -} - -@-webkit-keyframes rotateInUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInUpRight { - -webkit-animation-name: rotateInUpRight; - animation-name: rotateInUpRight; -} - -@-webkit-keyframes rotateOut { - from { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -@keyframes rotateOut { - from { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -.rotateOut { - -webkit-animation-name: rotateOut; - animation-name: rotateOut; -} - -@-webkit-keyframes rotateOutDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -.rotateOutDownLeft { - -webkit-animation-name: rotateOutDownLeft; - animation-name: rotateOutDownLeft; -} - -@-webkit-keyframes rotateOutDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutDownRight { - -webkit-animation-name: rotateOutDownRight; - animation-name: rotateOutDownRight; -} - -@-webkit-keyframes rotateOutUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutUpLeft { - -webkit-animation-name: rotateOutUpLeft; - animation-name: rotateOutUpLeft; -} - -@-webkit-keyframes rotateOutUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -@keyframes rotateOutUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -.rotateOutUpRight { - -webkit-animation-name: rotateOutUpRight; - animation-name: rotateOutUpRight; -} - -@-webkit-keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - to { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -@keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - to { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -.hinge { - -webkit-animation-name: hinge; - animation-name: hinge; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollIn { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes rollIn { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.rollIn { - -webkit-animation-name: rollIn; - animation-name: rollIn; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollOut { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -@keyframes rollOut { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -.rollOut { - -webkit-animation-name: rollOut; - animation-name: rollOut; -} - -@-webkit-keyframes zoomIn { - from { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 50% { - opacity: 1; - } -} - -@keyframes zoomIn { - from { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 50% { - opacity: 1; - } -} - -.zoomIn { - -webkit-animation-name: zoomIn; - animation-name: zoomIn; -} - -@-webkit-keyframes zoomInDown { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInDown { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInDown { - -webkit-animation-name: zoomInDown; - animation-name: zoomInDown; -} - -@-webkit-keyframes zoomInLeft { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInLeft { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInLeft { - -webkit-animation-name: zoomInLeft; - animation-name: zoomInLeft; -} - -@-webkit-keyframes zoomInRight { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInRight { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInRight { - -webkit-animation-name: zoomInRight; - animation-name: zoomInRight; -} - -@-webkit-keyframes zoomInUp { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInUp { - from { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInUp { - -webkit-animation-name: zoomInUp; - animation-name: zoomInUp; -} - -@-webkit-keyframes zoomOut { - from { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - to { - opacity: 0; - } -} - -@keyframes zoomOut { - from { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - to { - opacity: 0; - } -} - -.zoomOut { - -webkit-animation-name: zoomOut; - animation-name: zoomOut; -} - -@-webkit-keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - to { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - to { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomOutDown { - -webkit-animation-name: zoomOutDown; - animation-name: zoomOutDown; -} - -@-webkit-keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); - transform: scale(.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -@keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); - transform: scale(.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -.zoomOutLeft { - -webkit-animation-name: zoomOutLeft; - animation-name: zoomOutLeft; -} - -@-webkit-keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(.1) translate3d(2000px, 0, 0); - transform: scale(.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -@keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(.1) translate3d(2000px, 0, 0); - transform: scale(.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -.zoomOutRight { - -webkit-animation-name: zoomOutRight; - animation-name: zoomOutRight; -} - -@-webkit-keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - to { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - to { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomOutUp { - -webkit-animation-name: zoomOutUp; - animation-name: zoomOutUp; -} - -@-webkit-keyframes slideInDown { - from { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInDown { - from { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInDown { - -webkit-animation-name: slideInDown; - animation-name: slideInDown; -} - -@-webkit-keyframes slideInLeft { - from { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInLeft { - from { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInLeft { - -webkit-animation-name: slideInLeft; - animation-name: slideInLeft; -} - -@-webkit-keyframes slideInRight { - from { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInRight { - from { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInRight { - -webkit-animation-name: slideInRight; - animation-name: slideInRight; -} - -@-webkit-keyframes slideInUp { - from { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInUp { - from { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInUp { - -webkit-animation-name: slideInUp; - animation-name: slideInUp; -} - -@-webkit-keyframes slideOutDown { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes slideOutDown { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.slideOutDown { - -webkit-animation-name: slideOutDown; - animation-name: slideOutDown; -} - -@-webkit-keyframes slideOutLeft { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes slideOutLeft { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.slideOutLeft { - -webkit-animation-name: slideOutLeft; - animation-name: slideOutLeft; -} - -@-webkit-keyframes slideOutRight { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes slideOutRight { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.slideOutRight { - -webkit-animation-name: slideOutRight; - animation-name: slideOutRight; -} - -@-webkit-keyframes slideOutUp { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes slideOutUp { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.slideOutUp { - -webkit-animation-name: slideOutUp; - animation-name: slideOutUp; -} diff --git a/vendor/OwlCarousel2/owl.carousel.css b/vendor/OwlCarousel2/owl.carousel.css deleted file mode 100755 index 40237bc..0000000 --- a/vendor/OwlCarousel2/owl.carousel.css +++ /dev/null @@ -1,186 +0,0 @@ -/** - * Owl Carousel v2.3.4 - * Copyright 2013-2018 David Deutsch - * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE - */ -/* - * Owl Carousel - Core - */ -.owl-carousel { - display: none; - width: 100%; - -webkit-tap-highlight-color: transparent; - /* position relative and z-index fix webkit rendering fonts issue */ - position: relative; - z-index: 1; } - .owl-carousel .owl-stage { - position: relative; - -ms-touch-action: pan-Y; - touch-action: manipulation; - -moz-backface-visibility: hidden; - /* fix firefox animation glitch */ } - .owl-carousel .owl-stage:after { - content: "."; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0; } - .owl-carousel .owl-stage-outer { - position: relative; - overflow: hidden; - /* fix for flashing background */ - -webkit-transform: translate3d(0px, 0px, 0px); } - .owl-carousel .owl-wrapper, - .owl-carousel .owl-item { - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); } - .owl-carousel .owl-item { - position: relative; - min-height: 1px; - float: left; - -webkit-backface-visibility: hidden; - -webkit-tap-highlight-color: transparent; - -webkit-touch-callout: none; } - .owl-carousel .owl-item img { - display: block; - width: 100%; } - .owl-carousel .owl-nav.disabled, - .owl-carousel .owl-dots.disabled { - display: none; } - .owl-carousel .owl-nav .owl-prev, - .owl-carousel .owl-nav .owl-next, - .owl-carousel .owl-dot { - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .owl-carousel .owl-nav button.owl-prev, - .owl-carousel .owl-nav button.owl-next, - .owl-carousel button.owl-dot { - background: none; - color: inherit; - border: none; - padding: 0 !important; - font: inherit; } - .owl-carousel.owl-loaded { - display: block; } - .owl-carousel.owl-loading { - opacity: 0; - display: block; } - .owl-carousel.owl-hidden { - opacity: 0; } - .owl-carousel.owl-refresh .owl-item { - visibility: hidden; } - .owl-carousel.owl-drag .owl-item { - -ms-touch-action: pan-y; - touch-action: pan-y; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .owl-carousel.owl-grab { - cursor: move; - cursor: grab; } - .owl-carousel.owl-rtl { - direction: rtl; } - .owl-carousel.owl-rtl .owl-item { - float: right; } - -/* No Js */ -.no-js .owl-carousel { - display: block; } - -/* - * Owl Carousel - Animate Plugin - */ -.owl-carousel .animated { - animation-duration: 1000ms; - animation-fill-mode: both; } - -.owl-carousel .owl-animated-in { - z-index: 0; } - -.owl-carousel .owl-animated-out { - z-index: 1; } - -.owl-carousel .fadeOut { - animation-name: fadeOut; } - -@keyframes fadeOut { - 0% { - opacity: 1; } - 100% { - opacity: 0; } } - -/* - * Owl Carousel - Auto Height Plugin - */ -.owl-height { - transition: height 500ms ease-in-out; } - -/* - * Owl Carousel - Lazy Load Plugin - */ -.owl-carousel .owl-item { - /** - This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong - calculation of the height of the owl-item that breaks page layouts - */ } - .owl-carousel .owl-item .owl-lazy { - opacity: 0; - transition: opacity 400ms ease; } - .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) { - max-height: 0; } - .owl-carousel .owl-item img.owl-lazy { - transform-style: preserve-3d; } - -/* - * Owl Carousel - Video Plugin - */ -.owl-carousel .owl-video-wrapper { - position: relative; - height: 100%; - background: #000; } - -.owl-carousel .owl-video-play-icon { - position: absolute; - height: 80px; - width: 80px; - left: 50%; - top: 50%; - margin-left: -40px; - margin-top: -40px; - background: url("owl.video.play.png") no-repeat; - cursor: pointer; - z-index: 1; - -webkit-backface-visibility: hidden; - transition: transform 100ms ease; } - -.owl-carousel .owl-video-play-icon:hover { - -ms-transform: scale(1.3, 1.3); - transform: scale(1.3, 1.3); } - -.owl-carousel .owl-video-playing .owl-video-tn, -.owl-carousel .owl-video-playing .owl-video-play-icon { - display: none; } - -.owl-carousel .owl-video-tn { - opacity: 0; - height: 100%; - background-position: center center; - background-repeat: no-repeat; - background-size: contain; - transition: opacity 400ms ease; } - -.owl-carousel .owl-video-frame { - position: relative; - z-index: 1; - height: 100%; - width: 100%; } diff --git a/vendor/OwlCarousel2/owl.carousel.js b/vendor/OwlCarousel2/owl.carousel.js deleted file mode 100755 index 66c67eb..0000000 --- a/vendor/OwlCarousel2/owl.carousel.js +++ /dev/null @@ -1,3448 +0,0 @@ -/** - * Owl Carousel v2.3.4 - * Copyright 2013-2018 David Deutsch - * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE - */ -/** - * Owl carousel - * @version 2.3.4 - * @author Bartosz Wojciechowski - * @author David Deutsch - * @license The MIT License (MIT) - * @todo Lazy Load Icon - * @todo prevent animationend bubling - * @todo itemsScaleUp - * @todo Test Zepto - * @todo stagePadding calculate wrong active classes - */ -;(function($, window, document, undefined) { - - /** - * Creates a carousel. - * @class The Owl Carousel. - * @public - * @param {HTMLElement|jQuery} element - The element to create the carousel for. - * @param {Object} [options] - The options - */ - function Owl(element, options) { - - /** - * Current settings for the carousel. - * @public - */ - this.settings = null; - - /** - * Current options set by the caller including defaults. - * @public - */ - this.options = $.extend({}, Owl.Defaults, options); - - /** - * Plugin element. - * @public - */ - this.$element = $(element); - - /** - * Proxied event handlers. - * @protected - */ - this._handlers = {}; - - /** - * References to the running plugins of this carousel. - * @protected - */ - this._plugins = {}; - - /** - * Currently suppressed events to prevent them from being retriggered. - * @protected - */ - this._supress = {}; - - /** - * Absolute current position. - * @protected - */ - this._current = null; - - /** - * Animation speed in milliseconds. - * @protected - */ - this._speed = null; - - /** - * Coordinates of all items in pixel. - * @todo The name of this member is missleading. - * @protected - */ - this._coordinates = []; - - /** - * Current breakpoint. - * @todo Real media queries would be nice. - * @protected - */ - this._breakpoint = null; - - /** - * Current width of the plugin element. - */ - this._width = null; - - /** - * All real items. - * @protected - */ - this._items = []; - - /** - * All cloned items. - * @protected - */ - this._clones = []; - - /** - * Merge values of all items. - * @todo Maybe this could be part of a plugin. - * @protected - */ - this._mergers = []; - - /** - * Widths of all items. - */ - this._widths = []; - - /** - * Invalidated parts within the update process. - * @protected - */ - this._invalidated = {}; - - /** - * Ordered list of workers for the update process. - * @protected - */ - this._pipe = []; - - /** - * Current state information for the drag operation. - * @todo #261 - * @protected - */ - this._drag = { - time: null, - target: null, - pointer: null, - stage: { - start: null, - current: null - }, - direction: null - }; - - /** - * Current state information and their tags. - * @type {Object} - * @protected - */ - this._states = { - current: {}, - tags: { - 'initializing': [ 'busy' ], - 'animating': [ 'busy' ], - 'dragging': [ 'interacting' ] - } - }; - - $.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) { - this._handlers[handler] = $.proxy(this[handler], this); - }, this)); - - $.each(Owl.Plugins, $.proxy(function(key, plugin) { - this._plugins[key.charAt(0).toLowerCase() + key.slice(1)] - = new plugin(this); - }, this)); - - $.each(Owl.Workers, $.proxy(function(priority, worker) { - this._pipe.push({ - 'filter': worker.filter, - 'run': $.proxy(worker.run, this) - }); - }, this)); - - this.setup(); - this.initialize(); - } - - /** - * Default options for the carousel. - * @public - */ - Owl.Defaults = { - items: 3, - loop: false, - center: false, - rewind: false, - checkVisibility: true, - - mouseDrag: true, - touchDrag: true, - pullDrag: true, - freeDrag: false, - - margin: 0, - stagePadding: 0, - - merge: false, - mergeFit: true, - autoWidth: false, - - startPosition: 0, - rtl: false, - - smartSpeed: 250, - fluidSpeed: false, - dragEndSpeed: false, - - responsive: {}, - responsiveRefreshRate: 200, - responsiveBaseElement: window, - - fallbackEasing: 'swing', - slideTransition: '', - - info: false, - - nestedItemSelector: false, - itemElement: 'div', - stageElement: 'div', - - refreshClass: 'owl-refresh', - loadedClass: 'owl-loaded', - loadingClass: 'owl-loading', - rtlClass: 'owl-rtl', - responsiveClass: 'owl-responsive', - dragClass: 'owl-drag', - itemClass: 'owl-item', - stageClass: 'owl-stage', - stageOuterClass: 'owl-stage-outer', - grabClass: 'owl-grab' - }; - - /** - * Enumeration for width. - * @public - * @readonly - * @enum {String} - */ - Owl.Width = { - Default: 'default', - Inner: 'inner', - Outer: 'outer' - }; - - /** - * Enumeration for types. - * @public - * @readonly - * @enum {String} - */ - Owl.Type = { - Event: 'event', - State: 'state' - }; - - /** - * Contains all registered plugins. - * @public - */ - Owl.Plugins = {}; - - /** - * List of workers involved in the update process. - */ - Owl.Workers = [ { - filter: [ 'width', 'settings' ], - run: function() { - this._width = this.$element.width(); - } - }, { - filter: [ 'width', 'items', 'settings' ], - run: function(cache) { - cache.current = this._items && this._items[this.relative(this._current)]; - } - }, { - filter: [ 'items', 'settings' ], - run: function() { - this.$stage.children('.cloned').remove(); - } - }, { - filter: [ 'width', 'items', 'settings' ], - run: function(cache) { - var margin = this.settings.margin || '', - grid = !this.settings.autoWidth, - rtl = this.settings.rtl, - css = { - 'width': 'auto', - 'margin-left': rtl ? margin : '', - 'margin-right': rtl ? '' : margin - }; - - !grid && this.$stage.children().css(css); - - cache.css = css; - } - }, { - filter: [ 'width', 'items', 'settings' ], - run: function(cache) { - var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin, - merge = null, - iterator = this._items.length, - grid = !this.settings.autoWidth, - widths = []; - - cache.items = { - merge: false, - width: width - }; - - while (iterator--) { - merge = this._mergers[iterator]; - merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge; - - cache.items.merge = merge > 1 || cache.items.merge; - - widths[iterator] = !grid ? this._items[iterator].width() : width * merge; - } - - this._widths = widths; - } - }, { - filter: [ 'items', 'settings' ], - run: function() { - var clones = [], - items = this._items, - settings = this.settings, - // TODO: Should be computed from number of min width items in stage - view = Math.max(settings.items * 2, 4), - size = Math.ceil(items.length / 2) * 2, - repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0, - append = '', - prepend = ''; - - repeat /= 2; - - while (repeat > 0) { - // Switch to only using appended clones - clones.push(this.normalize(clones.length / 2, true)); - append = append + items[clones[clones.length - 1]][0].outerHTML; - clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true)); - prepend = items[clones[clones.length - 1]][0].outerHTML + prepend; - repeat -= 1; - } - - this._clones = clones; - - $(append).addClass('cloned').appendTo(this.$stage); - $(prepend).addClass('cloned').prependTo(this.$stage); - } - }, { - filter: [ 'width', 'items', 'settings' ], - run: function() { - var rtl = this.settings.rtl ? 1 : -1, - size = this._clones.length + this._items.length, - iterator = -1, - previous = 0, - current = 0, - coordinates = []; - - while (++iterator < size) { - previous = coordinates[iterator - 1] || 0; - current = this._widths[this.relative(iterator)] + this.settings.margin; - coordinates.push(previous + current * rtl); - } - - this._coordinates = coordinates; - } - }, { - filter: [ 'width', 'items', 'settings' ], - run: function() { - var padding = this.settings.stagePadding, - coordinates = this._coordinates, - css = { - 'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2, - 'padding-left': padding || '', - 'padding-right': padding || '' - }; - - this.$stage.css(css); - } - }, { - filter: [ 'width', 'items', 'settings' ], - run: function(cache) { - var iterator = this._coordinates.length, - grid = !this.settings.autoWidth, - items = this.$stage.children(); - - if (grid && cache.items.merge) { - while (iterator--) { - cache.css.width = this._widths[this.relative(iterator)]; - items.eq(iterator).css(cache.css); - } - } else if (grid) { - cache.css.width = cache.items.width; - items.css(cache.css); - } - } - }, { - filter: [ 'items' ], - run: function() { - this._coordinates.length < 1 && this.$stage.removeAttr('style'); - } - }, { - filter: [ 'width', 'items', 'settings' ], - run: function(cache) { - cache.current = cache.current ? this.$stage.children().index(cache.current) : 0; - cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current)); - this.reset(cache.current); - } - }, { - filter: [ 'position' ], - run: function() { - this.animate(this.coordinates(this._current)); - } - }, { - filter: [ 'width', 'position', 'items', 'settings' ], - run: function() { - var rtl = this.settings.rtl ? 1 : -1, - padding = this.settings.stagePadding * 2, - begin = this.coordinates(this.current()) + padding, - end = begin + this.width() * rtl, - inner, outer, matches = [], i, n; - - for (i = 0, n = this._coordinates.length; i < n; i++) { - inner = this._coordinates[i - 1] || 0; - outer = Math.abs(this._coordinates[i]) + padding * rtl; - - if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end))) - || (this.op(outer, '<', begin) && this.op(outer, '>', end))) { - matches.push(i); - } - } - - this.$stage.children('.active').removeClass('active'); - this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active'); - - this.$stage.children('.center').removeClass('center'); - if (this.settings.center) { - this.$stage.children().eq(this.current()).addClass('center'); - } - } - } ]; - - /** - * Create the stage DOM element - */ - Owl.prototype.initializeStage = function() { - this.$stage = this.$element.find('.' + this.settings.stageClass); - - // if the stage is already in the DOM, grab it and skip stage initialization - if (this.$stage.length) { - return; - } - - this.$element.addClass(this.options.loadingClass); - - // create stage - this.$stage = $('<' + this.settings.stageElement + '>', { - "class": this.settings.stageClass - }).wrap( $( '
', { - "class": this.settings.stageOuterClass - })); - - // append stage - this.$element.append(this.$stage.parent()); - }; - - /** - * Create item DOM elements - */ - Owl.prototype.initializeItems = function() { - var $items = this.$element.find('.owl-item'); - - // if the items are already in the DOM, grab them and skip item initialization - if ($items.length) { - this._items = $items.get().map(function(item) { - return $(item); - }); - - this._mergers = this._items.map(function() { - return 1; - }); - - this.refresh(); - - return; - } - - // append content - this.replace(this.$element.children().not(this.$stage.parent())); - - // check visibility - if (this.isVisible()) { - // update view - this.refresh(); - } else { - // invalidate width - this.invalidate('width'); - } - - this.$element - .removeClass(this.options.loadingClass) - .addClass(this.options.loadedClass); - }; - - /** - * Initializes the carousel. - * @protected - */ - Owl.prototype.initialize = function() { - this.enter('initializing'); - this.trigger('initialize'); - - this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl); - - if (this.settings.autoWidth && !this.is('pre-loading')) { - var imgs, nestedSelector, width; - imgs = this.$element.find('img'); - nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined; - width = this.$element.children(nestedSelector).width(); - - if (imgs.length && width <= 0) { - this.preloadAutoWidthImages(imgs); - } - } - - this.initializeStage(); - this.initializeItems(); - - // register event handlers - this.registerEventHandlers(); - - this.leave('initializing'); - this.trigger('initialized'); - }; - - /** - * @returns {Boolean} visibility of $element - * if you know the carousel will always be visible you can set `checkVisibility` to `false` to - * prevent the expensive browser layout forced reflow the $element.is(':visible') does - */ - Owl.prototype.isVisible = function() { - return this.settings.checkVisibility - ? this.$element.is(':visible') - : true; - }; - - /** - * Setups the current settings. - * @todo Remove responsive classes. Why should adaptive designs be brought into IE8? - * @todo Support for media queries by using `matchMedia` would be nice. - * @public - */ - Owl.prototype.setup = function() { - var viewport = this.viewport(), - overwrites = this.options.responsive, - match = -1, - settings = null; - - if (!overwrites) { - settings = $.extend({}, this.options); - } else { - $.each(overwrites, function(breakpoint) { - if (breakpoint <= viewport && breakpoint > match) { - match = Number(breakpoint); - } - }); - - settings = $.extend({}, this.options, overwrites[match]); - if (typeof settings.stagePadding === 'function') { - settings.stagePadding = settings.stagePadding(); - } - delete settings.responsive; - - // responsive class - if (settings.responsiveClass) { - this.$element.attr('class', - this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match) - ); - } - } - - this.trigger('change', { property: { name: 'settings', value: settings } }); - this._breakpoint = match; - this.settings = settings; - this.invalidate('settings'); - this.trigger('changed', { property: { name: 'settings', value: this.settings } }); - }; - - /** - * Updates option logic if necessery. - * @protected - */ - Owl.prototype.optionsLogic = function() { - if (this.settings.autoWidth) { - this.settings.stagePadding = false; - this.settings.merge = false; - } - }; - - /** - * Prepares an item before add. - * @todo Rename event parameter `content` to `item`. - * @protected - * @returns {jQuery|HTMLElement} - The item container. - */ - Owl.prototype.prepare = function(item) { - var event = this.trigger('prepare', { content: item }); - - if (!event.data) { - event.data = $('<' + this.settings.itemElement + '/>') - .addClass(this.options.itemClass).append(item) - } - - this.trigger('prepared', { content: event.data }); - - return event.data; - }; - - /** - * Updates the view. - * @public - */ - Owl.prototype.update = function() { - var i = 0, - n = this._pipe.length, - filter = $.proxy(function(p) { return this[p] }, this._invalidated), - cache = {}; - - while (i < n) { - if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) { - this._pipe[i].run(cache); - } - i++; - } - - this._invalidated = {}; - - !this.is('valid') && this.enter('valid'); - }; - - /** - * Gets the width of the view. - * @public - * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return. - * @returns {Number} - The width of the view in pixel. - */ - Owl.prototype.width = function(dimension) { - dimension = dimension || Owl.Width.Default; - switch (dimension) { - case Owl.Width.Inner: - case Owl.Width.Outer: - return this._width; - default: - return this._width - this.settings.stagePadding * 2 + this.settings.margin; - } - }; - - /** - * Refreshes the carousel primarily for adaptive purposes. - * @public - */ - Owl.prototype.refresh = function() { - this.enter('refreshing'); - this.trigger('refresh'); - - this.setup(); - - this.optionsLogic(); - - this.$element.addClass(this.options.refreshClass); - - this.update(); - - this.$element.removeClass(this.options.refreshClass); - - this.leave('refreshing'); - this.trigger('refreshed'); - }; - - /** - * Checks window `resize` event. - * @protected - */ - Owl.prototype.onThrottledResize = function() { - window.clearTimeout(this.resizeTimer); - this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate); - }; - - /** - * Checks window `resize` event. - * @protected - */ - Owl.prototype.onResize = function() { - if (!this._items.length) { - return false; - } - - if (this._width === this.$element.width()) { - return false; - } - - if (!this.isVisible()) { - return false; - } - - this.enter('resizing'); - - if (this.trigger('resize').isDefaultPrevented()) { - this.leave('resizing'); - return false; - } - - this.invalidate('width'); - - this.refresh(); - - this.leave('resizing'); - this.trigger('resized'); - }; - - /** - * Registers event handlers. - * @todo Check `msPointerEnabled` - * @todo #261 - * @protected - */ - Owl.prototype.registerEventHandlers = function() { - if ($.support.transition) { - this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this)); - } - - if (this.settings.responsive !== false) { - this.on(window, 'resize', this._handlers.onThrottledResize); - } - - if (this.settings.mouseDrag) { - this.$element.addClass(this.options.dragClass); - this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this)); - this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false }); - } - - if (this.settings.touchDrag){ - this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this)); - this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this)); - } - }; - - /** - * Handles `touchstart` and `mousedown` events. - * @todo Horizontal swipe threshold as option - * @todo #261 - * @protected - * @param {Event} event - The event arguments. - */ - Owl.prototype.onDragStart = function(event) { - var stage = null; - - if (event.which === 3) { - return; - } - - if ($.support.transform) { - stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(','); - stage = { - x: stage[stage.length === 16 ? 12 : 4], - y: stage[stage.length === 16 ? 13 : 5] - }; - } else { - stage = this.$stage.position(); - stage = { - x: this.settings.rtl ? - stage.left + this.$stage.width() - this.width() + this.settings.margin : - stage.left, - y: stage.top - }; - } - - if (this.is('animating')) { - $.support.transform ? this.animate(stage.x) : this.$stage.stop() - this.invalidate('position'); - } - - this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown'); - - this.speed(0); - - this._drag.time = new Date().getTime(); - this._drag.target = $(event.target); - this._drag.stage.start = stage; - this._drag.stage.current = stage; - this._drag.pointer = this.pointer(event); - - $(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this)); - - $(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) { - var delta = this.difference(this._drag.pointer, this.pointer(event)); - - $(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this)); - - if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) { - return; - } - - event.preventDefault(); - - this.enter('dragging'); - this.trigger('drag'); - }, this)); - }; - - /** - * Handles the `touchmove` and `mousemove` events. - * @todo #261 - * @protected - * @param {Event} event - The event arguments. - */ - Owl.prototype.onDragMove = function(event) { - var minimum = null, - maximum = null, - pull = null, - delta = this.difference(this._drag.pointer, this.pointer(event)), - stage = this.difference(this._drag.stage.start, delta); - - if (!this.is('dragging')) { - return; - } - - event.preventDefault(); - - if (this.settings.loop) { - minimum = this.coordinates(this.minimum()); - maximum = this.coordinates(this.maximum() + 1) - minimum; - stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum; - } else { - minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()); - maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()); - pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0; - stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull); - } - - this._drag.stage.current = stage; - - this.animate(stage.x); - }; - - /** - * Handles the `touchend` and `mouseup` events. - * @todo #261 - * @todo Threshold for click event - * @protected - * @param {Event} event - The event arguments. - */ - Owl.prototype.onDragEnd = function(event) { - var delta = this.difference(this._drag.pointer, this.pointer(event)), - stage = this._drag.stage.current, - direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right'; - - $(document).off('.owl.core'); - - this.$element.removeClass(this.options.grabClass); - - if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) { - this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed); - this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction)); - this.invalidate('position'); - this.update(); - - this._drag.direction = direction; - - if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) { - this._drag.target.one('click.owl.core', function() { return false; }); - } - } - - if (!this.is('dragging')) { - return; - } - - this.leave('dragging'); - this.trigger('dragged'); - }; - - /** - * Gets absolute position of the closest item for a coordinate. - * @todo Setting `freeDrag` makes `closest` not reusable. See #165. - * @protected - * @param {Number} coordinate - The coordinate in pixel. - * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`. - * @return {Number} - The absolute position of the closest item. - */ - Owl.prototype.closest = function(coordinate, direction) { - var position = -1, - pull = 30, - width = this.width(), - coordinates = this.coordinates(); - - if (!this.settings.freeDrag) { - // check closest item - $.each(coordinates, $.proxy(function(index, value) { - // on a left pull, check on current index - if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) { - position = index; - // on a right pull, check on previous index - // to do so, subtract width from value and set position = index + 1 - } else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) { - position = index + 1; - } else if (this.op(coordinate, '<', value) - && this.op(coordinate, '>', coordinates[index + 1] !== undefined ? coordinates[index + 1] : value - width)) { - position = direction === 'left' ? index + 1 : index; - } - return position === -1; - }, this)); - } - - if (!this.settings.loop) { - // non loop boundries - if (this.op(coordinate, '>', coordinates[this.minimum()])) { - position = coordinate = this.minimum(); - } else if (this.op(coordinate, '<', coordinates[this.maximum()])) { - position = coordinate = this.maximum(); - } - } - - return position; - }; - - /** - * Animates the stage. - * @todo #270 - * @public - * @param {Number} coordinate - The coordinate in pixels. - */ - Owl.prototype.animate = function(coordinate) { - var animate = this.speed() > 0; - - this.is('animating') && this.onTransitionEnd(); - - if (animate) { - this.enter('animating'); - this.trigger('translate'); - } - - if ($.support.transform3d && $.support.transition) { - this.$stage.css({ - transform: 'translate3d(' + coordinate + 'px,0px,0px)', - transition: (this.speed() / 1000) + 's' + ( - this.settings.slideTransition ? ' ' + this.settings.slideTransition : '' - ) - }); - } else if (animate) { - this.$stage.animate({ - left: coordinate + 'px' - }, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this)); - } else { - this.$stage.css({ - left: coordinate + 'px' - }); - } - }; - - /** - * Checks whether the carousel is in a specific state or not. - * @param {String} state - The state to check. - * @returns {Boolean} - The flag which indicates if the carousel is busy. - */ - Owl.prototype.is = function(state) { - return this._states.current[state] && this._states.current[state] > 0; - }; - - /** - * Sets the absolute position of the current item. - * @public - * @param {Number} [position] - The new absolute position or nothing to leave it unchanged. - * @returns {Number} - The absolute position of the current item. - */ - Owl.prototype.current = function(position) { - if (position === undefined) { - return this._current; - } - - if (this._items.length === 0) { - return undefined; - } - - position = this.normalize(position); - - if (this._current !== position) { - var event = this.trigger('change', { property: { name: 'position', value: position } }); - - if (event.data !== undefined) { - position = this.normalize(event.data); - } - - this._current = position; - - this.invalidate('position'); - - this.trigger('changed', { property: { name: 'position', value: this._current } }); - } - - return this._current; - }; - - /** - * Invalidates the given part of the update routine. - * @param {String} [part] - The part to invalidate. - * @returns {Array.} - The invalidated parts. - */ - Owl.prototype.invalidate = function(part) { - if ($.type(part) === 'string') { - this._invalidated[part] = true; - this.is('valid') && this.leave('valid'); - } - return $.map(this._invalidated, function(v, i) { return i }); - }; - - /** - * Resets the absolute position of the current item. - * @public - * @param {Number} position - The absolute position of the new item. - */ - Owl.prototype.reset = function(position) { - position = this.normalize(position); - - if (position === undefined) { - return; - } - - this._speed = 0; - this._current = position; - - this.suppress([ 'translate', 'translated' ]); - - this.animate(this.coordinates(position)); - - this.release([ 'translate', 'translated' ]); - }; - - /** - * Normalizes an absolute or a relative position of an item. - * @public - * @param {Number} position - The absolute or relative position to normalize. - * @param {Boolean} [relative=false] - Whether the given position is relative or not. - * @returns {Number} - The normalized position. - */ - Owl.prototype.normalize = function(position, relative) { - var n = this._items.length, - m = relative ? 0 : this._clones.length; - - if (!this.isNumeric(position) || n < 1) { - position = undefined; - } else if (position < 0 || position >= n + m) { - position = ((position - m / 2) % n + n) % n + m / 2; - } - - return position; - }; - - /** - * Converts an absolute position of an item into a relative one. - * @public - * @param {Number} position - The absolute position to convert. - * @returns {Number} - The converted position. - */ - Owl.prototype.relative = function(position) { - position -= this._clones.length / 2; - return this.normalize(position, true); - }; - - /** - * Gets the maximum position for the current item. - * @public - * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. - * @returns {Number} - */ - Owl.prototype.maximum = function(relative) { - var settings = this.settings, - maximum = this._coordinates.length, - iterator, - reciprocalItemsWidth, - elementWidth; - - if (settings.loop) { - maximum = this._clones.length / 2 + this._items.length - 1; - } else if (settings.autoWidth || settings.merge) { - iterator = this._items.length; - if (iterator) { - reciprocalItemsWidth = this._items[--iterator].width(); - elementWidth = this.$element.width(); - while (iterator--) { - reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin; - if (reciprocalItemsWidth > elementWidth) { - break; - } - } - } - maximum = iterator + 1; - } else if (settings.center) { - maximum = this._items.length - 1; - } else { - maximum = this._items.length - settings.items; - } - - if (relative) { - maximum -= this._clones.length / 2; - } - - return Math.max(maximum, 0); - }; - - /** - * Gets the minimum position for the current item. - * @public - * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. - * @returns {Number} - */ - Owl.prototype.minimum = function(relative) { - return relative ? 0 : this._clones.length / 2; - }; - - /** - * Gets an item at the specified relative position. - * @public - * @param {Number} [position] - The relative position of the item. - * @return {jQuery|Array.} - The item at the given position or all items if no position was given. - */ - Owl.prototype.items = function(position) { - if (position === undefined) { - return this._items.slice(); - } - - position = this.normalize(position, true); - return this._items[position]; - }; - - /** - * Gets an item at the specified relative position. - * @public - * @param {Number} [position] - The relative position of the item. - * @return {jQuery|Array.} - The item at the given position or all items if no position was given. - */ - Owl.prototype.mergers = function(position) { - if (position === undefined) { - return this._mergers.slice(); - } - - position = this.normalize(position, true); - return this._mergers[position]; - }; - - /** - * Gets the absolute positions of clones for an item. - * @public - * @param {Number} [position] - The relative position of the item. - * @returns {Array.} - The absolute positions of clones for the item or all if no position was given. - */ - Owl.prototype.clones = function(position) { - var odd = this._clones.length / 2, - even = odd + this._items.length, - map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 }; - - if (position === undefined) { - return $.map(this._clones, function(v, i) { return map(i) }); - } - - return $.map(this._clones, function(v, i) { return v === position ? map(i) : null }); - }; - - /** - * Sets the current animation speed. - * @public - * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged. - * @returns {Number} - The current animation speed in milliseconds. - */ - Owl.prototype.speed = function(speed) { - if (speed !== undefined) { - this._speed = speed; - } - - return this._speed; - }; - - /** - * Gets the coordinate of an item. - * @todo The name of this method is missleanding. - * @public - * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`. - * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates. - */ - Owl.prototype.coordinates = function(position) { - var multiplier = 1, - newPosition = position - 1, - coordinate; - - if (position === undefined) { - return $.map(this._coordinates, $.proxy(function(coordinate, index) { - return this.coordinates(index); - }, this)); - } - - if (this.settings.center) { - if (this.settings.rtl) { - multiplier = -1; - newPosition = position + 1; - } - - coordinate = this._coordinates[position]; - coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier; - } else { - coordinate = this._coordinates[newPosition] || 0; - } - - coordinate = Math.ceil(coordinate); - - return coordinate; - }; - - /** - * Calculates the speed for a translation. - * @protected - * @param {Number} from - The absolute position of the start item. - * @param {Number} to - The absolute position of the target item. - * @param {Number} [factor=undefined] - The time factor in milliseconds. - * @returns {Number} - The time in milliseconds for the translation. - */ - Owl.prototype.duration = function(from, to, factor) { - if (factor === 0) { - return 0; - } - - return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed)); - }; - - /** - * Slides to the specified item. - * @public - * @param {Number} position - The position of the item. - * @param {Number} [speed] - The time in milliseconds for the transition. - */ - Owl.prototype.to = function(position, speed) { - var current = this.current(), - revert = null, - distance = position - this.relative(current), - direction = (distance > 0) - (distance < 0), - items = this._items.length, - minimum = this.minimum(), - maximum = this.maximum(); - - if (this.settings.loop) { - if (!this.settings.rewind && Math.abs(distance) > items / 2) { - distance += direction * -1 * items; - } - - position = current + distance; - revert = ((position - minimum) % items + items) % items + minimum; - - if (revert !== position && revert - distance <= maximum && revert - distance > 0) { - current = revert - distance; - position = revert; - this.reset(current); - } - } else if (this.settings.rewind) { - maximum += 1; - position = (position % maximum + maximum) % maximum; - } else { - position = Math.max(minimum, Math.min(maximum, position)); - } - - this.speed(this.duration(current, position, speed)); - this.current(position); - - if (this.isVisible()) { - this.update(); - } - }; - - /** - * Slides to the next item. - * @public - * @param {Number} [speed] - The time in milliseconds for the transition. - */ - Owl.prototype.next = function(speed) { - speed = speed || false; - this.to(this.relative(this.current()) + 1, speed); - }; - - /** - * Slides to the previous item. - * @public - * @param {Number} [speed] - The time in milliseconds for the transition. - */ - Owl.prototype.prev = function(speed) { - speed = speed || false; - this.to(this.relative(this.current()) - 1, speed); - }; - - /** - * Handles the end of an animation. - * @protected - * @param {Event} event - The event arguments. - */ - Owl.prototype.onTransitionEnd = function(event) { - - // if css2 animation then event object is undefined - if (event !== undefined) { - event.stopPropagation(); - - // Catch only owl-stage transitionEnd event - if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) { - return false; - } - } - - this.leave('animating'); - this.trigger('translated'); - }; - - /** - * Gets viewport width. - * @protected - * @return {Number} - The width in pixel. - */ - Owl.prototype.viewport = function() { - var width; - if (this.options.responsiveBaseElement !== window) { - width = $(this.options.responsiveBaseElement).width(); - } else if (window.innerWidth) { - width = window.innerWidth; - } else if (document.documentElement && document.documentElement.clientWidth) { - width = document.documentElement.clientWidth; - } else { - console.warn('Can not detect viewport width.'); - } - return width; - }; - - /** - * Replaces the current content. - * @public - * @param {HTMLElement|jQuery|String} content - The new content. - */ - Owl.prototype.replace = function(content) { - this.$stage.empty(); - this._items = []; - - if (content) { - content = (content instanceof jQuery) ? content : $(content); - } - - if (this.settings.nestedItemSelector) { - content = content.find('.' + this.settings.nestedItemSelector); - } - - content.filter(function() { - return this.nodeType === 1; - }).each($.proxy(function(index, item) { - item = this.prepare(item); - this.$stage.append(item); - this._items.push(item); - this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); - }, this)); - - this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0); - - this.invalidate('items'); - }; - - /** - * Adds an item. - * @todo Use `item` instead of `content` for the event arguments. - * @public - * @param {HTMLElement|jQuery|String} content - The item content to add. - * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end. - */ - Owl.prototype.add = function(content, position) { - var current = this.relative(this._current); - - position = position === undefined ? this._items.length : this.normalize(position, true); - content = content instanceof jQuery ? content : $(content); - - this.trigger('add', { content: content, position: position }); - - content = this.prepare(content); - - if (this._items.length === 0 || position === this._items.length) { - this._items.length === 0 && this.$stage.append(content); - this._items.length !== 0 && this._items[position - 1].after(content); - this._items.push(content); - this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); - } else { - this._items[position].before(content); - this._items.splice(position, 0, content); - this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); - } - - this._items[current] && this.reset(this._items[current].index()); - - this.invalidate('items'); - - this.trigger('added', { content: content, position: position }); - }; - - /** - * Removes an item by its position. - * @todo Use `item` instead of `content` for the event arguments. - * @public - * @param {Number} position - The relative position of the item to remove. - */ - Owl.prototype.remove = function(position) { - position = this.normalize(position, true); - - if (position === undefined) { - return; - } - - this.trigger('remove', { content: this._items[position], position: position }); - - this._items[position].remove(); - this._items.splice(position, 1); - this._mergers.splice(position, 1); - - this.invalidate('items'); - - this.trigger('removed', { content: null, position: position }); - }; - - /** - * Preloads images with auto width. - * @todo Replace by a more generic approach - * @protected - */ - Owl.prototype.preloadAutoWidthImages = function(images) { - images.each($.proxy(function(i, element) { - this.enter('pre-loading'); - element = $(element); - $(new Image()).one('load', $.proxy(function(e) { - element.attr('src', e.target.src); - element.css('opacity', 1); - this.leave('pre-loading'); - !this.is('pre-loading') && !this.is('initializing') && this.refresh(); - }, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina')); - }, this)); - }; - - /** - * Destroys the carousel. - * @public - */ - Owl.prototype.destroy = function() { - - this.$element.off('.owl.core'); - this.$stage.off('.owl.core'); - $(document).off('.owl.core'); - - if (this.settings.responsive !== false) { - window.clearTimeout(this.resizeTimer); - this.off(window, 'resize', this._handlers.onThrottledResize); - } - - for (var i in this._plugins) { - this._plugins[i].destroy(); - } - - this.$stage.children('.cloned').remove(); - - this.$stage.unwrap(); - this.$stage.children().contents().unwrap(); - this.$stage.children().unwrap(); - this.$stage.remove(); - this.$element - .removeClass(this.options.refreshClass) - .removeClass(this.options.loadingClass) - .removeClass(this.options.loadedClass) - .removeClass(this.options.rtlClass) - .removeClass(this.options.dragClass) - .removeClass(this.options.grabClass) - .attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), '')) - .removeData('owl.carousel'); - }; - - /** - * Operators to calculate right-to-left and left-to-right. - * @protected - * @param {Number} [a] - The left side operand. - * @param {String} [o] - The operator. - * @param {Number} [b] - The right side operand. - */ - Owl.prototype.op = function(a, o, b) { - var rtl = this.settings.rtl; - switch (o) { - case '<': - return rtl ? a > b : a < b; - case '>': - return rtl ? a < b : a > b; - case '>=': - return rtl ? a <= b : a >= b; - case '<=': - return rtl ? a >= b : a <= b; - default: - break; - } - }; - - /** - * Attaches to an internal event. - * @protected - * @param {HTMLElement} element - The event source. - * @param {String} event - The event name. - * @param {Function} listener - The event handler to attach. - * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not. - */ - Owl.prototype.on = function(element, event, listener, capture) { - if (element.addEventListener) { - element.addEventListener(event, listener, capture); - } else if (element.attachEvent) { - element.attachEvent('on' + event, listener); - } - }; - - /** - * Detaches from an internal event. - * @protected - * @param {HTMLElement} element - The event source. - * @param {String} event - The event name. - * @param {Function} listener - The attached event handler to detach. - * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not. - */ - Owl.prototype.off = function(element, event, listener, capture) { - if (element.removeEventListener) { - element.removeEventListener(event, listener, capture); - } else if (element.detachEvent) { - element.detachEvent('on' + event, listener); - } - }; - - /** - * Triggers a public event. - * @todo Remove `status`, `relatedTarget` should be used instead. - * @protected - * @param {String} name - The event name. - * @param {*} [data=null] - The event data. - * @param {String} [namespace=carousel] - The event namespace. - * @param {String} [state] - The state which is associated with the event. - * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not. - * @returns {Event} - The event arguments. - */ - Owl.prototype.trigger = function(name, data, namespace, state, enter) { - var status = { - item: { count: this._items.length, index: this.current() } - }, handler = $.camelCase( - $.grep([ 'on', name, namespace ], function(v) { return v }) - .join('-').toLowerCase() - ), event = $.Event( - [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(), - $.extend({ relatedTarget: this }, status, data) - ); - - if (!this._supress[name]) { - $.each(this._plugins, function(name, plugin) { - if (plugin.onTrigger) { - plugin.onTrigger(event); - } - }); - - this.register({ type: Owl.Type.Event, name: name }); - this.$element.trigger(event); - - if (this.settings && typeof this.settings[handler] === 'function') { - this.settings[handler].call(this, event); - } - } - - return event; - }; - - /** - * Enters a state. - * @param name - The state name. - */ - Owl.prototype.enter = function(name) { - $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { - if (this._states.current[name] === undefined) { - this._states.current[name] = 0; - } - - this._states.current[name]++; - }, this)); - }; - - /** - * Leaves a state. - * @param name - The state name. - */ - Owl.prototype.leave = function(name) { - $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { - this._states.current[name]--; - }, this)); - }; - - /** - * Registers an event or state. - * @public - * @param {Object} object - The event or state to register. - */ - Owl.prototype.register = function(object) { - if (object.type === Owl.Type.Event) { - if (!$.event.special[object.name]) { - $.event.special[object.name] = {}; - } - - if (!$.event.special[object.name].owl) { - var _default = $.event.special[object.name]._default; - $.event.special[object.name]._default = function(e) { - if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) { - return _default.apply(this, arguments); - } - return e.namespace && e.namespace.indexOf('owl') > -1; - }; - $.event.special[object.name].owl = true; - } - } else if (object.type === Owl.Type.State) { - if (!this._states.tags[object.name]) { - this._states.tags[object.name] = object.tags; - } else { - this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags); - } - - this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) { - return $.inArray(tag, this._states.tags[object.name]) === i; - }, this)); - } - }; - - /** - * Suppresses events. - * @protected - * @param {Array.} events - The events to suppress. - */ - Owl.prototype.suppress = function(events) { - $.each(events, $.proxy(function(index, event) { - this._supress[event] = true; - }, this)); - }; - - /** - * Releases suppressed events. - * @protected - * @param {Array.} events - The events to release. - */ - Owl.prototype.release = function(events) { - $.each(events, $.proxy(function(index, event) { - delete this._supress[event]; - }, this)); - }; - - /** - * Gets unified pointer coordinates from event. - * @todo #261 - * @protected - * @param {Event} - The `mousedown` or `touchstart` event. - * @returns {Object} - Contains `x` and `y` coordinates of current pointer position. - */ - Owl.prototype.pointer = function(event) { - var result = { x: null, y: null }; - - event = event.originalEvent || event || window.event; - - event = event.touches && event.touches.length ? - event.touches[0] : event.changedTouches && event.changedTouches.length ? - event.changedTouches[0] : event; - - if (event.pageX) { - result.x = event.pageX; - result.y = event.pageY; - } else { - result.x = event.clientX; - result.y = event.clientY; - } - - return result; - }; - - /** - * Determines if the input is a Number or something that can be coerced to a Number - * @protected - * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested - * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number - */ - Owl.prototype.isNumeric = function(number) { - return !isNaN(parseFloat(number)); - }; - - /** - * Gets the difference of two vectors. - * @todo #261 - * @protected - * @param {Object} - The first vector. - * @param {Object} - The second vector. - * @returns {Object} - The difference. - */ - Owl.prototype.difference = function(first, second) { - return { - x: first.x - second.x, - y: first.y - second.y - }; - }; - - /** - * The jQuery Plugin for the Owl Carousel - * @todo Navigation plugin `next` and `prev` - * @public - */ - $.fn.owlCarousel = function(option) { - var args = Array.prototype.slice.call(arguments, 1); - - return this.each(function() { - var $this = $(this), - data = $this.data('owl.carousel'); - - if (!data) { - data = new Owl(this, typeof option == 'object' && option); - $this.data('owl.carousel', data); - - $.each([ - 'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove' - ], function(i, event) { - data.register({ type: Owl.Type.Event, name: event }); - data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) { - if (e.namespace && e.relatedTarget !== this) { - this.suppress([ event ]); - data[event].apply(this, [].slice.call(arguments, 1)); - this.release([ event ]); - } - }, data)); - }); - } - - if (typeof option == 'string' && option.charAt(0) !== '_') { - data[option].apply(data, args); - } - }); - }; - - /** - * The constructor for the jQuery Plugin - * @public - */ - $.fn.owlCarousel.Constructor = Owl; - -})(window.Zepto || window.jQuery, window, document); - -/** - * AutoRefresh Plugin - * @version 2.3.4 - * @author Artus Kolanowski - * @author David Deutsch - * @license The MIT License (MIT) - */ -;(function($, window, document, undefined) { - - /** - * Creates the auto refresh plugin. - * @class The Auto Refresh Plugin - * @param {Owl} carousel - The Owl Carousel - */ - var AutoRefresh = function(carousel) { - /** - * Reference to the core. - * @protected - * @type {Owl} - */ - this._core = carousel; - - /** - * Refresh interval. - * @protected - * @type {number} - */ - this._interval = null; - - /** - * Whether the element is currently visible or not. - * @protected - * @type {Boolean} - */ - this._visible = null; - - /** - * All event handlers. - * @protected - * @type {Object} - */ - this._handlers = { - 'initialized.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.autoRefresh) { - this.watch(); - } - }, this) - }; - - // set default options - this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options); - - // register event handlers - this._core.$element.on(this._handlers); - }; - - /** - * Default options. - * @public - */ - AutoRefresh.Defaults = { - autoRefresh: true, - autoRefreshInterval: 500 - }; - - /** - * Watches the element. - */ - AutoRefresh.prototype.watch = function() { - if (this._interval) { - return; - } - - this._visible = this._core.isVisible(); - this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval); - }; - - /** - * Refreshes the element. - */ - AutoRefresh.prototype.refresh = function() { - if (this._core.isVisible() === this._visible) { - return; - } - - this._visible = !this._visible; - - this._core.$element.toggleClass('owl-hidden', !this._visible); - - this._visible && (this._core.invalidate('width') && this._core.refresh()); - }; - - /** - * Destroys the plugin. - */ - AutoRefresh.prototype.destroy = function() { - var handler, property; - - window.clearInterval(this._interval); - - for (handler in this._handlers) { - this._core.$element.off(handler, this._handlers[handler]); - } - for (property in Object.getOwnPropertyNames(this)) { - typeof this[property] != 'function' && (this[property] = null); - } - }; - - $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh; - -})(window.Zepto || window.jQuery, window, document); - -/** - * Lazy Plugin - * @version 2.3.4 - * @author Bartosz Wojciechowski - * @author David Deutsch - * @license The MIT License (MIT) - */ -;(function($, window, document, undefined) { - - /** - * Creates the lazy plugin. - * @class The Lazy Plugin - * @param {Owl} carousel - The Owl Carousel - */ - var Lazy = function(carousel) { - - /** - * Reference to the core. - * @protected - * @type {Owl} - */ - this._core = carousel; - - /** - * Already loaded items. - * @protected - * @type {Array.} - */ - this._loaded = []; - - /** - * Event handlers. - * @protected - * @type {Object} - */ - this._handlers = { - 'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) { - if (!e.namespace) { - return; - } - - if (!this._core.settings || !this._core.settings.lazyLoad) { - return; - } - - if ((e.property && e.property.name == 'position') || e.type == 'initialized') { - var settings = this._core.settings, - n = (settings.center && Math.ceil(settings.items / 2) || settings.items), - i = ((settings.center && n * -1) || 0), - position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i, - clones = this._core.clones().length, - load = $.proxy(function(i, v) { this.load(v) }, this); - //TODO: Need documentation for this new option - if (settings.lazyLoadEager > 0) { - n += settings.lazyLoadEager; - // If the carousel is looping also preload images that are to the "left" - if (settings.loop) { - position -= settings.lazyLoadEager; - n++; - } - } - - while (i++ < n) { - this.load(clones / 2 + this._core.relative(position)); - clones && $.each(this._core.clones(this._core.relative(position)), load); - position++; - } - } - }, this) - }; - - // set the default options - this._core.options = $.extend({}, Lazy.Defaults, this._core.options); - - // register event handler - this._core.$element.on(this._handlers); - }; - - /** - * Default options. - * @public - */ - Lazy.Defaults = { - lazyLoad: false, - lazyLoadEager: 0 - }; - - /** - * Loads all resources of an item at the specified position. - * @param {Number} position - The absolute position of the item. - * @protected - */ - Lazy.prototype.load = function(position) { - var $item = this._core.$stage.children().eq(position), - $elements = $item && $item.find('.owl-lazy'); - - if (!$elements || $.inArray($item.get(0), this._loaded) > -1) { - return; - } - - $elements.each($.proxy(function(index, element) { - var $element = $(element), image, - url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src') || $element.attr('data-srcset'); - - this._core.trigger('load', { element: $element, url: url }, 'lazy'); - - if ($element.is('img')) { - $element.one('load.owl.lazy', $.proxy(function() { - $element.css('opacity', 1); - this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); - }, this)).attr('src', url); - } else if ($element.is('source')) { - $element.one('load.owl.lazy', $.proxy(function() { - this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); - }, this)).attr('srcset', url); - } else { - image = new Image(); - image.onload = $.proxy(function() { - $element.css({ - 'background-image': 'url("' + url + '")', - 'opacity': '1' - }); - this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); - }, this); - image.src = url; - } - }, this)); - - this._loaded.push($item.get(0)); - }; - - /** - * Destroys the plugin. - * @public - */ - Lazy.prototype.destroy = function() { - var handler, property; - - for (handler in this.handlers) { - this._core.$element.off(handler, this.handlers[handler]); - } - for (property in Object.getOwnPropertyNames(this)) { - typeof this[property] != 'function' && (this[property] = null); - } - }; - - $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy; - -})(window.Zepto || window.jQuery, window, document); - -/** - * AutoHeight Plugin - * @version 2.3.4 - * @author Bartosz Wojciechowski - * @author David Deutsch - * @license The MIT License (MIT) - */ -;(function($, window, document, undefined) { - - /** - * Creates the auto height plugin. - * @class The Auto Height Plugin - * @param {Owl} carousel - The Owl Carousel - */ - var AutoHeight = function(carousel) { - /** - * Reference to the core. - * @protected - * @type {Owl} - */ - this._core = carousel; - - this._previousHeight = null; - - /** - * All event handlers. - * @protected - * @type {Object} - */ - this._handlers = { - 'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.autoHeight) { - this.update(); - } - }, this), - 'changed.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.autoHeight && e.property.name === 'position'){ - this.update(); - } - }, this), - 'loaded.owl.lazy': $.proxy(function(e) { - if (e.namespace && this._core.settings.autoHeight - && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) { - this.update(); - } - }, this) - }; - - // set default options - this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options); - - // register event handlers - this._core.$element.on(this._handlers); - this._intervalId = null; - var refThis = this; - - // These changes have been taken from a PR by gavrochelegnou proposed in #1575 - // and have been made compatible with the latest jQuery version - $(window).on('load', function() { - if (refThis._core.settings.autoHeight) { - refThis.update(); - } - }); - - // Autoresize the height of the carousel when window is resized - // When carousel has images, the height is dependent on the width - // and should also change on resize - $(window).resize(function() { - if (refThis._core.settings.autoHeight) { - if (refThis._intervalId != null) { - clearTimeout(refThis._intervalId); - } - - refThis._intervalId = setTimeout(function() { - refThis.update(); - }, 250); - } - }); - - }; - - /** - * Default options. - * @public - */ - AutoHeight.Defaults = { - autoHeight: false, - autoHeightClass: 'owl-height' - }; - - /** - * Updates the view. - */ - AutoHeight.prototype.update = function() { - var start = this._core._current, - end = start + this._core.settings.items, - lazyLoadEnabled = this._core.settings.lazyLoad, - visible = this._core.$stage.children().toArray().slice(start, end), - heights = [], - maxheight = 0; - - $.each(visible, function(index, item) { - heights.push($(item).height()); - }); - - maxheight = Math.max.apply(null, heights); - - if (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) { - maxheight = this._previousHeight; - } - - this._previousHeight = maxheight; - - this._core.$stage.parent() - .height(maxheight) - .addClass(this._core.settings.autoHeightClass); - }; - - AutoHeight.prototype.destroy = function() { - var handler, property; - - for (handler in this._handlers) { - this._core.$element.off(handler, this._handlers[handler]); - } - for (property in Object.getOwnPropertyNames(this)) { - typeof this[property] !== 'function' && (this[property] = null); - } - }; - - $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight; - -})(window.Zepto || window.jQuery, window, document); - -/** - * Video Plugin - * @version 2.3.4 - * @author Bartosz Wojciechowski - * @author David Deutsch - * @license The MIT License (MIT) - */ -;(function($, window, document, undefined) { - - /** - * Creates the video plugin. - * @class The Video Plugin - * @param {Owl} carousel - The Owl Carousel - */ - var Video = function(carousel) { - /** - * Reference to the core. - * @protected - * @type {Owl} - */ - this._core = carousel; - - /** - * Cache all video URLs. - * @protected - * @type {Object} - */ - this._videos = {}; - - /** - * Current playing item. - * @protected - * @type {jQuery} - */ - this._playing = null; - - /** - * All event handlers. - * @todo The cloned content removale is too late - * @protected - * @type {Object} - */ - this._handlers = { - 'initialized.owl.carousel': $.proxy(function(e) { - if (e.namespace) { - this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] }); - } - }, this), - 'resize.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.video && this.isInFullScreen()) { - e.preventDefault(); - } - }, this), - 'refreshed.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.is('resizing')) { - this._core.$stage.find('.cloned .owl-video-frame').remove(); - } - }, this), - 'changed.owl.carousel': $.proxy(function(e) { - if (e.namespace && e.property.name === 'position' && this._playing) { - this.stop(); - } - }, this), - 'prepared.owl.carousel': $.proxy(function(e) { - if (!e.namespace) { - return; - } - - var $element = $(e.content).find('.owl-video'); - - if ($element.length) { - $element.css('display', 'none'); - this.fetch($element, $(e.content)); - } - }, this) - }; - - // set default options - this._core.options = $.extend({}, Video.Defaults, this._core.options); - - // register event handlers - this._core.$element.on(this._handlers); - - this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) { - this.play(e); - }, this)); - }; - - /** - * Default options. - * @public - */ - Video.Defaults = { - video: false, - videoHeight: false, - videoWidth: false - }; - - /** - * Gets the video ID and the type (YouTube/Vimeo/vzaar only). - * @protected - * @param {jQuery} target - The target containing the video data. - * @param {jQuery} item - The item containing the video. - */ - Video.prototype.fetch = function(target, item) { - var type = (function() { - if (target.attr('data-vimeo-id')) { - return 'vimeo'; - } else if (target.attr('data-vzaar-id')) { - return 'vzaar' - } else { - return 'youtube'; - } - })(), - id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'), - width = target.attr('data-width') || this._core.settings.videoWidth, - height = target.attr('data-height') || this._core.settings.videoHeight, - url = target.attr('href'); - - if (url) { - - /* - Parses the id's out of the following urls (and probably more): - https://www.youtube.com/watch?v=:id - https://youtu.be/:id - https://vimeo.com/:id - https://vimeo.com/channels/:channel/:id - https://vimeo.com/groups/:group/videos/:id - https://app.vzaar.com/videos/:id - - Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F - */ - - id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/); - - if (id[3].indexOf('youtu') > -1) { - type = 'youtube'; - } else if (id[3].indexOf('vimeo') > -1) { - type = 'vimeo'; - } else if (id[3].indexOf('vzaar') > -1) { - type = 'vzaar'; - } else { - throw new Error('Video URL not supported.'); - } - id = id[6]; - } else { - throw new Error('Missing video URL.'); - } - - this._videos[url] = { - type: type, - id: id, - width: width, - height: height - }; - - item.attr('data-video', url); - - this.thumbnail(target, this._videos[url]); - }; - - /** - * Creates video thumbnail. - * @protected - * @param {jQuery} target - The target containing the video data. - * @param {Object} info - The video info object. - * @see `fetch` - */ - Video.prototype.thumbnail = function(target, video) { - var tnLink, - icon, - path, - dimensions = video.width && video.height ? 'width:' + video.width + 'px;height:' + video.height + 'px;' : '', - customTn = target.find('img'), - srcType = 'src', - lazyClass = '', - settings = this._core.settings, - create = function(path) { - icon = '
'; - - if (settings.lazyLoad) { - tnLink = $('
',{ - "class": 'owl-video-tn ' + lazyClass, - "srcType": path - }); - } else { - tnLink = $( '
', { - "class": "owl-video-tn", - "style": 'opacity:1;background-image:url(' + path + ')' - }); - } - target.after(tnLink); - target.after(icon); - }; - - // wrap video content into owl-video-wrapper div - target.wrap( $( '
', { - "class": "owl-video-wrapper", - "style": dimensions - })); - - if (this._core.settings.lazyLoad) { - srcType = 'data-src'; - lazyClass = 'owl-lazy'; - } - - // custom thumbnail - if (customTn.length) { - create(customTn.attr(srcType)); - customTn.remove(); - return false; - } - - if (video.type === 'youtube') { - path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg"; - create(path); - } else if (video.type === 'vimeo') { - $.ajax({ - type: 'GET', - url: '//vimeo.com/api/v2/video/' + video.id + '.json', - jsonp: 'callback', - dataType: 'jsonp', - success: function(data) { - path = data[0].thumbnail_large; - create(path); - } - }); - } else if (video.type === 'vzaar') { - $.ajax({ - type: 'GET', - url: '//vzaar.com/api/videos/' + video.id + '.json', - jsonp: 'callback', - dataType: 'jsonp', - success: function(data) { - path = data.framegrab_url; - create(path); - } - }); - } - }; - - /** - * Stops the current video. - * @public - */ - Video.prototype.stop = function() { - this._core.trigger('stop', null, 'video'); - this._playing.find('.owl-video-frame').remove(); - this._playing.removeClass('owl-video-playing'); - this._playing = null; - this._core.leave('playing'); - this._core.trigger('stopped', null, 'video'); - }; - - /** - * Starts the current video. - * @public - * @param {Event} event - The event arguments. - */ - Video.prototype.play = function(event) { - var target = $(event.target), - item = target.closest('.' + this._core.settings.itemClass), - video = this._videos[item.attr('data-video')], - width = video.width || '100%', - height = video.height || this._core.$stage.height(), - html, - iframe; - - if (this._playing) { - return; - } - - this._core.enter('playing'); - this._core.trigger('play', null, 'video'); - - item = this._core.items(this._core.relative(item.index())); - - this._core.reset(item.index()); - - html = $( '' ); - html.attr( 'height', height ); - html.attr( 'width', width ); - if (video.type === 'youtube') { - html.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id ); - } else if (video.type === 'vimeo') { - html.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' ); - } else if (video.type === 'vzaar') { - html.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' ); - } - - iframe = $(html).wrap( '
' ).insertAfter(item.find('.owl-video')); - - this._playing = item.addClass('owl-video-playing'); - }; - - /** - * Checks whether an video is currently in full screen mode or not. - * @todo Bad style because looks like a readonly method but changes members. - * @protected - * @returns {Boolean} - */ - Video.prototype.isInFullScreen = function() { - var element = document.fullscreenElement || document.mozFullScreenElement || - document.webkitFullscreenElement; - - return element && $(element).parent().hasClass('owl-video-frame'); - }; - - /** - * Destroys the plugin. - */ - Video.prototype.destroy = function() { - var handler, property; - - this._core.$element.off('click.owl.video'); - - for (handler in this._handlers) { - this._core.$element.off(handler, this._handlers[handler]); - } - for (property in Object.getOwnPropertyNames(this)) { - typeof this[property] != 'function' && (this[property] = null); - } - }; - - $.fn.owlCarousel.Constructor.Plugins.Video = Video; - -})(window.Zepto || window.jQuery, window, document); - -/** - * Animate Plugin - * @version 2.3.4 - * @author Bartosz Wojciechowski - * @author David Deutsch - * @license The MIT License (MIT) - */ -;(function($, window, document, undefined) { - - /** - * Creates the animate plugin. - * @class The Navigation Plugin - * @param {Owl} scope - The Owl Carousel - */ - var Animate = function(scope) { - this.core = scope; - this.core.options = $.extend({}, Animate.Defaults, this.core.options); - this.swapping = true; - this.previous = undefined; - this.next = undefined; - - this.handlers = { - 'change.owl.carousel': $.proxy(function(e) { - if (e.namespace && e.property.name == 'position') { - this.previous = this.core.current(); - this.next = e.property.value; - } - }, this), - 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) { - if (e.namespace) { - this.swapping = e.type == 'translated'; - } - }, this), - 'translate.owl.carousel': $.proxy(function(e) { - if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) { - this.swap(); - } - }, this) - }; - - this.core.$element.on(this.handlers); - }; - - /** - * Default options. - * @public - */ - Animate.Defaults = { - animateOut: false, - animateIn: false - }; - - /** - * Toggles the animation classes whenever an translations starts. - * @protected - * @returns {Boolean|undefined} - */ - Animate.prototype.swap = function() { - - if (this.core.settings.items !== 1) { - return; - } - - if (!$.support.animation || !$.support.transition) { - return; - } - - this.core.speed(0); - - var left, - clear = $.proxy(this.clear, this), - previous = this.core.$stage.children().eq(this.previous), - next = this.core.$stage.children().eq(this.next), - incoming = this.core.settings.animateIn, - outgoing = this.core.settings.animateOut; - - if (this.core.current() === this.previous) { - return; - } - - if (outgoing) { - left = this.core.coordinates(this.previous) - this.core.coordinates(this.next); - previous.one($.support.animation.end, clear) - .css( { 'left': left + 'px' } ) - .addClass('animated owl-animated-out') - .addClass(outgoing); - } - - if (incoming) { - next.one($.support.animation.end, clear) - .addClass('animated owl-animated-in') - .addClass(incoming); - } - }; - - Animate.prototype.clear = function(e) { - $(e.target).css( { 'left': '' } ) - .removeClass('animated owl-animated-out owl-animated-in') - .removeClass(this.core.settings.animateIn) - .removeClass(this.core.settings.animateOut); - this.core.onTransitionEnd(); - }; - - /** - * Destroys the plugin. - * @public - */ - Animate.prototype.destroy = function() { - var handler, property; - - for (handler in this.handlers) { - this.core.$element.off(handler, this.handlers[handler]); - } - for (property in Object.getOwnPropertyNames(this)) { - typeof this[property] != 'function' && (this[property] = null); - } - }; - - $.fn.owlCarousel.Constructor.Plugins.Animate = Animate; - -})(window.Zepto || window.jQuery, window, document); - -/** - * Autoplay Plugin - * @version 2.3.4 - * @author Bartosz Wojciechowski - * @author Artus Kolanowski - * @author David Deutsch - * @author Tom De Caluwé - * @license The MIT License (MIT) - */ -;(function($, window, document, undefined) { - - /** - * Creates the autoplay plugin. - * @class The Autoplay Plugin - * @param {Owl} scope - The Owl Carousel - */ - var Autoplay = function(carousel) { - /** - * Reference to the core. - * @protected - * @type {Owl} - */ - this._core = carousel; - - /** - * The autoplay timeout id. - * @type {Number} - */ - this._call = null; - - /** - * Depending on the state of the plugin, this variable contains either - * the start time of the timer or the current timer value if it's - * paused. Since we start in a paused state we initialize the timer - * value. - * @type {Number} - */ - this._time = 0; - - /** - * Stores the timeout currently used. - * @type {Number} - */ - this._timeout = 0; - - /** - * Indicates whenever the autoplay is paused. - * @type {Boolean} - */ - this._paused = true; - - /** - * All event handlers. - * @protected - * @type {Object} - */ - this._handlers = { - 'changed.owl.carousel': $.proxy(function(e) { - if (e.namespace && e.property.name === 'settings') { - if (this._core.settings.autoplay) { - this.play(); - } else { - this.stop(); - } - } else if (e.namespace && e.property.name === 'position' && this._paused) { - // Reset the timer. This code is triggered when the position - // of the carousel was changed through user interaction. - this._time = 0; - } - }, this), - 'initialized.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.autoplay) { - this.play(); - } - }, this), - 'play.owl.autoplay': $.proxy(function(e, t, s) { - if (e.namespace) { - this.play(t, s); - } - }, this), - 'stop.owl.autoplay': $.proxy(function(e) { - if (e.namespace) { - this.stop(); - } - }, this), - 'mouseover.owl.autoplay': $.proxy(function() { - if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { - this.pause(); - } - }, this), - 'mouseleave.owl.autoplay': $.proxy(function() { - if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { - this.play(); - } - }, this), - 'touchstart.owl.core': $.proxy(function() { - if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { - this.pause(); - } - }, this), - 'touchend.owl.core': $.proxy(function() { - if (this._core.settings.autoplayHoverPause) { - this.play(); - } - }, this) - }; - - // register event handlers - this._core.$element.on(this._handlers); - - // set default options - this._core.options = $.extend({}, Autoplay.Defaults, this._core.options); - }; - - /** - * Default options. - * @public - */ - Autoplay.Defaults = { - autoplay: false, - autoplayTimeout: 5000, - autoplayHoverPause: false, - autoplaySpeed: false - }; - - /** - * Transition to the next slide and set a timeout for the next transition. - * @private - * @param {Number} [speed] - The animation speed for the animations. - */ - Autoplay.prototype._next = function(speed) { - this._call = window.setTimeout( - $.proxy(this._next, this, speed), - this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read() - ); - - if (this._core.is('interacting') || document.hidden) { - return; - } - this._core.next(speed || this._core.settings.autoplaySpeed); - } - - /** - * Reads the current timer value when the timer is playing. - * @public - */ - Autoplay.prototype.read = function() { - return new Date().getTime() - this._time; - }; - - /** - * Starts the autoplay. - * @public - * @param {Number} [timeout] - The interval before the next animation starts. - * @param {Number} [speed] - The animation speed for the animations. - */ - Autoplay.prototype.play = function(timeout, speed) { - var elapsed; - - if (!this._core.is('rotating')) { - this._core.enter('rotating'); - } - - timeout = timeout || this._core.settings.autoplayTimeout; - - // Calculate the elapsed time since the last transition. If the carousel - // wasn't playing this calculation will yield zero. - elapsed = Math.min(this._time % (this._timeout || timeout), timeout); - - if (this._paused) { - // Start the clock. - this._time = this.read(); - this._paused = false; - } else { - // Clear the active timeout to allow replacement. - window.clearTimeout(this._call); - } - - // Adjust the origin of the timer to match the new timeout value. - this._time += this.read() % timeout - elapsed; - - this._timeout = timeout; - this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed); - }; - - /** - * Stops the autoplay. - * @public - */ - Autoplay.prototype.stop = function() { - if (this._core.is('rotating')) { - // Reset the clock. - this._time = 0; - this._paused = true; - - window.clearTimeout(this._call); - this._core.leave('rotating'); - } - }; - - /** - * Pauses the autoplay. - * @public - */ - Autoplay.prototype.pause = function() { - if (this._core.is('rotating') && !this._paused) { - // Pause the clock. - this._time = this.read(); - this._paused = true; - - window.clearTimeout(this._call); - } - }; - - /** - * Destroys the plugin. - */ - Autoplay.prototype.destroy = function() { - var handler, property; - - this.stop(); - - for (handler in this._handlers) { - this._core.$element.off(handler, this._handlers[handler]); - } - for (property in Object.getOwnPropertyNames(this)) { - typeof this[property] != 'function' && (this[property] = null); - } - }; - - $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay; - -})(window.Zepto || window.jQuery, window, document); - -/** - * Navigation Plugin - * @version 2.3.4 - * @author Artus Kolanowski - * @author David Deutsch - * @license The MIT License (MIT) - */ -;(function($, window, document, undefined) { - 'use strict'; - - /** - * Creates the navigation plugin. - * @class The Navigation Plugin - * @param {Owl} carousel - The Owl Carousel. - */ - var Navigation = function(carousel) { - /** - * Reference to the core. - * @protected - * @type {Owl} - */ - this._core = carousel; - - /** - * Indicates whether the plugin is initialized or not. - * @protected - * @type {Boolean} - */ - this._initialized = false; - - /** - * The current paging indexes. - * @protected - * @type {Array} - */ - this._pages = []; - - /** - * All DOM elements of the user interface. - * @protected - * @type {Object} - */ - this._controls = {}; - - /** - * Markup for an indicator. - * @protected - * @type {Array.} - */ - this._templates = []; - - /** - * The carousel element. - * @type {jQuery} - */ - this.$element = this._core.$element; - - /** - * Overridden methods of the carousel. - * @protected - * @type {Object} - */ - this._overrides = { - next: this._core.next, - prev: this._core.prev, - to: this._core.to - }; - - /** - * All event handlers. - * @protected - * @type {Object} - */ - this._handlers = { - 'prepared.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.dotsData) { - this._templates.push('
' + - $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
'); - } - }, this), - 'added.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.dotsData) { - this._templates.splice(e.position, 0, this._templates.pop()); - } - }, this), - 'remove.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._core.settings.dotsData) { - this._templates.splice(e.position, 1); - } - }, this), - 'changed.owl.carousel': $.proxy(function(e) { - if (e.namespace && e.property.name == 'position') { - this.draw(); - } - }, this), - 'initialized.owl.carousel': $.proxy(function(e) { - if (e.namespace && !this._initialized) { - this._core.trigger('initialize', null, 'navigation'); - this.initialize(); - this.update(); - this.draw(); - this._initialized = true; - this._core.trigger('initialized', null, 'navigation'); - } - }, this), - 'refreshed.owl.carousel': $.proxy(function(e) { - if (e.namespace && this._initialized) { - this._core.trigger('refresh', null, 'navigation'); - this.update(); - this.draw(); - this._core.trigger('refreshed', null, 'navigation'); - } - }, this) - }; - - // set default options - this._core.options = $.extend({}, Navigation.Defaults, this._core.options); - - // register event handlers - this.$element.on(this._handlers); - }; - - /** - * Default options. - * @public - * @todo Rename `slideBy` to `navBy` - */ - Navigation.Defaults = { - nav: false, - navText: [ - '', - '' - ], - navSpeed: false, - navElement: 'button type="button" role="presentation"', - navContainer: false, - navContainerClass: 'owl-nav', - navClass: [ - 'owl-prev', - 'owl-next' - ], - slideBy: 1, - dotClass: 'owl-dot', - dotsClass: 'owl-dots', - dots: true, - dotsEach: false, - dotsData: false, - dotsSpeed: false, - dotsContainer: false - }; - - /** - * Initializes the layout of the plugin and extends the carousel. - * @protected - */ - Navigation.prototype.initialize = function() { - var override, - settings = this._core.settings; - - // create DOM structure for relative navigation - this._controls.$relative = (settings.navContainer ? $(settings.navContainer) - : $('
').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled'); - - this._controls.$previous = $('<' + settings.navElement + '>') - .addClass(settings.navClass[0]) - .html(settings.navText[0]) - .prependTo(this._controls.$relative) - .on('click', $.proxy(function(e) { - this.prev(settings.navSpeed); - }, this)); - this._controls.$next = $('<' + settings.navElement + '>') - .addClass(settings.navClass[1]) - .html(settings.navText[1]) - .appendTo(this._controls.$relative) - .on('click', $.proxy(function(e) { - this.next(settings.navSpeed); - }, this)); - - // create DOM structure for absolute navigation - if (!settings.dotsData) { - this._templates = [ $('
',trigger:"hover focus",title:"",delay:0,html:!(An={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Dn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},Nn="out",kn={HIDE:"hide"+wn,HIDDEN:"hidden"+wn,SHOW:(On="show")+wn,SHOWN:"shown"+wn,INSERTED:"inserted"+wn,CLICK:"click"+wn,FOCUSIN:"focusin"+wn,FOCUSOUT:"focusout"+wn,MOUSEENTER:"mouseenter"+wn,MOUSELEAVE:"mouseleave"+wn},xn="fade",Pn="show",Ln=".tooltip-inner",jn=".arrow",Hn="hover",Mn="focus",Fn="click",Wn="manual",Rn=function(){function i(e,t){if("undefined"==typeof Ct)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=yn(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),yn(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(yn(this.getTipElement()).hasClass(Pn))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),yn.removeData(this.element,this.constructor.DATA_KEY),yn(this.element).off(this.constructor.EVENT_KEY),yn(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&yn(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===yn(this.element).css("display"))throw new Error("Please use show on visible elements");var e=yn.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){yn(this.element).trigger(e);var n=yn.contains(this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=we.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&yn(i).addClass(xn);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:yn(document).find(this.config.container);yn(i).data(this.constructor.DATA_KEY,this),yn.contains(this.element.ownerDocument.documentElement,this.tip)||yn(i).appendTo(a),yn(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Ct(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:jn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),yn(i).addClass(Pn),"ontouchstart"in document.documentElement&&yn(document.body).children().on("mouseover",null,yn.noop);var l=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,yn(t.element).trigger(t.constructor.Event.SHOWN),e===Nn&&t._leave(null,t)};if(yn(this.tip).hasClass(xn)){var c=we.getTransitionDurationFromElement(this.tip);yn(this.tip).one(we.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},e.hide=function(e){var t=this,n=this.getTipElement(),i=yn.Event(this.constructor.Event.HIDE),r=function(){t._hoverState!==On&&n.parentNode&&n.parentNode.removeChild(n),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),yn(t.element).trigger(t.constructor.Event.HIDDEN),null!==t._popper&&t._popper.destroy(),e&&e()};if(yn(this.element).trigger(i),!i.isDefaultPrevented()){if(yn(n).removeClass(Pn),"ontouchstart"in document.documentElement&&yn(document.body).children().off("mouseover",null,yn.noop),this._activeTrigger[Fn]=!1,this._activeTrigger[Mn]=!1,this._activeTrigger[Hn]=!1,yn(this.tip).hasClass(xn)){var o=we.getTransitionDurationFromElement(n);yn(n).one(we.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){yn(this.getTipElement()).addClass(Tn+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||yn(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(yn(e.querySelectorAll(Ln)),this.getTitle()),yn(e).removeClass(xn+" "+Pn)},e.setElementContent=function(e,t){var n=this.config.html;"object"==typeof t&&(t.nodeType||t.jquery)?n?yn(t).parent().is(e)||e.empty().append(t):e.text(yn(t).text()):e[n?"html":"text"](t)},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},e._getAttachment=function(e){return An[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)yn(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==Wn){var t=e===Hn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Hn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;yn(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}yn(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||yn(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),yn(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Mn:Hn]=!0),yn(t.getTipElement()).hasClass(Pn)||t._hoverState===On?t._hoverState=On:(clearTimeout(t._timeout),t._hoverState=On,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===On&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||yn(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),yn(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Mn:Hn]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=Nn,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===Nn&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){return"number"==typeof(e=l({},this.constructor.Default,yn(this.element).data(),"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),we.typeCheckConfig(En,e,this.constructor.DefaultType),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=yn(this.getTipElement()),t=e.attr("class").match(Sn);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(yn(e).removeClass(xn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=yn(this).data(bn),t="object"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),yn(this).data(bn,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return In}},{key:"NAME",get:function(){return En}},{key:"DATA_KEY",get:function(){return bn}},{key:"Event",get:function(){return kn}},{key:"EVENT_KEY",get:function(){return wn}},{key:"DefaultType",get:function(){return Dn}}]),i}(),yn.fn[En]=Rn._jQueryInterface,yn.fn[En].Constructor=Rn,yn.fn[En].noConflict=function(){return yn.fn[En]=Cn,Rn._jQueryInterface},Rn),Qi=(Bn="popover",Kn="."+(qn="bs.popover"),Qn=(Un=t).fn[Bn],Yn="bs-popover",Vn=new RegExp("(^|\\s)"+Yn+"\\S+","g"),zn=l({},Ki.Default,{placement:"right",trigger:"click",content:"",template:''}),Gn=l({},Ki.DefaultType,{content:"(string|element|function)"}),Jn="fade",Xn=".popover-header",$n=".popover-body",ei={HIDE:"hide"+Kn,HIDDEN:"hidden"+Kn,SHOW:(Zn="show")+Kn,SHOWN:"shown"+Kn,INSERTED:"inserted"+Kn,CLICK:"click"+Kn,FOCUSIN:"focusin"+Kn,FOCUSOUT:"focusout"+Kn,MOUSEENTER:"mouseenter"+Kn,MOUSELEAVE:"mouseleave"+Kn},ti=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(e){Un(this.getTipElement()).addClass(Yn+"-"+e)},r.getTipElement=function(){return this.tip=this.tip||Un(this.config.template)[0],this.tip},r.setContent=function(){var e=Un(this.getTipElement());this.setElementContent(e.find(Xn),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find($n),t),e.removeClass(Jn+" "+Zn)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var e=Un(this.getTipElement()),t=e.attr("class").match(Vn);null!==t&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||e= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => elem.getAttribute('data-parent') === this._config.parent)\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for
elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
' +\n '
' +\n '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both
',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:''}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => elem.getAttribute('data-parent') === this._config.parent)\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
' +\n '
' +\n '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both