Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen, wie z.B. unser Social Media Profile auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO).
+
+
Sebastian Holstein
+Barsener Str. 41
+59075 Hamm
+Germany
+
+info@sebastian-holstein.de
- Bestandsdaten (z.B., Namen, Adressen).
+- Kontaktdaten (z.B., E-Mail, Telefonnummern).
+- Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos).
+- Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).
+- Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen).
+
Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch als „Nutzer“).
+
- Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte.
+- Beantwortung von Kontaktanfragen und Kommunikation mit Nutzern.
+- Sicherheitsmaßnahmen.
+- Reichweitenmessung/Marketing
+
„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.
+
+„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.
+
+„Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.
+
+„Profiling“ jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere um Aspekte bezüglich Arbeitsleistung, wirtschaftliche Lage, Gesundheit, persönliche Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.
+
+Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.
+
+„Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.
+
Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.
Wir treffen nach Maßgabe des Art. 32 DSGVO unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.
+
+Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe, Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw. Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen (Art. 25 DSGVO).
+
Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.).
+
+Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“ beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.
Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen (so genannte „Standardvertragsklauseln“).
Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.
+
+Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.
+
+Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu verlangen.
+
+Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.
+
+Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.
Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu widerrufen
Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.
Als „Cookies“ werden kleine Dateien bezeichnet, die auf Rechnern der Nutzer gespeichert werden. Innerhalb der Cookies können unterschiedliche Angaben gespeichert werden. Ein Cookie dient primär dazu, die Angaben zu einem Nutzer (bzw. dem Gerät auf dem das Cookie gespeichert ist) während oder auch nach seinem Besuch innerhalb eines Onlineangebotes zu speichern. Als temporäre Cookies, bzw. „Session-Cookies“ oder „transiente Cookies“, werden Cookies bezeichnet, die gelöscht werden, nachdem ein Nutzer ein Onlineangebot verlässt und seinen Browser schließt. In einem solchen Cookie kann z.B. der Inhalt eines Warenkorbs in einem Onlineshop oder ein Login-Status gespeichert werden. Als „permanent“ oder „persistent“ werden Cookies bezeichnet, die auch nach dem Schließen des Browsers gespeichert bleiben. So kann z.B. der Login-Status gespeichert werden, wenn die Nutzer diese nach mehreren Tagen aufsuchen. Ebenso können in einem solchen Cookie die Interessen der Nutzer gespeichert werden, die für Reichweitenmessung oder Marketingzwecke verwendet werden. Als „Third-Party-Cookie“ werden Cookies bezeichnet, die von anderen Anbietern als dem Verantwortlichen, der das Onlineangebot betreibt, angeboten werden (andernfalls, wenn es nur dessen Cookies sind spricht man von „First-Party Cookies“).
+
+Wir können temporäre und permanente Cookies einsetzen und klären hierüber im Rahmen unserer Datenschutzerklärung auf.
+
+Falls die Nutzer nicht möchten, dass Cookies auf ihrem Rechner gespeichert werden, werden sie gebeten die entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu Funktionseinschränkungen dieses Onlineangebotes führen.
+
+Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite http://www.aboutads.info/choices/ oder die EU-Seite http://www.youronlinechoices.com/ erklärt werden. Des Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden können.
Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen.
+
+Nach gesetzlichen Vorgaben in Deutschland, erfolgt die Aufbewahrung insbesondere für 10 Jahre gemäß §§ 147 Abs. 1 AO, 257 Abs. 1 Nr. 1 und 4, Abs. 4 HGB (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handelsbücher, für Besteuerung relevanter Unterlagen, etc.) und 6 Jahre gemäß § 257 Abs. 1 Nr. 2 und 3, Abs. 4 HGB (Handelsbriefe).
+
+Nach gesetzlichen Vorgaben in Österreich erfolgt die Aufbewahrung insbesondere für 7 J gemäß § 132 Abs. 1 BAO (Buchhaltungsunterlagen, Belege/Rechnungen, Konten, Belege, Geschäftspapiere, Aufstellung der Einnahmen und Ausgaben, etc.), für 22 Jahre im Zusammenhang mit Grundstücken und für 10 Jahre bei Unterlagen im Zusammenhang mit elektronisch erbrachten Leistungen, Telekommunikations-, Rundfunk- und Fernsehleistungen, die an Nichtunternehmer in EU-Mitgliedstaaten erbracht werden und für die der Mini-One-Stop-Shop (MOSS) in Anspruch genommen wird.
Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.
+
+Hierbei verarbeiten wir, bzw. unser Hostinganbieter Bestandsdaten, Kontaktdaten, Inhaltsdaten, Vertragsdaten, Nutzungsdaten, Meta- und Kommunikationsdaten von Kunden, Interessenten und Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).
Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.
+
+Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.
Wir unterhalten Onlinepräsenzen innerhalb sozialer Netzwerke und Plattformen, um mit den dort aktiven Kunden, Interessenten und Nutzern kommunizieren und sie dort über unsere Leistungen informieren zu können. Beim Aufruf der jeweiligen Netzwerke und Plattformen gelten die Geschäftsbedingungen und die Datenverarbeitungsrichtlinien deren jeweiligen Betreiber.
+
+Soweit nicht anders im Rahmen unserer Datenschutzerklärung angegeben, verarbeiten wir die Daten der Nutzer sofern diese mit uns innerhalb der sozialen Netzwerke und Plattformen kommunizieren, z.B. Beiträge auf unseren Onlinepräsenzen verfassen oder uns Nachrichten zusenden.
Wir setzen innerhalb unseres Onlineangebotes auf Grundlage unserer berechtigten Interessen (d.h. Interesse an der Analyse, Optimierung und wirtschaftlichem Betrieb unseres Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) Inhalts- oder Serviceangebote von Drittanbietern ein, um deren Inhalte und Services, wie z.B. Videos oder Schriftarten einzubinden (nachfolgend einheitlich bezeichnet als “Inhalte”).
+
+Dies setzt immer voraus, dass die Drittanbieter dieser Inhalte, die IP-Adresse der Nutzer wahrnehmen, da sie ohne die IP-Adresse die Inhalte nicht an deren Browser senden könnten. Die IP-Adresse ist damit für die Darstellung dieser Inhalte erforderlich. Wir bemühen uns nur solche Inhalte zu verwenden, deren jeweilige Anbieter die IP-Adresse lediglich zur Auslieferung der Inhalte verwenden. Drittanbieter können ferner so genannte Pixel-Tags (unsichtbare Grafiken, auch als "Web Beacons" bezeichnet) für statistische oder Marketingzwecke verwenden. Durch die "Pixel-Tags" können Informationen, wie der Besucherverkehr auf den Seiten dieser Website ausgewertet werden. Die pseudonymen Informationen können ferner in Cookies auf dem Gerät der Nutzer gespeichert werden und unter anderem technische Informationen zum Browser und Betriebssystem, verweisende Webseiten, Besuchszeit sowie weitere Angaben zur Nutzung unseres Onlineangebotes enthalten, als auch mit solchen Informationen aus anderen Quellen verbunden werden.
Wir binden die Videos der Plattform “YouTube” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: https://www.google.com/policies/privacy/, Opt-Out: https://adssettings.google.com/authenticated.
Wir binden die Schriftarten ("Google Fonts") des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: https://www.google.com/policies/privacy/, Opt-Out: https://adssettings.google.com/authenticated.
Wir binden die Landkarten des Dienstes “Google Maps” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Zu den verarbeiteten Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. Die Daten können in den USA verarbeitet werden. Datenschutzerklärung: https://www.google.com/policies/privacy/, Opt-Out: https://adssettings.google.com/authenticated.
Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke \ No newline at end of file diff --git a/docs/getting-started.jade b/docs/getting-started.jade deleted file mode 100644 index e8231355d..000000000 --- a/docs/getting-started.jade +++ /dev/null @@ -1,177 +0,0 @@ -include ../_includes/utils - -+section_title('Playing with angular-google-maps (AGM)', 'playing') -:marked - If you just want to play with AGM and don't want to set up a full project with NPM, you can use the following Plunker. It has all the dependencies to play with Angular 2, Typescript and of course `angular-google-maps`: - -a.button.button-icon.blue-light(href='http://plnkr.co/edit/YX7W20?p=preview') » Play with angular-google-maps on Plunker - -+section_title('Setting up a basic project structure', 'project-structure') - -.note.blue - h4.note-title Note - p.note-description - :marked - **If you're familiar with setting up Angular projects with Angular CLI & TypeScript, you can skip this part and move on to this part:** - - **[Setting up angular-google-maps (AGM)](#angular-google-maps-setup)** - -:marked - ### Installing TypeScript - `AGM` works best with [TypeScript](http://www.typescriptlang.org/) version 2+. - If you have an older version of TypeScript or haven't installed TypeScript yet, please run the following command: - -.code-highlight - pre - code.language-markup npm install -g typescript@2.1 - -:marked - ### Create an Angular CLI project - - We start by creating a project with [Angular CLI](https://cli.angular.io/). Angular CLI makes it easy to create an application that already works and allows you to follow the best practices. I you haven't installed Angular CLI yet, please run the following command first: - -.code-highlight - :marked - ```markup - npm install -g angular-cli - ``` - -:marked - Run the following commands to create a new Angular project with Angular CLI: - -.code-highlight - :marked - ```markup - ng new my-maps-project - cd my-maps-project - ``` - -+section_title('Setting up angular-google-maps', 'angular-google-maps-setup') - -:marked - ### Install angular-google-maps - - `angular-google-maps (short name: AGM)` gets shipped via the Node Package Manager (NPM). Run the following command to add it to your new project: - -.code-highlight - :marked - ```markup - npm install @angular-google-maps/core --save - ``` - -:marked - ### Setup @NgModule - Open `src/app/app.module.ts` and import the `AgmCoreModule`. - **You neeed to provide a Google Maps API key to be able to see a Map. Get an API key [here](https://developers.google.com/maps/documentation/javascript/get-api-key?hl=en#key).** - -.code-highlight - :marked - ```typescript - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule, ApplicationRef } from '@angular/core'; - import { CommonModule } from '@angular/common'; - import { FormsModule } from '@angular/forms'; - import { AppComponent } from './app.component'; - - import { AgmCoreModule } from '@angular-google-maps/core'; - - @NgModule({ - imports: [ - BrowserModule, - CommonModule, - FormsModule, - AgmCoreModule.forRoot({ - apiKey: 'YOUR_KEY' - }) - ], - providers: [], - declarations: [ AppComponent ], - bootstrap: [ AppComponent ] - }) - export class AppModule {} - ``` - -:marked - ### Extending the app component - Angular CLI already created an app component the we'll now use to create our first google map. - Open the file `src/app/app.component.ts` and modify it like below: - -.code-highlight - :marked - ```typescript - import { Component } from '@angular/core'; - - @Component({ - selector: 'app-root', - templateUrl: 'app.component.html', - styleUrls: ['app.component.css'], - }) - export class AppComponent { - title: string = 'My first AGM project'; - lat: number = 51.678418; - lng: number = 7.809007; - } - ``` - -:marked - ### Setup the template - Open the file `src/app/app.component.html` and paste the following content: - -.code-highlight - :marked - ```markup -
+import { BrowserModule } from '@angular/platform-browser';
+import { NgModule, Component } from '@angular/core';
+
+import { AgmCoreModule } from '@agm/core';
+
+@Component({
+ selector: 'app-root',
+ styles: [`
+ agm-map {
+ height: 300px;
+ }
+ `],
+ template: `
+ <agm-map [latitude]="lat" [longitude]="lng"></agm-map>
+ `
+})
+export class AppComponent {
+ lat: number = 51.678418;
+ lng: number = 7.809007;
+}
+
+@NgModule({
+ imports: [
+ BrowserModule,
+ AgmCoreModule.forRoot({
+ apiKey: 'YOUR_GOOGLE_MAPS_API_KEY'
+ })
+ ],
+ declarations: [ AppComponent ],
+ bootstrap: [ AppComponent ]
+})
+export class AppModule {}
+
+ + Contributions and Bug reports are very welcome! We accept Pull Requests on Github. +
+ +` tags are not being overridden anymore
+- More correct highlighting of code blocks inside non-`` containers:
+ highlighter now doesn't insist on replacing them with its own container and
+ just replaces the contents.
+- Small fixes in browser compatibility and heuristics.
+
+[c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x
+[html 5]: http://en.wikipedia.org/wiki/HTML5
+[ik]: http://kalnitsky.org.ua/
+
+### For developers
+
+The most significant change is the ability to include language submodes right
+under `contains` instead of defining explicit named submodes in the main array:
+
+ contains: [
+ 'string',
+ 'number',
+ {begin: '\\n', end: hljs.IMMEDIATE_RE}
+ ]
+
+This is useful for auxiliary modes needed only in one place to define parsing.
+Note that such modes often don't have `className` and hence won't generate a
+separate `` in the resulting markup. This is similar in effect to
+`noMarkup: true`. All existing languages have been refactored accordingly.
+
+Test file test.html has at last become a real test. Now it not only puts the
+detected language name under the code snippet but also tests if it matches the
+expected one. Test summary is displayed right above all language snippets.
+
+
+## CDN
+
+Fine people at [Yandex][] agreed to host highlight.js on their big fast servers.
+[Link up][l]!
+
+[yandex]: http://yandex.com/
+[l]: http://softwaremaniacs.org/soft/highlight/en/download/
+
+
+## Version 5.10 — "Paris".
+
+Though I'm on a vacation in Paris, I decided to release a new version with a
+couple of small fixes:
+
+- Tomas Vitvar discovered that TAB replacement doesn't always work when used
+ with custom markup in code
+- SQL parsing is even more rigid now and doesn't step over SmallTalk in tests
+
+
+## Version 5.9
+
+A long-awaited version is finally released.
+
+New languages:
+
+- Andrew Fedorov made a definition for Lua
+- a long-time highlight.js contributor [Peter Leonov][pl] made a definition for
+ Nginx config
+- [Vladimir Moskva][vm] made a definition for TeX
+
+[pl]: http://kung-fu-tzu.ru/
+[vm]: http://fulc.ru/
+
+Fixes for existing languages:
+
+- [Loren Segal][ls] reworked the Ruby definition and added highlighting for
+ [YARD][] inline documentation
+- the definition of SQL has become more solid and now it shouldn't be overly
+ greedy when it comes to language detection
+
+[ls]: http://gnuu.org/
+[yard]: http://yardoc.org/
+
+The highlighter has become more usable as a library allowing to do highlighting
+from initialization code of JS frameworks and in ajax methods (see.
+readme.eng.txt).
+
+Also this version drops support for the [WordPress][wp] plugin. Everyone is
+welcome to [pick up its maintenance][p] if needed.
+
+[wp]: http://wordpress.org/
+[p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_highlight.js.php
+
+
+## Version 5.8
+
+- Jan Berkel has contributed a definition for Scala. +1 to hotness!
+- All CSS-styles are rewritten to work only inside `` tags to avoid
+ conflicts with host site styles.
+
+
+## Version 5.7.
+
+Fixed escaping of quotes in VBScript strings.
+
+
+## Version 5.5
+
+This version brings a small change: now .ini-files allow digits, underscores and
+square brackets in key names.
+
+
+## Version 5.4
+
+Fixed small but upsetting bug in the packer which caused incorrect highlighting
+of explicitly specified languages. Thanks to Andrew Fedorov for precise
+diagnostics!
+
+
+## Version 5.3
+
+The version to fulfil old promises.
+
+The most significant change is that highlight.js now preserves custom user
+markup in code along with its own highlighting markup. This means that now it's
+possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the
+[initial proposal][1] and for making a proof-of-concept patch.
+
+Also in this version:
+
+- [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented
+ support for CSS @-rules and Ruby symbols.
+- Yura Zaripov has sent two styles: Brown Paper and School Book.
+- Oleg Volchkov has sent a definition for [Parser 3][p3].
+
+[1]: http://softwaremaniacs.org/forum/highlightjs/6612/
+[p3]: http://www.parser.ru/
+[vp]: http://vasily.polovnyov.ru/
+[vd]: http://dolzhenko.blogspot.com/
+
+
+## Version 5.2
+
+- at last it's possible to replace indentation TABs with something sensible
+ (e.g. 2 or 4 spaces)
+- new keywords and built-ins for 1C by Sergey Baranov
+- a couple of small fixes to Apache highlighting
+
+
+## Version 5.1
+
+This is one of those nice version consisting entirely of new and shiny
+contributions!
+
+- [Vladimir Ermakov][vooon] created highlighting for AVR Assembler
+- [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his
+ original visual style for it is now available for all highlight.js languages
+ under the name "Magula".
+- [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan
+ languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on
+ the matter.
+
+[vooon]: http://vehq.ru/about/
+[rukeba]: http://rukeba.com/
+[drake]: http://drakeguan.org/
+[ke]: http://k-evdokimenko.moikrug.ru/
+
+
+## Version 5.0
+
+The main change in the new major version of highlight.js is a mechanism for
+packing several languages along with the library itself into a single compressed
+file. Now sites using several languages will load considerably faster because
+the library won't dynamically include additional files while loading.
+
+Also this version fixes a long-standing bug with Javascript highlighting that
+couldn't distinguish between regular expressions and division operations.
+
+And as usually there were a couple of minor correctness fixes.
+
+Great thanks to all contributors! Keep using highlight.js.
+
+
+## Version 4.3
+
+This version comes with two contributions from [Jason Diamond][jd]:
+
+- language definition for C# (yes! it was a long-missed thing!)
+- Visual Studio-like highlighting style
+
+Plus there are a couple of minor bug fixes for parsing HTML and XML attributes.
+
+[jd]: http://jason.diamond.name/weblog/
+
+
+## Version 4.2
+
+The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's
+somewhat experimental meaning that for highlighting "keywords" it doesn't use
+any pre-defined set of a Lisp dialect. Instead it tries to highlight first word
+in parentheses wherever it makes sense. I'd like to ask people programming in
+Lisp to confirm if it's a good idea and send feedback to [the forum][f].
+
+Other changes:
+
+- Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic
+- [Vladimir Epifanov][voldmar] has implemented javascript style switcher for
+ test.html
+- comments now allowed inside Ruby function definition
+- [MEL][] language from [Shuen-Huei Guan][drake]
+- whitespace now allowed between `` and ``
+- better auto-detection of C++ and PHP
+- HTML allows embedded VBScript (`<% .. %>`)
+
+[f]: http://softwaremaniacs.org/forum/highlightjs/
+[voldmar]: http://voldmar.ya.ru/
+[mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language
+[drake]: http://drakeguan.org/
+
+
+## Version 4.1
+
+Languages:
+
+- Bash from Vah
+- DOS bat-files from Alexander Makarov (Sam)
+- Diff files from Vasily Polovnyov
+- Ini files from myself though initial idea was from Sam
+
+Styles:
+
+- Zenburn from Vladimir Epifanov, this is an imitation of a
+ [well-known theme for Vim][zenburn].
+- Ascetic from myself, as a realization of ideals of non-flashy highlighting:
+ just one color in only three gradations :-)
+
+In other news. [One small bug][bug] was fixed, built-in keywords were added for
+Python and C++ which improved auto-detection for the latter (it was shame that
+[my wife's blog][alenacpp] had issues with it from time to time). And lastly
+thanks go to Sam for getting rid of my stylistic comments in code that were
+getting in the way of [JSMin][].
+
+[zenburn]: http://en.wikipedia.org/wiki/Zenburn
+[alenacpp]: http://alenacpp.blogspot.com/
+[bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823
+[jsmin]: http://code.google.com/p/jsmin-php/
+
+
+## Version 4.0
+
+New major version is a result of vast refactoring and of many contributions.
+
+Visible new features:
+
+- Highlighting of embedded languages. Currently is implemented highlighting of
+ Javascript and CSS inside HTML.
+- Bundled 5 ready-made style themes!
+
+Invisible new features:
+
+- Highlight.js no longer pollutes global namespace. Only one object and one
+ function for backward compatibility.
+- Performance is further increased by about 15%.
+
+Changing of a major version number caused by a new format of language definition
+files. If you use some third-party language files they should be updated.
+
+
+## Version 3.5
+
+A very nice version in my opinion fixing a number of small bugs and slightly
+increased speed in a couple of corner cases. Thanks to everybody who reports
+bugs in he [forum][f] and by email!
+
+There is also a new language — XML. A custom XML formerly was detected as HTML
+and didn't highlight custom tags. In this version I tried to make custom XML to
+be detected and highlighted by its own rules. Which by the way include such
+things as CDATA sections and processing instructions (` ... ?>`).
+
+[f]: http://softwaremaniacs.org/forum/viewforum.php?id=6
+
+
+## Version 3.3
+
+[Vladimir Gubarkov][xonix] has provided an interesting and useful addition.
+File export.html contains a little program that shows and allows to copy and
+paste an HTML code generated by the highlighter for any code snippet. This can
+be useful in situations when one can't use the script itself on a site.
+
+
+[xonix]: http://xonixx.blogspot.com/
+
+
+## Version 3.2 consists completely of contributions:
+
+- Vladimir Gubarkov has described SmallTalk
+- Yuri Ivanov has described 1C
+- Peter Leonov has packaged the highlighter as a Firefox extension
+- Vladimir Ermakov has compiled a mod for phpBB
+
+Many thanks to you all!
+
+
+## Version 3.1
+
+Three new languages are available: Django templates, SQL and Axapta. The latter
+two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an
+SQL definition but I'd never started it be it from the ground up :-)
+
+The engine itself has got a long awaited feature of grouping keywords
+("keyword", "built-in function", "literal"). No more hacks!
+
+[1]: http://roudakov.ru/
+
+
+## Version 3.0
+
+It is major mainly because now highlight.js has grown large and has become
+modular. Now when you pass it a list of languages to highlight it will
+dynamically load into a browser only those languages.
+
+Also:
+
+- Konstantin Evdokimenko of [RibKit][] project has created a highlighting for
+ RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more
+ languages!
+- Heuristics for C++ and HTML got better.
+- I've implemented (at last) a correct handling of backslash escapes in C-like
+ languages.
+
+There is also a small backwards incompatible change in the new version. The
+function initHighlighting that was used to initialize highlighting instead of
+initHighlightingOnLoad a long time ago no longer works. If you by chance still
+use it — replace it with the new one.
+
+[RibKit]: http://ribkit.sourceforge.net/
+
+
+## Version 2.9
+
+Highlight.js is a parser, not just a couple of regular expressions. That said
+I'm glad to announce that in the new version 2.9 has support for:
+
+- in-string substitutions for Ruby -- `#{...}`
+- strings from from numeric symbol codes (like #XX) for Delphi
+
+
+## Version 2.8
+
+A maintenance release with more tuned heuristics. Fully backwards compatible.
+
+
+## Version 2.7
+
+- Nikita Ledyaev presents highlighting for VBScript, yay!
+- A couple of bugs with escaping in strings were fixed thanks to Mickle
+- Ongoing tuning of heuristics
+
+Fixed bugs were rather unpleasant so I encourage everyone to upgrade!
+
+
+## Version 2.4
+
+- Peter Leonov provides another improved highlighting for Perl
+- Javascript gets a new kind of keywords — "literals". These are the words
+ "true", "false" and "null"
+
+Also highlight.js homepage now lists sites that use the library. Feel free to
+add your site by [dropping me a message][mail] until I find the time to build a
+submit form.
+
+[mail]: mailto:Maniac@SoftwareManiacs.Org
+
+
+## Version 2.3
+
+This version fixes IE breakage in previous version. My apologies to all who have
+already downloaded that one!
+
+
+## Version 2.2
+
+- added highlighting for Javascript
+- at last fixed parsing of Delphi's escaped apostrophes in strings
+- in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in
+ Perl
+
+
+## Version 2.0
+
+- Ruby support by [Anton Kovalyov][ak]
+- speed increased by orders of magnitude due to new way of parsing
+- this same way allows now correct highlighting of keywords in some tricky
+ places (like keyword "End" at the end of Delphi classes)
+
+[ak]: http://anton.kovalyov.net/
+
+
+## Version 1.0
+
+Version 1.0 of javascript syntax highlighter is released!
+
+It's the first version available with English description. Feel free to post
+your comments and question to [highlight.js forum][forum]. And don't be afraid
+if you find there some fancy Cyrillic letters -- it's for Russian users too :-)
+
+[forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/LICENSE b/docs/themes/angular-google-maps/static/images/highlight (1)/LICENSE
new file mode 100644
index 000000000..422deb735
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2006, Ivan Sagalaev
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of highlight.js nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/README.md b/docs/themes/angular-google-maps/static/images/highlight (1)/README.md
new file mode 100644
index 000000000..9f76e6bd5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/README.md
@@ -0,0 +1,150 @@
+# Highlight.js
+
+[](https://travis-ci.org/isagalaev/highlight.js)
+
+Highlight.js is a syntax highlighter written in JavaScript. It works in
+the browser as well as on the server. It works with pretty much any
+markup, doesn’t depend on any framework and has automatic language
+detection.
+
+## Getting Started
+
+The bare minimum for using highlight.js on a web page is linking to the
+library along with one of the styles and calling
+[`initHighlightingOnLoad`][1]:
+
+```html
+
+
+
+```
+
+This will find and highlight code inside of `` tags; it tries
+to detect the language automatically. If automatic detection doesn’t
+work for you, you can specify the language in the `class` attribute:
+
+```html
+...
+```
+
+The list of supported language classes is available in the [class
+reference][2]. Classes can also be prefixed with either `language-` or
+`lang-`.
+
+To disable highlighting altogether use the `nohighlight` class:
+
+```html
+...
+```
+
+## Custom Initialization
+
+When you need a bit more control over the initialization of
+highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4]
+functions. This allows you to control *what* to highlight and *when*.
+
+Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using
+jQuery:
+
+```javascript
+$(document).ready(function() {
+ $('pre code').each(function(i, block) {
+ hljs.highlightBlock(block);
+ });
+});
+```
+
+You can use any tags instead of `` to mark up your code. If
+you don't use a container that preserve line breaks you will need to
+configure highlight.js to use the `
` tag:
+
+```javascript
+hljs.configure({useBR: true});
+
+$('div.code').each(function(i, block) {
+ hljs.highlightBlock(block);
+});
+```
+
+For other options refer to the documentation for [`configure`][4].
+
+
+## Web Workers
+
+You can run highlighting inside a web worker to avoid freezing the browser
+window while dealing with very big chunks of code.
+
+In your main script:
+
+```javascript
+addEventListener('load', function() {
+ var code = document.querySelector('#code');
+ var worker = new Worker('worker.js');
+ worker.onmessage = function(event) { code.innerHTML = event.data; }
+ worker.postMessage(code.textContent);
+})
+```
+
+In worker.js:
+
+```javascript
+onmessage = function(event) {
+ importScripts('/highlight.pack.js');
+ var result = self.hljs.highlightAuto(event.data);
+ postMessage(result.value);
+}
+```
+
+
+## Getting the Library
+
+You can get highlight.js as a hosted, or custom-build, browser script or
+as a server module. Right out of the box the browser script supports
+both AMD and CommonJS, so if you wish you can use RequireJS or
+Browserify without having to build from source. The server module also
+works perfectly fine with Browserify, but there is the option to use a
+build specific to browsers rather than something meant for a server.
+Head over to the [download page][5] for all the options.
+
+**Don't link to GitHub directly.** The library is not supposed to work straight
+from the source, it requires building. If none of the pre-packaged options
+work for you refer to the [building documentation][6].
+
+**The CDN-hosted package doesn't have all the languages.** Otherwise it'd be
+too big. If you don't see the language you need in the ["Common" section][5],
+it can be added manually:
+
+```html
+
+```
+
+**On Almond.** You need to use the optimizer to give the module a name. For
+example:
+
+```
+r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
+```
+
+
+## License
+
+Highlight.js is released under the BSD License. See [LICENSE][7] file
+for details.
+
+## Links
+
+The official site for the library is at .
+
+Further in-depth documentation for the API and other topics is at
+ .
+
+Authors and contributors are listed in the [AUTHORS.en.txt][8] file.
+
+[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
+[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
+[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
+[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
+[5]: https://highlightjs.org/download/
+[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
+[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
+[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/README.ru.md b/docs/themes/angular-google-maps/static/images/highlight (1)/README.ru.md
new file mode 100644
index 000000000..ac481d071
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/README.ru.md
@@ -0,0 +1,142 @@
+# Highlight.js
+
+Highlight.js — это инструмент для подсветки синтаксиса, написанный на JavaScript. Он работает
+и в браузере, и на сервере. Он работает с практически любой HTML разметкой, не
+зависит от каких-либо фреймворков и умеет автоматически определять язык.
+
+
+## Начало работы
+
+Минимум, что нужно сделать для использования highlight.js на веб-странице — это
+подключить библиотеку, CSS-стили и вызывать [`initHighlightingOnLoad`][1]:
+
+```html
+
+
+
+```
+
+Библиотека найдёт и раскрасит код внутри тегов ``, попытавшись
+автоматически определить язык. Когда автоопределение не срабатывает, можно явно
+указать язык в атрибуте class:
+
+```html
+...
+```
+
+Список поддерживаемых классов языков доступен в [справочнике по классам][2].
+Класс также можно предварить префиксами `language-` или `lang-`.
+
+Чтобы отключить подсветку для какого-то блока, используйте класс `nohighlight`:
+
+```html
+...
+```
+
+## Инициализация вручную
+
+Чтобы иметь чуть больше контроля за инициализацией подсветки, вы можете
+использовать функции [`highlightBlock`][3] и [`configure`][4]. Таким образом
+можно управлять тем, *что* и *когда* подсвечивать.
+
+Вот пример инициализации, эквивалентной вызову [`initHighlightingOnLoad`][1], но
+с использованием jQuery:
+
+```javascript
+$(document).ready(function() {
+ $('pre code').each(function(i, block) {
+ hljs.highlightBlock(block);
+ });
+});
+```
+
+Вы можете использовать любые теги разметки вместо ``. Если
+используете контейнер, не сохраняющий переводы строк, вам нужно сказать
+highlight.js использовать для них тег `
`:
+
+```javascript
+hljs.configure({useBR: true});
+
+$('div.code').each(function(i, block) {
+ hljs.highlightBlock(block);
+});
+```
+
+Другие опции можно найти в документации функции [`configure`][4].
+
+
+## Web Workers
+
+Подсветку можно запустить внутри web worker'а, чтобы окно
+браузера не подтормаживало при работе с большими кусками кода.
+
+В основном скрипте:
+
+```javascript
+addEventListener('load', function() {
+ var code = document.querySelector('#code');
+ var worker = new Worker('worker.js');
+ worker.onmessage = function(event) { code.innerHTML = event.data; }
+ worker.postMessage(code.textContent);
+})
+```
+
+В worker.js:
+
+```javascript
+onmessage = function(event) {
+ importScripts('/highlight.pack.js');
+ var result = self.hljs.highlightAuto(event.data);
+ postMessage(result.value);
+}
+```
+
+
+## Установка библиотеки
+
+Highlight.js можно использовать в браузере прямо с CDN хостинга или скачать
+индивидуальную сборку, а также установив модуль на сервере. На
+[странице загрузки][5] подробно описаны все варианты.
+
+**Не подключайте GitHub напрямую.** Библиотека не предназначена для
+использования в виде исходного кода, а требует отдельной сборки. Если вам не
+подходит ни один из готовых вариантов, читайте [документацию по сборке][6].
+
+**Файл на CDN содержит не все языки.** Иначе он будет слишком большого размера.
+Если нужного вам языка нет в [категории "Common"][5], можно дообавить его
+вручную:
+
+```html
+
+```
+
+**Про Almond.** Нужно задать имя модуля в оптимизаторе, например:
+
+```
+r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
+```
+
+
+## Лицензия
+
+Highlight.js распространяется под лицензией BSD. Подробнее читайте файл
+[LICENSE][7].
+
+
+## Ссылки
+
+Официальный сайт билиотеки расположен по адресу .
+
+Более подробная документация по API и другим темам расположена на
+ .
+
+Авторы и контрибьюторы перечислены в файле [AUTHORS.ru.txt][8] file.
+
+[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
+[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
+[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
+[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
+[5]: https://highlightjs.org/download/
+[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
+[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
+[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.ru.txt
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/highlight.pack.js b/docs/themes/angular-google-maps/static/images/highlight (1)/highlight.pack.js
new file mode 100644
index 000000000..5369bcc09
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/highlight.pack.js
@@ -0,0 +1,2 @@
+/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */
+!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){s+=""+t(e)+">"}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"
":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/
/g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C=" ",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l="[>?]>",o="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+l+"|"+o+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:a+r+":"},{b:a+'"'+r+'":'},{b:a+"'"+r+"':"}]},c={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},l={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,c]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:l.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:b,k:{literal:b}},e.CNM,l]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/,r:0,c:[{cN:"attr",b:e,r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b:/,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("typescript",function(e){var r={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"};return{aliases:["ts"],k:r,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+e.IR+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:e.IR},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:["self",e.CLCM,e.CBCM]}]}]}],r:0},{cN:"function",b:"function",e:/[\{;]/,eE:!0,k:r,c:["self",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/%/,r:0},{bK:"constructor",e:/\{/,eE:!0,c:["self",{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}]},{b:/module\./,k:{built_in:"module"},r:0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("java",function(e){var a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",t=a+"(<"+a+"(\\s*,\\s*"+a+")*>)?",r="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:s,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});
\ No newline at end of file
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/agate.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/agate.css
new file mode 100644
index 000000000..8d64547c5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/agate.css
@@ -0,0 +1,108 @@
+/*!
+ * Agate by Taufik Nurrohman
+ * ----------------------------------------------------
+ *
+ * #ade5fc
+ * #a2fca2
+ * #c6b4f0
+ * #d36363
+ * #fcc28c
+ * #fc9b9b
+ * #ffa
+ * #fff
+ * #333
+ * #62c8f3
+ * #888
+ *
+ */
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #333;
+ color: white;
+}
+
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-code,
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-tag {
+ color: #62c8f3;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ade5fc;
+}
+
+.hljs-string,
+.hljs-bullet {
+ color: #a2fca2;
+}
+
+.hljs-type,
+.hljs-title,
+.hljs-section,
+.hljs-attribute,
+.hljs-quote,
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #ffa;
+}
+
+.hljs-number,
+.hljs-symbol,
+.hljs-bullet {
+ color: #d36363;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color: #fcc28c;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-code {
+ color: #888;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #c6b4f0;
+}
+
+.hljs-meta {
+ color: #fc9b9b;
+}
+
+.hljs-deletion {
+ background-color: #fc9b9b;
+ color: #333;
+}
+
+.hljs-addition {
+ background-color: #a2fca2;
+ color: #333;
+}
+
+.hljs a {
+ color: inherit;
+}
+
+.hljs a:focus,
+.hljs a:hover {
+ color: inherit;
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/androidstudio.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/androidstudio.css
new file mode 100644
index 000000000..bc8e473b5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/androidstudio.css
@@ -0,0 +1,66 @@
+/*
+Date: 24 Fev 2015
+Author: Pedro Oliveira
+*/
+
+.hljs {
+ color: #a9b7c6;
+ background: #282b2e;
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+}
+
+.hljs-number,
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet {
+ color: #6897BB;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-deletion {
+ color: #cc7832;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link {
+ color: #629755;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #808080;
+}
+
+.hljs-meta {
+ color: #bbb529;
+}
+
+.hljs-string,
+.hljs-attribute,
+.hljs-addition {
+ color: #6A8759;
+}
+
+.hljs-section,
+.hljs-title,
+.hljs-type {
+ color: #ffc66d;
+}
+
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #e8bf6a;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/arduino-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/arduino-light.css
new file mode 100644
index 000000000..4b8b7fd3c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/arduino-light.css
@@ -0,0 +1,88 @@
+/*
+
+Arduino® Light Theme - Stefania Mellai
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #FFFFFF;
+}
+
+.hljs,
+.hljs-subst {
+ color: #434f54;
+}
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-doctag,
+.hljs-name {
+ color: #00979D;
+}
+
+.hljs-built_in,
+.hljs-literal,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+ color: #D35400;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #00979D;
+}
+
+.hljs-type,
+.hljs-string,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+ color: #005C5F;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #880000;
+ font-weight: bold;
+}
+
+.hljs-comment {
+ color: rgba(149,165,166,.8);
+}
+
+.hljs-meta-keyword {
+ color: #728E00;
+}
+
+.hljs-meta {
+ color: #728E00;
+ color: #434f54;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-function {
+ color: #728E00;
+}
+
+.hljs-number {
+ color: #8A7B52;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/arta.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/arta.css
new file mode 100644
index 000000000..75ef3a9e5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/arta.css
@@ -0,0 +1,73 @@
+/*
+Date: 17.V.2011
+Author: pumbur
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #222;
+}
+
+.hljs,
+.hljs-subst {
+ color: #aaa;
+}
+
+.hljs-section {
+ color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+ color: #444;
+}
+
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-regexp {
+ color: #ffcc33;
+}
+
+.hljs-number,
+.hljs-addition {
+ color: #00cc66;
+}
+
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-link {
+ color: #32aaee;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #6644aa;
+}
+
+.hljs-title,
+.hljs-variable,
+.hljs-deletion,
+.hljs-template-tag {
+ color: #bb1166;
+}
+
+.hljs-section,
+.hljs-doctag,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ascetic.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ascetic.css
new file mode 100644
index 000000000..48397e889
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ascetic.css
@@ -0,0 +1,45 @@
+/*
+
+Original style from softwaremaniacs.org (c) Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: white;
+ color: black;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-section,
+.hljs-addition,
+.hljs-attribute,
+.hljs-link {
+ color: #888;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta,
+.hljs-deletion {
+ color: #ccc;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-name,
+.hljs-type,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-cave-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-cave-dark.css
new file mode 100644
index 000000000..65428f3b1
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-cave-dark.css
@@ -0,0 +1,83 @@
+/* Base16 Atelier Cave Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Cave Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7e7887;
+}
+
+/* Atelier-Cave Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-regexp,
+.hljs-link,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #be4678;
+}
+
+/* Atelier-Cave Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #aa573c;
+}
+
+/* Atelier-Cave Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #2a9292;
+}
+
+/* Atelier-Cave Blue */
+.hljs-title,
+.hljs-section {
+ color: #576ddb;
+}
+
+/* Atelier-Cave Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #955ae7;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #19171c;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #be4678;
+}
+
+.hljs-addition {
+ background-color: #2a9292;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #19171c;
+ color: #8b8792;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-cave-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-cave-light.css
new file mode 100644
index 000000000..b419f9fd8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-cave-light.css
@@ -0,0 +1,85 @@
+/* Base16 Atelier Cave Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Cave Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #655f6d;
+}
+
+/* Atelier-Cave Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #be4678;
+}
+
+/* Atelier-Cave Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #aa573c;
+}
+
+/* Atelier-Cave Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #2a9292;
+}
+
+/* Atelier-Cave Blue */
+.hljs-title,
+.hljs-section {
+ color: #576ddb;
+}
+
+/* Atelier-Cave Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #955ae7;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #19171c;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #be4678;
+}
+
+.hljs-addition {
+ background-color: #2a9292;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #efecf4;
+ color: #585260;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-dune-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-dune-dark.css
new file mode 100644
index 000000000..1684f5225
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-dune-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Dune Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Dune Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #999580;
+}
+
+/* Atelier-Dune Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d73737;
+}
+
+/* Atelier-Dune Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b65611;
+}
+
+/* Atelier-Dune Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #60ac39;
+}
+
+/* Atelier-Dune Blue */
+.hljs-title,
+.hljs-section {
+ color: #6684e1;
+}
+
+/* Atelier-Dune Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b854d4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #20201d;
+ color: #a6a28c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-dune-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-dune-light.css
new file mode 100644
index 000000000..547719de8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-dune-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Dune Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Dune Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7d7a68;
+}
+
+/* Atelier-Dune Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d73737;
+}
+
+/* Atelier-Dune Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b65611;
+}
+
+/* Atelier-Dune Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #60ac39;
+}
+
+/* Atelier-Dune Blue */
+.hljs-title,
+.hljs-section {
+ color: #6684e1;
+}
+
+/* Atelier-Dune Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b854d4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #fefbec;
+ color: #6e6b5e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-estuary-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-estuary-dark.css
new file mode 100644
index 000000000..a5e507187
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-estuary-dark.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Estuary Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Estuary Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #878573;
+}
+
+/* Atelier-Estuary Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ba6236;
+}
+
+/* Atelier-Estuary Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #ae7313;
+}
+
+/* Atelier-Estuary Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7d9726;
+}
+
+/* Atelier-Estuary Blue */
+.hljs-title,
+.hljs-section {
+ color: #36a166;
+}
+
+/* Atelier-Estuary Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #5f9182;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #22221b;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ba6236;
+}
+
+.hljs-addition {
+ background-color: #7d9726;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #22221b;
+ color: #929181;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-estuary-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-estuary-light.css
new file mode 100644
index 000000000..1daee5d98
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-estuary-light.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Estuary Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Estuary Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #6c6b5a;
+}
+
+/* Atelier-Estuary Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ba6236;
+}
+
+/* Atelier-Estuary Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #ae7313;
+}
+
+/* Atelier-Estuary Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7d9726;
+}
+
+/* Atelier-Estuary Blue */
+.hljs-title,
+.hljs-section {
+ color: #36a166;
+}
+
+/* Atelier-Estuary Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #5f9182;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #22221b;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ba6236;
+}
+
+.hljs-addition {
+ background-color: #7d9726;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f4f3ec;
+ color: #5f5e4e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-forest-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-forest-dark.css
new file mode 100644
index 000000000..0ef4fae31
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-forest-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Forest Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Forest Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #9c9491;
+}
+
+/* Atelier-Forest Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #f22c40;
+}
+
+/* Atelier-Forest Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #df5320;
+}
+
+/* Atelier-Forest Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7b9726;
+}
+
+/* Atelier-Forest Blue */
+.hljs-title,
+.hljs-section {
+ color: #407ee7;
+}
+
+/* Atelier-Forest Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6666ea;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1b1918;
+ color: #a8a19f;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-forest-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-forest-light.css
new file mode 100644
index 000000000..bbedde18a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-forest-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Forest Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Forest Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #766e6b;
+}
+
+/* Atelier-Forest Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #f22c40;
+}
+
+/* Atelier-Forest Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #df5320;
+}
+
+/* Atelier-Forest Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7b9726;
+}
+
+/* Atelier-Forest Blue */
+.hljs-title,
+.hljs-section {
+ color: #407ee7;
+}
+
+/* Atelier-Forest Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6666ea;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f1efee;
+ color: #68615e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-heath-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-heath-dark.css
new file mode 100644
index 000000000..fe01ff721
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-heath-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Heath Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Heath Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #9e8f9e;
+}
+
+/* Atelier-Heath Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca402b;
+}
+
+/* Atelier-Heath Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #a65926;
+}
+
+/* Atelier-Heath Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #918b3b;
+}
+
+/* Atelier-Heath Blue */
+.hljs-title,
+.hljs-section {
+ color: #516aec;
+}
+
+/* Atelier-Heath Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #7b59c0;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1b181b;
+ color: #ab9bab;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-heath-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-heath-light.css
new file mode 100644
index 000000000..ee43786d1
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-heath-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Heath Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Heath Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #776977;
+}
+
+/* Atelier-Heath Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca402b;
+}
+
+/* Atelier-Heath Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #a65926;
+}
+
+/* Atelier-Heath Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #918b3b;
+}
+
+/* Atelier-Heath Blue */
+.hljs-title,
+.hljs-section {
+ color: #516aec;
+}
+
+/* Atelier-Heath Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #7b59c0;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f7f3f7;
+ color: #695d69;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-lakeside-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-lakeside-dark.css
new file mode 100644
index 000000000..a937d3bf5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-lakeside-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Lakeside Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Lakeside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7195a8;
+}
+
+/* Atelier-Lakeside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d22d72;
+}
+
+/* Atelier-Lakeside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #935c25;
+}
+
+/* Atelier-Lakeside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #568c3b;
+}
+
+/* Atelier-Lakeside Blue */
+.hljs-title,
+.hljs-section {
+ color: #257fad;
+}
+
+/* Atelier-Lakeside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6b6bb8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #161b1d;
+ color: #7ea2b4;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-lakeside-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-lakeside-light.css
new file mode 100644
index 000000000..6c7e8f9ef
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-lakeside-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Lakeside Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Lakeside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #5a7b8c;
+}
+
+/* Atelier-Lakeside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d22d72;
+}
+
+/* Atelier-Lakeside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #935c25;
+}
+
+/* Atelier-Lakeside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #568c3b;
+}
+
+/* Atelier-Lakeside Blue */
+.hljs-title,
+.hljs-section {
+ color: #257fad;
+}
+
+/* Atelier-Lakeside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6b6bb8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #ebf8ff;
+ color: #516d7b;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-plateau-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-plateau-dark.css
new file mode 100644
index 000000000..3bb052693
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-plateau-dark.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Plateau Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Plateau Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7e7777;
+}
+
+/* Atelier-Plateau Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca4949;
+}
+
+/* Atelier-Plateau Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b45a3c;
+}
+
+/* Atelier-Plateau Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #4b8b8b;
+}
+
+/* Atelier-Plateau Blue */
+.hljs-title,
+.hljs-section {
+ color: #7272ca;
+}
+
+/* Atelier-Plateau Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #8464c4;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #1b1818;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ca4949;
+}
+
+.hljs-addition {
+ background-color: #4b8b8b;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1b1818;
+ color: #8a8585;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-plateau-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-plateau-light.css
new file mode 100644
index 000000000..5f0222bec
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-plateau-light.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Plateau Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Plateau Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #655d5d;
+}
+
+/* Atelier-Plateau Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca4949;
+}
+
+/* Atelier-Plateau Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b45a3c;
+}
+
+/* Atelier-Plateau Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #4b8b8b;
+}
+
+/* Atelier-Plateau Blue */
+.hljs-title,
+.hljs-section {
+ color: #7272ca;
+}
+
+/* Atelier-Plateau Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #8464c4;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #1b1818;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ca4949;
+}
+
+.hljs-addition {
+ background-color: #4b8b8b;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f4ecec;
+ color: #585050;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-savanna-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-savanna-dark.css
new file mode 100644
index 000000000..38f831431
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-savanna-dark.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Savanna Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Savanna Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #78877d;
+}
+
+/* Atelier-Savanna Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #b16139;
+}
+
+/* Atelier-Savanna Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #9f713c;
+}
+
+/* Atelier-Savanna Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #489963;
+}
+
+/* Atelier-Savanna Blue */
+.hljs-title,
+.hljs-section {
+ color: #478c90;
+}
+
+/* Atelier-Savanna Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #55859b;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #171c19;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #b16139;
+}
+
+.hljs-addition {
+ background-color: #489963;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #171c19;
+ color: #87928a;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-savanna-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-savanna-light.css
new file mode 100644
index 000000000..1ccd7c685
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-savanna-light.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Savanna Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Savanna Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #5f6d64;
+}
+
+/* Atelier-Savanna Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #b16139;
+}
+
+/* Atelier-Savanna Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #9f713c;
+}
+
+/* Atelier-Savanna Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #489963;
+}
+
+/* Atelier-Savanna Blue */
+.hljs-title,
+.hljs-section {
+ color: #478c90;
+}
+
+/* Atelier-Savanna Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #55859b;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #171c19;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #b16139;
+}
+
+.hljs-addition {
+ background-color: #489963;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #ecf4ee;
+ color: #526057;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-seaside-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-seaside-dark.css
new file mode 100644
index 000000000..df29949c6
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-seaside-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Seaside Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Seaside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #809980;
+}
+
+/* Atelier-Seaside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #e6193c;
+}
+
+/* Atelier-Seaside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #87711d;
+}
+
+/* Atelier-Seaside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #29a329;
+}
+
+/* Atelier-Seaside Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d62f5;
+}
+
+/* Atelier-Seaside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #ad2bee;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #131513;
+ color: #8ca68c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-seaside-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-seaside-light.css
new file mode 100644
index 000000000..9d960f29f
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-seaside-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Seaside Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Seaside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #687d68;
+}
+
+/* Atelier-Seaside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #e6193c;
+}
+
+/* Atelier-Seaside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #87711d;
+}
+
+/* Atelier-Seaside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #29a329;
+}
+
+/* Atelier-Seaside Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d62f5;
+}
+
+/* Atelier-Seaside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #ad2bee;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f4fbf4;
+ color: #5e6e5e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-sulphurpool-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-sulphurpool-dark.css
new file mode 100644
index 000000000..c2ab7938d
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-sulphurpool-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Sulphurpool Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Sulphurpool Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #898ea4;
+}
+
+/* Atelier-Sulphurpool Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #c94922;
+}
+
+/* Atelier-Sulphurpool Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #c76b29;
+}
+
+/* Atelier-Sulphurpool Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #ac9739;
+}
+
+/* Atelier-Sulphurpool Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d8fd1;
+}
+
+/* Atelier-Sulphurpool Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6679cc;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #202746;
+ color: #979db4;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-sulphurpool-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-sulphurpool-light.css
new file mode 100644
index 000000000..96c47d086
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atelier-sulphurpool-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Sulphurpool Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Sulphurpool Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #6b7394;
+}
+
+/* Atelier-Sulphurpool Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #c94922;
+}
+
+/* Atelier-Sulphurpool Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #c76b29;
+}
+
+/* Atelier-Sulphurpool Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #ac9739;
+}
+
+/* Atelier-Sulphurpool Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d8fd1;
+}
+
+/* Atelier-Sulphurpool Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6679cc;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f5f7ff;
+ color: #5e6687;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atom-one-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atom-one-dark.css
new file mode 100644
index 000000000..1616aafe3
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atom-one-dark.css
@@ -0,0 +1,96 @@
+/*
+
+Atom One Dark by Daniel Gamage
+Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
+
+base: #282c34
+mono-1: #abb2bf
+mono-2: #818896
+mono-3: #5c6370
+hue-1: #56b6c2
+hue-2: #61aeee
+hue-3: #c678dd
+hue-4: #98c379
+hue-5: #e06c75
+hue-5-2: #be5046
+hue-6: #d19a66
+hue-6-2: #e6c07b
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #abb2bf;
+ background: #282c34;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #5c6370;
+ font-style: italic;
+}
+
+.hljs-doctag,
+.hljs-keyword,
+.hljs-formula {
+ color: #c678dd;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-selector-tag,
+.hljs-deletion,
+.hljs-subst {
+ color: #e06c75;
+}
+
+.hljs-literal {
+ color: #56b6c2;
+}
+
+.hljs-string,
+.hljs-regexp,
+.hljs-addition,
+.hljs-attribute,
+.hljs-meta-string {
+ color: #98c379;
+}
+
+.hljs-built_in,
+.hljs-class .hljs-title {
+ color: #e6c07b;
+}
+
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-type,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-number {
+ color: #d19a66;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-meta,
+.hljs-selector-id,
+.hljs-title {
+ color: #61aeee;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atom-one-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atom-one-light.css
new file mode 100644
index 000000000..d5bd1d2a9
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/atom-one-light.css
@@ -0,0 +1,96 @@
+/*
+
+Atom One Light by Daniel Gamage
+Original One Light Syntax theme from https://github.com/atom/one-light-syntax
+
+base: #fafafa
+mono-1: #383a42
+mono-2: #686b77
+mono-3: #a0a1a7
+hue-1: #0184bb
+hue-2: #4078f2
+hue-3: #a626a4
+hue-4: #50a14f
+hue-5: #e45649
+hue-5-2: #c91243
+hue-6: #986801
+hue-6-2: #c18401
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #383a42;
+ background: #fafafa;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #a0a1a7;
+ font-style: italic;
+}
+
+.hljs-doctag,
+.hljs-keyword,
+.hljs-formula {
+ color: #a626a4;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-selector-tag,
+.hljs-deletion,
+.hljs-subst {
+ color: #e45649;
+}
+
+.hljs-literal {
+ color: #0184bb;
+}
+
+.hljs-string,
+.hljs-regexp,
+.hljs-addition,
+.hljs-attribute,
+.hljs-meta-string {
+ color: #50a14f;
+}
+
+.hljs-built_in,
+.hljs-class .hljs-title {
+ color: #c18401;
+}
+
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-type,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-number {
+ color: #986801;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-meta,
+.hljs-selector-id,
+.hljs-title {
+ color: #4078f2;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/brown-paper.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/brown-paper.css
new file mode 100644
index 000000000..f0197b924
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/brown-paper.css
@@ -0,0 +1,64 @@
+/*
+
+Brown Paper style from goldblog.com.ua (c) Zaripov Yura
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background:#b7a68e url(./brown-papersq.png);
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color:#005599;
+ font-weight:bold;
+}
+
+.hljs,
+.hljs-subst {
+ color: #363c69;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-link,
+.hljs-name {
+ color: #2c009f;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta,
+.hljs-deletion {
+ color: #802022;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/brown-papersq.png b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/brown-papersq.png
new file mode 100644
index 000000000..3813903db
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/brown-papersq.png differ
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/codepen-embed.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/codepen-embed.css
new file mode 100644
index 000000000..195c4a078
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/codepen-embed.css
@@ -0,0 +1,60 @@
+/*
+ codepen.io Embed Theme
+ Author: Justin Perry
+ Original theme - https://github.com/chriskempson/tomorrow-theme
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #222;
+ color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #777;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-regexp,
+.hljs-meta,
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-params,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-deletion {
+ color: #ab875d;
+}
+
+.hljs-section,
+.hljs-title,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-type,
+.hljs-attribute {
+ color: #9b869b;
+}
+
+.hljs-string,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-addition {
+ color: #8f9c6c;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/color-brewer.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/color-brewer.css
new file mode 100644
index 000000000..7934d986a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/color-brewer.css
@@ -0,0 +1,71 @@
+/*
+
+Colorbrewer theme
+Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock
+Ported by Fabrício Tavares de Oliveira
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fff;
+}
+
+.hljs,
+.hljs-subst {
+ color: #000;
+}
+
+.hljs-string,
+.hljs-meta,
+.hljs-symbol,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+ color: #756bb1;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #636363;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-bullet,
+.hljs-link {
+ color: #31a354;
+}
+
+.hljs-deletion,
+.hljs-variable {
+ color: #88f;
+}
+
+
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-doctag,
+.hljs-type,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-strong {
+ color: #3182bd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-attribute {
+ color: #e6550d;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/darcula.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/darcula.css
new file mode 100644
index 000000000..be182d0b5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/darcula.css
@@ -0,0 +1,77 @@
+/*
+
+Darcula color scheme from the JetBrains family of IDEs
+
+*/
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #2b2b2b;
+}
+
+.hljs {
+ color: #bababa;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-link,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal {
+ color: #6896ba;
+}
+
+.hljs-code,
+.hljs-selector-class {
+ color: #a6e22e;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-attribute,
+.hljs-name,
+.hljs-variable {
+ color: #cb7832;
+}
+
+.hljs-params {
+ color: #b9b9b9;
+}
+
+.hljs-string {
+ color: #6a8759;
+}
+
+.hljs-subst,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-symbol,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+ color: #e0c46c;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-meta {
+ color: #7f7f7f;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/dark.css
new file mode 100644
index 000000000..b4724f5f5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/dark.css
@@ -0,0 +1,63 @@
+/*
+
+Dark style from softwaremaniacs.org (c) Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #444;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-section,
+.hljs-link {
+ color: white;
+}
+
+.hljs,
+.hljs-subst {
+ color: #ddd;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-name,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #d88;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #777;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/darkula.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/darkula.css
new file mode 100644
index 000000000..f4646c3c5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/darkula.css
@@ -0,0 +1,6 @@
+/*
+ Deprecated due to a typo in the name and left here for compatibility purpose only.
+ Please use darcula.css instead.
+*/
+
+@import url('darcula.css');
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/default.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/default.css
new file mode 100644
index 000000000..f1bfade31
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/default.css
@@ -0,0 +1,99 @@
+/*
+
+Original highlight.js style (c) Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #F0F0F0;
+}
+
+
+/* Base color: saturation 0; */
+
+.hljs,
+.hljs-subst {
+ color: #444;
+}
+
+.hljs-comment {
+ color: #888888;
+}
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-meta-keyword,
+.hljs-doctag,
+.hljs-name {
+ font-weight: bold;
+}
+
+
+/* User color: hue: 0 */
+
+.hljs-type,
+.hljs-string,
+.hljs-number,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+ color: #880000;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #880000;
+ font-weight: bold;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #BC6060;
+}
+
+
+/* Language color: hue: 90; */
+
+.hljs-literal {
+ color: #78A960;
+}
+
+.hljs-built_in,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+ color: #397300;
+}
+
+
+/* Meta color: hue: 200 */
+
+.hljs-meta {
+ color: #1f7199;
+}
+
+.hljs-meta-string {
+ color: #4d99bf;
+}
+
+
+/* Misc effects */
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/docco.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/docco.css
new file mode 100644
index 000000000..db366be37
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/docco.css
@@ -0,0 +1,97 @@
+/*
+Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars)
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #000;
+ background: #f8f8ff;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #408080;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-subst {
+ color: #954121;
+}
+
+.hljs-number {
+ color: #40a070;
+}
+
+.hljs-string,
+.hljs-doctag {
+ color: #219161;
+}
+
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-section,
+.hljs-type {
+ color: #19469d;
+}
+
+.hljs-params {
+ color: #00f;
+}
+
+.hljs-title {
+ color: #458;
+ font-weight: bold;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-attribute {
+ color: #000080;
+ font-weight: normal;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #008080;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #b68;
+}
+
+.hljs-symbol,
+.hljs-bullet {
+ color: #990073;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #0086b3;
+}
+
+.hljs-meta {
+ color: #999;
+ font-weight: bold;
+}
+
+.hljs-deletion {
+ background: #fdd;
+}
+
+.hljs-addition {
+ background: #dfd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/dracula.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/dracula.css
new file mode 100644
index 000000000..d591db680
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/dracula.css
@@ -0,0 +1,76 @@
+/*
+
+Dracula Theme v1.2.0
+
+https://github.com/zenorocha/dracula-theme
+
+Copyright 2015, All rights reserved
+
+Code licensed under the MIT license
+http://zenorocha.mit-license.org
+
+@author Éverton Ribeiro
+@author Zeno Rocha
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #282a36;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-section,
+.hljs-link {
+ color: #8be9fd;
+}
+
+.hljs-function .hljs-keyword {
+ color: #ff79c6;
+}
+
+.hljs,
+.hljs-subst {
+ color: #f8f8f2;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-name,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #f1fa8c;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #6272a4;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/far.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/far.css
new file mode 100644
index 000000000..2b3f87b56
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/far.css
@@ -0,0 +1,71 @@
+/*
+
+FAR Style (c) MajestiC
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000080;
+}
+
+.hljs,
+.hljs-subst {
+ color: #0ff;
+}
+
+.hljs-string,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+ color: #ff0;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-variable {
+ color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-doctag,
+.hljs-deletion {
+ color: #888;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-link {
+ color: #0f0;
+}
+
+.hljs-meta {
+ color: #008080;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/foundation.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/foundation.css
new file mode 100644
index 000000000..f1fe64b37
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/foundation.css
@@ -0,0 +1,88 @@
+/*
+Description: Foundation 4 docs style for highlight.js
+Author: Dan Allen
+Website: http://foundation.zurb.com/docs/
+Version: 1.0
+Date: 2013-04-02
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #eee; color: black;
+}
+
+.hljs-link,
+.hljs-emphasis,
+.hljs-attribute,
+.hljs-addition {
+ color: #070;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong,
+.hljs-string,
+.hljs-deletion {
+ color: #d14;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-quote,
+.hljs-comment {
+ color: #998;
+ font-style: italic;
+}
+
+.hljs-section,
+.hljs-title {
+ color: #900;
+}
+
+.hljs-class .hljs-title,
+.hljs-type {
+ color: #458;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #336699;
+}
+
+.hljs-bullet {
+ color: #997700;
+}
+
+.hljs-meta {
+ color: #3344bb;
+}
+
+.hljs-code,
+.hljs-number,
+.hljs-literal,
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #099;
+}
+
+.hljs-regexp {
+ background-color: #fff0ff;
+ color: #880088;
+}
+
+.hljs-symbol {
+ color: #990073;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #007700;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/github-gist.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/github-gist.css
new file mode 100644
index 000000000..155f0b916
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/github-gist.css
@@ -0,0 +1,71 @@
+/**
+ * GitHub Gist Theme
+ * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
+ */
+
+.hljs {
+ display: block;
+ background: white;
+ padding: 0.5em;
+ color: #333333;
+ overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+ color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+ color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+ color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+ color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+ color: #63a35c;
+}
+
+.hljs-tag {
+ color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #795da3;
+}
+
+.hljs-addition {
+ color: #55a532;
+ background-color: #eaffea;
+}
+
+.hljs-deletion {
+ color: #bd2c00;
+ background-color: #ffecec;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/github.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/github.css
new file mode 100644
index 000000000..791932b87
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/github.css
@@ -0,0 +1,99 @@
+/*
+
+github.com style (c) Vasily Polovnyov
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #333;
+ background: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #998;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-subst {
+ color: #333;
+ font-weight: bold;
+}
+
+.hljs-number,
+.hljs-literal,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag .hljs-attr {
+ color: #008080;
+}
+
+.hljs-string,
+.hljs-doctag {
+ color: #d14;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-selector-id {
+ color: #900;
+ font-weight: bold;
+}
+
+.hljs-subst {
+ font-weight: normal;
+}
+
+.hljs-type,
+.hljs-class .hljs-title {
+ color: #458;
+ font-weight: bold;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-attribute {
+ color: #000080;
+ font-weight: normal;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #009926;
+}
+
+.hljs-symbol,
+.hljs-bullet {
+ color: #990073;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #0086b3;
+}
+
+.hljs-meta {
+ color: #999;
+ font-weight: bold;
+}
+
+.hljs-deletion {
+ background: #fdd;
+}
+
+.hljs-addition {
+ background: #dfd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/googlecode.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/googlecode.css
new file mode 100644
index 000000000..884ad6353
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/googlecode.css
@@ -0,0 +1,89 @@
+/*
+
+Google Code style (c) Aahan Krish
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: white;
+ color: black;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #800;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-title,
+.hljs-name {
+ color: #008;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #660;
+}
+
+.hljs-string,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-regexp {
+ color: #080;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-meta,
+.hljs-number,
+.hljs-link {
+ color: #066;
+}
+
+.hljs-title,
+.hljs-doctag,
+.hljs-type,
+.hljs-attr,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-params {
+ color: #606;
+}
+
+.hljs-attribute,
+.hljs-subst {
+ color: #000;
+}
+
+.hljs-formula {
+ background-color: #eee;
+ font-style: italic;
+}
+
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #9B703F
+}
+
+.hljs-addition {
+ background-color: #baeeba;
+}
+
+.hljs-deletion {
+ background-color: #ffc8bd;
+}
+
+.hljs-doctag,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/grayscale.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/grayscale.css
new file mode 100644
index 000000000..5376f3406
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/grayscale.css
@@ -0,0 +1,101 @@
+/*
+
+grayscale style (c) MY Sun
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #333;
+ background: #fff;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #777;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-subst {
+ color: #333;
+ font-weight: bold;
+}
+
+.hljs-number,
+.hljs-literal {
+ color: #777;
+}
+
+.hljs-string,
+.hljs-doctag,
+.hljs-formula {
+ color: #333;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-selector-id {
+ color: #000;
+ font-weight: bold;
+}
+
+.hljs-subst {
+ font-weight: normal;
+}
+
+.hljs-class .hljs-title,
+.hljs-type,
+.hljs-name {
+ color: #333;
+ font-weight: bold;
+}
+
+.hljs-tag {
+ color: #333;
+}
+
+.hljs-regexp {
+ color: #333;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+ color: #000;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #000;
+ text-decoration: underline;
+}
+
+.hljs-meta {
+ color: #999;
+ font-weight: bold;
+}
+
+.hljs-deletion {
+ color: #fff;
+ background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-addition {
+ color: #000;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/gruvbox-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/gruvbox-dark.css
new file mode 100644
index 000000000..f563811a8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/gruvbox-dark.css
@@ -0,0 +1,108 @@
+/*
+
+Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #282828;
+}
+
+.hljs,
+.hljs-subst {
+ color: #ebdbb2;
+}
+
+/* Gruvbox Red */
+.hljs-deletion,
+.hljs-formula,
+.hljs-keyword,
+.hljs-link,
+.hljs-selector-tag {
+ color: #fb4934;
+}
+
+/* Gruvbox Blue */
+.hljs-built_in,
+.hljs-emphasis,
+.hljs-name,
+.hljs-quote,
+.hljs-strong,
+.hljs-title,
+.hljs-variable {
+ color: #83a598;
+}
+
+/* Gruvbox Yellow */
+.hljs-attr,
+.hljs-params,
+.hljs-template-tag,
+.hljs-type {
+ color: #fabd2f;
+}
+
+/* Gruvbox Purple */
+.hljs-builtin-name,
+.hljs-doctag,
+.hljs-literal,
+.hljs-number {
+ color: #8f3f71;
+}
+
+/* Gruvbox Orange */
+.hljs-code,
+.hljs-meta,
+.hljs-regexp,
+.hljs-selector-id,
+.hljs-template-variable {
+ color: #fe8019;
+}
+
+/* Gruvbox Green */
+.hljs-addition,
+.hljs-meta-string,
+.hljs-section,
+.hljs-selector-attr,
+.hljs-selector-class,
+.hljs-string,
+.hljs-symbol {
+ color: #b8bb26;
+}
+
+/* Gruvbox Aqua */
+.hljs-attribute,
+.hljs-bullet,
+.hljs-class,
+.hljs-function,
+.hljs-function .hljs-keyword,
+.hljs-meta-keyword,
+.hljs-selector-pseudo,
+.hljs-tag {
+ color: #8ec07c;
+}
+
+/* Gruvbox Gray */
+.hljs-comment {
+ color: #928374;
+}
+
+/* Gruvbox Purple */
+.hljs-link_label,
+.hljs-literal,
+.hljs-number {
+ color: #d3869b;
+}
+
+.hljs-comment,
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-section,
+.hljs-strong,
+.hljs-tag {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/gruvbox-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/gruvbox-light.css
new file mode 100644
index 000000000..ff45468eb
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/gruvbox-light.css
@@ -0,0 +1,108 @@
+/*
+
+Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fbf1c7;
+}
+
+.hljs,
+.hljs-subst {
+ color: #3c3836;
+}
+
+/* Gruvbox Red */
+.hljs-deletion,
+.hljs-formula,
+.hljs-keyword,
+.hljs-link,
+.hljs-selector-tag {
+ color: #9d0006;
+}
+
+/* Gruvbox Blue */
+.hljs-built_in,
+.hljs-emphasis,
+.hljs-name,
+.hljs-quote,
+.hljs-strong,
+.hljs-title,
+.hljs-variable {
+ color: #076678;
+}
+
+/* Gruvbox Yellow */
+.hljs-attr,
+.hljs-params,
+.hljs-template-tag,
+.hljs-type {
+ color: #b57614;
+}
+
+/* Gruvbox Purple */
+.hljs-builtin-name,
+.hljs-doctag,
+.hljs-literal,
+.hljs-number {
+ color: #8f3f71;
+}
+
+/* Gruvbox Orange */
+.hljs-code,
+.hljs-meta,
+.hljs-regexp,
+.hljs-selector-id,
+.hljs-template-variable {
+ color: #af3a03;
+}
+
+/* Gruvbox Green */
+.hljs-addition,
+.hljs-meta-string,
+.hljs-section,
+.hljs-selector-attr,
+.hljs-selector-class,
+.hljs-string,
+.hljs-symbol {
+ color: #79740e;
+}
+
+/* Gruvbox Aqua */
+.hljs-attribute,
+.hljs-bullet,
+.hljs-class,
+.hljs-function,
+.hljs-function .hljs-keyword,
+.hljs-meta-keyword,
+.hljs-selector-pseudo,
+.hljs-tag {
+ color: #427b58;
+}
+
+/* Gruvbox Gray */
+.hljs-comment {
+ color: #928374;
+}
+
+/* Gruvbox Purple */
+.hljs-link_label,
+.hljs-literal,
+.hljs-number {
+ color: #8f3f71;
+}
+
+.hljs-comment,
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-section,
+.hljs-strong,
+.hljs-tag {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/hopscotch.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/hopscotch.css
new file mode 100644
index 000000000..32e60d230
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/hopscotch.css
@@ -0,0 +1,83 @@
+/*
+ * Hopscotch
+ * by Jan T. Sott
+ * https://github.com/idleberg/Hopscotch
+ *
+ * This work is licensed under the Creative Commons CC0 1.0 Universal License
+ */
+
+/* Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #989498;
+}
+
+/* Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-link,
+.hljs-deletion {
+ color: #dd464c;
+}
+
+/* Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #fd8b19;
+}
+
+/* Yellow */
+.hljs-class .hljs-title {
+ color: #fdcc59;
+}
+
+/* Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #8fc13e;
+}
+
+/* Aqua */
+.hljs-meta {
+ color: #149b93;
+}
+
+/* Blue */
+.hljs-function,
+.hljs-section,
+.hljs-title {
+ color: #1290bf;
+}
+
+/* Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #c85e7c;
+}
+
+.hljs {
+ display: block;
+ background: #322931;
+ color: #b9b5b8;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/hybrid.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/hybrid.css
new file mode 100644
index 000000000..29735a189
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/hybrid.css
@@ -0,0 +1,102 @@
+/*
+
+vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid)
+
+*/
+
+/*background color*/
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #1d1f21;
+}
+
+/*selection color*/
+.hljs::selection,
+.hljs span::selection {
+ background: #373b41;
+}
+
+.hljs::-moz-selection,
+.hljs span::-moz-selection {
+ background: #373b41;
+}
+
+/*foreground color*/
+.hljs {
+ color: #c5c8c6;
+}
+
+/*color: fg_yellow*/
+.hljs-title,
+.hljs-name {
+ color: #f0c674;
+}
+
+/*color: fg_comment*/
+.hljs-comment,
+.hljs-meta,
+.hljs-meta .hljs-keyword {
+ color: #707880;
+}
+
+/*color: fg_red*/
+.hljs-number,
+.hljs-symbol,
+.hljs-literal,
+.hljs-deletion,
+.hljs-link {
+ color: #cc6666
+}
+
+/*color: fg_green*/
+.hljs-string,
+.hljs-doctag,
+.hljs-addition,
+.hljs-regexp,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #b5bd68;
+}
+
+/*color: fg_purple*/
+.hljs-attribute,
+.hljs-code,
+.hljs-selector-id {
+ color: #b294bb;
+}
+
+/*color: fg_blue*/
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-bullet,
+.hljs-tag {
+ color: #81a2be;
+}
+
+/*color: fg_aqua*/
+.hljs-subst,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #8abeb7;
+}
+
+/*color: fg_orange*/
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-quote,
+.hljs-section,
+.hljs-selector-class {
+ color: #de935f;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/idea.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/idea.css
new file mode 100644
index 000000000..3bf1892bd
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/idea.css
@@ -0,0 +1,97 @@
+/*
+
+Intellij Idea-like styling (c) Vasily Polovnyov
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #000;
+ background: #fff;
+}
+
+.hljs-subst,
+.hljs-title {
+ font-weight: normal;
+ color: #000;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #808080;
+ font-style: italic;
+}
+
+.hljs-meta {
+ color: #808000;
+}
+
+.hljs-tag {
+ background: #efefef;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-literal,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type,
+.hljs-selector-id,
+.hljs-selector-class {
+ font-weight: bold;
+ color: #000080;
+}
+
+.hljs-attribute,
+.hljs-number,
+.hljs-regexp,
+.hljs-link {
+ font-weight: bold;
+ color: #0000ff;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-link {
+ font-weight: normal;
+}
+
+.hljs-string {
+ color: #008000;
+ font-weight: bold;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-formula {
+ color: #000;
+ background: #d0eded;
+ font-style: italic;
+}
+
+.hljs-doctag {
+ text-decoration: underline;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #660e7a;
+}
+
+.hljs-addition {
+ background: #baeeba;
+}
+
+.hljs-deletion {
+ background: #ffc8bd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ir-black.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ir-black.css
new file mode 100644
index 000000000..bd4c755ed
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ir-black.css
@@ -0,0 +1,73 @@
+/*
+ IR_Black style (c) Vasily Mikhailitchenko
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000;
+ color: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+ color: #7c7c7c;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-tag,
+.hljs-name {
+ color: #96cbfe;
+}
+
+.hljs-attribute,
+.hljs-selector-id {
+ color: #ffffb6;
+}
+
+.hljs-string,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition {
+ color: #a8ff60;
+}
+
+.hljs-subst {
+ color: #daefa3;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #e9c062;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-doctag {
+ color: #ffffb6;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-literal {
+ color: #c6c5fe;
+}
+
+.hljs-number,
+.hljs-deletion {
+ color:#ff73fd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/kimbie.dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/kimbie.dark.css
new file mode 100644
index 000000000..d139cb5d0
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/kimbie.dark.css
@@ -0,0 +1,74 @@
+/*
+ Name: Kimbie (dark)
+ Author: Jan T. Sott
+ License: Creative Commons Attribution-ShareAlike 4.0 Unported License
+ URL: https://github.com/idleberg/Kimbie-highlight.js
+*/
+
+/* Kimbie Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #d6baad;
+}
+
+/* Kimbie Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-meta {
+ color: #dc3958;
+}
+
+/* Kimbie Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion,
+.hljs-link {
+ color: #f79a32;
+}
+
+/* Kimbie Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #f06431;
+}
+
+/* Kimbie Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #889b4a;
+}
+
+/* Kimbie Purple */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function {
+ color: #98676a;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #221a0f;
+ color: #d3af86;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/kimbie.light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/kimbie.light.css
new file mode 100644
index 000000000..04ff6ed3a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/kimbie.light.css
@@ -0,0 +1,74 @@
+/*
+ Name: Kimbie (light)
+ Author: Jan T. Sott
+ License: Creative Commons Attribution-ShareAlike 4.0 Unported License
+ URL: https://github.com/idleberg/Kimbie-highlight.js
+*/
+
+/* Kimbie Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #a57a4c;
+}
+
+/* Kimbie Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-meta {
+ color: #dc3958;
+}
+
+/* Kimbie Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion,
+.hljs-link {
+ color: #f79a32;
+}
+
+/* Kimbie Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #f06431;
+}
+
+/* Kimbie Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #889b4a;
+}
+
+/* Kimbie Purple */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function {
+ color: #98676a;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #fbebd4;
+ color: #84613d;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/magula.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/magula.css
new file mode 100644
index 000000000..44dee5e8e
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/magula.css
@@ -0,0 +1,70 @@
+/*
+Description: Magula style for highligh.js
+Author: Ruslan Keba
+Website: http://rukeba.com/
+Version: 1.0
+Date: 2009-01-03
+Music: Aphex Twin / Xtal
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background-color: #f4f4f4;
+}
+
+.hljs,
+.hljs-subst {
+ color: black;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #050;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #777;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-type,
+.hljs-link {
+ color: #800;
+}
+
+.hljs-deletion,
+.hljs-meta {
+ color: #00e;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-tag,
+.hljs-name {
+ font-weight: bold;
+ color: navy;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/mono-blue.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/mono-blue.css
new file mode 100644
index 000000000..884c97c76
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/mono-blue.css
@@ -0,0 +1,59 @@
+/*
+ Five-color theme from a single blue hue.
+*/
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #eaeef3;
+}
+
+.hljs {
+ color: #00193a;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-comment {
+ color: #738191;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-literal,
+.hljs-type,
+.hljs-addition,
+.hljs-tag,
+.hljs-quote,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #0048ab;
+}
+
+.hljs-meta,
+.hljs-subst,
+.hljs-symbol,
+.hljs-regexp,
+.hljs-attribute,
+.hljs-deletion,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-bullet {
+ color: #4c81c9;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/monokai-sublime.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/monokai-sublime.css
new file mode 100644
index 000000000..2864170da
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/monokai-sublime.css
@@ -0,0 +1,83 @@
+/*
+
+Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #23241f;
+}
+
+.hljs,
+.hljs-tag,
+.hljs-subst {
+ color: #f8f8f2;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-link {
+ color: #ae81ff;
+}
+
+.hljs-code,
+.hljs-title,
+.hljs-section,
+.hljs-selector-class {
+ color: #a6e22e;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-name,
+.hljs-attr {
+ color: #f92672;
+}
+
+.hljs-symbol,
+.hljs-attribute {
+ color: #66d9ef;
+}
+
+.hljs-params,
+.hljs-class .hljs-title {
+ color: #f8f8f2;
+}
+
+.hljs-string,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-variable {
+ color: #e6db74;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-meta {
+ color: #75715e;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/monokai.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/monokai.css
new file mode 100644
index 000000000..775d53f91
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/monokai.css
@@ -0,0 +1,70 @@
+/*
+Monokai style - ported by Luigi Maselli - http://grigio.org
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #272822; color: #ddd;
+}
+
+.hljs-tag,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-strong,
+.hljs-name {
+ color: #f92672;
+}
+
+.hljs-code {
+ color: #66d9ef;
+}
+
+.hljs-class .hljs-title {
+ color: white;
+}
+
+.hljs-attribute,
+.hljs-symbol,
+.hljs-regexp,
+.hljs-link {
+ color: #bf79db;
+}
+
+.hljs-string,
+.hljs-bullet,
+.hljs-subst,
+.hljs-title,
+.hljs-section,
+.hljs-emphasis,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #a6e22e;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #75715e;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-selector-id {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/obsidian.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/obsidian.css
new file mode 100644
index 000000000..356630fa2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/obsidian.css
@@ -0,0 +1,88 @@
+/**
+ * Obsidian style
+ * ported by Alexander Marenin (http://github.com/ioncreature)
+ */
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #282b2e;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-selector-id {
+ color: #93c763;
+}
+
+.hljs-number {
+ color: #ffcd22;
+}
+
+.hljs {
+ color: #e0e2e4;
+}
+
+.hljs-attribute {
+ color: #668bb0;
+}
+
+.hljs-code,
+.hljs-class .hljs-title,
+.hljs-section {
+ color: white;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #d39745;
+}
+
+.hljs-meta {
+ color: #557182;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-bullet,
+.hljs-subst,
+.hljs-emphasis,
+.hljs-type,
+.hljs-built_in,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #8cbbad;
+}
+
+.hljs-string,
+.hljs-symbol {
+ color: #ec7600;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion {
+ color: #818e96;
+}
+
+.hljs-selector-class {
+ color: #A082BD
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ocean.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ocean.css
new file mode 100644
index 000000000..5901581b4
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/ocean.css
@@ -0,0 +1,74 @@
+/* Ocean Dark Theme */
+/* https://github.com/gavsiu */
+/* Original theme - https://github.com/chriskempson/base16 */
+
+/* Ocean Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #65737e;
+}
+
+/* Ocean Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #bf616a;
+}
+
+/* Ocean Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #d08770;
+}
+
+/* Ocean Yellow */
+.hljs-attribute {
+ color: #ebcb8b;
+}
+
+/* Ocean Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #a3be8c;
+}
+
+/* Ocean Blue */
+.hljs-title,
+.hljs-section {
+ color: #8fa1b3;
+}
+
+/* Ocean Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b48ead;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #2b303b;
+ color: #c0c5ce;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/paraiso-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/paraiso-dark.css
new file mode 100644
index 000000000..e7292401c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/paraiso-dark.css
@@ -0,0 +1,72 @@
+/*
+ Paraíso (dark)
+ Created by Jan T. Sott (http://github.com/idleberg)
+ Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
+*/
+
+/* Paraíso Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #8d8687;
+}
+
+/* Paraíso Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-link,
+.hljs-meta {
+ color: #ef6155;
+}
+
+/* Paraíso Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion {
+ color: #f99b15;
+}
+
+/* Paraíso Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #fec418;
+}
+
+/* Paraíso Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #48b685;
+}
+
+/* Paraíso Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #815ba4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #2f1e2e;
+ color: #a39e9b;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/paraiso-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/paraiso-light.css
new file mode 100644
index 000000000..944857cd8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/paraiso-light.css
@@ -0,0 +1,72 @@
+/*
+ Paraíso (light)
+ Created by Jan T. Sott (http://github.com/idleberg)
+ Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
+*/
+
+/* Paraíso Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #776e71;
+}
+
+/* Paraíso Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-link,
+.hljs-meta {
+ color: #ef6155;
+}
+
+/* Paraíso Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion {
+ color: #f99b15;
+}
+
+/* Paraíso Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #fec418;
+}
+
+/* Paraíso Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #48b685;
+}
+
+/* Paraíso Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #815ba4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #e7e9db;
+ color: #4f424c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/pojoaque.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/pojoaque.css
new file mode 100644
index 000000000..2e07847b2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/pojoaque.css
@@ -0,0 +1,83 @@
+/*
+
+Pojoaque Style by Jason Tate
+http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
+Based on Solarized Style from http://ethanschoonover.com/solarized
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #dccf8f;
+ background: url(./pojoaque.jpg) repeat scroll left top #181914;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #586e75;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-addition {
+ color: #b64926;
+}
+
+.hljs-number,
+.hljs-string,
+.hljs-doctag,
+.hljs-regexp {
+ color: #468966;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-name {
+ color: #ffb03b;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-class .hljs-title,
+.hljs-type,
+.hljs-tag {
+ color: #b58900;
+}
+
+.hljs-attribute {
+ color: #b89859;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-subst,
+.hljs-meta {
+ color: #cb4b16;
+}
+
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d3a60c;
+}
+
+.hljs-formula {
+ background: #073642;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/pojoaque.jpg b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/pojoaque.jpg
new file mode 100644
index 000000000..9c07d4ab4
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/pojoaque.jpg differ
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/purebasic.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/purebasic.css
new file mode 100644
index 000000000..5ce9b9e07
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/purebasic.css
@@ -0,0 +1,96 @@
+/*
+
+PureBASIC native IDE style ( version 1.0 - April 2016 )
+
+by Tristano Ajmone
+
+Public Domain
+
+NOTE_1: PureBASIC code syntax highlighting only applies the following classes:
+ .hljs-comment
+ .hljs-function
+ .hljs-keywords
+ .hljs-string
+ .hljs-symbol
+
+ Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style.
+ If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by
+ a "--- used for PureBASIC ... ---" comment on same line.
+
+NOTE_2: Color names provided in comments were derived using "Name that Color" online tool:
+ http://chir.ag/projects/name-that-color
+*/
+
+.hljs { /* Common set of rules required by highlight.js (don'r remove!) */
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #FFFFDF; /* Half and Half (approx.) */
+/* --- Uncomment to add PureBASIC native IDE styled font!
+ font-family: Consolas;
+*/
+}
+
+.hljs, /* --- used for PureBASIC base color --- */
+.hljs-type, /* --- used for PureBASIC Procedures return type --- */
+.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */
+.hljs-name,
+.hljs-number,
+.hljs-attr,
+.hljs-params,
+.hljs-subst {
+ color: #000000; /* Black */
+}
+
+.hljs-comment, /* --- used for PureBASIC Comments --- */
+.hljs-regexp,
+.hljs-section,
+.hljs-selector-pseudo,
+.hljs-addition {
+ color: #00AAAA; /* Persian Green (approx.) */
+}
+
+.hljs-title, /* --- used for PureBASIC Procedures Names --- */
+.hljs-tag,
+.hljs-variable,
+.hljs-code {
+ color: #006666; /* Blue Stone (approx.) */
+}
+
+.hljs-keyword, /* --- used for PureBASIC Keywords --- */
+.hljs-class,
+.hljs-meta-keyword,
+.hljs-selector-class,
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #006666; /* Blue Stone (approx.) */
+ font-weight: bold;
+}
+
+.hljs-string, /* --- used for PureBASIC Strings --- */
+.hljs-selector-attr {
+ color: #0080FF; /* Azure Radiance (approx.) */
+}
+
+.hljs-symbol, /* --- used for PureBASIC Constants --- */
+.hljs-link,
+.hljs-deletion,
+.hljs-attribute {
+ color: #924B72; /* Cannon Pink (approx.) */
+}
+
+.hljs-meta,
+.hljs-literal,
+.hljs-selector-id {
+ color: #924B72; /* Cannon Pink (approx.) */
+ font-weight: bold;
+}
+
+.hljs-strong,
+.hljs-name {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/qtcreator_dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/qtcreator_dark.css
new file mode 100644
index 000000000..7aa56a365
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/qtcreator_dark.css
@@ -0,0 +1,83 @@
+/*
+
+Qt Creator dark color scheme
+
+*/
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000000;
+}
+
+.hljs,
+.hljs-subst,
+.hljs-tag,
+.hljs-title {
+ color: #aaaaaa;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal {
+ color: #ff55ff;
+}
+
+.hljs-code
+.hljs-selector-class {
+ color: #aaaaff;
+}
+
+.hljs-emphasis,
+.hljs-stronge,
+.hljs-type {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function,
+.hljs-section,
+.hljs-symbol,
+.hljs-name {
+ color: #ffff55;
+}
+
+.hljs-attribute {
+ color: #ff5555;
+}
+
+.hljs-variable,
+.hljs-params,
+.hljs-class .hljs-title {
+ color: #8888ff;
+}
+
+.hljs-string,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition,
+.hljs-link {
+ color: #ff55ff;
+}
+
+.hljs-comment,
+.hljs-meta,
+.hljs-deletion {
+ color: #55ffff;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/qtcreator_light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/qtcreator_light.css
new file mode 100644
index 000000000..1efa2c660
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/qtcreator_light.css
@@ -0,0 +1,83 @@
+/*
+
+Qt Creator light color scheme
+
+*/
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #ffffff;
+}
+
+.hljs,
+.hljs-subst,
+.hljs-tag,
+.hljs-title {
+ color: #000000;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #000000;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal {
+ color: #000080;
+}
+
+.hljs-code
+.hljs-selector-class {
+ color: #800080;
+}
+
+.hljs-emphasis,
+.hljs-stronge,
+.hljs-type {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function,
+.hljs-section,
+.hljs-symbol,
+.hljs-name {
+ color: #808000;
+}
+
+.hljs-attribute {
+ color: #800000;
+}
+
+.hljs-variable,
+.hljs-params,
+.hljs-class .hljs-title {
+ color: #0055AF;
+}
+
+.hljs-string,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition,
+.hljs-link {
+ color: #008000;
+}
+
+.hljs-comment,
+.hljs-meta,
+.hljs-deletion {
+ color: #008000;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/railscasts.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/railscasts.css
new file mode 100644
index 000000000..008cdc5bf
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/railscasts.css
@@ -0,0 +1,106 @@
+/*
+
+Railscasts-like style (c) Visoft, Inc. (Damien White)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #232323;
+ color: #e6e1dc;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #bc9458;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #c26230;
+}
+
+.hljs-string,
+.hljs-number,
+.hljs-regexp,
+.hljs-variable,
+.hljs-template-variable {
+ color: #a5c261;
+}
+
+.hljs-subst {
+ color: #519f50;
+}
+
+.hljs-tag,
+.hljs-name {
+ color: #e8bf6a;
+}
+
+.hljs-type {
+ color: #da4939;
+}
+
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-attr,
+.hljs-link {
+ color: #6d9cbe;
+}
+
+.hljs-params {
+ color: #d0d0ff;
+}
+
+.hljs-attribute {
+ color: #cda869;
+}
+
+.hljs-meta {
+ color: #9b859d;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #ffc66d;
+}
+
+.hljs-addition {
+ background-color: #144212;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #600;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-selector-class {
+ color: #9b703f;
+}
+
+.hljs-selector-id {
+ color: #8b98ab;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/rainbow.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/rainbow.css
new file mode 100644
index 000000000..905eb8ef1
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/rainbow.css
@@ -0,0 +1,85 @@
+/*
+
+Style with support for rainbow parens
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #474949;
+ color: #d1d9e1;
+}
+
+
+.hljs-comment,
+.hljs-quote {
+ color: #969896;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-type,
+.hljs-addition {
+ color: #cc99cc;
+}
+
+.hljs-number,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #f99157;
+}
+
+.hljs-string,
+.hljs-doctag,
+.hljs-regexp {
+ color: #8abeb7;
+}
+
+.hljs-title,
+.hljs-name,
+.hljs-section,
+.hljs-built_in {
+ color: #b5bd68;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-selector-id,
+.hljs-class .hljs-title {
+ color: #ffcc66;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-subst,
+.hljs-meta,
+.hljs-link {
+ color: #f99157;
+}
+
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-formula {
+ background: #eee8d5;
+}
+
+.hljs-attr,
+.hljs-attribute {
+ color: #81a2be;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/routeros.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/routeros.css
new file mode 100644
index 000000000..ebe23990d
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/routeros.css
@@ -0,0 +1,108 @@
+/*
+
+ highlight.js style for Microtik RouterOS script
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #F0F0F0;
+}
+
+/* Base color: saturation 0; */
+
+.hljs,
+.hljs-subst {
+ color: #444;
+}
+
+.hljs-comment {
+ color: #888888;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-meta-keyword,
+.hljs-doctag,
+.hljs-name {
+ font-weight: bold;
+}
+
+.hljs-attribute {
+ color: #0E9A00;
+}
+
+.hljs-function {
+ color: #99069A;
+}
+
+.hljs-builtin-name {
+ color: #99069A;
+}
+
+/* User color: hue: 0 */
+
+.hljs-type,
+.hljs-string,
+.hljs-number,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+ color: #880000;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #880000;
+ font-weight: bold;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #BC6060;
+}
+
+
+/* Language color: hue: 90; */
+
+.hljs-literal {
+ color: #78A960;
+}
+
+.hljs-built_in,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+ color: #0C9A9A;
+}
+
+
+/* Meta color: hue: 200 */
+
+.hljs-meta {
+ color: #1f7199;
+}
+
+.hljs-meta-string {
+ color: #4d99bf;
+}
+
+
+/* Misc effects */
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/school-book.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/school-book.css
new file mode 100644
index 000000000..964b51d84
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/school-book.css
@@ -0,0 +1,72 @@
+/*
+
+School Book style from goldblog.com.ua (c) Zaripov Yura
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 15px 0.5em 0.5em 30px;
+ font-size: 11px;
+ line-height:16px;
+}
+
+pre{
+ background:#f6f6ae url(./school-book.png);
+ border-top: solid 2px #d2e8b9;
+ border-bottom: solid 1px #d2e8b9;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color:#005599;
+ font-weight:bold;
+}
+
+.hljs,
+.hljs-subst {
+ color: #3e5915;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-link {
+ color: #2c009f;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #e60415;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-selector-id,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/school-book.png b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/school-book.png
new file mode 100644
index 000000000..956e9790a
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/school-book.png differ
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/solarized-dark.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/solarized-dark.css
new file mode 100644
index 000000000..b4c0da1f7
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/solarized-dark.css
@@ -0,0 +1,84 @@
+/*
+
+Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #002b36;
+ color: #839496;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #586e75;
+}
+
+/* Solarized Green */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-addition {
+ color: #859900;
+}
+
+/* Solarized Cyan */
+.hljs-number,
+.hljs-string,
+.hljs-meta .hljs-meta-string,
+.hljs-literal,
+.hljs-doctag,
+.hljs-regexp {
+ color: #2aa198;
+}
+
+/* Solarized Blue */
+.hljs-title,
+.hljs-section,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #268bd2;
+}
+
+/* Solarized Yellow */
+.hljs-attribute,
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-class .hljs-title,
+.hljs-type {
+ color: #b58900;
+}
+
+/* Solarized Orange */
+.hljs-symbol,
+.hljs-bullet,
+.hljs-subst,
+.hljs-meta,
+.hljs-meta .hljs-keyword,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-link {
+ color: #cb4b16;
+}
+
+/* Solarized Red */
+.hljs-built_in,
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-formula {
+ background: #073642;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/solarized-light.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/solarized-light.css
new file mode 100644
index 000000000..fdcfcc72c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/solarized-light.css
@@ -0,0 +1,84 @@
+/*
+
+Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fdf6e3;
+ color: #657b83;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #93a1a1;
+}
+
+/* Solarized Green */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-addition {
+ color: #859900;
+}
+
+/* Solarized Cyan */
+.hljs-number,
+.hljs-string,
+.hljs-meta .hljs-meta-string,
+.hljs-literal,
+.hljs-doctag,
+.hljs-regexp {
+ color: #2aa198;
+}
+
+/* Solarized Blue */
+.hljs-title,
+.hljs-section,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #268bd2;
+}
+
+/* Solarized Yellow */
+.hljs-attribute,
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-class .hljs-title,
+.hljs-type {
+ color: #b58900;
+}
+
+/* Solarized Orange */
+.hljs-symbol,
+.hljs-bullet,
+.hljs-subst,
+.hljs-meta,
+.hljs-meta .hljs-keyword,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-link {
+ color: #cb4b16;
+}
+
+/* Solarized Red */
+.hljs-built_in,
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-formula {
+ background: #eee8d5;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/sunburst.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/sunburst.css
new file mode 100644
index 000000000..f56dd5e9b
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/sunburst.css
@@ -0,0 +1,102 @@
+/*
+
+Sunburst-like style (c) Vasily Polovnyov
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000;
+ color: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #aeaeae;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+ color: #e28964;
+}
+
+.hljs-string {
+ color: #65b042;
+}
+
+.hljs-subst {
+ color: #daefa3;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #e9c062;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-tag,
+.hljs-name {
+ color: #89bdff;
+}
+
+.hljs-class .hljs-title,
+.hljs-doctag {
+ text-decoration: underline;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-number {
+ color: #3387cc;
+}
+
+.hljs-params,
+.hljs-variable,
+.hljs-template-variable {
+ color: #3e87e3;
+}
+
+.hljs-attribute {
+ color: #cda869;
+}
+
+.hljs-meta {
+ color: #8996a8;
+}
+
+.hljs-formula {
+ background-color: #0e2231;
+ color: #f8f8f8;
+ font-style: italic;
+}
+
+.hljs-addition {
+ background-color: #253b22;
+ color: #f8f8f8;
+}
+
+.hljs-deletion {
+ background-color: #420e09;
+ color: #f8f8f8;
+}
+
+.hljs-selector-class {
+ color: #9b703f;
+}
+
+.hljs-selector-id {
+ color: #8b98ab;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-blue.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-blue.css
new file mode 100644
index 000000000..78e59cc8c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-blue.css
@@ -0,0 +1,75 @@
+/* Tomorrow Night Blue Theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7285b7;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #ff9da4;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #ffc58f;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #ffeead;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #d1f1a9;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #bbdaff;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #ebbbff;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #002451;
+ color: white;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-bright.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-bright.css
new file mode 100644
index 000000000..e05af8ae2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-bright.css
@@ -0,0 +1,74 @@
+/* Tomorrow Night Bright Theme */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #969896;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #d54e53;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #e78c45;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #e7c547;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #b9ca4a;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #7aa6da;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #c397d8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: black;
+ color: #eaeaea;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-eighties.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-eighties.css
new file mode 100644
index 000000000..08fd51c74
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night-eighties.css
@@ -0,0 +1,74 @@
+/* Tomorrow Night Eighties Theme */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #999999;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #f2777a;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #f99157;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #ffcc66;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #99cc99;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #6699cc;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #cc99cc;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #2d2d2d;
+ color: #cccccc;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night.css
new file mode 100644
index 000000000..ddd270a4e
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow-night.css
@@ -0,0 +1,75 @@
+/* Tomorrow Night Theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #969896;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #cc6666;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #de935f;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #f0c674;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #b5bd68;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #81a2be;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b294bb;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1d1f21;
+ color: #c5c8c6;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow.css
new file mode 100644
index 000000000..026a62fe3
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/tomorrow.css
@@ -0,0 +1,72 @@
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #8e908c;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #c82829;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #f5871f;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #eab700;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #718c00;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #4271ae;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #8959a8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: white;
+ color: #4d4d4c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/vs.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/vs.css
new file mode 100644
index 000000000..c5d07d311
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/vs.css
@@ -0,0 +1,68 @@
+/*
+
+Visual Studio-like style based on original C# coloring by Jason Diamond
+
+*/
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: white;
+ color: black;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-variable {
+ color: #008000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-built_in,
+.hljs-name,
+.hljs-tag {
+ color: #00f;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-attribute,
+.hljs-literal,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-type,
+.hljs-addition {
+ color: #a31515;
+}
+
+.hljs-deletion,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-meta {
+ color: #2b91af;
+}
+
+.hljs-doctag {
+ color: #808080;
+}
+
+.hljs-attr {
+ color: #f00;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+ color: #00b0e8;
+}
+
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/vs2015.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/vs2015.css
new file mode 100644
index 000000000..d1d9be3ca
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/vs2015.css
@@ -0,0 +1,115 @@
+/*
+ * Visual Studio 2015 dark style
+ * Author: Nicolas LLOBERA
+ */
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #1E1E1E;
+ color: #DCDCDC;
+}
+
+.hljs-keyword,
+.hljs-literal,
+.hljs-symbol,
+.hljs-name {
+ color: #569CD6;
+}
+.hljs-link {
+ color: #569CD6;
+ text-decoration: underline;
+}
+
+.hljs-built_in,
+.hljs-type {
+ color: #4EC9B0;
+}
+
+.hljs-number,
+.hljs-class {
+ color: #B8D7A3;
+}
+
+.hljs-string,
+.hljs-meta-string {
+ color: #D69D85;
+}
+
+.hljs-regexp,
+.hljs-template-tag {
+ color: #9A5334;
+}
+
+.hljs-subst,
+.hljs-function,
+.hljs-title,
+.hljs-params,
+.hljs-formula {
+ color: #DCDCDC;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #57A64A;
+ font-style: italic;
+}
+
+.hljs-doctag {
+ color: #608B4E;
+}
+
+.hljs-meta,
+.hljs-meta-keyword,
+.hljs-tag {
+ color: #9B9B9B;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #BD63C5;
+}
+
+.hljs-attr,
+.hljs-attribute,
+.hljs-builtin-name {
+ color: #9CDCFE;
+}
+
+.hljs-section {
+ color: gold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+/*.hljs-code {
+ font-family:'Monospace';
+}*/
+
+.hljs-bullet,
+.hljs-selector-tag,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #D7BA7D;
+}
+
+.hljs-addition {
+ background-color: #144212;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #600;
+ display: inline-block;
+ width: 100%;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/xcode.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/xcode.css
new file mode 100644
index 000000000..43dddad84
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/xcode.css
@@ -0,0 +1,93 @@
+/*
+
+XCode style (c) Angel Garcia
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fff;
+ color: black;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #006a00;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color: #aa0d91;
+}
+
+.hljs-name {
+ color: #008;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #660;
+}
+
+.hljs-string {
+ color: #c41a16;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #080;
+}
+
+.hljs-title,
+.hljs-tag,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-number,
+.hljs-meta {
+ color: #1c00cf;
+}
+
+.hljs-section,
+.hljs-class .hljs-title,
+.hljs-type,
+.hljs-attr,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-params {
+ color: #5c2699;
+}
+
+.hljs-attribute,
+.hljs-subst {
+ color: #000;
+}
+
+.hljs-formula {
+ background-color: #eee;
+ font-style: italic;
+}
+
+.hljs-addition {
+ background-color: #baeeba;
+}
+
+.hljs-deletion {
+ background-color: #ffc8bd;
+}
+
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #9b703f;
+}
+
+.hljs-doctag,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/xt256.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/xt256.css
new file mode 100644
index 000000000..58df82cb7
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/xt256.css
@@ -0,0 +1,92 @@
+
+/*
+ xt256.css
+
+ Contact: initbar [at] protonmail [dot] ch
+ : github.com/initbar
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ color: #eaeaea;
+ background: #000;
+ padding: 0.5;
+}
+
+.hljs-subst {
+ color: #eaeaea;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-builtin-name,
+.hljs-type {
+ color: #eaeaea;
+}
+
+.hljs-params {
+ color: #da0000;
+}
+
+.hljs-literal,
+.hljs-number,
+.hljs-name {
+ color: #ff0000;
+ font-weight: bolder;
+}
+
+.hljs-comment {
+ color: #969896;
+}
+
+.hljs-selector-id,
+.hljs-quote {
+ color: #00ffff;
+}
+
+.hljs-template-variable,
+.hljs-variable,
+.hljs-title {
+ color: #00ffff;
+ font-weight: bold;
+}
+
+.hljs-selector-class,
+.hljs-keyword,
+.hljs-symbol {
+ color: #fff000;
+}
+
+.hljs-string,
+.hljs-bullet {
+ color: #00ff00;
+}
+
+.hljs-tag,
+.hljs-section {
+ color: #000fff;
+}
+
+.hljs-selector-tag {
+ color: #000fff;
+ font-weight: bold;
+}
+
+.hljs-attribute,
+.hljs-built_in,
+.hljs-regexp,
+.hljs-link {
+ color: #ff00ff;
+}
+
+.hljs-meta {
+ color: #fff;
+ font-weight: bolder;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight (1)/styles/zenburn.css b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/zenburn.css
new file mode 100644
index 000000000..07be50201
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight (1)/styles/zenburn.css
@@ -0,0 +1,80 @@
+/*
+
+Zenburn style from voldmar.ru (c) Vladimir Epifanov
+based on dark.css by Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #3f3f3f;
+ color: #dcdcdc;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-tag {
+ color: #e3ceab;
+}
+
+.hljs-template-tag {
+ color: #dcdcdc;
+}
+
+.hljs-number {
+ color: #8cd0d3;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute {
+ color: #efdcbc;
+}
+
+.hljs-literal {
+ color: #efefaf;
+}
+
+.hljs-subst {
+ color: #8f8f8f;
+}
+
+.hljs-title,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-section,
+.hljs-type {
+ color: #efef8f;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+ color: #dca3a3;
+}
+
+.hljs-deletion,
+.hljs-string,
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #cc9393;
+}
+
+.hljs-addition,
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+ color: #7f9f7f;
+}
+
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight.zip b/docs/themes/angular-google-maps/static/images/highlight.zip
new file mode 100644
index 000000000..691b49c8f
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/highlight.zip differ
diff --git a/docs/themes/angular-google-maps/static/images/highlight/CHANGES.md b/docs/themes/angular-google-maps/static/images/highlight/CHANGES.md
new file mode 100644
index 000000000..05473a265
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/CHANGES.md
@@ -0,0 +1,1646 @@
+## Version 9.12.0
+
+New language:
+
+- *MikroTik* RouterOS Scripting language by [Ivan Dementev][].
+
+New style:
+
+- *VisualStudio 2015 Dark* by [Nicolas LLOBERA][]
+
+Improvements:
+
+- *Crystal* updated with new keywords and syntaxes by [Tsuyusato Kitsune][].
+- *Julia* updated to the modern definitions by [Alex Arslan][].
+- *julia-repl* added by [Morten Piibeleht][].
+- [Stanislav Belov][] wrote a new definition for *1C*, replacing the one that
+ has not been updated for more than 8 years. The new version supports syntax
+ for versions 7.7 and 8.
+- [Nicolas LLOBERA][] improved C# definition fixing edge cases with function
+ titles detection and added highlighting of `[Attributes]`.
+- [nnnik][] provided a few correctness fixes for *Autohotkey*.
+- [Martin Clausen][] made annotation collections in *Clojure* to look
+ consistently with other kinds.
+- [Alejandro Alonso][] updated *Swift* keywords.
+
+[Tsuyusato Kitsune]: https://github.com/MakeNowJust
+[Alex Arslan]: https://github.com/ararslan
+[Morten Piibeleht]: https://github.com/mortenpi
+[Stanislav Belov]: https://github.com/4ppl
+[Ivan Dementev]: https://github.com/DiVAN1x
+[Nicolas LLOBERA]: https://github.com/Nicolas01
+[nnnik]: https://github.com/nnnik
+[Martin Clausen]: https://github.com/maacl
+[Alejandro Alonso]: https://github.com/Azoy
+
+
+## Version 9.11.0
+
+New languages:
+
+- *Shell* by [Tsuyusato Kitsune][]
+- *jboss-cli* by [Raphaël Parrëe][]
+
+Improvements:
+
+- [Joël Porquet] has [greatly improved the definition of *makefile*][5b3e0e6].
+- *C++* class titles are now highlighted as in other languages with classes.
+- [Jordi Petit][] added rarely used `or`, `and` and `not` keywords to *C++*.
+- [Pieter Vantorre][] fixed highlighting of negative floating point values.
+
+
+[Tsuyusato Kitsune]: https://github.com/MakeNowJust
+[Jordi Petit]: https://github.com/jordi-petit
+[Raphaël Parrëe]: https://github.com/rparree
+[Pieter Vantorre]: https://github.com/NuclearCookie
+[5b3e0e6]: https://github.com/isagalaev/highlight.js/commit/5b3e0e68bfaae282faff6697d6a490567fa9d44b
+
+
+## Version 9.10.0
+
+Apologies for missing the previous release cycle. Some thing just can't be
+automated… Anyway, we're back!
+
+New languages:
+
+- *Hy* by [Sergey Sobko][]
+- *Leaf* by [Hale Chan][]
+- *N1QL* by [Andres Täht][] and [Rene Saarsoo][]
+
+Improvements:
+
+- *Rust* got updated with new keywords by [Kasper Andersen][] and then
+ significantly modernized even more by [Eduard-Mihai Burtescu][] (yes, @eddyb,
+ Rust core team member!)
+- *Python* updated with f-literals by [Philipp A][].
+- *YAML* updated with unquoted strings support.
+- *Gauss* updated with new keywords by [Matt Evans][].
+- *Lua* updated with new keywords by [Joe Blow][].
+- *Kotlin* updated with new keywords by [Philipp Hauer][].
+- *TypeScript* got highlighting of function params and updated keywords by
+ [Ike Ku][].
+- *Scheme* now correctly handles \`-quoted lists thanks to [Guannan Wei].
+- [Sam Wu][] fixed handling of `<<` in *C++* defines.
+
+[Philipp A]: https://github.com/flying-sheep
+[Philipp Hauer]: https://github.com/phauer
+[Sergey Sobko]: https://github.com/profitware
+[Hale Chan]: https://github.com/halechan
+[Matt Evans]: https://github.com/matthewevans
+[Joe Blow]: https://github.com/mossarelli
+[Kasper Andersen]: https://github.com/kasma1990
+[Eduard-Mihai Burtescu]: https://github.com/eddyb
+[Andres Täht]: https://github.com/andrestaht
+[Rene Saarsoo]: https://github.com/nene
+[Philipp Hauer]: https://github.com/phauer
+[Ike Ku]: https://github.com/dempfi
+[Guannan Wei]: https://github.com/Kraks
+[Sam Wu]: https://github.com/samsam2310
+
+
+## Version 9.9.0
+
+New languages
+
+- *LLVM* by [Michael Rodler][]
+
+Improvements:
+
+- *TypeScript* updated with annotations and param lists inside constructors, by
+ [Raphael Parree][].
+- *CoffeeScript* updated with new keywords and fixed to recognize JavaScript
+ in \`\`\`, thanks to thanks to [Geoffrey Booth][].
+- Compiler directives in *Delphi* are now correctly highlighted as "meta".
+
+[Raphael Parree]: https://github.com/rparree
+[Michael Rodler]: https://github.com/f0rki
+[Geoffrey Booth]: https://github.com/GeoffreyBooth
+
+
+## Version 9.8.0 "New York"
+
+This version is the second one that deserved a name. Because I'm in New York,
+and the release isn't missing the deadline only because it's still Tuesday on
+West Coast.
+
+New languages:
+
+- *Clean* by [Camil Staps][]
+- *Flix* by [Magnus Madsen][]
+
+Improvements:
+
+- [Kenton Hamaluik][] did a comprehensive update for *Haxe*.
+- New commands for *PowerShell* from [Nicolas Le Gall][].
+- [Jan T. Sott][] updated *NSIS*.
+- *Java* and *Swift* support unicode characters in identifiers thanks to
+ [Alexander Lichter][].
+
+[Camil Staps]: https://github.com/camilstaps
+[Magnus Madsen]: https://github.com/magnus-madsen
+[Kenton Hamaluik]: https://github.com/FuzzyWuzzie
+[Nicolas Le Gall]: https://github.com/darkitty
+[Jan T. Sott]: https://github.com/idleberg
+[Alexander Lichter]: https://github.com/manniL
+
+
+## Version 9.7.0
+
+A comprehensive bugfix release. This is one of the best things about
+highlight.js: even boring things keep getting better (even if slow).
+
+- VHDL updated with PSL keywords and uses more consistent styling.
+- Nested C-style comments no longer break highlighting in many languages.
+- JavaScript updated with `=>` functions, highlighted object attributes and
+ parsing within template string substitution blocks (`${...}`).
+- Fixed another corner case with self-closing ` ` in JSX.
+- Added `HEALTHCHECK` directive in Docker.
+- Delphi updated with new Free Pascal keywords.
+- Fixed digit separator parsing in C++.
+- C# updated with new keywords and fixed to allow multiple identifiers within
+ generics `<...>`.
+- Fixed another slow regex in Less.
+
+
+## Version 9.6.0
+
+New languages:
+
+- *ABNF* and *EBNF* by [Alex McKibben][]
+- *Awk* by [Matthew Daly][]
+- *SubUnit* by [Sergey Bronnikov][]
+
+New styles:
+
+- *Atom One* in both Dark and Light variants by [Daniel Gamage][]
+
+Plus, a few smaller updates for *Lasso*, *Elixir*, *C++* and *SQL*.
+
+[Alex McKibben]: https://github.com/mckibbenta
+[Daniel Gamage]: https://github.com/danielgamage
+[Matthew Daly]: https://github.com/matthewbdaly
+[Sergey Bronnikov]: https://github.com/ligurio
+
+
+## Version 9.5.0
+
+New languages:
+
+- *Excel* by [Victor Zhou][]
+- *Linden Scripting Language* by [Builder's Brewery][]
+- *TAP* (Test Anything Protocol) by [Sergey Bronnikov][]
+- *Pony* by [Joe Eli McIlvain][]
+- *Coq* by [Stephan Boyer][]
+- *dsconfig* and *LDIF* by [Jacob Childress][]
+
+New styles:
+
+- *Ocean Dark* by [Gavin Siu][]
+
+Notable changes:
+
+- [Minh Nguyễn][] added more built-ins to Objective C.
+- [Jeremy Hull][] fixed corner cases in C++ preprocessor directives and Diff
+ comments.
+- [Victor Zhou][] added support for digit separators in C++ numbers.
+
+[Gavin Siu]: https://github.com/gavsiu
+[Builder's Brewery]: https://github.com/buildersbrewery
+[Victor Zhou]: https://github.com/OiCMudkips
+[Sergey Bronnikov]: https://github.com/ligurio
+[Joe Eli McIlvain]: https://github.com/jemc
+[Stephan Boyer]: https://github.com/boyers
+[Jacob Childress]: https://github.com/braveulysses
+[Minh Nguyễn]: https://github.com/1ec5
+[Jeremy Hull]: https://github.com/sourrust
+
+
+## Version 9.4.0
+
+New languages:
+
+- *PureBASIC* by [Tristano Ajmone][]
+- *BNF* by [Oleg Efimov][]
+- *Ada* by [Lars Schulna][]
+
+New styles:
+
+- *PureBASIC* by [Tristano Ajmone][]
+
+Improvements to existing languages and styles:
+
+- We now highlight function declarations in Go.
+- [Taisuke Fujimoto][] contributed very convoluted rules for raw and
+ interpolated strings in C#.
+- [Boone Severson][] updated Verilog to comply with IEEE 1800-2012
+ SystemVerilog.
+- [Victor Zhou][] improved rules for comments and strings in PowerShell files.
+- [Janis Voigtländer][] updated the definition of Elm to version 0.17 of the
+ languages. Elm is now featured on the front page of .
+- Special variable `$this` is highlighted as a keyword in PHP.
+- `usize` and `isize` are now highlighted in Rust.
+- Fixed labels and directives in x86 assembler.
+
+[Tristano Ajmone]: https://github.com/tajmone
+[Taisuke Fujimoto]: https://github.com/temp-impl
+[Oleg Efimov]: https://github.com/Sannis
+[Boone Severson]: https://github.com/BooneJS
+[Victor Zhou]: https://github.com/OiCMudkips
+[Lars Schulna]: https://github.com/captain-hanuta
+[Janis Voigtländer]: https://github.com/jvoigtlaender
+
+
+## Version 9.3.0
+
+New languages:
+
+- *Tagger Script* by [Philipp Wolfer][]
+- *MoonScript* by [Billy Quith][]
+
+New styles:
+
+- *xt256* by [Herbert Shin][]
+
+Improvements to existing languages and styles:
+
+- More robust handling of unquoted HTML tag attributes
+- Relevance tuning for QML which was unnecessary eager at seizing other
+ languages' code
+- Improve GAMS language parsing
+- Fixed a bunch of bugs around selectors in Less
+- Kotlin's got a new definition for annotations, updated keywords and other
+ minor improvements
+- Added `move` to Rust keywords
+- Markdown now recognizes \`\`\`-fenced code blocks
+- Improved detection of function declarations in C++ and C#
+
+[Philipp Wolfer]: https://github.com/phw
+[Billy Quith]: https://github.com/billyquith
+[Herbert Shin]: https://github.com/initbar
+
+
+## Version 9.2.0
+
+New languages:
+
+- *QML* by [John Foster][]
+- *HTMLBars* by [Michael Johnston][]
+- *CSP* by [Taras][]
+- *Maxima* by [Robert Dodier][]
+
+New styles:
+
+- *Gruvbox* by [Qeole][]
+- *Dracula* by [Denis Ciccale][]
+
+Improvements to existing languages and styles:
+
+- We now correctly handle JSX with arbitrary node tree depth.
+- Argument list for `(lambda)` in Scheme is no longer highlighted as a function
+ call.
+- Stylus syntax doesn't break on valid CSS.
+- More correct handling of comments and strings and other improvements for
+ VimScript.
+- More subtle work on the default style.
+- We now use anonymous modules for AMD.
+- `macro_rules!` is now recognized as a built-in in Rust.
+
+[John Foster]: https://github.com/jf990
+[Qeole]: https://github.com/Qeole
+[Denis Ciccale]: https://github.com/dciccale
+[Michael Johnston]: https://github.com/lastobelus
+[Taras]: https://github.com/oxdef
+[Robert Dodier]: https://github.com/robert-dodier
+
+
+## Version 9.1.0
+
+New languages:
+
+- *Stan* by [Brendan Rocks][]
+- *BASIC* by [Raphaël Assénat][]
+- *GAUSS* by [Matt Evans][]
+- *DTS* by [Martin Braun][]
+- *Arduino* by [Stefania Mellai][]
+
+New Styles:
+
+- *Arduino Light* by [Stefania Mellai][]
+
+Improvements to existing languages and styles:
+
+- Handle return type annotations in Python
+- Allow shebang headers in Javascript
+- Support strings in Rust meta
+- Recognize `struct` as a class-level definition in Rust
+- Recognize b-prefixed chars and strings in Rust
+- Better numbers handling in Verilog
+
+[Brendan Rocks]: http://brendanrocks.com
+[Raphaël Assénat]: https://github.com/raphnet
+[Matt Evans]: https://github.com/matthewevans
+[Martin Braun]: https://github.com/mbr0wn
+[Stefania Mellai]: https://github.com/smellai
+
+
+## Version 9.0.0
+
+The new major version brings a reworked styling system. Highlight.js now defines
+a limited set of highlightable classes giving a consistent result across all the
+styles and languages. You can read a more detailed explanation and background in
+the [tracking issue][#348] that started this long process back in May.
+
+This change is backwards incompatible for those who uses highlight.js with a
+custom stylesheet. The [new style guide][sg] explains how to write styles
+in this new world.
+
+Bundled themes have also suffered a significant amount of improvements and may
+look different in places, but all the things now consistent and make more sense.
+Among others, the Default style has got a refresh and will probably be tweaked
+some more in next releases. Please do give your feedback in our
+[issue tracker][issues].
+
+New languages in this release:
+
+- *Caché Object Script* by [Nikita Savchenko][]
+- *YAML* by [Stefan Wienert][]
+- *MIPS Assembler* by [Nebuleon Fumika][]
+- *HSP* by [prince][]
+
+Improvements to existing languages and styles:
+
+- ECMAScript 6 modules import now do not require closing semicolon.
+- ECMAScript 6 classes constructors now highlighted.
+- Template string support for Typescript, as for ECMAScript 6.
+- Scala case classes params highlight fixed.
+- Built-in names introduced in Julia v0.4 added by [Kenta Sato][].
+- Refreshed Default style.
+
+Other notable changes:
+
+- [Web workers support][webworkers] added bu [Jan Kühle][].
+- We now have tests for compressed browser builds as well.
+- The building tool chain has been switched to node.js 4.x. and is now
+ shamelessly uses ES6 features all over the place, courtesy of [Jeremy Hull][].
+- License added to non-compressed browser build.
+
+[Jan Kühle]: https://github.com/frigus02
+[Stefan Wienert]: https://github.com/zealot128
+[Kenta Sato]: https://github.com/bicycle1885
+[Nikita Savchenko]: https://github.com/ZitRos
+[webworkers]: https://github.com/isagalaev/highlight.js#web-workers
+[Jeremy Hull]: https://github.com/sourrust
+[#348]: https://github.com/isagalaev/highlight.js/issues/348
+[sg]: http://highlightjs.readthedocs.org/en/latest/style-guide.html
+[issues]: https://github.com/isagalaev/highlight.js/issues
+[Nebuleon Fumika]: https://github.com/Nebuleon
+[prince]: https://github.com/prince-0203
+
+
+## Version 8.9.1
+
+Some last-minute changes reverted due to strange bug with minified browser build:
+
+- Scala case classes params highlight fixed
+- ECMAScript 6 modules import now do not require closing semicolon
+- ECMAScript 6 classes constructors now highlighted
+- Template string support for Typescript, as for ECMAScript 6
+- License added to not minified browser build
+
+
+## Version 8.9.0
+
+New languages:
+
+- *crmsh* by [Kristoffer Gronlund][]
+- *SQF* by [Soren Enevoldsen][]
+
+[Kristoffer Gronlund]: https://github.com/krig
+[Soren Enevoldsen]: https://github.com/senevoldsen90
+
+Notable fixes and improvements to existing languages:
+
+- Added `abstract` and `namespace` keywords to TypeScript by [Daniel Rosenwasser][]
+- Added `label` support to Dockerfile by [Ladislav Prskavec][]
+- Crystal highlighting improved by [Tsuyusato Kitsune][]
+- Missing Swift keywords added by [Nate Cook][]
+- Improve detection of C block comments
+- ~~Scala case classes params highlight fixed~~
+- ~~ECMAScript 6 modules import now do not require closing semicolon~~
+- ~~ECMAScript 6 classes constructors now highlighted~~
+- ~~Template string support for Typescript, as for ECMAScript 6~~
+
+Other notable changes:
+
+- ~~License added to not minified browser build~~
+
+[Kristoffer Gronlund]: https://github.com/krig
+[Søren Enevoldsen]: https://github.com/senevoldsen90
+[Daniel Rosenwasser]: https://github.com/DanielRosenwasser
+[Ladislav Prskavec]: https://github.com/abtris
+[Tsuyusato Kitsune]: https://github.com/MakeNowJust
+[Nate Cook]: https://github.com/natecook1000
+
+
+## Version 8.8.0
+
+New languages:
+
+- *Golo* by [Philippe Charrière][]
+- *GAMS* by [Stefan Bechert][]
+- *IRPF90* by [Anthony Scemama][]
+- *Access logs* by [Oleg Efimov][]
+- *Crystal* by [Tsuyusato Kitsune][]
+
+Notable fixes and improvements to existing languages:
+
+- JavaScript highlighting no longer fails with ES6 default parameters
+- Added keywords `async` and `await` to Python
+- PHP heredoc support improved
+- Allow preprocessor directives within C++ functions
+
+Other notable changes:
+
+- Change versions to X.Y.Z SemVer-compatible format
+- Added ability to build all targets at once
+
+[Philippe Charrière]: https://github.com/k33g
+[Stefan Bechert]: https://github.com/b-pos465
+[Anthony Scemama]: https://github.com/scemama
+[Oleg Efimov]: https://github.com/Sannis
+[Tsuyusato Kitsune]: https://github.com/MakeNowJust
+
+
+## Version 8.7
+
+New languages:
+
+- *Zephir* by [Oleg Efimov][]
+- *Elm* by [Janis Voigtländer][]
+- *XQuery* by [Dirk Kirsten][]
+- *Mojolicious* by [Dotan Dimet][]
+- *AutoIt* by Manh Tuan from [J2TeaM][]
+- *Toml* (ini extension) by [Guillaume Gomez][]
+
+New styles:
+
+- *Hopscotch* by [Jan T. Sott][]
+- *Grayscale* by [MY Sun][]
+
+Notable fixes and improvements to existing languages:
+
+- Fix encoding of images when copied over in certain builds
+- Fix incorrect highlighting of the word "bug" in comments
+- Treat decorators different from matrix multiplication in Python
+- Fix traits inheritance highlighting in Rust
+- Fix incorrect document
+- Oracle keywords added to SQL language definition by [Vadimtro][]
+- Postgres keywords added to SQL language definition by [Benjamin Auder][]
+- Fix registers in x86asm being highlighted as a hex number
+- Fix highlighting for numbers with a leading decimal point
+- Correctly highlight numbers and strings inside of C/C++ macros
+- C/C++ functions now support pointer, reference, and move returns
+
+[Oleg Efimov]: https://github.com/Sannis
+[Guillaume Gomez]: https://github.com/GuillaumeGomez
+[Janis Voigtländer]: https://github.com/jvoigtlaender
+[Jan T. Sott]: https://github.com/idleberg
+[Dirk Kirsten]: https://github.com/dirkk
+[MY Sun]: https://github.com/simonmysun
+[Vadimtro]: https://github.com/Vadimtro
+[Benjamin Auder]: https://github.com/ghost
+[Dotan Dimet]: https://github.com/dotandimet
+[J2TeaM]: https://github.com/J2TeaM
+
+
+## Version 8.6
+
+New languages:
+
+- *C/AL* by [Kenneth Fuglsang][]
+- *DNS zone file* by [Tim Schumacher][]
+- *Ceylon* by [Lucas Werkmeister][]
+- *OpenSCAD* by [Dan Panzarella][]
+- *Inform7* by [Bruno Dias][]
+- *armasm* by [Dan Panzarella][]
+- *TP* by [Jay Strybis][]
+
+New styles:
+
+- *Atelier Cave*, *Atelier Estuary*,
+ *Atelier Plateau* and *Atelier Savanna* by [Bram de Haan][]
+- *Github Gist* by [Louis Barranqueiro][]
+
+Notable fixes and improvements to existing languages:
+
+- Multi-line raw strings from C++11 are now supported
+- Fix class names with dashes in HAML
+- The `async` keyword from ES6/7 is now supported
+- TypeScript functions handle type and parameter complexity better
+- We unified phpdoc/javadoc/yardoc etc modes across all languages
+- CSS .class selectors relevance was dropped to prevent wrong language detection
+- Images is now included to CDN build
+- Release process is now automated
+
+[Bram de Haan]: https://github.com/atelierbram
+[Kenneth Fuglsang]: https://github.com/kfuglsang
+[Louis Barranqueiro]: https://github.com/LouisBarranqueiro
+[Tim Schumacher]: https://github.com/enko
+[Lucas Werkmeister]: https://github.com/lucaswerkmeister
+[Dan Panzarella]: https://github.com/pzl
+[Bruno Dias]: https://github.com/sequitur
+[Jay Strybis]: https://github.com/unreal
+
+
+## Version 8.5
+
+New languages:
+
+- *pf.conf* by [Peter Piwowarski][]
+- *Julia* by [Kenta Sato][]
+- *Prolog* by [Raivo Laanemets][]
+- *Docker* by [Alexis Hénaut][]
+- *Fortran* by [Anthony Scemama][] and [Thomas Applencourt][]
+- *Kotlin* by [Sergey Mashkov][]
+
+New styles:
+
+- *Agate* by [Taufik Nurrohman][]
+- *Darcula* by [JetBrains][]
+- *Atelier Sulphurpool* by [Bram de Haan][]
+- *Android Studio* by [Pedro Oliveira][]
+
+Notable fixes and improvements to existing languages:
+
+- ES6 features in JavaScript are better supported now by [Gu Yiling][].
+- Swift now recognizes body-less method definitions.
+- Single expression functions `def foo, do: ... ` now work in Elixir.
+- More uniform detection of built-in classes in Objective C.
+- Fixes for number literals and processor directives in Rust.
+- HTML `
+ ```
+
+- `tabReplace` and `useBR` that were used in different places are also unified
+ into the global options object and are to be set using `configure(options)`.
+ This function is documented in our [API docs][]. Also note that these
+ parameters are gone from `highlightBlock` and `fixMarkup` which are now also
+ rely on `configure`.
+
+- We removed public-facing (though undocumented) object `hljs.LANGUAGES` which
+ was used to register languages with the library in favor of two new methods:
+ `registerLanguage` and `getLanguage`. Both are documented in our [API docs][].
+
+- Result returned from `highlight` and `highlightAuto` no longer contains two
+ separate attributes contributing to relevance score, `relevance` and
+ `keyword_count`. They are now unified in `relevance`.
+
+Another technically compatible change that nonetheless might need attention:
+
+- The structure of the NPM package was refactored, so if you had installed it
+ locally, you'll have to update your paths. The usual `require('highlight.js')`
+ works as before. This is contributed by [Dmitry Smolin][].
+
+New features:
+
+- Languages now can be recognized by multiple names like "js" for JavaScript or
+ "html" for, well, HTML (which earlier insisted on calling it "xml"). These
+ aliases can be specified in the class attribute of the code container in your
+ HTML as well as in various API calls. For now there are only a few very common
+ aliases but we'll expand it in the future. All of them are listed in the
+ [class reference][cr].
+
+- Language detection can now be restricted to a subset of languages relevant in
+ a given context — a web page or even a single highlighting call. This is
+ especially useful for node.js build that includes all the known languages.
+ Another example is a StackOverflow-style site where users specify languages
+ as tags rather than in the markdown-formatted code snippets. This is
+ documented in the [API reference][] (see methods `highlightAuto` and
+ `configure`).
+
+- Language definition syntax streamlined with [variants][] and
+ [beginKeywords][].
+
+New languages and styles:
+
+- *Oxygene* by [Carlo Kok][]
+- *Mathematica* by [Daniel Kvasnička][]
+- *Autohotkey* by [Seongwon Lee][]
+- *Atelier* family of styles in 10 variants by [Bram de Haan][]
+- *Paraíso* styles by [Jan T. Sott][]
+
+Miscellaneous improvements:
+
+- Highlighting `=>` prompts in Clojure.
+- [Jeremy Hull][] fixed a lot of styles for consistency.
+- Finally, highlighting PHP and HTML [mixed in peculiar ways][php-html].
+- Objective C and C# now properly highlight titles in method definition.
+- Big overhaul of relevance counting for a number of languages. Please do report
+ bugs about mis-detection of non-trivial code snippets!
+
+[API reference]: http://highlightjs.readthedocs.org/en/latest/api.html
+
+[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
+[api docs]: http://highlightjs.readthedocs.org/en/latest/api.html
+[variants]: https://groups.google.com/d/topic/highlightjs/VoGC9-1p5vk/discussion
+[beginKeywords]: https://github.com/isagalaev/highlight.js/commit/6c7fdea002eb3949577a85b3f7930137c7c3038d
+[php-html]: https://twitter.com/highlightjs/status/408890903017689088
+
+[Carlo Kok]: https://github.com/carlokok
+[Bram de Haan]: https://github.com/atelierbram
+[Daniel Kvasnička]: https://github.com/dkvasnicka
+[Dmitry Smolin]: https://github.com/dimsmol
+[Jeremy Hull]: https://github.com/sourrust
+[Seongwon Lee]: https://github.com/dlimpid
+[Jan T. Sott]: https://github.com/idleberg
+
+
+## Version 7.5
+
+A catch-up release dealing with some of the accumulated contributions. This one
+is probably will be the last before the 8.0 which will be slightly backwards
+incompatible regarding some advanced use-cases.
+
+One outstanding change in this version is the addition of 6 languages to the
+[hosted script][d]: Markdown, ObjectiveC, CoffeeScript, Apache, Nginx and
+Makefile. It now weighs about 6K more but we're going to keep it under 30K.
+
+New languages:
+
+- OCaml by [Mehdi Dogguy][mehdid] and [Nicolas Braud-Santoni][nbraud]
+- [LiveCode Server][lcs] by [Ralf Bitter][revig]
+- Scilab by [Sylvestre Ledru][sylvestre]
+- basic support for Makefile by [Ivan Sagalaev][isagalaev]
+
+Improvements:
+
+- Ruby's got support for characters like `?A`, `?1`, `?\012` etc. and `%r{..}`
+ regexps.
+- Clojure now allows a function call in the beginning of s-expressions
+ `(($filter "myCount") (arr 1 2 3 4 5))`.
+- Haskell's got new keywords and now recognizes more things like pragmas,
+ preprocessors, modules, containers, FFIs etc. Thanks to [Zena Treep][treep]
+ for the implementation and to [Jeremy Hull][sourrust] for guiding it.
+- Miscellaneous fixes in PHP, Brainfuck, SCSS, Asciidoc, CMake, Python and F#.
+
+[mehdid]: https://github.com/mehdid
+[nbraud]: https://github.com/nbraud
+[revig]: https://github.com/revig
+[lcs]: http://livecode.com/developers/guides/server/
+[sylvestre]: https://github.com/sylvestre
+[isagalaev]: https://github.com/isagalaev
+[treep]: https://github.com/treep
+[sourrust]: https://github.com/sourrust
+[d]: http://highlightjs.org/download/
+
+
+## New core developers
+
+The latest long period of almost complete inactivity in the project coincided
+with growing interest to it led to a decision that now seems completely obvious:
+we need more core developers.
+
+So without further ado let me welcome to the core team two long-time
+contributors: [Jeremy Hull][] and [Oleg
+Efimov][].
+
+Hope now we'll be able to work through stuff faster!
+
+P.S. The historical commit is [here][1] for the record.
+
+[Jeremy Hull]: https://github.com/sourrust
+[Oleg Efimov]: https://github.com/sannis
+[1]: https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f
+
+
+## Version 7.4
+
+This long overdue version is a snapshot of the current source tree with all the
+changes that happened during the past year. Sorry for taking so long!
+
+Along with the changes in code highlight.js has finally got its new home at
+ , moving from its cradle on Software Maniacs which it
+outgrew a long time ago. Be sure to report any bugs about the site to
+.
+
+On to what's new…
+
+New languages:
+
+- Handlebars templates by [Robin Ward][]
+- Oracle Rules Language by [Jason Jacobson][]
+- F# by [Joans Follesø][]
+- AsciiDoc and Haml by [Dan Allen][]
+- Lasso by [Eric Knibbe][]
+- SCSS by [Kurt Emch][]
+- VB.NET by [Poren Chiang][]
+- Mizar by [Kelley van Evert][]
+
+[Robin Ward]: https://github.com/eviltrout
+[Jason Jacobson]: https://github.com/jayce7
+[Joans Follesø]: https://github.com/follesoe
+[Dan Allen]: https://github.com/mojavelinux
+[Eric Knibbe]: https://github.com/EricFromCanada
+[Kurt Emch]: https://github.com/kemch
+[Poren Chiang]: https://github.com/rschiang
+[Kelley van Evert]: https://github.com/kelleyvanevert
+
+New style themes:
+
+- Monokai Sublime by [noformnocontent][]
+- Railscasts by [Damien White][]
+- Obsidian by [Alexander Marenin][]
+- Docco by [Simon Madine][]
+- Mono Blue by [Ivan Sagalaev][] (uses a single color hue for everything)
+- Foundation by [Dan Allen][]
+
+[noformnocontent]: http://nn.mit-license.org/
+[Damien White]: https://github.com/visoft
+[Alexander Marenin]: https://github.com/ioncreature
+[Simon Madine]: https://github.com/thingsinjars
+[Ivan Sagalaev]: https://github.com/isagalaev
+
+Other notable changes:
+
+- Corrected many corner cases in CSS.
+- Dropped Python 2 version of the build tool.
+- Implemented building for the AMD format.
+- Updated Rust keywords (thanks to [Dmitry Medvinsky][]).
+- Literal regexes can now be used in language definitions.
+- CoffeeScript highlighting is now significantly more robust and rich due to
+ input from [Cédric Néhémie][].
+
+[Dmitry Medvinsky]: https://github.com/dmedvinsky
+[Cédric Néhémie]: https://github.com/abe33
+
+
+## Version 7.3
+
+- Since this version highlight.js no longer works in IE version 8 and older.
+ It's made it possible to reduce the library size and dramatically improve code
+ readability and made it easier to maintain. Time to go forward!
+
+- New languages: AppleScript (by [Nathan Grigg][ng] and [Dr. Drang][dd]) and
+ Brainfuck (by [Evgeny Stepanischev][bolk]).
+
+- Improvements to existing languages:
+
+ - interpreter prompt in Python (`>>>` and `...`)
+ - @-properties and classes in CoffeeScript
+ - E4X in JavaScript (by [Oleg Efimov][oe])
+ - new keywords in Perl (by [Kirk Kimmel][kk])
+ - big Ruby syntax update (by [Vasily Polovnyov][vast])
+ - small fixes in Bash
+
+- Also Oleg Efimov did a great job of moving all the docs for language and style
+ developers and contributors from the old wiki under the source code in the
+ "docs" directory. Now these docs are nicely presented at
+ .
+
+[ng]: https://github.com/nathan11g
+[dd]: https://github.com/drdrang
+[bolk]: https://github.com/bolknote
+[oe]: https://github.com/Sannis
+[kk]: https://github.com/kimmel
+[vast]: https://github.com/vast
+
+
+## Version 7.2
+
+A regular bug-fix release without any significant new features. Enjoy!
+
+
+## Version 7.1
+
+A Summer crop:
+
+- [Marc Fornos][mf] made the definition for Clojure along with the matching
+ style Rainbow (which, of course, works for other languages too).
+- CoffeeScript support continues to improve getting support for regular
+ expressions.
+- Yoshihide Jimbo ported to highlight.js [five Tomorrow styles][tm] from the
+ [project by Chris Kempson][tm0].
+- Thanks to [Casey Duncun][cd] the library can now be built in the popular
+ [AMD format][amd].
+- And last but not least, we've got a fair number of correctness and consistency
+ fixes, including a pretty significant refactoring of Ruby.
+
+[mf]: https://github.com/mfornos
+[tm]: http://jmblog.github.com/color-themes-for-highlightjs/
+[tm0]: https://github.com/ChrisKempson/Tomorrow-Theme
+[cd]: https://github.com/caseman
+[amd]: http://requirejs.org/docs/whyamd.html
+
+
+## Version 7.0
+
+The reason for the new major version update is a global change of keyword syntax
+which resulted in the library getting smaller once again. For example, the
+hosted build is 2K less than at the previous version while supporting two new
+languages.
+
+Notable changes:
+
+- The library now works not only in a browser but also with [node.js][]. It is
+ installable with `npm install highlight.js`. [API][] docs are available on our
+ wiki.
+
+- The new unique feature (apparently) among syntax highlighters is highlighting
+ *HTTP* headers and an arbitrary language in the request body. The most useful
+ languages here are *XML* and *JSON* both of which highlight.js does support.
+ Here's [the detailed post][p] about the feature.
+
+- Two new style themes: a dark "south" *[Pojoaque][]* by Jason Tate and an
+ emulation of*XCode* IDE by [Angel Olloqui][ao].
+
+- Three new languages: *D* by [Aleksandar Ružičić][ar], *R* by [Joe Cheng][jc]
+ and *GLSL* by [Sergey Tikhomirov][st].
+
+- *Nginx* syntax has become a million times smaller and more universal thanks to
+ remaking it in a more generic manner that doesn't require listing all the
+ directives in the known universe.
+
+- Function titles are now highlighted in *PHP*.
+
+- *Haskell* and *VHDL* were significantly reworked to be more rich and correct
+ by their respective maintainers [Jeremy Hull][sr] and [Igor Kalnitsky][ik].
+
+And last but not least, many bugs have been fixed around correctness and
+language detection.
+
+Overall highlight.js currently supports 51 languages and 20 style themes.
+
+[node.js]: http://nodejs.org/
+[api]: http://softwaremaniacs.org/wiki/doku.php/highlight.js:api
+[p]: http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/
+[pojoaque]: http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
+[ao]: https://github.com/angelolloqui
+[ar]: https://github.com/raleksandar
+[jc]: https://github.com/jcheng5
+[st]: https://github.com/tikhomirov
+[sr]: https://github.com/sourrust
+[ik]: https://github.com/ikalnitsky
+
+
+## Version 6.2
+
+A lot of things happened in highlight.js since the last version! We've got nine
+new contributors, the discussion group came alive, and the main branch on GitHub
+now counts more than 350 followers. Here are most significant results coming
+from all this activity:
+
+- 5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and
+ experimental support for markdown. Thanks go to [Andrey Vlasovskikh][av],
+ [Alexander Myadzel][am], [Dmytrii Nagirniak][dn], [Oleg Efimov][oe], [Denis
+ Bardadym][db] and [John Crepezzi][jc].
+
+- 2 new style themes: Monokai by [Luigi Maselli][lm] and stylistic imitation of
+ another well-known highlighter Google Code Prettify by [Aahan Krish][ak].
+
+- A vast number of [correctness fixes and code refactorings][log], mostly made
+ by [Oleg Efimov][oe] and [Evgeny Stepanischev][es].
+
+[av]: https://github.com/vlasovskikh
+[am]: https://github.com/myadzel
+[dn]: https://github.com/dnagir
+[oe]: https://github.com/Sannis
+[db]: https://github.com/btd
+[jc]: https://github.com/seejohnrun
+[lm]: http://grigio.org/
+[ak]: https://github.com/geekpanth3r
+[es]: https://github.com/bolknote
+[log]: https://github.com/isagalaev/highlight.js/commits/
+
+
+## Version 6.1 — Solarized
+
+[Jeremy Hull][jh] has implemented my dream feature — a port of [Solarized][]
+style theme famous for being based on the intricate color theory to achieve
+correct contrast and color perception. It is now available for highlight.js in
+both variants — light and dark.
+
+This version also adds a new original style Arta. Its author pumbur maintains a
+[heavily modified fork of highlight.js][pb] on GitHub.
+
+[jh]: https://github.com/sourrust
+[solarized]: http://ethanschoonover.com/solarized
+[pb]: https://github.com/pumbur/highlight.js
+
+
+## Version 6.0
+
+New major version of the highlighter has been built on a significantly
+refactored syntax. Due to this it's even smaller than the previous one while
+supporting more languages!
+
+New languages are:
+
+- Haskell by [Jeremy Hull][sourrust]
+- Erlang in two varieties — module and REPL — made collectively by [Nikolay
+ Zakharov][desh], [Dmitry Kovega][arhibot] and [Sergey Ignatov][ignatov]
+- Objective C by [Valerii Hiora][vhbit]
+- Vala by [Antono Vasiljev][antono]
+- Go by [Stephan Kountso][steplg]
+
+[sourrust]: https://github.com/sourrust
+[desh]: http://desh.su/
+[arhibot]: https://github.com/arhibot
+[ignatov]: https://github.com/ignatov
+[vhbit]: https://github.com/vhbit
+[antono]: https://github.com/antono
+[steplg]: https://github.com/steplg
+
+Also this version is marginally faster and fixes a number of small long-standing
+bugs.
+
+Developer overview of the new language syntax is available in a [blog post about
+recent beta release][beta].
+
+[beta]: http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/
+
+P.S. New version is not yet available on a Yandex CDN, so for now you have to
+download [your own copy][d].
+
+[d]: /soft/highlight/en/download/
+
+
+## Version 5.14
+
+Fixed bugs in HTML/XML detection and relevance introduced in previous
+refactoring.
+
+Also test.html now shows the second best result of language detection by
+relevance.
+
+
+## Version 5.13
+
+Past weekend began with a couple of simple additions for existing languages but
+ended up in a big code refactoring bringing along nice improvements for language
+developers.
+
+### For users
+
+- Description of C++ has got new keywords from the upcoming [C++ 0x][] standard.
+- Description of HTML has got new tags from [HTML 5][].
+- CSS-styles have been unified to use consistent padding and also have lost
+ pop-outs with names of detected languages.
+- [Igor Kalnitsky][ik] has sent two new language descriptions: CMake & VHDL.
+
+This makes total number of languages supported by highlight.js to reach 35.
+
+Bug fixes:
+
+- Custom classes on `` tags are not being overridden anymore
+- More correct highlighting of code blocks inside non-`` containers:
+ highlighter now doesn't insist on replacing them with its own container and
+ just replaces the contents.
+- Small fixes in browser compatibility and heuristics.
+
+[c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x
+[html 5]: http://en.wikipedia.org/wiki/HTML5
+[ik]: http://kalnitsky.org.ua/
+
+### For developers
+
+The most significant change is the ability to include language submodes right
+under `contains` instead of defining explicit named submodes in the main array:
+
+ contains: [
+ 'string',
+ 'number',
+ {begin: '\\n', end: hljs.IMMEDIATE_RE}
+ ]
+
+This is useful for auxiliary modes needed only in one place to define parsing.
+Note that such modes often don't have `className` and hence won't generate a
+separate `` in the resulting markup. This is similar in effect to
+`noMarkup: true`. All existing languages have been refactored accordingly.
+
+Test file test.html has at last become a real test. Now it not only puts the
+detected language name under the code snippet but also tests if it matches the
+expected one. Test summary is displayed right above all language snippets.
+
+
+## CDN
+
+Fine people at [Yandex][] agreed to host highlight.js on their big fast servers.
+[Link up][l]!
+
+[yandex]: http://yandex.com/
+[l]: http://softwaremaniacs.org/soft/highlight/en/download/
+
+
+## Version 5.10 — "Paris".
+
+Though I'm on a vacation in Paris, I decided to release a new version with a
+couple of small fixes:
+
+- Tomas Vitvar discovered that TAB replacement doesn't always work when used
+ with custom markup in code
+- SQL parsing is even more rigid now and doesn't step over SmallTalk in tests
+
+
+## Version 5.9
+
+A long-awaited version is finally released.
+
+New languages:
+
+- Andrew Fedorov made a definition for Lua
+- a long-time highlight.js contributor [Peter Leonov][pl] made a definition for
+ Nginx config
+- [Vladimir Moskva][vm] made a definition for TeX
+
+[pl]: http://kung-fu-tzu.ru/
+[vm]: http://fulc.ru/
+
+Fixes for existing languages:
+
+- [Loren Segal][ls] reworked the Ruby definition and added highlighting for
+ [YARD][] inline documentation
+- the definition of SQL has become more solid and now it shouldn't be overly
+ greedy when it comes to language detection
+
+[ls]: http://gnuu.org/
+[yard]: http://yardoc.org/
+
+The highlighter has become more usable as a library allowing to do highlighting
+from initialization code of JS frameworks and in ajax methods (see.
+readme.eng.txt).
+
+Also this version drops support for the [WordPress][wp] plugin. Everyone is
+welcome to [pick up its maintenance][p] if needed.
+
+[wp]: http://wordpress.org/
+[p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_highlight.js.php
+
+
+## Version 5.8
+
+- Jan Berkel has contributed a definition for Scala. +1 to hotness!
+- All CSS-styles are rewritten to work only inside `` tags to avoid
+ conflicts with host site styles.
+
+
+## Version 5.7.
+
+Fixed escaping of quotes in VBScript strings.
+
+
+## Version 5.5
+
+This version brings a small change: now .ini-files allow digits, underscores and
+square brackets in key names.
+
+
+## Version 5.4
+
+Fixed small but upsetting bug in the packer which caused incorrect highlighting
+of explicitly specified languages. Thanks to Andrew Fedorov for precise
+diagnostics!
+
+
+## Version 5.3
+
+The version to fulfil old promises.
+
+The most significant change is that highlight.js now preserves custom user
+markup in code along with its own highlighting markup. This means that now it's
+possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the
+[initial proposal][1] and for making a proof-of-concept patch.
+
+Also in this version:
+
+- [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented
+ support for CSS @-rules and Ruby symbols.
+- Yura Zaripov has sent two styles: Brown Paper and School Book.
+- Oleg Volchkov has sent a definition for [Parser 3][p3].
+
+[1]: http://softwaremaniacs.org/forum/highlightjs/6612/
+[p3]: http://www.parser.ru/
+[vp]: http://vasily.polovnyov.ru/
+[vd]: http://dolzhenko.blogspot.com/
+
+
+## Version 5.2
+
+- at last it's possible to replace indentation TABs with something sensible
+ (e.g. 2 or 4 spaces)
+- new keywords and built-ins for 1C by Sergey Baranov
+- a couple of small fixes to Apache highlighting
+
+
+## Version 5.1
+
+This is one of those nice version consisting entirely of new and shiny
+contributions!
+
+- [Vladimir Ermakov][vooon] created highlighting for AVR Assembler
+- [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his
+ original visual style for it is now available for all highlight.js languages
+ under the name "Magula".
+- [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan
+ languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on
+ the matter.
+
+[vooon]: http://vehq.ru/about/
+[rukeba]: http://rukeba.com/
+[drake]: http://drakeguan.org/
+[ke]: http://k-evdokimenko.moikrug.ru/
+
+
+## Version 5.0
+
+The main change in the new major version of highlight.js is a mechanism for
+packing several languages along with the library itself into a single compressed
+file. Now sites using several languages will load considerably faster because
+the library won't dynamically include additional files while loading.
+
+Also this version fixes a long-standing bug with Javascript highlighting that
+couldn't distinguish between regular expressions and division operations.
+
+And as usually there were a couple of minor correctness fixes.
+
+Great thanks to all contributors! Keep using highlight.js.
+
+
+## Version 4.3
+
+This version comes with two contributions from [Jason Diamond][jd]:
+
+- language definition for C# (yes! it was a long-missed thing!)
+- Visual Studio-like highlighting style
+
+Plus there are a couple of minor bug fixes for parsing HTML and XML attributes.
+
+[jd]: http://jason.diamond.name/weblog/
+
+
+## Version 4.2
+
+The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's
+somewhat experimental meaning that for highlighting "keywords" it doesn't use
+any pre-defined set of a Lisp dialect. Instead it tries to highlight first word
+in parentheses wherever it makes sense. I'd like to ask people programming in
+Lisp to confirm if it's a good idea and send feedback to [the forum][f].
+
+Other changes:
+
+- Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic
+- [Vladimir Epifanov][voldmar] has implemented javascript style switcher for
+ test.html
+- comments now allowed inside Ruby function definition
+- [MEL][] language from [Shuen-Huei Guan][drake]
+- whitespace now allowed between `` and ``
+- better auto-detection of C++ and PHP
+- HTML allows embedded VBScript (`<% .. %>`)
+
+[f]: http://softwaremaniacs.org/forum/highlightjs/
+[voldmar]: http://voldmar.ya.ru/
+[mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language
+[drake]: http://drakeguan.org/
+
+
+## Version 4.1
+
+Languages:
+
+- Bash from Vah
+- DOS bat-files from Alexander Makarov (Sam)
+- Diff files from Vasily Polovnyov
+- Ini files from myself though initial idea was from Sam
+
+Styles:
+
+- Zenburn from Vladimir Epifanov, this is an imitation of a
+ [well-known theme for Vim][zenburn].
+- Ascetic from myself, as a realization of ideals of non-flashy highlighting:
+ just one color in only three gradations :-)
+
+In other news. [One small bug][bug] was fixed, built-in keywords were added for
+Python and C++ which improved auto-detection for the latter (it was shame that
+[my wife's blog][alenacpp] had issues with it from time to time). And lastly
+thanks go to Sam for getting rid of my stylistic comments in code that were
+getting in the way of [JSMin][].
+
+[zenburn]: http://en.wikipedia.org/wiki/Zenburn
+[alenacpp]: http://alenacpp.blogspot.com/
+[bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823
+[jsmin]: http://code.google.com/p/jsmin-php/
+
+
+## Version 4.0
+
+New major version is a result of vast refactoring and of many contributions.
+
+Visible new features:
+
+- Highlighting of embedded languages. Currently is implemented highlighting of
+ Javascript and CSS inside HTML.
+- Bundled 5 ready-made style themes!
+
+Invisible new features:
+
+- Highlight.js no longer pollutes global namespace. Only one object and one
+ function for backward compatibility.
+- Performance is further increased by about 15%.
+
+Changing of a major version number caused by a new format of language definition
+files. If you use some third-party language files they should be updated.
+
+
+## Version 3.5
+
+A very nice version in my opinion fixing a number of small bugs and slightly
+increased speed in a couple of corner cases. Thanks to everybody who reports
+bugs in he [forum][f] and by email!
+
+There is also a new language — XML. A custom XML formerly was detected as HTML
+and didn't highlight custom tags. In this version I tried to make custom XML to
+be detected and highlighted by its own rules. Which by the way include such
+things as CDATA sections and processing instructions (` ... ?>`).
+
+[f]: http://softwaremaniacs.org/forum/viewforum.php?id=6
+
+
+## Version 3.3
+
+[Vladimir Gubarkov][xonix] has provided an interesting and useful addition.
+File export.html contains a little program that shows and allows to copy and
+paste an HTML code generated by the highlighter for any code snippet. This can
+be useful in situations when one can't use the script itself on a site.
+
+
+[xonix]: http://xonixx.blogspot.com/
+
+
+## Version 3.2 consists completely of contributions:
+
+- Vladimir Gubarkov has described SmallTalk
+- Yuri Ivanov has described 1C
+- Peter Leonov has packaged the highlighter as a Firefox extension
+- Vladimir Ermakov has compiled a mod for phpBB
+
+Many thanks to you all!
+
+
+## Version 3.1
+
+Three new languages are available: Django templates, SQL and Axapta. The latter
+two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an
+SQL definition but I'd never started it be it from the ground up :-)
+
+The engine itself has got a long awaited feature of grouping keywords
+("keyword", "built-in function", "literal"). No more hacks!
+
+[1]: http://roudakov.ru/
+
+
+## Version 3.0
+
+It is major mainly because now highlight.js has grown large and has become
+modular. Now when you pass it a list of languages to highlight it will
+dynamically load into a browser only those languages.
+
+Also:
+
+- Konstantin Evdokimenko of [RibKit][] project has created a highlighting for
+ RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more
+ languages!
+- Heuristics for C++ and HTML got better.
+- I've implemented (at last) a correct handling of backslash escapes in C-like
+ languages.
+
+There is also a small backwards incompatible change in the new version. The
+function initHighlighting that was used to initialize highlighting instead of
+initHighlightingOnLoad a long time ago no longer works. If you by chance still
+use it — replace it with the new one.
+
+[RibKit]: http://ribkit.sourceforge.net/
+
+
+## Version 2.9
+
+Highlight.js is a parser, not just a couple of regular expressions. That said
+I'm glad to announce that in the new version 2.9 has support for:
+
+- in-string substitutions for Ruby -- `#{...}`
+- strings from from numeric symbol codes (like #XX) for Delphi
+
+
+## Version 2.8
+
+A maintenance release with more tuned heuristics. Fully backwards compatible.
+
+
+## Version 2.7
+
+- Nikita Ledyaev presents highlighting for VBScript, yay!
+- A couple of bugs with escaping in strings were fixed thanks to Mickle
+- Ongoing tuning of heuristics
+
+Fixed bugs were rather unpleasant so I encourage everyone to upgrade!
+
+
+## Version 2.4
+
+- Peter Leonov provides another improved highlighting for Perl
+- Javascript gets a new kind of keywords — "literals". These are the words
+ "true", "false" and "null"
+
+Also highlight.js homepage now lists sites that use the library. Feel free to
+add your site by [dropping me a message][mail] until I find the time to build a
+submit form.
+
+[mail]: mailto:Maniac@SoftwareManiacs.Org
+
+
+## Version 2.3
+
+This version fixes IE breakage in previous version. My apologies to all who have
+already downloaded that one!
+
+
+## Version 2.2
+
+- added highlighting for Javascript
+- at last fixed parsing of Delphi's escaped apostrophes in strings
+- in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in
+ Perl
+
+
+## Version 2.0
+
+- Ruby support by [Anton Kovalyov][ak]
+- speed increased by orders of magnitude due to new way of parsing
+- this same way allows now correct highlighting of keywords in some tricky
+ places (like keyword "End" at the end of Delphi classes)
+
+[ak]: http://anton.kovalyov.net/
+
+
+## Version 1.0
+
+Version 1.0 of javascript syntax highlighter is released!
+
+It's the first version available with English description. Feel free to post
+your comments and question to [highlight.js forum][forum]. And don't be afraid
+if you find there some fancy Cyrillic letters -- it's for Russian users too :-)
+
+[forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6
diff --git a/docs/themes/angular-google-maps/static/images/highlight/LICENSE b/docs/themes/angular-google-maps/static/images/highlight/LICENSE
new file mode 100644
index 000000000..422deb735
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2006, Ivan Sagalaev
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of highlight.js nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/docs/themes/angular-google-maps/static/images/highlight/README.md b/docs/themes/angular-google-maps/static/images/highlight/README.md
new file mode 100644
index 000000000..9f76e6bd5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/README.md
@@ -0,0 +1,150 @@
+# Highlight.js
+
+[](https://travis-ci.org/isagalaev/highlight.js)
+
+Highlight.js is a syntax highlighter written in JavaScript. It works in
+the browser as well as on the server. It works with pretty much any
+markup, doesn’t depend on any framework and has automatic language
+detection.
+
+## Getting Started
+
+The bare minimum for using highlight.js on a web page is linking to the
+library along with one of the styles and calling
+[`initHighlightingOnLoad`][1]:
+
+```html
+
+
+
+```
+
+This will find and highlight code inside of `` tags; it tries
+to detect the language automatically. If automatic detection doesn’t
+work for you, you can specify the language in the `class` attribute:
+
+```html
+...
+```
+
+The list of supported language classes is available in the [class
+reference][2]. Classes can also be prefixed with either `language-` or
+`lang-`.
+
+To disable highlighting altogether use the `nohighlight` class:
+
+```html
+...
+```
+
+## Custom Initialization
+
+When you need a bit more control over the initialization of
+highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4]
+functions. This allows you to control *what* to highlight and *when*.
+
+Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using
+jQuery:
+
+```javascript
+$(document).ready(function() {
+ $('pre code').each(function(i, block) {
+ hljs.highlightBlock(block);
+ });
+});
+```
+
+You can use any tags instead of `` to mark up your code. If
+you don't use a container that preserve line breaks you will need to
+configure highlight.js to use the `
` tag:
+
+```javascript
+hljs.configure({useBR: true});
+
+$('div.code').each(function(i, block) {
+ hljs.highlightBlock(block);
+});
+```
+
+For other options refer to the documentation for [`configure`][4].
+
+
+## Web Workers
+
+You can run highlighting inside a web worker to avoid freezing the browser
+window while dealing with very big chunks of code.
+
+In your main script:
+
+```javascript
+addEventListener('load', function() {
+ var code = document.querySelector('#code');
+ var worker = new Worker('worker.js');
+ worker.onmessage = function(event) { code.innerHTML = event.data; }
+ worker.postMessage(code.textContent);
+})
+```
+
+In worker.js:
+
+```javascript
+onmessage = function(event) {
+ importScripts('/highlight.pack.js');
+ var result = self.hljs.highlightAuto(event.data);
+ postMessage(result.value);
+}
+```
+
+
+## Getting the Library
+
+You can get highlight.js as a hosted, or custom-build, browser script or
+as a server module. Right out of the box the browser script supports
+both AMD and CommonJS, so if you wish you can use RequireJS or
+Browserify without having to build from source. The server module also
+works perfectly fine with Browserify, but there is the option to use a
+build specific to browsers rather than something meant for a server.
+Head over to the [download page][5] for all the options.
+
+**Don't link to GitHub directly.** The library is not supposed to work straight
+from the source, it requires building. If none of the pre-packaged options
+work for you refer to the [building documentation][6].
+
+**The CDN-hosted package doesn't have all the languages.** Otherwise it'd be
+too big. If you don't see the language you need in the ["Common" section][5],
+it can be added manually:
+
+```html
+
+```
+
+**On Almond.** You need to use the optimizer to give the module a name. For
+example:
+
+```
+r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
+```
+
+
+## License
+
+Highlight.js is released under the BSD License. See [LICENSE][7] file
+for details.
+
+## Links
+
+The official site for the library is at .
+
+Further in-depth documentation for the API and other topics is at
+ .
+
+Authors and contributors are listed in the [AUTHORS.en.txt][8] file.
+
+[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
+[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
+[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
+[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
+[5]: https://highlightjs.org/download/
+[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
+[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
+[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt
diff --git a/docs/themes/angular-google-maps/static/images/highlight/README.ru.md b/docs/themes/angular-google-maps/static/images/highlight/README.ru.md
new file mode 100644
index 000000000..ac481d071
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/README.ru.md
@@ -0,0 +1,142 @@
+# Highlight.js
+
+Highlight.js — это инструмент для подсветки синтаксиса, написанный на JavaScript. Он работает
+и в браузере, и на сервере. Он работает с практически любой HTML разметкой, не
+зависит от каких-либо фреймворков и умеет автоматически определять язык.
+
+
+## Начало работы
+
+Минимум, что нужно сделать для использования highlight.js на веб-странице — это
+подключить библиотеку, CSS-стили и вызывать [`initHighlightingOnLoad`][1]:
+
+```html
+
+
+
+```
+
+Библиотека найдёт и раскрасит код внутри тегов ``, попытавшись
+автоматически определить язык. Когда автоопределение не срабатывает, можно явно
+указать язык в атрибуте class:
+
+```html
+...
+```
+
+Список поддерживаемых классов языков доступен в [справочнике по классам][2].
+Класс также можно предварить префиксами `language-` или `lang-`.
+
+Чтобы отключить подсветку для какого-то блока, используйте класс `nohighlight`:
+
+```html
+...
+```
+
+## Инициализация вручную
+
+Чтобы иметь чуть больше контроля за инициализацией подсветки, вы можете
+использовать функции [`highlightBlock`][3] и [`configure`][4]. Таким образом
+можно управлять тем, *что* и *когда* подсвечивать.
+
+Вот пример инициализации, эквивалентной вызову [`initHighlightingOnLoad`][1], но
+с использованием jQuery:
+
+```javascript
+$(document).ready(function() {
+ $('pre code').each(function(i, block) {
+ hljs.highlightBlock(block);
+ });
+});
+```
+
+Вы можете использовать любые теги разметки вместо ``. Если
+используете контейнер, не сохраняющий переводы строк, вам нужно сказать
+highlight.js использовать для них тег `
`:
+
+```javascript
+hljs.configure({useBR: true});
+
+$('div.code').each(function(i, block) {
+ hljs.highlightBlock(block);
+});
+```
+
+Другие опции можно найти в документации функции [`configure`][4].
+
+
+## Web Workers
+
+Подсветку можно запустить внутри web worker'а, чтобы окно
+браузера не подтормаживало при работе с большими кусками кода.
+
+В основном скрипте:
+
+```javascript
+addEventListener('load', function() {
+ var code = document.querySelector('#code');
+ var worker = new Worker('worker.js');
+ worker.onmessage = function(event) { code.innerHTML = event.data; }
+ worker.postMessage(code.textContent);
+})
+```
+
+В worker.js:
+
+```javascript
+onmessage = function(event) {
+ importScripts('/highlight.pack.js');
+ var result = self.hljs.highlightAuto(event.data);
+ postMessage(result.value);
+}
+```
+
+
+## Установка библиотеки
+
+Highlight.js можно использовать в браузере прямо с CDN хостинга или скачать
+индивидуальную сборку, а также установив модуль на сервере. На
+[странице загрузки][5] подробно описаны все варианты.
+
+**Не подключайте GitHub напрямую.** Библиотека не предназначена для
+использования в виде исходного кода, а требует отдельной сборки. Если вам не
+подходит ни один из готовых вариантов, читайте [документацию по сборке][6].
+
+**Файл на CDN содержит не все языки.** Иначе он будет слишком большого размера.
+Если нужного вам языка нет в [категории "Common"][5], можно дообавить его
+вручную:
+
+```html
+
+```
+
+**Про Almond.** Нужно задать имя модуля в оптимизаторе, например:
+
+```
+r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
+```
+
+
+## Лицензия
+
+Highlight.js распространяется под лицензией BSD. Подробнее читайте файл
+[LICENSE][7].
+
+
+## Ссылки
+
+Официальный сайт билиотеки расположен по адресу .
+
+Более подробная документация по API и другим темам расположена на
+ .
+
+Авторы и контрибьюторы перечислены в файле [AUTHORS.ru.txt][8] file.
+
+[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
+[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
+[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
+[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
+[5]: https://highlightjs.org/download/
+[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
+[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
+[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.ru.txt
diff --git a/docs/themes/angular-google-maps/static/images/highlight/highlight.pack.js b/docs/themes/angular-google-maps/static/images/highlight/highlight.pack.js
new file mode 100644
index 000000000..47e470f6b
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/highlight.pack.js
@@ -0,0 +1,2 @@
+/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */
+!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){s+=""+t(e)+">"}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"
":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/
/g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C=" ",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/,r:0,c:[{cN:"attr",b:e,r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b:/,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("java",function(e){var a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",t=a+"(<"+a+"(\\s*,\\s*"+a+")*>)?",r="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:s,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});
\ No newline at end of file
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/agate.css b/docs/themes/angular-google-maps/static/images/highlight/styles/agate.css
new file mode 100644
index 000000000..8d64547c5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/agate.css
@@ -0,0 +1,108 @@
+/*!
+ * Agate by Taufik Nurrohman
+ * ----------------------------------------------------
+ *
+ * #ade5fc
+ * #a2fca2
+ * #c6b4f0
+ * #d36363
+ * #fcc28c
+ * #fc9b9b
+ * #ffa
+ * #fff
+ * #333
+ * #62c8f3
+ * #888
+ *
+ */
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #333;
+ color: white;
+}
+
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-code,
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-tag {
+ color: #62c8f3;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ade5fc;
+}
+
+.hljs-string,
+.hljs-bullet {
+ color: #a2fca2;
+}
+
+.hljs-type,
+.hljs-title,
+.hljs-section,
+.hljs-attribute,
+.hljs-quote,
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #ffa;
+}
+
+.hljs-number,
+.hljs-symbol,
+.hljs-bullet {
+ color: #d36363;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color: #fcc28c;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-code {
+ color: #888;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #c6b4f0;
+}
+
+.hljs-meta {
+ color: #fc9b9b;
+}
+
+.hljs-deletion {
+ background-color: #fc9b9b;
+ color: #333;
+}
+
+.hljs-addition {
+ background-color: #a2fca2;
+ color: #333;
+}
+
+.hljs a {
+ color: inherit;
+}
+
+.hljs a:focus,
+.hljs a:hover {
+ color: inherit;
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/androidstudio.css b/docs/themes/angular-google-maps/static/images/highlight/styles/androidstudio.css
new file mode 100644
index 000000000..bc8e473b5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/androidstudio.css
@@ -0,0 +1,66 @@
+/*
+Date: 24 Fev 2015
+Author: Pedro Oliveira
+*/
+
+.hljs {
+ color: #a9b7c6;
+ background: #282b2e;
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+}
+
+.hljs-number,
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet {
+ color: #6897BB;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-deletion {
+ color: #cc7832;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link {
+ color: #629755;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #808080;
+}
+
+.hljs-meta {
+ color: #bbb529;
+}
+
+.hljs-string,
+.hljs-attribute,
+.hljs-addition {
+ color: #6A8759;
+}
+
+.hljs-section,
+.hljs-title,
+.hljs-type {
+ color: #ffc66d;
+}
+
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #e8bf6a;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/arduino-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/arduino-light.css
new file mode 100644
index 000000000..4b8b7fd3c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/arduino-light.css
@@ -0,0 +1,88 @@
+/*
+
+Arduino® Light Theme - Stefania Mellai
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #FFFFFF;
+}
+
+.hljs,
+.hljs-subst {
+ color: #434f54;
+}
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-doctag,
+.hljs-name {
+ color: #00979D;
+}
+
+.hljs-built_in,
+.hljs-literal,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+ color: #D35400;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #00979D;
+}
+
+.hljs-type,
+.hljs-string,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+ color: #005C5F;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #880000;
+ font-weight: bold;
+}
+
+.hljs-comment {
+ color: rgba(149,165,166,.8);
+}
+
+.hljs-meta-keyword {
+ color: #728E00;
+}
+
+.hljs-meta {
+ color: #728E00;
+ color: #434f54;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-function {
+ color: #728E00;
+}
+
+.hljs-number {
+ color: #8A7B52;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/arta.css b/docs/themes/angular-google-maps/static/images/highlight/styles/arta.css
new file mode 100644
index 000000000..75ef3a9e5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/arta.css
@@ -0,0 +1,73 @@
+/*
+Date: 17.V.2011
+Author: pumbur
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #222;
+}
+
+.hljs,
+.hljs-subst {
+ color: #aaa;
+}
+
+.hljs-section {
+ color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+ color: #444;
+}
+
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-regexp {
+ color: #ffcc33;
+}
+
+.hljs-number,
+.hljs-addition {
+ color: #00cc66;
+}
+
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-link {
+ color: #32aaee;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #6644aa;
+}
+
+.hljs-title,
+.hljs-variable,
+.hljs-deletion,
+.hljs-template-tag {
+ color: #bb1166;
+}
+
+.hljs-section,
+.hljs-doctag,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/ascetic.css b/docs/themes/angular-google-maps/static/images/highlight/styles/ascetic.css
new file mode 100644
index 000000000..48397e889
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/ascetic.css
@@ -0,0 +1,45 @@
+/*
+
+Original style from softwaremaniacs.org (c) Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: white;
+ color: black;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-section,
+.hljs-addition,
+.hljs-attribute,
+.hljs-link {
+ color: #888;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta,
+.hljs-deletion {
+ color: #ccc;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-name,
+.hljs-type,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-cave-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-cave-dark.css
new file mode 100644
index 000000000..65428f3b1
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-cave-dark.css
@@ -0,0 +1,83 @@
+/* Base16 Atelier Cave Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Cave Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7e7887;
+}
+
+/* Atelier-Cave Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-regexp,
+.hljs-link,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #be4678;
+}
+
+/* Atelier-Cave Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #aa573c;
+}
+
+/* Atelier-Cave Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #2a9292;
+}
+
+/* Atelier-Cave Blue */
+.hljs-title,
+.hljs-section {
+ color: #576ddb;
+}
+
+/* Atelier-Cave Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #955ae7;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #19171c;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #be4678;
+}
+
+.hljs-addition {
+ background-color: #2a9292;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #19171c;
+ color: #8b8792;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-cave-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-cave-light.css
new file mode 100644
index 000000000..b419f9fd8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-cave-light.css
@@ -0,0 +1,85 @@
+/* Base16 Atelier Cave Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Cave Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #655f6d;
+}
+
+/* Atelier-Cave Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #be4678;
+}
+
+/* Atelier-Cave Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #aa573c;
+}
+
+/* Atelier-Cave Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #2a9292;
+}
+
+/* Atelier-Cave Blue */
+.hljs-title,
+.hljs-section {
+ color: #576ddb;
+}
+
+/* Atelier-Cave Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #955ae7;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #19171c;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #be4678;
+}
+
+.hljs-addition {
+ background-color: #2a9292;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #efecf4;
+ color: #585260;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-dune-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-dune-dark.css
new file mode 100644
index 000000000..1684f5225
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-dune-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Dune Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Dune Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #999580;
+}
+
+/* Atelier-Dune Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d73737;
+}
+
+/* Atelier-Dune Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b65611;
+}
+
+/* Atelier-Dune Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #60ac39;
+}
+
+/* Atelier-Dune Blue */
+.hljs-title,
+.hljs-section {
+ color: #6684e1;
+}
+
+/* Atelier-Dune Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b854d4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #20201d;
+ color: #a6a28c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-dune-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-dune-light.css
new file mode 100644
index 000000000..547719de8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-dune-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Dune Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Dune Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7d7a68;
+}
+
+/* Atelier-Dune Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d73737;
+}
+
+/* Atelier-Dune Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b65611;
+}
+
+/* Atelier-Dune Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #60ac39;
+}
+
+/* Atelier-Dune Blue */
+.hljs-title,
+.hljs-section {
+ color: #6684e1;
+}
+
+/* Atelier-Dune Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b854d4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #fefbec;
+ color: #6e6b5e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-estuary-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-estuary-dark.css
new file mode 100644
index 000000000..a5e507187
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-estuary-dark.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Estuary Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Estuary Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #878573;
+}
+
+/* Atelier-Estuary Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ba6236;
+}
+
+/* Atelier-Estuary Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #ae7313;
+}
+
+/* Atelier-Estuary Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7d9726;
+}
+
+/* Atelier-Estuary Blue */
+.hljs-title,
+.hljs-section {
+ color: #36a166;
+}
+
+/* Atelier-Estuary Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #5f9182;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #22221b;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ba6236;
+}
+
+.hljs-addition {
+ background-color: #7d9726;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #22221b;
+ color: #929181;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-estuary-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-estuary-light.css
new file mode 100644
index 000000000..1daee5d98
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-estuary-light.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Estuary Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Estuary Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #6c6b5a;
+}
+
+/* Atelier-Estuary Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ba6236;
+}
+
+/* Atelier-Estuary Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #ae7313;
+}
+
+/* Atelier-Estuary Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7d9726;
+}
+
+/* Atelier-Estuary Blue */
+.hljs-title,
+.hljs-section {
+ color: #36a166;
+}
+
+/* Atelier-Estuary Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #5f9182;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #22221b;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ba6236;
+}
+
+.hljs-addition {
+ background-color: #7d9726;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f4f3ec;
+ color: #5f5e4e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-forest-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-forest-dark.css
new file mode 100644
index 000000000..0ef4fae31
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-forest-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Forest Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Forest Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #9c9491;
+}
+
+/* Atelier-Forest Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #f22c40;
+}
+
+/* Atelier-Forest Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #df5320;
+}
+
+/* Atelier-Forest Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7b9726;
+}
+
+/* Atelier-Forest Blue */
+.hljs-title,
+.hljs-section {
+ color: #407ee7;
+}
+
+/* Atelier-Forest Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6666ea;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1b1918;
+ color: #a8a19f;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-forest-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-forest-light.css
new file mode 100644
index 000000000..bbedde18a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-forest-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Forest Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Forest Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #766e6b;
+}
+
+/* Atelier-Forest Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #f22c40;
+}
+
+/* Atelier-Forest Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #df5320;
+}
+
+/* Atelier-Forest Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #7b9726;
+}
+
+/* Atelier-Forest Blue */
+.hljs-title,
+.hljs-section {
+ color: #407ee7;
+}
+
+/* Atelier-Forest Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6666ea;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f1efee;
+ color: #68615e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-heath-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-heath-dark.css
new file mode 100644
index 000000000..fe01ff721
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-heath-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Heath Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Heath Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #9e8f9e;
+}
+
+/* Atelier-Heath Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca402b;
+}
+
+/* Atelier-Heath Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #a65926;
+}
+
+/* Atelier-Heath Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #918b3b;
+}
+
+/* Atelier-Heath Blue */
+.hljs-title,
+.hljs-section {
+ color: #516aec;
+}
+
+/* Atelier-Heath Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #7b59c0;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1b181b;
+ color: #ab9bab;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-heath-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-heath-light.css
new file mode 100644
index 000000000..ee43786d1
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-heath-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Heath Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Heath Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #776977;
+}
+
+/* Atelier-Heath Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca402b;
+}
+
+/* Atelier-Heath Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #a65926;
+}
+
+/* Atelier-Heath Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #918b3b;
+}
+
+/* Atelier-Heath Blue */
+.hljs-title,
+.hljs-section {
+ color: #516aec;
+}
+
+/* Atelier-Heath Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #7b59c0;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f7f3f7;
+ color: #695d69;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-lakeside-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-lakeside-dark.css
new file mode 100644
index 000000000..a937d3bf5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-lakeside-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Lakeside Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Lakeside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7195a8;
+}
+
+/* Atelier-Lakeside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d22d72;
+}
+
+/* Atelier-Lakeside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #935c25;
+}
+
+/* Atelier-Lakeside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #568c3b;
+}
+
+/* Atelier-Lakeside Blue */
+.hljs-title,
+.hljs-section {
+ color: #257fad;
+}
+
+/* Atelier-Lakeside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6b6bb8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #161b1d;
+ color: #7ea2b4;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-lakeside-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-lakeside-light.css
new file mode 100644
index 000000000..6c7e8f9ef
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-lakeside-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Lakeside Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Lakeside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #5a7b8c;
+}
+
+/* Atelier-Lakeside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d22d72;
+}
+
+/* Atelier-Lakeside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #935c25;
+}
+
+/* Atelier-Lakeside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #568c3b;
+}
+
+/* Atelier-Lakeside Blue */
+.hljs-title,
+.hljs-section {
+ color: #257fad;
+}
+
+/* Atelier-Lakeside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6b6bb8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #ebf8ff;
+ color: #516d7b;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-plateau-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-plateau-dark.css
new file mode 100644
index 000000000..3bb052693
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-plateau-dark.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Plateau Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Plateau Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7e7777;
+}
+
+/* Atelier-Plateau Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca4949;
+}
+
+/* Atelier-Plateau Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b45a3c;
+}
+
+/* Atelier-Plateau Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #4b8b8b;
+}
+
+/* Atelier-Plateau Blue */
+.hljs-title,
+.hljs-section {
+ color: #7272ca;
+}
+
+/* Atelier-Plateau Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #8464c4;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #1b1818;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ca4949;
+}
+
+.hljs-addition {
+ background-color: #4b8b8b;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1b1818;
+ color: #8a8585;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-plateau-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-plateau-light.css
new file mode 100644
index 000000000..5f0222bec
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-plateau-light.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Plateau Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Plateau Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #655d5d;
+}
+
+/* Atelier-Plateau Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #ca4949;
+}
+
+/* Atelier-Plateau Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b45a3c;
+}
+
+/* Atelier-Plateau Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #4b8b8b;
+}
+
+/* Atelier-Plateau Blue */
+.hljs-title,
+.hljs-section {
+ color: #7272ca;
+}
+
+/* Atelier-Plateau Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #8464c4;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #1b1818;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #ca4949;
+}
+
+.hljs-addition {
+ background-color: #4b8b8b;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f4ecec;
+ color: #585050;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-savanna-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-savanna-dark.css
new file mode 100644
index 000000000..38f831431
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-savanna-dark.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Savanna Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Savanna Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #78877d;
+}
+
+/* Atelier-Savanna Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #b16139;
+}
+
+/* Atelier-Savanna Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #9f713c;
+}
+
+/* Atelier-Savanna Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #489963;
+}
+
+/* Atelier-Savanna Blue */
+.hljs-title,
+.hljs-section {
+ color: #478c90;
+}
+
+/* Atelier-Savanna Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #55859b;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #171c19;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #b16139;
+}
+
+.hljs-addition {
+ background-color: #489963;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #171c19;
+ color: #87928a;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-savanna-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-savanna-light.css
new file mode 100644
index 000000000..1ccd7c685
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-savanna-light.css
@@ -0,0 +1,84 @@
+/* Base16 Atelier Savanna Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Savanna Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #5f6d64;
+}
+
+/* Atelier-Savanna Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #b16139;
+}
+
+/* Atelier-Savanna Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #9f713c;
+}
+
+/* Atelier-Savanna Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #489963;
+}
+
+/* Atelier-Savanna Blue */
+.hljs-title,
+.hljs-section {
+ color: #478c90;
+}
+
+/* Atelier-Savanna Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #55859b;
+}
+
+.hljs-deletion,
+.hljs-addition {
+ color: #171c19;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #b16139;
+}
+
+.hljs-addition {
+ background-color: #489963;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #ecf4ee;
+ color: #526057;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-seaside-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-seaside-dark.css
new file mode 100644
index 000000000..df29949c6
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-seaside-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Seaside Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Seaside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #809980;
+}
+
+/* Atelier-Seaside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #e6193c;
+}
+
+/* Atelier-Seaside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #87711d;
+}
+
+/* Atelier-Seaside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #29a329;
+}
+
+/* Atelier-Seaside Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d62f5;
+}
+
+/* Atelier-Seaside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #ad2bee;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #131513;
+ color: #8ca68c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-seaside-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-seaside-light.css
new file mode 100644
index 000000000..9d960f29f
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-seaside-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Seaside Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Seaside Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #687d68;
+}
+
+/* Atelier-Seaside Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #e6193c;
+}
+
+/* Atelier-Seaside Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #87711d;
+}
+
+/* Atelier-Seaside Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #29a329;
+}
+
+/* Atelier-Seaside Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d62f5;
+}
+
+/* Atelier-Seaside Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #ad2bee;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f4fbf4;
+ color: #5e6e5e;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-sulphurpool-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-sulphurpool-dark.css
new file mode 100644
index 000000000..c2ab7938d
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-sulphurpool-dark.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Sulphurpool Dark - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Sulphurpool Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #898ea4;
+}
+
+/* Atelier-Sulphurpool Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #c94922;
+}
+
+/* Atelier-Sulphurpool Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #c76b29;
+}
+
+/* Atelier-Sulphurpool Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #ac9739;
+}
+
+/* Atelier-Sulphurpool Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d8fd1;
+}
+
+/* Atelier-Sulphurpool Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6679cc;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #202746;
+ color: #979db4;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-sulphurpool-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-sulphurpool-light.css
new file mode 100644
index 000000000..96c47d086
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atelier-sulphurpool-light.css
@@ -0,0 +1,69 @@
+/* Base16 Atelier Sulphurpool Light - Theme */
+/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
+/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
+
+/* Atelier-Sulphurpool Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #6b7394;
+}
+
+/* Atelier-Sulphurpool Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #c94922;
+}
+
+/* Atelier-Sulphurpool Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #c76b29;
+}
+
+/* Atelier-Sulphurpool Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #ac9739;
+}
+
+/* Atelier-Sulphurpool Blue */
+.hljs-title,
+.hljs-section {
+ color: #3d8fd1;
+}
+
+/* Atelier-Sulphurpool Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #6679cc;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f5f7ff;
+ color: #5e6687;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atom-one-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atom-one-dark.css
new file mode 100644
index 000000000..1616aafe3
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atom-one-dark.css
@@ -0,0 +1,96 @@
+/*
+
+Atom One Dark by Daniel Gamage
+Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
+
+base: #282c34
+mono-1: #abb2bf
+mono-2: #818896
+mono-3: #5c6370
+hue-1: #56b6c2
+hue-2: #61aeee
+hue-3: #c678dd
+hue-4: #98c379
+hue-5: #e06c75
+hue-5-2: #be5046
+hue-6: #d19a66
+hue-6-2: #e6c07b
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #abb2bf;
+ background: #282c34;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #5c6370;
+ font-style: italic;
+}
+
+.hljs-doctag,
+.hljs-keyword,
+.hljs-formula {
+ color: #c678dd;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-selector-tag,
+.hljs-deletion,
+.hljs-subst {
+ color: #e06c75;
+}
+
+.hljs-literal {
+ color: #56b6c2;
+}
+
+.hljs-string,
+.hljs-regexp,
+.hljs-addition,
+.hljs-attribute,
+.hljs-meta-string {
+ color: #98c379;
+}
+
+.hljs-built_in,
+.hljs-class .hljs-title {
+ color: #e6c07b;
+}
+
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-type,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-number {
+ color: #d19a66;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-meta,
+.hljs-selector-id,
+.hljs-title {
+ color: #61aeee;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/atom-one-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/atom-one-light.css
new file mode 100644
index 000000000..d5bd1d2a9
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/atom-one-light.css
@@ -0,0 +1,96 @@
+/*
+
+Atom One Light by Daniel Gamage
+Original One Light Syntax theme from https://github.com/atom/one-light-syntax
+
+base: #fafafa
+mono-1: #383a42
+mono-2: #686b77
+mono-3: #a0a1a7
+hue-1: #0184bb
+hue-2: #4078f2
+hue-3: #a626a4
+hue-4: #50a14f
+hue-5: #e45649
+hue-5-2: #c91243
+hue-6: #986801
+hue-6-2: #c18401
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #383a42;
+ background: #fafafa;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #a0a1a7;
+ font-style: italic;
+}
+
+.hljs-doctag,
+.hljs-keyword,
+.hljs-formula {
+ color: #a626a4;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-selector-tag,
+.hljs-deletion,
+.hljs-subst {
+ color: #e45649;
+}
+
+.hljs-literal {
+ color: #0184bb;
+}
+
+.hljs-string,
+.hljs-regexp,
+.hljs-addition,
+.hljs-attribute,
+.hljs-meta-string {
+ color: #50a14f;
+}
+
+.hljs-built_in,
+.hljs-class .hljs-title {
+ color: #c18401;
+}
+
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-type,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-number {
+ color: #986801;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-meta,
+.hljs-selector-id,
+.hljs-title {
+ color: #4078f2;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/brown-paper.css b/docs/themes/angular-google-maps/static/images/highlight/styles/brown-paper.css
new file mode 100644
index 000000000..f0197b924
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/brown-paper.css
@@ -0,0 +1,64 @@
+/*
+
+Brown Paper style from goldblog.com.ua (c) Zaripov Yura
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background:#b7a68e url(./brown-papersq.png);
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color:#005599;
+ font-weight:bold;
+}
+
+.hljs,
+.hljs-subst {
+ color: #363c69;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-link,
+.hljs-name {
+ color: #2c009f;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta,
+.hljs-deletion {
+ color: #802022;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/brown-papersq.png b/docs/themes/angular-google-maps/static/images/highlight/styles/brown-papersq.png
new file mode 100644
index 000000000..3813903db
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/highlight/styles/brown-papersq.png differ
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/codepen-embed.css b/docs/themes/angular-google-maps/static/images/highlight/styles/codepen-embed.css
new file mode 100644
index 000000000..195c4a078
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/codepen-embed.css
@@ -0,0 +1,60 @@
+/*
+ codepen.io Embed Theme
+ Author: Justin Perry
+ Original theme - https://github.com/chriskempson/tomorrow-theme
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #222;
+ color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #777;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-regexp,
+.hljs-meta,
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-params,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-deletion {
+ color: #ab875d;
+}
+
+.hljs-section,
+.hljs-title,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-type,
+.hljs-attribute {
+ color: #9b869b;
+}
+
+.hljs-string,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-addition {
+ color: #8f9c6c;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/color-brewer.css b/docs/themes/angular-google-maps/static/images/highlight/styles/color-brewer.css
new file mode 100644
index 000000000..7934d986a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/color-brewer.css
@@ -0,0 +1,71 @@
+/*
+
+Colorbrewer theme
+Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock
+Ported by Fabrício Tavares de Oliveira
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fff;
+}
+
+.hljs,
+.hljs-subst {
+ color: #000;
+}
+
+.hljs-string,
+.hljs-meta,
+.hljs-symbol,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+ color: #756bb1;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #636363;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-bullet,
+.hljs-link {
+ color: #31a354;
+}
+
+.hljs-deletion,
+.hljs-variable {
+ color: #88f;
+}
+
+
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-doctag,
+.hljs-type,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-strong {
+ color: #3182bd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-attribute {
+ color: #e6550d;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/darcula.css b/docs/themes/angular-google-maps/static/images/highlight/styles/darcula.css
new file mode 100644
index 000000000..be182d0b5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/darcula.css
@@ -0,0 +1,77 @@
+/*
+
+Darcula color scheme from the JetBrains family of IDEs
+
+*/
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #2b2b2b;
+}
+
+.hljs {
+ color: #bababa;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-link,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal {
+ color: #6896ba;
+}
+
+.hljs-code,
+.hljs-selector-class {
+ color: #a6e22e;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-attribute,
+.hljs-name,
+.hljs-variable {
+ color: #cb7832;
+}
+
+.hljs-params {
+ color: #b9b9b9;
+}
+
+.hljs-string {
+ color: #6a8759;
+}
+
+.hljs-subst,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-symbol,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+ color: #e0c46c;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-meta {
+ color: #7f7f7f;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/dark.css
new file mode 100644
index 000000000..b4724f5f5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/dark.css
@@ -0,0 +1,63 @@
+/*
+
+Dark style from softwaremaniacs.org (c) Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #444;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-section,
+.hljs-link {
+ color: white;
+}
+
+.hljs,
+.hljs-subst {
+ color: #ddd;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-name,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #d88;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #777;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/darkula.css b/docs/themes/angular-google-maps/static/images/highlight/styles/darkula.css
new file mode 100644
index 000000000..f4646c3c5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/darkula.css
@@ -0,0 +1,6 @@
+/*
+ Deprecated due to a typo in the name and left here for compatibility purpose only.
+ Please use darcula.css instead.
+*/
+
+@import url('darcula.css');
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/default.css b/docs/themes/angular-google-maps/static/images/highlight/styles/default.css
new file mode 100644
index 000000000..f1bfade31
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/default.css
@@ -0,0 +1,99 @@
+/*
+
+Original highlight.js style (c) Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #F0F0F0;
+}
+
+
+/* Base color: saturation 0; */
+
+.hljs,
+.hljs-subst {
+ color: #444;
+}
+
+.hljs-comment {
+ color: #888888;
+}
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-meta-keyword,
+.hljs-doctag,
+.hljs-name {
+ font-weight: bold;
+}
+
+
+/* User color: hue: 0 */
+
+.hljs-type,
+.hljs-string,
+.hljs-number,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+ color: #880000;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #880000;
+ font-weight: bold;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #BC6060;
+}
+
+
+/* Language color: hue: 90; */
+
+.hljs-literal {
+ color: #78A960;
+}
+
+.hljs-built_in,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+ color: #397300;
+}
+
+
+/* Meta color: hue: 200 */
+
+.hljs-meta {
+ color: #1f7199;
+}
+
+.hljs-meta-string {
+ color: #4d99bf;
+}
+
+
+/* Misc effects */
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/docco.css b/docs/themes/angular-google-maps/static/images/highlight/styles/docco.css
new file mode 100644
index 000000000..db366be37
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/docco.css
@@ -0,0 +1,97 @@
+/*
+Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars)
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #000;
+ background: #f8f8ff;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #408080;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-subst {
+ color: #954121;
+}
+
+.hljs-number {
+ color: #40a070;
+}
+
+.hljs-string,
+.hljs-doctag {
+ color: #219161;
+}
+
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-section,
+.hljs-type {
+ color: #19469d;
+}
+
+.hljs-params {
+ color: #00f;
+}
+
+.hljs-title {
+ color: #458;
+ font-weight: bold;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-attribute {
+ color: #000080;
+ font-weight: normal;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #008080;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #b68;
+}
+
+.hljs-symbol,
+.hljs-bullet {
+ color: #990073;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #0086b3;
+}
+
+.hljs-meta {
+ color: #999;
+ font-weight: bold;
+}
+
+.hljs-deletion {
+ background: #fdd;
+}
+
+.hljs-addition {
+ background: #dfd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/dracula.css b/docs/themes/angular-google-maps/static/images/highlight/styles/dracula.css
new file mode 100644
index 000000000..d591db680
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/dracula.css
@@ -0,0 +1,76 @@
+/*
+
+Dracula Theme v1.2.0
+
+https://github.com/zenorocha/dracula-theme
+
+Copyright 2015, All rights reserved
+
+Code licensed under the MIT license
+http://zenorocha.mit-license.org
+
+@author Éverton Ribeiro
+@author Zeno Rocha
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #282a36;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-section,
+.hljs-link {
+ color: #8be9fd;
+}
+
+.hljs-function .hljs-keyword {
+ color: #ff79c6;
+}
+
+.hljs,
+.hljs-subst {
+ color: #f8f8f2;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-name,
+.hljs-type,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #f1fa8c;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #6272a4;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/far.css b/docs/themes/angular-google-maps/static/images/highlight/styles/far.css
new file mode 100644
index 000000000..2b3f87b56
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/far.css
@@ -0,0 +1,71 @@
+/*
+
+FAR Style (c) MajestiC
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000080;
+}
+
+.hljs,
+.hljs-subst {
+ color: #0ff;
+}
+
+.hljs-string,
+.hljs-attribute,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition {
+ color: #ff0;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-variable {
+ color: #fff;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-doctag,
+.hljs-deletion {
+ color: #888;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-link {
+ color: #0f0;
+}
+
+.hljs-meta {
+ color: #008080;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/foundation.css b/docs/themes/angular-google-maps/static/images/highlight/styles/foundation.css
new file mode 100644
index 000000000..f1fe64b37
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/foundation.css
@@ -0,0 +1,88 @@
+/*
+Description: Foundation 4 docs style for highlight.js
+Author: Dan Allen
+Website: http://foundation.zurb.com/docs/
+Version: 1.0
+Date: 2013-04-02
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #eee; color: black;
+}
+
+.hljs-link,
+.hljs-emphasis,
+.hljs-attribute,
+.hljs-addition {
+ color: #070;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong,
+.hljs-string,
+.hljs-deletion {
+ color: #d14;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-quote,
+.hljs-comment {
+ color: #998;
+ font-style: italic;
+}
+
+.hljs-section,
+.hljs-title {
+ color: #900;
+}
+
+.hljs-class .hljs-title,
+.hljs-type {
+ color: #458;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #336699;
+}
+
+.hljs-bullet {
+ color: #997700;
+}
+
+.hljs-meta {
+ color: #3344bb;
+}
+
+.hljs-code,
+.hljs-number,
+.hljs-literal,
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #099;
+}
+
+.hljs-regexp {
+ background-color: #fff0ff;
+ color: #880088;
+}
+
+.hljs-symbol {
+ color: #990073;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #007700;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/github-gist.css b/docs/themes/angular-google-maps/static/images/highlight/styles/github-gist.css
new file mode 100644
index 000000000..155f0b916
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/github-gist.css
@@ -0,0 +1,71 @@
+/**
+ * GitHub Gist Theme
+ * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
+ */
+
+.hljs {
+ display: block;
+ background: white;
+ padding: 0.5em;
+ color: #333333;
+ overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+ color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+ color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+ color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+ color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+ color: #63a35c;
+}
+
+.hljs-tag {
+ color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #795da3;
+}
+
+.hljs-addition {
+ color: #55a532;
+ background-color: #eaffea;
+}
+
+.hljs-deletion {
+ color: #bd2c00;
+ background-color: #ffecec;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/github.css b/docs/themes/angular-google-maps/static/images/highlight/styles/github.css
new file mode 100644
index 000000000..791932b87
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/github.css
@@ -0,0 +1,99 @@
+/*
+
+github.com style (c) Vasily Polovnyov
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #333;
+ background: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #998;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-subst {
+ color: #333;
+ font-weight: bold;
+}
+
+.hljs-number,
+.hljs-literal,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag .hljs-attr {
+ color: #008080;
+}
+
+.hljs-string,
+.hljs-doctag {
+ color: #d14;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-selector-id {
+ color: #900;
+ font-weight: bold;
+}
+
+.hljs-subst {
+ font-weight: normal;
+}
+
+.hljs-type,
+.hljs-class .hljs-title {
+ color: #458;
+ font-weight: bold;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-attribute {
+ color: #000080;
+ font-weight: normal;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #009926;
+}
+
+.hljs-symbol,
+.hljs-bullet {
+ color: #990073;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #0086b3;
+}
+
+.hljs-meta {
+ color: #999;
+ font-weight: bold;
+}
+
+.hljs-deletion {
+ background: #fdd;
+}
+
+.hljs-addition {
+ background: #dfd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/googlecode.css b/docs/themes/angular-google-maps/static/images/highlight/styles/googlecode.css
new file mode 100644
index 000000000..884ad6353
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/googlecode.css
@@ -0,0 +1,89 @@
+/*
+
+Google Code style (c) Aahan Krish
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: white;
+ color: black;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #800;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-section,
+.hljs-title,
+.hljs-name {
+ color: #008;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #660;
+}
+
+.hljs-string,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-regexp {
+ color: #080;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-meta,
+.hljs-number,
+.hljs-link {
+ color: #066;
+}
+
+.hljs-title,
+.hljs-doctag,
+.hljs-type,
+.hljs-attr,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-params {
+ color: #606;
+}
+
+.hljs-attribute,
+.hljs-subst {
+ color: #000;
+}
+
+.hljs-formula {
+ background-color: #eee;
+ font-style: italic;
+}
+
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #9B703F
+}
+
+.hljs-addition {
+ background-color: #baeeba;
+}
+
+.hljs-deletion {
+ background-color: #ffc8bd;
+}
+
+.hljs-doctag,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/grayscale.css b/docs/themes/angular-google-maps/static/images/highlight/styles/grayscale.css
new file mode 100644
index 000000000..5376f3406
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/grayscale.css
@@ -0,0 +1,101 @@
+/*
+
+grayscale style (c) MY Sun
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #333;
+ background: #fff;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #777;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-subst {
+ color: #333;
+ font-weight: bold;
+}
+
+.hljs-number,
+.hljs-literal {
+ color: #777;
+}
+
+.hljs-string,
+.hljs-doctag,
+.hljs-formula {
+ color: #333;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-selector-id {
+ color: #000;
+ font-weight: bold;
+}
+
+.hljs-subst {
+ font-weight: normal;
+}
+
+.hljs-class .hljs-title,
+.hljs-type,
+.hljs-name {
+ color: #333;
+ font-weight: bold;
+}
+
+.hljs-tag {
+ color: #333;
+}
+
+.hljs-regexp {
+ color: #333;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+ color: #000;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #000;
+ text-decoration: underline;
+}
+
+.hljs-meta {
+ color: #999;
+ font-weight: bold;
+}
+
+.hljs-deletion {
+ color: #fff;
+ background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat;
+}
+
+.hljs-addition {
+ color: #000;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/gruvbox-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/gruvbox-dark.css
new file mode 100644
index 000000000..f563811a8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/gruvbox-dark.css
@@ -0,0 +1,108 @@
+/*
+
+Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #282828;
+}
+
+.hljs,
+.hljs-subst {
+ color: #ebdbb2;
+}
+
+/* Gruvbox Red */
+.hljs-deletion,
+.hljs-formula,
+.hljs-keyword,
+.hljs-link,
+.hljs-selector-tag {
+ color: #fb4934;
+}
+
+/* Gruvbox Blue */
+.hljs-built_in,
+.hljs-emphasis,
+.hljs-name,
+.hljs-quote,
+.hljs-strong,
+.hljs-title,
+.hljs-variable {
+ color: #83a598;
+}
+
+/* Gruvbox Yellow */
+.hljs-attr,
+.hljs-params,
+.hljs-template-tag,
+.hljs-type {
+ color: #fabd2f;
+}
+
+/* Gruvbox Purple */
+.hljs-builtin-name,
+.hljs-doctag,
+.hljs-literal,
+.hljs-number {
+ color: #8f3f71;
+}
+
+/* Gruvbox Orange */
+.hljs-code,
+.hljs-meta,
+.hljs-regexp,
+.hljs-selector-id,
+.hljs-template-variable {
+ color: #fe8019;
+}
+
+/* Gruvbox Green */
+.hljs-addition,
+.hljs-meta-string,
+.hljs-section,
+.hljs-selector-attr,
+.hljs-selector-class,
+.hljs-string,
+.hljs-symbol {
+ color: #b8bb26;
+}
+
+/* Gruvbox Aqua */
+.hljs-attribute,
+.hljs-bullet,
+.hljs-class,
+.hljs-function,
+.hljs-function .hljs-keyword,
+.hljs-meta-keyword,
+.hljs-selector-pseudo,
+.hljs-tag {
+ color: #8ec07c;
+}
+
+/* Gruvbox Gray */
+.hljs-comment {
+ color: #928374;
+}
+
+/* Gruvbox Purple */
+.hljs-link_label,
+.hljs-literal,
+.hljs-number {
+ color: #d3869b;
+}
+
+.hljs-comment,
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-section,
+.hljs-strong,
+.hljs-tag {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/gruvbox-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/gruvbox-light.css
new file mode 100644
index 000000000..ff45468eb
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/gruvbox-light.css
@@ -0,0 +1,108 @@
+/*
+
+Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fbf1c7;
+}
+
+.hljs,
+.hljs-subst {
+ color: #3c3836;
+}
+
+/* Gruvbox Red */
+.hljs-deletion,
+.hljs-formula,
+.hljs-keyword,
+.hljs-link,
+.hljs-selector-tag {
+ color: #9d0006;
+}
+
+/* Gruvbox Blue */
+.hljs-built_in,
+.hljs-emphasis,
+.hljs-name,
+.hljs-quote,
+.hljs-strong,
+.hljs-title,
+.hljs-variable {
+ color: #076678;
+}
+
+/* Gruvbox Yellow */
+.hljs-attr,
+.hljs-params,
+.hljs-template-tag,
+.hljs-type {
+ color: #b57614;
+}
+
+/* Gruvbox Purple */
+.hljs-builtin-name,
+.hljs-doctag,
+.hljs-literal,
+.hljs-number {
+ color: #8f3f71;
+}
+
+/* Gruvbox Orange */
+.hljs-code,
+.hljs-meta,
+.hljs-regexp,
+.hljs-selector-id,
+.hljs-template-variable {
+ color: #af3a03;
+}
+
+/* Gruvbox Green */
+.hljs-addition,
+.hljs-meta-string,
+.hljs-section,
+.hljs-selector-attr,
+.hljs-selector-class,
+.hljs-string,
+.hljs-symbol {
+ color: #79740e;
+}
+
+/* Gruvbox Aqua */
+.hljs-attribute,
+.hljs-bullet,
+.hljs-class,
+.hljs-function,
+.hljs-function .hljs-keyword,
+.hljs-meta-keyword,
+.hljs-selector-pseudo,
+.hljs-tag {
+ color: #427b58;
+}
+
+/* Gruvbox Gray */
+.hljs-comment {
+ color: #928374;
+}
+
+/* Gruvbox Purple */
+.hljs-link_label,
+.hljs-literal,
+.hljs-number {
+ color: #8f3f71;
+}
+
+.hljs-comment,
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-section,
+.hljs-strong,
+.hljs-tag {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/hopscotch.css b/docs/themes/angular-google-maps/static/images/highlight/styles/hopscotch.css
new file mode 100644
index 000000000..32e60d230
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/hopscotch.css
@@ -0,0 +1,83 @@
+/*
+ * Hopscotch
+ * by Jan T. Sott
+ * https://github.com/idleberg/Hopscotch
+ *
+ * This work is licensed under the Creative Commons CC0 1.0 Universal License
+ */
+
+/* Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #989498;
+}
+
+/* Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-link,
+.hljs-deletion {
+ color: #dd464c;
+}
+
+/* Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #fd8b19;
+}
+
+/* Yellow */
+.hljs-class .hljs-title {
+ color: #fdcc59;
+}
+
+/* Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #8fc13e;
+}
+
+/* Aqua */
+.hljs-meta {
+ color: #149b93;
+}
+
+/* Blue */
+.hljs-function,
+.hljs-section,
+.hljs-title {
+ color: #1290bf;
+}
+
+/* Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #c85e7c;
+}
+
+.hljs {
+ display: block;
+ background: #322931;
+ color: #b9b5b8;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/hybrid.css b/docs/themes/angular-google-maps/static/images/highlight/styles/hybrid.css
new file mode 100644
index 000000000..29735a189
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/hybrid.css
@@ -0,0 +1,102 @@
+/*
+
+vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid)
+
+*/
+
+/*background color*/
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #1d1f21;
+}
+
+/*selection color*/
+.hljs::selection,
+.hljs span::selection {
+ background: #373b41;
+}
+
+.hljs::-moz-selection,
+.hljs span::-moz-selection {
+ background: #373b41;
+}
+
+/*foreground color*/
+.hljs {
+ color: #c5c8c6;
+}
+
+/*color: fg_yellow*/
+.hljs-title,
+.hljs-name {
+ color: #f0c674;
+}
+
+/*color: fg_comment*/
+.hljs-comment,
+.hljs-meta,
+.hljs-meta .hljs-keyword {
+ color: #707880;
+}
+
+/*color: fg_red*/
+.hljs-number,
+.hljs-symbol,
+.hljs-literal,
+.hljs-deletion,
+.hljs-link {
+ color: #cc6666
+}
+
+/*color: fg_green*/
+.hljs-string,
+.hljs-doctag,
+.hljs-addition,
+.hljs-regexp,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #b5bd68;
+}
+
+/*color: fg_purple*/
+.hljs-attribute,
+.hljs-code,
+.hljs-selector-id {
+ color: #b294bb;
+}
+
+/*color: fg_blue*/
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-bullet,
+.hljs-tag {
+ color: #81a2be;
+}
+
+/*color: fg_aqua*/
+.hljs-subst,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #8abeb7;
+}
+
+/*color: fg_orange*/
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-quote,
+.hljs-section,
+.hljs-selector-class {
+ color: #de935f;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/idea.css b/docs/themes/angular-google-maps/static/images/highlight/styles/idea.css
new file mode 100644
index 000000000..3bf1892bd
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/idea.css
@@ -0,0 +1,97 @@
+/*
+
+Intellij Idea-like styling (c) Vasily Polovnyov
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #000;
+ background: #fff;
+}
+
+.hljs-subst,
+.hljs-title {
+ font-weight: normal;
+ color: #000;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #808080;
+ font-style: italic;
+}
+
+.hljs-meta {
+ color: #808000;
+}
+
+.hljs-tag {
+ background: #efefef;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-literal,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type,
+.hljs-selector-id,
+.hljs-selector-class {
+ font-weight: bold;
+ color: #000080;
+}
+
+.hljs-attribute,
+.hljs-number,
+.hljs-regexp,
+.hljs-link {
+ font-weight: bold;
+ color: #0000ff;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-link {
+ font-weight: normal;
+}
+
+.hljs-string {
+ color: #008000;
+ font-weight: bold;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-formula {
+ color: #000;
+ background: #d0eded;
+ font-style: italic;
+}
+
+.hljs-doctag {
+ text-decoration: underline;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #660e7a;
+}
+
+.hljs-addition {
+ background: #baeeba;
+}
+
+.hljs-deletion {
+ background: #ffc8bd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/ir-black.css b/docs/themes/angular-google-maps/static/images/highlight/styles/ir-black.css
new file mode 100644
index 000000000..bd4c755ed
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/ir-black.css
@@ -0,0 +1,73 @@
+/*
+ IR_Black style (c) Vasily Mikhailitchenko
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000;
+ color: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+ color: #7c7c7c;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-tag,
+.hljs-name {
+ color: #96cbfe;
+}
+
+.hljs-attribute,
+.hljs-selector-id {
+ color: #ffffb6;
+}
+
+.hljs-string,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition {
+ color: #a8ff60;
+}
+
+.hljs-subst {
+ color: #daefa3;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #e9c062;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-doctag {
+ color: #ffffb6;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-literal {
+ color: #c6c5fe;
+}
+
+.hljs-number,
+.hljs-deletion {
+ color:#ff73fd;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/kimbie.dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/kimbie.dark.css
new file mode 100644
index 000000000..d139cb5d0
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/kimbie.dark.css
@@ -0,0 +1,74 @@
+/*
+ Name: Kimbie (dark)
+ Author: Jan T. Sott
+ License: Creative Commons Attribution-ShareAlike 4.0 Unported License
+ URL: https://github.com/idleberg/Kimbie-highlight.js
+*/
+
+/* Kimbie Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #d6baad;
+}
+
+/* Kimbie Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-meta {
+ color: #dc3958;
+}
+
+/* Kimbie Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion,
+.hljs-link {
+ color: #f79a32;
+}
+
+/* Kimbie Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #f06431;
+}
+
+/* Kimbie Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #889b4a;
+}
+
+/* Kimbie Purple */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function {
+ color: #98676a;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #221a0f;
+ color: #d3af86;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/kimbie.light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/kimbie.light.css
new file mode 100644
index 000000000..04ff6ed3a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/kimbie.light.css
@@ -0,0 +1,74 @@
+/*
+ Name: Kimbie (light)
+ Author: Jan T. Sott
+ License: Creative Commons Attribution-ShareAlike 4.0 Unported License
+ URL: https://github.com/idleberg/Kimbie-highlight.js
+*/
+
+/* Kimbie Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #a57a4c;
+}
+
+/* Kimbie Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-meta {
+ color: #dc3958;
+}
+
+/* Kimbie Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion,
+.hljs-link {
+ color: #f79a32;
+}
+
+/* Kimbie Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #f06431;
+}
+
+/* Kimbie Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #889b4a;
+}
+
+/* Kimbie Purple */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function {
+ color: #98676a;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #fbebd4;
+ color: #84613d;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/magula.css b/docs/themes/angular-google-maps/static/images/highlight/styles/magula.css
new file mode 100644
index 000000000..44dee5e8e
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/magula.css
@@ -0,0 +1,70 @@
+/*
+Description: Magula style for highligh.js
+Author: Ruslan Keba
+Website: http://rukeba.com/
+Version: 1.0
+Date: 2009-01-03
+Music: Aphex Twin / Xtal
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background-color: #f4f4f4;
+}
+
+.hljs,
+.hljs-subst {
+ color: black;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #050;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #777;
+}
+
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-type,
+.hljs-link {
+ color: #800;
+}
+
+.hljs-deletion,
+.hljs-meta {
+ color: #00e;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-tag,
+.hljs-name {
+ font-weight: bold;
+ color: navy;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/mono-blue.css b/docs/themes/angular-google-maps/static/images/highlight/styles/mono-blue.css
new file mode 100644
index 000000000..884c97c76
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/mono-blue.css
@@ -0,0 +1,59 @@
+/*
+ Five-color theme from a single blue hue.
+*/
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #eaeef3;
+}
+
+.hljs {
+ color: #00193a;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-title,
+.hljs-section,
+.hljs-doctag,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-comment {
+ color: #738191;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-literal,
+.hljs-type,
+.hljs-addition,
+.hljs-tag,
+.hljs-quote,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #0048ab;
+}
+
+.hljs-meta,
+.hljs-subst,
+.hljs-symbol,
+.hljs-regexp,
+.hljs-attribute,
+.hljs-deletion,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-bullet {
+ color: #4c81c9;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/monokai-sublime.css b/docs/themes/angular-google-maps/static/images/highlight/styles/monokai-sublime.css
new file mode 100644
index 000000000..2864170da
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/monokai-sublime.css
@@ -0,0 +1,83 @@
+/*
+
+Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #23241f;
+}
+
+.hljs,
+.hljs-tag,
+.hljs-subst {
+ color: #f8f8f2;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal,
+.hljs-link {
+ color: #ae81ff;
+}
+
+.hljs-code,
+.hljs-title,
+.hljs-section,
+.hljs-selector-class {
+ color: #a6e22e;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-name,
+.hljs-attr {
+ color: #f92672;
+}
+
+.hljs-symbol,
+.hljs-attribute {
+ color: #66d9ef;
+}
+
+.hljs-params,
+.hljs-class .hljs-title {
+ color: #f8f8f2;
+}
+
+.hljs-string,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-variable {
+ color: #e6db74;
+}
+
+.hljs-comment,
+.hljs-deletion,
+.hljs-meta {
+ color: #75715e;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/monokai.css b/docs/themes/angular-google-maps/static/images/highlight/styles/monokai.css
new file mode 100644
index 000000000..775d53f91
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/monokai.css
@@ -0,0 +1,70 @@
+/*
+Monokai style - ported by Luigi Maselli - http://grigio.org
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #272822; color: #ddd;
+}
+
+.hljs-tag,
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-strong,
+.hljs-name {
+ color: #f92672;
+}
+
+.hljs-code {
+ color: #66d9ef;
+}
+
+.hljs-class .hljs-title {
+ color: white;
+}
+
+.hljs-attribute,
+.hljs-symbol,
+.hljs-regexp,
+.hljs-link {
+ color: #bf79db;
+}
+
+.hljs-string,
+.hljs-bullet,
+.hljs-subst,
+.hljs-title,
+.hljs-section,
+.hljs-emphasis,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #a6e22e;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #75715e;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-selector-id {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/obsidian.css b/docs/themes/angular-google-maps/static/images/highlight/styles/obsidian.css
new file mode 100644
index 000000000..356630fa2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/obsidian.css
@@ -0,0 +1,88 @@
+/**
+ * Obsidian style
+ * ported by Alexander Marenin (http://github.com/ioncreature)
+ */
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #282b2e;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-selector-id {
+ color: #93c763;
+}
+
+.hljs-number {
+ color: #ffcd22;
+}
+
+.hljs {
+ color: #e0e2e4;
+}
+
+.hljs-attribute {
+ color: #668bb0;
+}
+
+.hljs-code,
+.hljs-class .hljs-title,
+.hljs-section {
+ color: white;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #d39745;
+}
+
+.hljs-meta {
+ color: #557182;
+}
+
+.hljs-tag,
+.hljs-name,
+.hljs-bullet,
+.hljs-subst,
+.hljs-emphasis,
+.hljs-type,
+.hljs-built_in,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable {
+ color: #8cbbad;
+}
+
+.hljs-string,
+.hljs-symbol {
+ color: #ec7600;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion {
+ color: #818e96;
+}
+
+.hljs-selector-class {
+ color: #A082BD
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/ocean.css b/docs/themes/angular-google-maps/static/images/highlight/styles/ocean.css
new file mode 100644
index 000000000..5901581b4
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/ocean.css
@@ -0,0 +1,74 @@
+/* Ocean Dark Theme */
+/* https://github.com/gavsiu */
+/* Original theme - https://github.com/chriskempson/base16 */
+
+/* Ocean Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #65737e;
+}
+
+/* Ocean Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #bf616a;
+}
+
+/* Ocean Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #d08770;
+}
+
+/* Ocean Yellow */
+.hljs-attribute {
+ color: #ebcb8b;
+}
+
+/* Ocean Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #a3be8c;
+}
+
+/* Ocean Blue */
+.hljs-title,
+.hljs-section {
+ color: #8fa1b3;
+}
+
+/* Ocean Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b48ead;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #2b303b;
+ color: #c0c5ce;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/paraiso-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/paraiso-dark.css
new file mode 100644
index 000000000..e7292401c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/paraiso-dark.css
@@ -0,0 +1,72 @@
+/*
+ Paraíso (dark)
+ Created by Jan T. Sott (http://github.com/idleberg)
+ Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
+*/
+
+/* Paraíso Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #8d8687;
+}
+
+/* Paraíso Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-link,
+.hljs-meta {
+ color: #ef6155;
+}
+
+/* Paraíso Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion {
+ color: #f99b15;
+}
+
+/* Paraíso Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #fec418;
+}
+
+/* Paraíso Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #48b685;
+}
+
+/* Paraíso Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #815ba4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #2f1e2e;
+ color: #a39e9b;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/paraiso-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/paraiso-light.css
new file mode 100644
index 000000000..944857cd8
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/paraiso-light.css
@@ -0,0 +1,72 @@
+/*
+ Paraíso (light)
+ Created by Jan T. Sott (http://github.com/idleberg)
+ Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
+*/
+
+/* Paraíso Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #776e71;
+}
+
+/* Paraíso Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-link,
+.hljs-meta {
+ color: #ef6155;
+}
+
+/* Paraíso Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-deletion {
+ color: #f99b15;
+}
+
+/* Paraíso Yellow */
+.hljs-title,
+.hljs-section,
+.hljs-attribute {
+ color: #fec418;
+}
+
+/* Paraíso Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #48b685;
+}
+
+/* Paraíso Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #815ba4;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #e7e9db;
+ color: #4f424c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/pojoaque.css b/docs/themes/angular-google-maps/static/images/highlight/styles/pojoaque.css
new file mode 100644
index 000000000..2e07847b2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/pojoaque.css
@@ -0,0 +1,83 @@
+/*
+
+Pojoaque Style by Jason Tate
+http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
+Based on Solarized Style from http://ethanschoonover.com/solarized
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ color: #dccf8f;
+ background: url(./pojoaque.jpg) repeat scroll left top #181914;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #586e75;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-addition {
+ color: #b64926;
+}
+
+.hljs-number,
+.hljs-string,
+.hljs-doctag,
+.hljs-regexp {
+ color: #468966;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-built_in,
+.hljs-name {
+ color: #ffb03b;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-class .hljs-title,
+.hljs-type,
+.hljs-tag {
+ color: #b58900;
+}
+
+.hljs-attribute {
+ color: #b89859;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link,
+.hljs-subst,
+.hljs-meta {
+ color: #cb4b16;
+}
+
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d3a60c;
+}
+
+.hljs-formula {
+ background: #073642;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/pojoaque.jpg b/docs/themes/angular-google-maps/static/images/highlight/styles/pojoaque.jpg
new file mode 100644
index 000000000..9c07d4ab4
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/highlight/styles/pojoaque.jpg differ
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/purebasic.css b/docs/themes/angular-google-maps/static/images/highlight/styles/purebasic.css
new file mode 100644
index 000000000..5ce9b9e07
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/purebasic.css
@@ -0,0 +1,96 @@
+/*
+
+PureBASIC native IDE style ( version 1.0 - April 2016 )
+
+by Tristano Ajmone
+
+Public Domain
+
+NOTE_1: PureBASIC code syntax highlighting only applies the following classes:
+ .hljs-comment
+ .hljs-function
+ .hljs-keywords
+ .hljs-string
+ .hljs-symbol
+
+ Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style.
+ If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by
+ a "--- used for PureBASIC ... ---" comment on same line.
+
+NOTE_2: Color names provided in comments were derived using "Name that Color" online tool:
+ http://chir.ag/projects/name-that-color
+*/
+
+.hljs { /* Common set of rules required by highlight.js (don'r remove!) */
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #FFFFDF; /* Half and Half (approx.) */
+/* --- Uncomment to add PureBASIC native IDE styled font!
+ font-family: Consolas;
+*/
+}
+
+.hljs, /* --- used for PureBASIC base color --- */
+.hljs-type, /* --- used for PureBASIC Procedures return type --- */
+.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */
+.hljs-name,
+.hljs-number,
+.hljs-attr,
+.hljs-params,
+.hljs-subst {
+ color: #000000; /* Black */
+}
+
+.hljs-comment, /* --- used for PureBASIC Comments --- */
+.hljs-regexp,
+.hljs-section,
+.hljs-selector-pseudo,
+.hljs-addition {
+ color: #00AAAA; /* Persian Green (approx.) */
+}
+
+.hljs-title, /* --- used for PureBASIC Procedures Names --- */
+.hljs-tag,
+.hljs-variable,
+.hljs-code {
+ color: #006666; /* Blue Stone (approx.) */
+}
+
+.hljs-keyword, /* --- used for PureBASIC Keywords --- */
+.hljs-class,
+.hljs-meta-keyword,
+.hljs-selector-class,
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #006666; /* Blue Stone (approx.) */
+ font-weight: bold;
+}
+
+.hljs-string, /* --- used for PureBASIC Strings --- */
+.hljs-selector-attr {
+ color: #0080FF; /* Azure Radiance (approx.) */
+}
+
+.hljs-symbol, /* --- used for PureBASIC Constants --- */
+.hljs-link,
+.hljs-deletion,
+.hljs-attribute {
+ color: #924B72; /* Cannon Pink (approx.) */
+}
+
+.hljs-meta,
+.hljs-literal,
+.hljs-selector-id {
+ color: #924B72; /* Cannon Pink (approx.) */
+ font-weight: bold;
+}
+
+.hljs-strong,
+.hljs-name {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/qtcreator_dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/qtcreator_dark.css
new file mode 100644
index 000000000..7aa56a365
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/qtcreator_dark.css
@@ -0,0 +1,83 @@
+/*
+
+Qt Creator dark color scheme
+
+*/
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000000;
+}
+
+.hljs,
+.hljs-subst,
+.hljs-tag,
+.hljs-title {
+ color: #aaaaaa;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #a8a8a2;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal {
+ color: #ff55ff;
+}
+
+.hljs-code
+.hljs-selector-class {
+ color: #aaaaff;
+}
+
+.hljs-emphasis,
+.hljs-stronge,
+.hljs-type {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function,
+.hljs-section,
+.hljs-symbol,
+.hljs-name {
+ color: #ffff55;
+}
+
+.hljs-attribute {
+ color: #ff5555;
+}
+
+.hljs-variable,
+.hljs-params,
+.hljs-class .hljs-title {
+ color: #8888ff;
+}
+
+.hljs-string,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition,
+.hljs-link {
+ color: #ff55ff;
+}
+
+.hljs-comment,
+.hljs-meta,
+.hljs-deletion {
+ color: #55ffff;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/qtcreator_light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/qtcreator_light.css
new file mode 100644
index 000000000..1efa2c660
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/qtcreator_light.css
@@ -0,0 +1,83 @@
+/*
+
+Qt Creator light color scheme
+
+*/
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #ffffff;
+}
+
+.hljs,
+.hljs-subst,
+.hljs-tag,
+.hljs-title {
+ color: #000000;
+}
+
+.hljs-strong,
+.hljs-emphasis {
+ color: #000000;
+}
+
+.hljs-bullet,
+.hljs-quote,
+.hljs-number,
+.hljs-regexp,
+.hljs-literal {
+ color: #000080;
+}
+
+.hljs-code
+.hljs-selector-class {
+ color: #800080;
+}
+
+.hljs-emphasis,
+.hljs-stronge,
+.hljs-type {
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-function,
+.hljs-section,
+.hljs-symbol,
+.hljs-name {
+ color: #808000;
+}
+
+.hljs-attribute {
+ color: #800000;
+}
+
+.hljs-variable,
+.hljs-params,
+.hljs-class .hljs-title {
+ color: #0055AF;
+}
+
+.hljs-string,
+.hljs-selector-id,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-type,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-addition,
+.hljs-link {
+ color: #008000;
+}
+
+.hljs-comment,
+.hljs-meta,
+.hljs-deletion {
+ color: #008000;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/railscasts.css b/docs/themes/angular-google-maps/static/images/highlight/styles/railscasts.css
new file mode 100644
index 000000000..008cdc5bf
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/railscasts.css
@@ -0,0 +1,106 @@
+/*
+
+Railscasts-like style (c) Visoft, Inc. (Damien White)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #232323;
+ color: #e6e1dc;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #bc9458;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #c26230;
+}
+
+.hljs-string,
+.hljs-number,
+.hljs-regexp,
+.hljs-variable,
+.hljs-template-variable {
+ color: #a5c261;
+}
+
+.hljs-subst {
+ color: #519f50;
+}
+
+.hljs-tag,
+.hljs-name {
+ color: #e8bf6a;
+}
+
+.hljs-type {
+ color: #da4939;
+}
+
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-attr,
+.hljs-link {
+ color: #6d9cbe;
+}
+
+.hljs-params {
+ color: #d0d0ff;
+}
+
+.hljs-attribute {
+ color: #cda869;
+}
+
+.hljs-meta {
+ color: #9b859d;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #ffc66d;
+}
+
+.hljs-addition {
+ background-color: #144212;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #600;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-selector-class {
+ color: #9b703f;
+}
+
+.hljs-selector-id {
+ color: #8b98ab;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/rainbow.css b/docs/themes/angular-google-maps/static/images/highlight/styles/rainbow.css
new file mode 100644
index 000000000..905eb8ef1
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/rainbow.css
@@ -0,0 +1,85 @@
+/*
+
+Style with support for rainbow parens
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #474949;
+ color: #d1d9e1;
+}
+
+
+.hljs-comment,
+.hljs-quote {
+ color: #969896;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-type,
+.hljs-addition {
+ color: #cc99cc;
+}
+
+.hljs-number,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #f99157;
+}
+
+.hljs-string,
+.hljs-doctag,
+.hljs-regexp {
+ color: #8abeb7;
+}
+
+.hljs-title,
+.hljs-name,
+.hljs-section,
+.hljs-built_in {
+ color: #b5bd68;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-selector-id,
+.hljs-class .hljs-title {
+ color: #ffcc66;
+}
+
+.hljs-section,
+.hljs-name,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-subst,
+.hljs-meta,
+.hljs-link {
+ color: #f99157;
+}
+
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-formula {
+ background: #eee8d5;
+}
+
+.hljs-attr,
+.hljs-attribute {
+ color: #81a2be;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/routeros.css b/docs/themes/angular-google-maps/static/images/highlight/styles/routeros.css
new file mode 100644
index 000000000..ebe23990d
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/routeros.css
@@ -0,0 +1,108 @@
+/*
+
+ highlight.js style for Microtik RouterOS script
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #F0F0F0;
+}
+
+/* Base color: saturation 0; */
+
+.hljs,
+.hljs-subst {
+ color: #444;
+}
+
+.hljs-comment {
+ color: #888888;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-meta-keyword,
+.hljs-doctag,
+.hljs-name {
+ font-weight: bold;
+}
+
+.hljs-attribute {
+ color: #0E9A00;
+}
+
+.hljs-function {
+ color: #99069A;
+}
+
+.hljs-builtin-name {
+ color: #99069A;
+}
+
+/* User color: hue: 0 */
+
+.hljs-type,
+.hljs-string,
+.hljs-number,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+ color: #880000;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #880000;
+ font-weight: bold;
+}
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #BC6060;
+}
+
+
+/* Language color: hue: 90; */
+
+.hljs-literal {
+ color: #78A960;
+}
+
+.hljs-built_in,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+ color: #0C9A9A;
+}
+
+
+/* Meta color: hue: 200 */
+
+.hljs-meta {
+ color: #1f7199;
+}
+
+.hljs-meta-string {
+ color: #4d99bf;
+}
+
+
+/* Misc effects */
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/school-book.css b/docs/themes/angular-google-maps/static/images/highlight/styles/school-book.css
new file mode 100644
index 000000000..964b51d84
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/school-book.css
@@ -0,0 +1,72 @@
+/*
+
+School Book style from goldblog.com.ua (c) Zaripov Yura
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 15px 0.5em 0.5em 30px;
+ font-size: 11px;
+ line-height:16px;
+}
+
+pre{
+ background:#f6f6ae url(./school-book.png);
+ border-top: solid 2px #d2e8b9;
+ border-bottom: solid 1px #d2e8b9;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color:#005599;
+ font-weight:bold;
+}
+
+.hljs,
+.hljs-subst {
+ color: #3e5915;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-addition,
+.hljs-variable,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-link {
+ color: #2c009f;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-deletion,
+.hljs-meta {
+ color: #e60415;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal,
+.hljs-doctag,
+.hljs-title,
+.hljs-section,
+.hljs-type,
+.hljs-name,
+.hljs-selector-id,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/school-book.png b/docs/themes/angular-google-maps/static/images/highlight/styles/school-book.png
new file mode 100644
index 000000000..956e9790a
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/highlight/styles/school-book.png differ
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/solarized-dark.css b/docs/themes/angular-google-maps/static/images/highlight/styles/solarized-dark.css
new file mode 100644
index 000000000..b4c0da1f7
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/solarized-dark.css
@@ -0,0 +1,84 @@
+/*
+
+Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #002b36;
+ color: #839496;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #586e75;
+}
+
+/* Solarized Green */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-addition {
+ color: #859900;
+}
+
+/* Solarized Cyan */
+.hljs-number,
+.hljs-string,
+.hljs-meta .hljs-meta-string,
+.hljs-literal,
+.hljs-doctag,
+.hljs-regexp {
+ color: #2aa198;
+}
+
+/* Solarized Blue */
+.hljs-title,
+.hljs-section,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #268bd2;
+}
+
+/* Solarized Yellow */
+.hljs-attribute,
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-class .hljs-title,
+.hljs-type {
+ color: #b58900;
+}
+
+/* Solarized Orange */
+.hljs-symbol,
+.hljs-bullet,
+.hljs-subst,
+.hljs-meta,
+.hljs-meta .hljs-keyword,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-link {
+ color: #cb4b16;
+}
+
+/* Solarized Red */
+.hljs-built_in,
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-formula {
+ background: #073642;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/solarized-light.css b/docs/themes/angular-google-maps/static/images/highlight/styles/solarized-light.css
new file mode 100644
index 000000000..fdcfcc72c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/solarized-light.css
@@ -0,0 +1,84 @@
+/*
+
+Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fdf6e3;
+ color: #657b83;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #93a1a1;
+}
+
+/* Solarized Green */
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-addition {
+ color: #859900;
+}
+
+/* Solarized Cyan */
+.hljs-number,
+.hljs-string,
+.hljs-meta .hljs-meta-string,
+.hljs-literal,
+.hljs-doctag,
+.hljs-regexp {
+ color: #2aa198;
+}
+
+/* Solarized Blue */
+.hljs-title,
+.hljs-section,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #268bd2;
+}
+
+/* Solarized Yellow */
+.hljs-attribute,
+.hljs-attr,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-class .hljs-title,
+.hljs-type {
+ color: #b58900;
+}
+
+/* Solarized Orange */
+.hljs-symbol,
+.hljs-bullet,
+.hljs-subst,
+.hljs-meta,
+.hljs-meta .hljs-keyword,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-link {
+ color: #cb4b16;
+}
+
+/* Solarized Red */
+.hljs-built_in,
+.hljs-deletion {
+ color: #dc322f;
+}
+
+.hljs-formula {
+ background: #eee8d5;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/sunburst.css b/docs/themes/angular-google-maps/static/images/highlight/styles/sunburst.css
new file mode 100644
index 000000000..f56dd5e9b
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/sunburst.css
@@ -0,0 +1,102 @@
+/*
+
+Sunburst-like style (c) Vasily Polovnyov
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #000;
+ color: #f8f8f8;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #aeaeae;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+ color: #e28964;
+}
+
+.hljs-string {
+ color: #65b042;
+}
+
+.hljs-subst {
+ color: #daefa3;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #e9c062;
+}
+
+.hljs-title,
+.hljs-section,
+.hljs-tag,
+.hljs-name {
+ color: #89bdff;
+}
+
+.hljs-class .hljs-title,
+.hljs-doctag {
+ text-decoration: underline;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-number {
+ color: #3387cc;
+}
+
+.hljs-params,
+.hljs-variable,
+.hljs-template-variable {
+ color: #3e87e3;
+}
+
+.hljs-attribute {
+ color: #cda869;
+}
+
+.hljs-meta {
+ color: #8996a8;
+}
+
+.hljs-formula {
+ background-color: #0e2231;
+ color: #f8f8f8;
+ font-style: italic;
+}
+
+.hljs-addition {
+ background-color: #253b22;
+ color: #f8f8f8;
+}
+
+.hljs-deletion {
+ background-color: #420e09;
+ color: #f8f8f8;
+}
+
+.hljs-selector-class {
+ color: #9b703f;
+}
+
+.hljs-selector-id {
+ color: #8b98ab;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-blue.css b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-blue.css
new file mode 100644
index 000000000..78e59cc8c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-blue.css
@@ -0,0 +1,75 @@
+/* Tomorrow Night Blue Theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #7285b7;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #ff9da4;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #ffc58f;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #ffeead;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #d1f1a9;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #bbdaff;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #ebbbff;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #002451;
+ color: white;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-bright.css b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-bright.css
new file mode 100644
index 000000000..e05af8ae2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-bright.css
@@ -0,0 +1,74 @@
+/* Tomorrow Night Bright Theme */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #969896;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #d54e53;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #e78c45;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #e7c547;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #b9ca4a;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #7aa6da;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #c397d8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: black;
+ color: #eaeaea;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-eighties.css b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-eighties.css
new file mode 100644
index 000000000..08fd51c74
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night-eighties.css
@@ -0,0 +1,74 @@
+/* Tomorrow Night Eighties Theme */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #999999;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #f2777a;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #f99157;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #ffcc66;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #99cc99;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #6699cc;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #cc99cc;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #2d2d2d;
+ color: #cccccc;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night.css b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night.css
new file mode 100644
index 000000000..ddd270a4e
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow-night.css
@@ -0,0 +1,75 @@
+/* Tomorrow Night Theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #969896;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #cc6666;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #de935f;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #f0c674;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #b5bd68;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #81a2be;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #b294bb;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #1d1f21;
+ color: #c5c8c6;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow.css b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow.css
new file mode 100644
index 000000000..026a62fe3
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/tomorrow.css
@@ -0,0 +1,72 @@
+/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #8e908c;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-tag,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-regexp,
+.hljs-deletion {
+ color: #c82829;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params,
+.hljs-meta,
+.hljs-link {
+ color: #f5871f;
+}
+
+/* Tomorrow Yellow */
+.hljs-attribute {
+ color: #eab700;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-addition {
+ color: #718c00;
+}
+
+/* Tomorrow Blue */
+.hljs-title,
+.hljs-section {
+ color: #4271ae;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #8959a8;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: white;
+ color: #4d4d4c;
+ padding: 0.5em;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/vs.css b/docs/themes/angular-google-maps/static/images/highlight/styles/vs.css
new file mode 100644
index 000000000..c5d07d311
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/vs.css
@@ -0,0 +1,68 @@
+/*
+
+Visual Studio-like style based on original C# coloring by Jason Diamond
+
+*/
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: white;
+ color: black;
+}
+
+.hljs-comment,
+.hljs-quote,
+.hljs-variable {
+ color: #008000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-built_in,
+.hljs-name,
+.hljs-tag {
+ color: #00f;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-attribute,
+.hljs-literal,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-type,
+.hljs-addition {
+ color: #a31515;
+}
+
+.hljs-deletion,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-meta {
+ color: #2b91af;
+}
+
+.hljs-doctag {
+ color: #808080;
+}
+
+.hljs-attr {
+ color: #f00;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+ color: #00b0e8;
+}
+
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/vs2015.css b/docs/themes/angular-google-maps/static/images/highlight/styles/vs2015.css
new file mode 100644
index 000000000..d1d9be3ca
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/vs2015.css
@@ -0,0 +1,115 @@
+/*
+ * Visual Studio 2015 dark style
+ * Author: Nicolas LLOBERA
+ */
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #1E1E1E;
+ color: #DCDCDC;
+}
+
+.hljs-keyword,
+.hljs-literal,
+.hljs-symbol,
+.hljs-name {
+ color: #569CD6;
+}
+.hljs-link {
+ color: #569CD6;
+ text-decoration: underline;
+}
+
+.hljs-built_in,
+.hljs-type {
+ color: #4EC9B0;
+}
+
+.hljs-number,
+.hljs-class {
+ color: #B8D7A3;
+}
+
+.hljs-string,
+.hljs-meta-string {
+ color: #D69D85;
+}
+
+.hljs-regexp,
+.hljs-template-tag {
+ color: #9A5334;
+}
+
+.hljs-subst,
+.hljs-function,
+.hljs-title,
+.hljs-params,
+.hljs-formula {
+ color: #DCDCDC;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #57A64A;
+ font-style: italic;
+}
+
+.hljs-doctag {
+ color: #608B4E;
+}
+
+.hljs-meta,
+.hljs-meta-keyword,
+.hljs-tag {
+ color: #9B9B9B;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #BD63C5;
+}
+
+.hljs-attr,
+.hljs-attribute,
+.hljs-builtin-name {
+ color: #9CDCFE;
+}
+
+.hljs-section {
+ color: gold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+/*.hljs-code {
+ font-family:'Monospace';
+}*/
+
+.hljs-bullet,
+.hljs-selector-tag,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #D7BA7D;
+}
+
+.hljs-addition {
+ background-color: #144212;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #600;
+ display: inline-block;
+ width: 100%;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/xcode.css b/docs/themes/angular-google-maps/static/images/highlight/styles/xcode.css
new file mode 100644
index 000000000..43dddad84
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/xcode.css
@@ -0,0 +1,93 @@
+/*
+
+XCode style (c) Angel Garcia
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #fff;
+ color: black;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #006a00;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-literal {
+ color: #aa0d91;
+}
+
+.hljs-name {
+ color: #008;
+}
+
+.hljs-variable,
+.hljs-template-variable {
+ color: #660;
+}
+
+.hljs-string {
+ color: #c41a16;
+}
+
+.hljs-regexp,
+.hljs-link {
+ color: #080;
+}
+
+.hljs-title,
+.hljs-tag,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-number,
+.hljs-meta {
+ color: #1c00cf;
+}
+
+.hljs-section,
+.hljs-class .hljs-title,
+.hljs-type,
+.hljs-attr,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-params {
+ color: #5c2699;
+}
+
+.hljs-attribute,
+.hljs-subst {
+ color: #000;
+}
+
+.hljs-formula {
+ background-color: #eee;
+ font-style: italic;
+}
+
+.hljs-addition {
+ background-color: #baeeba;
+}
+
+.hljs-deletion {
+ background-color: #ffc8bd;
+}
+
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #9b703f;
+}
+
+.hljs-doctag,
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/xt256.css b/docs/themes/angular-google-maps/static/images/highlight/styles/xt256.css
new file mode 100644
index 000000000..58df82cb7
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/xt256.css
@@ -0,0 +1,92 @@
+
+/*
+ xt256.css
+
+ Contact: initbar [at] protonmail [dot] ch
+ : github.com/initbar
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ color: #eaeaea;
+ background: #000;
+ padding: 0.5;
+}
+
+.hljs-subst {
+ color: #eaeaea;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-builtin-name,
+.hljs-type {
+ color: #eaeaea;
+}
+
+.hljs-params {
+ color: #da0000;
+}
+
+.hljs-literal,
+.hljs-number,
+.hljs-name {
+ color: #ff0000;
+ font-weight: bolder;
+}
+
+.hljs-comment {
+ color: #969896;
+}
+
+.hljs-selector-id,
+.hljs-quote {
+ color: #00ffff;
+}
+
+.hljs-template-variable,
+.hljs-variable,
+.hljs-title {
+ color: #00ffff;
+ font-weight: bold;
+}
+
+.hljs-selector-class,
+.hljs-keyword,
+.hljs-symbol {
+ color: #fff000;
+}
+
+.hljs-string,
+.hljs-bullet {
+ color: #00ff00;
+}
+
+.hljs-tag,
+.hljs-section {
+ color: #000fff;
+}
+
+.hljs-selector-tag {
+ color: #000fff;
+ font-weight: bold;
+}
+
+.hljs-attribute,
+.hljs-built_in,
+.hljs-regexp,
+.hljs-link {
+ color: #ff00ff;
+}
+
+.hljs-meta {
+ color: #fff;
+ font-weight: bolder;
+}
diff --git a/docs/themes/angular-google-maps/static/images/highlight/styles/zenburn.css b/docs/themes/angular-google-maps/static/images/highlight/styles/zenburn.css
new file mode 100644
index 000000000..07be50201
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/highlight/styles/zenburn.css
@@ -0,0 +1,80 @@
+/*
+
+Zenburn style from voldmar.ru (c) Vladimir Epifanov
+based on dark.css by Ivan Sagalaev
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #3f3f3f;
+ color: #dcdcdc;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-tag {
+ color: #e3ceab;
+}
+
+.hljs-template-tag {
+ color: #dcdcdc;
+}
+
+.hljs-number {
+ color: #8cd0d3;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute {
+ color: #efdcbc;
+}
+
+.hljs-literal {
+ color: #efefaf;
+}
+
+.hljs-subst {
+ color: #8f8f8f;
+}
+
+.hljs-title,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-section,
+.hljs-type {
+ color: #efef8f;
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+ color: #dca3a3;
+}
+
+.hljs-deletion,
+.hljs-string,
+.hljs-built_in,
+.hljs-builtin-name {
+ color: #cc9393;
+}
+
+.hljs-addition,
+.hljs-comment,
+.hljs-quote,
+.hljs-meta {
+ color: #7f9f7f;
+}
+
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2.zip b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2.zip
new file mode 100644
index 000000000..20178ba8f
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2.zip differ
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/.gitignore b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/.gitignore
new file mode 100755
index 000000000..8f9d0ac4c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/.gitignore
@@ -0,0 +1,35 @@
+# Created by https://www.gitignore.io
+
+### Sass ###
+.sass-cache
+*.css.map
+
+
+### Node ###
+# Logs
+logs
+*.log
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directory
+# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
+node_modules
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/.scss-lint.yml b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/.scss-lint.yml
new file mode 100755
index 000000000..2f81cc305
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/.scss-lint.yml
@@ -0,0 +1,187 @@
+scss_files: "**/*.scss"
+
+linters:
+ BangFormat:
+ enabled: true
+ space_before_bang: true
+ space_after_bang: false
+
+ BorderZero:
+ enabled: true
+ convention: zero # or `none`
+
+ ColorKeyword:
+ enabled: true
+
+ ColorVariable:
+ enabled: true
+
+ Comment:
+ enabled: true
+
+ DebugStatement:
+ enabled: true
+
+ DeclarationOrder:
+ enabled: true
+
+ DuplicateProperty:
+ enabled: true
+
+ ElsePlacement:
+ enabled: true
+ style: same_line # or 'new_line'
+
+ EmptyLineBetweenBlocks:
+ enabled: true
+ ignore_single_line_blocks: true
+
+ EmptyRule:
+ enabled: true
+
+ FinalNewline:
+ enabled: true
+ present: true
+
+ HexLength:
+ enabled: true
+ style: short # or 'long'
+
+ HexNotation:
+ enabled: true
+ style: lowercase # or 'uppercase'
+
+ HexValidation:
+ enabled: true
+
+ IdSelector:
+ enabled: true
+
+ ImportantRule:
+ enabled: true
+
+ ImportPath:
+ enabled: true
+ leading_underscore: false
+ filename_extension: false
+
+ Indentation:
+ enabled: true
+ allow_non_nested_indentation: false
+ character: space # or 'tab'
+ width: 2
+
+ LeadingZero:
+ enabled: true
+ style: exclude_zero # or 'include_zero'
+
+ MergeableSelector:
+ enabled: true
+ force_nesting: true
+
+ NameFormat:
+ enabled: true
+ allow_leading_underscore: true
+ convention: hyphenated_lowercase # or 'BEM', or a regex pattern
+
+ NestingDepth:
+ enabled: true
+ max_depth: 3
+
+ PlaceholderInExtend:
+ enabled: true
+
+ PropertyCount:
+ enabled: false
+ include_nested: false
+ max_properties: 10
+
+ PropertySortOrder:
+ enabled: true
+ ignore_unspecified: false
+ separate_groups: false
+
+ PropertySpelling:
+ enabled: true
+ extra_properties: []
+
+ QualifyingElement:
+ enabled: true
+ allow_element_with_attribute: false
+ allow_element_with_class: false
+ allow_element_with_id: false
+
+ SelectorDepth:
+ enabled: true
+ max_depth: 3
+
+ SelectorFormat:
+ enabled: true
+ convention: hyphenated_lowercase # or 'BEM', or 'hyphenated_BEM', or 'snake_case', or 'camel_case', or a regex pattern
+
+ Shorthand:
+ enabled: true
+
+ SingleLinePerProperty:
+ enabled: true
+ allow_single_line_rule_sets: true
+
+ SingleLinePerSelector:
+ enabled: true
+
+ SpaceAfterComma:
+ enabled: true
+
+ SpaceAfterPropertyColon:
+ enabled: true
+ style: one_space # or 'no_space', or 'at_least_one_space', or 'aligned'
+
+ SpaceAfterPropertyName:
+ enabled: true
+
+ SpaceBeforeBrace:
+ enabled: true
+ style: space # or 'new_line'
+ allow_single_line_padding: false
+
+ SpaceBetweenParens:
+ enabled: true
+ spaces: 0
+
+ StringQuotes:
+ enabled: true
+ style: single_quotes # or double_quotes
+
+ TrailingSemicolon:
+ enabled: true
+
+ TrailingZero:
+ enabled: false
+
+ UnnecessaryMantissa:
+ enabled: true
+
+ UnnecessaryParentReference:
+ enabled: true
+
+ UrlFormat:
+ enabled: true
+
+ UrlQuotes:
+ enabled: true
+
+ VariableForProperty:
+ enabled: false
+ properties: []
+
+ VendorPrefix:
+ enabled: true
+ identifier_list: base
+ additional_identifiers: []
+ excluded_identifiers: []
+
+ ZeroUnit:
+ enabled: true
+
+ Compass::*:
+ enabled: false
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/Gulpfile.coffee b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/Gulpfile.coffee
new file mode 100755
index 000000000..b4029917f
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/Gulpfile.coffee
@@ -0,0 +1,40 @@
+gulp = require 'gulp'
+sass = require 'gulp-sass'
+jade = require 'gulp-jade'
+cssmin = require 'gulp-cssmin'
+rename = require 'gulp-rename'
+autoprefixer = require 'gulp-autoprefixer'
+gutil = require 'gulp-util'
+plumber = require 'gulp-plumber'
+
+gulp.task 'scss:compile', ->
+ gulp.src './src/loaders.scss'
+ .pipe plumber((err) -> console.log(err.stack))
+ .pipe sass()
+ .pipe autoprefixer "last 2 versions", "> 1%", "ie 8", {
+ map: false
+ }
+ .pipe plumber.stop()
+ .pipe gulp.dest('./')
+ .pipe cssmin()
+ .pipe rename suffix: '.min'
+ .pipe gulp.dest './'
+ .on 'finish', -> gutil.log('scss build finished.')
+
+gulp.task 'demo:scss:compile', ->
+ gulp.src './demo/src/demo.scss'
+ .pipe sass({errLogToConsole: true}).on("error", gutil.log).on("error", gutil.beep)
+ .pipe gulp.dest './demo/'
+
+gulp.task 'demo:jade:compile', ->
+ gulp.src './demo/src/*.jade'
+ .pipe jade(pretty: true)
+ .pipe gulp.dest './demo/'
+
+gulp.task 'watch', ->
+ gulp.watch 'src/**/*.scss', ['scss:compile']
+ gulp.watch 'demo/src/**/*.scss', ['demo:scss:compile']
+ gulp.watch 'demo/src/**/*.jade', ['demo:jade:compile']
+
+gulp.task 'demo', ['demo:scss:compile', 'demo:jade:compile']
+gulp.task 'default', ['scss:compile', 'demo', 'watch']
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/README.md b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/README.md
new file mode 100755
index 000000000..d124b0ea5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/README.md
@@ -0,0 +1,114 @@
+Loaders.css
+
+
+
+
+
+
+Delightful and performance-focused pure css loading animations.
+
+### What is this?
+
+[See the demo](http://connoratherton.com/loaders)
+
+A collection of loading animations written entirely in css.
+Each animation is limited to a small subset of css properties in order
+to avoid expensive painting and layout calculations.
+
+I've posted links below to some fantastic articles that go into this
+in a lot more detail.
+
+### Install
+
+```
+bower install loaders.css
+```
+
+```
+npm i --save-dev loaders.css
+```
+
+### Usage
+
+##### Standard
+- Include `loaders.min.css`
+- Create an element and add the animation class (e.g. ``)
+- Insert the appropriate number of ``s into that element
+
+##### jQuery (optional)
+- Include `loaders.min.css`, jQuery, and `loaders.css.js`
+- Create an element and add the animation class (e.g. ``)
+- `loaders.js` is a simple helper to inject the correct number of div elements for each animation
+- To initialise loaders that are added after page load select the div and call `loaders` on them (e.g. `$('.loader-inner').loaders()`)
+- Enjoy
+
+### Customising
+
+##### Changing the background color
+
+Add styles to the correct child `div` elements
+
+``` css
+.ball-grid-pulse > div {
+ background: orange;
+}
+```
+
+### Browser support
+
+Check the [can I use](http://caniuse.com/#search=css-animation) [tables](http://caniuse.com/#search=css-transform).
+All recent versions of the major browsers are supported and it has support back to IE9.
+
+Note: The loaders aren't run through autoprefixer, see this [issue](https://github.com/ConnorAtherton/loaders.css/issues/18).
+
+IE 11 | Firefox 36 | Chrome 41 | Safari 8
+------ | ---------- | --------- | --------
+✔ | ✔ | ✔ | ✔
+
+### Contributing
+
+Pull requests are welcome! Create another file in `src/animations`
+and load it in `src/loader.scss`.
+
+In a separate tab run `gulp --require coffee-script/register`. Open `demo/demo.html`
+in a browser to see your animation running.
+
+### Further research
+
+- http://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/
+- http://aerotwist.com/blog/pixels-are-expensive/
+- http://www.html5rocks.com/en/tutorials/speed/high-performance-animations/
+- http://frontendbabel.info/articles/webpage-rendering-101/
+
+### Inspired by loaders.css
+
+A few other folks have taken loaders and ported them elsewhere.
+
+- **React** - [Jon Jaques](https://github.com/jonjaques) built a React demo you can check out [here](https://github.com/jonjaques/react-loaders)
+- **Angular** - [the-corman](https://github.com/the-cormoran/angular-loaders) created some directives for angular, as did [Masadow](https://github.com/Masadow) in [this pr](https://github.com/ConnorAtherton/loaders.css/pull/50)
+- **iOS** - [ninjaprox](https://github.com/ninjaprox/NVActivityIndicatorView) and [ontovnik](https://github.com/gontovnik/DGActivityIndicatorView)
+- **Android** - [Jack Wang](https://github.com/81813780/AVLoadingIndicatorView) created a library and [technofreaky](https://github.com/technofreaky/Loaders.CSS-Android-App) created an app
+
+### Licence
+
+The MIT License (MIT)
+
+Copyright (c) 2015 Connor Atherton
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/bower.json b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/bower.json
new file mode 100755
index 000000000..c2014d28c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/bower.json
@@ -0,0 +1,22 @@
+{
+ "name": "loaders.css",
+ "authors": [
+ "Connor Atherton "
+ ],
+ "description": "Delightful and performant pure css loading animations.",
+ "main": "loaders.css",
+ "keywords": [
+ "loader",
+ "animations",
+ "css"
+ ],
+ "license": "MIT",
+ "homepage": "https://github.com/ConnorAtherton/loaders.css",
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests"
+ ]
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/demo.css b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/demo.css
new file mode 100755
index 000000000..b17f1fb78
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/demo.css
@@ -0,0 +1,91 @@
+/**
+ *
+ *
+ */
+html,
+body {
+ padding: 0;
+ margin: 0;
+ height: 100%;
+ font-size: 16px;
+ background: #ed5565;
+ color: #fff;
+ font-family: 'Source Sans Pro'; }
+
+h1 {
+ font-size: 2.8em;
+ font-weight: 700;
+ letter-spacing: -1px;
+ margin: 0.6rem 0; }
+ h1 > span {
+ font-weight: 300; }
+
+h2 {
+ font-size: 1.15em;
+ font-weight: 300;
+ margin: 0.3rem 0; }
+
+main {
+ width: 95%;
+ max-width: 1000px;
+ margin: 4em auto;
+ opacity: 0; }
+ main.loaded {
+ transition: opacity 0.25s linear;
+ opacity: 1; }
+ main header {
+ width: 100%; }
+ main header > div {
+ width: 50%; }
+ main header > .left,
+ main header > .right {
+ height: 100%; }
+ main .loaders {
+ width: 100%;
+ box-sizing: border-box;
+ display: flex;
+ flex: 0 1 auto;
+ flex-direction: row;
+ flex-wrap: wrap; }
+ main .loaders .loader {
+ box-sizing: border-box;
+ display: flex;
+ flex: 0 1 auto;
+ flex-direction: column;
+ flex-grow: 1;
+ flex-shrink: 0;
+ flex-basis: 25%;
+ max-width: 25%;
+ height: 200px;
+ align-items: center;
+ justify-content: center; }
+
+/**
+ * Util classes
+ */
+.left {
+ float: left; }
+
+.right {
+ float: right; }
+
+.cf, main header {
+ content: "";
+ display: table;
+ clear: both; }
+
+/**
+ * Buttons
+ */
+.btn {
+ color: #fff;
+ padding: 0.75rem 1.25rem;
+ border: 2px solid #fff;
+ border-radius: 4px;
+ text-decoration: none;
+ transition: transform 0.1s ease-out, border 0.1s ease-out, background-color 0.15s ease-out, color 0.1s ease-out;
+ margin: 2rem 0; }
+ .btn:hover {
+ transform: scale(1.01562);
+ background-color: #fff;
+ color: #ed5565; }
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/demo.html b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/demo.html
new file mode 100755
index 000000000..7d0a7c640
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/demo.html
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+
+
+
+ Loaders.css
+ Delightful and performance-focused pure css loading animations.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/src/demo.jade b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/src/demo.jade
new file mode 100755
index 000000000..7e77ca164
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/src/demo.jade
@@ -0,0 +1,210 @@
+doctype html5
+head
+ link(href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:600,300' rel='stylesheet' type='text/css')
+ link(rel="stylesheet", type="text/css", href="demo.css")
+ link(rel="stylesheet", type="text/css", href="../loaders.css")
+body
+ main
+ header
+ .left
+ h1 Loaders
+ span .css
+ h2 Delightful and performance-focused pure css loading animations.
+
+ .right
+ a.btn.right(href="https://github.com/ConnorAtherton/loaders.css")
+ | View on Github
+
+ .loaders
+ .loader
+ .loader-inner.ball-pulse
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-grid-pulse
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-clip-rotate
+ div
+
+ .loader
+ .loader-inner.ball-clip-rotate-pulse
+ div
+ div
+
+ .loader
+ .loader-inner.square-spin
+ div
+
+ .loader
+ .loader-inner.ball-clip-rotate-multiple
+ div
+ div
+
+ .loader
+ .loader-inner.ball-pulse-rise
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-rotate
+ div
+
+ .loader
+ .loader-inner.cube-transition
+ div
+ div
+
+ .loader
+ .loader-inner.ball-zig-zag
+ div
+ div
+
+ .loader
+ .loader-inner.ball-zig-zag-deflect
+ div
+ div
+
+ .loader
+ .loader-inner.ball-triangle-path
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-scale
+ div
+
+ .loader
+ .loader-inner.line-scale
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.line-scale-party
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-scale-multiple
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-pulse-sync
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-beat
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.line-scale-pulse-out
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.line-scale-pulse-out-rapid
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-scale-ripple
+ div
+
+ .loader
+ .loader-inner.ball-scale-ripple-multiple
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-spin-fade-loader
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.line-spin-fade-loader
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.triangle-skew-spin
+ div
+
+ .loader
+ .loader-inner.pacman
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.semi-circle-spin
+ div
+
+ .loader
+ .loader-inner.ball-grid-beat
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+ div
+
+ .loader
+ .loader-inner.ball-scale-random
+ div
+ div
+ div
+
+ script.
+ document.addEventListener('DOMContentLoaded', function () {
+ document.querySelector('main').className += 'loaded';
+ });
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/src/demo.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/src/demo.scss
new file mode 100755
index 000000000..75bd3bfcf
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/demo/src/demo.scss
@@ -0,0 +1,125 @@
+/**
+ *
+ *
+ */
+$gray: #dcdcdc;
+$text: #fff;
+$bg-color: #ed5565;
+
+html,
+body {
+ padding: 0;
+ margin: 0;
+ height: 100%;
+ font-size: 16px;
+ background: $bg-color;
+ color: $text;
+ font-family: 'Source Sans Pro';
+}
+
+h1 {
+ font-size: 2.8em;
+ font-weight: 700;
+ letter-spacing: -1px;
+ margin: 0.6rem 0;
+
+ > span {
+ font-weight: 300;
+ }
+}
+
+h2 {
+ font-size: 1.15em;
+ font-weight: 300;
+ margin: 0.3rem 0;
+}
+
+main {
+ width: 95%;
+ max-width: 1000px;
+ margin: 4em auto;
+ opacity: 0;
+
+ &.loaded {
+ transition: opacity .25s linear;
+ opacity: 1;
+ }
+
+ header {
+ @extend .cf;
+
+ width: 100%;
+
+ > div {
+ width: 50%;
+ }
+
+ > .left,
+ > .right {
+ height: 100%;
+ }
+
+ }
+
+ .loaders {
+ width: 100%;
+ box-sizing: border-box;
+ display: flex;
+ flex: 0 1 auto;
+ flex-direction: row;
+ flex-wrap: wrap;
+
+ .loader {
+ box-sizing: border-box;
+ display: flex;
+ flex: 0 1 auto;
+ flex-direction: column;
+ flex-grow: 1;
+ flex-shrink: 0;
+ flex-basis: 25%;
+ max-width: 25%;
+ height: 200px;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+}
+
+/**
+ * Util classes
+ */
+
+.left {
+ float: left;
+}
+
+.right {
+ float: right;
+}
+
+.cf {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+/**
+ * Buttons
+ */
+
+.btn {
+ color: $text;
+ padding: .75rem 1.25rem;
+ border: 2px solid $text;
+ border-radius: 4px;
+ text-decoration: none;
+ transition: transform .1s ease-out, border .1s ease-out, background-color .15s ease-out, color .1s ease-out;
+ margin: 2rem 0;
+
+ &:hover {
+ transform: scale(1.01562);
+ background-color: #fff;
+ color: $bg-color;
+ }
+}
+
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.css b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.css
new file mode 100755
index 000000000..312edc9c3
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.css
@@ -0,0 +1,1934 @@
+/**
+ *
+ * All animations must live in their own file
+ * in the animations directory and be included
+ * here.
+ *
+ */
+/**
+ * Styles shared by multiple animations
+ */
+/**
+ * Dots
+ */
+@-webkit-keyframes scale {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+ 45% {
+ -webkit-transform: scale(0.1);
+ transform: scale(0.1);
+ opacity: 0.7; }
+ 80% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; } }
+@keyframes scale {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+ 45% {
+ -webkit-transform: scale(0.1);
+ transform: scale(0.1);
+ opacity: 0.7; }
+ 80% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; } }
+
+.ball-pulse > div:nth-child(0) {
+ -webkit-animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.ball-pulse > div:nth-child(1) {
+ -webkit-animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.ball-pulse > div:nth-child(2) {
+ -webkit-animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.ball-pulse > div:nth-child(3) {
+ -webkit-animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.ball-pulse > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block; }
+
+@-webkit-keyframes ball-pulse-sync {
+ 33% {
+ -webkit-transform: translateY(10px);
+ transform: translateY(10px); }
+ 66% {
+ -webkit-transform: translateY(-10px);
+ transform: translateY(-10px); }
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0); } }
+
+@keyframes ball-pulse-sync {
+ 33% {
+ -webkit-transform: translateY(10px);
+ transform: translateY(10px); }
+ 66% {
+ -webkit-transform: translateY(-10px);
+ transform: translateY(-10px); }
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0); } }
+
+.ball-pulse-sync > div:nth-child(0) {
+ -webkit-animation: ball-pulse-sync 0.6s -0.21s infinite ease-in-out;
+ animation: ball-pulse-sync 0.6s -0.21s infinite ease-in-out; }
+
+.ball-pulse-sync > div:nth-child(1) {
+ -webkit-animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
+ animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out; }
+
+.ball-pulse-sync > div:nth-child(2) {
+ -webkit-animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
+ animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out; }
+
+.ball-pulse-sync > div:nth-child(3) {
+ -webkit-animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
+ animation: ball-pulse-sync 0.6s 0s infinite ease-in-out; }
+
+.ball-pulse-sync > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block; }
+
+@-webkit-keyframes ball-scale {
+ 0% {
+ -webkit-transform: scale(0);
+ transform: scale(0); }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0; } }
+
+@keyframes ball-scale {
+ 0% {
+ -webkit-transform: scale(0);
+ transform: scale(0); }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0; } }
+
+.ball-scale > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ height: 60px;
+ width: 60px;
+ -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
+ animation: ball-scale 1s 0s ease-in-out infinite; }
+
+@keyframes ball-scale {
+ 0% {
+ -webkit-transform: scale(0);
+ transform: scale(0); }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0; } }
+
+.ball-scale > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ height: 60px;
+ width: 60px;
+ -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
+ animation: ball-scale 1s 0s ease-in-out infinite; }
+
+.ball-scale-random {
+ width: 37px;
+ height: 40px; }
+ .ball-scale-random > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ display: inline-block;
+ height: 30px;
+ width: 30px;
+ -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
+ animation: ball-scale 1s 0s ease-in-out infinite; }
+ .ball-scale-random > div:nth-child(1) {
+ margin-left: -7px;
+ -webkit-animation: ball-scale 1s 0.2s ease-in-out infinite;
+ animation: ball-scale 1s 0.2s ease-in-out infinite; }
+ .ball-scale-random > div:nth-child(3) {
+ margin-left: -2px;
+ margin-top: 9px;
+ -webkit-animation: ball-scale 1s 0.5s ease-in-out infinite;
+ animation: ball-scale 1s 0.5s ease-in-out infinite; }
+
+@-webkit-keyframes rotate {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 50% {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg); }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+@keyframes rotate {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 50% {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg); }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+.ball-rotate {
+ position: relative; }
+ .ball-rotate > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: relative; }
+ .ball-rotate > div:first-child {
+ -webkit-animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
+ animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite; }
+ .ball-rotate > div:before, .ball-rotate > div:after {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ content: "";
+ position: absolute;
+ opacity: 0.8; }
+ .ball-rotate > div:before {
+ top: 0px;
+ left: -28px; }
+ .ball-rotate > div:after {
+ top: 0px;
+ left: 25px; }
+
+@keyframes rotate {
+ 0% {
+ -webkit-transform: rotate(0deg) scale(1);
+ transform: rotate(0deg) scale(1); }
+ 50% {
+ -webkit-transform: rotate(180deg) scale(0.6);
+ transform: rotate(180deg) scale(0.6); }
+ 100% {
+ -webkit-transform: rotate(360deg) scale(1);
+ transform: rotate(360deg) scale(1); } }
+
+.ball-clip-rotate > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ border: 2px solid #fff;
+ border-bottom-color: transparent;
+ height: 25px;
+ width: 25px;
+ background: transparent !important;
+ display: inline-block;
+ -webkit-animation: rotate 0.75s 0s linear infinite;
+ animation: rotate 0.75s 0s linear infinite; }
+
+@keyframes rotate {
+ 0% {
+ -webkit-transform: rotate(0deg) scale(1);
+ transform: rotate(0deg) scale(1); }
+ 50% {
+ -webkit-transform: rotate(180deg) scale(0.6);
+ transform: rotate(180deg) scale(0.6); }
+ 100% {
+ -webkit-transform: rotate(360deg) scale(1);
+ transform: rotate(360deg) scale(1); } }
+
+@keyframes scale {
+ 30% {
+ -webkit-transform: scale(0.3);
+ transform: scale(0.3); }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+.ball-clip-rotate-pulse {
+ position: relative;
+ -webkit-transform: translateY(-15px);
+ -ms-transform: translateY(-15px);
+ transform: translateY(-15px); }
+ .ball-clip-rotate-pulse > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ border-radius: 100%; }
+ .ball-clip-rotate-pulse > div:first-child {
+ background: #fff;
+ height: 16px;
+ width: 16px;
+ top: 7px;
+ left: -7px;
+ -webkit-animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
+ animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }
+ .ball-clip-rotate-pulse > div:last-child {
+ position: absolute;
+ border: 2px solid #fff;
+ width: 30px;
+ height: 30px;
+ left: -16px;
+ top: -2px;
+ background: transparent;
+ border: 2px solid;
+ border-color: #fff transparent #fff transparent;
+ -webkit-animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
+ animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s; }
+
+@keyframes rotate {
+ 0% {
+ -webkit-transform: rotate(0deg) scale(1);
+ transform: rotate(0deg) scale(1); }
+ 50% {
+ -webkit-transform: rotate(180deg) scale(0.6);
+ transform: rotate(180deg) scale(0.6); }
+ 100% {
+ -webkit-transform: rotate(360deg) scale(1);
+ transform: rotate(360deg) scale(1); } }
+
+.ball-clip-rotate-multiple {
+ position: relative; }
+ .ball-clip-rotate-multiple > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ left: -20px;
+ top: -20px;
+ border: 2px solid #fff;
+ border-bottom-color: transparent;
+ border-top-color: transparent;
+ border-radius: 100%;
+ height: 35px;
+ width: 35px;
+ -webkit-animation: rotate 1s 0s ease-in-out infinite;
+ animation: rotate 1s 0s ease-in-out infinite; }
+ .ball-clip-rotate-multiple > div:last-child {
+ display: inline-block;
+ top: -10px;
+ left: -10px;
+ width: 15px;
+ height: 15px;
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ border-color: #fff transparent #fff transparent;
+ -webkit-animation-direction: reverse;
+ animation-direction: reverse; }
+
+@-webkit-keyframes ball-scale-ripple {
+ 0% {
+ -webkit-transform: scale(0.1);
+ transform: scale(0.1);
+ opacity: 1; }
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0.7; }
+ 100% {
+ opacity: 0.0; } }
+
+@keyframes ball-scale-ripple {
+ 0% {
+ -webkit-transform: scale(0.1);
+ transform: scale(0.1);
+ opacity: 1; }
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0.7; }
+ 100% {
+ opacity: 0.0; } }
+
+.ball-scale-ripple > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ height: 50px;
+ width: 50px;
+ border-radius: 100%;
+ border: 2px solid #fff;
+ -webkit-animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
+ animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); }
+
+@-webkit-keyframes ball-scale-ripple-multiple {
+ 0% {
+ -webkit-transform: scale(0.1);
+ transform: scale(0.1);
+ opacity: 1; }
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0.7; }
+ 100% {
+ opacity: 0.0; } }
+
+@keyframes ball-scale-ripple-multiple {
+ 0% {
+ -webkit-transform: scale(0.1);
+ transform: scale(0.1);
+ opacity: 1; }
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0.7; }
+ 100% {
+ opacity: 0.0; } }
+
+.ball-scale-ripple-multiple {
+ position: relative;
+ -webkit-transform: translateY(-25px);
+ -ms-transform: translateY(-25px);
+ transform: translateY(-25px); }
+ .ball-scale-ripple-multiple > div:nth-child(0) {
+ -webkit-animation-delay: -0.8s;
+ animation-delay: -0.8s; }
+ .ball-scale-ripple-multiple > div:nth-child(1) {
+ -webkit-animation-delay: -0.6s;
+ animation-delay: -0.6s; }
+ .ball-scale-ripple-multiple > div:nth-child(2) {
+ -webkit-animation-delay: -0.4s;
+ animation-delay: -0.4s; }
+ .ball-scale-ripple-multiple > div:nth-child(3) {
+ -webkit-animation-delay: -0.2s;
+ animation-delay: -0.2s; }
+ .ball-scale-ripple-multiple > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ top: -2px;
+ left: -26px;
+ width: 50px;
+ height: 50px;
+ border-radius: 100%;
+ border: 2px solid #fff;
+ -webkit-animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
+ animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); }
+
+@-webkit-keyframes ball-beat {
+ 50% {
+ opacity: 0.2;
+ -webkit-transform: scale(0.75);
+ transform: scale(0.75); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+@keyframes ball-beat {
+ 50% {
+ opacity: 0.2;
+ -webkit-transform: scale(0.75);
+ transform: scale(0.75); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+.ball-beat > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ -webkit-animation: ball-beat 0.7s 0s infinite linear;
+ animation: ball-beat 0.7s 0s infinite linear; }
+ .ball-beat > div:nth-child(2n-1) {
+ -webkit-animation-delay: -0.35s !important;
+ animation-delay: -0.35s !important; }
+
+@-webkit-keyframes ball-scale-multiple {
+ 0% {
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ opacity: 0; }
+ 5% {
+ opacity: 1; }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0; } }
+
+@keyframes ball-scale-multiple {
+ 0% {
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ opacity: 0; }
+ 5% {
+ opacity: 1; }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 0; } }
+
+.ball-scale-multiple {
+ position: relative;
+ -webkit-transform: translateY(-30px);
+ -ms-transform: translateY(-30px);
+ transform: translateY(-30px); }
+ .ball-scale-multiple > div:nth-child(2) {
+ -webkit-animation-delay: -0.4s;
+ animation-delay: -0.4s; }
+ .ball-scale-multiple > div:nth-child(3) {
+ -webkit-animation-delay: -0.2s;
+ animation-delay: -0.2s; }
+ .ball-scale-multiple > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ left: -30px;
+ top: 0px;
+ opacity: 0;
+ margin: 0;
+ width: 60px;
+ height: 60px;
+ -webkit-animation: ball-scale-multiple 1s 0s linear infinite;
+ animation: ball-scale-multiple 1s 0s linear infinite; }
+
+@-webkit-keyframes ball-triangle-path-1 {
+ 33% {
+ -webkit-transform: translate(25px, -50px);
+ transform: translate(25px, -50px); }
+ 66% {
+ -webkit-transform: translate(50px, 0px);
+ transform: translate(50px, 0px); }
+ 100% {
+ -webkit-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); } }
+
+@keyframes ball-triangle-path-1 {
+ 33% {
+ -webkit-transform: translate(25px, -50px);
+ transform: translate(25px, -50px); }
+ 66% {
+ -webkit-transform: translate(50px, 0px);
+ transform: translate(50px, 0px); }
+ 100% {
+ -webkit-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); } }
+
+@-webkit-keyframes ball-triangle-path-2 {
+ 33% {
+ -webkit-transform: translate(25px, 50px);
+ transform: translate(25px, 50px); }
+ 66% {
+ -webkit-transform: translate(-25px, 50px);
+ transform: translate(-25px, 50px); }
+ 100% {
+ -webkit-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); } }
+
+@keyframes ball-triangle-path-2 {
+ 33% {
+ -webkit-transform: translate(25px, 50px);
+ transform: translate(25px, 50px); }
+ 66% {
+ -webkit-transform: translate(-25px, 50px);
+ transform: translate(-25px, 50px); }
+ 100% {
+ -webkit-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); } }
+
+@-webkit-keyframes ball-triangle-path-3 {
+ 33% {
+ -webkit-transform: translate(-50px, 0px);
+ transform: translate(-50px, 0px); }
+ 66% {
+ -webkit-transform: translate(-25px, -50px);
+ transform: translate(-25px, -50px); }
+ 100% {
+ -webkit-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); } }
+
+@keyframes ball-triangle-path-3 {
+ 33% {
+ -webkit-transform: translate(-50px, 0px);
+ transform: translate(-50px, 0px); }
+ 66% {
+ -webkit-transform: translate(-25px, -50px);
+ transform: translate(-25px, -50px); }
+ 100% {
+ -webkit-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); } }
+
+.ball-triangle-path {
+ position: relative;
+ -webkit-transform: translate(-29.994px, -37.50938px);
+ -ms-transform: translate(-29.994px, -37.50938px);
+ transform: translate(-29.994px, -37.50938px); }
+ .ball-triangle-path > div:nth-child(1) {
+ -webkit-animation-name: ball-triangle-path-1;
+ animation-name: ball-triangle-path-1;
+ -webkit-animation-delay: 0;
+ animation-delay: 0;
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite; }
+ .ball-triangle-path > div:nth-child(2) {
+ -webkit-animation-name: ball-triangle-path-2;
+ animation-name: ball-triangle-path-2;
+ -webkit-animation-delay: 0;
+ animation-delay: 0;
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite; }
+ .ball-triangle-path > div:nth-child(3) {
+ -webkit-animation-name: ball-triangle-path-3;
+ animation-name: ball-triangle-path-3;
+ -webkit-animation-delay: 0;
+ animation-delay: 0;
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite; }
+ .ball-triangle-path > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ border-radius: 100%;
+ border: 1px solid #fff; }
+ .ball-triangle-path > div:nth-of-type(1) {
+ top: 50px; }
+ .ball-triangle-path > div:nth-of-type(2) {
+ left: 25px; }
+ .ball-triangle-path > div:nth-of-type(3) {
+ top: 50px;
+ left: 50px; }
+
+@-webkit-keyframes ball-pulse-rise-even {
+ 0% {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1); }
+ 25% {
+ -webkit-transform: translateY(-30px);
+ transform: translateY(-30px); }
+ 50% {
+ -webkit-transform: scale(0.4);
+ transform: scale(0.4); }
+ 75% {
+ -webkit-transform: translateY(30px);
+ transform: translateY(30px); }
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+@keyframes ball-pulse-rise-even {
+ 0% {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1); }
+ 25% {
+ -webkit-transform: translateY(-30px);
+ transform: translateY(-30px); }
+ 50% {
+ -webkit-transform: scale(0.4);
+ transform: scale(0.4); }
+ 75% {
+ -webkit-transform: translateY(30px);
+ transform: translateY(30px); }
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+@-webkit-keyframes ball-pulse-rise-odd {
+ 0% {
+ -webkit-transform: scale(0.4);
+ transform: scale(0.4); }
+ 25% {
+ -webkit-transform: translateY(30px);
+ transform: translateY(30px); }
+ 50% {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1); }
+ 75% {
+ -webkit-transform: translateY(-30px);
+ transform: translateY(-30px); }
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ -webkit-transform: scale(0.75);
+ transform: scale(0.75); } }
+
+@keyframes ball-pulse-rise-odd {
+ 0% {
+ -webkit-transform: scale(0.4);
+ transform: scale(0.4); }
+ 25% {
+ -webkit-transform: translateY(30px);
+ transform: translateY(30px); }
+ 50% {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1); }
+ 75% {
+ -webkit-transform: translateY(-30px);
+ transform: translateY(-30px); }
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ -webkit-transform: scale(0.75);
+ transform: scale(0.75); } }
+
+.ball-pulse-rise > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
+ animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-delay: 0;
+ animation-delay: 0; }
+ .ball-pulse-rise > div:nth-child(2n) {
+ -webkit-animation-name: ball-pulse-rise-even;
+ animation-name: ball-pulse-rise-even; }
+ .ball-pulse-rise > div:nth-child(2n-1) {
+ -webkit-animation-name: ball-pulse-rise-odd;
+ animation-name: ball-pulse-rise-odd; }
+
+@-webkit-keyframes ball-grid-beat {
+ 50% {
+ opacity: 0.7; }
+ 100% {
+ opacity: 1; } }
+
+@keyframes ball-grid-beat {
+ 50% {
+ opacity: 0.7; }
+ 100% {
+ opacity: 1; } }
+
+.ball-grid-beat {
+ width: 57px; }
+ .ball-grid-beat > div:nth-child(1) {
+ -webkit-animation-delay: 0.44s;
+ animation-delay: 0.44s;
+ -webkit-animation-duration: 1.27s;
+ animation-duration: 1.27s; }
+ .ball-grid-beat > div:nth-child(2) {
+ -webkit-animation-delay: 0.2s;
+ animation-delay: 0.2s;
+ -webkit-animation-duration: 1.52s;
+ animation-duration: 1.52s; }
+ .ball-grid-beat > div:nth-child(3) {
+ -webkit-animation-delay: 0.14s;
+ animation-delay: 0.14s;
+ -webkit-animation-duration: 0.61s;
+ animation-duration: 0.61s; }
+ .ball-grid-beat > div:nth-child(4) {
+ -webkit-animation-delay: 0.15s;
+ animation-delay: 0.15s;
+ -webkit-animation-duration: 0.82s;
+ animation-duration: 0.82s; }
+ .ball-grid-beat > div:nth-child(5) {
+ -webkit-animation-delay: -0.01s;
+ animation-delay: -0.01s;
+ -webkit-animation-duration: 1.24s;
+ animation-duration: 1.24s; }
+ .ball-grid-beat > div:nth-child(6) {
+ -webkit-animation-delay: -0.07s;
+ animation-delay: -0.07s;
+ -webkit-animation-duration: 1.35s;
+ animation-duration: 1.35s; }
+ .ball-grid-beat > div:nth-child(7) {
+ -webkit-animation-delay: 0.29s;
+ animation-delay: 0.29s;
+ -webkit-animation-duration: 1.44s;
+ animation-duration: 1.44s; }
+ .ball-grid-beat > div:nth-child(8) {
+ -webkit-animation-delay: 0.63s;
+ animation-delay: 0.63s;
+ -webkit-animation-duration: 1.19s;
+ animation-duration: 1.19s; }
+ .ball-grid-beat > div:nth-child(9) {
+ -webkit-animation-delay: -0.18s;
+ animation-delay: -0.18s;
+ -webkit-animation-duration: 1.48s;
+ animation-duration: 1.48s; }
+ .ball-grid-beat > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ float: left;
+ -webkit-animation-name: ball-grid-beat;
+ animation-name: ball-grid-beat;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-delay: 0;
+ animation-delay: 0; }
+
+@-webkit-keyframes ball-grid-pulse {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1); }
+ 50% {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5);
+ opacity: 0.7; }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; } }
+
+@keyframes ball-grid-pulse {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1); }
+ 50% {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5);
+ opacity: 0.7; }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; } }
+
+.ball-grid-pulse {
+ width: 57px; }
+ .ball-grid-pulse > div:nth-child(1) {
+ -webkit-animation-delay: 0.58s;
+ animation-delay: 0.58s;
+ -webkit-animation-duration: 0.9s;
+ animation-duration: 0.9s; }
+ .ball-grid-pulse > div:nth-child(2) {
+ -webkit-animation-delay: 0.01s;
+ animation-delay: 0.01s;
+ -webkit-animation-duration: 0.94s;
+ animation-duration: 0.94s; }
+ .ball-grid-pulse > div:nth-child(3) {
+ -webkit-animation-delay: 0.25s;
+ animation-delay: 0.25s;
+ -webkit-animation-duration: 1.43s;
+ animation-duration: 1.43s; }
+ .ball-grid-pulse > div:nth-child(4) {
+ -webkit-animation-delay: -0.03s;
+ animation-delay: -0.03s;
+ -webkit-animation-duration: 0.74s;
+ animation-duration: 0.74s; }
+ .ball-grid-pulse > div:nth-child(5) {
+ -webkit-animation-delay: 0.21s;
+ animation-delay: 0.21s;
+ -webkit-animation-duration: 0.68s;
+ animation-duration: 0.68s; }
+ .ball-grid-pulse > div:nth-child(6) {
+ -webkit-animation-delay: 0.25s;
+ animation-delay: 0.25s;
+ -webkit-animation-duration: 1.17s;
+ animation-duration: 1.17s; }
+ .ball-grid-pulse > div:nth-child(7) {
+ -webkit-animation-delay: 0.46s;
+ animation-delay: 0.46s;
+ -webkit-animation-duration: 1.41s;
+ animation-duration: 1.41s; }
+ .ball-grid-pulse > div:nth-child(8) {
+ -webkit-animation-delay: 0.02s;
+ animation-delay: 0.02s;
+ -webkit-animation-duration: 1.56s;
+ animation-duration: 1.56s; }
+ .ball-grid-pulse > div:nth-child(9) {
+ -webkit-animation-delay: 0.13s;
+ animation-delay: 0.13s;
+ -webkit-animation-duration: 0.78s;
+ animation-duration: 0.78s; }
+ .ball-grid-pulse > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ float: left;
+ -webkit-animation-name: ball-grid-pulse;
+ animation-name: ball-grid-pulse;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-delay: 0;
+ animation-delay: 0; }
+
+@-webkit-keyframes ball-spin-fade-loader {
+ 50% {
+ opacity: 0.3;
+ -webkit-transform: scale(0.4);
+ transform: scale(0.4); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+@keyframes ball-spin-fade-loader {
+ 50% {
+ opacity: 0.3;
+ -webkit-transform: scale(0.4);
+ transform: scale(0.4); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+.ball-spin-fade-loader {
+ position: relative;
+ top: -10px;
+ left: -10px; }
+ .ball-spin-fade-loader > div:nth-child(1) {
+ top: 25px;
+ left: 0;
+ -webkit-animation: ball-spin-fade-loader 1s -0.96s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.96s infinite linear; }
+ .ball-spin-fade-loader > div:nth-child(2) {
+ top: 17.04545px;
+ left: 17.04545px;
+ -webkit-animation: ball-spin-fade-loader 1s -0.84s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.84s infinite linear; }
+ .ball-spin-fade-loader > div:nth-child(3) {
+ top: 0;
+ left: 25px;
+ -webkit-animation: ball-spin-fade-loader 1s -0.72s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.72s infinite linear; }
+ .ball-spin-fade-loader > div:nth-child(4) {
+ top: -17.04545px;
+ left: 17.04545px;
+ -webkit-animation: ball-spin-fade-loader 1s -0.6s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.6s infinite linear; }
+ .ball-spin-fade-loader > div:nth-child(5) {
+ top: -25px;
+ left: 0;
+ -webkit-animation: ball-spin-fade-loader 1s -0.48s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.48s infinite linear; }
+ .ball-spin-fade-loader > div:nth-child(6) {
+ top: -17.04545px;
+ left: -17.04545px;
+ -webkit-animation: ball-spin-fade-loader 1s -0.36s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.36s infinite linear; }
+ .ball-spin-fade-loader > div:nth-child(7) {
+ top: 0;
+ left: -25px;
+ -webkit-animation: ball-spin-fade-loader 1s -0.24s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.24s infinite linear; }
+ .ball-spin-fade-loader > div:nth-child(8) {
+ top: 17.04545px;
+ left: -17.04545px;
+ -webkit-animation: ball-spin-fade-loader 1s -0.12s infinite linear;
+ animation: ball-spin-fade-loader 1s -0.12s infinite linear; }
+ .ball-spin-fade-loader > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute; }
+
+@-webkit-keyframes ball-spin-loader {
+ 75% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 1; } }
+
+@keyframes ball-spin-loader {
+ 75% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 1; } }
+
+.ball-spin-loader {
+ position: relative; }
+ .ball-spin-loader > span:nth-child(1) {
+ top: 45px;
+ left: 0;
+ -webkit-animation: ball-spin-loader 2s 0.9s infinite linear;
+ animation: ball-spin-loader 2s 0.9s infinite linear; }
+ .ball-spin-loader > span:nth-child(2) {
+ top: 30.68182px;
+ left: 30.68182px;
+ -webkit-animation: ball-spin-loader 2s 1.8s infinite linear;
+ animation: ball-spin-loader 2s 1.8s infinite linear; }
+ .ball-spin-loader > span:nth-child(3) {
+ top: 0;
+ left: 45px;
+ -webkit-animation: ball-spin-loader 2s 2.7s infinite linear;
+ animation: ball-spin-loader 2s 2.7s infinite linear; }
+ .ball-spin-loader > span:nth-child(4) {
+ top: -30.68182px;
+ left: 30.68182px;
+ -webkit-animation: ball-spin-loader 2s 3.6s infinite linear;
+ animation: ball-spin-loader 2s 3.6s infinite linear; }
+ .ball-spin-loader > span:nth-child(5) {
+ top: -45px;
+ left: 0;
+ -webkit-animation: ball-spin-loader 2s 4.5s infinite linear;
+ animation: ball-spin-loader 2s 4.5s infinite linear; }
+ .ball-spin-loader > span:nth-child(6) {
+ top: -30.68182px;
+ left: -30.68182px;
+ -webkit-animation: ball-spin-loader 2s 5.4s infinite linear;
+ animation: ball-spin-loader 2s 5.4s infinite linear; }
+ .ball-spin-loader > span:nth-child(7) {
+ top: 0;
+ left: -45px;
+ -webkit-animation: ball-spin-loader 2s 6.3s infinite linear;
+ animation: ball-spin-loader 2s 6.3s infinite linear; }
+ .ball-spin-loader > span:nth-child(8) {
+ top: 30.68182px;
+ left: -30.68182px;
+ -webkit-animation: ball-spin-loader 2s 7.2s infinite linear;
+ animation: ball-spin-loader 2s 7.2s infinite linear; }
+ .ball-spin-loader > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ background: green; }
+
+@-webkit-keyframes ball-zig {
+ 33% {
+ -webkit-transform: translate(-15px, -30px);
+ transform: translate(-15px, -30px); }
+ 66% {
+ -webkit-transform: translate(15px, -30px);
+ transform: translate(15px, -30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+@keyframes ball-zig {
+ 33% {
+ -webkit-transform: translate(-15px, -30px);
+ transform: translate(-15px, -30px); }
+ 66% {
+ -webkit-transform: translate(15px, -30px);
+ transform: translate(15px, -30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+@-webkit-keyframes ball-zag {
+ 33% {
+ -webkit-transform: translate(15px, 30px);
+ transform: translate(15px, 30px); }
+ 66% {
+ -webkit-transform: translate(-15px, 30px);
+ transform: translate(-15px, 30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+@keyframes ball-zag {
+ 33% {
+ -webkit-transform: translate(15px, 30px);
+ transform: translate(15px, 30px); }
+ 66% {
+ -webkit-transform: translate(-15px, 30px);
+ transform: translate(-15px, 30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+.ball-zig-zag {
+ position: relative;
+ -webkit-transform: translate(-15px, -15px);
+ -ms-transform: translate(-15px, -15px);
+ transform: translate(-15px, -15px); }
+ .ball-zig-zag > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ margin-left: 15px;
+ top: 4px;
+ left: -7px; }
+ .ball-zig-zag > div:first-child {
+ -webkit-animation: ball-zig 0.7s 0s infinite linear;
+ animation: ball-zig 0.7s 0s infinite linear; }
+ .ball-zig-zag > div:last-child {
+ -webkit-animation: ball-zag 0.7s 0s infinite linear;
+ animation: ball-zag 0.7s 0s infinite linear; }
+
+@-webkit-keyframes ball-zig-deflect {
+ 17% {
+ -webkit-transform: translate(-15px, -30px);
+ transform: translate(-15px, -30px); }
+ 34% {
+ -webkit-transform: translate(15px, -30px);
+ transform: translate(15px, -30px); }
+ 50% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ 67% {
+ -webkit-transform: translate(15px, -30px);
+ transform: translate(15px, -30px); }
+ 84% {
+ -webkit-transform: translate(-15px, -30px);
+ transform: translate(-15px, -30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+@keyframes ball-zig-deflect {
+ 17% {
+ -webkit-transform: translate(-15px, -30px);
+ transform: translate(-15px, -30px); }
+ 34% {
+ -webkit-transform: translate(15px, -30px);
+ transform: translate(15px, -30px); }
+ 50% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ 67% {
+ -webkit-transform: translate(15px, -30px);
+ transform: translate(15px, -30px); }
+ 84% {
+ -webkit-transform: translate(-15px, -30px);
+ transform: translate(-15px, -30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+@-webkit-keyframes ball-zag-deflect {
+ 17% {
+ -webkit-transform: translate(15px, 30px);
+ transform: translate(15px, 30px); }
+ 34% {
+ -webkit-transform: translate(-15px, 30px);
+ transform: translate(-15px, 30px); }
+ 50% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ 67% {
+ -webkit-transform: translate(-15px, 30px);
+ transform: translate(-15px, 30px); }
+ 84% {
+ -webkit-transform: translate(15px, 30px);
+ transform: translate(15px, 30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+@keyframes ball-zag-deflect {
+ 17% {
+ -webkit-transform: translate(15px, 30px);
+ transform: translate(15px, 30px); }
+ 34% {
+ -webkit-transform: translate(-15px, 30px);
+ transform: translate(-15px, 30px); }
+ 50% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ 67% {
+ -webkit-transform: translate(-15px, 30px);
+ transform: translate(-15px, 30px); }
+ 84% {
+ -webkit-transform: translate(15px, 30px);
+ transform: translate(15px, 30px); }
+ 100% {
+ -webkit-transform: translate(0, 0);
+ transform: translate(0, 0); } }
+
+.ball-zig-zag-deflect {
+ position: relative;
+ -webkit-transform: translate(-15px, -15px);
+ -ms-transform: translate(-15px, -15px);
+ transform: translate(-15px, -15px); }
+ .ball-zig-zag-deflect > div {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ margin-left: 15px;
+ top: 4px;
+ left: -7px; }
+ .ball-zig-zag-deflect > div:first-child {
+ -webkit-animation: ball-zig-deflect 1.5s 0s infinite linear;
+ animation: ball-zig-deflect 1.5s 0s infinite linear; }
+ .ball-zig-zag-deflect > div:last-child {
+ -webkit-animation: ball-zag-deflect 1.5s 0s infinite linear;
+ animation: ball-zag-deflect 1.5s 0s infinite linear; }
+
+/**
+ * Lines
+ */
+@-webkit-keyframes line-scale {
+ 0% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); }
+ 50% {
+ -webkit-transform: scaley(0.4);
+ transform: scaley(0.4); }
+ 100% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); } }
+@keyframes line-scale {
+ 0% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); }
+ 50% {
+ -webkit-transform: scaley(0.4);
+ transform: scaley(0.4); }
+ 100% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); } }
+
+.line-scale > div:nth-child(1) {
+ -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.line-scale > div:nth-child(2) {
+ -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.line-scale > div:nth-child(3) {
+ -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.line-scale > div:nth-child(4) {
+ -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.line-scale > div:nth-child(5) {
+ -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
+ animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
+
+.line-scale > div {
+ background-color: #fff;
+ width: 4px;
+ height: 35px;
+ border-radius: 2px;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block; }
+
+@-webkit-keyframes line-scale-party {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1); }
+ 50% {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5); }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+@keyframes line-scale-party {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1); }
+ 50% {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5); }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1); } }
+
+.line-scale-party > div:nth-child(1) {
+ -webkit-animation-delay: -0.09s;
+ animation-delay: -0.09s;
+ -webkit-animation-duration: 0.83s;
+ animation-duration: 0.83s; }
+
+.line-scale-party > div:nth-child(2) {
+ -webkit-animation-delay: 0.33s;
+ animation-delay: 0.33s;
+ -webkit-animation-duration: 0.64s;
+ animation-duration: 0.64s; }
+
+.line-scale-party > div:nth-child(3) {
+ -webkit-animation-delay: 0.32s;
+ animation-delay: 0.32s;
+ -webkit-animation-duration: 0.39s;
+ animation-duration: 0.39s; }
+
+.line-scale-party > div:nth-child(4) {
+ -webkit-animation-delay: 0.47s;
+ animation-delay: 0.47s;
+ -webkit-animation-duration: 0.52s;
+ animation-duration: 0.52s; }
+
+.line-scale-party > div {
+ background-color: #fff;
+ width: 4px;
+ height: 35px;
+ border-radius: 2px;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ -webkit-animation-name: line-scale-party;
+ animation-name: line-scale-party;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-delay: 0;
+ animation-delay: 0; }
+
+@-webkit-keyframes line-scale-pulse-out {
+ 0% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); }
+ 50% {
+ -webkit-transform: scaley(0.4);
+ transform: scaley(0.4); }
+ 100% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); } }
+
+@keyframes line-scale-pulse-out {
+ 0% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); }
+ 50% {
+ -webkit-transform: scaley(0.4);
+ transform: scaley(0.4); }
+ 100% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); } }
+
+.line-scale-pulse-out > div {
+ background-color: #fff;
+ width: 4px;
+ height: 35px;
+ border-radius: 2px;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ -webkit-animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85);
+ animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85); }
+ .line-scale-pulse-out > div:nth-child(2), .line-scale-pulse-out > div:nth-child(4) {
+ -webkit-animation-delay: -0.4s !important;
+ animation-delay: -0.4s !important; }
+ .line-scale-pulse-out > div:nth-child(1), .line-scale-pulse-out > div:nth-child(5) {
+ -webkit-animation-delay: -0.2s !important;
+ animation-delay: -0.2s !important; }
+
+@-webkit-keyframes line-scale-pulse-out-rapid {
+ 0% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); }
+ 80% {
+ -webkit-transform: scaley(0.3);
+ transform: scaley(0.3); }
+ 90% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); } }
+
+@keyframes line-scale-pulse-out-rapid {
+ 0% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); }
+ 80% {
+ -webkit-transform: scaley(0.3);
+ transform: scaley(0.3); }
+ 90% {
+ -webkit-transform: scaley(1);
+ transform: scaley(1); } }
+
+.line-scale-pulse-out-rapid > div {
+ background-color: #fff;
+ width: 4px;
+ height: 35px;
+ border-radius: 2px;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ display: inline-block;
+ -webkit-animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78);
+ animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78); }
+ .line-scale-pulse-out-rapid > div:nth-child(2), .line-scale-pulse-out-rapid > div:nth-child(4) {
+ -webkit-animation-delay: -0.25s !important;
+ animation-delay: -0.25s !important; }
+ .line-scale-pulse-out-rapid > div:nth-child(1), .line-scale-pulse-out-rapid > div:nth-child(5) {
+ -webkit-animation-delay: 0s !important;
+ animation-delay: 0s !important; }
+
+@-webkit-keyframes line-spin-fade-loader {
+ 50% {
+ opacity: 0.3; }
+ 100% {
+ opacity: 1; } }
+
+@keyframes line-spin-fade-loader {
+ 50% {
+ opacity: 0.3; }
+ 100% {
+ opacity: 1; } }
+
+.line-spin-fade-loader {
+ position: relative;
+ top: -10px;
+ left: -4px; }
+ .line-spin-fade-loader > div:nth-child(1) {
+ top: 20px;
+ left: 0;
+ -webkit-animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out; }
+ .line-spin-fade-loader > div:nth-child(2) {
+ top: 13.63636px;
+ left: 13.63636px;
+ -webkit-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ -webkit-animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out; }
+ .line-spin-fade-loader > div:nth-child(3) {
+ top: 0;
+ left: 20px;
+ -webkit-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+ -webkit-animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out; }
+ .line-spin-fade-loader > div:nth-child(4) {
+ top: -13.63636px;
+ left: 13.63636px;
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ -webkit-animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out; }
+ .line-spin-fade-loader > div:nth-child(5) {
+ top: -20px;
+ left: 0;
+ -webkit-animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out; }
+ .line-spin-fade-loader > div:nth-child(6) {
+ top: -13.63636px;
+ left: -13.63636px;
+ -webkit-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ -webkit-animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out; }
+ .line-spin-fade-loader > div:nth-child(7) {
+ top: 0;
+ left: -20px;
+ -webkit-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+ -webkit-animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out; }
+ .line-spin-fade-loader > div:nth-child(8) {
+ top: 13.63636px;
+ left: -13.63636px;
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ -webkit-animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
+ animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out; }
+ .line-spin-fade-loader > div {
+ background-color: #fff;
+ width: 4px;
+ height: 35px;
+ border-radius: 2px;
+ margin: 2px;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ position: absolute;
+ width: 5px;
+ height: 15px; }
+
+/**
+ * Misc
+ */
+@-webkit-keyframes triangle-skew-spin {
+ 25% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
+ transform: perspective(100px) rotateX(180deg) rotateY(0); }
+ 50% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
+ transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
+ 75% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
+ transform: perspective(100px) rotateX(0) rotateY(180deg); }
+ 100% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
+ transform: perspective(100px) rotateX(0) rotateY(0); } }
+@keyframes triangle-skew-spin {
+ 25% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
+ transform: perspective(100px) rotateX(180deg) rotateY(0); }
+ 50% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
+ transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
+ 75% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
+ transform: perspective(100px) rotateX(0) rotateY(180deg); }
+ 100% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
+ transform: perspective(100px) rotateX(0) rotateY(0); } }
+
+.triangle-skew-spin > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ width: 0;
+ height: 0;
+ border-left: 20px solid transparent;
+ border-right: 20px solid transparent;
+ border-bottom: 20px solid #fff;
+ -webkit-animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
+ animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }
+
+@-webkit-keyframes square-spin {
+ 25% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
+ transform: perspective(100px) rotateX(180deg) rotateY(0); }
+ 50% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
+ transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
+ 75% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
+ transform: perspective(100px) rotateX(0) rotateY(180deg); }
+ 100% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
+ transform: perspective(100px) rotateX(0) rotateY(0); } }
+
+@keyframes square-spin {
+ 25% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
+ transform: perspective(100px) rotateX(180deg) rotateY(0); }
+ 50% {
+ -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
+ transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
+ 75% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
+ transform: perspective(100px) rotateX(0) rotateY(180deg); }
+ 100% {
+ -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
+ transform: perspective(100px) rotateX(0) rotateY(0); } }
+
+.square-spin > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ width: 50px;
+ height: 50px;
+ background: #fff;
+ border: 1px solid red;
+ -webkit-animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
+ animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }
+
+@-webkit-keyframes rotate_pacman_half_up {
+ 0% {
+ -webkit-transform: rotate(270deg);
+ transform: rotate(270deg); }
+ 50% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); }
+ 100% {
+ -webkit-transform: rotate(270deg);
+ transform: rotate(270deg); } }
+
+@keyframes rotate_pacman_half_up {
+ 0% {
+ -webkit-transform: rotate(270deg);
+ transform: rotate(270deg); }
+ 50% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); }
+ 100% {
+ -webkit-transform: rotate(270deg);
+ transform: rotate(270deg); } }
+
+@-webkit-keyframes rotate_pacman_half_down {
+ 0% {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg); }
+ 50% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 100% {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg); } }
+
+@keyframes rotate_pacman_half_down {
+ 0% {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg); }
+ 50% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 100% {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg); } }
+
+@-webkit-keyframes pacman-balls {
+ 75% {
+ opacity: 0.7; }
+ 100% {
+ -webkit-transform: translate(-100px, -6.25px);
+ transform: translate(-100px, -6.25px); } }
+
+@keyframes pacman-balls {
+ 75% {
+ opacity: 0.7; }
+ 100% {
+ -webkit-transform: translate(-100px, -6.25px);
+ transform: translate(-100px, -6.25px); } }
+
+.pacman {
+ position: relative; }
+ .pacman > div:nth-child(2) {
+ -webkit-animation: pacman-balls 1s -0.99s infinite linear;
+ animation: pacman-balls 1s -0.99s infinite linear; }
+ .pacman > div:nth-child(3) {
+ -webkit-animation: pacman-balls 1s -0.66s infinite linear;
+ animation: pacman-balls 1s -0.66s infinite linear; }
+ .pacman > div:nth-child(4) {
+ -webkit-animation: pacman-balls 1s -0.33s infinite linear;
+ animation: pacman-balls 1s -0.33s infinite linear; }
+ .pacman > div:nth-child(5) {
+ -webkit-animation: pacman-balls 1s 0s infinite linear;
+ animation: pacman-balls 1s 0s infinite linear; }
+ .pacman > div:first-of-type {
+ width: 0px;
+ height: 0px;
+ border-right: 25px solid transparent;
+ border-top: 25px solid #fff;
+ border-left: 25px solid #fff;
+ border-bottom: 25px solid #fff;
+ border-radius: 25px;
+ -webkit-animation: rotate_pacman_half_up 0.5s 0s infinite;
+ animation: rotate_pacman_half_up 0.5s 0s infinite;
+ position: relative;
+ left: -30px; }
+ .pacman > div:nth-child(2) {
+ width: 0px;
+ height: 0px;
+ border-right: 25px solid transparent;
+ border-top: 25px solid #fff;
+ border-left: 25px solid #fff;
+ border-bottom: 25px solid #fff;
+ border-radius: 25px;
+ -webkit-animation: rotate_pacman_half_down 0.5s 0s infinite;
+ animation: rotate_pacman_half_down 0.5s 0s infinite;
+ margin-top: -50px;
+ position: relative;
+ left: -30px; }
+ .pacman > div:nth-child(3),
+ .pacman > div:nth-child(4),
+ .pacman > div:nth-child(5),
+ .pacman > div:nth-child(6) {
+ background-color: #fff;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ margin: 2px;
+ width: 10px;
+ height: 10px;
+ position: absolute;
+ -webkit-transform: translate(0, -6.25px);
+ -ms-transform: translate(0, -6.25px);
+ transform: translate(0, -6.25px);
+ top: 25px;
+ left: 70px; }
+
+@-webkit-keyframes cube-transition {
+ 25% {
+ -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
+ transform: translateX(50px) scale(0.5) rotate(-90deg); }
+ 50% {
+ -webkit-transform: translate(50px, 50px) rotate(-180deg);
+ transform: translate(50px, 50px) rotate(-180deg); }
+ 75% {
+ -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
+ transform: translateY(50px) scale(0.5) rotate(-270deg); }
+ 100% {
+ -webkit-transform: rotate(-360deg);
+ transform: rotate(-360deg); } }
+
+@keyframes cube-transition {
+ 25% {
+ -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
+ transform: translateX(50px) scale(0.5) rotate(-90deg); }
+ 50% {
+ -webkit-transform: translate(50px, 50px) rotate(-180deg);
+ transform: translate(50px, 50px) rotate(-180deg); }
+ 75% {
+ -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
+ transform: translateY(50px) scale(0.5) rotate(-270deg); }
+ 100% {
+ -webkit-transform: rotate(-360deg);
+ transform: rotate(-360deg); } }
+
+.cube-transition {
+ position: relative;
+ -webkit-transform: translate(-25px, -25px);
+ -ms-transform: translate(-25px, -25px);
+ transform: translate(-25px, -25px); }
+ .cube-transition > div {
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ width: 10px;
+ height: 10px;
+ position: absolute;
+ top: -5px;
+ left: -5px;
+ background-color: #fff;
+ -webkit-animation: cube-transition 1.6s 0s infinite ease-in-out;
+ animation: cube-transition 1.6s 0s infinite ease-in-out; }
+ .cube-transition > div:last-child {
+ -webkit-animation-delay: -0.8s;
+ animation-delay: -0.8s; }
+
+@-webkit-keyframes spin-rotate {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 50% {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg); }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+@keyframes spin-rotate {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 50% {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg); }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+.semi-circle-spin {
+ position: relative;
+ width: 35px;
+ height: 35px;
+ overflow: hidden; }
+ .semi-circle-spin > div {
+ position: absolute;
+ border-width: 0px;
+ border-radius: 100%;
+ -webkit-animation: spin-rotate 0.6s 0s infinite linear;
+ animation: spin-rotate 0.6s 0s infinite linear;
+ background-image: -webkit-linear-gradient(transparent 0%, transparent 70%, #fff 30%, #fff 100%);
+ background-image: linear-gradient(transparent 0%, transparent 70%, #fff 30%, #fff 100%);
+ width: 100%;
+ height: 100%; }
+
+@-webkit-keyframes bar-progress {
+ 0% {
+ -webkit-transform: scaleY(20%);
+ transform: scaleY(20%);
+ opacity: 1; }
+ 25% {
+ -webkit-transform: translateX(6%) scaleY(10%);
+ transform: translateX(6%) scaleY(10%);
+ opacity: 0.7; }
+ 50% {
+ -webkit-transform: translateX(20%) scaleY(20%);
+ transform: translateX(20%) scaleY(20%);
+ opacity: 1; }
+ 75% {
+ -webkit-transform: translateX(6%) scaleY(10%);
+ transform: translateX(6%) scaleY(10%);
+ opacity: 0.7; }
+ 100% {
+ -webkit-transform: scaleY(20%);
+ transform: scaleY(20%);
+ opacity: 1; } }
+
+@keyframes bar-progress {
+ 0% {
+ -webkit-transform: scaleY(20%);
+ transform: scaleY(20%);
+ opacity: 1; }
+ 25% {
+ -webkit-transform: translateX(6%) scaleY(10%);
+ transform: translateX(6%) scaleY(10%);
+ opacity: 0.7; }
+ 50% {
+ -webkit-transform: translateX(20%) scaleY(20%);
+ transform: translateX(20%) scaleY(20%);
+ opacity: 1; }
+ 75% {
+ -webkit-transform: translateX(6%) scaleY(10%);
+ transform: translateX(6%) scaleY(10%);
+ opacity: 0.7; }
+ 100% {
+ -webkit-transform: scaleY(20%);
+ transform: scaleY(20%);
+ opacity: 1; } }
+
+.bar-progress {
+ width: 30%;
+ height: 12px; }
+ .bar-progress > div {
+ position: relative;
+ width: 20%;
+ height: 12px;
+ border-radius: 10px;
+ background-color: #fff;
+ -webkit-animation: bar-progress 3s cubic-bezier(0.57, 0.1, 0.44, 0.93) infinite;
+ animation: bar-progress 3s cubic-bezier(0.57, 0.1, 0.44, 0.93) infinite;
+ opacity: 1; }
+
+@-webkit-keyframes bar-swing {
+ 0% {
+ left: 0; }
+ 50% {
+ left: 70%; }
+ 100% {
+ left: 0; } }
+
+@keyframes bar-swing {
+ 0% {
+ left: 0; }
+ 50% {
+ left: 70%; }
+ 100% {
+ left: 0; } }
+
+.bar-swing {
+ width: 30%;
+ height: 8px; }
+ .bar-swing > div {
+ position: relative;
+ width: 30%;
+ height: 8px;
+ border-radius: 10px;
+ background-color: #fff;
+ -webkit-animation: bar-swing 1.5s infinite;
+ animation: bar-swing 1.5s infinite; }
+
+@-webkit-keyframes bar-swing-container {
+ 0% {
+ left: 0;
+ -webkit-transform: translateX(0);
+ transform: translateX(0); }
+ 50% {
+ left: 70%;
+ -webkit-transform: translateX(-4px);
+ transform: translateX(-4px); }
+ 100% {
+ left: 0;
+ -webkit-transform: translateX(0);
+ transform: translateX(0); } }
+
+@keyframes bar-swing-container {
+ 0% {
+ left: 0;
+ -webkit-transform: translateX(0);
+ transform: translateX(0); }
+ 50% {
+ left: 70%;
+ -webkit-transform: translateX(-4px);
+ transform: translateX(-4px); }
+ 100% {
+ left: 0;
+ -webkit-transform: translateX(0);
+ transform: translateX(0); } }
+
+.bar-swing-container {
+ width: 20%;
+ height: 8px;
+ position: relative; }
+ .bar-swing-container div:nth-child(1) {
+ position: absolute;
+ width: 100%;
+ background-color: rgba(255, 255, 255, 0.2);
+ height: 12px;
+ border-radius: 10px; }
+ .bar-swing-container div:nth-child(2) {
+ position: absolute;
+ width: 30%;
+ height: 8px;
+ border-radius: 10px;
+ background-color: #fff;
+ -webkit-animation: bar-swing-container 2s cubic-bezier(0.91, 0.35, 0.12, 0.6) infinite;
+ animation: bar-swing-container 2s cubic-bezier(0.91, 0.35, 0.12, 0.6) infinite;
+ margin: 2px 2px 0; }
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.css.js b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.css.js
new file mode 100755
index 000000000..c0c043bb5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.css.js
@@ -0,0 +1,59 @@
+(function ($) {
+
+ var divs = {
+ 'ball-pulse': 3,
+ 'ball-grid-pulse': 9,
+ 'ball-clip-rotate': 1,
+ 'ball-clip-rotate-pulse': 2,
+ 'square-spin': 1,
+ 'ball-clip-rotate-multiple': 2,
+ 'ball-pulse-rise': 5,
+ 'ball-rotate': 1,
+ 'cube-transition': 2,
+ 'ball-zig-zag': 2,
+ 'ball-zig-zag-deflect': 2,
+ 'ball-triangle-path': 3,
+ 'ball-scale': 1,
+ 'line-scale': 5,
+ 'line-scale-party': 4,
+ 'ball-scale-multiple': 3,
+ 'ball-pulse-sync': 3,
+ 'ball-beat': 3,
+ 'line-scale-pulse-out': 5,
+ 'line-scale-pulse-out-rapid': 5,
+ 'ball-scale-ripple': 1,
+ 'ball-scale-ripple-multiple': 3,
+ 'ball-spin-fade-loader': 8,
+ 'line-spin-fade-loader': 8,
+ 'triangle-skew-spin': 1,
+ 'pacman': 5,
+ 'ball-grid-beat': 9,
+ 'semi-circle-spin': 1,
+ 'ball-scale-random': 3
+ };
+
+ var addDivs = function(n) {
+ var arr = [];
+ for (i = 1; i <= n; i++) {
+ arr.push('');
+ }
+ return arr;
+ };
+
+ $.fn.loaders = function() {
+ return this.each(function() {
+ var elem = $(this);
+ $.each(divs, function(key, value) {
+ if (elem.hasClass(key))
+ elem.html(addDivs(value))
+ })
+ });
+ };
+
+ $(function() {
+ $.each(divs, function(key, value) {
+ $('.loader-inner.' + key).html(addDivs(value));
+ })
+ });
+
+}).call(window, window.$ || window.jQuery || window.Zepto);
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.min.css b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.min.css
new file mode 100755
index 000000000..3c312b7ed
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/loaders.min.css
@@ -0,0 +1 @@
+.ball-pulse-sync>div,.ball-pulse>div{width:15px;height:15px;margin:2px;display:inline-block}.ball-pulse-sync>div,.ball-pulse>div,.ball-scale>div{background-color:#fff;border-radius:100%}@-webkit-keyframes scale{0%,80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}}@keyframes scale{0%,80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}}.ball-pulse>div:nth-child(0){-webkit-animation:scale .75s -.36s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.36s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div:nth-child(1){-webkit-animation:scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div:nth-child(2){-webkit-animation:scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div:nth-child(3){-webkit-animation:scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div{-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ball-pulse-sync{33%{-webkit-transform:translateY(10px);transform:translateY(10px)}66%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes ball-pulse-sync{33%{-webkit-transform:translateY(10px);transform:translateY(10px)}66%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.ball-pulse-sync>div:nth-child(0){-webkit-animation:ball-pulse-sync .6s -.21s infinite ease-in-out;animation:ball-pulse-sync .6s -.21s infinite ease-in-out}.ball-pulse-sync>div:nth-child(1){-webkit-animation:ball-pulse-sync .6s -.14s infinite ease-in-out;animation:ball-pulse-sync .6s -.14s infinite ease-in-out}.ball-pulse-sync>div:nth-child(2){-webkit-animation:ball-pulse-sync .6s -.07s infinite ease-in-out;animation:ball-pulse-sync .6s -.07s infinite ease-in-out}.ball-pulse-sync>div:nth-child(3){-webkit-animation:ball-pulse-sync .6s 0s infinite ease-in-out;animation:ball-pulse-sync .6s 0s infinite ease-in-out}.ball-pulse-sync>div{-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ball-scale{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes ball-scale{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.ball-scale>div{height:60px;width:60px;animation:ball-scale 1s 0s ease-in-out infinite}.ball-scale-random>div,.ball-scale>div{display:inline-block;margin:2px;-webkit-animation:ball-scale 1s 0s ease-in-out infinite}.ball-scale-random{width:37px;height:40px}.ball-scale-random>div{background-color:#fff;border-radius:100%;position:absolute;height:30px;width:30px;animation:ball-scale 1s 0s ease-in-out infinite}.ball-rotate>div,.ball-rotate>div:after,.ball-rotate>div:before{background-color:#fff;width:15px;height:15px;border-radius:100%}.ball-rotate,.ball-rotate>div{position:relative}.ball-scale-random>div:nth-child(1){margin-left:-7px;-webkit-animation:ball-scale 1s .2s ease-in-out infinite;animation:ball-scale 1s .2s ease-in-out infinite}.ball-scale-random>div:nth-child(3){margin-left:-2px;margin-top:9px;-webkit-animation:ball-scale 1s .5s ease-in-out infinite;animation:ball-scale 1s .5s ease-in-out infinite}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ball-rotate>div{margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both}.ball-rotate>div:first-child{-webkit-animation:rotate 1s 0s cubic-bezier(.7,-.13,.22,.86) infinite;animation:rotate 1s 0s cubic-bezier(.7,-.13,.22,.86) infinite}.ball-rotate>div:after,.ball-rotate>div:before{margin:2px;content:"";position:absolute;opacity:.8}.ball-rotate>div:before{top:0;left:-28px}.ball-rotate>div:after{top:0;left:25px}.ball-clip-rotate>div{border-radius:100%;margin:2px;border:2px solid #fff;border-bottom-color:transparent;height:25px;width:25px;background:0 0!important;display:inline-block;-webkit-animation:rotate .75s 0s linear infinite;animation:rotate .75s 0s linear infinite}@keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes scale{30%{-webkit-transform:scale(.3);transform:scale(.3)}100%{-webkit-transform:scale(1);transform:scale(1)}}.ball-clip-rotate-pulse{position:relative;-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}.ball-clip-rotate-pulse>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;top:0;left:0;border-radius:100%}.ball-clip-rotate-pulse>div:first-child{background:#fff;height:16px;width:16px;top:7px;left:-7px;-webkit-animation:scale 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:scale 1s 0s cubic-bezier(.09,.57,.49,.9) infinite}.ball-clip-rotate-pulse>div:last-child{position:absolute;width:30px;height:30px;left:-16px;top:-2px;background:0 0;border:2px solid;border-color:#fff transparent;-webkit-animation:rotate 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:rotate 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;-webkit-animation-duration:1s;animation-duration:1s}@keyframes rotate{0%{-webkit-transform:rotate(0) scale(1);transform:rotate(0) scale(1)}50%{-webkit-transform:rotate(180deg) scale(.6);transform:rotate(180deg) scale(.6)}100%{-webkit-transform:rotate(360deg) scale(1);transform:rotate(360deg) scale(1)}}.ball-clip-rotate-multiple{position:relative}.ball-clip-rotate-multiple>div{position:absolute;left:-20px;top:-20px;border:2px solid #fff;border-bottom-color:transparent;border-top-color:transparent;border-radius:100%;height:35px;width:35px;-webkit-animation:rotate 1s 0s ease-in-out infinite;animation:rotate 1s 0s ease-in-out infinite}.ball-clip-rotate-multiple>div:last-child{display:inline-block;top:-10px;left:-10px;width:15px;height:15px;-webkit-animation-duration:.5s;animation-duration:.5s;border-color:#fff transparent;-webkit-animation-direction:reverse;animation-direction:reverse}@-webkit-keyframes ball-scale-ripple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}100%{opacity:0}}@keyframes ball-scale-ripple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}100%{opacity:0}}.ball-scale-ripple>div{height:50px;width:50px;border-radius:100%;border:2px solid #fff;-webkit-animation:ball-scale-ripple 1s 0s infinite cubic-bezier(.21,.53,.56,.8);animation:ball-scale-ripple 1s 0s infinite cubic-bezier(.21,.53,.56,.8)}@-webkit-keyframes ball-scale-ripple-multiple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}100%{opacity:0}}@keyframes ball-scale-ripple-multiple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}100%{opacity:0}}.ball-scale-ripple-multiple{position:relative;-webkit-transform:translateY(-25px);-ms-transform:translateY(-25px);transform:translateY(-25px)}.ball-scale-ripple-multiple>div:nth-child(0){-webkit-animation-delay:-.8s;animation-delay:-.8s}.ball-scale-ripple-multiple>div:nth-child(1){-webkit-animation-delay:-.6s;animation-delay:-.6s}.ball-scale-ripple-multiple>div:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.ball-scale-ripple-multiple>div:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}.ball-scale-ripple-multiple>div{position:absolute;top:-2px;left:-26px;width:50px;height:50px;border-radius:100%;border:2px solid #fff;-webkit-animation:ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21,.53,.56,.8);animation:ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21,.53,.56,.8)}@-webkit-keyframes ball-beat{50%{opacity:.2;-webkit-transform:scale(.75);transform:scale(.75)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-beat{50%{opacity:.2;-webkit-transform:scale(.75);transform:scale(.75)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.ball-beat>div{background-color:#fff;width:15px;height:15px;border-radius:100%;margin:2px;display:inline-block;-webkit-animation:ball-beat .7s 0s infinite linear;animation:ball-beat .7s 0s infinite linear}.ball-beat>div:nth-child(2n-1){-webkit-animation-delay:-.35s!important;animation-delay:-.35s!important}@-webkit-keyframes ball-scale-multiple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}5%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes ball-scale-multiple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}5%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.ball-scale-multiple{position:relative;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}.ball-scale-multiple>div:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.ball-scale-multiple>div:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}.ball-scale-multiple>div{background-color:#fff;border-radius:100%;position:absolute;left:-30px;top:0;opacity:0;margin:0;width:60px;height:60px;-webkit-animation:ball-scale-multiple 1s 0s linear infinite;animation:ball-scale-multiple 1s 0s linear infinite}@-webkit-keyframes ball-triangle-path-1{33%{-webkit-transform:translate(25px,-50px);transform:translate(25px,-50px)}66%{-webkit-transform:translate(50px,0);transform:translate(50px,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ball-triangle-path-1{33%{-webkit-transform:translate(25px,-50px);transform:translate(25px,-50px)}66%{-webkit-transform:translate(50px,0);transform:translate(50px,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ball-triangle-path-2{33%{-webkit-transform:translate(25px,50px);transform:translate(25px,50px)}66%{-webkit-transform:translate(-25px,50px);transform:translate(-25px,50px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ball-triangle-path-2{33%{-webkit-transform:translate(25px,50px);transform:translate(25px,50px)}66%{-webkit-transform:translate(-25px,50px);transform:translate(-25px,50px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ball-triangle-path-3{33%{-webkit-transform:translate(-50px,0);transform:translate(-50px,0)}66%{-webkit-transform:translate(-25px,-50px);transform:translate(-25px,-50px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ball-triangle-path-3{33%{-webkit-transform:translate(-50px,0);transform:translate(-50px,0)}66%{-webkit-transform:translate(-25px,-50px);transform:translate(-25px,-50px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}.ball-triangle-path{position:relative;-webkit-transform:translate(-29.99px,-37.51px);-ms-transform:translate(-29.99px,-37.51px);transform:translate(-29.99px,-37.51px)}.ball-triangle-path>div:nth-child(1){-webkit-animation-name:ball-triangle-path-1;animation-name:ball-triangle-path-1;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.ball-triangle-path>div:nth-child(2){-webkit-animation-name:ball-triangle-path-2;animation-name:ball-triangle-path-2;-webkit-animation-delay:0;animation-delay:0;animation-duration:2s;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.ball-triangle-path>div:nth-child(2),.ball-triangle-path>div:nth-child(3){-webkit-animation-duration:2s;-webkit-animation-timing-function:ease-in-out}.ball-triangle-path>div:nth-child(3){-webkit-animation-name:ball-triangle-path-3;animation-name:ball-triangle-path-3;-webkit-animation-delay:0;animation-delay:0;animation-duration:2s;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.ball-triangle-path>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;width:10px;height:10px;border-radius:100%;border:1px solid #fff}.ball-grid-beat>div,.ball-pulse-rise>div{background-color:#fff;height:15px;border-radius:100%;margin:2px}.ball-triangle-path>div:nth-of-type(1){top:50px}.ball-triangle-path>div:nth-of-type(2){left:25px}.ball-triangle-path>div:nth-of-type(3){top:50px;left:50px}@-webkit-keyframes ball-pulse-rise-even{0%{-webkit-transform:scale(1.1);transform:scale(1.1)}25%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}50%{-webkit-transform:scale(.4);transform:scale(.4)}75%{-webkit-transform:translateY(30px);transform:translateY(30px)}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-pulse-rise-even{0%{-webkit-transform:scale(1.1);transform:scale(1.1)}25%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}50%{-webkit-transform:scale(.4);transform:scale(.4)}75%{-webkit-transform:translateY(30px);transform:translateY(30px)}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes ball-pulse-rise-odd{0%{-webkit-transform:scale(.4);transform:scale(.4)}25%{-webkit-transform:translateY(30px);transform:translateY(30px)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}75%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(.75);transform:scale(.75)}}@keyframes ball-pulse-rise-odd{0%{-webkit-transform:scale(.4);transform:scale(.4)}25%{-webkit-transform:translateY(30px);transform:translateY(30px)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}75%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(.75);transform:scale(.75)}}.ball-pulse-rise>div{width:15px;-webkit-animation-fill-mode:both;animation-fill-mode:both;display:inline-block;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:cubic-bezier(.15,.46,.9,.6);animation-timing-function:cubic-bezier(.15,.46,.9,.6);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}.ball-pulse-rise>div:nth-child(2n){-webkit-animation-name:ball-pulse-rise-even;animation-name:ball-pulse-rise-even}.ball-pulse-rise>div:nth-child(2n-1){-webkit-animation-name:ball-pulse-rise-odd;animation-name:ball-pulse-rise-odd}@-webkit-keyframes ball-grid-beat{50%{opacity:.7}100%{opacity:1}}@keyframes ball-grid-beat{50%{opacity:.7}100%{opacity:1}}.ball-grid-beat{width:57px}.ball-grid-beat>div:nth-child(1){-webkit-animation-delay:.44s;animation-delay:.44s;-webkit-animation-duration:1.27s;animation-duration:1.27s}.ball-grid-beat>div:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-duration:1.52s;animation-duration:1.52s}.ball-grid-beat>div:nth-child(3){-webkit-animation-delay:.14s;animation-delay:.14s;-webkit-animation-duration:.61s;animation-duration:.61s}.ball-grid-beat>div:nth-child(4){-webkit-animation-delay:.15s;animation-delay:.15s;-webkit-animation-duration:.82s;animation-duration:.82s}.ball-grid-beat>div:nth-child(5){-webkit-animation-delay:-.01s;animation-delay:-.01s;-webkit-animation-duration:1.24s;animation-duration:1.24s}.ball-grid-beat>div:nth-child(6){-webkit-animation-delay:-.07s;animation-delay:-.07s;-webkit-animation-duration:1.35s;animation-duration:1.35s}.ball-grid-beat>div:nth-child(7){-webkit-animation-delay:.29s;animation-delay:.29s;-webkit-animation-duration:1.44s;animation-duration:1.44s}.ball-grid-beat>div:nth-child(8){-webkit-animation-delay:.63s;animation-delay:.63s;-webkit-animation-duration:1.19s;animation-duration:1.19s}.ball-grid-beat>div:nth-child(9){-webkit-animation-delay:-.18s;animation-delay:-.18s;-webkit-animation-duration:1.48s;animation-duration:1.48s}.ball-grid-beat>div{width:15px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:ball-grid-beat;animation-name:ball-grid-beat;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}.ball-grid-beat>div,.ball-grid-pulse>div{display:inline-block;float:left;-webkit-animation-iteration-count:infinite}@-webkit-keyframes ball-grid-pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5);opacity:.7}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes ball-grid-pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5);opacity:.7}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.ball-grid-pulse{width:57px}.ball-grid-pulse>div,.ball-spin-fade-loader>div{background-color:#fff;width:15px;height:15px;border-radius:100%;margin:2px}.ball-grid-pulse>div:nth-child(1){-webkit-animation-delay:.58s;animation-delay:.58s;-webkit-animation-duration:.9s;animation-duration:.9s}.ball-grid-pulse>div:nth-child(2){-webkit-animation-delay:.01s;animation-delay:.01s;-webkit-animation-duration:.94s;animation-duration:.94s}.ball-grid-pulse>div:nth-child(3){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-animation-duration:1.43s;animation-duration:1.43s}.ball-grid-pulse>div:nth-child(4){-webkit-animation-delay:-.03s;animation-delay:-.03s;-webkit-animation-duration:.74s;animation-duration:.74s}.ball-grid-pulse>div:nth-child(5){-webkit-animation-delay:.21s;animation-delay:.21s;-webkit-animation-duration:.68s;animation-duration:.68s}.ball-grid-pulse>div:nth-child(6){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-animation-duration:1.17s;animation-duration:1.17s}.ball-grid-pulse>div:nth-child(7){-webkit-animation-delay:.46s;animation-delay:.46s;-webkit-animation-duration:1.41s;animation-duration:1.41s}.ball-grid-pulse>div:nth-child(8){-webkit-animation-delay:.02s;animation-delay:.02s;-webkit-animation-duration:1.56s;animation-duration:1.56s}.ball-grid-pulse>div:nth-child(9){-webkit-animation-delay:.13s;animation-delay:.13s;-webkit-animation-duration:.78s;animation-duration:.78s}.ball-grid-pulse>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:ball-grid-pulse;animation-name:ball-grid-pulse;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}@-webkit-keyframes ball-spin-fade-loader{50%{opacity:.3;-webkit-transform:scale(.4);transform:scale(.4)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-spin-fade-loader{50%{opacity:.3;-webkit-transform:scale(.4);transform:scale(.4)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.ball-spin-fade-loader{position:relative;top:-10px;left:-10px}.ball-spin-fade-loader>div:nth-child(1){top:25px;left:0;-webkit-animation:ball-spin-fade-loader 1s -.96s infinite linear;animation:ball-spin-fade-loader 1s -.96s infinite linear}.ball-spin-fade-loader>div:nth-child(2){top:17.05px;left:17.05px;-webkit-animation:ball-spin-fade-loader 1s -.84s infinite linear;animation:ball-spin-fade-loader 1s -.84s infinite linear}.ball-spin-fade-loader>div:nth-child(3){top:0;left:25px;-webkit-animation:ball-spin-fade-loader 1s -.72s infinite linear;animation:ball-spin-fade-loader 1s -.72s infinite linear}.ball-spin-fade-loader>div:nth-child(4){top:-17.05px;left:17.05px;-webkit-animation:ball-spin-fade-loader 1s -.6s infinite linear;animation:ball-spin-fade-loader 1s -.6s infinite linear}.ball-spin-fade-loader>div:nth-child(5){top:-25px;left:0;-webkit-animation:ball-spin-fade-loader 1s -.48s infinite linear;animation:ball-spin-fade-loader 1s -.48s infinite linear}.ball-spin-fade-loader>div:nth-child(6){top:-17.05px;left:-17.05px;-webkit-animation:ball-spin-fade-loader 1s -.36s infinite linear;animation:ball-spin-fade-loader 1s -.36s infinite linear}.ball-spin-fade-loader>div:nth-child(7){top:0;left:-25px;-webkit-animation:ball-spin-fade-loader 1s -.24s infinite linear;animation:ball-spin-fade-loader 1s -.24s infinite linear}.ball-spin-fade-loader>div:nth-child(8){top:17.05px;left:-17.05px;-webkit-animation:ball-spin-fade-loader 1s -.12s infinite linear;animation:ball-spin-fade-loader 1s -.12s infinite linear}.ball-spin-fade-loader>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute}@-webkit-keyframes ball-spin-loader{75%{opacity:.2}100%{opacity:1}}@keyframes ball-spin-loader{75%{opacity:.2}100%{opacity:1}}.ball-spin-loader{position:relative}.ball-spin-loader>span:nth-child(1){top:45px;left:0;-webkit-animation:ball-spin-loader 2s .9s infinite linear;animation:ball-spin-loader 2s .9s infinite linear}.ball-spin-loader>span:nth-child(2){top:30.68px;left:30.68px;-webkit-animation:ball-spin-loader 2s 1.8s infinite linear;animation:ball-spin-loader 2s 1.8s infinite linear}.ball-spin-loader>span:nth-child(3){top:0;left:45px;-webkit-animation:ball-spin-loader 2s 2.7s infinite linear;animation:ball-spin-loader 2s 2.7s infinite linear}.ball-spin-loader>span:nth-child(4){top:-30.68px;left:30.68px;-webkit-animation:ball-spin-loader 2s 3.6s infinite linear;animation:ball-spin-loader 2s 3.6s infinite linear}.ball-spin-loader>span:nth-child(5){top:-45px;left:0;-webkit-animation:ball-spin-loader 2s 4.5s infinite linear;animation:ball-spin-loader 2s 4.5s infinite linear}.ball-spin-loader>span:nth-child(6){top:-30.68px;left:-30.68px;-webkit-animation:ball-spin-loader 2s 5.4s infinite linear;animation:ball-spin-loader 2s 5.4s infinite linear}.ball-spin-loader>span:nth-child(7){top:0;left:-45px;-webkit-animation:ball-spin-loader 2s 6.3s infinite linear;animation:ball-spin-loader 2s 6.3s infinite linear}.ball-spin-loader>span:nth-child(8){top:30.68px;left:-30.68px;-webkit-animation:ball-spin-loader 2s 7.2s infinite linear;animation:ball-spin-loader 2s 7.2s infinite linear}.ball-spin-loader>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;width:15px;height:15px;border-radius:100%;background:green}.ball-zig-zag-deflect>div,.ball-zig-zag>div{background-color:#fff;width:15px;height:15px;border-radius:100%;margin:2px 2px 2px 15px;top:4px;left:-7px}@-webkit-keyframes ball-zig{33%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}66%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ball-zig{33%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}66%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ball-zag{33%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}66%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ball-zag{33%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}66%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}.ball-zig-zag{position:relative;-webkit-transform:translate(-15px,-15px);-ms-transform:translate(-15px,-15px);transform:translate(-15px,-15px)}.ball-zig-zag>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute}.ball-zig-zag>div:first-child{-webkit-animation:ball-zig .7s 0s infinite linear;animation:ball-zig .7s 0s infinite linear}.ball-zig-zag>div:last-child{-webkit-animation:ball-zag .7s 0s infinite linear;animation:ball-zag .7s 0s infinite linear}@-webkit-keyframes ball-zig-deflect{17%,84%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}34%,67%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}100%,50%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ball-zig-deflect{17%,84%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}34%,67%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}100%,50%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ball-zag-deflect{17%,84%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}34%,67%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}100%,50%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ball-zag-deflect{17%,84%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}34%,67%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}100%,50%{-webkit-transform:translate(0,0);transform:translate(0,0)}}.ball-zig-zag-deflect{position:relative;-webkit-transform:translate(-15px,-15px);-ms-transform:translate(-15px,-15px);transform:translate(-15px,-15px)}.ball-zig-zag-deflect>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute}.ball-zig-zag-deflect>div:first-child{-webkit-animation:ball-zig-deflect 1.5s 0s infinite linear;animation:ball-zig-deflect 1.5s 0s infinite linear}.ball-zig-zag-deflect>div:last-child{-webkit-animation:ball-zag-deflect 1.5s 0s infinite linear;animation:ball-zag-deflect 1.5s 0s infinite linear}@-webkit-keyframes line-scale{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes line-scale{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.line-scale>div:nth-child(1){-webkit-animation:line-scale 1s -.4s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.4s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(2){-webkit-animation:line-scale 1s -.3s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.3s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(3){-webkit-animation:line-scale 1s -.2s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.2s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(4){-webkit-animation:line-scale 1s -.1s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.1s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(5){-webkit-animation:line-scale 1s 0s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s 0s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div{animation-fill-mode:both;display:inline-block}.line-scale-party>div,.line-scale>div{background-color:#fff;border-radius:2px;margin:2px;width:4px;height:35px;-webkit-animation-fill-mode:both}@-webkit-keyframes line-scale-party{0%,100%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5)}}@keyframes line-scale-party{0%,100%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5)}}.line-scale-party>div:nth-child(1){-webkit-animation-delay:-.09s;animation-delay:-.09s;-webkit-animation-duration:.83s;animation-duration:.83s}.line-scale-party>div:nth-child(2){-webkit-animation-delay:.33s;animation-delay:.33s;-webkit-animation-duration:.64s;animation-duration:.64s}.line-scale-party>div:nth-child(3){-webkit-animation-delay:.32s;animation-delay:.32s;-webkit-animation-duration:.39s;animation-duration:.39s}.line-scale-party>div:nth-child(4){-webkit-animation-delay:.47s;animation-delay:.47s;-webkit-animation-duration:.52s;animation-duration:.52s}.line-scale-party>div{animation-fill-mode:both;display:inline-block;-webkit-animation-name:line-scale-party;animation-name:line-scale-party;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}@-webkit-keyframes line-scale-pulse-out{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes line-scale-pulse-out{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.line-scale-pulse-out>div{background-color:#fff;width:4px;height:35px;border-radius:2px;margin:2px;display:inline-block;-webkit-animation:line-scale-pulse-out .9s -.6s infinite cubic-bezier(.85,.25,.37,.85);animation:line-scale-pulse-out .9s -.6s infinite cubic-bezier(.85,.25,.37,.85)}.line-scale-pulse-out>div:nth-child(2),.line-scale-pulse-out>div:nth-child(4){-webkit-animation-delay:-.4s!important;animation-delay:-.4s!important}.line-scale-pulse-out>div:nth-child(1),.line-scale-pulse-out>div:nth-child(5){-webkit-animation-delay:-.2s!important;animation-delay:-.2s!important}@-webkit-keyframes line-scale-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.3);transform:scaley(.3)}}@keyframes line-scale-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.3);transform:scaley(.3)}}.line-scale-pulse-out-rapid>div{background-color:#fff;width:4px;height:35px;border-radius:2px;margin:2px;display:inline-block;-webkit-animation:line-scale-pulse-out-rapid .9s -.5s infinite cubic-bezier(.11,.49,.38,.78);animation:line-scale-pulse-out-rapid .9s -.5s infinite cubic-bezier(.11,.49,.38,.78)}.line-scale-pulse-out-rapid>div:nth-child(2),.line-scale-pulse-out-rapid>div:nth-child(4){-webkit-animation-delay:-.25s!important;animation-delay:-.25s!important}.line-scale-pulse-out-rapid>div:nth-child(1),.line-scale-pulse-out-rapid>div:nth-child(5){-webkit-animation-delay:0s!important;animation-delay:0s!important}@-webkit-keyframes line-spin-fade-loader{50%{opacity:.3}100%{opacity:1}}@keyframes line-spin-fade-loader{50%{opacity:.3}100%{opacity:1}}.line-spin-fade-loader{position:relative;top:-10px;left:-4px}.line-spin-fade-loader>div:nth-child(1){top:20px;left:0;-webkit-animation:line-spin-fade-loader 1.2s -.84s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.84s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(2){top:13.64px;left:13.64px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-animation:line-spin-fade-loader 1.2s -.72s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.72s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(3){top:0;left:20px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-animation:line-spin-fade-loader 1.2s -.6s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.6s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(4){top:-13.64px;left:13.64px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-animation:line-spin-fade-loader 1.2s -.48s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.48s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(5){top:-20px;left:0;-webkit-animation:line-spin-fade-loader 1.2s -.36s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.36s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(6){top:-13.64px;left:-13.64px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-animation:line-spin-fade-loader 1.2s -.24s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.24s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(7){top:0;left:-20px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-animation:line-spin-fade-loader 1.2s -.12s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.12s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(8){top:13.64px;left:-13.64px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-animation:line-spin-fade-loader 1.2s 0s infinite ease-in-out;animation:line-spin-fade-loader 1.2s 0s infinite ease-in-out}.line-spin-fade-loader>div{background-color:#fff;border-radius:2px;margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;width:5px;height:15px}@-webkit-keyframes triangle-skew-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}100%{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}@keyframes triangle-skew-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}100%{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}.triangle-skew-spin>div{width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-bottom:20px solid #fff;-webkit-animation:triangle-skew-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:triangle-skew-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite}@-webkit-keyframes square-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}100%{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}@keyframes square-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}100%{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}.square-spin>div{width:50px;height:50px;background:#fff;border:1px solid red;-webkit-animation:square-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:square-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite}.pacman>div:first-of-type,.pacman>div:nth-child(2){width:0;height:0;border-right:25px solid transparent;border-top:25px solid #fff;border-left:25px solid #fff;border-bottom:25px solid #fff;border-radius:25px;position:relative;left:-30px}@-webkit-keyframes rotate_pacman_half_up{0%,100%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}50%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate_pacman_half_up{0%,100%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}50%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes rotate_pacman_half_down{0%,100%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes rotate_pacman_half_down{0%,100%{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes pacman-balls{75%{opacity:.7}100%{-webkit-transform:translate(-100px,-6.25px);transform:translate(-100px,-6.25px)}}@keyframes pacman-balls{75%{opacity:.7}100%{-webkit-transform:translate(-100px,-6.25px);transform:translate(-100px,-6.25px)}}.pacman{position:relative}.pacman>div:nth-child(3){-webkit-animation:pacman-balls 1s -.66s infinite linear;animation:pacman-balls 1s -.66s infinite linear}.pacman>div:nth-child(4){-webkit-animation:pacman-balls 1s -.33s infinite linear;animation:pacman-balls 1s -.33s infinite linear}.pacman>div:nth-child(5){-webkit-animation:pacman-balls 1s 0s infinite linear;animation:pacman-balls 1s 0s infinite linear}.pacman>div:first-of-type{-webkit-animation:rotate_pacman_half_up .5s 0s infinite;animation:rotate_pacman_half_up .5s 0s infinite}.pacman>div:nth-child(2){-webkit-animation:rotate_pacman_half_down .5s 0s infinite;animation:rotate_pacman_half_down .5s 0s infinite;margin-top:-50px}.pacman>div:nth-child(3),.pacman>div:nth-child(4),.pacman>div:nth-child(5),.pacman>div:nth-child(6){background-color:#fff;border-radius:100%;margin:2px;width:10px;height:10px;position:absolute;-webkit-transform:translate(0,-6.25px);-ms-transform:translate(0,-6.25px);transform:translate(0,-6.25px);top:25px;left:70px}@-webkit-keyframes cube-transition{25%{-webkit-transform:translateX(50px) scale(.5) rotate(-90deg);transform:translateX(50px) scale(.5) rotate(-90deg)}50%{-webkit-transform:translate(50px,50px) rotate(-180deg);transform:translate(50px,50px) rotate(-180deg)}75%{-webkit-transform:translateY(50px) scale(.5) rotate(-270deg);transform:translateY(50px) scale(.5) rotate(-270deg)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes cube-transition{25%{-webkit-transform:translateX(50px) scale(.5) rotate(-90deg);transform:translateX(50px) scale(.5) rotate(-90deg)}50%{-webkit-transform:translate(50px,50px) rotate(-180deg);transform:translate(50px,50px) rotate(-180deg)}75%{-webkit-transform:translateY(50px) scale(.5) rotate(-270deg);transform:translateY(50px) scale(.5) rotate(-270deg)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}.cube-transition{position:relative;-webkit-transform:translate(-25px,-25px);-ms-transform:translate(-25px,-25px);transform:translate(-25px,-25px)}.cube-transition>div{width:10px;height:10px;position:absolute;top:-5px;left:-5px;background-color:#fff;-webkit-animation:cube-transition 1.6s 0s infinite ease-in-out;animation:cube-transition 1.6s 0s infinite ease-in-out}.cube-transition>div:last-child{-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes spin-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.semi-circle-spin{position:relative;width:35px;height:35px;overflow:hidden}.semi-circle-spin>div{position:absolute;border-width:0;border-radius:100%;-webkit-animation:spin-rotate .6s 0s infinite linear;animation:spin-rotate .6s 0s infinite linear;background-image:-webkit-linear-gradient(transparent 0,transparent 70%,#fff 30%,#fff 100%);background-image:linear-gradient(transparent 0,transparent 70%,#fff 30%,#fff 100%);width:100%;height:100%}@-webkit-keyframes bar-progress{0%,100%{-webkit-transform:scaleY(20%);transform:scaleY(20%);opacity:1}25%,75%{-webkit-transform:translateX(6%) scaleY(10%);transform:translateX(6%) scaleY(10%);opacity:.7}50%{-webkit-transform:translateX(20%) scaleY(20%);transform:translateX(20%) scaleY(20%);opacity:1}}@keyframes bar-progress{0%,100%{-webkit-transform:scaleY(20%);transform:scaleY(20%);opacity:1}25%,75%{-webkit-transform:translateX(6%) scaleY(10%);transform:translateX(6%) scaleY(10%);opacity:.7}50%{-webkit-transform:translateX(20%) scaleY(20%);transform:translateX(20%) scaleY(20%);opacity:1}}.bar-progress{width:30%;height:12px}.bar-progress>div{position:relative;width:20%;height:12px;border-radius:10px;background-color:#fff;-webkit-animation:bar-progress 3s cubic-bezier(.57,.1,.44,.93) infinite;animation:bar-progress 3s cubic-bezier(.57,.1,.44,.93) infinite;opacity:1}.bar-swing,.bar-swing>div{height:8px;width:30%}@-webkit-keyframes bar-swing{0%,100%{left:0}50%{left:70%}}@keyframes bar-swing{0%,100%{left:0}50%{left:70%}}.bar-swing>div{position:relative;border-radius:10px;background-color:#fff;-webkit-animation:bar-swing 1.5s infinite;animation:bar-swing 1.5s infinite}@-webkit-keyframes bar-swing-container{0%,100%{left:0;-webkit-transform:translateX(0);transform:translateX(0)}50%{left:70%;-webkit-transform:translateX(-4px);transform:translateX(-4px)}}@keyframes bar-swing-container{0%,100%{left:0;-webkit-transform:translateX(0);transform:translateX(0)}50%{left:70%;-webkit-transform:translateX(-4px);transform:translateX(-4px)}}.bar-swing-container{width:20%;height:8px;position:relative}.bar-swing-container div:nth-child(1){position:absolute;width:100%;background-color:rgba(255,255,255,.2);height:12px;border-radius:10px}.bar-swing-container div:nth-child(2){position:absolute;width:30%;height:8px;border-radius:10px;background-color:#fff;-webkit-animation:bar-swing-container 2s cubic-bezier(.91,.35,.12,.6) infinite;animation:bar-swing-container 2s cubic-bezier(.91,.35,.12,.6) infinite;margin:2px 2px 0}
\ No newline at end of file
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/package.json b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/package.json
new file mode 100755
index 000000000..6c2bc6c8b
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "loaders.css",
+ "version": "0.1.2",
+ "description": "Loading animations in pure css",
+ "main": "loaders.css",
+ "style": "loaders.css",
+ "repository": {
+ "type": "git",
+ "url": "git@github.com:ConnorAtherton/loaders.css.git"
+ },
+ "keywords": [
+ "css",
+ "loaders",
+ "animation",
+ "animate"
+ ],
+ "author": "Connor Atherton",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/ConnorAtherton/loaders.css/issues"
+ },
+ "homepage": "https://github.com/ConnorAtherton/loaders.css",
+ "devDependencies": {
+ "coffee-script": "^1.9.1",
+ "gulp": "^3.8.10",
+ "gulp-autoprefixer": "^2.0.0",
+ "gulp-cssmin": "^0.1.6",
+ "gulp-jade": "^0.10.0",
+ "gulp-plumber": "1.0.1",
+ "gulp-rename": "^1.2.0",
+ "gulp-sass": "^2.1.1",
+ "gulp-util": "^3.0.3",
+ "scss-lint": "0.0.0"
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_functions.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_functions.scss
new file mode 100755
index 000000000..f417aee2d
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_functions.scss
@@ -0,0 +1,3 @@
+@function delay($interval, $count, $index) {
+ @return ($index * $interval) - ($interval * $count);
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_mixins.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_mixins.scss
new file mode 100755
index 000000000..a204fe6de
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_mixins.scss
@@ -0,0 +1,25 @@
+@mixin global-bg() {
+ background-color: $primary-color;
+}
+
+@mixin global-animation() {
+ animation-fill-mode: both;
+}
+
+@mixin balls() {
+ @include global-bg();
+
+ width: $ball-size;
+ height: $ball-size;
+ border-radius: 100%;
+ margin: $margin;
+}
+
+@mixin lines() {
+ @include global-bg();
+
+ width: $line-width;
+ height: $line-height;
+ border-radius: 2px;
+ margin: $margin;
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_variables.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_variables.scss
new file mode 100755
index 000000000..61b00225a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/_variables.scss
@@ -0,0 +1,6 @@
+$primary-color: #fff !default;
+$ball-size: 15px !default;
+$margin: 2px !default;
+$line-height: 35px !default;
+$line-width: 4px !default;
+
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-beat.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-beat.scss
new file mode 100755
index 000000000..b32563b80
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-beat.scss
@@ -0,0 +1,28 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes ball-beat {
+ 50% {
+ opacity: 0.2;
+ transform: scale(0.75);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+.ball-beat {
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ display: inline-block;
+ animation: ball-beat 0.7s 0s infinite linear;
+
+ &:nth-child(2n-1) {
+ animation-delay: -0.35s !important;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate-multiple.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate-multiple.scss
new file mode 100755
index 000000000..aa6ad7fae
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate-multiple.scss
@@ -0,0 +1,44 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes rotate {
+ 0% {
+ transform: rotate(0deg) scale(1);
+ }
+ 50% {
+ transform: rotate(180deg) scale(0.6);
+ }
+ 100% {
+ transform: rotate(360deg) scale(1);
+ }
+}
+
+.ball-clip-rotate-multiple {
+ position: relative;
+
+ > div {
+ @include global-animation();
+
+ position: absolute;
+ left: -20px;
+ top: -20px;
+ border: 2px solid $primary-color;
+ border-bottom-color: transparent;
+ border-top-color: transparent;
+ border-radius: 100%;
+ height: 35px;
+ width: 35px;
+ animation: rotate 1s 0s ease-in-out infinite;
+
+ &:last-child {
+ display: inline-block;
+ top: -10px;
+ left: -10px;
+ width: 15px;
+ height: 15px;
+ animation-duration: 0.5s;
+ border-color: $primary-color transparent $primary-color transparent;
+ animation-direction: reverse;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate-pulse.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate-pulse.scss
new file mode 100755
index 000000000..538c53d0a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate-pulse.scss
@@ -0,0 +1,60 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes rotate {
+ 0% {
+ transform: rotate(0deg) scale(1);
+ }
+ 50% {
+ transform: rotate(180deg) scale(0.6);
+ }
+ 100% {
+ transform: rotate(360deg) scale(1);
+ }
+}
+
+@keyframes scale {
+ 30% {
+ transform: scale(0.3);
+ }
+ 100% {
+ transform: scale(1);
+ }
+}
+
+.ball-clip-rotate-pulse {
+ position: relative;
+ transform: translateY(-15px);
+
+ > div {
+ @include global-animation();
+
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ border-radius: 100%;
+
+ &:first-child {
+ background: $primary-color;
+ height: 16px;
+ width: 16px;
+ top: 7px;
+ left: -7px;
+ animation: scale 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;
+ }
+
+ &:last-child {
+ position: absolute;
+ border: 2px solid $primary-color;
+ width: 30px;
+ height: 30px;
+ left: -16px;
+ top: -2px;
+ background: transparent;
+ border: 2px solid;
+ border-color: $primary-color transparent $primary-color transparent;
+ animation: rotate 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;
+ animation-duration: 1s;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate.scss
new file mode 100755
index 000000000..aaffd8d51
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-clip-rotate.scss
@@ -0,0 +1,30 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes rotate {
+ 0% {
+ transform: rotate(0deg) scale(1);
+ }
+ 50% {
+ transform: rotate(180deg) scale(0.6);
+ }
+ 100% {
+ transform: rotate(360deg) scale(1);
+ }
+}
+
+.ball-clip-rotate {
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ border: 2px solid $primary-color;
+ border-bottom-color: transparent;
+ height: 25px;
+ width: 25px;
+ background: transparent !important;
+ display: inline-block;
+ animation: rotate 0.75s 0s linear infinite;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-grid-beat.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-grid-beat.scss
new file mode 100755
index 000000000..88885a631
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-grid-beat.scss
@@ -0,0 +1,37 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes ball-grid-beat {
+ 50% {
+ opacity: 0.7;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+
+@mixin ball-grid-beat($n:9) {
+ @for $i from 1 through $n {
+ > div:nth-child(#{$i}) {
+ animation-delay: ((random(100) / 100) - 0.2) + s;
+ animation-duration: ((random(100) / 100) + 0.6) + s;
+ }
+ }
+
+}
+
+.ball-grid-beat {
+ @include ball-grid-beat();
+ width: ($ball-size * 3) + $margin * 6;
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ display: inline-block;
+ float: left;
+ animation-name: ball-grid-beat;
+ animation-iteration-count: infinite;
+ animation-delay: 0;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-grid-pulse.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-grid-pulse.scss
new file mode 100755
index 000000000..8d2b9b48b
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-grid-pulse.scss
@@ -0,0 +1,42 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes ball-grid-pulse {
+ 0% {
+ transform: scale(1);
+ }
+ 50% {
+ transform: scale(0.5);
+ opacity: 0.7;
+ }
+ 100% {
+ transform: scale(1);
+ opacity: 1;
+ }
+}
+
+@mixin ball-grid-pulse($n:9) {
+ @for $i from 1 through $n {
+ > div:nth-child(#{$i}) {
+ animation-delay: ((random(100) / 100) - 0.2) + s;
+ animation-duration: ((random(100) / 100) + 0.6) + s;
+ }
+ }
+
+}
+
+.ball-grid-pulse {
+ @include ball-grid-pulse();
+ width: ($ball-size * 3) + $margin * 6;
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ display: inline-block;
+ float: left;
+ animation-name: ball-grid-pulse;
+ animation-iteration-count: infinite;
+ animation-delay: 0;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-rise.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-rise.scss
new file mode 100755
index 000000000..808a4ddd5
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-rise.scss
@@ -0,0 +1,64 @@
+@import '../variables';
+@import '../mixins';
+
+$rise-amount: 30px;
+
+@keyframes ball-pulse-rise-even {
+ 0% {
+ transform: scale(1.1);
+ }
+ 25% {
+ transform: translateY(-$rise-amount);
+ }
+ 50% {
+ transform: scale(0.4);
+ }
+ 75% {
+ transform: translateY($rise-amount);
+ }
+ 100% {
+ transform: translateY(0);
+ transform: scale(1.0);
+ }
+}
+
+@keyframes ball-pulse-rise-odd {
+ 0% {
+ transform: scale(0.4);
+ }
+ 25% {
+ transform: translateY($rise-amount);
+ }
+ 50% {
+ transform: scale(1.1);
+ }
+ 75% {
+ transform: translateY(-$rise-amount);
+ }
+ 100% {
+ transform: translateY(0);
+ transform: scale(0.75);
+ }
+}
+
+.ball-pulse-rise {
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ display: inline-block;
+ animation-duration: 1s;
+ animation-timing-function: cubic-bezier(.15,.46,.9,.6);
+ animation-iteration-count: infinite;
+ animation-delay: 0;
+
+ &:nth-child(2n) {
+ animation-name: ball-pulse-rise-even;
+ }
+
+ &:nth-child(2n-1) {
+ animation-name: ball-pulse-rise-odd;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-round.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-round.scss
new file mode 100755
index 000000000..56a65d152
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-round.scss
@@ -0,0 +1,24 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes ball-pulse-round {
+ 0%, 80%, 100% {
+ transform: scale(0.0);
+ -webkit-transform: scale(0.0);
+ } 40% {
+ transform: scale(1.0);
+ -webkit-transform: scale(1.0);
+ }
+}
+
+.ball-pulse-round {
+
+ > div {
+ @include global-animation();
+
+ width: 10px;
+ height: 10px;
+ animation: ball-pulse-round 1.2s infinite ease-in-out;
+ }
+}
+
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-sync.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-sync.scss
new file mode 100755
index 000000000..93783e482
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse-sync.scss
@@ -0,0 +1,36 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+$amount: 10px;
+
+@keyframes ball-pulse-sync {
+ 33% {
+ transform: translateY($amount);
+ }
+ 66% {
+ transform: translateY(-$amount);
+ }
+ 100% {
+ transform: translateY(0);
+ }
+}
+
+@mixin ball-pulse-sync($n:3, $start:0) {
+ @for $i from $start through $n {
+ > div:nth-child(#{$i}) {
+ animation: ball-pulse-sync 0.6s delay(0.07s, $n, $i) infinite ease-in-out;
+ }
+ }
+}
+
+.ball-pulse-sync {
+ @include ball-pulse-sync();
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ display: inline-block;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse.scss
new file mode 100755
index 000000000..73e330d8f
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-pulse.scss
@@ -0,0 +1,38 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+@keyframes scale {
+ 0% {
+ transform: scale(1);
+ opacity: 1;
+ }
+ 45% {
+ transform: scale(0.1);
+ opacity: 0.7;
+ }
+ 80% {
+ transform: scale(1);
+ opacity: 1;
+ }
+}
+
+// mixins should be separated out
+@mixin ball-pulse($n:3, $start:0) {
+ @for $i from $start through $n {
+ > div:nth-child(#{$i}) {
+ animation: scale 0.75s delay(0.12s, $n, $i) infinite cubic-bezier(.2,.68,.18,1.08);
+ }
+ }
+}
+
+.ball-pulse {
+ @include ball-pulse();
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ display: inline-block;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-rotate.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-rotate.scss
new file mode 100755
index 000000000..ce2b41aa9
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-rotate.scss
@@ -0,0 +1,47 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 50% {
+ transform: rotate(180deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+.ball-rotate {
+ position: relative;
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ position: relative;
+
+ &:first-child {
+ animation: rotate 1s 0s cubic-bezier(.7,-.13,.22,.86) infinite;
+ }
+
+ &:before, &:after {
+ @include balls();
+
+ content: "";
+ position: absolute;
+ opacity: 0.8;
+ }
+
+ &:before {
+ top: 0px;
+ left: -28px;
+ }
+
+ &:after {
+ top: 0px;
+ left: 25px;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-multiple.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-multiple.scss
new file mode 100755
index 000000000..ecd61fb9a
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-multiple.scss
@@ -0,0 +1,48 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+$size: 60px;
+
+@keyframes ball-scale-multiple {
+ 0% {
+ transform: scale(0.0);
+ opacity: 0;
+ }
+ 5% {
+ opacity: 1;
+ }
+ 100% {
+ transform: scale(1.0);
+ opacity: 0;
+ }
+}
+
+@mixin ball-scale-multiple ($n:3, $start:0) {
+ @for $i from 2 through $n {
+ > div:nth-child(#{$i}) {
+ animation-delay: delay(0.2s, $n, $i - 1);
+ }
+ }
+}
+
+.ball-scale-multiple {
+ @include ball-scale-multiple();
+
+ position: relative;
+ transform: translateY(-$size / 2);
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ position: absolute;
+ left: -30px;
+ top: 0px;
+ opacity: 0;
+ margin: 0;
+ width: $size;
+ height: $size;
+ animation: ball-scale-multiple 1s 0s linear infinite;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-random.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-random.scss
new file mode 100755
index 000000000..dba15ca0f
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-random.scss
@@ -0,0 +1,28 @@
+@import "ball-scale";
+
+.ball-scale-random {
+ width: 37px;
+ height: 40px;
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ position: absolute;
+ display: inline-block;
+ height: 30px;
+ width: 30px;
+ animation: ball-scale 1s 0s ease-in-out infinite;
+
+ &:nth-child(1) {
+ margin-left: -7px;
+ animation: ball-scale 1s 0.2s ease-in-out infinite;
+ }
+
+ &:nth-child(3) {
+ margin-left: -2px;
+ margin-top: 9px;
+ animation: ball-scale 1s 0.5s ease-in-out infinite;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-ripple-multiple.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-ripple-multiple.scss
new file mode 100755
index 000000000..ccaa8e484
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-ripple-multiple.scss
@@ -0,0 +1,47 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+$size: 50px;
+
+@keyframes ball-scale-ripple-multiple {
+ 0% {
+ transform: scale(0.1);
+ opacity: 1;
+ }
+ 70% {
+ transform: scale(1);
+ opacity: 0.7;
+ }
+ 100% {
+ opacity: 0.0;
+ }
+}
+
+@mixin ball-scale-ripple-multiple ($n:3, $start:0) {
+ @for $i from $start through $n {
+ > div:nth-child(#{$i}) {
+ animation-delay: delay(0.2s, $n, $i - 1);
+ }
+ }
+}
+
+.ball-scale-ripple-multiple {
+ @include ball-scale-ripple-multiple();
+
+ position: relative;
+ transform: translateY(-$size / 2);
+
+ > div {
+ @include global-animation();
+
+ position: absolute;
+ top: -2px;
+ left: -26px;
+ width: $size;
+ height: $size;
+ border-radius: 100%;
+ border: 2px solid $primary-color;
+ animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21,.53,.56,.8);
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-ripple.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-ripple.scss
new file mode 100755
index 000000000..804b58b8b
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale-ripple.scss
@@ -0,0 +1,29 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes ball-scale-ripple {
+ 0% {
+ transform: scale(0.1);
+ opacity: 1;
+ }
+ 70% {
+ transform: scale(1);
+ opacity: 0.7;
+ }
+ 100% {
+ opacity: 0.0;
+ }
+}
+
+.ball-scale-ripple {
+
+ > div {
+ @include global-animation();
+
+ height: 50px;
+ width: 50px;
+ border-radius: 100%;
+ border: 2px solid $primary-color;;
+ animation: ball-scale-ripple 1s 0s infinite cubic-bezier(.21,.53,.56,.8);
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale.scss
new file mode 100755
index 000000000..56171396c
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-scale.scss
@@ -0,0 +1,25 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes ball-scale {
+ 0% {
+ transform: scale(0.0);
+ }
+ 100% {
+ transform: scale(1.0);
+ opacity: 0;
+ }
+}
+
+.ball-scale {
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ display: inline-block;
+ height: 60px;
+ width: 60px;
+ animation: ball-scale 1s 0s ease-in-out infinite;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-spin-fade-loader.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-spin-fade-loader.scss
new file mode 100755
index 000000000..d0c2638a3
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-spin-fade-loader.scss
@@ -0,0 +1,68 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+$radius: 25px;
+
+@keyframes ball-spin-fade-loader {
+ 50% {
+ opacity: 0.3;
+ transform: scale(0.4);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+@mixin ball-spin-fade-loader($n:8, $start:1) {
+ @for $i from $start through $n {
+ > div:nth-child(#{$i}) {
+ $iter: 360 / $n;
+ $quarter: ($radius / 2) + ($radius / 5.5);
+
+ @if $i == 1 {
+ top: $radius;
+ left: 0;
+ } @else if $i == 2 {
+ top: $quarter;
+ left: $quarter;
+ } @else if $i == 3 {
+ top: 0;
+ left: $radius;
+ } @else if $i == 4 {
+ top: -$quarter;
+ left: $quarter;
+ } @else if $i == 5 {
+ top: -$radius;
+ left: 0;
+ } @else if $i == 6 {
+ top: -$quarter;
+ left: -$quarter;
+ } @else if $i == 7 {
+ top: 0;
+ left: -$radius;
+ } @else if $i == 8 {
+ top: $quarter;
+ left: -$quarter;
+ }
+
+ animation: ball-spin-fade-loader 1s delay(0.12s, $n, $i - 1) infinite linear;
+ }
+ }
+}
+
+.ball-spin-fade-loader {
+ @include ball-spin-fade-loader();
+
+ position: relative;
+ top: -10px;
+ left: -10px;
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ position: absolute;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-spin-loader.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-spin-loader.scss
new file mode 100755
index 000000000..402290878
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-spin-loader.scss
@@ -0,0 +1,65 @@
+@import '../variables';
+@import '../mixins';
+
+$radius: 45px;
+
+@keyframes ball-spin-loader {
+ 75% {
+ opacity: 0.2;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+
+@mixin ball-spin-loader($n:8, $start:1) {
+ @for $i from $start through $n {
+ > span:nth-child(#{$i}) {
+ $iter: 360 / $n;
+ $quarter: ($radius / 2) + ($radius / 5.5);
+
+ @if $i == 1 {
+ top: $radius;
+ left: 0;
+ } @else if $i == 2 {
+ top: $quarter;
+ left: $quarter;
+ } @else if $i == 3 {
+ top: 0;
+ left: $radius;
+ } @else if $i == 4 {
+ top: -$quarter;
+ left: $quarter;
+ } @else if $i == 5 {
+ top: -$radius;
+ left: 0;
+ } @else if $i == 6 {
+ top: -$quarter;
+ left: -$quarter;
+ } @else if $i == 7 {
+ top: 0;
+ left: -$radius;
+ } @else if $i == 8 {
+ top: $quarter;
+ left: -$quarter;
+ }
+
+ animation: ball-spin-loader 2s ($i * 0.9s) infinite linear;
+ }
+ }
+}
+
+.ball-spin-loader {
+ @include ball-spin-loader();
+ position: relative;
+
+ > div {
+ @include global-animation();
+
+ position: absolute;
+ width: 15px;
+ height: 15px;
+ border-radius: 100%;
+ background: green;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-triangle-trace.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-triangle-trace.scss
new file mode 100755
index 000000000..d27e8b516
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-triangle-trace.scss
@@ -0,0 +1,83 @@
+@import '../variables';
+@import '../mixins';
+
+$amount: 50px;
+
+@keyframes ball-triangle-path-1 {
+ 33% {
+ transform: translate($amount / 2, -$amount);
+ }
+ 66% {
+ transform: translate($amount, 0px);
+ }
+ 100% {
+ transform: translate(0px, 0px);
+ }
+}
+
+@keyframes ball-triangle-path-2 {
+ 33% {
+ transform: translate($amount / 2, $amount);
+ }
+ 66% {
+ transform: translate(- $amount / 2, $amount);
+ }
+ 100% {
+ transform: translate(0px, 0px);
+ }
+}
+
+@keyframes ball-triangle-path-3 {
+ 33% {
+ transform: translate(-$amount, 0px);
+ }
+ 66% {
+ transform: translate(- $amount / 2, -$amount);
+ }
+ 100% {
+ transform: translate(0px, 0px);
+ }
+}
+
+@mixin ball-triangle-path($n:3) {
+ $animations: ball-triangle-path-1 ball-triangle-path-2 ball-triangle-path-3;
+
+ @for $i from 1 through $n {
+ > div:nth-child(#{$i}) {
+ animation-name: nth($animations, $i);
+ animation-delay: 0;
+ animation-duration: 2s;
+ animation-timing-function: ease-in-out;
+ animation-iteration-count: infinite;
+ }
+ }
+}
+
+.ball-triangle-path {
+ position: relative;
+ @include ball-triangle-path();
+ transform: translate(-$amount / 1.667, -$amount / 1.333);
+
+ > div {
+ @include global-animation();
+
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ border-radius: 100%;
+ border: 1px solid $primary-color;
+
+ &:nth-of-type(1) {
+ top: $amount;
+ }
+
+ &:nth-of-type(2) {
+ left: $amount / 2;
+ }
+
+ &:nth-of-type(3) {
+ top: $amount;
+ left: $amount;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-zig-zag-deflect.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-zig-zag-deflect.scss
new file mode 100755
index 000000000..795900044
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-zig-zag-deflect.scss
@@ -0,0 +1,70 @@
+@import '../variables';
+@import '../mixins';
+
+$amount: 30px;
+
+@keyframes ball-zig-deflect {
+ 17% {
+ transform: translate(-$amount/2, -$amount);
+ }
+ 34% {
+ transform: translate($amount/2, -$amount);
+ }
+ 50% {
+ transform: translate(0, 0);
+ }
+ 67% {
+ transform: translate($amount/2, -$amount);
+ }
+ 84% {
+ transform: translate(-$amount/2, -$amount);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+@keyframes ball-zag-deflect {
+ 17% {
+ transform: translate($amount/2, $amount);
+ }
+ 34% {
+ transform: translate(-$amount/2, $amount);
+ }
+ 50% {
+ transform: translate(0, 0);
+ }
+ 67% {
+ transform: translate(-$amount/2, $amount);
+ }
+ 84% {
+ transform: translate($amount/2, $amount);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+.ball-zig-zag-deflect {
+ position: relative;
+ transform: translate(-$amount / 2, -$amount / 2);
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ position: absolute;
+ margin-left: $amount / 2;
+ top: 4px;
+ left: -7px;
+
+ &:first-child {
+ animation: ball-zig-deflect 1.5s 0s infinite linear;
+ }
+
+ &:last-child {
+ animation: ball-zag-deflect 1.5s 0s infinite linear;
+ }
+ }
+}
+
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-zig-zag.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-zig-zag.scss
new file mode 100755
index 000000000..4866f4898
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/ball-zig-zag.scss
@@ -0,0 +1,51 @@
+@import '../variables';
+@import '../mixins';
+
+$amount: 30px;
+
+@keyframes ball-zig {
+ 33% {
+ transform: translate(-$amount/2, -$amount);
+ }
+ 66% {
+ transform: translate($amount/2, -$amount);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+@keyframes ball-zag {
+ 33% {
+ transform: translate($amount/2, $amount);
+ }
+ 66% {
+ transform: translate(-$amount/2, $amount);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+.ball-zig-zag {
+ position: relative;
+ transform: translate(-$amount / 2, -$amount / 2);
+
+ > div {
+ @include balls();
+ @include global-animation();
+
+ position: absolute;
+ margin-left: $amount / 2;
+ top: 4px;
+ left: -7px;
+
+ &:first-child {
+ animation: ball-zig 0.7s 0s infinite linear;
+ }
+
+ &:last-child {
+ animation: ball-zag 0.7s 0s infinite linear;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/cube-transition.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/cube-transition.scss
new file mode 100755
index 000000000..2c29170fa
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/cube-transition.scss
@@ -0,0 +1,41 @@
+@import '../variables';
+@import '../mixins';
+
+$amount: 50px;
+$size: 10px;
+
+@keyframes cube-transition {
+ 25% {
+ transform: translateX($amount) scale(0.5) rotate(-90deg);
+ }
+ 50% {
+ transform: translate($amount, $amount) rotate(-180deg);
+ }
+ 75% {
+ transform: translateY($amount) scale(0.5) rotate(-270deg);
+ }
+ 100% {
+ transform: rotate(-360deg);
+ }
+}
+
+.cube-transition {
+ position: relative;
+ transform: translate(-$amount / 2, -$amount / 2);
+
+ > div {
+ @include global-animation();
+
+ width: $size;
+ height: $size;
+ position: absolute;
+ top: -5px;
+ left: -5px;
+ background-color: $primary-color;
+ animation: cube-transition 1.6s 0s infinite ease-in-out;
+
+ &:last-child {
+ animation-delay: -0.8s
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-pulse-out-rapid.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-pulse-out-rapid.scss
new file mode 100755
index 000000000..a8fe390e2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-pulse-out-rapid.scss
@@ -0,0 +1,34 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes line-scale-pulse-out-rapid {
+ 0% {
+ transform: scaley(1.0);
+ }
+ 80% {
+ transform: scaley(0.3);
+ }
+ 90% {
+ transform: scaley(1.0);
+ }
+}
+
+.line-scale-pulse-out-rapid {
+
+ > div {
+ @include lines();
+ @include global-animation();
+
+ display: inline-block;
+ vertical-align: middle;
+ animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(.11,.49,.38,.78);
+
+ &:nth-child(2), &:nth-child(4) {
+ animation-delay: -0.25s !important;
+ }
+
+ &:nth-child(1), &:nth-child(5) {
+ animation-delay: 0s !important;
+ }
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-pulse-out.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-pulse-out.scss
new file mode 100755
index 000000000..6662867c6
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-pulse-out.scss
@@ -0,0 +1,35 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+@keyframes line-scale-pulse-out {
+ 0% {
+ transform: scaley(1.0);
+ }
+ 50% {
+ transform: scaley(0.4);
+ }
+ 100% {
+ transform: scaley(1.0);
+ }
+}
+
+.line-scale-pulse-out {
+
+ > div {
+ @include lines();
+ @include global-animation();
+
+ display: inline-block;
+ animation: line-scale-pulse-out 0.9s delay(0.2s, 3, 0) infinite cubic-bezier(.85,.25,.37,.85);
+
+ &:nth-child(2), &:nth-child(4) {
+ animation-delay: delay(0.2s, 3, 1) !important;
+ }
+
+ &:nth-child(1), &:nth-child(5) {
+ animation-delay: delay(0.2s, 3, 2) !important;
+ }
+
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-random.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-random.scss
new file mode 100755
index 000000000..0706471ec
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale-random.scss
@@ -0,0 +1,38 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes line-scale-party {
+ 0% {
+ transform: scale(1);
+ }
+ 50% {
+ $random: 0.5;
+ transform: scale($random);
+ }
+ 100% {
+ transform: scale(1);
+ }
+}
+
+@mixin line-scale-party($n:4) {
+ @for $i from 1 through $n {
+ > div:nth-child(#{$i}) {
+ animation-delay: ((random(100) / 100) - 0.2) + s;
+ animation-duration: ((random(100) / 100) + 0.3) + s;
+ }
+ }
+}
+
+.line-scale-party {
+ @include line-scale-party();
+
+ > div {
+ @include lines();
+ @include global-animation();
+
+ display: inline-block;
+ animation-name: line-scale-party;
+ animation-iteration-count: infinite;
+ animation-delay: 0;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale.scss
new file mode 100755
index 000000000..9a0a5b166
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-scale.scss
@@ -0,0 +1,34 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+@keyframes line-scale {
+ 0% {
+ transform: scaley(1.0);
+ }
+ 50% {
+ transform: scaley(0.4);
+ }
+ 100% {
+ transform: scaley(1.0);
+ }
+}
+
+@mixin line-scale($n:5) {
+ @for $i from 1 through $n {
+ > div:nth-child(#{$i}) {
+ animation: line-scale 1s delay(0.1s, $n, $i) infinite cubic-bezier(.2,.68,.18,1.08);
+ }
+ }
+}
+
+.line-scale {
+ @include line-scale();
+
+ > div {
+ @include lines();
+ @include global-animation();
+
+ display: inline-block;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-spin-fade-loader.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-spin-fade-loader.scss
new file mode 100755
index 000000000..ed1e9cff2
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/line-spin-fade-loader.scss
@@ -0,0 +1,73 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+$radius: 20px;
+
+@keyframes line-spin-fade-loader {
+ 50% {
+ opacity: 0.3;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+
+@mixin line-spin-fade-loader($n:8, $start:1) {
+ @for $i from $start through $n {
+ > div:nth-child(#{$i}) {
+ $iter: 360 / $n;
+ $quarter: ($radius / 2) + ($radius / 5.5);
+
+ @if $i == 1 {
+ top: $radius;
+ left: 0;
+ } @else if $i == 2 {
+ top: $quarter;
+ left: $quarter;
+ transform: rotate(-45deg);
+ } @else if $i == 3 {
+ top: 0;
+ left: $radius;
+ transform: rotate(90deg);
+ } @else if $i == 4 {
+ top: -$quarter;
+ left: $quarter;
+ transform: rotate(45deg);
+ } @else if $i == 5 {
+ top: -$radius;
+ left: 0;
+ } @else if $i == 6 {
+ top: -$quarter;
+ left: -$quarter;
+ transform: rotate(-45deg);
+ } @else if $i == 7 {
+ top: 0;
+ left: -$radius;
+ transform: rotate(90deg);
+ } @else if $i == 8 {
+ top: $quarter;
+ left: -$quarter;
+ transform: rotate(45deg);
+ }
+
+ animation: line-spin-fade-loader 1.2s delay(0.12s, $n, $i) infinite ease-in-out;
+ }
+ }
+}
+
+.line-spin-fade-loader {
+ @include line-spin-fade-loader();
+ position: relative;
+ top: -10px;
+ left: -4px;
+
+ > div {
+ @include lines();
+ @include global-animation();
+
+ position: absolute;
+ width: 5px;
+ height: 15px;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/pacman.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/pacman.scss
new file mode 100755
index 000000000..652a42f4f
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/pacman.scss
@@ -0,0 +1,92 @@
+@import '../variables';
+@import '../mixins';
+@import '../functions';
+
+$size: 25px;
+
+@keyframes rotate_pacman_half_up {
+ 0% {
+ transform:rotate(270deg);
+ }
+ 50% {
+ transform:rotate(360deg);
+ }
+ 100% {
+ transform:rotate(270deg);
+ }
+}
+
+@keyframes rotate_pacman_half_down {
+ 0% {
+ transform:rotate(90deg);
+ }
+ 50% {
+ transform:rotate(0deg);
+ }
+ 100% {
+ transform:rotate(90deg);
+ }
+}
+
+@mixin pacman_design(){
+ width: 0px;
+ height: 0px;
+ border-right: $size solid transparent;
+ border-top: $size solid $primary-color;
+ border-left: $size solid $primary-color;
+ border-bottom: $size solid $primary-color;
+ border-radius: $size;
+}
+
+@keyframes pacman-balls {
+ 75% {
+ opacity: 0.7;
+ }
+ 100% {
+ transform: translate(-4 * $size, -$size / 4);
+ }
+}
+
+@mixin ball-placement($n:3, $start:0) {
+ @for $i from $start through $n {
+ > div:nth-child(#{$i + 2}) {
+ animation: pacman-balls 1s delay(.33s, $n, $i) infinite linear;
+ }
+ }
+}
+
+.pacman {
+ @include ball-placement();
+
+ position: relative;
+
+ > div:first-of-type {
+ @include pacman_design();
+ animation: rotate_pacman_half_up 0.5s 0s infinite;
+ position: relative;
+ left: -30px;
+ }
+
+ > div:nth-child(2) {
+ @include pacman_design();
+ animation: rotate_pacman_half_down 0.5s 0s infinite;
+ margin-top: -2 * $size;
+ position: relative;
+ left: -30px;
+ }
+
+ > div:nth-child(3),
+ > div:nth-child(4),
+ > div:nth-child(5),
+ > div:nth-child(6) {
+ @include balls();
+
+ width: 10px;
+ height: 10px;
+
+ position: absolute;
+ transform: translate(0, -$size / 4);
+ top: 25px;
+ left: 70px;
+ }
+}
\ No newline at end of file
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/semi-circle-spin.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/semi-circle-spin.scss
new file mode 100755
index 000000000..91ae1e016
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/semi-circle-spin.scss
@@ -0,0 +1,34 @@
+@import '../variables';
+@import '../mixins';
+
+$size: 35px;
+$pos: 30%;
+
+@keyframes spin-rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 50% {
+ transform: rotate(180deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+.semi-circle-spin {
+ position: relative;
+ width: $size;
+ height: $size;
+ overflow: hidden;
+
+ > div {
+ position: absolute;
+ border-width: 0px;
+ border-radius: 100%;
+ animation: spin-rotate 0.6s 0s infinite linear;
+ background-image: linear-gradient(transparent 0%, transparent (100% - $pos), $primary-color $pos, $primary-color 100%);
+ width: 100%;
+ height: 100%;
+ }
+}
\ No newline at end of file
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/square-spin.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/square-spin.scss
new file mode 100755
index 000000000..19698b144
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/square-spin.scss
@@ -0,0 +1,29 @@
+@import '../variables';
+@import '../mixins';
+
+@keyframes square-spin {
+ 25% {
+ transform: perspective(100px) rotateX(180deg) rotateY(0);
+ }
+ 50% {
+ transform: perspective(100px) rotateX(180deg) rotateY(180deg);
+ }
+ 75% {
+ transform: perspective(100px) rotateX(0) rotateY(180deg);
+ }
+ 100% {
+ transform: perspective(100px) rotateX(0) rotateY(0);
+ }
+}
+
+.square-spin {
+
+ > div {
+ @include global-animation();
+
+ width: 50px;
+ height: 50px;
+ background: $primary-color;
+ animation: square-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/triangle-skew-spin.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/triangle-skew-spin.scss
new file mode 100755
index 000000000..bc5531374
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/animations/triangle-skew-spin.scss
@@ -0,0 +1,33 @@
+@import '../variables';
+@import '../mixins';
+
+$size: 20px;
+
+@keyframes triangle-skew-spin {
+ 25% {
+ transform: perspective(100px) rotateX(180deg) rotateY(0);
+ }
+ 50% {
+ transform: perspective(100px) rotateX(180deg) rotateY(180deg);
+ }
+ 75% {
+ transform: perspective(100px) rotateX(0) rotateY(180deg);
+ }
+ 100% {
+ transform: perspective(100px) rotateX(0) rotateY(0);
+ }
+}
+
+.triangle-skew-spin {
+
+ > div {
+ @include global-animation();
+
+ width: 0;
+ height: 0;
+ border-left: $size solid transparent;
+ border-right: $size solid transparent;
+ border-bottom: $size solid $primary-color;
+ animation: triangle-skew-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite;
+ }
+}
diff --git a/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/loaders.scss b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/loaders.scss
new file mode 100755
index 000000000..436652f8d
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/images/loaders.css-0.1.2/src/loaders.scss
@@ -0,0 +1,55 @@
+/**
+ *
+ * All animations must live in their own file
+ * in the animations directory and be included
+ * here.
+ *
+ */
+
+/**
+ * Styles shared by multiple animations
+ */
+@import 'variables';
+@import 'mixins';
+
+/**
+ * Dots
+ */
+@import 'animations/ball-pulse';
+@import 'animations/ball-pulse-sync';
+@import 'animations/ball-scale';
+@import 'animations/ball-scale-random';
+@import 'animations/ball-rotate';
+@import 'animations/ball-clip-rotate';
+@import 'animations/ball-clip-rotate-pulse';
+@import 'animations/ball-clip-rotate-multiple';
+@import 'animations/ball-scale-ripple';
+@import 'animations/ball-scale-ripple-multiple';
+@import 'animations/ball-beat';
+@import 'animations/ball-scale-multiple';
+@import 'animations/ball-triangle-trace';
+@import 'animations/ball-pulse-rise';
+@import 'animations/ball-grid-beat';
+@import 'animations/ball-grid-pulse';
+@import 'animations/ball-spin-fade-loader';
+@import 'animations/ball-spin-loader';
+@import 'animations/ball-zig-zag';
+@import 'animations/ball-zig-zag-deflect';
+
+/**
+ * Lines
+ */
+@import 'animations/line-scale';
+@import 'animations/line-scale-random';
+@import 'animations/line-scale-pulse-out';
+@import 'animations/line-scale-pulse-out-rapid';
+@import 'animations/line-spin-fade-loader';
+
+/**
+ * Misc
+ */
+@import 'animations/triangle-skew-spin';
+@import 'animations/square-spin';
+@import 'animations/pacman';
+@import 'animations/cube-transition';
+@import 'animations/semi-circle-spin';
diff --git a/docs/themes/angular-google-maps/static/images/maps-smartphone.jpg b/docs/themes/angular-google-maps/static/images/maps-smartphone.jpg
new file mode 100644
index 000000000..f79a75aa2
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/maps-smartphone.jpg differ
diff --git a/docs/themes/angular-google-maps/static/images/more-from-1.png b/docs/themes/angular-google-maps/static/images/more-from-1.png
new file mode 100644
index 000000000..c28a54584
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/more-from-1.png differ
diff --git a/docs/themes/angular-google-maps/static/images/more-from-2.png b/docs/themes/angular-google-maps/static/images/more-from-2.png
new file mode 100644
index 000000000..e78644077
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/more-from-2.png differ
diff --git a/docs/themes/angular-google-maps/static/images/more-from-3.png b/docs/themes/angular-google-maps/static/images/more-from-3.png
new file mode 100644
index 000000000..ea085deed
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/more-from-3.png differ
diff --git a/docs/themes/angular-google-maps/static/images/more-from-4.png b/docs/themes/angular-google-maps/static/images/more-from-4.png
new file mode 100644
index 000000000..fd26ff7e4
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/more-from-4.png differ
diff --git a/docs/themes/angular-google-maps/static/images/nexus6-on.jpg b/docs/themes/angular-google-maps/static/images/nexus6-on.jpg
new file mode 100644
index 000000000..26c0b3aca
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/nexus6-on.jpg differ
diff --git a/docs/themes/angular-google-maps/static/images/nexus9-on.jpg b/docs/themes/angular-google-maps/static/images/nexus9-on.jpg
new file mode 100644
index 000000000..1c8328dc0
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/nexus9-on.jpg differ
diff --git a/docs/themes/angular-google-maps/static/images/schield.png b/docs/themes/angular-google-maps/static/images/schield.png
new file mode 100644
index 000000000..4c0be8177
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/schield.png differ
diff --git a/docs/themes/angular-google-maps/static/images/slide01.jpg b/docs/themes/angular-google-maps/static/images/slide01.jpg
new file mode 100644
index 000000000..759f74d0a
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/slide01.jpg differ
diff --git a/docs/themes/angular-google-maps/static/images/tv-on.jpg b/docs/themes/angular-google-maps/static/images/tv-on.jpg
new file mode 100644
index 000000000..eed640c95
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/tv-on.jpg differ
diff --git a/docs/themes/angular-google-maps/static/images/wear-black-on.png b/docs/themes/angular-google-maps/static/images/wear-black-on.png
new file mode 100644
index 000000000..62fff3ee3
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/wear-black-on.png differ
diff --git a/docs/themes/angular-google-maps/static/images/wear-silver-on.png b/docs/themes/angular-google-maps/static/images/wear-silver-on.png
new file mode 100644
index 000000000..a2985dcd6
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/wear-silver-on.png differ
diff --git a/docs/themes/angular-google-maps/static/images/wear.png b/docs/themes/angular-google-maps/static/images/wear.png
new file mode 100644
index 000000000..91b91491f
Binary files /dev/null and b/docs/themes/angular-google-maps/static/images/wear.png differ
diff --git a/docs/themes/angular-google-maps/static/js/highlight.pack.js b/docs/themes/angular-google-maps/static/js/highlight.pack.js
new file mode 100644
index 000000000..5369bcc09
--- /dev/null
+++ b/docs/themes/angular-google-maps/static/js/highlight.pack.js
@@ -0,0 +1,2 @@
+/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */
+!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){s+=""+t(e)+">"}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"
":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/
/g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C=" ",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l="[>?]>",o="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+l+"|"+o+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:a+r+":"},{b:a+'"'+r+'":'},{b:a+"'"+r+"':"}]},c={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},l={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,c]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:l.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:b,k:{literal:b}},e.CNM,l]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/,r:0,c:[{cN:"attr",b:e,r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b:/,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("typescript",function(e){var r={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"};return{aliases:["ts"],k:r,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+e.IR+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:e.IR},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:["self",e.CLCM,e.CBCM]}]}]}],r:0},{cN:"function",b:"function",e:/[\{;]/,eE:!0,k:r,c:["self",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/%/,r:0},{bK:"constructor",e:/\{/,eE:!0,c:["self",{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}]},{b:/module\./,k:{built_in:"module"},r:0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("java",function(e){var a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",t=a+"(<"+a+"(\\s*,\\s*"+a+")*>)?",r="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:s,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});
\ No newline at end of file
diff --git a/docs/themes/angular-google-maps/static/js/homepage.js b/docs/themes/angular-google-maps/static/js/homepage.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/docs/themes/angular-google-maps/theme.toml b/docs/themes/angular-google-maps/theme.toml
new file mode 100644
index 000000000..9807ed2d6
--- /dev/null
+++ b/docs/themes/angular-google-maps/theme.toml
@@ -0,0 +1,21 @@
+# theme.toml template for a Hugo theme
+# See https://github.com/spf13/hugoThemes#themetoml for an example
+
+name = "Angular Google Maps"
+license = "MIT"
+licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE.md"
+description = ""
+homepage = "http://siteforthistheme.com/"
+tags = []
+features = []
+min_version = "0.20.7"
+
+[author]
+ name = ""
+ homepage = ""
+
+# If porting an existing theme
+[original]
+ name = ""
+ homepage = ""
+ repo = ""
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 000000000..8b9790ed9
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ preset: 'jest-preset-angular',
+ //https://github.com/thymikee/jest-preset-angular/issues/167#issuecomment-459686655
+ modulePathIgnorePatterns: ["/dist/"],
+ moduleNameMapper: {
+ "^@agm/(.*)$": "/dist/$1",
+ },
+ setupFilesAfterEnv: ['/jest.setup.ts'],
+};
diff --git a/jest.setup.js b/jest.setup.js
new file mode 100644
index 000000000..722f13817
--- /dev/null
+++ b/jest.setup.js
@@ -0,0 +1,21 @@
+// @ts-check
+'use strict';
+
+require('core-js/es6/reflect');
+require('core-js/es7/reflect');
+require('zone.js/dist/zone.js');
+require('zone.js/dist/proxy.js');
+require('zone.js/dist/sync-test');
+require('zone.js/dist/async-test');
+require('zone.js/dist/fake-async-test');
+require('jest-zone-patch');
+const getTestBed = require('@angular/core/testing').getTestBed;
+const BrowserDynamicTestingModule = require('@angular/platform-browser-dynamic/testing')
+ .BrowserDynamicTestingModule;
+const platformBrowserDynamicTesting = require('@angular/platform-browser-dynamic/testing')
+ .platformBrowserDynamicTesting;
+
+getTestBed().initTestEnvironment(
+ BrowserDynamicTestingModule,
+ platformBrowserDynamicTesting()
+);
\ No newline at end of file
diff --git a/jest.setup.ts b/jest.setup.ts
new file mode 100644
index 000000000..db6176462
--- /dev/null
+++ b/jest.setup.ts
@@ -0,0 +1,29 @@
+import 'jest-preset-angular';
+(window as any).google = {
+ maps: {
+ Animation: { BOUNCE: 1, DROP: 2 },
+ GeocoderStatus: {
+ OK: 'OK',
+ UNKNOWN_ERROR: 'UNKNOWN_ERROR',
+ OVER_QUERY_LIMIT: 'OVER_QUERY_LIMIT',
+ REQUEST_DENIED: 'REQUEST_DENIED',
+ INVALID_REQUEST: 'INVALID_REQUEST',
+ ZERO_RESULTS: 'ZERO_RESULTS',
+ ERROR: 'ERROR',
+ },
+ MapTypeId: {
+ ROADMAP: 'roadmap',
+ SATELLITE: 'satellite',
+ HYBRID: 'hybrid',
+ TERRAIN: 'terrain',
+ },
+ StrokePosition: { CENTER: 0, INSIDE: 1, OUTSIDE: 2 },
+ SymbolPath: {
+ BACKWARD_CLOSED_ARROW: 3,
+ BACKWARD_OPEN_ARROW: 4,
+ CIRCLE: 0,
+ FORWARD_CLOSED_ARROW: 1,
+ FORWARD_OPEN_ARROW: 2,
+ },
+ }
+};
diff --git a/karma-test-shim.js b/karma-test-shim.js
deleted file mode 100644
index c349de72e..000000000
--- a/karma-test-shim.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// Turn on full stack traces in errors to help debugging
-Error.stackTraceLimit=Infinity;
-
-jasmine.DEFAULT_TIMEOUT_INTERVAL = 100;
-
-require('core-js/client/shim');
-require('reflect-metadata');
-
-require('ts-helpers');
-
-require('zone.js/dist/zone');
-require('zone.js/dist/long-stack-trace-zone');
-require('zone.js/dist/proxy');
-require('zone.js/dist/sync-test');
-require('zone.js/dist/jasmine-patch');
-require('zone.js/dist/async-test');
-require('zone.js/dist/fake-async-test');
-
-var ctx = require.context('./src', true, /\.spec\.ts/);
-ctx.keys().forEach(ctx);
-
-var testing = require('@angular/core/testing');
-var browser = require('@angular/platform-browser-dynamic/testing');
-testing.TestBed.initTestEnvironment(browser.BrowserDynamicTestingModule, browser.platformBrowserDynamicTesting());
\ No newline at end of file
diff --git a/karma.conf.js b/karma.conf.js
deleted file mode 100644
index ada2e07c3..000000000
--- a/karma.conf.js
+++ /dev/null
@@ -1,95 +0,0 @@
-var path = require('path');
-
-var webpackConfig = require('./webpack.config');
-var ENV = process.env.npm_lifecycle_event;
-var isTestWatch = ENV === 'test-watch';
-
-module.exports = function (config) {
- var _config = {
-
- // base path that will be used to resolve all patterns (eg. files, exclude)
- basePath: '',
-
- // frameworks to use
- // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
- frameworks: ['jasmine'],
-
- // list of files / patterns to load in the browser
- files: [
- { pattern: './karma-test-shim.js', watched: false }
- ],
-
- // list of files to exclude
- exclude: [],
-
- customLaunchers: {
- Chrome_travis: {
- base: 'Chrome',
- flags: ['--no-sandbox']
- }
- },
-
- // preprocess matching files before serving them to the browser
- // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
- preprocessors: {
- './karma-test-shim.js': ['webpack', 'sourcemap']
- },
-
- webpack: webpackConfig,
-
- webpackMiddleware: {
- // webpack-dev-middleware configuration
- // i. e.
- stats: 'errors-only'
- },
-
- webpackServer: {
- noInfo: true // please don't spam the console when running in karma!
- },
-
- // test results reporter to use
- // possible values: 'dots', 'progress', 'mocha'
- // available reporters: https://npmjs.org/browse/keyword/karma-reporter
- reporters: ["mocha"],
-
- // web server port
- port: 9876,
-
- // enable / disable colors in the output (reporters and logs)
- colors: true,
-
- // level of logging
- // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
- logLevel: config.LOG_INFO,
-
- // enable / disable watching file and executing tests whenever any file changes
- autoWatch: false,
-
- // start these browsers
- // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
- browsers: isTestWatch ? ['Chrome'] : [process.env.TRAVIS ? 'Chrome_travis' : 'Chrome'],
-
- // Continuous Integration mode
- // if true, Karma captures browsers, runs the tests and exits
- singleRun: true
- };
-
-
-
- if (!isTestWatch) {
- _config.reporters.push("coverage");
-
- _config.coverageReporter = {
- dir: 'coverage/',
- reporters: [{
- type: 'json',
- dir: 'coverage',
- subdir: 'json',
- file: 'coverage-final.json'
- }]
- };
- }
-
- config.set(_config);
-
-};
\ No newline at end of file
diff --git a/netlify.toml b/netlify.toml
new file mode 100644
index 000000000..4401f4439
--- /dev/null
+++ b/netlify.toml
@@ -0,0 +1,3 @@
+[build.environment]
+ YARN_VERSION = "1.22.4"
+ NODE_VERSION = "10"
diff --git a/package.json b/package.json
index afd5158c6..89f87fdbd 100644
--- a/package.json
+++ b/package.json
@@ -1,92 +1,76 @@
{
- "name": "angular-google-maps-src",
- "version": "0.17.0",
- "description": "Angular 2+ components for Google Maps",
+ "private": true,
+ "version": "3.0.0-beta.1",
+ "description": "Angular components for Google Maps",
"repository": {
"type": "git",
"url": "https://github.com/SebastianM/angular-google-maps.git"
},
"keywords": [
"angular",
- "angular2",
"ng",
"google-maps",
- "ng2",
"maps",
"google",
"gmaps"
],
+ "workspaces": [
+ "packages/*"
+ ],
"scripts": {
- "clean": "rimraf dist && rimraf .tmp && mkdir dist && mkdir .tmp && rimraf 'src/**/*.ngfactory.ts'",
- "prebuild": "npm run clean",
- "build": "npm run lint && npm run scripts && npm run packagejson && npm run copyassets",
- "lint": "tslint -c tslint.json 'src/**/*.ts'",
- "packagejson": "node ./scripts/create-package-json.js",
- "copyassets": "cp -R assets/release/* dist/core && cp LICENSE dist/core",
- "scripts": "npm run ngc:esm && npm run bundle:umd",
- "bundle:umd": "rollup -c rollup.config.js",
- "ngc:esm": "ngc -p tsconfig.json",
- "clang:format": "clang-format --glob=src/**/*.ts -i",
- "postngc:esm": "mkdir -p dist/ && cp -R .tmp/esm/src/* dist/ && rimraf src/**/*.ngfactory.ts",
- "test": "karma start",
- "test:watch": "karma start --no-single-run --auto-watch",
- "ci": "npm run build && npm run test"
+ "clean": "rimraf dist node_modules/@agm",
+ "prebuild": "yarn clean",
+ "build": "ng build core && ng build markerclusterer && ng build snazzy-info-window && ng build drawing",
+ "build:prod": "ng build core --configuration production && ng build markerclusterer --configuration production && ng build snazzy-info-window --configuration production && ng build drawing --configuration production",
+ "lint": "ng lint",
+ "test": "jest",
+ "test:watch": "jest --watchAll",
+ "ci": "yarn build:prod && yarn test --coverage",
+ "docs:clean": "rimraf docs/public",
+ "docs:hugo": "cd docs && hugo",
+ "docs:injectga": "node scripts/inject-google-analytics.js",
+ "docs": "yarn docs:hugo && yarn apidocs:core && yarn apidocs:snazzy && yarn apidocs:markerclusterer && yarn apidocs:drawing",
+ "apidocs:core": "compodoc -p packages/core/tsconfig.lib.json --name @agm/core --output docs/public/api-docs/agm-core/ --hideGenerator --disableCoverage",
+ "apidocs:snazzy": "compodoc -p packages/snazzy-info-window/tsconfig.lib.json --name @agm/snazzy-info-window --output docs/public/api-docs/agm-snazzy-info-window/ --hideGenerator --disableCoverage",
+ "apidocs:markerclusterer": "compodoc -p packages/markerclusterer/tsconfig.lib.json --name @agm/markerclusterer --output docs/public/api-docs/markerclusterer/ --hideGenerator --disableCoverage",
+ "apidocs:drawing": "compodoc -p packages/drawing/tsconfig.lib.json --name @agm/drawing --output docs/public/api-docs/drawing/ --hideGenerator --disableCoverage"
},
- "author": "Sebastian Müller ",
+ "author": "Sebastian Holstein ",
"license": "MIT",
"bugs": {
"url": "https://github.com/SebastianM/angular-google-maps/issues"
},
"homepage": "https://angular-maps.com",
"dependencies": {
- "@angular/common": "^2.3.1",
- "@angular/core": "^2.3.1"
+ "@angular/animations": "^14.0.0",
+ "@angular/common": "^14.0.0",
+ "@angular/compiler": "^14.0.0",
+ "@angular/core": "^14.0.0",
+ "@angular/forms": "^14.0.0",
+ "@angular/platform-browser": "^14.0.0",
+ "@angular/platform-browser-dynamic": "^14.0.0",
+ "@angular/router": "^14.0.0",
+ "rxjs": "~6.6.0",
+ "tslib": "^2.4.0",
+ "zone.js": "~0.11.4"
},
"devDependencies": {
- "@angular/compiler": "^2.3.1",
- "@angular/compiler-cli": "^2.1.2",
- "@angular/platform-browser": "^2.3.1",
- "@angular/platform-browser-dynamic": "^2.3.1",
- "@angular/platform-server": "^2.3.1",
- "@angular/tsc-wrapped": "~0.5.0",
- "@angularclass/hmr-loader": "^3.0.2",
- "@ngtools/webpack": "^1.1.0",
- "@types/jasmine": "^2.5.35",
- "angular2-template-loader": "^0.6.0",
- "awesome-typescript-loader": "^3.0.3",
- "clang-format": "1.0.46",
- "codelyzer": "^2.0.0-beta.4",
- "conventional-changelog": "^1.1.0",
- "copy-webpack-plugin": "^4.0.1",
- "copyfiles": "^1.0.0",
- "extract-text-webpack-plugin": "^2.0.0-beta.4",
- "html-webpack-plugin": "^2.8.1",
- "istanbul-instrumenter-loader": "^2.0.0",
- "jasmine-core": "2.5.0",
- "karma": "^1.3.0",
- "karma-chrome-launcher": "2.0.0",
- "karma-coverage": "^1.1.1",
- "karma-jasmine": "^1.0.2",
- "karma-mocha-reporter": "^2.2.0",
- "karma-remap-istanbul": "^0.5.0",
- "karma-sourcemap-loader": "^0.3.7",
- "karma-webpack": "^1.8.0",
- "reflect-metadata": "^0.1.8",
- "remap-istanbul": "^0.9.1",
- "rimraf": "^2.5.4",
- "rollup": "0.41.4",
- "rxjs": "5.0.0-rc.4",
- "ts-helpers": "^1.1.2",
- "tslint": "^4.0.0",
- "typescript": "~2.0.1",
- "webpack": "2.2.1",
- "zone.js": "^0.7.2"
- },
- "jspm": {
- "jspmNodeConversion": false,
- "dependencies": {
- "@angular/common": "^2.3.1",
- "@angular/core": "^2.3.1"
- }
+ "@angular-devkit/build-angular": "^14.0.0",
+ "@angular/cli": "^14.0.0",
+ "@angular/compiler-cli": "^14.0.0",
+ "@compodoc/compodoc": "^1.1.10",
+ "@types/jest": "^26.0.4",
+ "@types/node": "^14.0.22",
+ "codelyzer": "^6.0.0",
+ "conventional-changelog": "^3.1.21",
+ "jest": "^26.1.0",
+ "jest-preset-angular": "^8.2.1",
+ "ng-packagr": "^14.0.0",
+ "protractor": "~7.0.0",
+ "rimraf": "^3.0.2",
+ "ts-node": "~8.10.2",
+ "tslint": "~6.1.0",
+ "typescript": "~4.6.4",
+ "yarn": "^1.22.4"
}
-}
+}
\ No newline at end of file
diff --git a/packages/core/README.md b/packages/core/README.md
new file mode 100644
index 000000000..806fec9f7
--- /dev/null
+++ b/packages/core/README.md
@@ -0,0 +1,6 @@
+Angular Google Maps (AGM) Core - Angular 2+ Google Maps components
+=========
+
+@agm/core contains solutions for the Google Maps JavaScript Core API.
+
+The sources for this package are in the [angular-google-maps](https://github.com/SebastianM/angular-google-maps) repository. Please file issues and pull requests against that repo.
diff --git a/packages/core/ng-package.json b/packages/core/ng-package.json
new file mode 100644
index 000000000..a3d62b06d
--- /dev/null
+++ b/packages/core/ng-package.json
@@ -0,0 +1,7 @@
+{
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
+ "dest": "../../dist/core",
+ "lib": {
+ "entryFile": "src/public-api.ts"
+ }
+}
diff --git a/packages/core/package.json b/packages/core/package.json
new file mode 100644
index 000000000..5966985c8
--- /dev/null
+++ b/packages/core/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@agm/core",
+ "version": "3.0.0-beta.1",
+ "description": "Angular components for Google Maps",
+ "author": "Sebastian Holstein ",
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/SebastianM/angular-google-maps.git"
+ },
+ "bugs": {
+ "url": "https://github.com/SebastianM/angular-google-maps/issues"
+ },
+ "homepage": "https://angular-maps.com",
+ "keywords": [
+ "angular",
+ "ng",
+ "google-maps",
+ "maps",
+ "google",
+ "gmaps"
+ ],
+ "peerDependencies": {
+ "@angular/common": "^9.1.0 || ^10.0.0",
+ "@angular/core": "^9.1.0 || ^10.0.0"
+ },
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "devDependencies": {
+ "@types/googlemaps": "^3.39.8",
+ "@types/jest": "^26.0.3",
+ "jest": "^26.1.0",
+ "jest-preset-angular": "^8.2.1"
+ }
+}
diff --git a/packages/core/src/lib/core.module.ts b/packages/core/src/lib/core.module.ts
new file mode 100644
index 000000000..5387a5b5b
--- /dev/null
+++ b/packages/core/src/lib/core.module.ts
@@ -0,0 +1,70 @@
+import { ModuleWithProviders, NgModule } from '@angular/core';
+
+import { AgmBicyclingLayer } from './directives/bicycling-layer';
+import { AgmCircle } from './directives/circle';
+import { AgmDataLayer } from './directives/data-layer';
+import { AgmFitBounds } from './directives/fit-bounds';
+import { AgmInfoWindow } from './directives/info-window';
+import { AgmKmlLayer } from './directives/kml-layer';
+import { AgmFullscreenControl, AgmMap, AgmMapTypeControl, AgmPanControl, AgmRotateControl, AgmScaleControl, AgmStreetViewControl, AgmZoomControl } from './directives/map';
+import { AgmMarker } from './directives/marker';
+import { AgmPolygon } from './directives/polygon';
+import { AgmPolyline } from './directives/polyline';
+import { AgmPolylineIcon } from './directives/polyline-icon';
+import { AgmPolylinePoint } from './directives/polyline-point';
+import { AgmRectangle } from './directives/rectangle';
+import { AgmTransitLayer } from './directives/transit-layer';
+
+import { LazyMapsAPILoader, LazyMapsAPILoaderConfigLiteral, LAZY_MAPS_API_CONFIG } from './services/maps-api-loader/lazy-maps-api-loader';
+import { MapsAPILoader } from './services/maps-api-loader/maps-api-loader';
+
+import { BROWSER_GLOBALS_PROVIDERS } from './utils/browser-globals';
+
+/**
+ * @internal
+ */
+export function coreDirectives() {
+ return [
+ AgmBicyclingLayer,
+ AgmCircle,
+ AgmDataLayer,
+ AgmFitBounds,
+ AgmFullscreenControl,
+ AgmInfoWindow,
+ AgmKmlLayer,
+ AgmMap,
+ AgmMapTypeControl,
+ AgmMarker,
+ AgmPanControl,
+ AgmPolygon,
+ AgmPolyline,
+ AgmPolylineIcon,
+ AgmPolylinePoint,
+ AgmRectangle,
+ AgmRotateControl,
+ AgmScaleControl,
+ AgmStreetViewControl,
+ AgmTransitLayer,
+ AgmZoomControl,
+ ];
+}
+
+/**
+ * The angular-google-maps core module. Contains all Directives/Services/Pipes
+ * of the core module. Please use `AgmCoreModule.forRoot()` in your app module.
+ */
+@NgModule({declarations: coreDirectives(), exports: coreDirectives()})
+export class AgmCoreModule {
+ /**
+ * Please use this method when you register the module at the root level.
+ */
+ static forRoot(lazyMapsAPILoaderConfig?: LazyMapsAPILoaderConfigLiteral): ModuleWithProviders {
+ return {
+ ngModule: AgmCoreModule,
+ providers: [
+ ...BROWSER_GLOBALS_PROVIDERS, {provide: MapsAPILoader, useClass: LazyMapsAPILoader},
+ {provide: LAZY_MAPS_API_CONFIG, useValue: lazyMapsAPILoaderConfig},
+ ],
+ };
+ }
+}
diff --git a/packages/core/src/lib/directives.ts b/packages/core/src/lib/directives.ts
new file mode 100644
index 000000000..3f87e17b7
--- /dev/null
+++ b/packages/core/src/lib/directives.ts
@@ -0,0 +1,15 @@
+export { AgmBicyclingLayer } from './directives/bicycling-layer';
+export { AgmCircle } from './directives/circle';
+export { AgmDataLayer } from './directives/data-layer';
+export { AgmFitBounds } from './directives/fit-bounds';
+export { AgmInfoWindow } from './directives/info-window';
+export { AgmKmlLayer } from './directives/kml-layer';
+export { AgmMap, AgmFullscreenControl, AgmMapTypeControl, AgmPanControl, AgmRotateControl,
+ AgmScaleControl, AgmStreetViewControl, AgmZoomControl } from './directives/map';
+export { AgmMarker } from './directives/marker';
+export { AgmPolygon } from './directives/polygon';
+export { AgmPolyline } from './directives/polyline';
+export { AgmPolylineIcon } from './directives/polyline-icon';
+export { AgmPolylinePoint } from './directives/polyline-point';
+export { AgmRectangle } from './directives/rectangle';
+export { AgmTransitLayer } from './directives/transit-layer';
diff --git a/packages/core/src/lib/directives/bicycling-layer.ts b/packages/core/src/lib/directives/bicycling-layer.ts
new file mode 100644
index 000000000..814e13099
--- /dev/null
+++ b/packages/core/src/lib/directives/bicycling-layer.ts
@@ -0,0 +1,43 @@
+import { Directive, Input, OnDestroy, OnInit } from '@angular/core';
+import { LayerManager } from '../services/managers/layer-manager';
+
+let layerId = 0;
+
+/*
+ * This directive adds a bicycling layer to a google map instance
+ *
+ * */
+@Directive({
+ selector: 'agm-bicycling-layer',
+})
+export class AgmBicyclingLayer implements OnInit, OnDestroy{
+ private _addedToManager = false;
+ private _id: string = (layerId++).toString();
+
+ /**
+ * Hide/show bicycling layer
+ */
+ @Input() visible = true;
+
+ constructor( private _manager: LayerManager ) {}
+
+ ngOnInit() {
+ if (this._addedToManager) {
+ return;
+ }
+ this._manager.addBicyclingLayer(this);
+ this._addedToManager = true;
+ }
+
+ /** @internal */
+ id(): string { return this._id; }
+
+ /** @internal */
+ toString(): string { return `AgmBicyclingLayer-${this._id.toString()}`; }
+
+ /** @internal */
+ ngOnDestroy() {
+ this._manager.deleteLayer(this);
+ }
+
+}
diff --git a/src/core/directives/circle.ts b/packages/core/src/lib/directives/circle.ts
similarity index 61%
rename from src/core/directives/circle.ts
rename to packages/core/src/lib/directives/circle.ts
index 0328526e1..f9227bdd4 100644
--- a/src/core/directives/circle.ts
+++ b/packages/core/src/lib/directives/circle.ts
@@ -1,166 +1,156 @@
-import {Directive, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChange} from '@angular/core';
-import {Subscription} from 'rxjs/Subscription';
+import { Directive, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChange } from '@angular/core';
+import { Subscription } from 'rxjs';
-import {MouseEvent} from '../map-types';
-import {LatLng, LatLngBounds, LatLngLiteral} from '../services/google-maps-types';
-import {MouseEvent as MapMouseEvent} from '../services/google-maps-types';
-import {CircleManager} from '../services/managers/circle-manager';
+import { CircleManager } from '../services/managers/circle-manager';
@Directive({
selector: 'agm-circle',
- inputs: [
- 'latitude', 'longitude', 'clickable', 'draggable: circleDraggable', 'editable', 'fillColor',
- 'fillOpacity', 'radius', 'strokeColor', 'strokeOpacity', 'strokePosition', 'strokeWeight',
- 'visible', 'zIndex'
- ],
- outputs: [
- 'centerChange', 'circleClick', 'circleDblClick', 'drag', 'dragEnd', 'dragStart', 'mouseDown',
- 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'radiusChange', 'rightClick'
- ]
})
export class AgmCircle implements OnInit, OnChanges, OnDestroy {
/**
* The latitude position of the circle (required).
*/
- latitude: number;
+ @Input() latitude: number;
/**
* The clickable position of the circle (required).
*/
- longitude: number;
+ @Input() longitude: number;
/**
* Indicates whether this Circle handles mouse events. Defaults to true.
*/
- clickable: boolean = true;
+ @Input() clickable = true;
/**
* If set to true, the user can drag this circle over the map. Defaults to false.
*/
- draggable: boolean = false;
+ // tslint:disable-next-line:no-input-rename
+ @Input('circleDraggable') draggable = false;
/**
* If set to true, the user can edit this circle by dragging the control points shown at
* the center and around the circumference of the circle. Defaults to false.
*/
- editable: boolean = false;
+ @Input() editable = false;
/**
* The fill color. All CSS3 colors are supported except for extended named colors.
*/
- fillColor: string;
+ @Input() fillColor: string;
/**
* The fill opacity between 0.0 and 1.0.
*/
- fillOpacity: number;
+ @Input() fillOpacity: number;
/**
* The radius in meters on the Earth's surface.
*/
- radius: number = 0;
+ @Input() radius = 0;
/**
* The stroke color. All CSS3 colors are supported except for extended named colors.
*/
- strokeColor: string;
+ @Input() strokeColor: string;
/**
* The stroke opacity between 0.0 and 1.0
*/
- strokeOpacity: number;
+ @Input() strokeOpacity: number;
/**
* The stroke position. Defaults to CENTER.
* This property is not supported on Internet Explorer 8 and earlier.
*/
- strokePosition: 'CENTER'|'INSIDE'|'OUTSIDE' = 'CENTER';
+ @Input() strokePosition: keyof typeof google.maps.StrokePosition = 'CENTER';
/**
* The stroke width in pixels.
*/
- strokeWeight: number = 0;
+ @Input() strokeWeight = 0;
/**
* Whether this circle is visible on the map. Defaults to true.
*/
- visible: boolean = true;
+ @Input() visible = true;
/**
* The zIndex compared to other polys.
*/
- zIndex: number;
+ @Input() zIndex: number;
/**
* This event is fired when the circle's center is changed.
*/
- centerChange: EventEmitter = new EventEmitter();
+ @Output() centerChange: EventEmitter = new EventEmitter();
/**
* This event emitter gets emitted when the user clicks on the circle.
*/
- circleClick: EventEmitter = new EventEmitter();
+ @Output() circleClick: EventEmitter = new EventEmitter();
/**
* This event emitter gets emitted when the user clicks on the circle.
*/
- circleDblClick: EventEmitter = new EventEmitter();
+ @Output() circleDblClick: EventEmitter = new EventEmitter();
/**
* This event is repeatedly fired while the user drags the circle.
*/
- drag: EventEmitter = new EventEmitter();
+ // tslint:disable-next-line: no-output-native
+ @Output() drag: EventEmitter = new EventEmitter();
/**
* This event is fired when the user stops dragging the circle.
*/
- dragEnd: EventEmitter = new EventEmitter();
+ @Output() dragEnd: EventEmitter = new EventEmitter();
/**
* This event is fired when the user starts dragging the circle.
*/
- dragStart: EventEmitter = new EventEmitter();
+ @Output() dragStart: EventEmitter = new EventEmitter();
/**
* This event is fired when the DOM mousedown event is fired on the circle.
*/
- mouseDown: EventEmitter = new EventEmitter();
+ @Output() mouseDown: EventEmitter = new EventEmitter();
/**
* This event is fired when the DOM mousemove event is fired on the circle.
*/
- mouseMove: EventEmitter = new EventEmitter();
+ @Output() mouseMove: EventEmitter = new EventEmitter();
/**
* This event is fired on circle mouseout.
*/
- mouseOut: EventEmitter = new EventEmitter();
+ @Output() mouseOut: EventEmitter = new EventEmitter();
/**
* This event is fired on circle mouseover.
*/
- mouseOver: EventEmitter = new EventEmitter();
+ @Output() mouseOver: EventEmitter = new EventEmitter();
/**
* This event is fired when the DOM mouseup event is fired on the circle.
*/
- mouseUp: EventEmitter = new EventEmitter();
+ @Output() mouseUp: EventEmitter = new EventEmitter();
/**
* This event is fired when the circle's radius is changed.
*/
- radiusChange: EventEmitter = new EventEmitter();
+ @Output() radiusChange: EventEmitter = new EventEmitter();
/**
* This event is fired when the circle is right-clicked on.
*/
- rightClick: EventEmitter = new EventEmitter();
+ @Output() rightClick: EventEmitter = new EventEmitter();
- private _circleAddedToManager: boolean = false;
+ private _circleAddedToManager = false;
private static _mapOptions: string[] = [
'fillColor', 'fillOpacity', 'strokeColor', 'strokeOpacity', 'strokePosition', 'strokeWeight',
- 'visible', 'zIndex'
+ 'visible', 'zIndex', 'clickable',
];
private _eventSubscriptions: Subscription[] = [];
@@ -179,6 +169,7 @@ export class AgmCircle implements OnInit, OnChanges, OnDestroy {
if (!this._circleAddedToManager) {
return;
}
+ // tslint:disable: no-string-literal
if (changes['latitude'] || changes['longitude']) {
this._manager.setCenter(this);
}
@@ -194,27 +185,29 @@ export class AgmCircle implements OnInit, OnChanges, OnDestroy {
if (changes['radius']) {
this._manager.setRadius(this);
}
+ // tslint:enable: no-string-literal
this._updateCircleOptionsChanges(changes);
}
private _updateCircleOptionsChanges(changes: {[propName: string]: SimpleChange}) {
- let options: {[propName: string]: any} = {};
- let optionKeys =
+ const options: {[propName: string]: any} = {};
+ const optionKeys =
Object.keys(changes).filter(k => AgmCircle._mapOptions.indexOf(k) !== -1);
optionKeys.forEach((k) => { options[k] = changes[k].currentValue; });
+
if (optionKeys.length > 0) {
this._manager.setOptions(this, options);
}
}
private _registerEventListeners() {
- let events: Map> = new Map>();
+ const events: Map> = new Map>();
events.set('center_changed', this.centerChange);
events.set('click', this.circleClick);
events.set('dblclick', this.circleDblClick);
events.set('drag', this.drag);
events.set('dragend', this.dragEnd);
- events.set('dragStart', this.dragStart);
+ events.set('dragstart', this.dragStart);
events.set('mousedown', this.mouseDown);
events.set('mousemove', this.mouseMove);
events.set('mouseout', this.mouseOut);
@@ -225,7 +218,7 @@ export class AgmCircle implements OnInit, OnChanges, OnDestroy {
events.forEach((eventEmitter, eventName) => {
this._eventSubscriptions.push(
- this._manager.createEventObservable(eventName, this).subscribe((value) => {
+ this._manager.createEventObservable(eventName, this).subscribe((value) => {
switch (eventName) {
case 'radius_changed':
this._manager.getRadius(this).then((radius) => eventEmitter.emit(radius));
@@ -233,11 +226,10 @@ export class AgmCircle implements OnInit, OnChanges, OnDestroy {
case 'center_changed':
this._manager.getCenter(this).then(
(center) =>
- eventEmitter.emit({lat: center.lat(), lng: center.lng()}));
+ eventEmitter.emit({lat: center.lat(), lng: center.lng()} as google.maps.LatLngLiteral));
break;
default:
- eventEmitter.emit(
- {coords: {lat: value.latLng.lat(), lng: value.latLng.lng()}});
+ eventEmitter.emit(value);
}
}));
});
@@ -245,7 +237,7 @@ export class AgmCircle implements OnInit, OnChanges, OnDestroy {
/** @internal */
ngOnDestroy() {
- this._eventSubscriptions.forEach(function(s: Subscription) { s.unsubscribe(); });
+ this._eventSubscriptions.forEach(s => s.unsubscribe());
this._eventSubscriptions = null;
this._manager.removeCircle(this);
}
@@ -253,7 +245,7 @@ export class AgmCircle implements OnInit, OnChanges, OnDestroy {
/**
* Gets the LatLngBounds of this Circle.
*/
- getBounds(): Promise { return this._manager.getBounds(this); }
+ getBounds(): Promise { return this._manager.getBounds(this); }
- getCenter(): Promise { return this._manager.getCenter(this); }
+ getCenter(): Promise { return this._manager.getCenter(this); }
}
diff --git a/src/core/directives/data-layer.ts b/packages/core/src/lib/directives/data-layer.ts
similarity index 90%
rename from src/core/directives/data-layer.ts
rename to packages/core/src/lib/directives/data-layer.ts
index 668f5e42c..d440a3aa3 100644
--- a/src/core/directives/data-layer.ts
+++ b/packages/core/src/lib/directives/data-layer.ts
@@ -1,7 +1,6 @@
-import { Directive, EventEmitter, OnDestroy, OnInit, OnChanges, SimpleChanges } from '@angular/core';
-import { Subscription } from 'rxjs/Subscription';
+import { Directive, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';
+import { Subscription } from 'rxjs';
-import { DataMouseEvent, DataOptions } from './../services/google-maps-types';
import { DataLayerManager } from './../services/managers/data-layer-manager';
let layerId = 0;
@@ -34,7 +33,7 @@ let layerId = 0;
* lat: number = -25.274449;
* lng: number = 133.775060;
* zoom: number = 5;
- *
+ *
* clicked(clickEvent) {
* console.log(clickEvent);
* }
@@ -198,30 +197,28 @@ let layerId = 0;
*/
@Directive({
selector: 'agm-data-layer',
- inputs: ['geoJson', 'style'],
- outputs: ['layerClick']
})
export class AgmDataLayer implements OnInit, OnDestroy, OnChanges {
- private static _dataOptionsAttributes: Array = ['style'];
+ private static _dataOptionsAttributes = ['style'];
- private _addedToManager: boolean = false;
+ private _addedToManager = false;
private _id: string = (layerId++).toString();
private _subscriptions: Subscription[] = [];
/**
* This event is fired when a feature in the layer is clicked.
*/
- layerClick: EventEmitter = new EventEmitter();
+ @Output() layerClick: EventEmitter = new EventEmitter();
/**
* The geoJson to be displayed
*/
- geoJson: Object | null = null;
+ @Input() geoJson: object | string | null = null;
/**
* The layer's style function.
*/
- style: () => void;
+ @Input() style: (param: google.maps.Data.Feature) => google.maps.Data.StyleOptions;
constructor(private _manager: DataLayerManager) { }
@@ -236,7 +233,7 @@ export class AgmDataLayer implements OnInit, OnDestroy, OnChanges {
private _addEventListeners() {
const listeners = [
- { name: 'click', handler: (ev: DataMouseEvent) => this.layerClick.emit(ev) },
+ { name: 'click', handler: (ev: google.maps.Data.MouseEvent) => this.layerClick.emit(ev) },
];
listeners.forEach((obj) => {
const os = this._manager.createEventObservable(obj.name, this).subscribe(obj.handler);
@@ -263,15 +260,15 @@ export class AgmDataLayer implements OnInit, OnDestroy, OnChanges {
return;
}
- var geoJsonChange = changes['geoJson'];
+ // tslint:disable-next-line: no-string-literal
+ const geoJsonChange = changes['geoJson'];
if (geoJsonChange) {
this._manager.updateGeoJson(this, geoJsonChange.currentValue);
}
- let dataOptions: DataOptions = {};
- const optionKeys = Object.keys(changes).filter(
- k => AgmDataLayer._dataOptionsAttributes.indexOf(k) !== -1);
- optionKeys.forEach(k => (dataOptions)[k] = changes[k].currentValue);
+ const dataOptions = AgmDataLayer._dataOptionsAttributes.reduce((options, k) =>
+ options[k] = changes.hasOwnProperty(k) ? changes[k].currentValue : (this as any)[k], {});
+
this._manager.setDataOptions(this, dataOptions);
}
}
diff --git a/packages/core/src/lib/directives/fit-bounds.ts b/packages/core/src/lib/directives/fit-bounds.ts
new file mode 100644
index 000000000..3734ec853
--- /dev/null
+++ b/packages/core/src/lib/directives/fit-bounds.ts
@@ -0,0 +1,90 @@
+import { Directive, Input, OnChanges, OnDestroy, OnInit, Self } from '@angular/core';
+import { Subject } from 'rxjs';
+import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
+
+import { FitBoundsAccessor, FitBoundsDetails, FitBoundsService } from '../services/fit-bounds';
+
+/**
+ * Adds the given directive to the auto fit bounds feature when the value is true.
+ * To make it work with you custom AGM component, you also have to implement the {@link FitBoundsAccessor} abstract class.
+ * @example
+ *
+ */
+@Directive({
+ selector: '[agmFitBounds]',
+})
+export class AgmFitBounds implements OnInit, OnDestroy, OnChanges {
+ /**
+ * If the value is true, the element gets added to the bounds of the map.
+ * Default: true.
+ */
+ @Input() agmFitBounds = true;
+
+ private _destroyed$: Subject = new Subject();
+ private _latestFitBoundsDetails: FitBoundsDetails | null = null;
+
+ constructor(
+ @Self() private readonly _fitBoundsAccessor: FitBoundsAccessor,
+ private readonly _fitBoundsService: FitBoundsService,
+ ) {}
+
+ /**
+ * @internal
+ */
+ ngOnChanges() {
+ this._updateBounds();
+ }
+
+ /**
+ * @internal
+ */
+ ngOnInit() {
+ this._fitBoundsAccessor
+ .getFitBoundsDetails$()
+ .pipe(
+ distinctUntilChanged(
+ (x: FitBoundsDetails, y: FitBoundsDetails) =>
+ x.latLng.lat === y.latLng.lat && x.latLng.lng === y.latLng.lng,
+ ),
+ takeUntil(this._destroyed$),
+ )
+ .subscribe(details => this._updateBounds(details));
+ }
+
+ /*
+ Either the location changed, or visible status changed.
+ Possible state changes are
+ invisible -> visible
+ visible -> invisible
+ visible -> visible (new location)
+ */
+ private _updateBounds(newFitBoundsDetails?: FitBoundsDetails) {
+ // either visibility will change, or location, so remove the old one anyway
+ if (this._latestFitBoundsDetails) {
+ this._fitBoundsService.removeFromBounds(this._latestFitBoundsDetails.latLng);
+ // don't set latestFitBoundsDetails to null, because we can toggle visibility from
+ // true -> false -> true, in which case we still need old value cached here
+ }
+
+ if (newFitBoundsDetails) {
+ this._latestFitBoundsDetails = newFitBoundsDetails;
+ }
+ if (!this._latestFitBoundsDetails) {
+ return;
+ }
+ if (this.agmFitBounds === true) {
+ this._fitBoundsService.addToBounds(this._latestFitBoundsDetails.latLng);
+ }
+ }
+
+ /**
+ * @internal
+ */
+ ngOnDestroy() {
+ this._destroyed$.next();
+ this._destroyed$.complete();
+ if (this._latestFitBoundsDetails !== null) {
+ this._fitBoundsService.removeFromBounds(this._latestFitBoundsDetails.latLng);
+ }
+ }
+}
diff --git a/src/core/directives/info-window.ts b/packages/core/src/lib/directives/info-window.ts
similarity index 85%
rename from src/core/directives/info-window.ts
rename to packages/core/src/lib/directives/info-window.ts
index 58e170a5c..0090902b2 100644
--- a/src/core/directives/info-window.ts
+++ b/packages/core/src/lib/directives/info-window.ts
@@ -1,8 +1,8 @@
-import {Component, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChange} from '@angular/core';
+import { Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChange } from '@angular/core';
-import {InfoWindowManager} from '../services/managers/info-window-manager';
+import { InfoWindowManager } from '../services/managers/info-window-manager';
-import {AgmMarker} from './marker';
+import { AgmMarker } from './marker';
let infoWindowId = 0;
@@ -34,31 +34,29 @@ let infoWindowId = 0;
*/
@Component({
selector: 'agm-info-window',
- inputs: ['latitude', 'longitude', 'disableAutoPan', 'isOpen', 'zIndex', 'maxWidth'],
- outputs: ['infoWindowClose'],
template: `
- `
+ `,
})
export class AgmInfoWindow implements OnDestroy, OnChanges, OnInit {
/**
* The latitude position of the info window (only usefull if you use it ouside of a {@link
* AgmMarker}).
*/
- latitude: number;
+ @Input() latitude: number;
/**
* The longitude position of the info window (only usefull if you use it ouside of a {@link
* AgmMarker}).
*/
- longitude: number;
+ @Input() longitude: number;
/**
* Disable auto-pan on open. By default, the info window will pan the map so that it is fully
* visible when it opens.
*/
- disableAutoPan: boolean;
+ @Input() disableAutoPan: boolean;
/**
* All InfoWindows are displayed on the map in order of their zIndex, with higher values
@@ -66,14 +64,14 @@ export class AgmInfoWindow implements OnDestroy, OnChanges, OnInit {
* according to their latitude, with InfoWindows of lower latitudes appearing in front of
* InfoWindows at higher latitudes. InfoWindows are always displayed in front of markers.
*/
- zIndex: number;
+ @Input() zIndex: number;
/**
* Maximum width of the infowindow, regardless of content's width. This value is only considered
* if it is set before a call to open. To change the maximum width when changing content, call
* close, update maxWidth, and then open.
*/
- maxWidth: number;
+ @Input() maxWidth: number;
/**
* Holds the marker that is the host of the info window (if available)
@@ -88,15 +86,15 @@ export class AgmInfoWindow implements OnDestroy, OnChanges, OnInit {
/**
* Sets the open state for the InfoWindow. You can also call the open() and close() methods.
*/
- isOpen: boolean = false;
+ @Input() isOpen = false;
/**
* Emits an event when the info window is closed.
*/
- infoWindowClose: EventEmitter = new EventEmitter();
+ @Output() infoWindowClose: EventEmitter = new EventEmitter();
private static _infoWindowOptionsInputs: string[] = ['disableAutoPan', 'maxWidth'];
- private _infoWindowAddedToManager: boolean = false;
+ private _infoWindowAddedToManager = false;
private _id: string = (infoWindowId++).toString();
constructor(private _infoWindowManager: InfoWindowManager, private _el: ElementRef) {}
@@ -114,6 +112,7 @@ export class AgmInfoWindow implements OnDestroy, OnChanges, OnInit {
if (!this._infoWindowAddedToManager) {
return;
}
+ // tslint:disable: no-string-literal
if ((changes['latitude'] || changes['longitude']) && typeof this.latitude === 'number' &&
typeof this.longitude === 'number') {
this._infoWindowManager.setPosition(this);
@@ -126,6 +125,7 @@ export class AgmInfoWindow implements OnDestroy, OnChanges, OnInit {
}
this._setInfoWindowOptions(changes);
}
+ // tslint:enable: no-string-literal
private _registerEventListeners() {
this._infoWindowManager.createEventObservable('closeclick', this).subscribe(() => {
@@ -139,8 +139,8 @@ export class AgmInfoWindow implements OnDestroy, OnChanges, OnInit {
}
private _setInfoWindowOptions(changes: {[key: string]: SimpleChange}) {
- let options: {[propName: string]: any} = {};
- let optionKeys = Object.keys(changes).filter(
+ const options: {[propName: string]: any} = {};
+ const optionKeys = Object.keys(changes).filter(
k => AgmInfoWindow._infoWindowOptionsInputs.indexOf(k) !== -1);
optionKeys.forEach((k) => { options[k] = changes[k].currentValue; });
this._infoWindowManager.setOptions(this, options);
diff --git a/src/core/directives/kml-layer.ts b/packages/core/src/lib/directives/kml-layer.ts
similarity index 74%
rename from src/core/directives/kml-layer.ts
rename to packages/core/src/lib/directives/kml-layer.ts
index e529134ee..ff71e2108 100644
--- a/src/core/directives/kml-layer.ts
+++ b/packages/core/src/lib/directives/kml-layer.ts
@@ -1,19 +1,15 @@
-import {Directive, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges} from '@angular/core';
-import {Subscription} from 'rxjs/Subscription';
+import { Directive, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';
+import { Subscription } from 'rxjs';
-import {KmlMouseEvent} from './../services/google-maps-types';
-import {KmlLayerManager} from './../services/managers/kml-layer-manager';
+import { KmlLayerManager } from './../services/managers/kml-layer-manager';
let layerId = 0;
@Directive({
selector: 'agm-kml-layer',
- inputs:
- ['clickable', 'preserveViewport', 'screenOverlays', 'suppressInfoWindows', 'url', 'zIndex'],
- outputs: ['layerClick', 'defaultViewportChange', 'statusChange']
})
export class AgmKmlLayer implements OnInit, OnDestroy, OnChanges {
- private _addedToManager: boolean = false;
+ private _addedToManager = false;
private _id: string = (layerId++).toString();
private _subscriptions: Subscription[] = [];
private static _kmlLayerOptions: string[] =
@@ -22,7 +18,7 @@ export class AgmKmlLayer implements OnInit, OnDestroy, OnChanges {
/**
* If true, the layer receives mouse events. Default value is true.
*/
- clickable: boolean = true;
+ @Input() clickable = true;
/**
* By default, the input map is centered and zoomed to the bounding box of the contents of the
@@ -30,44 +26,44 @@ export class AgmKmlLayer implements OnInit, OnDestroy, OnChanges {
* If this option is set to true, the viewport is left unchanged, unless the map's center and zoom
* were never set.
*/
- preserveViewport: boolean = false;
+ @Input() preserveViewport = false;
/**
* Whether to render the screen overlays. Default true.
*/
- screenOverlays: boolean = true;
+ @Input() screenOverlays = true;
/**
* Suppress the rendering of info windows when layer features are clicked.
*/
- suppressInfoWindows: boolean = false;
+ @Input() suppressInfoWindows = false;
/**
* The URL of the KML document to display.
*/
- url: string = null;
+ @Input() url: string = null;
/**
* The z-index of the layer.
*/
- zIndex: number|null = null;
+ @Input() zIndex: number | null = null;
/**
* This event is fired when a feature in the layer is clicked.
*/
- layerClick: EventEmitter = new EventEmitter();
+ @Output() layerClick: EventEmitter = new EventEmitter();
/**
* This event is fired when the KML layers default viewport has changed.
*/
- defaultViewportChange: EventEmitter = new EventEmitter();
+ @Output() defaultViewportChange: EventEmitter = new EventEmitter();
/**
* This event is fired when the KML layer has finished loading.
* At this point it is safe to read the status property to determine if the layer loaded
* successfully.
*/
- statusChange: EventEmitter = new EventEmitter();
+ @Output() statusChange: EventEmitter = new EventEmitter();
constructor(private _manager: KmlLayerManager) {}
@@ -101,7 +97,7 @@ export class AgmKmlLayer implements OnInit, OnDestroy, OnChanges {
private _addEventListeners() {
const listeners = [
- {name: 'click', handler: (ev: KmlMouseEvent) => this.layerClick.emit(ev)},
+ {name: 'click', handler: (ev: google.maps.KmlMouseEvent) => this.layerClick.emit(ev)},
{name: 'defaultviewport_changed', handler: () => this.defaultViewportChange.emit()},
{name: 'status_changed', handler: () => this.statusChange.emit()},
];
diff --git a/packages/core/src/lib/directives/map.spec.ts b/packages/core/src/lib/directives/map.spec.ts
new file mode 100644
index 000000000..724e823c6
--- /dev/null
+++ b/packages/core/src/lib/directives/map.spec.ts
@@ -0,0 +1,74 @@
+import { CUSTOM_ELEMENTS_SCHEMA, ElementRef, Injectable, SimpleChange } from '@angular/core';
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { Subject } from 'rxjs';
+import { FitBoundsService } from '../services/fit-bounds';
+import { GoogleMapsAPIWrapper } from '../services/google-maps-api-wrapper';
+import { AgmMap } from './map';
+
+@Injectable()
+class MockElementRef {
+ // constructor() { super(undefined); }
+ nativeElement = {};
+}
+@Injectable()
+class MockGoogleMapsAPIWrapper {
+ createMap = jest.fn().mockReturnValue(Promise.resolve());
+ clearInstanceListeners = jest.fn();
+ subscribeToMapEvent = jest.fn().mockReturnValue(new Subject());
+ getNativeMap = jest.fn().mockReturnValue(Promise.resolve({}));
+ fitBounds = jest.fn().mockReturnValue(Promise.resolve({}));
+ setMapOptions = jest.fn();
+}
+
+@Injectable()
+class MockFitBoundsService { }
+
+describe('AgmMap', () => {
+ let fixture: ComponentFixture;
+ let component: AgmMap;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [
+ AgmMap,
+ ],
+ schemas: [ CUSTOM_ELEMENTS_SCHEMA ]});
+ TestBed.overrideComponent(AgmMap, {
+ set: {
+ providers: [
+ {provide: ElementRef, useClass: MockElementRef},
+ {provide: GoogleMapsAPIWrapper, useClass: MockGoogleMapsAPIWrapper},
+ {provide: FitBoundsService, useClass: MockFitBoundsService},
+ // NgZone,
+ ],
+ },
+ }).compileComponents();
+ fixture = TestBed.createComponent(AgmMap);
+ component = fixture.debugElement.componentInstance;
+ }));
+
+ it('should create a component', () => {
+ expect(component).toBeTruthy();
+ });
+
+ it('should not enable controls when disableViewControls is true', () => {
+ component.disableDefaultUI = true;
+ fixture.detectChanges();
+ const mockApiWrapper: MockGoogleMapsAPIWrapper = fixture.debugElement.injector.get(GoogleMapsAPIWrapper) as any;
+ expect(mockApiWrapper.createMap.mock.calls[0][1].streetViewControl).not.toBe(true);
+ expect(mockApiWrapper.createMap.mock.calls[0][1].zoomControl).not.toBe(true);
+ });
+
+ it('should not fit bounds if provided bounds are empty', () => {
+ component.fitBounds = null;
+ component.ngOnChanges({
+ latitude: new SimpleChange(null, 1, false),
+ longitude: new SimpleChange(null, 2, false),
+ fitBounds: new SimpleChange({}, null, false),
+ });
+
+ const mockApiWrapper: MockGoogleMapsAPIWrapper = fixture.debugElement.injector.get(GoogleMapsAPIWrapper) as any;
+ expect(mockApiWrapper.fitBounds.mock.calls).toHaveLength(0);
+ });
+});
diff --git a/packages/core/src/lib/directives/map.ts b/packages/core/src/lib/directives/map.ts
new file mode 100644
index 000000000..7d79f7522
--- /dev/null
+++ b/packages/core/src/lib/directives/map.ts
@@ -0,0 +1,687 @@
+import { isPlatformServer } from '@angular/common';
+import { AfterContentInit, Component, ContentChildren, Directive, ElementRef, EventEmitter, Inject, Input, NgZone, OnChanges, OnDestroy, Output, PLATFORM_ID, QueryList, SimpleChanges } from '@angular/core';
+import { Subscription } from 'rxjs';
+
+import { FitBoundsService } from '../services/fit-bounds';
+import { GoogleMapsAPIWrapper } from '../services/google-maps-api-wrapper';
+import { CircleManager } from '../services/managers/circle-manager';
+import { InfoWindowManager } from '../services/managers/info-window-manager';
+import { LayerManager } from '../services/managers/layer-manager';
+import { MarkerManager } from '../services/managers/marker-manager';
+import { PolygonManager } from '../services/managers/polygon-manager';
+import { PolylineManager } from '../services/managers/polyline-manager';
+import { RectangleManager } from '../services/managers/rectangle-manager';
+import { DataLayerManager } from './../services/managers/data-layer-manager';
+import { KmlLayerManager } from './../services/managers/kml-layer-manager';
+
+export type ControlPosition = keyof typeof google.maps.ControlPosition;
+
+@Directive()
+export abstract class AgmMapControl {
+ @Input() position: ControlPosition;
+ abstract getOptions(): Partial;
+}
+
+@Directive({
+ selector: 'agm-map agm-fullscreen-control',
+ providers: [{ provide: AgmMapControl, useExisting: AgmFullscreenControl }],
+})
+export class AgmFullscreenControl extends AgmMapControl {
+ getOptions(): Partial {
+ return {
+ fullscreenControl: true,
+ fullscreenControlOptions: {
+ position: this.position && google.maps.ControlPosition[this.position],
+ },
+ };
+ }
+}
+@Directive({
+ selector: 'agm-map agm-map-type-control',
+ providers: [{ provide: AgmMapControl, useExisting: AgmMapTypeControl }],
+})
+export class AgmMapTypeControl extends AgmMapControl {
+ @Input() mapTypeIds: (keyof typeof google.maps.MapTypeId)[];
+ @Input() style: keyof typeof google.maps.MapTypeControlStyle;
+
+ getOptions(): Partial {
+ return {
+ mapTypeControl: true,
+ mapTypeControlOptions: {
+ position: this.position && google.maps.ControlPosition[this.position],
+ style: this.style && google.maps.MapTypeControlStyle[this.style],
+ mapTypeIds: this.mapTypeIds && this.mapTypeIds.map(mapTypeId => google.maps.MapTypeId[mapTypeId]),
+ },
+ };
+ }
+}
+
+@Directive({
+ selector: 'agm-map agm-pan-control',
+ providers: [{ provide: AgmMapControl, useExisting: AgmPanControl }],
+})
+export class AgmPanControl extends AgmMapControl {
+ getOptions(): Partial {
+ return {
+ panControl: true,
+ panControlOptions: {
+ position: this.position && google.maps.ControlPosition[this.position],
+ },
+ };
+ }
+}
+
+@Directive({
+ selector: 'agm-map agm-rotate-control',
+ providers: [{ provide: AgmMapControl, useExisting: AgmRotateControl }],
+})
+export class AgmRotateControl extends AgmMapControl {
+ getOptions(): Partial {
+ return {
+ rotateControl: true,
+ rotateControlOptions: {
+ position: this.position && google.maps.ControlPosition[this.position],
+ },
+ };
+ }
+}
+
+@Directive({
+ selector: 'agm-map agm-scale-control',
+ providers: [{ provide: AgmMapControl, useExisting: AgmScaleControl }],
+})
+export class AgmScaleControl extends AgmMapControl{
+ getOptions(): Partial {
+ return {
+ scaleControl: true,
+ };
+ }
+}
+
+@Directive({
+ selector: 'agm-map agm-street-view-control',
+ providers: [{ provide: AgmMapControl, useExisting: AgmStreetViewControl }],
+})
+export class AgmStreetViewControl extends AgmMapControl {
+ getOptions(): Partial {
+ return {
+ streetViewControl: true,
+ streetViewControlOptions: {
+ position: this.position && google.maps.ControlPosition[this.position],
+ },
+ };
+ }
+}
+
+@Directive({
+ selector: 'agm-map agm-zoom-control',
+ providers: [{ provide: AgmMapControl, useExisting: AgmZoomControl }],
+})
+export class AgmZoomControl extends AgmMapControl{
+ @Input() style: keyof typeof google.maps.ZoomControlStyle;
+ getOptions(): Partial {
+ return {
+ zoomControl: true,
+ zoomControlOptions: {
+ position: this.position && google.maps.ControlPosition[this.position],
+ style: this.style && google.maps.ZoomControlStyle[this.style],
+ },
+ };
+ }
+}
+
+/**
+ * AgmMap renders a Google Map.
+ * **Important note**: To be able see a map in the browser, you have to define a height for the
+ * element `agm-map`.
+ *
+ * ### Example
+ * ```typescript
+ * import { Component } from '@angular/core';
+ *
+ * @Component({
+ * selector: 'my-map-cmp',
+ * styles: [`
+ * agm-map {
+ * height: 300px;
+ * }
+ * `],
+ * template: `
+ *
+ *
+ * `
+ * })
+ * ```
+ */
+@Component({
+ selector: 'agm-map',
+ providers: [
+ CircleManager,
+ DataLayerManager,
+ DataLayerManager,
+ FitBoundsService,
+ GoogleMapsAPIWrapper,
+ InfoWindowManager,
+ KmlLayerManager,
+ LayerManager,
+ MarkerManager,
+ PolygonManager,
+ PolylineManager,
+ RectangleManager,
+ ],
+ styles: [`
+ .agm-map-container-inner {
+ width: inherit;
+ height: inherit;
+ }
+ .agm-map-content {
+ display:none;
+ }
+ `],
+ template: `
+
+
+
+
+ `,
+})
+export class AgmMap implements OnChanges, AfterContentInit, OnDestroy {
+ /**
+ * The longitude that defines the center of the map.
+ */
+ @Input() longitude = 0;
+
+ /**
+ * The latitude that defines the center of the map.
+ */
+ @Input() latitude = 0;
+
+ /**
+ * The zoom level of the map. The default zoom level is 8.
+ */
+ @Input() zoom = 8;
+
+ /**
+ * The minimal zoom level of the map allowed. When not provided, no restrictions to the zoom level
+ * are enforced.
+ */
+ @Input() minZoom: number;
+
+ /**
+ * The maximal zoom level of the map allowed. When not provided, no restrictions to the zoom level
+ * are enforced.
+ */
+ @Input() maxZoom: number;
+
+ /**
+ * The control size for the default map controls. Only governs the controls made by the Maps API itself
+ */
+ @Input() controlSize: number;
+
+ /**
+ * Enables/disables if map is draggable.
+ */
+ // tslint:disable-next-line:no-input-rename
+ @Input('mapDraggable') draggable = true;
+
+ /**
+ * Enables/disables zoom and center on double click. Enabled by default.
+ */
+ @Input() disableDoubleClickZoom = false;
+
+ /**
+ * Enables/disables all default UI of the Google map. Please note: When the map is created, this
+ * value cannot get updated.
+ */
+ @Input() disableDefaultUI = false;
+
+ /**
+ * If false, disables scrollwheel zooming on the map. The scrollwheel is enabled by default.
+ */
+ @Input() scrollwheel = true;
+
+ /**
+ * Color used for the background of the Map div. This color will be visible when tiles have not
+ * yet loaded as the user pans. This option can only be set when the map is initialized.
+ */
+ @Input() backgroundColor: string;
+
+ /**
+ * The name or url of the cursor to display when mousing over a draggable map. This property uses
+ * the css * cursor attribute to change the icon. As with the css property, you must specify at
+ * least one fallback cursor that is not a URL. For example:
+ * [draggableCursor]="'url(http://www.example.com/icon.png), auto;'"
+ */
+ @Input() draggableCursor: string;
+
+ /**
+ * The name or url of the cursor to display when the map is being dragged. This property uses the
+ * css cursor attribute to change the icon. As with the css property, you must specify at least
+ * one fallback cursor that is not a URL. For example:
+ * [draggingCursor]="'url(http://www.example.com/icon.png), auto;'"
+ */
+ @Input() draggingCursor: string;
+
+ /**
+ * If false, prevents the map from being controlled by the keyboard. Keyboard shortcuts are
+ * enabled by default.
+ */
+ @Input() keyboardShortcuts = true;
+
+ /**
+ * Styles to apply to each of the default map types. Note that for Satellite/Hybrid and Terrain
+ * modes, these styles will only apply to labels and geometry.
+ */
+ @Input() styles: google.maps.MapTypeStyle[] = [];
+
+ /**
+ * When true and the latitude and/or longitude values changes, the Google Maps panTo method is
+ * used to
+ * center the map. See: https://developers.google.com/maps/documentation/javascript/reference#Map
+ */
+ @Input() usePanning = false;
+
+ /**
+ * Sets the viewport to contain the given bounds.
+ * If this option to `true`, the bounds get automatically computed from all elements that use the {@link AgmFitBounds} directive.
+ */
+ @Input() fitBounds: google.maps.LatLngBoundsLiteral | google.maps.LatLngBounds | boolean = false;
+
+ /**
+ * Padding amount for the bounds.
+ */
+ @Input() fitBoundsPadding: number | google.maps.Padding;
+
+ /**
+ * The map mapTypeId. Defaults to 'roadmap'.
+ */
+ @Input() mapTypeId: keyof typeof google.maps.MapTypeId = 'ROADMAP';
+
+ /**
+ * When false, map icons are not clickable. A map icon represents a point of interest,
+ * also known as a POI. By default map icons are clickable.
+ */
+ @Input() clickableIcons = true;
+
+ /**
+ * A map icon represents a point of interest, also known as a POI.
+ * When map icons are clickable by default, an info window is displayed.
+ * When this property is set to false, the info window will not be shown but the click event
+ * will still fire
+ */
+ @Input() showDefaultInfoWindow = true;
+
+ /**
+ * This setting controls how gestures on the map are handled.
+ * Allowed values:
+ * - 'cooperative' (Two-finger touch gestures pan and zoom the map. One-finger touch gestures are not handled by the map.)
+ * - 'greedy' (All touch gestures pan or zoom the map.)
+ * - 'none' (The map cannot be panned or zoomed by user gestures.)
+ * - 'auto' [default] (Gesture handling is either cooperative or greedy, depending on whether the page is scrollable or not.
+ */
+ @Input() gestureHandling: google.maps.GestureHandlingOptions = 'auto';
+
+ /**
+ * Controls the automatic switching behavior for the angle of incidence of
+ * the map. The only allowed values are 0 and 45. The value 0 causes the map
+ * to always use a 0° overhead view regardless of the zoom level and
+ * viewport. The value 45 causes the tilt angle to automatically switch to
+ * 45 whenever 45° imagery is available for the current zoom level and
+ * viewport, and switch back to 0 whenever 45° imagery is not available
+ * (this is the default behavior). 45° imagery is only available for
+ * satellite and hybrid map types, within some locations, and at some zoom
+ * levels. Note: getTilt returns the current tilt angle, not the value
+ * specified by this option. Because getTilt and this option refer to
+ * different things, do not bind() the tilt property; doing so may yield
+ * unpredictable effects. (Default of AGM is 0 (disabled). Enable it with value 45.)
+ */
+ @Input() tilt = 0;
+
+ /**
+ * Options for restricting the bounds of the map.
+ * User cannot pan or zoom away from restricted area.
+ */
+ @Input() restriction: google.maps.MapRestriction;
+
+ /**
+ * Map option attributes that can change over time
+ */
+ private static _mapOptionsAttributes: string[] = [
+ 'disableDoubleClickZoom', 'scrollwheel', 'draggable', 'draggableCursor', 'draggingCursor',
+ 'keyboardShortcuts', 'styles', 'zoom', 'minZoom', 'maxZoom', 'mapTypeId', 'clickableIcons',
+ 'gestureHandling', 'tilt', 'restriction',
+ ];
+
+ private _observableSubscriptions: Subscription[] = [];
+ private _fitBoundsSubscription: Subscription;
+
+ /**
+ * This event emitter gets emitted when the user clicks on the map (but not when they click on a
+ * marker or infoWindow).
+ */
+ // tslint:disable-next-line: max-line-length
+ @Output() mapClick: EventEmitter = new EventEmitter();
+
+ /**
+ * This event emitter gets emitted when the user right-clicks on the map (but not when they click
+ * on a marker or infoWindow).
+ */
+ @Output() mapRightClick: EventEmitter = new EventEmitter();
+
+ /**
+ * This event emitter gets emitted when the user double-clicks on the map (but not when they click
+ * on a marker or infoWindow).
+ */
+ @Output() mapDblClick: EventEmitter = new EventEmitter();
+
+ /**
+ * This event emitter is fired when the map center changes.
+ */
+ @Output() centerChange: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the viewport bounds have changed.
+ */
+ @Output() boundsChange: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the mapTypeId property changes.
+ */
+ @Output() mapTypeIdChange: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the map becomes idle after panning or zooming.
+ */
+ @Output() idle: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the zoom level has changed.
+ */
+ @Output() zoomChange: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the google map is fully initialized.
+ * You get the google.maps.Map instance as a result of this EventEmitter.
+ */
+ @Output() mapReady: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the visible tiles have finished loading.
+ */
+ @Output() tilesLoaded: EventEmitter = new EventEmitter();
+
+ @ContentChildren(AgmMapControl) mapControls: QueryList;
+
+ constructor(
+ private _elem: ElementRef,
+ private _mapsWrapper: GoogleMapsAPIWrapper,
+ // tslint:disable-next-line: ban-types
+ @Inject(PLATFORM_ID) private _platformId: Object,
+ protected _fitBoundsService: FitBoundsService,
+ private _zone: NgZone
+ ) {}
+
+ /** @internal */
+ ngAfterContentInit() {
+ if (isPlatformServer(this._platformId)) {
+ // The code is running on the server, do nothing
+ return;
+ }
+ // todo: this should be solved with a new component and a viewChild decorator
+ const container = this._elem.nativeElement.querySelector('.agm-map-container-inner');
+ this._initMapInstance(container);
+ }
+
+ private _initMapInstance(el: HTMLElement) {
+ this._mapsWrapper.createMap(el, {
+ center: {lat: this.latitude || 0, lng: this.longitude || 0},
+ zoom: this.zoom,
+ minZoom: this.minZoom,
+ maxZoom: this.maxZoom,
+ controlSize: this.controlSize,
+ disableDefaultUI: this.disableDefaultUI,
+ disableDoubleClickZoom: this.disableDoubleClickZoom,
+ scrollwheel: this.scrollwheel,
+ backgroundColor: this.backgroundColor,
+ draggable: this.draggable,
+ draggableCursor: this.draggableCursor,
+ draggingCursor: this.draggingCursor,
+ keyboardShortcuts: this.keyboardShortcuts,
+ styles: this.styles,
+ mapTypeId: this.mapTypeId.toLocaleLowerCase(),
+ clickableIcons: this.clickableIcons,
+ gestureHandling: this.gestureHandling,
+ tilt: this.tilt,
+ restriction: this.restriction,
+ })
+ .then(() => this._mapsWrapper.getNativeMap())
+ .then(map => this.mapReady.emit(map));
+
+ // register event listeners
+ this._handleMapCenterChange();
+ this._handleMapZoomChange();
+ this._handleMapMouseEvents();
+ this._handleBoundsChange();
+ this._handleMapTypeIdChange();
+ this._handleTilesLoadedEvent();
+ this._handleIdleEvent();
+ this._handleControlChange();
+ }
+
+ /** @internal */
+ ngOnDestroy() {
+ // unsubscribe all registered observable subscriptions
+ this._observableSubscriptions.forEach((s) => s.unsubscribe());
+
+ // remove all listeners from the map instance
+ this._mapsWrapper.clearInstanceListeners();
+ if (this._fitBoundsSubscription) {
+ this._fitBoundsSubscription.unsubscribe();
+ }
+ }
+
+ /* @internal */
+ ngOnChanges(changes: SimpleChanges) {
+ this._updateMapOptionsChanges(changes);
+ this._updatePosition(changes);
+ }
+
+ private _updateMapOptionsChanges(changes: SimpleChanges) {
+ const options: {[propName: string]: any} = {};
+ const optionKeys =
+ Object.keys(changes).filter(k => AgmMap._mapOptionsAttributes.indexOf(k) !== -1);
+ optionKeys.forEach((k) => { options[k] = changes[k].currentValue; });
+ this._mapsWrapper.setMapOptions(options);
+ }
+
+ /**
+ * Triggers a resize event on the google map instance.
+ * When recenter is true, the of the google map gets called with the current lat/lng values or fitBounds value to recenter the map.
+ * Returns a promise that gets resolved after the event was triggered.
+ */
+ triggerResize(recenter: boolean = true): Promise {
+ // Note: When we would trigger the resize event and show the map in the same turn (which is a
+ // common case for triggering a resize event), then the resize event would not
+ // work (to show the map), so we trigger the event in a timeout.
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ return this._mapsWrapper.triggerMapEvent('resize').then(() => {
+ if (recenter) {
+ this.fitBounds != null ? this._fitBounds() : this._setCenter();
+ }
+ resolve();
+ });
+ });
+ });
+ }
+
+ private _updatePosition(changes: SimpleChanges) {
+ // tslint:disable: no-string-literal
+ if (changes['latitude'] == null && changes['longitude'] == null &&
+ !changes['fitBounds']) {
+ // no position update needed
+ return;
+ }
+ // tslint:enable: no-string-literal
+
+ // we prefer fitBounds in changes
+ if ('fitBounds' in changes) {
+ this._fitBounds();
+ return;
+ }
+
+ if (typeof this.latitude !== 'number' || typeof this.longitude !== 'number') {
+ return;
+ }
+ this._setCenter();
+ }
+
+ private _setCenter() {
+ const newCenter = {
+ lat: this.latitude,
+ lng: this.longitude,
+ };
+ if (this.usePanning) {
+ this._mapsWrapper.panTo(newCenter);
+ } else {
+ this._mapsWrapper.setCenter(newCenter);
+ }
+ }
+
+ private _fitBounds() {
+ switch (this.fitBounds) {
+ case true:
+ this._subscribeToFitBoundsUpdates();
+ break;
+ case false:
+ if (this._fitBoundsSubscription) {
+ this._fitBoundsSubscription.unsubscribe();
+ }
+ break;
+ default:
+ if (this._fitBoundsSubscription) {
+ this._fitBoundsSubscription.unsubscribe();
+ }
+ this._updateBounds(this.fitBounds, this.fitBoundsPadding);
+ }
+ }
+
+ private _subscribeToFitBoundsUpdates() {
+ this._zone.runOutsideAngular(() => {
+ this._fitBoundsSubscription = this._fitBoundsService.getBounds$().subscribe(b => {
+ this._zone.run(() => this._updateBounds(b, this.fitBoundsPadding));
+ });
+ });
+ }
+
+ protected _updateBounds(bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding?: number | google.maps.Padding) {
+ if (!bounds) {
+ return;
+ }
+ if (this._isLatLngBoundsLiteral(bounds) && typeof google !== 'undefined' && google && google.maps && google.maps.LatLngBounds) {
+ const newBounds = new google.maps.LatLngBounds();
+ newBounds.union(bounds);
+ bounds = newBounds;
+ }
+ if (this.usePanning) {
+ this._mapsWrapper.panToBounds(bounds, padding);
+ return;
+ }
+ this._mapsWrapper.fitBounds(bounds, padding);
+ }
+
+ private _isLatLngBoundsLiteral(bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral): boolean {
+ return bounds != null && (bounds as any).extend === undefined;
+ }
+
+ private _handleMapCenterChange() {
+ const s = this._mapsWrapper.subscribeToMapEvent('center_changed').subscribe(() => {
+ this._mapsWrapper.getCenter().then((center: google.maps.LatLng) => {
+ this.latitude = center.lat();
+ this.longitude = center.lng();
+ this.centerChange.emit({lat: this.latitude, lng: this.longitude} as google.maps.LatLngLiteral);
+ });
+ });
+ this._observableSubscriptions.push(s);
+ }
+
+ private _handleBoundsChange() {
+ const s = this._mapsWrapper.subscribeToMapEvent('bounds_changed').subscribe(() => {
+ this._mapsWrapper.getBounds().then(
+ (bounds: google.maps.LatLngBounds) => { this.boundsChange.emit(bounds); });
+ });
+ this._observableSubscriptions.push(s);
+ }
+
+ private _handleMapTypeIdChange() {
+ const s = this._mapsWrapper.subscribeToMapEvent('maptypeid_changed').subscribe(() => {
+ this._mapsWrapper.getMapTypeId().then(
+ (mapTypeId: google.maps.MapTypeId) => { this.mapTypeIdChange.emit(mapTypeId); });
+ });
+ this._observableSubscriptions.push(s);
+ }
+
+ private _handleMapZoomChange() {
+ const s = this._mapsWrapper.subscribeToMapEvent('zoom_changed').subscribe(() => {
+ this._mapsWrapper.getZoom().then((z: number) => {
+ this.zoom = z;
+ this.zoomChange.emit(z);
+ });
+ });
+ this._observableSubscriptions.push(s);
+ }
+
+ private _handleIdleEvent() {
+ const s = this._mapsWrapper.subscribeToMapEvent('idle').subscribe(
+ () => { this.idle.emit(void 0); });
+ this._observableSubscriptions.push(s);
+ }
+
+ private _handleTilesLoadedEvent() {
+ const s = this._mapsWrapper.subscribeToMapEvent('tilesloaded').subscribe(
+ () => this.tilesLoaded.emit(void 0),
+ );
+ this._observableSubscriptions.push(s);
+ }
+
+ private _handleMapMouseEvents() {
+ type Event = { name: 'rightclick' | 'click' | 'dblclick', emitter: EventEmitter };
+
+ const events: Event[] = [
+ {name: 'click', emitter: this.mapClick},
+ {name: 'rightclick', emitter: this.mapRightClick},
+ {name: 'dblclick', emitter: this.mapDblClick},
+ ];
+
+ events.forEach(e => {
+ const s = this._mapsWrapper.subscribeToMapEvent(e.name).subscribe(
+ ([event]) => {
+ // the placeId will be undefined in case the event was not an IconMouseEvent (google types)
+ if ( (event as google.maps.IconMouseEvent).placeId && !this.showDefaultInfoWindow) {
+ event.stop();
+ }
+ e.emitter.emit(event);
+ });
+ this._observableSubscriptions.push(s);
+ });
+ }
+
+ _handleControlChange() {
+ this._setControls();
+ this.mapControls.changes.subscribe(() => this._setControls());
+ }
+
+ _setControls() {
+ const controlOptions: Partial = {
+ fullscreenControl: !this.disableDefaultUI,
+ mapTypeControl: false,
+ panControl: false,
+ rotateControl: false,
+ scaleControl: false,
+ streetViewControl: !this.disableDefaultUI,
+ zoomControl: !this.disableDefaultUI,
+ };
+ this.mapControls.forEach(control => Object.assign(controlOptions, control.getOptions()));
+ this._mapsWrapper.setMapOptions(controlOptions);
+ }
+}
diff --git a/packages/core/src/lib/directives/marker.ts b/packages/core/src/lib/directives/marker.ts
new file mode 100644
index 000000000..79810ecbb
--- /dev/null
+++ b/packages/core/src/lib/directives/marker.ts
@@ -0,0 +1,304 @@
+import { AfterContentInit, ContentChildren, Directive, EventEmitter, forwardRef, Input, OnChanges, OnDestroy, Output, QueryList, SimpleChange } from '@angular/core';
+import { Observable, ReplaySubject, Subscription } from 'rxjs';
+import { FitBoundsAccessor, FitBoundsDetails } from '../services/fit-bounds';
+import { MarkerManager } from '../services/managers/marker-manager';
+import { AgmInfoWindow } from './info-window';
+
+let markerId = 0;
+
+/**
+ * AgmMarker renders a map marker inside a {@link AgmMap}.
+ *
+ * ### Example
+ * ```typescript
+ * import { Component } from '@angular/core';
+ *
+ * @Component({
+ * selector: 'my-map-cmp',
+ * styles: [`
+ * .agm-map-container {
+ * height: 300px;
+ * }
+ * `],
+ * template: `
+ *
+ *
+ *
+ *
+ * `
+ * })
+ * ```
+ */
+@Directive({
+ selector: 'agm-marker',
+ providers: [
+ { provide: FitBoundsAccessor, useExisting: forwardRef(() => AgmMarker) },
+ ],
+})
+export class AgmMarker implements OnDestroy, OnChanges, AfterContentInit, FitBoundsAccessor {
+ /**
+ * The latitude position of the marker.
+ */
+ @Input() latitude: number;
+
+ /**
+ * The longitude position of the marker.
+ */
+ @Input() longitude: number;
+
+ /**
+ * The title of the marker.
+ */
+ @Input() title: string;
+
+ /**
+ * The label (a single uppercase character) for the marker.
+ */
+ @Input() label: string | google.maps.MarkerLabel;
+
+ /**
+ * If true, the marker can be dragged. Default value is false.
+ */
+ // tslint:disable-next-line:no-input-rename
+ @Input('markerDraggable') draggable = false;
+
+ /**
+ * Icon (the URL of the image) for the foreground.
+ */
+ @Input() iconUrl: string | google.maps.Icon | google.maps.Symbol;
+
+ /**
+ * If true, the marker is visible
+ */
+ @Input() visible = true;
+
+ /**
+ * Whether to automatically open the child info window when the marker is clicked.
+ */
+ @Input() openInfoWindow = true;
+
+ /**
+ * The marker's opacity between 0.0 and 1.0.
+ */
+ @Input() opacity = 1;
+
+ /**
+ * All markers are displayed on the map in order of their zIndex, with higher values displaying in
+ * front of markers with lower values. By default, markers are displayed according to their
+ * vertical position on screen, with lower markers appearing in front of markers further up the
+ * screen.
+ */
+ @Input() zIndex = 1;
+
+ /**
+ * If true, the marker can be clicked. Default value is true.
+ */
+ // tslint:disable-next-line:no-input-rename
+ @Input('markerClickable') clickable = true;
+
+ /**
+ * Which animation to play when marker is added to a map.
+ * This can be 'BOUNCE' or 'DROP'
+ */
+ @Input() animation: keyof typeof google.maps.Animation;
+
+ /**
+ * This event is fired when the marker's animation property changes.
+ */
+ @Output() animationChange = new EventEmitter();
+
+ /**
+ * This event emitter gets emitted when the user clicks on the marker.
+ */
+ @Output() markerClick: EventEmitter = new EventEmitter();
+
+ /**
+ * This event emitter gets emitted when the user clicks twice on the marker.
+ */
+ @Output() markerDblClick: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the user rightclicks on the marker.
+ */
+ @Output() markerRightClick: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the user starts dragging the marker.
+ */
+ @Output() dragStart: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is repeatedly fired while the user drags the marker.
+ */
+ // tslint:disable-next-line: no-output-native
+ @Output() drag: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the user stops dragging the marker.
+ */
+ @Output() dragEnd: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the user mouses over the marker.
+ */
+ @Output() mouseOver: EventEmitter = new EventEmitter();
+
+ /**
+ * This event is fired when the user mouses outside the marker.
+ */
+ @Output() mouseOut: EventEmitter = new EventEmitter();
+
+ /** @internal */
+ @ContentChildren(AgmInfoWindow) infoWindow: QueryList