From 4739795c1e864fce95148a8e3f0f9570ad2b559a Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Thu, 19 Oct 2017 12:22:00 -0700 Subject: [PATCH] v4 beta2 --- LICENSE | 333 +- README.md | 204 +- assets/brand/bootstrap-social-logo.png | Bin 43226 -> 23959 bytes assets/brand/bootstrap-social.png | Bin 268279 -> 231733 bytes assets/css/docs.min.css | 2 +- assets/css/docs.min.css.map | 2 +- assets/img/bootstrap-stack.png | Bin 138403 -> 52160 bytes assets/img/bootstrap-themes.png | Bin 225111 -> 80588 bytes .../img/favicons/android-chrome-192x192.png | Bin 0 -> 1935 bytes .../img/favicons/android-chrome-512x512.png | Bin 0 -> 4269 bytes assets/img/favicons/apple-touch-icon.png | Bin 0 -> 1738 bytes assets/img/favicons/browserconfig.xml | 9 + assets/img/favicons/favicon-16x16.png | Bin 0 -> 310 bytes assets/img/favicons/favicon-32x32.png | Bin 0 -> 491 bytes assets/img/favicons/manifest.json | 20 + assets/img/favicons/mstile-144x144.png | Bin 0 -> 1479 bytes assets/img/favicons/mstile-150x150.png | Bin 0 -> 1428 bytes assets/img/favicons/mstile-310x150.png | Bin 0 -> 1746 bytes assets/img/favicons/mstile-310x310.png | Bin 0 -> 3085 bytes assets/img/favicons/mstile-70x70.png | Bin 0 -> 1104 bytes assets/img/favicons/safari-pinned-tab.svg | 20 + assets/js/docs.min.js | 12 +- assets/js/ie-emulation-modes-warning.js | 2 +- assets/js/src/pwa.js | 30 + assets/js/vendor/anchor.min.js | 4 +- assets/js/vendor/popper.min.js | 2 +- assets/js/vendor/workbox-sw.prod.v2.1.0.js | 187 + .../js/vendor/workbox-sw.prod.v2.1.0.js.map | 1 + dist/css/bootstrap-grid.css | 226 +- dist/css/bootstrap-grid.css.map | 2 +- dist/css/bootstrap-grid.min.css | 7 +- dist/css/bootstrap-grid.min.css.map | 2 +- dist/css/bootstrap-reboot.css | 38 +- dist/css/bootstrap-reboot.css.map | 2 +- dist/css/bootstrap-reboot.min.css | 8 +- dist/css/bootstrap-reboot.min.css.map | 2 +- dist/css/bootstrap.css | 3025 ++++---- dist/css/bootstrap.css.map | 2 +- dist/css/bootstrap.min.css | 4 +- dist/css/bootstrap.min.css.map | 2 +- dist/js/bootstrap.bundle.js | 6287 +++++++++++++++++ dist/js/bootstrap.bundle.js.map | 1 + dist/js/bootstrap.bundle.min.js | 7 + dist/js/bootstrap.bundle.min.js.map | 1 + dist/js/bootstrap.js | 3073 ++++---- dist/js/bootstrap.js.map | 1 + dist/js/bootstrap.min.js | 11 +- dist/js/bootstrap.min.js.map | 1 + docs/4.0/about/brand/index.html | 755 +- docs/4.0/about/history/index.html | 755 +- docs/4.0/about/index.html | 45 +- docs/4.0/about/license/index.html | 757 +- docs/4.0/about/team/index.html | 765 +- docs/4.0/about/translations/index.html | 757 +- docs/4.0/browser-bugs/index.html | 763 +- docs/4.0/components/alerts/index.html | 776 +- docs/4.0/components/badge/index.html | 789 +-- docs/4.0/components/breadcrumb/index.html | 839 +-- docs/4.0/components/button-group/index.html | 770 +- docs/4.0/components/buttons/index.html | 787 +-- docs/4.0/components/card/index.html | 854 +-- docs/4.0/components/carousel/index.html | 772 +- docs/4.0/components/collapse/index.html | 788 +-- docs/4.0/components/dropdowns/index.html | 892 +-- docs/4.0/components/forms/index.html | 1172 +-- docs/4.0/components/index.html | 45 +- docs/4.0/components/input-group/index.html | 777 +- docs/4.0/components/jumbotron/index.html | 759 +- docs/4.0/components/list-group/index.html | 799 +-- docs/4.0/components/modal/index.html | 804 +-- docs/4.0/components/navbar/index.html | 876 +-- docs/4.0/components/navs/index.html | 964 +-- docs/4.0/components/pagination/index.html | 771 +- docs/4.0/components/popovers/index.html | 778 +- docs/4.0/components/progress/index.html | 787 +-- docs/4.0/components/scrollspy/index.html | 773 +- docs/4.0/components/tooltips/index.html | 764 +- docs/4.0/content/code/index.html | 765 +- docs/4.0/content/figures/index.html | 759 +- docs/4.0/content/images/index.html | 769 +- docs/4.0/content/index.html | 45 +- docs/4.0/content/reboot/index.html | 771 +- docs/4.0/content/tables/index.html | 1323 ++-- docs/4.0/content/typography/index.html | 787 +-- docs/4.0/examples/album/index.html | 176 +- docs/4.0/examples/blog/blog.css | 28 +- docs/4.0/examples/blog/index.html | 46 +- docs/4.0/examples/carousel/carousel.css | 4 +- docs/4.0/examples/carousel/index.html | 272 +- docs/4.0/examples/cover/cover.css | 9 +- docs/4.0/examples/cover/index.html | 18 +- docs/4.0/examples/dashboard/dashboard.css | 12 +- docs/4.0/examples/dashboard/index.html | 60 +- docs/4.0/examples/grid/index.html | 8 +- docs/4.0/examples/index.html | 131 +- docs/4.0/examples/jumbotron/index.html | 70 +- docs/4.0/examples/justified-nav/index.html | 56 +- .../examples/justified-nav/justified-nav.css | 11 +- docs/4.0/examples/narrow-jumbotron/index.html | 62 +- .../narrow-jumbotron/narrow-jumbotron.css | 3 + docs/4.0/examples/navbar-bottom/index.html | 60 + docs/4.0/examples/navbar-top-fixed/index.html | 8 +- docs/4.0/examples/navbar-top/index.html | 8 +- docs/4.0/examples/navbars/index.html | 24 +- docs/4.0/examples/navbars/navbar.css | 1 - docs/4.0/examples/offcanvas/index.html | 14 +- docs/4.0/examples/offcanvas/offcanvas.css | 16 +- docs/4.0/examples/offcanvas/offcanvas.js | 10 +- .../examples/screenshots/navbar-bottom.jpg | Bin 0 -> 27921 bytes docs/4.0/examples/signin/index.html | 9 +- docs/4.0/examples/signin/signin.css | 5 +- docs/4.0/examples/starter-template/index.html | 8 +- .../examples/sticky-footer-navbar/index.html | 58 +- docs/4.0/examples/sticky-footer/index.html | 13 +- .../examples/sticky-footer/sticky-footer.css | 6 +- docs/4.0/examples/tooltip-viewport/index.html | 20 +- .../tooltip-viewport/tooltip-viewport.js | 24 +- docs/4.0/extend/approach/index.html | 755 +- docs/4.0/extend/icons/index.html | 759 +- docs/4.0/extend/index.html | 755 +- .../getting-started/accessibility/index.html | 757 +- .../getting-started/best-practices/index.html | 756 +- .../browsers-devices/index.html | 812 +-- .../getting-started/build-tools/index.html | 781 +- docs/4.0/getting-started/contents/index.html | 819 +-- docs/4.0/getting-started/download/index.html | 818 +-- docs/4.0/getting-started/index.html | 45 +- .../getting-started/introduction/index.html | 808 +-- .../4.0/getting-started/javascript/index.html | 768 +- docs/4.0/getting-started/options/index.html | 1375 +--- docs/4.0/getting-started/theming/index.html | 1097 +++ docs/4.0/getting-started/webpack/index.html | 777 +- docs/4.0/index.html | 45 +- docs/4.0/layout/grid/index.html | 997 +-- docs/4.0/layout/index.html | 45 +- docs/4.0/layout/media-object/index.html | 829 +-- docs/4.0/layout/overview/index.html | 763 +- .../layout/utilities-for-layout/index.html | 755 +- docs/4.0/migration/index.html | 823 +-- docs/4.0/utilities/borders/index.html | 759 +- docs/4.0/utilities/clearfix/index.html | 767 +- docs/4.0/utilities/close-icon/index.html | 757 +- docs/4.0/utilities/colors/index.html | 825 +-- docs/4.0/utilities/display/index.html | 829 +-- docs/4.0/utilities/embed/index.html | 757 +- docs/4.0/utilities/flex/index.html | 796 +-- docs/4.0/utilities/float/index.html | 759 +- .../utilities/image-replacement/index.html | 763 +- docs/4.0/utilities/index.html | 45 +- docs/4.0/utilities/position/index.html | 768 +- docs/4.0/utilities/screenreaders/index.html | 781 +- docs/4.0/utilities/sizing/index.html | 763 +- docs/4.0/utilities/spacing/index.html | 758 +- docs/4.0/utilities/text/index.html | 775 +- docs/4.0/utilities/vertical-align/index.html | 761 +- docs/4.0/utilities/visibility/index.html | 755 +- docs/index.html | 45 +- examples/index.html | 37 + index.html | 136 +- robots.txt | 2 +- sitemap.xml | 214 +- sw.js | 701 ++ 162 files changed, 25392 insertions(+), 46232 deletions(-) create mode 100644 assets/img/favicons/android-chrome-192x192.png create mode 100644 assets/img/favicons/android-chrome-512x512.png create mode 100644 assets/img/favicons/apple-touch-icon.png create mode 100644 assets/img/favicons/browserconfig.xml create mode 100644 assets/img/favicons/favicon-16x16.png create mode 100644 assets/img/favicons/favicon-32x32.png create mode 100644 assets/img/favicons/manifest.json create mode 100644 assets/img/favicons/mstile-144x144.png create mode 100644 assets/img/favicons/mstile-150x150.png create mode 100644 assets/img/favicons/mstile-310x150.png create mode 100644 assets/img/favicons/mstile-310x310.png create mode 100644 assets/img/favicons/mstile-70x70.png create mode 100644 assets/img/favicons/safari-pinned-tab.svg create mode 100644 assets/js/src/pwa.js create mode 100644 assets/js/vendor/workbox-sw.prod.v2.1.0.js create mode 100644 assets/js/vendor/workbox-sw.prod.v2.1.0.js.map create mode 100644 dist/js/bootstrap.bundle.js create mode 100644 dist/js/bootstrap.bundle.js.map create mode 100644 dist/js/bootstrap.bundle.min.js create mode 100644 dist/js/bootstrap.bundle.min.js.map create mode 100644 dist/js/bootstrap.js.map create mode 100644 dist/js/bootstrap.min.js.map create mode 100644 docs/4.0/examples/navbar-bottom/index.html create mode 100644 docs/4.0/examples/screenshots/navbar-bottom.jpg create mode 100644 docs/4.0/getting-started/theming/index.html create mode 100644 examples/index.html create mode 100644 sw.js diff --git a/LICENSE b/LICENSE index 1d658d6d3..1381cb2be 100644 --- a/LICENSE +++ b/LICENSE @@ -1,319 +1,22 @@ -Creative Commons Legal Code +The MIT License (MIT) -Attribution 3.0 Unported +Copyright (c) 2011-2017 Twitter, Inc. +Copyright (c) 2011-2017 The Bootstrap Authors - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR - DAMAGES RESULTING FROM ITS USE. +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: -License +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE -COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY -COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS -AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE -TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY -BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS -CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND -CONDITIONS. - -1. Definitions - - a. "Adaptation" means a work based upon the Work, or upon the Work and - other pre-existing works, such as a translation, adaptation, - derivative work, arrangement of music or other alterations of a - literary or artistic work, or phonogram or performance and includes - cinematographic adaptations or any other form in which the Work may be - recast, transformed, or adapted including in any form recognizably - derived from the original, except that a work that constitutes a - Collection will not be considered an Adaptation for the purpose of - this License. For the avoidance of doubt, where the Work is a musical - work, performance or phonogram, the synchronization of the Work in - timed-relation with a moving image ("synching") will be considered an - Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as - encyclopedias and anthologies, or performances, phonograms or - broadcasts, or other works or subject matter other than works listed - in Section 1(f) below, which, by reason of the selection and - arrangement of their contents, constitute intellectual creations, in - which the Work is included in its entirety in unmodified form along - with one or more other contributions, each constituting separate and - independent works in themselves, which together are assembled into a - collective whole. A work that constitutes a Collection will not be - considered an Adaptation (as defined above) for the purposes of this - License. - c. "Distribute" means to make available to the public the original and - copies of the Work or Adaptation, as appropriate, through sale or - other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that - offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, - the individual, individuals, entity or entities who created the Work - or if no individual or entity can be identified, the publisher; and in - addition (i) in the case of a performance the actors, singers, - musicians, dancers, and other persons who act, sing, deliver, declaim, - play in, interpret or otherwise perform literary or artistic works or - expressions of folklore; (ii) in the case of a phonogram the producer - being the person or legal entity who first fixes the sounds of a - performance or other sounds; and, (iii) in the case of broadcasts, the - organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms - of this License including without limitation any production in the - literary, scientific and artistic domain, whatever may be the mode or - form of its expression including digital form, such as a book, - pamphlet and other writing; a lecture, address, sermon or other work - of the same nature; a dramatic or dramatico-musical work; a - choreographic work or entertainment in dumb show; a musical - composition with or without words; a cinematographic work to which are - assimilated works expressed by a process analogous to cinematography; - a work of drawing, painting, architecture, sculpture, engraving or - lithography; a photographic work to which are assimilated works - expressed by a process analogous to photography; a work of applied - art; an illustration, map, plan, sketch or three-dimensional work - relative to geography, topography, architecture or science; a - performance; a broadcast; a phonogram; a compilation of data to the - extent it is protected as a copyrightable work; or a work performed by - a variety or circus performer to the extent it is not otherwise - considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this - License who has not previously violated the terms of this License with - respect to the Work, or who has received express permission from the - Licensor to exercise rights under this License despite a previous - violation. - h. "Publicly Perform" means to perform public recitations of the Work and - to communicate to the public those public recitations, by any means or - process, including by wire or wireless means or public digital - performances; to make available to the public Works in such a way that - members of the public may access these Works from a place and at a - place individually chosen by them; to perform the Work to the public - by any means or process and the communication to the public of the - performances of the Work, including by public digital performance; to - broadcast and rebroadcast the Work by any means including signs, - sounds or images. - i. "Reproduce" means to make copies of the Work by any means including - without limitation by sound or visual recordings and the right of - fixation and reproducing fixations of the Work, including storage of a - protected performance or phonogram in digital form or other electronic - medium. - -2. Fair Dealing Rights. Nothing in this License is intended to reduce, -limit, or restrict any uses free from copyright or rights arising from -limitations or exceptions that are provided for in connection with the -copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, -Licensor hereby grants You a worldwide, royalty-free, non-exclusive, -perpetual (for the duration of the applicable copyright) license to -exercise the rights in the Work as stated below: - - a. to Reproduce the Work, to incorporate the Work into one or more - Collections, and to Reproduce the Work as incorporated in the - Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, - including any translation in any medium, takes reasonable steps to - clearly label, demarcate or otherwise identify that changes were made - to the original Work. For example, a translation could be marked "The - original work was translated from English to Spanish," or a - modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated - in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - - i. Non-waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme cannot be waived, the Licensor - reserves the exclusive right to collect such royalties for any - exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme can be waived, the Licensor waives the - exclusive right to collect such royalties for any exercise by You - of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to - collect royalties, whether individually or, in the event that the - Licensor is a member of a collecting society that administers - voluntary licensing schemes, via that society, from any exercise - by You of the rights granted under this License. - -The above rights may be exercised in all media and formats whether now -known or hereafter devised. The above rights include the right to make -such modifications as are technically necessary to exercise the rights in -other media and formats. Subject to Section 8(f), all rights not expressly -granted by Licensor are hereby reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made -subject to and limited by the following restrictions: - - a. You may Distribute or Publicly Perform the Work only under the terms - of this License. You must include a copy of, or the Uniform Resource - Identifier (URI) for, this License with every copy of the Work You - Distribute or Publicly Perform. You may not offer or impose any terms - on the Work that restrict the terms of this License or the ability of - the recipient of the Work to exercise the rights granted to that - recipient under the terms of the License. You may not sublicense the - Work. You must keep intact all notices that refer to this License and - to the disclaimer of warranties with every copy of the Work You - Distribute or Publicly Perform. When You Distribute or Publicly - Perform the Work, You may not impose any effective technological - measures on the Work that restrict the ability of a recipient of the - Work from You to exercise the rights granted to that recipient under - the terms of the License. This Section 4(a) applies to the Work as - incorporated in a Collection, but this does not require the Collection - apart from the Work itself to be made subject to the terms of this - License. If You create a Collection, upon notice from any Licensor You - must, to the extent practicable, remove from the Collection any credit - as required by Section 4(b), as requested. If You create an - Adaptation, upon notice from any Licensor You must, to the extent - practicable, remove from the Adaptation any credit as required by - Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or - Collections, You must, unless a request has been made pursuant to - Section 4(a), keep intact all copyright notices for the Work and - provide, reasonable to the medium or means You are utilizing: (i) the - name of the Original Author (or pseudonym, if applicable) if supplied, - and/or if the Original Author and/or Licensor designate another party - or parties (e.g., a sponsor institute, publishing entity, journal) for - attribution ("Attribution Parties") in Licensor's copyright notice, - terms of service or by other reasonable means, the name of such party - or parties; (ii) the title of the Work if supplied; (iii) to the - extent reasonably practicable, the URI, if any, that Licensor - specifies to be associated with the Work, unless such URI does not - refer to the copyright notice or licensing information for the Work; - and (iv) , consistent with Section 3(b), in the case of an Adaptation, - a credit identifying the use of the Work in the Adaptation (e.g., - "French translation of the Work by Original Author," or "Screenplay - based on original Work by Original Author"). The credit required by - this Section 4 (b) may be implemented in any reasonable manner; - provided, however, that in the case of a Adaptation or Collection, at - a minimum such credit will appear, if a credit for all contributing - authors of the Adaptation or Collection appears, then as part of these - credits and in a manner at least as prominent as the credits for the - other contributing authors. For the avoidance of doubt, You may only - use the credit required by this Section for the purpose of attribution - in the manner set out above and, by exercising Your rights under this - License, You may not implicitly or explicitly assert or imply any - connection with, sponsorship or endorsement by the Original Author, - Licensor and/or Attribution Parties, as appropriate, of You or Your - use of the Work, without the separate, express prior written - permission of the Original Author, Licensor and/or Attribution - Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be - otherwise permitted by applicable law, if You Reproduce, Distribute or - Publicly Perform the Work either by itself or as part of any - Adaptations or Collections, You must not distort, mutilate, modify or - take other derogatory action in relation to the Work which would be - prejudicial to the Original Author's honor or reputation. Licensor - agrees that in those jurisdictions (e.g. Japan), in which any exercise - of the right granted in Section 3(b) of this License (the right to - make Adaptations) would be deemed to be a distortion, mutilation, - modification or other derogatory action prejudicial to the Original - Author's honor and reputation, the Licensor will waive or not assert, - as appropriate, this Section, to the fullest extent permitted by the - applicable national law, to enable You to reasonably exercise Your - right under Section 3(b) of this License (right to make Adaptations) - but not otherwise. - -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR -OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY -KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, -INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, -FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF -LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, -WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION -OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE -LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR -ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES -ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - - a. This License and the rights granted hereunder will terminate - automatically upon any breach by You of the terms of this License. - Individuals or entities who have received Adaptations or Collections - from You under this License, however, will not have their licenses - terminated provided such individuals or entities remain in full - compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will - survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is - perpetual (for the duration of the applicable copyright in the Work). - Notwithstanding the above, Licensor reserves the right to release the - Work under different license terms or to stop distributing the Work at - any time; provided, however that any such election will not serve to - withdraw this License (or any other license that has been, or is - required to be, granted under the terms of this License), and this - License will continue in full force and effect unless terminated as - stated above. - -8. Miscellaneous - - a. Each time You Distribute or Publicly Perform the Work or a Collection, - the Licensor offers to the recipient a license to the Work on the same - terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor - offers to the recipient a license to the original Work on the same - terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability of - the remainder of the terms of this License, and without further action - by the parties to this agreement, such provision shall be reformed to - the minimum extent necessary to make such provision valid and - enforceable. - d. No term or provision of this License shall be deemed waived and no - breach consented to unless such waiver or consent shall be in writing - and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with - respect to the Work licensed here. There are no understandings, - agreements or representations with respect to the Work not specified - here. Licensor shall not be bound by any additional provisions that - may appear in any communication from You. This License may not be - modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this - License were drafted utilizing the terminology of the Berne Convention - for the Protection of Literary and Artistic Works (as amended on - September 28, 1979), the Rome Convention of 1961, the WIPO Copyright - Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 - and the Universal Copyright Convention (as revised on July 24, 1971). - These rights and subject matter take effect in the relevant - jurisdiction in which the License terms are sought to be enforced - according to the corresponding provisions of the implementation of - those treaty provisions in the applicable national law. If the - standard suite of rights granted under applicable copyright law - includes additional rights not granted under this License, such - additional rights are deemed to be included in the License; this - License is not intended to restrict the license of any rights under - applicable law. - - -Creative Commons Notice - - Creative Commons is not a party to this License, and makes no warranty - whatsoever in connection with the Work. Creative Commons will not be - liable to You or any party on any legal theory for any damages - whatsoever, including without limitation any general, special, - incidental or consequential damages arising in connection to this - license. Notwithstanding the foregoing two (2) sentences, if Creative - Commons has expressly identified itself as the Licensor hereunder, it - shall have all rights and obligations of Licensor. - - Except for the limited purpose of indicating to the public that the - Work is licensed under the CCPL, Creative Commons does not authorize - the use by either party of the trademark "Creative Commons" or any - related trademark or logo of Creative Commons without the prior - written consent of Creative Commons. Any permitted use will be in - compliance with Creative Commons' then-current trademark usage - guidelines, as may be published on its website or otherwise made - available upon request from time to time. For the avoidance of doubt, - this trademark restriction does not form part of this License. - - Creative Commons may be contacted at http://creativecommons.org/. +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/README.md b/README.md index 1285950f6..0a79e9733 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,69 @@ -# [Bootstrap](http://getbootstrap.com) [![Bower version](https://badge.fury.io/bo/bootstrap.png)](http://badge.fury.io/bo/bootstrap) [![Build Status](https://secure.travis-ci.org/twbs/bootstrap.png)](http://travis-ci.org/twbs/bootstrap) [![devDependency Status](https://david-dm.org/twbs/bootstrap/dev-status.png?theme=shields.io)](https://david-dm.org/twbs/bootstrap#info=devDependencies) -[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap) +

+ + + -Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat), and maintained by the [core team](https://github.com/twbs?tab=members) with the massive support and involvement of the community. +

Bootstrap

-To get started, check out ! +

+ Sleek, intuitive, and powerful front-end framework for faster and easier web development. +
+ Explore Bootstrap docs » +
+
+ Bootstrap Themes + · + Job Board + · + Blog +

+

+ +
## Table of contents - - [Quick start](#quick-start) - - [Bugs and feature requests](#bugs-and-feature-requests) - - [Documentation](#documentation) - - [Compiling CSS and JavaScript](#compiling-css-and-javascript) - - [Contributing](#contributing) - - [Community](#community) - - [Versioning](#versioning) - - [Authors](#authors) - - [Copyright and license](#copyright-and-license) +- [Quick start](#quick-start) +- [Status](#status) +- [What's included](#whats-included) +- [Bugs and feature requests](#bugs-and-feature-requests) +- [Documentation](#documentation) +- [Contributing](#contributing) +- [Community](#community) +- [Versioning](#versioning) +- [Creators](#creators) +- [Copyright and license](#copyright-and-license) ## Quick start -Three quick start options are available: +Several quick start options are available: -- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.1.1.zip). -- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`. -- Install with [Bower](http://bower.io): `bower install bootstrap`. +- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.0.0-beta.2.zip) +- Clone the repo: `git clone https://github.com/twbs/bootstrap.git` +- Install with [npm](https://www.npmjs.com/): `npm install bootstrap@4.0.0-beta.2` +- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.0.0-beta.2` +- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.0.0-beta.2` +- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap -Pre` Sass: `Install-Package bootstrap.sass -Pre` (`-Pre` is only required until Bootstrap v4 has a stable release). -Read the [Getting Started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more. +Read the [Getting started page](https://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more. -### What's included +## Status + +[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com/) +[![Build Status](https://img.shields.io/travis/twbs/bootstrap/v4-dev.svg)](https://travis-ci.org/twbs/bootstrap) +[![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap) +[![Gem version](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap) +[![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue.svg)](https://atmospherejs.com/twbs/bootstrap) +[![Packagist Prerelease](https://img.shields.io/packagist/vpre/twbs/bootstrap.svg)](https://packagist.org/packages/twbs/bootstrap) +[![NuGet](https://img.shields.io/nuget/vpre/bootstrap.svg)](https://www.nuget.org/packages/bootstrap/absoluteLatest) +[![peerDependencies Status](https://img.shields.io/david/peer/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap?type=peer) +[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap?type=dev) +[![CSS gzip size](http://img.badgesize.io/twbs/bootstrap/v4-dev/dist/css/bootstrap.min.css?compression=gzip&label=CSS+gzip+size)](https://github.com/twbs/bootstrap/tree/v4-dev/dist/css/bootstrap.min.css) +[![JS gzip size](http://img.badgesize.io/twbs/bootstrap/v4-dev/dist/js/bootstrap.min.js?compression=gzip&label=JS+gzip+size)](https://github.com/twbs/bootstrap/tree/v4-dev/dist/js/bootstrap.min.js) + +[![Sauce Labs Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap) + +## What's included Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this: @@ -35,21 +71,25 @@ Within the download you'll find the following directories and files, logically g bootstrap/ ├── css/ │ ├── bootstrap.css +│ ├── bootstrap.css.map │ ├── bootstrap.min.css -│ ├── bootstrap-theme.css -│ └── bootstrap-theme.min.css -├── js/ -│ ├── bootstrap.js -│ └── bootstrap.min.js -└── fonts/ - ├── glyphicons-halflings-regular.eot - ├── glyphicons-halflings-regular.svg - ├── glyphicons-halflings-regular.ttf - └── glyphicons-halflings-regular.woff +│ ├── bootstrap.min.css.map +│ ├── bootstrap-grid.css +│ ├── bootstrap-grid.css.map +│ ├── bootstrap-grid.min.css +│ ├── bootstrap-grid.min.css.map +│ ├── bootstrap-reboot.css +│ ├── bootstrap-reboot.css.map +│ ├── bootstrap-reboot.min.css +│ └── bootstrap-reboot.min.css.map +└── js/ + ├── bootstrap.bundle.js + ├── bootstrap.bundle.min.js + ├── bootstrap.js + └── bootstrap.min.js ``` -We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). Fonts from Glyphicons are included, as is the optional Bootstrap theme. - +We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/web/tools/chrome-devtools/debug/readability/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. ## Bugs and feature requests @@ -59,115 +99,69 @@ Have a bug or a feature request? Please first read the [issue guidelines](https: ## Documentation -Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](http://jekyllrb.com) and publicly hosted on GitHub Pages at . The docs may also be run locally. +Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at . The docs may also be run locally. + +Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in the `_scripts.html` include. ### Running documentation locally -1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v1.x). - - **Windows users:** Read [this unofficial guide](https://github.com/juthilo/run-jekyll-on-windows/) to get Jekyll up and running without problems. We use Pygments for syntax highlighting, so make sure to read the sections on installing Python and Pygments. -2. From the root `/bootstrap` directory, run `jekyll serve` in the command line. - - **Windows users:** While we use Jekyll's `encoding` setting, you might still need to change the command prompt's character encoding ([code page](http://en.wikipedia.org/wiki/Windows_code_page)) to UTF-8 so Jekyll runs without errors. For Ruby 2.0.0, run `chcp 65001` first. For Ruby 1.9.3, you can alternatively do `SET LANG=en_EN.UTF-8`. -3. Open in your browser, and voilà. +1. Run through the [tooling setup](https://getbootstrap.com/docs/4.0/getting-started/build-tools/#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`. +2. Run `npm install` to install Node.js dependencies. +3. Run `npm run test` (or a specific NPM script) to rebuild distributed CSS and JavaScript files, as well as our docs assets. +4. From the root `/bootstrap` directory, run `npm run docs-serve` in the command line. +5. Open `http://localhost:9001` in your browser, and voilà. -Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/). +Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/home/). ### Documentation for previous releases -Documentation for v2.3.2 has been made available for the time being at while folks transition to Bootstrap 3. +- For v2.3.2: +- For v3.3.x: [Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download. - -## Compiling CSS and JavaScript - -Bootstrap uses [Grunt](http://gruntjs.com/) with convenient methods for working with the framework. It's how we compile our code, run tests, and more. To use it, install the required dependencies as directed and then run some Grunt commands. - -### Install Grunt - -From the command line: - -1. Install `grunt-cli` globally with `npm install -g grunt-cli`. -2. Navigate to the root `/bootstrap` directory, then run `npm install`. npm will look at [package.json](https://github.com/twbs/bootstrap/blob/master/package.json) and automatically install the necessary local dependencies listed there. - -When completed, you'll be able to run the various Grunt commands provided from the command line. - -**Unfamiliar with `npm`? Don't have node installed?** That's a-okay. npm stands for [node packaged modules](http://npmjs.org/) and is a way to manage development dependencies through node.js. [Download and install node.js](http://nodejs.org/download/) before proceeding. - -### Available Grunt commands - -#### Build - `grunt` -Run `grunt` to run tests locally and compile the CSS and JavaScript into `/dist`. **Uses [Less](http://lesscss.org/) and [UglifyJS](http://lisperator.net/uglifyjs/).** - -#### Only compile CSS and JavaScript - `grunt dist` -`grunt dist` creates the `/dist` directory with compiled files. **Uses [Less](http://lesscss.org/) and [UglifyJS](http://lisperator.net/uglifyjs/).** - -#### Tests - `grunt test` -Runs [JSHint](http://jshint.com) and [QUnit](http://qunitjs.com/) tests headlessly in [PhantomJS](http://phantomjs.org/) (used for CI). - -#### Watch - `grunt watch` -This is a convenience method for watching just Less files and automatically building them whenever you save. - -### Troubleshooting dependencies - -Should you encounter problems with installing dependencies or running Grunt commands, uninstall all previous dependency versions (global and local). Then, rerun `npm install`. - - - ## Contributing Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development. -Moreover, if your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the [Code Guide](http://github.com/mdo/code-guide), maintained by [Mark Otto](http://github.com/mdo). - -Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at . +Moreover, if your pull request contains JavaScript patches or features, you must include [relevant unit tests](https://github.com/twbs/bootstrap/tree/master/js/tests). All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo). +Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at . ## Community -Keep track of development and community news. - -- Follow [@getbootstrap on Twitter](http://twitter.com/getbootstrap). -- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com). -- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##twitter-bootstrap` channel. -- Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](http://stackoverflow.com/questions/tagged/twitter-bootstrap-3)). - +Get updates on Bootstrap's development and chat with the project maintainers and community members. +- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap). +- Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/). +- Join [the official Slack room](https://bootstrap-slack.herokuapp.com/). +- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel. +- Implementation help may be found at Stack Overflow (tagged [`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4)). +- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability. ## Versioning -For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under the Semantic Versioning guidelines. Sometimes we screw up, but we'll adhere to these rules whenever possible. +For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible. -Releases will be numbered with the following format: - -`..` - -And constructed with the following guidelines: - -- Breaking backward compatibility **bumps the major** while resetting minor and patch -- New additions without breaking backward compatibility **bumps the minor** while resetting the patch -- Bug fixes and misc changes **bumps only the patch** - -For more information on SemVer, please visit . +See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com/) contain summaries of the most noteworthy changes made in each release. - -## Authors +## Creators **Mark Otto** -- -- +- +- **Jacob Thornton** -- -- - +- +- ## Copyright and license -Code and documentation copyright 2011-2014 Twitter, Inc. Code released under [the MIT license](LICENSE). Docs released under [Creative Commons](docs/LICENSE). +Code and documentation copyright 2011-2017 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE). diff --git a/assets/brand/bootstrap-social-logo.png b/assets/brand/bootstrap-social-logo.png index 97a7d87b79f91f160512ac0faeb0d9c4dcdde194..fdd35e5d47d2f972897ca8a1a51529ea128730ab 100644 GIT binary patch literal 23959 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

#5Zkbg#kO3@vWB{L+1`A%9vJTIO&DOy^q1 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�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%0AKU#s< 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∓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 diff --git a/assets/css/docs.min.css b/assets/css/docs.min.css index 6f804ff3b..4cc6b2a0f 100644 --- a/assets/css/docs.min.css +++ b/assets/css/docs.min.css @@ -4,5 +4,5 @@ * Copyright 2011-2017 Twitter, Inc. * Licensed under the Creative Commons Attribution 3.0 Unported License. For * details, see https://creativecommons.org/licenses/by/3.0/. - */.bd-navbar{min-height:4rem;background-color:#563d7c;box-shadow:0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1)}@media (max-width:991px){.bd-navbar{padding-right:.5rem;padding-left:.5rem}.bd-navbar .navbar-nav-scroll{max-width:100%;height:2.5rem;margin-top:.25rem;overflow:hidden;font-size:.875rem}.bd-navbar .navbar-nav-scroll .navbar-nav{padding-bottom:2rem;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:1071}}}.bd-navbar .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem;color:#cdbfe3}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:hover{color:#fff;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:500}.bd-navbar .navbar-nav-svg{display:inline-block;width:1rem;height:1rem;vertical-align:text-top}.bd-navbar .dropdown-menu{font-size:.875rem}.bd-navbar .dropdown-item.active{font-weight:500;color:#212529;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.4rem .6rem;background-size:.75rem .75rem}.bd-masthead{position:relative;padding:3rem 15px}.bd-masthead h1{line-height:1}.bd-masthead .btn{width:100%;padding:.8rem 2rem;font-size:1.25rem;font-weight:500}.bd-masthead .carbonad{margin-top:0!important;margin-bottom:-3rem!important}@media (min-width:576px){.bd-masthead{padding-top:5rem;padding-bottom:5rem}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead h1{font-size:4rem}.bd-masthead .carbonad{margin-top:3rem!important}}.bd-pretext{overflow:hidden;resize:none}.half-rule{width:6rem;margin:2.5rem 0}.masthead-followup .bd-clipboard{display:none}.masthead-followup .highlight{padding:.5rem 0;background-color:transparent}.bd-featured-sites{margin-right:-1px;margin-left:-1px}.bd-featured-sites .col-6{padding:1px}.bd-featured-sites .img-fluid{margin-top:0}@media (min-width:768px){.bd-featured-sites .col-sm-3:first-child img{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.bd-featured-sites .col-sm-3:last-child img{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}#carbonads{position:static;display:block;max-width:400px;padding:15px 15px 15px 160px;margin:2rem 0;overflow:hidden;font-size:13px;line-height:1.4;text-align:left;background-color:rgba(0,0,0,.05)}#carbonads a{color:#333;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;border-radius:4px}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;color:#777!important}.bd-content{-ms-flex-order:1;order:1}.bd-content>h2[id],.bd-content>h3[id],.bd-content>h4[id]{pointer-events:none}.bd-content>h2[id]>a,.bd-content>h2[id]>div,.bd-content>h3[id]>a,.bd-content>h3[id]>div,.bd-content>h4[id]>a,.bd-content>h4[id]>div{pointer-events:auto}.bd-content>h2[id]::before,.bd-content>h3[id]::before,.bd-content>h4[id]::before{display:block;height:6rem;margin-top:-6rem;visibility:hidden;content:""}.bd-content>table{width:100%;max-width:100%;margin-bottom:1rem}@media (max-width:991px){.bd-content>table{display:block;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}}.bd-content>table>tbody>tr>td,.bd-content>table>tbody>tr>th,.bd-content>table>tfoot>tr>td,.bd-content>table>tfoot>tr>th,.bd-content>table>thead>tr>td,.bd-content>table>thead>tr>th{padding:.75rem;vertical-align:top;border:1px solid #e9ecef}.bd-content>table>tbody>tr>td>p:last-child,.bd-content>table>tbody>tr>th>p:last-child,.bd-content>table>tfoot>tr>td>p:last-child,.bd-content>table>tfoot>tr>th>p:last-child,.bd-content>table>thead>tr>td>p:last-child,.bd-content>table>thead>tr>th>p:last-child{margin-bottom:0}.bd-content>table td:first-child>code{white-space:nowrap}.bd-content>h2:not(:first-child){margin-top:3rem}.bd-content>h3{margin-top:1.5rem}.bd-content>ol li,.bd-content>ul li{margin-bottom:.25rem}@media (min-width:992px){.bd-content>ol,.bd-content>p,.bd-content>ul{max-width:80%}}.bd-title{margin-top:1rem;margin-bottom:.5rem;font-weight:300}@media (min-width:576px){.bd-title{font-size:3rem}}.bd-lead{font-size:1.125rem;font-weight:300}@media (min-width:576px){.bd-lead{max-width:80%;margin-bottom:1rem;font-size:1.5rem}}.bd-text-purple{color:#563d7c}.bd-text-purple-bright{color:#7952b3}.bd-pageheader{padding:2rem 15px;margin-bottom:1.5rem;color:#cdbfe3;text-align:center;background-color:#563d7c}.bd-pageheader .container{position:relative}.bd-pageheader h1{font-size:3rem;font-weight:400;color:#fff}.bd-pageheader p{margin-bottom:0;font-size:1.25rem;font-weight:300}@media (min-width:576px){.bd-pageheader{padding-top:4rem;padding-bottom:4rem;margin-bottom:3rem;text-align:left}.bd-pageheader .carbonad{margin:2rem 0 0!important}}@media (min-width:768px){.bd-pageheader h1{font-size:4rem}.bd-pageheader p{font-size:1.5rem}}@media (min-width:992px){.bd-pageheader h1,.bd-pageheader p{margin-right:380px}.bd-pageheader .carbonad{position:absolute;top:0;right:.75rem;margin:0!important}}#skippy{display:block;padding:1em;color:#fff;background-color:#563d7c;outline:0}#skippy .skiplink-text{padding:.5em;outline:1px dotted}.bd-toc{-ms-flex-order:2;order:2;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-toc{position:-webkit-sticky;position:sticky;top:4rem;max-height:calc(100vh - 4rem);overflow-y:auto}}.section-nav{padding-left:0;border-left:1px solid #eee}.section-nav ul{padding-left:1rem}.section-nav ul ul{display:none}.toc-entry{display:block}.toc-entry a{display:block;padding:.125rem 1.5rem;color:#99979c}.toc-entry a:hover{color:#007bff;text-decoration:none}.bd-sidebar{-ms-flex-order:0;order:0;border-bottom:1px solid rgba(0,0,0,.1)}@media (min-width:768px){.bd-sidebar{border-right:1px solid rgba(0,0,0,.1)}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-sidebar{position:-webkit-sticky;position:sticky;top:4rem;z-index:1000;max-height:calc(100vh - 4rem)}}}@media (min-width:1200px){.bd-sidebar{max-width:320px}}.bd-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-links{max-height:calc(100vh - 9rem);overflow-y:auto}}}@media (min-width:768px){.bd-links{display:block!important}}.bd-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px;border-bottom:1px solid rgba(0,0,0,.05)}.bd-search .form-control:focus{border-color:#7952b3;box-shadow:0 0 0 3px rgba(121,82,179,.25)}.bd-search-docs-toggle{line-height:1;color:#212529}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem 1.5rem;font-weight:500;color:rgba(0,0,0,.65)}.bd-toc-link:hover{color:rgba(0,0,0,.85);text-decoration:none}.bd-toc-item.active{margin-bottom:1rem}.bd-toc-item.active:not(:first-child){margin-top:1rem}.bd-toc-item.active>.bd-toc-link{color:rgba(0,0,0,.85)}.bd-toc-item.active>.bd-toc-link:hover{background-color:transparent}.bd-toc-item.active>.bd-sidenav{display:block}.bd-sidebar .nav>li>a{display:block;padding:.25rem 1.5rem;font-size:90%;color:rgba(0,0,0,.65)}.bd-sidebar .nav>li>a:hover{color:rgba(0,0,0,.85);text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:500;color:rgba(0,0,0,.85);background-color:transparent}.bd-footer{font-size:85%;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:500;color:#495057}.bd-footer a:focus,.bd-footer a:hover{color:#007bff}.bd-footer p{margin-bottom:0}@media (min-width:576px){.bd-footer{text-align:left}}.bd-footer-links{padding-left:0;margin-bottom:1rem}.bd-footer-links li{display:inline-block}.bd-footer-links li+li{margin-left:1rem}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.example-container{width:800px;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px;width:100%}.example-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.example-content-main{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-main{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}.example-content-secondary{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-secondary{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}}.bd-example-container{min-width:16rem;max-width:25rem;margin-right:auto;margin-left:auto}.bd-example-container-header{height:3rem;margin-bottom:.5rem;background-color:#fff;border-radius:.25rem}.bd-example-container-sidebar{float:right;width:4rem;height:8rem;background-color:#80bdff;border-radius:.25rem}.bd-example-container-body{height:8rem;margin-right:4.5rem;background-color:#957bbe;border-radius:.25rem}.bd-example-container-fluid{max-width:none}.bd-example{position:relative;padding:1rem;margin:1rem -15px;border:solid #f7f7f9;border-width:.2rem 0 0}.bd-example::after{display:block;clear:both;content:""}@media (min-width:576px){.bd-example{padding:1.5rem;margin-right:0;margin-bottom:0;margin-left:0;border-width:.2rem}}.bd-example+.clipboard+.highlight,.bd-example+.highlight{margin-top:0}.bd-example+p{margin-top:2rem}.bd-example .pos-f-t{position:relative;margin:-1rem}@media (min-width:576px){.bd-example .pos-f-t{margin:-1.5rem}}.bd-example>.form-control+.form-control{margin-top:.5rem}.bd-example>.alert+.alert,.bd-example>.nav+.nav,.bd-example>.navbar+.navbar,.bd-example>.progress+.btn,.bd-example>.progress+.progress{margin-top:1rem}.bd-example>.dropdown-menu:first-child{position:static;display:block}.bd-example>.form-group:last-child{margin-bottom:0}.bd-example>.close{float:none}.bd-example-type .table .type-info{color:#999;vertical-align:middle}.bd-example-type .table td{padding:1rem 0;border-color:#eee}.bd-example-type .table tr:first-child td{border-top:0}.bd-example-type h1,.bd-example-type h2,.bd-example-type h3,.bd-example-type h4,.bd-example-type h5,.bd-example-type h6{margin:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img{margin-left:.5rem}.bd-example>.btn-group{margin-top:.25rem;margin-bottom:.25rem}.bd-example>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.bd-example-control-sizing input[type=text]+input[type=text],.bd-example-control-sizing select{margin-top:.5rem}.bd-example-form .input-group{margin-bottom:.5rem}.bd-example>textarea.form-control{resize:vertical}.bd-example>.list-group{max-width:400px}.bd-example .fixed-top,.bd-example .sticky-top{position:static;margin:-1rem -1rem 1rem}.bd-example .fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.bd-example .fixed-top,.bd-example .sticky-top{margin:-1.5rem -1.5rem 1rem}.bd-example .fixed-bottom{margin:1rem -1.5rem -1.5rem}}.bd-example .pagination{margin-top:.5rem;margin-bottom:.5rem}.bd-example-modal{background-color:#fafafa}.bd-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bd-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.modal.show{z-index:1072}.modal.show .popover,.modal.show .tooltip{z-index:1073}.modal-backdrop{z-index:1071}.bd-example-tabs .nav-tabs{margin-bottom:1rem}.bd-example-tooltips{text-align:center}.bd-example-tooltips>.btn{margin-top:.25rem;margin-bottom:.25rem}.bs-tooltip-bottom-docs .arrow,.bs-tooltip-top-docs .arrow{left:50%}.bs-tooltip-left-docs .arrow,.bs-tooltip-right-docs .arrow{top:50%}.bd-example-popover-static{padding-bottom:1.5rem;background-color:#f9f9f9}.bd-example-popover-static .popover{position:relative;display:block;float:left;width:260px;margin:1.25rem}.bs-popover-bottom-docs .arrow,.bs-popover-top-docs .arrow{left:50%}.bs-popover-left-docs .arrow,.bs-popover-right-docs .arrow{top:50%}.tooltip-demo a{white-space:nowrap}.bd-example-tooltip-static .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.scrollspy-example-2{position:relative;height:350px;overflow:auto}.bd-example-border-utils [class^=border]{display:inline-block;width:5rem;height:5rem;margin:.25rem;background-color:#f5f5f5;border:1px solid}.highlight{padding:1rem;margin:1rem -15px;background-color:#f7f7f9;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem;margin-right:0;margin-left:0}}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#212529}.table-responsive .highlight pre{white-space:normal}.bd-table th small{display:block;font-weight:400;color:#999}.btn-bd-purple{font-weight:500;color:#7952b3;border-color:#7952b3}.btn-bd-purple:active,.btn-bd-purple:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-bd-yellow{font-weight:500;color:#ffe484;border-color:#ffe484}.btn-bd-yellow:active,.btn-bd-yellow:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.bd-callout{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:.25rem}.bd-callout h4{margin-top:0;margin-bottom:.25rem}.bd-callout p:last-child{margin-bottom:0}.bd-callout code{border-radius:.25rem}.bd-callout+.bd-callout{margin-top:-.25rem}.bd-callout-info{border-left-color:#5bc0de}.bd-callout-info h4{color:#5bc0de}.bd-callout-warning{border-left-color:#f0ad4e}.bd-callout-warning h4{color:#f0ad4e}.bd-callout-danger{border-left-color:#d9534f}.bd-callout-danger h4{color:#d9534f}.bd-examples .img-thumbnail{margin-bottom:.75rem}.bd-examples h4{margin-bottom:.25rem}.bd-examples p{margin-bottom:1.25rem}@media (max-width:480px){.bd-examples{margin-right:-.75rem;margin-left:-.75rem}.bd-examples>[class^=col-]{padding-right:.75rem;padding-left:.75rem}}.bd-team{margin-bottom:1.5rem}.bd-team .team-member{line-height:2rem;color:#555}.bd-team .team-member:focus,.bd-team .team-member:hover{color:#333}.bd-team .team-member:hover{text-decoration:none}.bd-team .github-btn{float:right;width:180px;height:1.25rem;margin-top:.25rem;border:0}.bd-team img{float:left;width:2rem;margin-right:.5rem;border-radius:.25rem}.bd-browser-bugs td p{margin-bottom:0}.bd-browser-bugs th:first-child{width:18%}.bd-brand-logos{display:table;width:100%;margin-bottom:1rem;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:.25rem}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}.bd-brand-item .bd-booticon{margin-right:auto;margin-left:auto}@media (min-width:768px){.bd-brand-item{display:table-cell;width:1%}.bd-brand-item+.bd-brand-item{border-top:0;border-left:1px solid #fff}.bd-brand-item h1{font-size:4rem}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:4rem;height:4rem;margin-right:.25rem;margin-left:.25rem;border-radius:.25rem}@media (min-width:768px){.color-swatch{width:6rem;height:6rem}}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cdbfe3}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.swatch-blue{background-color:#007bff;color:#fff}.swatch-indigo{background-color:#6610f2;color:#fff}.swatch-purple{background-color:#6f42c1;color:#fff}.swatch-pink{background-color:#e83e8c;color:#fff}.swatch-red{background-color:#dc3545;color:#fff}.swatch-orange{background-color:#fd7e14;color:#111}.swatch-yellow{background-color:#ffc107;color:#111}.swatch-green{background-color:#28a745;color:#fff}.swatch-teal{background-color:#20c997;color:#fff}.swatch-cyan{background-color:#17a2b8;color:#fff}.swatch-white{background-color:#fff;color:#111}.swatch-gray{background-color:#868e96;color:#fff}.swatch-gray-dark{background-color:#343a40;color:#fff}.swatch-primary{background-color:#007bff;color:#fff}.swatch-secondary{background-color:#868e96;color:#fff}.swatch-success{background-color:#28a745;color:#fff}.swatch-info{background-color:#17a2b8;color:#fff}.swatch-warning{background-color:#ffc107;color:#111}.swatch-danger{background-color:#dc3545;color:#fff}.swatch-light{background-color:#f8f9fa;color:#111}.swatch-dark{background-color:#343a40;color:#fff}.swatch-100{background-color:#f8f9fa;color:#111}.swatch-200{background-color:#e9ecef;color:#111}.swatch-300{background-color:#dee2e6;color:#111}.swatch-400{background-color:#ced4da;color:#111}.swatch-500{background-color:#adb5bd;color:#111}.swatch-600{background-color:#868e96;color:#fff}.swatch-700{background-color:#495057;color:#fff}.swatch-800{background-color:#343a40;color:#fff}.swatch-900{background-color:#212529;color:#fff}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;cursor:pointer;background-color:transparent;border:0;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}@media (min-width:768px){.bd-clipboard{display:block}}.hll{background-color:#ffc}.c{color:#999}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#f60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0a8}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#f60}.mh{color:#f60}.mi{color:#f60}.mo{color:#f60}.sb{color:#c30}.sc{color:#c30}.sd{font-style:italic;color:#c30}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#f60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}.language-bash::before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.language-powershell::before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.anchorjs-link{font-weight:400;color:rgba(0,123,255,.5);transition:color .16s linear}.anchorjs-link:hover{color:#007bff;text-decoration:none}.algolia-autocomplete{display:block!important;-ms-flex:1;flex:1}.algolia-autocomplete .ds-dropdown-menu{width:100%;min-width:0!important;max-width:none!important;padding:.75rem 0!important;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}@media (min-width:768px){.algolia-autocomplete .ds-dropdown-menu{width:175%}}.algolia-autocomplete .ds-dropdown-menu::before{display:none!important}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{padding:0!important;overflow:visible!important;background-color:transparent!important;border:0!important}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion{padding:0!important;overflow:visible!important}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{padding:.125rem 1rem!important;margin-top:0!important;font-size:.875rem!important;font-weight:500!important;color:#7952b3!important;border-bottom:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{float:none!important;padding-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:none!important;width:auto!important;padding:0!important;text-align:left!important}.algolia-autocomplete .algolia-docsearch-suggestion--content{float:none!important;width:auto!important;padding:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--content::before{display:none!important}.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header{padding-top:.75rem!important;margin-top:.75rem!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column{display:none!important}.algolia-autocomplete .algolia-docsearch-suggestion--title{display:block;padding:.25rem 1rem!important;margin-bottom:0!important;font-size:.875rem!important;font-weight:400!important}.algolia-autocomplete .algolia-docsearch-suggestion--text{padding:0 1rem .5rem!important;margin-top:-.25rem;font-size:.875rem!important;font-weight:400;line-height:1.25!important}.algolia-autocomplete .algolia-docsearch-footer{float:none!important;width:auto!important;height:auto!important;padding:.75rem 1rem 0;font-size:.75rem!important;line-height:1!important;color:#767676!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .algolia-docsearch-footer--logo{display:inline!important;overflow:visible!important;color:inherit!important;text-indent:0!important;background:0 0!important}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#5f2dab;background-color:rgba(154,132,187,.12)}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:inset 0 -2px 0 0 rgba(95,45,171,.5)!important}.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content{background-color:rgba(208,189,236,.15)!important} + */.bd-navbar{min-height:4rem;background-color:#563d7c;box-shadow:0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1)}@media (max-width:991px){.bd-navbar{padding-right:.5rem;padding-left:.5rem}.bd-navbar .navbar-nav-scroll{max-width:100%;height:2.5rem;margin-top:.25rem;overflow:hidden;font-size:.875rem}.bd-navbar .navbar-nav-scroll .navbar-nav{padding-bottom:2rem;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:1071}}}.bd-navbar .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem;color:#cdbfe3}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:hover{color:#fff;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:500}.bd-navbar .navbar-nav-svg{display:inline-block;width:1rem;height:1rem;vertical-align:text-top}.bd-navbar .dropdown-menu{font-size:.875rem}.bd-navbar .dropdown-item.active{font-weight:500;color:#212529;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.4rem .6rem;background-size:.75rem .75rem}.bd-masthead{position:relative;padding:3rem 15px}.bd-masthead h1{line-height:1}.bd-masthead .btn{width:100%;padding:.8rem 2rem;font-size:1.25rem;font-weight:500}.bd-masthead .carbonad{margin-top:0!important;margin-bottom:-3rem!important}@media (min-width:576px){.bd-masthead{padding-top:5rem;padding-bottom:5rem}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead h1{font-size:4rem}.bd-masthead .carbonad{margin-top:3rem!important}}.bd-pretext{overflow:hidden;resize:none}.half-rule{width:6rem;margin:2.5rem 0}.masthead-followup .bd-clipboard{display:none}.masthead-followup .highlight{padding:.5rem 0;background-color:transparent}.bd-featured-sites{margin-right:-1px;margin-left:-1px}.bd-featured-sites .col-6{padding:1px}.bd-featured-sites .img-fluid{margin-top:0}@media (min-width:768px){.bd-featured-sites .col-sm-3:first-child img{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.bd-featured-sites .col-sm-3:last-child img{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}#carbonads{position:static;display:block;max-width:400px;padding:15px 15px 15px 160px;margin:2rem 0;overflow:hidden;font-size:13px;line-height:1.4;text-align:left;background-color:rgba(0,0,0,.05)}#carbonads a{color:#333;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;border-radius:4px}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;color:#777!important}.bd-content{-ms-flex-order:1;order:1}.bd-content>h2[id],.bd-content>h3[id],.bd-content>h4[id]{pointer-events:none}.bd-content>h2[id]>a,.bd-content>h2[id]>div,.bd-content>h3[id]>a,.bd-content>h3[id]>div,.bd-content>h4[id]>a,.bd-content>h4[id]>div{pointer-events:auto}.bd-content>h2[id]::before,.bd-content>h3[id]::before,.bd-content>h4[id]::before{display:block;height:6rem;margin-top:-6rem;visibility:hidden;content:""}.bd-content>table{width:100%;max-width:100%;margin-bottom:1rem}@media (max-width:991px){.bd-content>table{display:block;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}}.bd-content>table>tbody>tr>td,.bd-content>table>tbody>tr>th,.bd-content>table>tfoot>tr>td,.bd-content>table>tfoot>tr>th,.bd-content>table>thead>tr>td,.bd-content>table>thead>tr>th{padding:.75rem;vertical-align:top;border:1px solid #e9ecef}.bd-content>table>tbody>tr>td>p:last-child,.bd-content>table>tbody>tr>th>p:last-child,.bd-content>table>tfoot>tr>td>p:last-child,.bd-content>table>tfoot>tr>th>p:last-child,.bd-content>table>thead>tr>td>p:last-child,.bd-content>table>thead>tr>th>p:last-child{margin-bottom:0}.bd-content>table td:first-child>code{white-space:nowrap}.bd-content>h2:not(:first-child){margin-top:3rem}.bd-content>h3{margin-top:1.5rem}.bd-content>ol li,.bd-content>ul li{margin-bottom:.25rem}@media (min-width:992px){.bd-content>ol,.bd-content>p,.bd-content>ul{max-width:80%}}.bd-title{margin-top:1rem;margin-bottom:.5rem;font-weight:300}@media (min-width:576px){.bd-title{font-size:3rem}}.bd-lead{font-size:1.125rem;font-weight:300}@media (min-width:576px){.bd-lead{max-width:80%;margin-bottom:1rem;font-size:1.5rem}}.bd-text-purple{color:#563d7c}.bd-text-purple-bright{color:#7952b3}.bd-pageheader{padding:2rem 15px;margin-bottom:1.5rem;color:#cdbfe3;text-align:center;background-color:#563d7c}.bd-pageheader .container{position:relative}.bd-pageheader h1{font-size:3rem;font-weight:400;color:#fff}.bd-pageheader p{margin-bottom:0;font-size:1.25rem;font-weight:300}@media (min-width:576px){.bd-pageheader{padding-top:4rem;padding-bottom:4rem;margin-bottom:3rem;text-align:left}.bd-pageheader .carbonad{margin:2rem 0 0!important}}@media (min-width:768px){.bd-pageheader h1{font-size:4rem}.bd-pageheader p{font-size:1.5rem}}@media (min-width:992px){.bd-pageheader h1,.bd-pageheader p{margin-right:380px}.bd-pageheader .carbonad{position:absolute;top:0;right:.75rem;margin:0!important}}#skippy{display:block;padding:1em;color:#fff;background-color:#563d7c;outline:0}#skippy .skiplink-text{padding:.5em;outline:1px dotted}.bd-toc{-ms-flex-order:2;order:2;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-toc{position:-webkit-sticky;position:sticky;top:4rem;max-height:calc(100vh - 4rem);overflow-y:auto}}.section-nav{padding-left:0;border-left:1px solid #eee}.section-nav ul{padding-left:1rem}.section-nav ul ul{display:none}.toc-entry{display:block}.toc-entry a{display:block;padding:.125rem 1.5rem;color:#99979c}.toc-entry a:hover{color:#007bff;text-decoration:none}.bd-sidebar{-ms-flex-order:0;order:0;border-bottom:1px solid rgba(0,0,0,.1)}@media (min-width:768px){.bd-sidebar{border-right:1px solid rgba(0,0,0,.1)}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-sidebar{position:-webkit-sticky;position:sticky;top:4rem;z-index:1000;max-height:calc(100vh - 4rem)}}}@media (min-width:1200px){.bd-sidebar{max-width:320px}}.bd-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-links{max-height:calc(100vh - 9rem);overflow-y:auto}}}@media (min-width:768px){.bd-links{display:block!important}}.bd-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px;border-bottom:1px solid rgba(0,0,0,.05)}.bd-search .form-control:focus{border-color:#7952b3;box-shadow:0 0 0 3px rgba(121,82,179,.25)}.bd-search-docs-toggle{line-height:1;color:#212529}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem 1.5rem;font-weight:500;color:rgba(0,0,0,.65)}.bd-toc-link:hover{color:rgba(0,0,0,.85);text-decoration:none}.bd-toc-item.active{margin-bottom:1rem}.bd-toc-item.active:not(:first-child){margin-top:1rem}.bd-toc-item.active>.bd-toc-link{color:rgba(0,0,0,.85)}.bd-toc-item.active>.bd-toc-link:hover{background-color:transparent}.bd-toc-item.active>.bd-sidenav{display:block}.bd-sidebar .nav>li>a{display:block;padding:.25rem 1.5rem;font-size:90%;color:rgba(0,0,0,.65)}.bd-sidebar .nav>li>a:hover{color:rgba(0,0,0,.85);text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:500;color:rgba(0,0,0,.85);background-color:transparent}.bd-footer{font-size:85%;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:500;color:#495057}.bd-footer a:focus,.bd-footer a:hover{color:#007bff}.bd-footer p{margin-bottom:0}@media (min-width:576px){.bd-footer{text-align:left}}.bd-footer-links{padding-left:0;margin-bottom:1rem}.bd-footer-links li{display:inline-block}.bd-footer-links li+li{margin-left:1rem}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.example-container{width:800px;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.example-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.example-content-main{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-main{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}.example-content-secondary{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-secondary{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}}.bd-example-container{min-width:16rem;max-width:25rem;margin-right:auto;margin-left:auto}.bd-example-container-header{height:3rem;margin-bottom:.5rem;background-color:#fff;border-radius:.25rem}.bd-example-container-sidebar{float:right;width:4rem;height:8rem;background-color:#80bdff;border-radius:.25rem}.bd-example-container-body{height:8rem;margin-right:4.5rem;background-color:#957bbe;border-radius:.25rem}.bd-example-container-fluid{max-width:none}.bd-example{position:relative;padding:1rem;margin:1rem -15px;border:solid #f7f7f9;border-width:.2rem 0 0}.bd-example::after{display:block;clear:both;content:""}@media (min-width:576px){.bd-example{padding:1.5rem;margin-right:0;margin-bottom:0;margin-left:0;border-width:.2rem}}.bd-example+.clipboard+.highlight,.bd-example+.highlight{margin-top:0}.bd-example+p{margin-top:2rem}.bd-example .pos-f-t{position:relative;margin:-1rem}@media (min-width:576px){.bd-example .pos-f-t{margin:-1.5rem}}.bd-example>.form-control+.form-control{margin-top:.5rem}.bd-example>.alert+.alert,.bd-example>.nav+.nav,.bd-example>.navbar+.navbar,.bd-example>.progress+.btn,.bd-example>.progress+.progress{margin-top:1rem}.bd-example>.dropdown-menu:first-child{position:static;display:block}.bd-example>.form-group:last-child{margin-bottom:0}.bd-example>.close{float:none}.bd-example-type .table .type-info{color:#999;vertical-align:middle}.bd-example-type .table td{padding:1rem 0;border-color:#eee}.bd-example-type .table tr:first-child td{border-top:0}.bd-example-type h1,.bd-example-type h2,.bd-example-type h3,.bd-example-type h4,.bd-example-type h5,.bd-example-type h6{margin:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img{margin-left:.5rem}.bd-example>.btn-group{margin-top:.25rem;margin-bottom:.25rem}.bd-example>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.bd-example-control-sizing input[type=text]+input[type=text],.bd-example-control-sizing select{margin-top:.5rem}.bd-example-form .input-group{margin-bottom:.5rem}.bd-example>textarea.form-control{resize:vertical}.bd-example>.list-group{max-width:400px}.bd-example .fixed-top,.bd-example .sticky-top{position:static;margin:-1rem -1rem 1rem}.bd-example .fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.bd-example .fixed-top,.bd-example .sticky-top{margin:-1.5rem -1.5rem 1rem}.bd-example .fixed-bottom{margin:1rem -1.5rem -1.5rem}}.bd-example .pagination{margin-top:.5rem;margin-bottom:.5rem}.bd-example-modal{background-color:#fafafa}.bd-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bd-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.modal{z-index:1072}.modal .popover,.modal .tooltip{z-index:1073}.modal-backdrop{z-index:1071}.bd-example-tabs .nav-tabs{margin-bottom:1rem}.bd-example-tooltips{text-align:center}.bd-example-tooltips>.btn{margin-top:.25rem;margin-bottom:.25rem}.bs-tooltip-bottom-docs .arrow,.bs-tooltip-top-docs .arrow{left:50%}.bs-tooltip-left-docs .arrow,.bs-tooltip-right-docs .arrow{top:50%}.bd-example-popover-static{padding-bottom:1.5rem;background-color:#f9f9f9}.bd-example-popover-static .popover{position:relative;display:block;float:left;width:260px;margin:1.25rem}.bs-popover-bottom-docs .arrow,.bs-popover-top-docs .arrow{left:50%}.bs-popover-left-docs .arrow,.bs-popover-right-docs .arrow{top:50%}.tooltip-demo a{white-space:nowrap}.bd-example-tooltip-static .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.scrollspy-example-2{position:relative;height:350px;overflow:auto}.bd-example-border-utils [class^=border]{display:inline-block;width:5rem;height:5rem;margin:.25rem;background-color:#f5f5f5;border:1px solid}.highlight{padding:1rem;margin-top:1rem;margin-bottom:1rem;background-color:#f7f7f9;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem}}.bd-content .highlight{margin-right:-15px;margin-left:-15px}@media (min-width:576px){.bd-content .highlight{margin-right:0;margin-left:0}}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#212529}.table-responsive .highlight pre{white-space:normal}.bd-table th small{display:block;font-weight:400;color:#999}.btn-bd-purple{font-weight:500;color:#7952b3;border-color:#7952b3}.btn-bd-purple:active,.btn-bd-purple:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-bd-yellow{font-weight:500;color:#ffe484;border-color:#ffe484}.btn-bd-yellow:active,.btn-bd-yellow:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.bd-callout{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:.25rem}.bd-callout h4{margin-top:0;margin-bottom:.25rem}.bd-callout p:last-child{margin-bottom:0}.bd-callout code{border-radius:.25rem}.bd-callout+.bd-callout{margin-top:-.25rem}.bd-callout-info{border-left-color:#5bc0de}.bd-callout-info h4{color:#5bc0de}.bd-callout-warning{border-left-color:#f0ad4e}.bd-callout-warning h4{color:#f0ad4e}.bd-callout-danger{border-left-color:#d9534f}.bd-callout-danger h4{color:#d9534f}.bd-examples .img-thumbnail{margin-bottom:.75rem}.bd-examples h4{margin-bottom:.25rem}.bd-examples p{margin-bottom:1.25rem}@media (max-width:480px){.bd-examples{margin-right:-.75rem;margin-left:-.75rem}.bd-examples>[class^=col-]{padding-right:.75rem;padding-left:.75rem}}.bd-team{margin-bottom:1.5rem}.bd-team .team-member{line-height:2rem;color:#555}.bd-team .team-member:focus,.bd-team .team-member:hover{color:#333}.bd-team .team-member:hover{text-decoration:none}.bd-team .github-btn{float:right;width:180px;height:1.25rem;margin-top:.25rem;border:0}.bd-team img{float:left;width:2rem;margin-right:.5rem;border-radius:.25rem}.bd-browser-bugs td p{margin-bottom:0}.bd-browser-bugs th:first-child{width:18%}.bd-brand-logos{display:table;width:100%;margin-bottom:1rem;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:.25rem}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}.bd-brand-item .bd-booticon{margin-right:auto;margin-left:auto}@media (min-width:768px){.bd-brand-item{display:table-cell;width:1%}.bd-brand-item+.bd-brand-item{border-top:0;border-left:1px solid #fff}.bd-brand-item h1{font-size:4rem}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:4rem;height:4rem;margin-right:.25rem;margin-left:.25rem;border-radius:.25rem}@media (min-width:768px){.color-swatch{width:6rem;height:6rem}}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cdbfe3}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.swatch-blue{color:#fff;background-color:#007bff}.swatch-indigo{color:#fff;background-color:#6610f2}.swatch-purple{color:#fff;background-color:#6f42c1}.swatch-pink{color:#fff;background-color:#e83e8c}.swatch-red{color:#fff;background-color:#dc3545}.swatch-orange{color:#111;background-color:#fd7e14}.swatch-yellow{color:#111;background-color:#ffc107}.swatch-green{color:#fff;background-color:#28a745}.swatch-teal{color:#fff;background-color:#20c997}.swatch-cyan{color:#fff;background-color:#17a2b8}.swatch-white{color:#111;background-color:#fff}.swatch-gray{color:#fff;background-color:#868e96}.swatch-gray-dark{color:#fff;background-color:#343a40}.swatch-primary{color:#fff;background-color:#007bff}.swatch-secondary{color:#fff;background-color:#868e96}.swatch-success{color:#fff;background-color:#28a745}.swatch-info{color:#fff;background-color:#17a2b8}.swatch-warning{color:#111;background-color:#ffc107}.swatch-danger{color:#fff;background-color:#dc3545}.swatch-light{color:#111;background-color:#f8f9fa}.swatch-dark{color:#fff;background-color:#343a40}.swatch-100{color:#111;background-color:#f8f9fa}.swatch-200{color:#111;background-color:#e9ecef}.swatch-300{color:#111;background-color:#dee2e6}.swatch-400{color:#111;background-color:#ced4da}.swatch-500{color:#111;background-color:#adb5bd}.swatch-600{color:#fff;background-color:#868e96}.swatch-700{color:#fff;background-color:#495057}.swatch-800{color:#fff;background-color:#343a40}.swatch-900{color:#fff;background-color:#212529}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;cursor:pointer;background-color:transparent;border:0;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}@media (min-width:768px){.bd-clipboard{display:block}}.hll{background-color:#ffc}.c{color:#999}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#f60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0a8}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#f60}.mh{color:#f60}.mi{color:#f60}.mo{color:#f60}.sb{color:#c30}.sc{color:#c30}.sd{font-style:italic;color:#c30}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#f60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}.language-bash::before,.language-sh::before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.language-powershell::before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.anchorjs-link{font-weight:400;color:rgba(0,123,255,.5);transition:color .16s linear}.anchorjs-link:hover{color:#007bff;text-decoration:none}.algolia-autocomplete{display:block!important;-ms-flex:1;flex:1}.algolia-autocomplete .ds-dropdown-menu{width:100%;min-width:0!important;max-width:none!important;padding:.75rem 0!important;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}@media (min-width:768px){.algolia-autocomplete .ds-dropdown-menu{width:175%}}.algolia-autocomplete .ds-dropdown-menu::before{display:none!important}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{padding:0!important;overflow:visible!important;background-color:transparent!important;border:0!important}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion{padding:0!important;overflow:visible!important}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{padding:.125rem 1rem!important;margin-top:0!important;font-size:.875rem!important;font-weight:500!important;color:#7952b3!important;border-bottom:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{float:none!important;padding-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:none!important;width:auto!important;padding:0!important;text-align:left!important}.algolia-autocomplete .algolia-docsearch-suggestion--content{float:none!important;width:auto!important;padding:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--content::before{display:none!important}.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header{padding-top:.75rem!important;margin-top:.75rem!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column{display:none!important}.algolia-autocomplete .algolia-docsearch-suggestion--title{display:block;padding:.25rem 1rem!important;margin-bottom:0!important;font-size:.875rem!important;font-weight:400!important}.algolia-autocomplete .algolia-docsearch-suggestion--text{padding:0 1rem .5rem!important;margin-top:-.25rem;font-size:.875rem!important;font-weight:400;line-height:1.25!important}.algolia-autocomplete .algolia-docsearch-footer{float:none!important;width:auto!important;height:auto!important;padding:.75rem 1rem 0;font-size:.75rem!important;line-height:1!important;color:#767676!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .algolia-docsearch-footer--logo{display:inline!important;overflow:visible!important;color:inherit!important;text-indent:0!important;background:0 0!important}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#5f2dab;background-color:rgba(154,132,187,.12)}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:inset 0 -2px 0 0 rgba(95,45,171,.5)!important}.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content{background-color:rgba(208,189,236,.15)!important} /*# sourceMappingURL=docs.min.css.map */ \ No newline at end of file diff --git a/assets/css/docs.min.css.map b/assets/css/docs.min.css.map index 0d8e04add..b0ac9d47c 100644 --- a/assets/css/docs.min.css.map +++ b/assets/css/docs.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../scss/docs.scss","../scss/_nav.scss","../../scss/mixins/_breakpoints.scss","../scss/_masthead.scss","../scss/_featured-sites.scss","../scss/_ads.scss","../scss/_content.scss","assets/css/docs.min.css","../scss/_page-header.scss","../scss/_skiplink.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_clearfix.scss","../scss/_responsive-tests.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_examples.scss","../scss/_team.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_colors.scss","../../scss/_functions.scss","../scss/_clipboard-js.scss","../scss/_syntax.scss","../scss/_anchor.scss","../scss/_algolia.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Docs (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License. For\n * details, see https://creativecommons.org/licenses/by/3.0/.\n */\n\n// Dev notes\n//\n// Background information on nomenclature and architecture decisions here.\n//\n// - Bootstrap functions, variables, and mixins are included for easy reuse.\n// Doing so gives us access to the same core utilities provided by Bootstrap.\n// For example, consistent media queries through those mixins.\n//\n// - Bootstrap's **docs variables** are prefixed with `$bd-`.\n// These custom colors avoid collision with the components Bootstrap provides.\n//\n// - Classes are prefixed with `.bd-`.\n// These classes indicate custom-built or modified components for the design\n// and layout of the Bootstrap docs. They are not included in our builds.\n//\n// Happy Bootstrapping!\n\n// Load Bootstrap variables and mixins\n@import \"../../scss/functions\";\n@import \"../../scss/variables\";\n@import \"../../scss/mixins\";\n\n// Load docs components\n@import \"variables\";\n@import \"nav\";\n@import \"masthead\";\n@import \"featured-sites\";\n@import \"ads\";\n@import \"content\";\n@import \"page-header\";\n@import \"skiplink\";\n@import \"sidebar\";\n@import \"footer\";\n@import \"component-examples\";\n@import \"responsive-tests\";\n@import \"buttons\";\n@import \"callouts\";\n@import \"examples\";\n@import \"team\";\n@import \"browser-bugs\";\n@import \"brand\";\n@import \"colors\";\n@import \"clipboard-js\";\n\n// Load docs dependencies\n@import \"syntax\";\n@import \"anchor\";\n@import \"algolia\";\n","//\n// Main navbar\n//\n\n.bd-navbar {\n min-height: 4rem;\n background-color: $bd-purple;\n box-shadow: 0 .5rem 1rem rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.1);\n\n @include media-breakpoint-down(md) {\n padding-right: .5rem;\n padding-left: .5rem;\n\n .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n font-size: .875rem;\n\n .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: 1071; // over everything in bootstrap\n }\n }\n\n .navbar-nav {\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: $bd-purple-light;\n\n &.active,\n &:hover {\n color: #fff;\n background-color: transparent;\n }\n\n &.active {\n font-weight: 500;\n }\n }\n }\n\n .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n }\n\n .dropdown-menu {\n font-size: .875rem;\n }\n\n .dropdown-item.active {\n font-weight: 500;\n color: $gray-900;\n background-color: transparent;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name)\n } @else if $min == null {\n @include media-breakpoint-down($name)\n }\n}\n","// scss-lint:disable ImportantRule\n\n.bd-masthead {\n position: relative;\n padding: 3rem ($grid-gutter-width / 2);\n // background-image: linear-gradient(45deg, #fafafa, #f5f5f5);\n\n h1 {\n line-height: 1;\n }\n\n .btn {\n width: 100%;\n padding: .8rem 2rem;\n font-size: 1.25rem;\n font-weight: 500;\n }\n\n .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 5rem;\n padding-bottom: 5rem;\n\n .carbonad {\n margin-bottom: 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n h1 {\n font-size: 4rem;\n }\n\n .carbonad {\n margin-top: 3rem !important;\n }\n }\n}\n\n.bd-pretext {\n overflow: hidden;\n resize: none;\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup {\n .bd-clipboard { display: none; }\n\n .highlight {\n padding: .5rem 0;\n background-color: transparent;\n }\n}\n",".bd-featured-sites {\n margin-right: -1px;\n margin-left: -1px;\n}\n.bd-featured-sites .col-6 {\n padding: 1px;\n}\n.bd-featured-sites .img-fluid {\n margin-top: 0;\n}\n\n@media (min-width: 768px) {\n .bd-featured-sites .col-sm-3:first-child img {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n .bd-featured-sites .col-sm-3:last-child img {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n}\n","// scss-lint:disable ImportantRule, IdSelector\n\n//\n// Carbon ads\n//\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 13px;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0,0,0,.05);\n\n a {\n color: #333;\n text-decoration: none;\n }\n\n @include media-breakpoint-up(sm) {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n","// scss-lint:disable IdSelector, NestingDepth, SelectorDepth, QualifyingElement\n\n//\n// Automatically style Markdown-based tables like a Bootstrap `.table`.\n//\n\n.bd-content {\n order: 1;\n\n // Hack the sticky header\n > h2[id],\n > h3[id],\n > h4[id] {\n pointer-events: none;\n\n > div,\n > a {\n pointer-events: auto;\n }\n\n &::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n visibility: hidden;\n content: \"\";\n }\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n\n @include media-breakpoint-down(md) {\n display: block;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n }\n\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n vertical-align: top;\n border: 1px solid $table-border-color;\n\n > p:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n // Prevent breaking of code (e.g., Grunt tasks list)\n td:first-child > code {\n white-space: nowrap;\n }\n }\n}\n\n//\n// Docs sections\n//\n\n.bd-content {\n > h2:not(:first-child) {\n margin-top: 3rem;\n }\n\n > h3 {\n margin-top: 1.5rem;\n }\n\n > ul li,\n > ol li {\n margin-bottom: .25rem;\n }\n\n @include media-breakpoint-up(lg) {\n > ul,\n > ol,\n > p {\n max-width: 80%;\n }\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n\n @include media-breakpoint-up(sm) {\n font-size: 3rem;\n }\n}\n\n.bd-lead {\n font-size: 1.125rem;\n font-weight: 300;\n\n @include media-breakpoint-up(sm) {\n max-width: 80%;\n margin-bottom: 1rem;\n font-size: 1.5rem;\n }\n}\n\n.bd-text-purple { color: $bd-purple; }\n.bd-text-purple-bright { color: $bd-purple-bright; }\n","/*!\n * Bootstrap Docs (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License. For\n * details, see https://creativecommons.org/licenses/by/3.0/.\n */\n.bd-navbar {\n min-height: 4rem;\n background-color: #563d7c;\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n\n@media (max-width: 991px) {\n .bd-navbar {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .bd-navbar .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n font-size: .875rem;\n }\n .bd-navbar .navbar-nav-scroll .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-navbar {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1071;\n }\n }\n}\n\n.bd-navbar .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: #cdbfe3;\n}\n\n.bd-navbar .navbar-nav .nav-link.active, .bd-navbar .navbar-nav .nav-link:hover {\n color: #fff;\n background-color: transparent;\n}\n\n.bd-navbar .navbar-nav .nav-link.active {\n font-weight: 500;\n}\n\n.bd-navbar .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n}\n\n.bd-navbar .dropdown-menu {\n font-size: .875rem;\n}\n\n.bd-navbar .dropdown-item.active {\n font-weight: 500;\n color: #212529;\n background-color: transparent;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n}\n\n.bd-masthead {\n position: relative;\n padding: 3rem 15px;\n}\n\n.bd-masthead h1 {\n line-height: 1;\n}\n\n.bd-masthead .btn {\n width: 100%;\n padding: .8rem 2rem;\n font-size: 1.25rem;\n font-weight: 500;\n}\n\n.bd-masthead .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n}\n\n@media (min-width: 576px) {\n .bd-masthead {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n .bd-masthead .carbonad {\n margin-bottom: 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-masthead h1 {\n font-size: 4rem;\n }\n .bd-masthead .carbonad {\n margin-top: 3rem !important;\n }\n}\n\n.bd-pretext {\n overflow: hidden;\n resize: none;\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup .bd-clipboard {\n display: none;\n}\n\n.masthead-followup .highlight {\n padding: .5rem 0;\n background-color: transparent;\n}\n\n.bd-featured-sites {\n margin-right: -1px;\n margin-left: -1px;\n}\n\n.bd-featured-sites .col-6 {\n padding: 1px;\n}\n\n.bd-featured-sites .img-fluid {\n margin-top: 0;\n}\n\n@media (min-width: 768px) {\n .bd-featured-sites .col-sm-3:first-child img {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n .bd-featured-sites .col-sm-3:last-child img {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n}\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 13px;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n#carbonads a {\n color: #333;\n text-decoration: none;\n}\n\n@media (min-width: 576px) {\n #carbonads {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n\n.bd-content {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.bd-content > h2[id],\n.bd-content > h3[id],\n.bd-content > h4[id] {\n pointer-events: none;\n}\n\n.bd-content > h2[id] > div,\n.bd-content > h2[id] > a,\n.bd-content > h3[id] > div,\n.bd-content > h3[id] > a,\n.bd-content > h4[id] > div,\n.bd-content > h4[id] > a {\n pointer-events: auto;\n}\n\n.bd-content > h2[id]::before,\n.bd-content > h3[id]::before,\n.bd-content > h4[id]::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n visibility: hidden;\n content: \"\";\n}\n\n.bd-content > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 991px) {\n .bd-content > table {\n display: block;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n}\n\n.bd-content > table > thead > tr > th,\n.bd-content > table > thead > tr > td,\n.bd-content > table > tbody > tr > th,\n.bd-content > table > tbody > tr > td,\n.bd-content > table > tfoot > tr > th,\n.bd-content > table > tfoot > tr > td {\n padding: 0.75rem;\n vertical-align: top;\n border: 1px solid #e9ecef;\n}\n\n.bd-content > table > thead > tr > th > p:last-child,\n.bd-content > table > thead > tr > td > p:last-child,\n.bd-content > table > tbody > tr > th > p:last-child,\n.bd-content > table > tbody > tr > td > p:last-child,\n.bd-content > table > tfoot > tr > th > p:last-child,\n.bd-content > table > tfoot > tr > td > p:last-child {\n margin-bottom: 0;\n}\n\n.bd-content > table td:first-child > code {\n white-space: nowrap;\n}\n\n.bd-content > h2:not(:first-child) {\n margin-top: 3rem;\n}\n\n.bd-content > h3 {\n margin-top: 1.5rem;\n}\n\n.bd-content > ul li,\n.bd-content > ol li {\n margin-bottom: .25rem;\n}\n\n@media (min-width: 992px) {\n .bd-content > ul,\n .bd-content > ol,\n .bd-content > p {\n max-width: 80%;\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-title {\n font-size: 3rem;\n }\n}\n\n.bd-lead {\n font-size: 1.125rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-lead {\n max-width: 80%;\n margin-bottom: 1rem;\n font-size: 1.5rem;\n }\n}\n\n.bd-text-purple {\n color: #563d7c;\n}\n\n.bd-text-purple-bright {\n color: #7952b3;\n}\n\n.bd-pageheader {\n padding: 2rem 15px;\n margin-bottom: 1.5rem;\n color: #cdbfe3;\n text-align: center;\n background-color: #563d7c;\n}\n\n.bd-pageheader .container {\n position: relative;\n}\n\n.bd-pageheader h1 {\n font-size: 3rem;\n font-weight: normal;\n color: #fff;\n}\n\n.bd-pageheader p {\n margin-bottom: 0;\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-pageheader {\n padding-top: 4rem;\n padding-bottom: 4rem;\n margin-bottom: 3rem;\n text-align: left;\n }\n .bd-pageheader .carbonad {\n margin: 2rem 0 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-pageheader h1 {\n font-size: 4rem;\n }\n .bd-pageheader p {\n font-size: 1.5rem;\n }\n}\n\n@media (min-width: 992px) {\n .bd-pageheader h1,\n .bd-pageheader p {\n margin-right: 380px;\n }\n .bd-pageheader .carbonad {\n position: absolute;\n top: 0;\n right: .75rem;\n margin: 0 !important;\n }\n}\n\n#skippy {\n display: block;\n padding: 1em;\n color: #fff;\n background-color: #563d7c;\n outline: 0;\n}\n\n#skippy .skiplink-text {\n padding: .5em;\n outline: 1px dotted;\n}\n\n.bd-toc {\n -ms-flex-order: 2;\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: .875rem;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-toc {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n max-height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n}\n\n.section-nav ul {\n padding-left: 1rem;\n}\n\n.section-nav ul ul {\n display: none;\n}\n\n.toc-entry {\n display: block;\n}\n\n.toc-entry a {\n display: block;\n padding: .125rem 1.5rem;\n color: #99979c;\n}\n\n.toc-entry a:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.bd-sidebar {\n -ms-flex-order: 0;\n order: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n@media (min-width: 768px) {\n .bd-sidebar {\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n }\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-sidebar {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n z-index: 1000;\n max-height: calc(100vh - 4rem);\n }\n }\n}\n\n@media (min-width: 1200px) {\n .bd-sidebar {\n max-width: 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-links {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n}\n\n@media (min-width: 768px) {\n .bd-links {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative;\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.bd-search .form-control:focus {\n border-color: #7952b3;\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: #212529;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-toc-link:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n}\n\n.bd-toc-item.active {\n margin-bottom: 1rem;\n}\n\n.bd-toc-item.active:not(:first-child) {\n margin-top: 1rem;\n}\n\n.bd-toc-item.active > .bd-toc-link {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.bd-toc-item.active > .bd-toc-link:hover {\n background-color: transparent;\n}\n\n.bd-toc-item.active > .bd-sidenav {\n display: block;\n}\n\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 500;\n color: rgba(0, 0, 0, 0.85);\n background-color: transparent;\n}\n\n.bd-footer {\n font-size: 85%;\n text-align: center;\n background-color: #f7f7f7;\n}\n\n.bd-footer a {\n font-weight: 500;\n color: #495057;\n}\n\n.bd-footer a:hover, .bd-footer a:focus {\n color: #007bff;\n}\n\n.bd-footer p {\n margin-bottom: 0;\n}\n\n@media (min-width: 576px) {\n .bd-footer {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n}\n\n.bd-footer-links li {\n display: inline-block;\n}\n\n.bd-footer-links li + li {\n margin-left: 1rem;\n}\n\n.bd-example-row .row + .row {\n margin-top: 1rem;\n}\n\n.bd-example-row .row > .col,\n.bd-example-row .row > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.bd-example-row .flex-items-top,\n.bd-example-row .flex-items-middle,\n.bd-example-row .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-highlight {\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.15);\n}\n\n.example-container {\n width: 800px;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n width: 100%;\n}\n\n.example-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.example-content-main {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-main {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-main {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n}\n\n.example-content-secondary {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-secondary {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-secondary {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n}\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: white;\n border-radius: .25rem;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: #80bdff;\n border-radius: .25rem;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: #957bbe;\n border-radius: .25rem;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem -15px;\n border: solid #f7f7f9;\n border-width: .2rem 0 0;\n}\n\n.bd-example::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n@media (min-width: 576px) {\n .bd-example {\n padding: 1.5rem;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n}\n\n.bd-example + .highlight,\n.bd-example + .clipboard + .highlight {\n margin-top: 0;\n}\n\n.bd-example + p {\n margin-top: 2rem;\n}\n\n.bd-example .pos-f-t {\n position: relative;\n margin: -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .pos-f-t {\n margin: -1.5rem;\n }\n}\n\n.bd-example > .form-control + .form-control {\n margin-top: .5rem;\n}\n\n.bd-example > .nav + .nav,\n.bd-example > .alert + .alert,\n.bd-example > .navbar + .navbar,\n.bd-example > .progress + .progress,\n.bd-example > .progress + .btn {\n margin-top: 1rem;\n}\n\n.bd-example > .dropdown-menu:first-child {\n position: static;\n display: block;\n}\n\n.bd-example > .form-group:last-child {\n margin-bottom: 0;\n}\n\n.bd-example > .close {\n float: none;\n}\n\n.bd-example-type .table .type-info {\n color: #999;\n vertical-align: middle;\n}\n\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin: 0;\n}\n\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n.bd-example > img + img {\n margin-left: .5rem;\n}\n\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n.bd-example .fixed-top,\n.bd-example .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n\n.bd-example .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .fixed-top,\n .bd-example .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .bd-example .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n}\n\n.bd-example-modal .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n}\n\n.bd-example-modal .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n}\n\n.modal.show {\n z-index: 1072;\n}\n\n.modal.show .tooltip, .modal.show .popover {\n z-index: 1073;\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n.bd-example-tooltips {\n text-align: center;\n}\n\n.bd-example-tooltips > .btn {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bs-tooltip-top-docs .arrow,\n.bs-tooltip-bottom-docs .arrow {\n left: 50%;\n}\n\n.bs-tooltip-right-docs .arrow,\n.bs-tooltip-left-docs .arrow {\n top: 50%;\n}\n\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n\n.bs-popover-top-docs .arrow,\n.bs-popover-bottom-docs .arrow {\n left: 50%;\n}\n\n.bs-popover-right-docs .arrow,\n.bs-popover-left-docs .arrow {\n top: 50%;\n}\n\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n border: 1px solid;\n}\n\n.highlight {\n padding: 1rem;\n margin: 1rem -15px;\n background-color: #f7f7f9;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n@media (min-width: 576px) {\n .highlight {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n\n.highlight pre code {\n font-size: inherit;\n color: #212529;\n}\n\n.table-responsive .highlight pre {\n white-space: normal;\n}\n\n.bd-table th small {\n display: block;\n font-weight: normal;\n color: #999;\n}\n\n.btn-bd-purple {\n font-weight: 500;\n color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-purple:hover, .btn-bd-purple:active {\n color: #fff;\n background-color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-yellow {\n font-weight: 500;\n color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-yellow:hover, .btn-bd-yellow:active {\n color: #2a2730;\n background-color: #ffe484;\n border-color: #ffe484;\n}\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: .25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: .25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n.bd-callout-info {\n border-left-color: #5bc0de;\n}\n\n.bd-callout-info h4 {\n color: #5bc0de;\n}\n\n.bd-callout-warning {\n border-left-color: #f0ad4e;\n}\n\n.bd-callout-warning h4 {\n color: #f0ad4e;\n}\n\n.bd-callout-danger {\n border-left-color: #d9534f;\n}\n\n.bd-callout-danger h4 {\n color: #d9534f;\n}\n\n.bd-examples .img-thumbnail {\n margin-bottom: .75rem;\n}\n\n.bd-examples h4 {\n margin-bottom: .25rem;\n}\n\n.bd-examples p {\n margin-bottom: 1.25rem;\n}\n\n@media (max-width: 480px) {\n .bd-examples {\n margin-right: -.75rem;\n margin-left: -.75rem;\n }\n .bd-examples > [class^=\"col-\"] {\n padding-right: .75rem;\n padding-left: .75rem;\n }\n}\n\n.bd-team {\n margin-bottom: 1.5rem;\n}\n\n.bd-team .team-member {\n line-height: 2rem;\n color: #555;\n}\n\n.bd-team .team-member:hover,\n.bd-team .team-member:focus {\n color: #333;\n}\n\n.bd-team .team-member:hover {\n text-decoration: none;\n}\n\n.bd-team .github-btn {\n float: right;\n width: 180px;\n height: 1.25rem;\n margin-top: .25rem;\n border: 0;\n}\n\n.bd-team img {\n float: left;\n width: 2rem;\n margin-right: .5rem;\n border-radius: .25rem;\n}\n\n.bd-browser-bugs td p {\n margin-bottom: 0;\n}\n\n.bd-browser-bugs th:first-child {\n width: 18%;\n}\n\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: .25rem;\n}\n\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.bd-brand-item .bd-booticon {\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden;\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: .25rem;\n}\n\n@media (min-width: 768px) {\n .color-swatch {\n width: 6rem;\n height: 6rem;\n }\n}\n\n.color-swatches .bd-purple {\n background-color: #563d7c;\n}\n\n.color-swatches .bd-purple-light {\n background-color: #cdbfe3;\n}\n\n.color-swatches .bd-purple-lighter {\n background-color: #e5e1ea;\n}\n\n.color-swatches .bd-gray {\n background-color: #f9f9f9;\n}\n\n.swatch-blue {\n background-color: #007bff;\n color: #fff;\n}\n\n.swatch-indigo {\n background-color: #6610f2;\n color: #fff;\n}\n\n.swatch-purple {\n background-color: #6f42c1;\n color: #fff;\n}\n\n.swatch-pink {\n background-color: #e83e8c;\n color: #fff;\n}\n\n.swatch-red {\n background-color: #dc3545;\n color: #fff;\n}\n\n.swatch-orange {\n background-color: #fd7e14;\n color: #111;\n}\n\n.swatch-yellow {\n background-color: #ffc107;\n color: #111;\n}\n\n.swatch-green {\n background-color: #28a745;\n color: #fff;\n}\n\n.swatch-teal {\n background-color: #20c997;\n color: #fff;\n}\n\n.swatch-cyan {\n background-color: #17a2b8;\n color: #fff;\n}\n\n.swatch-white {\n background-color: #fff;\n color: #111;\n}\n\n.swatch-gray {\n background-color: #868e96;\n color: #fff;\n}\n\n.swatch-gray-dark {\n background-color: #343a40;\n color: #fff;\n}\n\n.swatch-primary {\n background-color: #007bff;\n color: #fff;\n}\n\n.swatch-secondary {\n background-color: #868e96;\n color: #fff;\n}\n\n.swatch-success {\n background-color: #28a745;\n color: #fff;\n}\n\n.swatch-info {\n background-color: #17a2b8;\n color: #fff;\n}\n\n.swatch-warning {\n background-color: #ffc107;\n color: #111;\n}\n\n.swatch-danger {\n background-color: #dc3545;\n color: #fff;\n}\n\n.swatch-light {\n background-color: #f8f9fa;\n color: #111;\n}\n\n.swatch-dark {\n background-color: #343a40;\n color: #fff;\n}\n\n.swatch-100 {\n background-color: #f8f9fa;\n color: #111;\n}\n\n.swatch-200 {\n background-color: #e9ecef;\n color: #111;\n}\n\n.swatch-300 {\n background-color: #dee2e6;\n color: #111;\n}\n\n.swatch-400 {\n background-color: #ced4da;\n color: #111;\n}\n\n.swatch-500 {\n background-color: #adb5bd;\n color: #111;\n}\n\n.swatch-600 {\n background-color: #868e96;\n color: #fff;\n}\n\n.swatch-700 {\n background-color: #495057;\n color: #fff;\n}\n\n.swatch-800 {\n background-color: #343a40;\n color: #fff;\n}\n\n.swatch-900 {\n background-color: #212529;\n color: #fff;\n}\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n}\n\n.bd-clipboard + .highlight {\n margin-top: 0;\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: .25rem;\n}\n\n.btn-clipboard:hover {\n color: #fff;\n background-color: #027de7;\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n\n.hll {\n background-color: #ffc;\n}\n\n.c {\n color: #999;\n}\n\n.k {\n color: #069;\n}\n\n.o {\n color: #555;\n}\n\n.cm {\n color: #999;\n}\n\n.cp {\n color: #099;\n}\n\n.c1 {\n color: #999;\n}\n\n.cs {\n color: #999;\n}\n\n.gd {\n background-color: #fcc;\n border: 1px solid #c00;\n}\n\n.ge {\n font-style: italic;\n}\n\n.gr {\n color: #f00;\n}\n\n.gh {\n color: #030;\n}\n\n.gi {\n background-color: #cfc;\n border: 1px solid #0c0;\n}\n\n.go {\n color: #aaa;\n}\n\n.gp {\n color: #009;\n}\n\n.gu {\n color: #030;\n}\n\n.gt {\n color: #9c6;\n}\n\n.kc {\n color: #069;\n}\n\n.kd {\n color: #069;\n}\n\n.kn {\n color: #069;\n}\n\n.kp {\n color: #069;\n}\n\n.kr {\n color: #069;\n}\n\n.kt {\n color: #078;\n}\n\n.m {\n color: #f60;\n}\n\n.s {\n color: #d44950;\n}\n\n.na {\n color: #4f9fcf;\n}\n\n.nb {\n color: #366;\n}\n\n.nc {\n color: #0a8;\n}\n\n.no {\n color: #360;\n}\n\n.nd {\n color: #99f;\n}\n\n.ni {\n color: #999;\n}\n\n.ne {\n color: #c00;\n}\n\n.nf {\n color: #c0f;\n}\n\n.nl {\n color: #99f;\n}\n\n.nn {\n color: #0cf;\n}\n\n.nt {\n color: #2f6f9f;\n}\n\n.nv {\n color: #033;\n}\n\n.ow {\n color: #000;\n}\n\n.w {\n color: #bbb;\n}\n\n.mf {\n color: #f60;\n}\n\n.mh {\n color: #f60;\n}\n\n.mi {\n color: #f60;\n}\n\n.mo {\n color: #f60;\n}\n\n.sb {\n color: #c30;\n}\n\n.sc {\n color: #c30;\n}\n\n.sd {\n font-style: italic;\n color: #c30;\n}\n\n.s2 {\n color: #c30;\n}\n\n.se {\n color: #c30;\n}\n\n.sh {\n color: #c30;\n}\n\n.si {\n color: #a00;\n}\n\n.sx {\n color: #c30;\n}\n\n.sr {\n color: #3aa;\n}\n\n.s1 {\n color: #c30;\n}\n\n.ss {\n color: #fc3;\n}\n\n.bp {\n color: #366;\n}\n\n.vc {\n color: #033;\n}\n\n.vg {\n color: #033;\n}\n\n.vi {\n color: #033;\n}\n\n.il {\n color: #f60;\n}\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt {\n color: #999;\n}\n\n.language-bash::before {\n color: #009;\n content: \"$ \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.anchorjs-link {\n font-weight: normal;\n color: rgba(0, 123, 255, 0.5);\n transition: color .16s linear;\n}\n\n.anchorjs-link:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.algolia-autocomplete {\n display: block !important;\n -ms-flex: 1;\n flex: 1;\n}\n\n.algolia-autocomplete .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);\n}\n\n@media (min-width: 768px) {\n .algolia-autocomplete .ds-dropdown-menu {\n width: 175%;\n }\n}\n\n.algolia-autocomplete .ds-dropdown-menu::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu .ds-suggestions {\n margin-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: .875rem !important;\n font-weight: 500 !important;\n color: #7952b3 !important;\n border-bottom: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--title {\n display: block;\n padding: .25rem 1rem !important;\n margin-bottom: 0 !important;\n font-size: .875rem !important;\n font-weight: 400 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text {\n padding: 0 1rem .5rem !important;\n margin-top: -.25rem;\n font-size: .875rem !important;\n font-weight: normal;\n line-height: 1.25 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: .75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, 0.12);\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, 0.5) !important;\n}\n\n.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, 0.15) !important;\n}\n/*# sourceMappingURL=docs.min.css.map */","// scss-lint:disable ImportantRule\n\n.bd-pageheader {\n padding: 2rem ($grid-gutter-width / 2);\n margin-bottom: 1.5rem;\n color: $bd-purple-light;\n text-align: center;\n background-color: $bd-purple;\n\n .container {\n position: relative;\n }\n\n h1 {\n font-size: 3rem;\n font-weight: normal;\n color: #fff;\n }\n\n p {\n margin-bottom: 0;\n font-size: 1.25rem;\n font-weight: 300;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 4rem;\n padding-bottom: 4rem;\n margin-bottom: 3rem;\n text-align: left;\n\n .carbonad {\n margin: 2rem 0 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n h1 {\n font-size: 4rem;\n }\n\n p {\n font-size: 1.5rem;\n }\n }\n\n @include media-breakpoint-up(lg) {\n h1,\n p {\n margin-right: 380px;\n }\n\n .carbonad {\n position: absolute;\n top: 0;\n right: .75rem; // offset from the .container's padding\n margin: 0 !important;\n }\n }\n}\n","// scss-lint:disable IdSelector\n\n#skippy {\n display: block;\n padding: 1em;\n color: #fff;\n background-color: $bd-purple;\n outline: 0;\n\n .skiplink-text {\n padding: .5em;\n outline: 1px dotted;\n }\n}\n","// scss-lint:disable VendorPrefix\n\n//\n// Right side table of contents\n//\n\n.bd-toc {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n max-height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: .875rem;\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n\n ul {\n padding-left: 1rem;\n\n ul {\n display: none;\n }\n }\n}\n\n.toc-entry {\n display: block;\n\n a {\n display: block;\n padding: .125rem 1.5rem;\n color: #99979c;\n\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n }\n}\n\n//\n// Left side navigation\n//\n\n.bd-sidebar {\n order: 0;\n // background-color: #f5f2f9;\n border-bottom: 1px solid rgba(0,0,0,.1);\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n z-index: 1000;\n max-height: calc(100vh - 4rem);\n }\n border-right: 1px solid rgba(0,0,0,.1);\n }\n\n @include media-breakpoint-up(xl) {\n max-width: 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n\n // Override collapse behaviors\n @include media-breakpoint-up(md) {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative; // To contain the Algolia search\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0,0,0,.05);\n\n .form-control:focus {\n border-color: $bd-purple-bright;\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: $gray-900;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 500;\n color: rgba(0,0,0,.65);\n\n &:hover {\n color: rgba(0,0,0,.85);\n text-decoration: none;\n }\n}\n\n.bd-toc-item {\n &.active {\n margin-bottom: 1rem;\n\n &:not(:first-child) {\n margin-top: 1rem;\n }\n\n > .bd-toc-link {\n color: rgba(0,0,0,.85);\n\n &:hover {\n background-color: transparent;\n }\n }\n\n > .bd-sidenav {\n display: block;\n }\n }\n}\n\n// All levels of nav\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0,0,0,.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0,0,0,.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 500;\n color: rgba(0,0,0,.85);\n background-color: transparent;\n}\n","//\n// Footer\n//\n\n.bd-footer {\n font-size: 85%;\n text-align: center;\n background-color: #f7f7f7;\n\n a {\n font-weight: 500;\n color: $gray-700;\n\n &:hover,\n &:focus {\n color: $link-color;\n }\n }\n\n p {\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(sm) {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n\n li {\n display: inline-block;\n\n + li {\n margin-left: 1rem;\n }\n }\n}\n","// scss-lint:disable QualifyingElement\n\n//\n// Grid examples\n//\n\n.bd-example-row {\n .row + .row {\n margin-top: 1rem;\n }\n\n .row {\n > .col,\n > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86,61,124,.15);\n border: 1px solid rgba(86,61,124,.2);\n }\n }\n\n .flex-items-top,\n .flex-items-middle,\n .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255,0,0,.1);\n }\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255,0,0,.1);\n}\n\n.bd-highlight {\n background-color: rgba($bd-purple, .15);\n border: 1px solid rgba($bd-purple, .15);\n}\n\n// Grid mixins\n.example-container {\n width: 800px;\n @include make-container();\n}\n\n.example-row {\n @include make-row();\n}\n\n.example-content-main {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(8);\n }\n}\n\n.example-content-secondary {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(4);\n }\n}\n\n\n//\n// Container illustrations\n//\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: lighten($blue, 50%);\n border-radius: .25rem;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: lighten($blue, 25%);\n border-radius: .25rem;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: lighten($bd-purple, 25%);\n border-radius: .25rem;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n\n//\n// Docs examples\n//\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem (-$grid-gutter-width / 2);\n border: solid #f7f7f9;\n border-width: .2rem 0 0;\n @include clearfix();\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n\n + .highlight,\n + .clipboard + .highlight {\n margin-top: 0;\n }\n\n + p {\n margin-top: 2rem;\n }\n\n .pos-f-t {\n position: relative;\n margin: -1rem;\n\n @include media-breakpoint-up(sm) {\n margin: -1.5rem;\n }\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress,\n > .progress + .btn {\n margin-top: 1rem;\n }\n\n > .dropdown-menu:first-child {\n position: static;\n display: block;\n }\n\n > .form-group:last-child {\n margin-bottom: 0;\n }\n}\n\n.bd-example > .close {\n float: none;\n}\n\n// Typography\n.bd-example-type .table .type-info {\n color: #999;\n vertical-align: middle;\n}\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin: 0;\n}\n\n// Contextual background colors\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n// Images\n.bd-example > img {\n + img {\n margin-left: .5rem;\n }\n}\n\n// Buttons\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n// Forms\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n// List groups\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n// Navbars\n.bd-example {\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n}\n\n// Pagination\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n// Example modals\n.bd-example-modal {\n background-color: #fafafa;\n\n .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n }\n\n .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n }\n}\n\n.modal.show {\n z-index: 1072;\n\n .tooltip, .popover {\n z-index: 1073;\n }\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n\n// Example tabbable tabs\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n// Tooltips\n.bd-example-tooltips {\n text-align: center;\n}\n.bd-example-tooltips > .btn {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n.bs-tooltip-top-docs,\n.bs-tooltip-bottom-docs {\n .arrow {\n left: 50%;\n }\n}\n.bs-tooltip-right-docs,\n.bs-tooltip-left-docs {\n .arrow {\n top: 50%;\n }\n}\n\n// Popovers\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n.bs-popover-top-docs,\n.bs-popover-bottom-docs {\n .arrow {\n left: 50%;\n }\n}\n.bs-popover-right-docs,\n.bs-popover-left-docs {\n .arrow {\n top: 50%;\n }\n}\n\n// Tooltips\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n// Scrollspy demo on fixed height div\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils {\n [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n border: 1px solid;\n }\n}\n\n//\n// Code snippets\n//\n\n.highlight {\n padding: 1rem;\n margin: 1rem (-$grid-gutter-width / 2);\n background-color: #f7f7f9;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n }\n}\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n.highlight pre code {\n font-size: inherit;\n color: $gray-900; // Effectively the base text color\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n margin-right: auto;\n margin-left: auto;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n width: 100%;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// scss-lint:disable ImportantRule\n\n//\n// Responsive tests\n//\n\n// Responsive (scrollable) doc tables\n.table-responsive .highlight pre {\n white-space: normal;\n}\n\n// Utility classes table\n.bd-table th small {\n display: block;\n font-weight: normal;\n color: #999;\n}\n","// Buttons\n//\n// Custom buttons for the docs.\n\n.btn-bd-purple {\n font-weight: 500;\n color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n\n &:hover,\n &:active {\n color: #fff;\n background-color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n }\n}\n\n.btn-bd-yellow {\n font-weight: 500;\n color: $bd-yellow;\n border-color: $bd-yellow;\n\n &:hover,\n &:active {\n color: $bd-graphite;\n background-color: $bd-yellow;\n border-color: $bd-yellow;\n }\n}\n","//\n// Callouts\n//\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: .25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: .25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n// Variations\n@mixin bs-callout-variant($color) {\n border-left-color: $color;\n\n h4 { color: $color; }\n}\n\n.bd-callout-info { @include bs-callout-variant($bd-info); }\n.bd-callout-warning { @include bs-callout-variant($bd-warning); }\n.bd-callout-danger { @include bs-callout-variant($bd-danger); }\n","//\n// Examples\n//\n\n.bd-examples .img-thumbnail {\n margin-bottom: .75rem;\n}\n.bd-examples h4 {\n margin-bottom: .25rem;\n}\n.bd-examples p {\n margin-bottom: 1.25rem;\n}\n\n@media (max-width: 480px) {\n .bd-examples {\n margin-right: -.75rem;\n margin-left: -.75rem;\n }\n .bd-examples > [class^=\"col-\"] {\n padding-right: .75rem;\n padding-left: .75rem;\n }\n}\n",".bd-team {\n margin-bottom: 1.5rem;\n\n .team-member {\n line-height: 2rem;\n color: #555;\n }\n\n .team-member:hover,\n .team-member:focus {\n color: #333;\n }\n\n .team-member:hover {\n text-decoration: none;\n }\n\n .github-btn {\n float: right;\n width: 180px;\n height: 1.25rem;\n margin-top: .25rem;\n border: 0;\n }\n\n img {\n float: left;\n width: 2rem;\n margin-right: .5rem;\n border-radius: .25rem;\n }\n}\n","// Wall of Browser Bugs\n//\n// Better display for the responsive table on the Wall of Browser Bugs.\n\n.bd-browser-bugs {\n td p {\n margin-bottom: 0;\n }\n th:first-child {\n width: 18%;\n }\n}\n","//\n// Brand guidelines\n//\n\n// Logo series wrapper\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: .25rem;\n}\n\n// Individual items\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n// Heading content within\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n.bd-brand-item .bd-booticon {\n margin-right: auto;\n margin-left: auto;\n}\n\n// Make the icons stand out on what is/isn't okay\n// .bd-brand-item .glyphicon {\n// width: 30px;\n// height: 30px;\n// margin: 10px auto -10px;\n// line-height: 30px;\n// color: #fff;\n// border-radius: 50%;\n// }\n// .bd-brand-item .glyphicon-ok {\n// background-color: #5cb85c;\n// }\n// .bd-brand-item .glyphicon-remove {\n// background-color: #d9534f;\n// }\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n\n//\n// Color swatches\n//\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden; // clearfix\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: .25rem;\n\n @media (min-width: 768px) {\n width: 6rem;\n height: 6rem;\n }\n}\n\n// Docs colors\n.color-swatches {\n .bd-purple {\n background-color: $bd-purple;\n }\n .bd-purple-light {\n background-color: $bd-purple-light;\n }\n .bd-purple-lighter {\n background-color: #e5e1ea;\n }\n .bd-gray {\n background-color: #f9f9f9;\n }\n}\n","//\n// Docs color palette classes\n//\n\n@each $color, $value in $colors {\n .swatch-#{$color} {\n background-color: #{$value};\n @include color-yiq($value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .swatch-#{$color} {\n background-color: #{$value};\n @include color-yiq($value);\n }\n}\n\n@each $color, $value in $grays {\n .swatch-#{$color} {\n background-color: #{$value};\n @include color-yiq($value);\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@mixin color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= 150) {\n color: #111;\n } @else {\n color: #fff;\n }\n}\n\n// Retreive color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function grayscale($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, #000, #fff);\n\n @if $level < 0 {\n // Lighter values need a quick double negative for the Sass math to work\n @return mix($color-base, $color, $level * -1 * $theme-color-interval);\n } @else {\n @return mix($color-base, $color, $level * $theme-color-interval);\n }\n}\n","// clipboard.js\n//\n// JS-based `Copy` buttons for code snippets.\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n\n + .highlight {\n margin-top: 0;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: .25rem;\n\n &:hover {\n color: #fff;\n background-color: #027de7;\n }\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n",".hll { background-color: #ffc; }\n.c { color: #999; }\n.k { color: #069; }\n.o { color: #555; }\n.cm { color: #999; }\n.cp { color: #099; }\n.c1 { color: #999; }\n.cs { color: #999; }\n.gd { background-color: #fcc; border: 1px solid #c00; }\n.ge { font-style: italic; }\n.gr { color: #f00; }\n.gh { color: #030; }\n.gi { background-color: #cfc; border: 1px solid #0c0; }\n.go { color: #aaa; }\n.gp { color: #009; }\n.gu { color: #030; }\n.gt { color: #9c6; }\n.kc { color: #069; }\n.kd { color: #069; }\n.kn { color: #069; }\n.kp { color: #069; }\n.kr { color: #069; }\n.kt { color: #078; }\n.m { color: #f60; }\n.s { color: #d44950; }\n.na { color: #4f9fcf; }\n.nb { color: #366; }\n.nc { color: #0a8; }\n.no { color: #360; }\n.nd { color: #99f; }\n.ni { color: #999; }\n.ne { color: #c00; }\n.nf { color: #c0f; }\n.nl { color: #99f; }\n.nn { color: #0cf; }\n.nt { color: #2f6f9f; }\n.nv { color: #033; }\n.ow { color: #000; }\n.w { color: #bbb; }\n.mf { color: #f60; }\n.mh { color: #f60; }\n.mi { color: #f60; }\n.mo { color: #f60; }\n.sb { color: #c30; }\n.sc { color: #c30; }\n.sd { font-style: italic; color: #c30; }\n.s2 { color: #c30; }\n.se { color: #c30; }\n.sh { color: #c30; }\n.si { color: #a00; }\n.sx { color: #c30; }\n.sr { color: #3aa; }\n.s1 { color: #c30; }\n.ss { color: #fc3; }\n.bp { color: #366; }\n.vc { color: #033; }\n.vg { color: #033; }\n.vi { color: #033; }\n.il { color: #f60; }\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt { color: #999; }\n\n.language-bash::before { color: #009; content: \"$ \"; user-select: none; }\n.language-powershell::before { color: #009; content: \"PM> \"; user-select: none; }\n","// scss-lint:disable ImportantRule\n\n.anchorjs-link {\n font-weight: normal;\n color: rgba($link-color, .5);\n transition: color .16s linear;\n\n &:hover {\n color: $link-color;\n text-decoration: none;\n }\n}\n","// Docsearch overrides\n//\n// `!important` indicates overridden properties.\n.algolia-autocomplete {\n display: block !important;\n flex: 1;\n\n // Menu container\n .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0,0,0,.1);\n box-shadow: 0 .5rem 1rem rgba(0,0,0,.175);\n\n @include media-breakpoint-up(md) {\n width: 175%;\n }\n\n // Caret\n &::before {\n display: none !important;\n }\n\n [class^=ds-dataset-] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n }\n\n .ds-suggestions {\n margin-top: 0 !important;\n }\n }\n\n .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n }\n\n .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: .875rem !important;\n font-weight: 500 !important;\n color: $bd-purple-bright !important;\n border-bottom: 0 !important;\n }\n\n .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n }\n\n // Section header\n .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n }\n\n .algolia-docsearch-suggestion--content {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n\n // Vertical divider between column header and content\n &::before {\n display: none !important;\n }\n }\n\n .ds-suggestion {\n &:not(:first-child) {\n .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0,0,0,.1);\n }\n }\n\n .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n }\n }\n\n .algolia-docsearch-suggestion--title {\n display: block;\n padding: .25rem 1rem !important;\n margin-bottom: 0 !important;\n font-size: .875rem !important;\n font-weight: 400 !important;\n }\n\n .algolia-docsearch-suggestion--text {\n padding: 0 1rem .5rem !important;\n margin-top: -.25rem;\n font-size: .875rem !important;\n font-weight: normal;\n line-height: 1.25 !important;\n }\n\n .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: .75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0,0,0,.1);\n }\n\n .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n }\n\n .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, .12);\n }\n\n .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95,45,171,.5) !important;\n }\n\n .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208,189,236,.15) !important;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../scss/docs.scss","../scss/_nav.scss","../../scss/mixins/_breakpoints.scss","../scss/_masthead.scss","../scss/_featured-sites.scss","../scss/_ads.scss","../scss/_content.scss","assets/css/docs.min.css","../scss/_page-header.scss","../scss/_skiplink.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_clearfix.scss","../scss/_responsive-tests.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_examples.scss","../scss/_team.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_colors.scss","../scss/_clipboard-js.scss","../scss/_syntax.scss","../scss/_anchor.scss","../scss/_algolia.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Docs (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License. For\n * details, see https://creativecommons.org/licenses/by/3.0/.\n */\n\n// Dev notes\n//\n// Background information on nomenclature and architecture decisions here.\n//\n// - Bootstrap functions, variables, and mixins are included for easy reuse.\n// Doing so gives us access to the same core utilities provided by Bootstrap.\n// For example, consistent media queries through those mixins.\n//\n// - Bootstrap's **docs variables** are prefixed with `$bd-`.\n// These custom colors avoid collision with the components Bootstrap provides.\n//\n// - Classes are prefixed with `.bd-`.\n// These classes indicate custom-built or modified components for the design\n// and layout of the Bootstrap docs. They are not included in our builds.\n//\n// Happy Bootstrapping!\n\n// Load Bootstrap variables and mixins\n@import \"../../scss/functions\";\n@import \"../../scss/variables\";\n@import \"../../scss/mixins\";\n\n// Load docs components\n@import \"variables\";\n@import \"nav\";\n@import \"masthead\";\n@import \"featured-sites\";\n@import \"ads\";\n@import \"content\";\n@import \"page-header\";\n@import \"skiplink\";\n@import \"sidebar\";\n@import \"footer\";\n@import \"component-examples\";\n@import \"responsive-tests\";\n@import \"buttons\";\n@import \"callouts\";\n@import \"examples\";\n@import \"team\";\n@import \"browser-bugs\";\n@import \"brand\";\n@import \"colors\";\n@import \"clipboard-js\";\n\n// Load docs dependencies\n@import \"syntax\";\n@import \"anchor\";\n@import \"algolia\";\n","//\n// Main navbar\n//\n\n.bd-navbar {\n min-height: 4rem;\n background-color: $bd-purple;\n box-shadow: 0 .5rem 1rem rgba(0,0,0,.05), inset 0 -1px 0 rgba(0,0,0,.1);\n\n @include media-breakpoint-down(md) {\n padding-right: .5rem;\n padding-left: .5rem;\n\n .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n font-size: .875rem;\n\n .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: 1071; // over everything in bootstrap\n }\n }\n\n .navbar-nav {\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: $bd-purple-light;\n\n &.active,\n &:hover {\n color: #fff;\n background-color: transparent;\n }\n\n &.active {\n font-weight: 500;\n }\n }\n }\n\n .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n }\n\n .dropdown-menu {\n font-size: .875rem;\n }\n\n .dropdown-item.active {\n font-weight: 500;\n color: $gray-900;\n background-color: transparent;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name) {\n @content;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n.bd-masthead {\n position: relative;\n padding: 3rem ($grid-gutter-width / 2);\n // background-image: linear-gradient(45deg, #fafafa, #f5f5f5);\n\n h1 {\n line-height: 1;\n }\n\n .btn {\n width: 100%;\n padding: .8rem 2rem;\n font-size: 1.25rem;\n font-weight: 500;\n }\n\n .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 5rem;\n padding-bottom: 5rem;\n\n .carbonad {\n margin-bottom: 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n h1 {\n font-size: 4rem;\n }\n\n .carbonad {\n margin-top: 3rem !important;\n }\n }\n}\n\n.bd-pretext {\n overflow: hidden;\n resize: none;\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup {\n .bd-clipboard { display: none; }\n\n .highlight {\n padding: .5rem 0;\n background-color: transparent;\n }\n}\n",".bd-featured-sites {\n margin-right: -1px;\n margin-left: -1px;\n}\n.bd-featured-sites .col-6 {\n padding: 1px;\n}\n.bd-featured-sites .img-fluid {\n margin-top: 0;\n}\n\n@media (min-width: 768px) {\n .bd-featured-sites .col-sm-3:first-child img {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n .bd-featured-sites .col-sm-3:last-child img {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n}\n","// stylelint-disable declaration-no-important, selector-max-id\n\n//\n// Carbon ads\n//\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 13px;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0,0,0,.05);\n\n a {\n color: #333;\n text-decoration: none;\n }\n\n @include media-breakpoint-up(sm) {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n","// stylelint-disable no-duplicate-selectors, selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-type\n\n//\n// Automatically style Markdown-based tables like a Bootstrap `.table`.\n//\n\n.bd-content {\n order: 1;\n\n // Hack the sticky header\n > h2[id],\n > h3[id],\n > h4[id] {\n pointer-events: none;\n\n > div,\n > a {\n pointer-events: auto;\n }\n\n &::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n visibility: hidden;\n content: \"\";\n }\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n\n @include media-breakpoint-down(md) {\n display: block;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n }\n\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n vertical-align: top;\n border: 1px solid $table-border-color;\n\n > p:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n // Prevent breaking of code (e.g., Grunt tasks list)\n td:first-child > code {\n white-space: nowrap;\n }\n }\n}\n\n//\n// Docs sections\n//\n\n.bd-content {\n > h2:not(:first-child) {\n margin-top: 3rem;\n }\n\n > h3 {\n margin-top: 1.5rem;\n }\n\n > ul li,\n > ol li {\n margin-bottom: .25rem;\n }\n\n @include media-breakpoint-up(lg) {\n > ul,\n > ol,\n > p {\n max-width: 80%;\n }\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n\n @include media-breakpoint-up(sm) {\n font-size: 3rem;\n }\n}\n\n.bd-lead {\n font-size: 1.125rem;\n font-weight: 300;\n\n @include media-breakpoint-up(sm) {\n max-width: 80%;\n margin-bottom: 1rem;\n font-size: 1.5rem;\n }\n}\n\n.bd-text-purple { color: $bd-purple; }\n.bd-text-purple-bright { color: $bd-purple-bright; }\n","/*!\n * Bootstrap Docs (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License. For\n * details, see https://creativecommons.org/licenses/by/3.0/.\n */\n.bd-navbar {\n min-height: 4rem;\n background-color: #563d7c;\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n\n@media (max-width: 991px) {\n .bd-navbar {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .bd-navbar .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n font-size: .875rem;\n }\n .bd-navbar .navbar-nav-scroll .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-navbar {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1071;\n }\n }\n}\n\n.bd-navbar .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: #cdbfe3;\n}\n\n.bd-navbar .navbar-nav .nav-link.active, .bd-navbar .navbar-nav .nav-link:hover {\n color: #fff;\n background-color: transparent;\n}\n\n.bd-navbar .navbar-nav .nav-link.active {\n font-weight: 500;\n}\n\n.bd-navbar .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n}\n\n.bd-navbar .dropdown-menu {\n font-size: .875rem;\n}\n\n.bd-navbar .dropdown-item.active {\n font-weight: 500;\n color: #212529;\n background-color: transparent;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n}\n\n.bd-masthead {\n position: relative;\n padding: 3rem 15px;\n}\n\n.bd-masthead h1 {\n line-height: 1;\n}\n\n.bd-masthead .btn {\n width: 100%;\n padding: .8rem 2rem;\n font-size: 1.25rem;\n font-weight: 500;\n}\n\n.bd-masthead .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n}\n\n@media (min-width: 576px) {\n .bd-masthead {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n .bd-masthead .carbonad {\n margin-bottom: 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-masthead h1 {\n font-size: 4rem;\n }\n .bd-masthead .carbonad {\n margin-top: 3rem !important;\n }\n}\n\n.bd-pretext {\n overflow: hidden;\n resize: none;\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup .bd-clipboard {\n display: none;\n}\n\n.masthead-followup .highlight {\n padding: .5rem 0;\n background-color: transparent;\n}\n\n.bd-featured-sites {\n margin-right: -1px;\n margin-left: -1px;\n}\n\n.bd-featured-sites .col-6 {\n padding: 1px;\n}\n\n.bd-featured-sites .img-fluid {\n margin-top: 0;\n}\n\n@media (min-width: 768px) {\n .bd-featured-sites .col-sm-3:first-child img {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n .bd-featured-sites .col-sm-3:last-child img {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n}\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 13px;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n#carbonads a {\n color: #333;\n text-decoration: none;\n}\n\n@media (min-width: 576px) {\n #carbonads {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n\n.bd-content {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.bd-content > h2[id],\n.bd-content > h3[id],\n.bd-content > h4[id] {\n pointer-events: none;\n}\n\n.bd-content > h2[id] > div,\n.bd-content > h2[id] > a,\n.bd-content > h3[id] > div,\n.bd-content > h3[id] > a,\n.bd-content > h4[id] > div,\n.bd-content > h4[id] > a {\n pointer-events: auto;\n}\n\n.bd-content > h2[id]::before,\n.bd-content > h3[id]::before,\n.bd-content > h4[id]::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n visibility: hidden;\n content: \"\";\n}\n\n.bd-content > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 991px) {\n .bd-content > table {\n display: block;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n}\n\n.bd-content > table > thead > tr > th,\n.bd-content > table > thead > tr > td,\n.bd-content > table > tbody > tr > th,\n.bd-content > table > tbody > tr > td,\n.bd-content > table > tfoot > tr > th,\n.bd-content > table > tfoot > tr > td {\n padding: 0.75rem;\n vertical-align: top;\n border: 1px solid #e9ecef;\n}\n\n.bd-content > table > thead > tr > th > p:last-child,\n.bd-content > table > thead > tr > td > p:last-child,\n.bd-content > table > tbody > tr > th > p:last-child,\n.bd-content > table > tbody > tr > td > p:last-child,\n.bd-content > table > tfoot > tr > th > p:last-child,\n.bd-content > table > tfoot > tr > td > p:last-child {\n margin-bottom: 0;\n}\n\n.bd-content > table td:first-child > code {\n white-space: nowrap;\n}\n\n.bd-content > h2:not(:first-child) {\n margin-top: 3rem;\n}\n\n.bd-content > h3 {\n margin-top: 1.5rem;\n}\n\n.bd-content > ul li,\n.bd-content > ol li {\n margin-bottom: .25rem;\n}\n\n@media (min-width: 992px) {\n .bd-content > ul,\n .bd-content > ol,\n .bd-content > p {\n max-width: 80%;\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-title {\n font-size: 3rem;\n }\n}\n\n.bd-lead {\n font-size: 1.125rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-lead {\n max-width: 80%;\n margin-bottom: 1rem;\n font-size: 1.5rem;\n }\n}\n\n.bd-text-purple {\n color: #563d7c;\n}\n\n.bd-text-purple-bright {\n color: #7952b3;\n}\n\n.bd-pageheader {\n padding: 2rem 15px;\n margin-bottom: 1.5rem;\n color: #cdbfe3;\n text-align: center;\n background-color: #563d7c;\n}\n\n.bd-pageheader .container {\n position: relative;\n}\n\n.bd-pageheader h1 {\n font-size: 3rem;\n font-weight: 400;\n color: #fff;\n}\n\n.bd-pageheader p {\n margin-bottom: 0;\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-pageheader {\n padding-top: 4rem;\n padding-bottom: 4rem;\n margin-bottom: 3rem;\n text-align: left;\n }\n .bd-pageheader .carbonad {\n margin: 2rem 0 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-pageheader h1 {\n font-size: 4rem;\n }\n .bd-pageheader p {\n font-size: 1.5rem;\n }\n}\n\n@media (min-width: 992px) {\n .bd-pageheader h1,\n .bd-pageheader p {\n margin-right: 380px;\n }\n .bd-pageheader .carbonad {\n position: absolute;\n top: 0;\n right: .75rem;\n margin: 0 !important;\n }\n}\n\n#skippy {\n display: block;\n padding: 1em;\n color: #fff;\n background-color: #563d7c;\n outline: 0;\n}\n\n#skippy .skiplink-text {\n padding: .5em;\n outline: 1px dotted;\n}\n\n.bd-toc {\n -ms-flex-order: 2;\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: .875rem;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-toc {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n max-height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n}\n\n.section-nav ul {\n padding-left: 1rem;\n}\n\n.section-nav ul ul {\n display: none;\n}\n\n.toc-entry {\n display: block;\n}\n\n.toc-entry a {\n display: block;\n padding: .125rem 1.5rem;\n color: #99979c;\n}\n\n.toc-entry a:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.bd-sidebar {\n -ms-flex-order: 0;\n order: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n@media (min-width: 768px) {\n .bd-sidebar {\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n }\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-sidebar {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n z-index: 1000;\n max-height: calc(100vh - 4rem);\n }\n }\n}\n\n@media (min-width: 1200px) {\n .bd-sidebar {\n max-width: 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-links {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n}\n\n@media (min-width: 768px) {\n .bd-links {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative;\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.bd-search .form-control:focus {\n border-color: #7952b3;\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: #212529;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-toc-link:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n}\n\n.bd-toc-item.active {\n margin-bottom: 1rem;\n}\n\n.bd-toc-item.active:not(:first-child) {\n margin-top: 1rem;\n}\n\n.bd-toc-item.active > .bd-toc-link {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.bd-toc-item.active > .bd-toc-link:hover {\n background-color: transparent;\n}\n\n.bd-toc-item.active > .bd-sidenav {\n display: block;\n}\n\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 500;\n color: rgba(0, 0, 0, 0.85);\n background-color: transparent;\n}\n\n.bd-footer {\n font-size: 85%;\n text-align: center;\n background-color: #f7f7f7;\n}\n\n.bd-footer a {\n font-weight: 500;\n color: #495057;\n}\n\n.bd-footer a:hover, .bd-footer a:focus {\n color: #007bff;\n}\n\n.bd-footer p {\n margin-bottom: 0;\n}\n\n@media (min-width: 576px) {\n .bd-footer {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n}\n\n.bd-footer-links li {\n display: inline-block;\n}\n\n.bd-footer-links li + li {\n margin-left: 1rem;\n}\n\n.bd-example-row .row + .row {\n margin-top: 1rem;\n}\n\n.bd-example-row .row > .col,\n.bd-example-row .row > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.bd-example-row .flex-items-top,\n.bd-example-row .flex-items-middle,\n.bd-example-row .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-highlight {\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.15);\n}\n\n.example-container {\n width: 800px;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.example-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.example-content-main {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-main {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-main {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n}\n\n.example-content-secondary {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-secondary {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-secondary {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n}\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: white;\n border-radius: .25rem;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: #80bdff;\n border-radius: .25rem;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: #957bbe;\n border-radius: .25rem;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem -15px;\n border: solid #f7f7f9;\n border-width: .2rem 0 0;\n}\n\n.bd-example::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n@media (min-width: 576px) {\n .bd-example {\n padding: 1.5rem;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n}\n\n.bd-example + .highlight,\n.bd-example + .clipboard + .highlight {\n margin-top: 0;\n}\n\n.bd-example + p {\n margin-top: 2rem;\n}\n\n.bd-example .pos-f-t {\n position: relative;\n margin: -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .pos-f-t {\n margin: -1.5rem;\n }\n}\n\n.bd-example > .form-control + .form-control {\n margin-top: .5rem;\n}\n\n.bd-example > .nav + .nav,\n.bd-example > .alert + .alert,\n.bd-example > .navbar + .navbar,\n.bd-example > .progress + .progress,\n.bd-example > .progress + .btn {\n margin-top: 1rem;\n}\n\n.bd-example > .dropdown-menu:first-child {\n position: static;\n display: block;\n}\n\n.bd-example > .form-group:last-child {\n margin-bottom: 0;\n}\n\n.bd-example > .close {\n float: none;\n}\n\n.bd-example-type .table .type-info {\n color: #999;\n vertical-align: middle;\n}\n\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin: 0;\n}\n\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n.bd-example > img + img {\n margin-left: .5rem;\n}\n\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n.bd-example .fixed-top,\n.bd-example .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n\n.bd-example .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .fixed-top,\n .bd-example .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .bd-example .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n}\n\n.bd-example-modal .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n}\n\n.bd-example-modal .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n}\n\n.modal {\n z-index: 1072;\n}\n\n.modal .tooltip,\n.modal .popover {\n z-index: 1073;\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n.bd-example-tooltips {\n text-align: center;\n}\n\n.bd-example-tooltips > .btn {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bs-tooltip-top-docs .arrow,\n.bs-tooltip-bottom-docs .arrow {\n left: 50%;\n}\n\n.bs-tooltip-right-docs .arrow,\n.bs-tooltip-left-docs .arrow {\n top: 50%;\n}\n\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n\n.bs-popover-top-docs .arrow,\n.bs-popover-bottom-docs .arrow {\n left: 50%;\n}\n\n.bs-popover-right-docs .arrow,\n.bs-popover-left-docs .arrow {\n top: 50%;\n}\n\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n border: 1px solid;\n}\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: #f7f7f9;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n@media (min-width: 576px) {\n .highlight {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .bd-content .highlight {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n\n.highlight pre code {\n font-size: inherit;\n color: #212529;\n}\n\n.table-responsive .highlight pre {\n white-space: normal;\n}\n\n.bd-table th small {\n display: block;\n font-weight: 400;\n color: #999;\n}\n\n.btn-bd-purple {\n font-weight: 500;\n color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-purple:hover, .btn-bd-purple:active {\n color: #fff;\n background-color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-yellow {\n font-weight: 500;\n color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-yellow:hover, .btn-bd-yellow:active {\n color: #2a2730;\n background-color: #ffe484;\n border-color: #ffe484;\n}\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: .25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: .25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n.bd-callout-info {\n border-left-color: #5bc0de;\n}\n\n.bd-callout-info h4 {\n color: #5bc0de;\n}\n\n.bd-callout-warning {\n border-left-color: #f0ad4e;\n}\n\n.bd-callout-warning h4 {\n color: #f0ad4e;\n}\n\n.bd-callout-danger {\n border-left-color: #d9534f;\n}\n\n.bd-callout-danger h4 {\n color: #d9534f;\n}\n\n.bd-examples .img-thumbnail {\n margin-bottom: .75rem;\n}\n\n.bd-examples h4 {\n margin-bottom: .25rem;\n}\n\n.bd-examples p {\n margin-bottom: 1.25rem;\n}\n\n@media (max-width: 480px) {\n .bd-examples {\n margin-right: -.75rem;\n margin-left: -.75rem;\n }\n .bd-examples > [class^=\"col-\"] {\n padding-right: .75rem;\n padding-left: .75rem;\n }\n}\n\n.bd-team {\n margin-bottom: 1.5rem;\n}\n\n.bd-team .team-member {\n line-height: 2rem;\n color: #555;\n}\n\n.bd-team .team-member:hover,\n.bd-team .team-member:focus {\n color: #333;\n}\n\n.bd-team .team-member:hover {\n text-decoration: none;\n}\n\n.bd-team .github-btn {\n float: right;\n width: 180px;\n height: 1.25rem;\n margin-top: .25rem;\n border: 0;\n}\n\n.bd-team img {\n float: left;\n width: 2rem;\n margin-right: .5rem;\n border-radius: .25rem;\n}\n\n.bd-browser-bugs td p {\n margin-bottom: 0;\n}\n\n.bd-browser-bugs th:first-child {\n width: 18%;\n}\n\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: .25rem;\n}\n\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.bd-brand-item .bd-booticon {\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden;\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: .25rem;\n}\n\n@media (min-width: 768px) {\n .color-swatch {\n width: 6rem;\n height: 6rem;\n }\n}\n\n.color-swatches .bd-purple {\n background-color: #563d7c;\n}\n\n.color-swatches .bd-purple-light {\n background-color: #cdbfe3;\n}\n\n.color-swatches .bd-purple-lighter {\n background-color: #e5e1ea;\n}\n\n.color-swatches .bd-gray {\n background-color: #f9f9f9;\n}\n\n.swatch-blue {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-indigo {\n color: #fff;\n background-color: #6610f2;\n}\n\n.swatch-purple {\n color: #fff;\n background-color: #6f42c1;\n}\n\n.swatch-pink {\n color: #fff;\n background-color: #e83e8c;\n}\n\n.swatch-red {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-orange {\n color: #111;\n background-color: #fd7e14;\n}\n\n.swatch-yellow {\n color: #111;\n background-color: #ffc107;\n}\n\n.swatch-green {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-teal {\n color: #fff;\n background-color: #20c997;\n}\n\n.swatch-cyan {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-white {\n color: #111;\n background-color: #fff;\n}\n\n.swatch-gray {\n color: #fff;\n background-color: #868e96;\n}\n\n.swatch-gray-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-secondary {\n color: #fff;\n background-color: #868e96;\n}\n\n.swatch-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-warning {\n color: #111;\n background-color: #ffc107;\n}\n\n.swatch-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-light {\n color: #111;\n background-color: #f8f9fa;\n}\n\n.swatch-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-100 {\n color: #111;\n background-color: #f8f9fa;\n}\n\n.swatch-200 {\n color: #111;\n background-color: #e9ecef;\n}\n\n.swatch-300 {\n color: #111;\n background-color: #dee2e6;\n}\n\n.swatch-400 {\n color: #111;\n background-color: #ced4da;\n}\n\n.swatch-500 {\n color: #111;\n background-color: #adb5bd;\n}\n\n.swatch-600 {\n color: #fff;\n background-color: #868e96;\n}\n\n.swatch-700 {\n color: #fff;\n background-color: #495057;\n}\n\n.swatch-800 {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-900 {\n color: #fff;\n background-color: #212529;\n}\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n}\n\n.bd-clipboard + .highlight {\n margin-top: 0;\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: .25rem;\n}\n\n.btn-clipboard:hover {\n color: #fff;\n background-color: #027de7;\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n\n.hll {\n background-color: #ffc;\n}\n\n.c {\n color: #999;\n}\n\n.k {\n color: #069;\n}\n\n.o {\n color: #555;\n}\n\n.cm {\n color: #999;\n}\n\n.cp {\n color: #099;\n}\n\n.c1 {\n color: #999;\n}\n\n.cs {\n color: #999;\n}\n\n.gd {\n background-color: #fcc;\n border: 1px solid #c00;\n}\n\n.ge {\n font-style: italic;\n}\n\n.gr {\n color: #f00;\n}\n\n.gh {\n color: #030;\n}\n\n.gi {\n background-color: #cfc;\n border: 1px solid #0c0;\n}\n\n.go {\n color: #aaa;\n}\n\n.gp {\n color: #009;\n}\n\n.gu {\n color: #030;\n}\n\n.gt {\n color: #9c6;\n}\n\n.kc {\n color: #069;\n}\n\n.kd {\n color: #069;\n}\n\n.kn {\n color: #069;\n}\n\n.kp {\n color: #069;\n}\n\n.kr {\n color: #069;\n}\n\n.kt {\n color: #078;\n}\n\n.m {\n color: #f60;\n}\n\n.s {\n color: #d44950;\n}\n\n.na {\n color: #4f9fcf;\n}\n\n.nb {\n color: #366;\n}\n\n.nc {\n color: #0a8;\n}\n\n.no {\n color: #360;\n}\n\n.nd {\n color: #99f;\n}\n\n.ni {\n color: #999;\n}\n\n.ne {\n color: #c00;\n}\n\n.nf {\n color: #c0f;\n}\n\n.nl {\n color: #99f;\n}\n\n.nn {\n color: #0cf;\n}\n\n.nt {\n color: #2f6f9f;\n}\n\n.nv {\n color: #033;\n}\n\n.ow {\n color: #000;\n}\n\n.w {\n color: #bbb;\n}\n\n.mf {\n color: #f60;\n}\n\n.mh {\n color: #f60;\n}\n\n.mi {\n color: #f60;\n}\n\n.mo {\n color: #f60;\n}\n\n.sb {\n color: #c30;\n}\n\n.sc {\n color: #c30;\n}\n\n.sd {\n font-style: italic;\n color: #c30;\n}\n\n.s2 {\n color: #c30;\n}\n\n.se {\n color: #c30;\n}\n\n.sh {\n color: #c30;\n}\n\n.si {\n color: #a00;\n}\n\n.sx {\n color: #c30;\n}\n\n.sr {\n color: #3aa;\n}\n\n.s1 {\n color: #c30;\n}\n\n.ss {\n color: #fc3;\n}\n\n.bp {\n color: #366;\n}\n\n.vc {\n color: #033;\n}\n\n.vg {\n color: #033;\n}\n\n.vi {\n color: #033;\n}\n\n.il {\n color: #f60;\n}\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt {\n color: #999;\n}\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.anchorjs-link {\n font-weight: 400;\n color: rgba(0, 123, 255, 0.5);\n transition: color .16s linear;\n}\n\n.anchorjs-link:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.algolia-autocomplete {\n display: block !important;\n -ms-flex: 1;\n flex: 1;\n}\n\n.algolia-autocomplete .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);\n}\n\n@media (min-width: 768px) {\n .algolia-autocomplete .ds-dropdown-menu {\n width: 175%;\n }\n}\n\n.algolia-autocomplete .ds-dropdown-menu::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu .ds-suggestions {\n margin-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: .875rem !important;\n font-weight: 500 !important;\n color: #7952b3 !important;\n border-bottom: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--title {\n display: block;\n padding: .25rem 1rem !important;\n margin-bottom: 0 !important;\n font-size: .875rem !important;\n font-weight: 400 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text {\n padding: 0 1rem .5rem !important;\n margin-top: -.25rem;\n font-size: .875rem !important;\n font-weight: 400;\n line-height: 1.25 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: .75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, 0.12);\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, 0.5) !important;\n}\n\n.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, 0.15) !important;\n}\n/*# sourceMappingURL=docs.min.css.map */","// stylelint-disable declaration-no-important\n\n.bd-pageheader {\n padding: 2rem ($grid-gutter-width / 2);\n margin-bottom: 1.5rem;\n color: $bd-purple-light;\n text-align: center;\n background-color: $bd-purple;\n\n .container {\n position: relative;\n }\n\n h1 {\n font-size: 3rem;\n font-weight: 400;\n color: #fff;\n }\n\n p {\n margin-bottom: 0;\n font-size: 1.25rem;\n font-weight: 300;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 4rem;\n padding-bottom: 4rem;\n margin-bottom: 3rem;\n text-align: left;\n\n .carbonad {\n margin: 2rem 0 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n h1 {\n font-size: 4rem;\n }\n\n p {\n font-size: 1.5rem;\n }\n }\n\n @include media-breakpoint-up(lg) {\n h1,\n p {\n margin-right: 380px;\n }\n\n .carbonad {\n position: absolute;\n top: 0;\n right: .75rem; // offset from the .container's padding\n margin: 0 !important;\n }\n }\n}\n","// stylelint-disable selector-max-id\n\n#skippy {\n display: block;\n padding: 1em;\n color: #fff;\n background-color: $bd-purple;\n outline: 0;\n\n .skiplink-text {\n padding: .5em;\n outline: 1px dotted;\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Right side table of contents\n//\n\n.bd-toc {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n max-height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: .875rem;\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n\n ul {\n padding-left: 1rem;\n\n ul {\n display: none;\n }\n }\n}\n\n.toc-entry {\n display: block;\n\n a {\n display: block;\n padding: .125rem 1.5rem;\n color: #99979c;\n\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n }\n}\n\n//\n// Left side navigation\n//\n\n.bd-sidebar {\n order: 0;\n // background-color: #f5f2f9;\n border-bottom: 1px solid rgba(0,0,0,.1);\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n z-index: 1000;\n max-height: calc(100vh - 4rem);\n }\n border-right: 1px solid rgba(0,0,0,.1);\n }\n\n @include media-breakpoint-up(xl) {\n max-width: 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n\n // Override collapse behaviors\n @include media-breakpoint-up(md) {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative; // To contain the Algolia search\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0,0,0,.05);\n\n .form-control:focus {\n border-color: $bd-purple-bright;\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: $gray-900;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 500;\n color: rgba(0,0,0,.65);\n\n &:hover {\n color: rgba(0,0,0,.85);\n text-decoration: none;\n }\n}\n\n.bd-toc-item {\n &.active {\n margin-bottom: 1rem;\n\n &:not(:first-child) {\n margin-top: 1rem;\n }\n\n > .bd-toc-link {\n color: rgba(0,0,0,.85);\n\n &:hover {\n background-color: transparent;\n }\n }\n\n > .bd-sidenav {\n display: block;\n }\n }\n}\n\n// All levels of nav\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0,0,0,.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0,0,0,.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 500;\n color: rgba(0,0,0,.85);\n background-color: transparent;\n}\n","//\n// Footer\n//\n\n.bd-footer {\n font-size: 85%;\n text-align: center;\n background-color: #f7f7f7;\n\n a {\n font-weight: 500;\n color: $gray-700;\n\n &:hover,\n &:focus {\n color: $link-color;\n }\n }\n\n p {\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(sm) {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n\n li {\n display: inline-block;\n\n + li {\n margin-left: 1rem;\n }\n }\n}\n","// stylelint-disable no-duplicate-selectors, selector-no-qualifying-type\n\n//\n// Grid examples\n//\n\n.bd-example-row {\n .row + .row {\n margin-top: 1rem;\n }\n\n .row {\n > .col,\n > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86,61,124,.15);\n border: 1px solid rgba(86,61,124,.2);\n }\n }\n\n .flex-items-top,\n .flex-items-middle,\n .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255,0,0,.1);\n }\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255,0,0,.1);\n}\n\n.bd-highlight {\n background-color: rgba($bd-purple, .15);\n border: 1px solid rgba($bd-purple, .15);\n}\n\n// Grid mixins\n.example-container {\n width: 800px;\n @include make-container();\n}\n\n.example-row {\n @include make-row();\n}\n\n.example-content-main {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(8);\n }\n}\n\n.example-content-secondary {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(4);\n }\n}\n\n\n//\n// Container illustrations\n//\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: lighten($blue, 50%);\n border-radius: .25rem;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: lighten($blue, 25%);\n border-radius: .25rem;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: lighten($bd-purple, 25%);\n border-radius: .25rem;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n\n//\n// Docs examples\n//\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem (-$grid-gutter-width / 2);\n border: solid #f7f7f9;\n border-width: .2rem 0 0;\n @include clearfix();\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n\n + .highlight,\n + .clipboard + .highlight {\n margin-top: 0;\n }\n\n + p {\n margin-top: 2rem;\n }\n\n .pos-f-t {\n position: relative;\n margin: -1rem;\n\n @include media-breakpoint-up(sm) {\n margin: -1.5rem;\n }\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress,\n > .progress + .btn {\n margin-top: 1rem;\n }\n\n > .dropdown-menu:first-child {\n position: static;\n display: block;\n }\n\n > .form-group:last-child {\n margin-bottom: 0;\n }\n}\n\n.bd-example > .close {\n float: none;\n}\n\n// Typography\n.bd-example-type .table .type-info {\n color: #999;\n vertical-align: middle;\n}\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin: 0;\n}\n\n// Contextual background colors\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n// Images\n.bd-example > img {\n + img {\n margin-left: .5rem;\n }\n}\n\n// Buttons\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n// Forms\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n// List groups\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n// Navbars\n.bd-example {\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n}\n\n// Pagination\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n// Example modals\n.bd-example-modal {\n background-color: #fafafa;\n\n .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n }\n\n .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n }\n}\n\n.modal {\n z-index: 1072;\n\n .tooltip,\n .popover {\n z-index: 1073;\n }\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n\n// Example tabbable tabs\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n// Tooltips\n.bd-example-tooltips {\n text-align: center;\n}\n.bd-example-tooltips > .btn {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n.bs-tooltip-top-docs,\n.bs-tooltip-bottom-docs {\n .arrow {\n left: 50%;\n }\n}\n.bs-tooltip-right-docs,\n.bs-tooltip-left-docs {\n .arrow {\n top: 50%;\n }\n}\n\n// Popovers\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n.bs-popover-top-docs,\n.bs-popover-bottom-docs {\n .arrow {\n left: 50%;\n }\n}\n.bs-popover-right-docs,\n.bs-popover-left-docs {\n .arrow {\n top: 50%;\n }\n}\n\n// Tooltips\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n// Scrollspy demo on fixed height div\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils {\n [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n border: 1px solid;\n }\n}\n\n//\n// Code snippets\n//\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: #f7f7f9;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: (-$grid-gutter-width / 2);\n margin-left: (-$grid-gutter-width / 2);\n\n @include media-breakpoint-up(sm) {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n.highlight pre code {\n font-size: inherit;\n color: $gray-900; // Effectively the base text color\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Responsive tests\n//\n\n// Responsive (scrollable) doc tables\n.table-responsive .highlight pre {\n white-space: normal;\n}\n\n// Utility classes table\n.bd-table th small {\n display: block;\n font-weight: 400;\n color: #999;\n}\n","// Buttons\n//\n// Custom buttons for the docs.\n\n.btn-bd-purple {\n font-weight: 500;\n color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n\n &:hover,\n &:active {\n color: #fff;\n background-color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n }\n}\n\n.btn-bd-yellow {\n font-weight: 500;\n color: $bd-yellow;\n border-color: $bd-yellow;\n\n &:hover,\n &:active {\n color: $bd-graphite;\n background-color: $bd-yellow;\n border-color: $bd-yellow;\n }\n}\n","//\n// Callouts\n//\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: .25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: .25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n// Variations\n@mixin bs-callout-variant($color) {\n border-left-color: $color;\n\n h4 { color: $color; }\n}\n\n.bd-callout-info { @include bs-callout-variant($bd-info); }\n.bd-callout-warning { @include bs-callout-variant($bd-warning); }\n.bd-callout-danger { @include bs-callout-variant($bd-danger); }\n","//\n// Examples\n//\n\n.bd-examples .img-thumbnail {\n margin-bottom: .75rem;\n}\n.bd-examples h4 {\n margin-bottom: .25rem;\n}\n.bd-examples p {\n margin-bottom: 1.25rem;\n}\n\n@media (max-width: 480px) {\n .bd-examples {\n margin-right: -.75rem;\n margin-left: -.75rem;\n }\n .bd-examples > [class^=\"col-\"] {\n padding-right: .75rem;\n padding-left: .75rem;\n }\n}\n",".bd-team {\n margin-bottom: 1.5rem;\n\n .team-member {\n line-height: 2rem;\n color: #555;\n }\n\n .team-member:hover,\n .team-member:focus {\n color: #333;\n }\n\n .team-member:hover {\n text-decoration: none;\n }\n\n .github-btn {\n float: right;\n width: 180px;\n height: 1.25rem;\n margin-top: .25rem;\n border: 0;\n }\n\n img {\n float: left;\n width: 2rem;\n margin-right: .5rem;\n border-radius: .25rem;\n }\n}\n","// Wall of Browser Bugs\n//\n// Better display for the responsive table on the Wall of Browser Bugs.\n\n.bd-browser-bugs {\n td p {\n margin-bottom: 0;\n }\n th:first-child {\n width: 18%;\n }\n}\n","// stylelint-disable no-duplicate-selectors\n\n//\n// Brand guidelines\n//\n\n// Logo series wrapper\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: .25rem;\n}\n\n// Individual items\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n// Heading content within\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n.bd-brand-item .bd-booticon {\n margin-right: auto;\n margin-left: auto;\n}\n\n// Make the icons stand out on what is/isn't okay\n// .bd-brand-item .glyphicon {\n// width: 30px;\n// height: 30px;\n// margin: 10px auto -10px;\n// line-height: 30px;\n// color: #fff;\n// border-radius: 50%;\n// }\n// .bd-brand-item .glyphicon-ok {\n// background-color: #5cb85c;\n// }\n// .bd-brand-item .glyphicon-remove {\n// background-color: #d9534f;\n// }\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n\n//\n// Color swatches\n//\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden; // clearfix\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: .25rem;\n\n @media (min-width: 768px) {\n width: 6rem;\n height: 6rem;\n }\n}\n\n// Docs colors\n.color-swatches {\n .bd-purple {\n background-color: $bd-purple;\n }\n .bd-purple-light {\n background-color: $bd-purple-light;\n }\n .bd-purple-lighter {\n background-color: #e5e1ea;\n }\n .bd-gray {\n background-color: #f9f9f9;\n }\n}\n","//\n// Docs color palette classes\n//\n\n@each $color, $value in $colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $theme-colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $grays {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n","// clipboard.js\n//\n// JS-based `Copy` buttons for code snippets.\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n\n + .highlight {\n margin-top: 0;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: .25rem;\n\n &:hover {\n color: #fff;\n background-color: #027de7;\n }\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n","// stylelint-disable declaration-block-single-line-max-declarations\n\n.hll { background-color: #ffc; }\n.c { color: #999; }\n.k { color: #069; }\n.o { color: #555; }\n.cm { color: #999; }\n.cp { color: #099; }\n.c1 { color: #999; }\n.cs { color: #999; }\n.gd { background-color: #fcc; border: 1px solid #c00; }\n.ge { font-style: italic; }\n.gr { color: #f00; }\n.gh { color: #030; }\n.gi { background-color: #cfc; border: 1px solid #0c0; }\n.go { color: #aaa; }\n.gp { color: #009; }\n.gu { color: #030; }\n.gt { color: #9c6; }\n.kc { color: #069; }\n.kd { color: #069; }\n.kn { color: #069; }\n.kp { color: #069; }\n.kr { color: #069; }\n.kt { color: #078; }\n.m { color: #f60; }\n.s { color: #d44950; }\n.na { color: #4f9fcf; }\n.nb { color: #366; }\n.nc { color: #0a8; }\n.no { color: #360; }\n.nd { color: #99f; }\n.ni { color: #999; }\n.ne { color: #c00; }\n.nf { color: #c0f; }\n.nl { color: #99f; }\n.nn { color: #0cf; }\n.nt { color: #2f6f9f; }\n.nv { color: #033; }\n.ow { color: #000; }\n.w { color: #bbb; }\n.mf { color: #f60; }\n.mh { color: #f60; }\n.mi { color: #f60; }\n.mo { color: #f60; }\n.sb { color: #c30; }\n.sc { color: #c30; }\n.sd { font-style: italic; color: #c30; }\n.s2 { color: #c30; }\n.se { color: #c30; }\n.sh { color: #c30; }\n.si { color: #a00; }\n.sx { color: #c30; }\n.sr { color: #3aa; }\n.s1 { color: #c30; }\n.ss { color: #fc3; }\n.bp { color: #366; }\n.vc { color: #033; }\n.vg { color: #033; }\n.vi { color: #033; }\n.il { color: #f60; }\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt { color: #999; }\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n user-select: none;\n}\n",".anchorjs-link {\n font-weight: 400;\n color: rgba($link-color, .5);\n transition: color .16s linear;\n\n &:hover {\n color: $link-color;\n text-decoration: none;\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Docsearch overrides\n//\n// `!important` indicates overridden properties.\n.algolia-autocomplete {\n display: block !important;\n flex: 1;\n\n // Menu container\n .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0,0,0,.1);\n box-shadow: 0 .5rem 1rem rgba(0,0,0,.175);\n\n @include media-breakpoint-up(md) {\n width: 175%;\n }\n\n // Caret\n &::before {\n display: none !important;\n }\n\n [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n }\n\n .ds-suggestions {\n margin-top: 0 !important;\n }\n }\n\n .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n }\n\n .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: .875rem !important;\n font-weight: 500 !important;\n color: $bd-purple-bright !important;\n border-bottom: 0 !important;\n }\n\n .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n }\n\n // Section header\n .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n }\n\n .algolia-docsearch-suggestion--content {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n\n // Vertical divider between column header and content\n &::before {\n display: none !important;\n }\n }\n\n .ds-suggestion {\n &:not(:first-child) {\n .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0,0,0,.1);\n }\n }\n\n .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n }\n }\n\n .algolia-docsearch-suggestion--title {\n display: block;\n padding: .25rem 1rem !important;\n margin-bottom: 0 !important;\n font-size: .875rem !important;\n font-weight: 400 !important;\n }\n\n .algolia-docsearch-suggestion--text {\n padding: 0 1rem .5rem !important;\n margin-top: -.25rem;\n font-size: .875rem !important;\n font-weight: 400;\n line-height: 1.25 !important;\n }\n\n .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: .75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0,0,0,.1);\n }\n\n .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n }\n\n .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, .12);\n }\n\n .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95,45,171,.5) !important;\n }\n\n .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208,189,236,.15) !important;\n }\n}\n"]} \ No newline at end of file diff --git a/assets/img/bootstrap-stack.png b/assets/img/bootstrap-stack.png index 4d7060b8fab1703347f9a026b420a737c5b32b29..7cae17fe2e73f5775aff7990cacd5404e9b4654a 100644 GIT binary patch literal 52160 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 KMNUMnLSTaPs`NMj literal 138403 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

EH1oO9PmF)$=ay%y_M7 zVd7js(%g3JpfLC;W-bC2gOSBx|EumQoRiq$z9iPNBYLR<=3sElG9qS(91UDZt~#8q zO;rV^_(Ua{Q*!&XV0mEvylJ!@9^yB86@xUnGbLaCKT5Z+F)+8~LUU6Cwz_$!2qyNToQ0JylNH5gc*NKBEqGSceQ} zj0YbO0UeJtK-~pAt7htXf<#i+uy$~Wp3if}Y{F!~%Bw22YYu$8OvqIST@pA|;wBm^ z`2ykdL4V73u;3GO@v&Y10Qt`6M_E0jsB&NsC;6t}STmWbfjdOBT~UmaTj3ILD-a<( zUhSWJx5_B;c~R0-(BE<_(+f!myz8D4ER4*wDx5>6cg!}<%JUa6)a+LRnr;Be4x-Uc z#G%oR3(vo@Sr>UZ1@9<$v^)1(QZ2u2?~fhL5cM4p-UU05DV={b#B(rttbs)IBy&VKdT;B41 z@r7sKmJDti`1?{@i|hjn<-J5(4v@iZ~6qx#l1;x zv>>76YB1D1BM0AIdfU4qT0XUR41 zo?@H*RliY^^6$sN9PZdT@4*Aj=&-Tb$i$x#=H;oP0;KQ*ec;$<T z77V-LScuDYAd6c))HhO!d;bzYOtRJR0@(_=%YA}yM1K$;W_HT6(CZt|Ex<)CZ1XvE z|B8QsNphfbqe*#}*l)La!8WMBVJUM?>?zd zTlMasvhZynx}5Q*IVm13gLOHgclZ_bHE13Ggo1x{db;kkjfgt0N+}6FekNfalKe!s ztvHr|8P`!mT-R(s!o=EFQNHw}I8(Y4BJ!kOD+J1vT0J6>tO9$cSrA!6eB7o@vMzM2 zv@rf^t%P2)A9(@KB6l^z9o>&U+KR;Q1S{5$k!8eic^04pd=oWX@qSsT=s7-ND*_*S zXs+tSY5fNRzPebdG;4sK={=`)Yv1M89gUe`)wlAo|D&%ceZ(G?D&~Q%; zIGWkF)fda^m5CgOt@uqGfY*xqXTjPweh_|-=H+hAe>U{>fI}YpkR1B1V zosbg-?-mGG3F0}-ll0D}b0L$sAmK4Zl$&z5CL;EwJv zVXUFCzIq>;bo;^gI+>h7gr+;YOZu+ED?$+hN8&sn6Z3?u?xXWnk>OUSK7U~c% zi}<#)Bb3eq_57r*N!w|HbF&d{f4TFnU>!8_do~}*73McX*DDk;o?%^ycz_;bPt~)S zo*&(jTG$n-RrC;w0+0EeWl_83sY}uHB(6v6NYs~Ezswr6TFl?Cv+yxm#1Nd&=kVX0 z+E9AXv3W7}4bnlf!$BO_Cj&|rr3;&|Q`BEJSNvGB;mbSNS3tZj!(Q{4PC!;0gDSbv z`_8-e$R@9*b&e=eUjkVgzyz`5f&wjo;7hpQP4dwZVGzN^n-;pJA|x-+rY^G+s1UP< z6l9a-RWS|N{))zGS#oe-n~S6eP!4!EBfcA1_-Fc|hB-bVnSs;?pI^UqZhZdC>NaOH z;fBjTUwr>F;L#;_Tjwnsy4hFlpt=um?l($4^1+Zd5uFLeX`J3DAQ5&OP`3 zO1nH5_=gEz}LCGuz8HlwL}^K-j$^%5r*o@l4OstAgIJ$+Lk- z@cV1MxqmwgEniTi^F*t&)0Tv$(x6EM%6A?!dVJRL;%?}VX0%1ow+QAiw}FR4i0EUl zvyeC<+zTCj+Rv`%M-sURoG};aA$<9PE|bMg>8F4E_%eAKC2^QRov%s{ZnM5uoVh^; zcrlh~aoV|<@_)etb4O5IfdLJ~Gu*x!E9x1}##|Cmt@lD`o-H*uSlS~M+k&*%t0|LsLq7T?1t-tAu z1iOsEK<0XW!#t!mulI1<))T)n&29qoXx^FZkDmFb#XyTmB5jQ(pdPZsb&be_SJgLt zkCJgN)>Lr6@7m~ijuCP|s5M439(TScx%%iab>-TmE5Zcrxpi_EN^$Tn4V?RK6Sx>x zQ_v1dl}AWJVJa@wPZ=SD!OwQG`^0zeyaB5v|Lu)kU?L1uvei?IUGx6;yJ|iqpyxm# z$Ip0X?oW4&JnyYvfCP1XsN=Ue?YFQ#wNgjF-&Gj)K@(#9&SXj=_Z0B@dYK#7jXE!H znTJB>=VC9RMBj&6pe|<9*;y&MeE|h;K_3Ea5Lv-y>C+OanjxLS>=Qa&x<@^Y&J$ghMZCqi z9{su9Jo2fkUm7dVk6F|*D2)p>W+=W{;J7?4Rb%ioN_OClyg{pHzrqJu^L1V_At-P z^0)2=+L!UHg9_j$Xuw360g~~IDGT_!|M7}0L8!;+q(1p&Zb>IrPempLSNPspK^HE( zj3W|FU+?Y!R$Fi+opV1tOyF$_4N6gmfalUS!b@KXFZefB2@ri<@Qs}7j_kWQkrk$# zk*c`k$acKweWOY~-G}+rN1+?=SBYC=AyZSFN35noa zC-}ava#dZq7%0Br;g-e-m5Y;{!JbmYv$k$2QW8)dLOQ|ipDHjLKF}SLFH}Rs$JTBMe z<~1I!W97A|Um|j&HDy(Ej$gm@AMFU39tcRB%|CxWX{7p2!s3IJzqNq zs<-}B_Xv%d@a#8e3BAUlA(d>N3e@W@pt}iZX6r}mL+L$9j?K`^-h8A^Fx`cY`tYhM zDC9?e1qcUwWL*nUL{a^f`!Awbve11Qbb()!fz55Stv`|{3{^9}t6PC2d4iMjU`%U+ zM6Qz>%Yp*JKK&@mk`(#0I+B0OR;XgpLRKh=zWUP${dw-?D6f0#ErnlQ_{nfS9w^`} zmr!L{-U=BD<|g18NUeE<1t~(dXW#o5a3dLxn6xUvStNdP zuZwLtc6O3qiQCDUov`|*dj zrd*V(3?2cOweWE@)|Mc!;$05<;*2jmMMPD18;H37DtF!FdausoW~Pj^%wat1#7BO2C#!{VTQzCWmP}uXZKQHQ}u)C_%? zw9s?T5@qM}p@maS+2k5<_oW+J?7eLB$$N zwaVmA3q$mSR(-TR@0{Mut~#+zAf2u1bY!zu@8;Pn7T=8{ko0_HSJtgH8y-NFua=-i z_2}EL3Eo}rKKa=&4+)v#KoeMsffI8$p2c_3o?!|kAp^N}h-?#cOyfLbPl4k4+XCnxHm#IDWV~$ zy!HOeG8s?nN+t%hl7b0x{HuNBz;Bd0iXH^Hd*PQxKzbke9EaPK$Q$7J(Y1r0P8;mD zuVuDee!!-e&#SD4-L89)1V7}!@fS@Lq@ac@vx;?7#bqCj1@`U7H>v;^Z}=#E6&!^7 z-U-eV7_GBk&UO*O5E10=s38Mcu!%WA^5@=kXeAdX9!{mO#QK48%h}*g3Z|g{kqoqH zzRC_-F1Wz6X{IomDXBI5(Mjp9$@)i7tI%$={sZ&0Q2e9!$ZY)wy4?12u%;cf()a#I ziR*k3kGUO5DWBr&Z1Q;7i`Gn|R;V`~7RTz}uN<+}$UjHA%IG%fH!RxEs};QJGO!Ul zGGx%N61Z2;^xB~9<>K`0+?6MH!UOO5UkEDVtW~)41oN{GWZ;NZBa&T{+3a^4SIZm% zY!%oGh~pl~nfH_YpX_AuzxS8rn{_mk*i^#92D`3Gq%(9@f-u zr^dHTmvk=}m@5QqA18S16`T;U$;jp;i}JQK1)s8j0|~iD&d3lNRbZ8`r!C~VEKjBW zC|6Hr%J0VmJ$!KlSruR(Kn_=Op5VU{PH>M^agp?b-;>yyHMnaHzt|pv|A`E3of>q6 zT!qi2(8r}x2&h^Rvb&RR-ZNdfcjr5Wy#id~1Qaid>TD6@H#?i>k@^!&zR=I2#9rpf z)0Ty48}reE9_QO=N+sp>ym8qA6M2(|z8pv07MM+Ff@HEe$vlzdb7wYY#cyp%!BwN# zopXbOp6xzvBH5X|VRoE%>iU^ELvx;cEnN@X30J|>M7p=Mcs|v|!~`$d;I+jEZ+=ti z%gJ0j-ygqXF&zzM+K0sX1vbvh`!O z`+{^feysY1J@nD-GcV-Z2>e=d=F=X^A;r3W46K(pO6=#F1(9y&jcx}!x& z&9xx!3mC>fOh|BWQbA^O$O>heG#}xdVqVVR7rW6AgA+&qj(U;s(GBc;q2x>$BAJIW z!ZFvNEejt4tD6$#WZJ<5$<4tFtY$Z9;Fy-)ARPBvtP4Jfu`yvAvS7jT&3U?(g1Pel zulB*drq!nzbzwgeUsSz{O%5Sx=!XZMZAv1O0fGV{_7>gP%O_ zbSu>#i;$zgbHAdk&N+^~jO{@O1U8~JNZ(h>+V}ye%2z5z=-i6FS-?1S7Q1Qm=@dA% zf%UxK9X^Lk^zWMY-n?}lnz`Pr?5r5fE^$j0&LwR}ErHCG7dWeYZ8z{TJWoh9q3WJW zlab-$lW*KiP`L(XN&bCnwZI_z+%CdgZDbzW2IOROh2Xjli!E3u5BFuSJE+r7z4&uZxvJL9gCd zF7^dpcQ_wKE(~e;JpR=9M>n+wnXi3>?6QRP0O!|f z(!;yN7xo2$y4Qa6#4(bhrf^QhzIXJ7bT~hWb{Qdh3jMa@i+A*y;(>vfx}{uhO~kO< z0kN(d+@pGU(B7CR)-b0E+q^4N0jcBUF3*80-arEP_;zB-Xv58RP_|}}R2=ILBvgWb z-`VMjlO-<7E*Vf(L;1p{zoFSb^8C?1(IXkhov?Nnb_Cwzm~3lv#(d$jR^n1o$Z#R1 zKdAsYJtc}wcb3wn5rEYev_~hNo;q}=<9*4~f(EtI8=L;fvKm2bZqVpP+=j?<=X=75 zs#eq_0gVSPs*D{#+mLW2%9)iZ$?Eo<%PlpiCg)X*me4F0BwU3p6jdZoApK_Q(I^?d z%5V}(9vP#p^xAhGZy76+y17ejt5hGz#1(z3&%t`TN|4{~x45&+AV#L!3M*gi%F7f_AFb&6?#QN3p!Q(WMM6 z>g5Ed|B>J68Jd56R`~Os2d;0rt#rd4x_U67*Z-_qWt1p-MbKg|@Z>;e5uXaD%6XFl z)F2;ygF4JX3uz7{b1#zZMVu~4k@c-UXuj{)W!bej<9XrCFAjc*)Bo`y&`!j| zu^HXtF2uPBf3zYs{G6_?$jZuP6IGdXIFm`pM}$|JDI7WZRg9DG5*zvQiH#qX$dlD7 z*|6sJ0CkS@C@1F=dScr6jv(&s+lBHi*T>MoH4EPKn?T=95e~$?kjFi^Dw#~jPDgva zX{W1bpA^|>IXRQN&zm=kbhb{%Nz?^G*&x_hmg-AbB)Rxq%G_ur4qFl@<+>CFo@O=4PjZ;Fw#K4)^ z#Lb%r4)BlKjvetD=qybh9P`fc4q|(7AkN(TFPxOJOF`r7+)>KOXd!KZS%zHz_EThR zkxiyJg2Ss=p^;Yx<_Fu!TqAG&r{_P!dN&M6JjqqN{#vkbzGEHolPK{sN{u10!7%aU zS6yk;YtK@kFP{jA3;1HIexNHZHtqF##{*M*M9dqG22B+l2_W&1WB_KPlSZFUy>~{LNI19PTzRx>mn@63?pky)d6*`prYAr}n}8j~R(4PE5-66oW12o-ds zBw_1XL`@%~qY+4qkWB>gIIjXp7xiFtOXIxziu5Hy;*r1$)8OAIbVSNB76= z8fTtKnfNj8HU+F6B)OO{bcuB{t7T2Z_=<(jPPk^QJyC(v4sER0O*)k4u+QB9kj&*`ng*HS zZIIvUs3#gYme1ZC=4at5q*F(k1Bk;c+v&F$_;M6%592uQVuXFD+6(cYWkk%wv_nfu zszK*N#|vd;SgKlN{qs71|Csa^yOl&?HcG+&afR|~{-KeUc?s56S=}VR5E~|6t z17`WlTuwStu~_&x<2zMmWE<^_SLX=Xr{*p0>vwY0j?gwEqGBkIcIq3XZ?y)$Fqw`83mWT|KoC1#ZDTiGK^3x%Sz zi+e>;DQl}TN=1Wg5tU|SC(&Xn%h*z=vCl9w_x^6r^ZkB*fBEZqdd=sa^FHUi&pGci zWrUtPb=vK_lcFnT8;y^Q@=Fi3_)2m;4(kaWXPm;@3I~SxJBt7t zswDPj;C@IJhS%f-=EOEy9_iZaW1ZXa|A0=e=M}G+VvSrn--mrW_S4Il!rVRxlR4YU z%^jzn!Acuez|w4TUHNv-mpS@_VyvlUQ`)gtHLPLd>eOJKn@wH={oyz|C6)cNhPU@5 zhkW-aFK?PGg*ug?I>24w5;;Xi(>Sg~q+&ew{-=wKQK#=rLV4Apz9T?4K^5=@B!b#cuS((XJB8KygWCldcM)$;lB z`Em9<=se%?->L4Z6Dkv&U8&% zbTQ-MBUNy2A68rpridL&dE<~s(tTb{14qyYRWRnRktY^;1oJ|!Zrh2YXwPIf(D#oS z^4Kk(ygr6VqNg#TlCK;?D&GWT_$z@qx5bzTOT_}So&tP7J-ANMRnoOjF0ka0N6)y* z+hds#k&hZ#n1MZhU%0Zl=)JOZXkUILegC9H&c14qS82}TE+TiGt$_R)_pw*wf`Bd# z1Hnsef((gBwNVHli26+lS-pNCV>El=4R|Z|Ab%+9oy*|=90z^aI`n&<-WSwO6uym` z(6Bl9--yN(bU8^98`dJH2J_dJzIdb1qq^Lrkkq=Rz<%p`sKfP?7RZBTygr1k*#2VRC+U{OG94(uDBFUc6S5pVr zc^?EEw>*S^OY(CktkM^I!qM<<;!I1j#T)*b7rzXrm{e~hWK;>QPKG}IDfa#_GW248 z2>LyglENEns;+~cPeGylSJU*GeUTv6JG_4jm&pZP37olRsdp3GAG|BhIXmrV1OW-w;#vov8sE5123v z9}C7|DbFb=Xi9YeXr<_S(_|>)cpVM?TORx9jWWF(o3~esC;yKIpieE=4dfM)BQ081 z=9z|Vbm|nf9b*DeaV))?6Y?9dE~5J?34zzHcV8tDo;+q)8|(C7A8rSF15zE}{*Lfa zMTpI+h*&pdjFkWVQKvz9Wt`4aKo(5j3tPU>BOSk%$cje7j`z0=eX9y;lM*lb#J;6& zROEekdq+T)WVd`-!3nHjG{`9f-kXSsV*)QKSkI^M!6O3`tbX=W))%{Lj}fPY)vIvU zeJVL;Yb`eb1mU$8eoD+#;^YMkpTf`NnTK#2VvqC1oeh*U-~TUBA9~39G>jtSovg&2 z^mV9)py{^OLiA@?>q_|`RShv7iRf2DnlN}LB$Od7wO9@>)XhEUG>zz|xxcp(f{Kz0 zXtGAD&_6h2Gq)Q#$r=2TcbZciz^3n?q8~9)FT zFAWU-U?*fO-wO7NryLS{rla`kqdDjJL%1OGQ~o_r@7<8Kwf6YI|J7ZrRhW2iyd9ag z$l5qHG&)QjhnM%E0>OMpp$vh4thktRObIiI5GiZXs|FR%xd3U~WE$<6vntK>44nHB zI?LL?MEe8BrR1pFFNjZMo%}-X;@^3V+$ltF^Z#+Z8+&1w#;1UU6`c5|x`3^H=M#Vb zo<|10SH4v}!oK69W!5hXv{l018-Hs59!W}M{Me*NRQ`lK?)En834P2~vHpG7Y>Ax^ zg^(&;LNS4hf7d;8`A&=nlQ5)QxLC$x(Sa{ zMFc-Ct$o2{vOY}+AB3{rzKBA(w;xR=%V7~jop;FG-voq*~myQ2Lfr-`GA?|E? zdmZ%R4>{x?&^hj_NBJg28j>&Bp#+_M`VJZEDq~O%?yo7@WO=_SbfG)~%iHtJ{wxZs!$r4>f?z zD^ZtHr;$BBh_i%|Yn&PCA^tAEGFl-NzTDI*V(YEM4lIhqMC_99Y#m9s)s{1a@Q=QxQ=GAZ<3x-cXR$2MWPIQ*gRsFW$zw^AB1{wKLif*lKq2Aj!$h>8 zUSR_8J{gIF@vrBd%S|vHDuM}6La~7pfN!|EOkg`GYXay9^iNC73`Rj0z1V8t;C*zSBsN$hM&tmmb$g_^$yL@R$(u< zll++GE>f}gDb3^Q?*|VzKL}dM5+`pJdlTuk{XVfJxX0^U@E>z_e{?(gJDU5+WTaLrzxq1c#U^$@owG2oUBsrmXMKyxEL?$O$VhQ`2?i(0ry+j1>9 z6bO(6&M5$IaOJ_NAM5QeD>EG%w>|$&I*rCYVoN>=T*~4H)B7T@Kh)QJ_VM!tn@cCU zPj*w|$Uqq?paZy0QO_)&y_=uOtD}1%CVia@wZBLzUOHK~1okwwV)R$M_{K zg3Z4R1I{ASBGN9RNnZgUE+SlM|<<@Wvv_|EnWocgy(HSIz`H8b&bWaLOk zXH>UkTP%cdUrv@=%(DOYtAnAA-%T;x8%~BJh?5rDk-#JdGNpE;L_fUuH!}&fY~`c$ zZmdz!#jQgFnXDMu6+PHJ*>d2gHF82=jC&|r=V8y^hlrSNVtrtl_@CfE6h~gI{fzdJ z_$iY}-j~;q0P3NJ8nfuf2k0`u(qx<{>6cJyglK*Xpb1)!v;cN`jIL5qQYJ2P*M3%H zZk>~g;rCb++c@P*2>r@y;0)w;#i1|GCLi^XUjLIN*nq5r!Yz_vHytw1Ik?(UoF#JJ z0dkV-L`X8Odt^&QbJUG62`J4#jbyRuL+Yx`gqNP*go@35n{$L0H*Z)Z7e^XMW55k$lMlA?r?$5R4J9GFG6J;(-|GhH3zhpoUA#87aEnNx zqUKaU6S^5?Z+;0KT@mNi(zh5=&6BDUW?L4My(*vfL5(I~(vgtuh+;f?ap0dwZ^H++ zDCKlYk=6@f+_%5t1+c34b609U}KC+At zJNrqU@sch3GstI+udn7OG1cI~1+w zv`%sP1H2uWU-+CT+HDLlHoSJnh<0!BUK^Xw`g0a8gSu9{u=;%n$`FbX6F^&6qNxeCa;xWpJ`$*Tt!TA0LS3fU zR8kSWM!VMpt$2uOt8${{M%@q;!PoXOwEE{kAUo89O@45S7m&v!2e2bPL(vjAk<=x8 zZ)zqEJJM3#bF7NZdGRS1?cI3cWlaVFwuRR`yirwfLj1$AUgjafW}&@OtL-hItwU>l zxdX`SP{6YA!VYa%(I^v0A4@Bm5ct^UCxP1)0bq?jY{BFn2utpAmHn6o zVutBiEU26FVwVRwckf5xuCu1g4+`|gqyOU(*dO`}zQq)|+Wx@)bhInSw9&enP5FGjAskk7Hg$*+LoY2%`9p!FIBh7}E0 z72e)?+C&2VIk5a`^!NVU6kPwIID#oIaIb5-Ar~wdsqrk($`KMb5a{nK$hV6U&VUH@tz~ zI>|C3Hl+i-7xhGpdVWdF<1Bo0t3+KK8&eghuoU<$w!-1_f zILbj(zYI;j{^G+Sv|J6vsPbY&S3p`Ml`5KZ1%57?^Q%)-AMTSFs)k(VuSzX#$v(n5 zy5nYhg45;pap^RGVOuDeDhn{i;aw&jl%;8kqapBCG0f@8%a358@wP~z1|(Bs!anJ+ zi%jWk_Cv25*|vc3>~JQK29zq3n(;oek*ykk#8PjHieoG6#=wJH0<5aetJ{7(6W%d; z0smm?bCCY_@QNYood?_f&Lw{Of6#T~ellws$S@$akN#~Gywd&K(z~|-4P9trQ1!{p z2pj8(5$`UH$2rO}yhvJXp~tTw(nN}MNZoy%bsta_Y3?i(gd*7DqR2KRZ*h>`R?OXO+Un+(XBgT^&@h+OM7BKrs54x{emj}&~7S(LcC&+)J@_(S{JNr#F za@P4>y_qa<{twKcdWT=`L$3DI6>xt~E8GF7vqR_XeW1bL)%zeV!LMT}wdD9%W1d?c zDnGX;Nw4VQ*1tYxvs2i-Vf8MfdDcNOdjur%;_N*YVu zISU=%j^_12j34~(1w(f5^$dUDjQ!LJ(BO*F1^k$lIN#^e9JfvA?qGmLte^C~wIGo`diu<(wYLhn<(>_gzHA zd*0&1{+qNyaldW4iJ*lFe>hvqeJUVrvG~YB-aaUpUzbD{MD}zOk_Q+C#(xDp)|skWe9(O?EZwKmUXb37>4OqrlU^=(R0FxLN3YwXm%t3Mt%;ezEKrC z@pFx#PA>Z5nh5NU6tBKkOAh)A*Ovf5v>oWtIShEY>j77~9i69-XLH(%4hkdGGv`EA zn&P#9)y6W|$1joDrS?&><3mvSURqSW-C0R9)stDvt`mIjTL0oh!dExpeJq%ho9_>7 z&fd8^FVq-&nxEoxdgnb3=MkQR-9;)dJzDH8zN!MH>2If+Sd!|g2j$lu?0 z3#H}jeJUI^3UzXgg;rutT9E(z*8$rRLzpjAY?%lR#EDJL74L&y?Q}|v&h&vO=~x>; z&Drix$3}?z*&3Q&=!ni%LQQh_L2xY2)%Zt>0X0eq!k`>1g<676@XiPGq%i3k7eTB?Gg5N()p_#fh1wz)%FU9gUhd`dXjGxfPp&!_he+vhD|tzKfhmydB7O= zK^B<8fkvfgxKF;zvkbRTkHrIwACag;;1^E&ml-XXB?9<3DTw5pgdeW40mD6yF(or5 zOpLz*j6Xk4_=)!657-${t95kg^oyihdr;VKBx-mhb$nkPHg`A}W2A^>2;;!d zxfBL*KN2&Ol5N(y;$k#Kj*~=B%t&zV#o!i8Qn~O?A)Uv}^ zYQD<@D-I?pcSHbVfKZ4G`SZ0=#m{@-I}h>*fk)Io+b-3H-N* z;>0yl4Mms@8*uQ{fH2}CTSCbF0DfcOEVUSQ z#1Ggm6!eP#?33MfOZUP32+90DA%k9w1E3pfRE6hv_7N$@eZ+p>-_p7k5nkKa1mflU_J)2 z8gIkp6}RD24sbUCm!Sm$=|CedCbvAH)@V`4b9SmeN2;ow$7VNA`URb8szV=~=y+5C zzuazP43K2uTR@;B^9l?Qq^{pn4&3O5&rxIQdI?yF;7D%xND2u%)%Arzb24qzwoK?S z=>nS0&=qvn47pwo=>+z!&Uyb;@aqVX=wIQxBkYr#Sbg+Rq z!-;U@1x$PK1Ncv9*#6bZL>+Rwb4to~Y3TfVdn7NFBjl*v0mks-EAXyBd=;dapjLcX1tp%3G3E5r|- zdzA4D-F6SPFclUK1(^E6Fd<@14kgmkRl-QI3-Ix!Y$ZjS%Yr08IRyVUJ6zP&fnpdg zdhQG>`iL0GBHbg>geU55o^vcfhDIk|ynGrRfY?L)vuIN%8nQ&2B(jX{5aXXxRe^tH z3Yut8FDyRPVhb+FTInHC&DT|Oi#n<&+O9NhgmZcbDPuQY; zaEj3{vrS|s{)QIA`Iso9V|3(5N0R^MtZbn`$HVyEXPrOzvoV)h#RnaEhMVW!R=J&_ zR(@UO>WK$P;8(YNk2sl#`&yp_@z)5=UjcJz(E7p&2LO9U2ly+{E1yb$1up6qFiYiK zD`V(O*t*p%(cYqW)c@I=AVR&!^y-b2lSL2rA0~M5o=*}>lv^TSut(MGs?n!+IUUGq z;gIPin>YKlfOD+-{p9_#Ax~-qc^{i5$usWNlhoYa(T?&aXmpr7VmwB0Cb`suHe=(@OM`pSxbj!R?UJ8rG-N)yr05ni|k=uGtrpT|xP#TVMBL8b< zHoa&b+aKl3oJ#6BQ`+-aZFB#k(0ONLHEs0S%Y$9icx28WvaCTu7v1JkqV^Fei$m)e z1iCG7j%Tuh;5mMWPohaN>AW>-jjG9k<@LJDdD8(N&<~Zi{=Lu4(FaRZ9n^lsV{vUJ z>g{|g|IOT)XSk~J6MrSc)`C3aOs{RrhHSoKG1dCC(!4qSta z#o3BT!)Jgn5x{81HWW~iK4-C03)aJ3Qf6+tpr5#>R^}T$fLkm!4!doYa{Z5^4xln~ zXmxBC>XhGY>qqU%ArBs{8g*Z$H^)J$3n6^OXRf#gapX+^EqukINh#gs34V;R$5J0Z zdkEd}g?6M<-UWM09b}Dl^jkR^BA17|%X1-+22BDO;T9z3P*hdm(6YU$r`ALqn0!F*hPDscYz4+2cT;?FN$i_(xp@)K6V02kf% z*|<_HDP+@uc6$K+4wenWnf*Bmq~#raa&swZ|$D zBNgVB4NoTV9{J?J)5lwqj(6kzCsrvkyg30nz>&q%`yMKhfWB*t^PY0+7_JU*J0VAw zLSVeY7lz0zwy8FGI^$p_zkG;VgA^lBF_h;s2c@=<3lMj`?=&*d0{P6Ppuy^dpF3(0 z7M8QAmU_anBFtSN-&poDx^E6`HXnk1Ufn;1PGWt$6i2U{0v~Zk*B#y;+MFn-&3FVD zg)2*+b1nx*NRpD{urkFLr=F)Ah_>H`y;_#ymhojCadO~&F^Vxm$>_tPkSl-cn9)zJ z#4uY)3O#?~jtJ-hCI~73wOw$+rJI4f394cw5k@5-Av{JHy`&tto(7gxV=e67a6rHd zY+8D&K-(btKJwZ4@|toP(=U^L!omeCFDcR#%f@&4!Z`nb2DpBPm=(H;T~8ykbQrQw z|NcyF)1jZj1;`{jKxpKlEe^}qCAn^M#r0ICns{4%03S&h824!i2uZ{3esbb+6O=ne zwvbDj-?NyaKWO1x-b37Iu8o4FBUBGQ*L&wX#=QfDD^b0~SE&M7T4?12^|HMk5`TCD zUbpFLa}?=^wI_++>tHkEen=U$H~$<=;cwj)EsA*g0^ zL8ur>hSGS002Dk?3yfC=pn4z#SF#=sr|!c&5hU$ON)%LAx6%S58}GkL)=*o)mv6X7 zL!)gkwA1KCGyGfGWgBOqgYU`g7kx?Ry|wugAg=TglzI%)W+Nm4qzxfaVA*;QxC-Z5 z6MA1$#BOr#v91bBf4bbUEd;+1ydl8}B)*ie4a*mTw@-j!T+u$Jg3*7i5p`QYe{l!J zJkVP&CyAsMw9yhOa9lBL^oMj1n_Hak14+@Jw@&33IlCcFlT-&}zJBOW_`vU|vbXG@ z>jJpPddMs%;w29Y%4%6}%k1qMLwUD^3Iym z$5d#1^nk#&WvOs?8#g6>p4#_dixf|Is}}qU#|gWh0TuDg`h99*=kWu^VucDyMh?iL zO}VJ6M4-5@HLl(`uD&m!Xic<@CX?chC-l-7juO%gFm77m!X7JzbGx8v=eBsUJRU4} zoC-d?(^W07X8XnD>!`<-fR@;3W1v9#rPsA`(3WuMH{f9md=J1R@%s)R1KsgF@p2G% zd^4=j3jW5IZI_ZZYMWbU@RD}7`fqagH^6o#Q;~I#-5S zG7u@t2*_Gee#s)cAX29~9=w#=1ef~+wUcBi$3PsKqgw=)^#ObFkxrz*au5Ud)zQ(K zBES(Rl9#|A{1d^FO2ES1+0B39Vu|5SiOwa^GZt>0b2O8_5*w6!1Kn2F5fv>(~ zMxriL|Dcu`PzqYv34OSE?o@gWlH8%a>{U$e;oALi@s`Y?p-LWnvu`Yy(;E}{GT}DX zBUr>u=hbaG8#L#VrD2%*%o~kp_F3g7o3llVf$4}IJGL0mg6^6 zePt=`!zsfiv^g>A zOk9UjSth~uQ?D!#$$pjuJH2D2Wqk9(yl>oWdV76{Ft_qc;8HHgNx zO^=sd6I&ok_f$tco%rVYWXBl#^At=&&Is)rAx3U5U5{ z6PSL0GCR9XyNNwBIPhQmdG>?ZE;&d_Cw`(FEkd0mUtDVE6w zWORfcgK?>NsZ>AX9;cXiKhMfZg%Wr`l+xTm~C#oVA7M2pQnBIPczuHNv z;#Q1V^S$_H$(qORHp}eiPz|5^Kb%_6BcDfaL_&TD$MyN-(BUq+*pY^S(n)eVrd{5G zCa0r7e@gAh&1nZDzGg3NW%T1XpL;WHzHH~l;feFBXH%M>EEZYNLi4E2h!l>}0_|HI zYKet(&~;CjuL(bxiBSZ4tC_Aw9E`oGdVxbK|ShD=%X0gyjNzD*n#E&>LK>bqk- zdc|ja7``B{;%N*T@OmQ9WCssjB~7j>5zvNRBSc8b&qA%MeI5%of5&Yhm4vC_fES`4 z_Tdf~rX~T7!WFd|Tpc?cK^v=v@+8g~?IsvAUOjsxSR(XrSa~{9z2pLGm>2yUiuL0a z3kbg&l*RDx?u{0*>wtV}0r*VDRDhIvKuUW>uPqdgI_dz-?sLWa@i=dyA&q;#jBt)Y z-r!m8wL9yW|Mkfph>ongH~4|(!H+vxOqQPLs;`H7l%x6OeB=c8M&-y?8giT0AxJ1N zt8`y%y0I zQJalv=ly;ZSJ-(=q1)cJ0NMUU7W&=4xEMYE2!4T^>5&$OyJOJr_%o{CP9y0t zfo`&Ja*0n)Gc0pM6u?xi@kiXY{)wy$WLT_dQ8JV%_JA}PD&oDj!xf8fgNA;GyuMqM zgar`cJ(r6tQhkw&w`$c?(0L})$`(0#-nydpl9+&sH9R~lOcY4rfgR9Dvaxh#6Xx`8(XDJbxUh6*vc=GcX)w`C=i+&q;AO0FU zh*j_Zq-GH_=%KqaQeAidNO)MSsl7O;!_R9Wv(`8q=zbKq=KTJji)+sb>CX!3vhR!$ zTgY;dw+{ARQ;xn>^oVcRBKvOhGoBs`4T?7?x4M6QSUB^{^=XFf<3Pt_mw|X}uIgT; z^1-mtToG;koCe7_&!5NgbSid!zP2cF{Tn@SL~5p%K3rgNjxsYFt81ODR^;9G7o2-$cG5ifQRV0;N4wU@ccS}DEbi}X!l3GzvFe%&OnoPfTZl-ip`V0<*e4Ze&n?wyiqIcuLkYN6ed zEjMFzS`a8~BI9R?8#^rA`61Z{=}yH>yDhkgx)>cV*>+MJ@ZK>sY&lo#1Y*+=i3EEIX^JdUe(kk)!l?ud zRs$)%ioyyQ#RaHut*TO1pSdLzyu{tMP;3 z)M>;81Q=;Dod`C=;lHulEA{Ka()7oDfNfiOZ z$SZ*J4~XeHahhsE5=mW~lPb%m8v-L&G zqrh=*9rUR`G|dU&y%y?CsS6HKa*KK@hbNKvir%ncT z&+&%X?&6^t_9w|Y^aACPzLlg7xa<92NqFvHrDN!=<8fPnTs{*K~(d<$ujYgLgfv3ZO-~S>rnzn#` z58C>n^{1*VYBdL0*CD2$n)lVK(gjE=7oWd^KU$1xzyI^XdvPL%Y=>xbCt{N7i6uc$ zu*ag}CR{fAq-E{IYzKwc#1)z?zrer8DW9OGLz;JZ1(PlchT13~3wa_H%KhmWnT}HJ zw-wUpIk+`ZDYB2Jsh;PZ^lE#mJ&ksMV0R?`;dje=0B6ru{DT7b3($&M=<;)v4c`zI zXyv%>^vy!05>2sFFA2$qGbYgnYtgwh^sQ|y5(BZ`vKSLo!` zsK<%au4?(zCs;pTX$|gSm%uJ}9N?({%FJxJq#Y&%lxV{z?LED1aY@47!><|mHP0~s zf@`uul=_c4Fy?ONIQGRTL}&XN>|17EM!@4JMCUK||4YS^HIX4o7g+}>o$QFN9Ye6U zo!YpZH%7G+XFa5DTz*AEwFlkqe9=Qml}>*;DyqDIe(1H>S)UFvW!#T496P@4Xl;hT zjQKxEdri}}TZTCChOcB3)foVc9K)T2Jdl7*IAHd*1iR87J+i)WLfPRDo9c*+dWt=36K{~a zcy{s1`W%nB$5O6BjrY2?rTy%beZaJ{&I$#VcqMAsgp`HR1AGJ5ij$L0u$-KvC>PUBpy>-xZ;heBR@ZFCou40bO$L zd!*e3BKI?OX`rbJ2@8z}E;s6YwFh%=!<+3K;OF3mKsSmnr7h|W!MNcE=X~~mI1BPu zgc!~IU7{46JQ178>u~bq-{LgU$dRe(=&sy#%ftptXx8F&eWfu|QLALntf3cQkKL0) zzBINigLnL=^Phx&(3h1Jqv3hQ{`M{esBc$ZXlli(MAmP150=xensluiO+fE-O-Z?m zTs;?1gY2y~S{8cgk(~3sYTdF|?IxROB=-<~;SIJw7vjn4_!l9}h2f=I2&9TCG``xd zv~IEJr(?7))}8kv{Cwa%oGH-!?HB$7Enh+;xiEmSNeCaR1Ei({55yP}V5TBQ?E2!i zC}P#m%*>`ROel!83!b~~DR$4_G{!N39rXT%%!fbT)IfDE zPXrCWb4W!gT~!C&XbBEGCe#xd<}cyDBnQ00ukN8zx&m%NlKd~>s&Ce&luQt}uKn7k zfQFS|fLsrSH}4EOR*aS6qhmxst`2cL%so;$$oeGGheoGE4S%eG4_UbM$pGJZ8?DdK zxa2DXwo8=!rDcZ{o{+9SjuKe72Gu_%p!*yXgPtiqut+~WgB=GAcp&z9lx}Rd&wh2w zq@OGB6Yr%3z!%M#p#8<9bHCbm9|{HhQz!4mUh>7+5+dL0W@6^rxlx6p#aQo)!~_i*b#m56ul#^_;pxv{W(Gz*L_ALwB~Umvr?MjW#G@ppZT|r zN2M;KO_yFzF+a{bB5V5ELNL?2KNk`Gv3iJDMY+|tdub(iGJ=ng*OHcna{RWVMh-PcE$B zFHmjr=Q`d&4H!8pw#uM(E(-Y2rr)EhsLP!om#HyA<_*sd7{Bt+2mZz2XFh!TcN(gp z5nG7}eiQ-g&inXp3jR{AWx_BG>OG|0qEz>zS*hk_Q`2h7M?rv-nxh=J%?*!1q!#6| zU{bVA^_4N3i$`h#tzcVhA?JX(%V56>3`r>lS$_6}fcdwzLRFm~UD+r*;Sr~p7XPs< z)9~}N5KlArMN+;XDW8DdA?X%4c~{oR4o6xYeN79a>?vj1aBcr;4>bwlX?pqgA(TZhS{1e4}=0XNPE$Y>L2rWw+aD$`N zAWjNr)$T2xd>2i`SQajwWoxsgFdH{Vr`aK0=*FoH_9WT>m2x?YP{=GF}9Kx^M^-Itou;|{q#H*Tp2#8g~cQcBya#@*9I?q?=ES$ zU&Q>>dMVBvTOg*G(Yw{C=iOo!P zPW`7amTE;u3s=Z-Gzbed@8*S_Ij=;2)*pwQIRP$fc|u{kkPRBvd;TiTDi+Ok&`?~s z=JF8MfnclEni&->O(dM3js4etrEX2dzGP?)-{~i&_S5^PiesU`CGCpQlgCWPk^7@h zuVH4dx+FyT^_UYN8q}xyOm~AV5;yyDp87zVF*GkU7R1WKMdBEAEPtRBt)QLVEQ^aJ z>y{P2iQpcJi7REql&hKE@p&lMn6lLae}uxE8;hiPOM^1Y;eZ=HUmL*0)UE=RglVcP z?ubW@`n9zu8U=1#FI8OQ_?6iC8{5{6POuQ?xbiv*WR&DPJC(N<3Uba zhQ0($lSs`6F;dV`ykSRHIR;+pYGlZ)jC<_@ zf1+#*O1!|I<+&6f*XZ5HUWm&=q~|O6J15xE-7F$2?_x8NvR6gx?5-|imFJ~@q83VB z6Fk_~d)rnB(NK3TKx}#CW2k#J2cJa0TJ_pYjgzOT{ylm(AYCkXb(3ir@tMHq2f1Qs z53lKC;+aA;tfRY*>fjEX?Fk0Yslal;&Xh@rlk@P{IlLUUmz>TRlYQ_&x--$#EMr`5 z`wtvoi#UV=fRw5X5cZOMl}V#4=%3C9n@?d}7Dbz3Q9($cq8fLXvZbacrSItZ2|pde zSmIWuR3jv)b9nlIE54vS3C0wN<5jx=87+eMo)%l!L>hLYfya-El~6WF3XeU*D(=ef zK2x|pS>OpqzJCRp*l%-zQ@^hGWCxkJ092HB^{Gnm`76g>^!~^ABJ9zW-y(8Io%o%# zI)eNfnm@W+egwr@KSb>sq*n{ie8T%2 zd-|rk0CTp(2+Lvxx?*%t*ps($sa*>-)O4=AyUhVn@?Belq!jc}my&CPFFZXFvlTBM z0-m>28kPOyimWLco?Wh(*pJl(uNJ$u@{0ZVQdMlm&wi>@Y-)1%TN-zJj|It|(`M?G zx$raIWtFQG;h^}JT8)b(57LyeAYT>bu7cCC19~|WF+il#l8~<*_&ti!FJJOoOLntg z@-49^v+s{WjEUkVY8YoZ7Gk;b3?)H%kxmK1?n)t_+P#kja~`DEfqkp6CE#=bplvSI z4y?5WB!qUn%qR#RrV_%8a3xX9fw&QWkBHmBpDX70{yl>0hrdKpTdk zJ~7rm6EFt)Tq_7OaYsX8{&%X) z0d}0<>T%;UWjhxq@*qo*U9)7dz}KnIfm0hQ2|%cbtsQ`I(XbZmDKJ>3O$vOtZqtU; zjcM=D2p`2}_Jy~nr1&lpk^3!=sF(ccWPii|ydY2v2^1mhsfbS2KSL@kWM~iiX)2|C z{kg62PxfzcTn-tLO690!2wTq;5By7D8DdjAth?TeLhg$JFa6PV%Xh};sWWop+|M*b z9SuK@c1;CfG5e28{t(@JF>#EJO|Hm6nhw0H7>f|uy&I*`_0cSRt{BTAvLp8mHk_RD z2BS>2+5%(Is0SYk|MNAfPerDsqVVI{o5FW9y0&=$owEDnY(JzCY@?HccjFFO!QL&u z!yc`4SZLedk(H%b0d@dszk=-*cP&gzxP)^*NzD4eR`XW@B!QXeFCi~)ZTa$S;yp|1 zJt`?cd8Cb9>FDdyz4gR{beW+~6=R$Myk&uEWs)p-U&82-V4xX{HHs2}Px`xSL$?BK zYas_?3TJ4DGhG~dtF#iR-UnvApIV&i`wtOKUxN?_Vs1T|ZqqvYWelAjOF)+kC&^|0 z=yl-M0l(Q-sTgBe^_}X0C6w3Gx%m4t#Wbw_8nKFTMzwFO|MbuWUbzV0rkH$Sq~?2e z&9VY;VyZF&J2iWogY|E(($mpC_c`doE{uX=)#8$W9epzbWg9HV&)sX!M0afBzCSzY zBETfT(5-QFaS~noWfEd^N0#zl%mjz?;RXJ(|9bF?7ybdp1eM)SH4(6?lrwk1m=Yg1 z3tLMZbNCu{7jaO?K+%?SqcpGbuf0Yd^2RB?9{Brgi&ij$>RdWqrH0BY1QS6AL>3=H6 zylJ`)kNlJdm5s2(KVgFvEn(68d4JS>t~eWQ%jBYWY6_-G%W3aT{7LCEK_MS6R%}kt z`FbSxlF0g^y+2)zAMS0n(M+0c6{8r^a!%)W{*qt6K2!dSb3y-eh5%FxF>hTZGwQ=o zc;jp8pOD$<^7B2@f6hn$+;+<3d|Bm#VxJ!mYI-homv=j-qYdkp0}gaSzhpBot>)*w zm8N4UEp!NZ#R<8{6Y_C?vEs6MnW_WA^^i2vgCBxR<#b4&!QV-Tv=M<8RF{Sv%tVKU>N=gfigZr_CWE^-rxB{ZPXG{+2|5o6A)Qr;cJkV=hQPewd{Qc zMg3ZTKHS)5JpI~%u&(3bRuyTJTk(}GK>tO_Z^2s%RIt8p^FG{OV@f}#8J6r20F0za zUbyLvnxw+oKL_JKN+!J%N zy!`bo+FU)O>p~mL@GDxg@Md|47lD|dHj}6u`&c0Th6j4SURCBn-(wniyrY{{JUCkJ z4mXVbwQc_W8DfzZYLgKJx$K;C(N=Cb>T_x0w!w1G^4d*s)r6C>%qx8!9(e`0JIe=%5O$d?2m3`I1Dd0rTtWp%nWVBh<;_k zeZ`-KhvilwpjRyNg!6waU3oZE|M$PM7-XliH+Ds`WlNe7*~(IprDDofC`wvv_li%c zWM31b4@LI9l^Lb185M>Wro|FM7~9O;`@4OXpHIx_$$^&i^87iS~wM z(gsHRgdNTDVLPiMhhVD*J@ahl7I2!KatpjNh=?5HVbZ+M5BeCNyrRxMVLS6v`UmQ# zxXPOVbLKuZ3_QkC$u>vDj_ zXVYlK1N14aPmTM>aMfdz&bN^Qi%*0{~`Ek+YZErXc9k?fZp3qMb87y31vH8rwl{G>(5y>Xx{xYX<7=m@{vf+e^oIcYPxs-ftn7k63H#shSlCxX zOGuu%PLldTQ%jk?wp*wK^}3W`(Q3bq`@?zB-+5{|w; zu7jDBP&%!(8*9VME+f!G01?5xZ$^L`96EChCQls}34%DJ?R@>mYk=;HI>)b%_GB$w zY>{m>N6dair?Vxr;xUv*SII;K82@Ny zr|&>UNISUDr#V%wgsO!-rs^ zo}%del$arhe(B-1>ml`*W$Hf>lZMuRY_#Q%-#hjM=)Y}=ju(f7O%whxJBpPFzx9)7 z+Eu8bv>kJrdejwbhjL8LI$$sPNUsS>6k+0qGjk@LKl`1u%ty|MZm;U0y4$QnS~R46 zjgdg&C%*Xp1fPfpJkox-qJ&PY%&@&+n3~cHtyD`D?F08W-=!SkrwZuz5g;_)FD1}L zk=|o98b(z!6VK3qz>IV@&Kn zQTtXv??2KEz6{Rs4`S$N;p&RkJ=wcGZ0l@-yJ(&d3XqI%sF@Xmdio79b=Kz=;<8Ab zy-@C{KkK~8=`hXtN4K4Jp_}ymbh}7W#^Z~5S+hPDktWyQr(HtkT)BhaXWk-7q2249 zG83dV`|lc`@;)R5m? zsyOn;Vg#L;Bd+KaFoUb=bl_!>VU>7C`80A6g;vU@#fDcEin`TXzK6oZ^t0B91!(<6EiT)_SXL^lS*K`2LV?bB&% z;=~5_+Jv197--ZGva9UDUQLQY3RsVDJ->=;6*hI2Z&yD!eac|~2zSNx-jidsFPwlZ z(WOv}uVO-yD7@|D!5h%QC}B;r*yAkP0ML}A=dIa;%Rj~#`_4IgGWrC6=1ykgfkTOi zXFa2-Tz#tt#;ZZn>crL)Mrb*$ig6W;>>%Jj6_uGvDWwC#dJ!j!27urZh@1|fXL~J_ zF~@z4cn`BBAV_-UInHlyPBS;s;#h2K4BZD=J^S_lZ-oMoVQBvPN7D($qksqN2yHh@|lLXqFm0%H6jm23gXk z&Kq8T6{)$6u?6s$xkuK!D1oA-l>>nB&!4DXg^HAe+2&i2XER>-tK>pB+5``a>b;Z4 z64bB;MnGbG@g3??q=o7_=)<6c?!6*>X1@`x5vpmitbw6?G(v49Nfaue+R-MSo$Zx0Lx1Lpa9tbyRoe1 z{Rl!~e(ia2NASuz|3{I16Z)skKCJp3_^^}CfGHcphTno%mdu+5H1|79>pgp7P5a z28*&}!>fX2!X6-;U(cjiG|hEd(2xjSrbI#o5SW>1{MFZJyk^hD6VB`+-xv9h?h8mN zHSGIXf8l@oOSq`J& zgkA*mA+m;6|+j6 zpWCt_MUvqwujieJ-j;QFdgHcidI7&opehqub@W zsC(i=2o${wx`8WKhcG1r01D=k8!(jy4@ZCvkwm;{UMf&=Ut}RxAe)44G*mPZAy8n( zf?6iX;-R7t$4-TyZCXC^BoT3*Z+DIOGUL4ClKUW-?1o(GCJD)`7m;SWfR!_l8>r&F zBt4FD@ZJ8PFl|CPTzl=6*ukrtjEV{nsUOIe=#CE+JmI?3&8a?r_@ncGmzAx_Z%g}0 ztkb3|Gc`C2bkc=>`T91$I5SQ23Ng{9M{J(;!|1{_?*iYNAtMo!-}r^Xf!5q+Ors^* zmrbbvbDaXvxmoSJYhj;L#8Q;LIWgU8<`LX-TBy<|SK-oslG090xR4t@^?FE*V`>UD zHEiVW5t=vW2iD4ocNS`8cv@aQU?)LV2mToThjRfvLRgGFl_B0UL`)osnraD_oo(g6 z{0l0SK|X5TNx2(+&KlZz!L5s@vJKsWjzVVM8m`BCkQk*s4qu~@e!|xVskcZM^hGz& zBGg&bo%dM$#UY{E4cgOh+k2}Y8QYp89bZw#(BYQ(>J72srO;c*azF3yZ(Vq-jvQkn zM(W7(?TI3muF>`>6DPToGe;S7Pt1UG;uMa%5->f7 zh~@HzSenk6v?5Ul2Gu8L{9ZFt?CIp#jQ;HtS0qpYnS>-fI+s14K-WC#;`8x_{Ys{V zt1Idf9~OWsGr1E4Sw14L%zsOP_EK8fujT$m~)p z5tsWSsZa2x*7Qhd;&d%FtL^+nor(SsXtm(>{Z#yzg?8kdN%v#hwIvD4Anm_m3VF6j zbwg*2gW%}n4F)>rI|?%b(vhXQXI&&FzPC(qN zzpB+Szmw@&2+nCea51HQEWq)%JB@VON!uD-)aojS!!h?4Yt}AL#e!Sf?eO%AxyF@q z8`O*~Louo1GM23d&Fc)4Cl;#$i@PU+jrmzl|6wqyKrYu^3W$eB_#b(%d4snOB19CD zQ(fPy!Q00b(P~krqh?`Eco{*8#bHe;Ns3!Yc^W#lrUaoMTBB$pI{3@IJOF&O6w%{2 zJmp_&c_$jS*QO$Zx5U|2)KoJ+&Um^pPoUJxZ@YAW_3y|*Wm9Xiz!q}twSz!WHY9$= zTOdxeM(AhlV^K-SeJHG&Fo>SG&uulHGBV<4(CM>!IVMQ$RXwn+xXMXpLvuU3hB>y= z=N^I{KE#iMQUmXlZ4^tEzu+xJ@i3n?#W3Y_W^Tw6qp6giJ2kmd*U;SsBE6Ln4p7)& zMtJ;B!=224I5eb*$l7@&r!R)+Zh#*;9@WeOSGZOuH~GDWW#YBgOHU7$!`9i{;147z zS2e%)bu;BQ zUZi0SC`LE5p%yX z9ds61;5Y{0UIzaKb{lc`Q_!8*cLa0`j%)Ggx4s(fBKoJ^L`Q!UDZ@nKS<#iw*!NGa z4JrcdNiB{CzjF7kl1FDZGk@94B!-x$T_SNW!YkAbNjgl_>xobgX$DD zqTJ!rhfM2(*S;*7Rx+4g&S{XsEo&Nahi6oYCFc~;g49H_r zm4V$DvIuYhm|gFFP`c@m#|pt>`{SD#AFOHy_qo8lyqVyWDl$WvBIM>H26@5@@d65K zdcc?2OIdh@#L69t|1M=JVIcKvzU}gmHR`VB^zaAvq&*P!;q8lBeHLT8^aYXK!rcnn zEi5P&)3nf_W!;njtw3C-jI}Z3k0mGf5`Yu-P(6l>-AhUu0T?28@e3K)4}`dTl1eyF zf4!TNyKW|r5Nl|!7mVzy)&Kdx=@>7%x|^2|J0d&Y6FGwq)(;+v4;UC@Zgg~#RxG92 zSNf0z#o5x{`inn!9`ioQ8!!IEzOuV6<1#?HgGTZu{8Uq1=EGGIc7-|;S1V+R^(dyb z(2osm-~?OA^6CjMeq*4+;enKf{ zUg4flQQNvIn?SL?{SI@swmx9cANOLuhYT73_lrR@_mqNjhrO$Ux~#h7^(O7{e4``)2o|*UO0<5tosa3 zg=!bWwaV^tyf^v-oZa8W)E`^k1}H_hSIY0l;+qpMX=RVJL3~|G&mJ`zojY$=t*&_n zSsg-TTiIiGCr3o-2wAb{DDJR2=7#79V7`wj4@l^& z5bUCYPjm+2^nxxc$tqvE3Onf4hcayi{;3u{z?+<@VJ?SmnDC;CQM(thcRt55NJbmJ z&ynC`D+%FaD=oXHse6!91*QmQ=Myh#8Ep({+Et*80tlkKEo?AEU+L2&;bq|c+|e9x z_@9Y2)i7&rdRs|j4{dP6>U)TW_#gh=6S~=rUQa;2=YFe4o+px+nRyzJP^M1;Z_Ene zm$HH}NF@$a+a>@MNdQPG_|*o;7K9e)@JW-IPoWgvaf#r23%0p*FA~1X+E+UU z85XOx$8Mr+k&*EC1iFA80dc`Faxpf11o+Zvk1eXcBfsz7%Q8*$`ZeMgz9@kZCaXGY zrJDFp%&}2>S`x&mp{W?JCjp@g;|H-Jhgf&rMgSYELO{z7RhP;GEy5_XCEfM{6wg;UG@!C4YrQLWy8&*Sp^O?b-f zdbk`X`Pcj{1=$uf@_u@grIsC~45VR{6>X~;S^GOAdjdS!`2 zBiVAVedt5HXLQpMrGMc|8=gzflRk&R;h0*4!mna}Y2Kj<*%7hEA7C{=>?1`v{q`Lo zTIV>Nh|RF!Vba&MuAIuIKDp*ECZvKhkN}JLS3oM4$X(^h3qt1}9{xLJz|*}1AzKTK z`1wX!_W4nR_=gdB-?V(jtZLR*rM+v`EF6$kJYb0h(t|UMw~#+%@!^xU3!-*IZD!C} zk3ftu|K7XrEqyRhV?J_1&%H;3FAkrnn`sY^&-CeR(CD)~j?8 zUt@^<+CzZysglhHgw^mryENI^r(M>hGdMM5uEdr&{N2|cKA*8IvT6rl-aTm8{H9H%;>#BbVv$d;x+x{wt#omD%_^g%E(6Bmr|#;q3Df(e%VS>0UYB zw2qk!<&pufng-ElS6dc2Jg+{I`U4vX8Y+)p@dS2nbCm?lTr{BPkK{2$hX9uBP>AJe zUt1|@V}3Qkg-sHrc$5%6u=B=F1JNy&-(FU!`s&PP&c+r6oosEr8AB}*{d_$(W@t=4 zd?`KQpwPpCJw|F($(ihj`h%O_YNF>HpXHA$QA0DE%*g%{p{vO;7;(NIOMEKyd%m8_ zbUVOZvUYhSD*5+wx667jtsbmK;z;ulD<<={Mlz#q2d!1*Z-#q>ShL*+#*V--IjGd| z+^G~5KUPH#X?6b|#L5h*eosUVLp%buZdCxG!(evEHEfQ$cc$oGq1c`FUlJ4|;Kn5y zxbdU#bQO3BK3PSAyukf^q*-$2EtP|={>5jui`>`8(y@nLqT5&dJBXJbD}ZK5eXx29 zZ-&`^z+vP=OdS$6g%nx;2vP+;jXf2BJXL{}^D*N|7Q&g^V8T|19VSL%rv5RToUY-v z|C%?^6C0CK@+S?dy(#I00x=QC-e~k1HDFXE$k{_SeAowSP|~i0C<$>5)fW^5JhW{j zp$NY_O4!tsKz#9Q%rQn7vvm0IRuzE)&>3O7w^I#HPUhp^MyO%V*nObymIPcf$kxTF ze1NrY79r%5G(f06@O$|RC7{bU(sv6%LGzp3=^Go3KMVn>gjV^JkhLD6oj$!}nGVsw5ks|w; zFGESEXJF%a;=+gfpps&+h~GzE3$JGbJ^@s@uYh7a;_&311%?7<;mqH_K9>ZX&+mh; zzi6x2mTS<>%xBI2T8=p@B~^X&ts%~ghgE%W+T%ySK?C$!Py>YZPX<%#o*HX~87B+* zJ$FyFH$yq&YJa`G_Q^v#ml$axss8;DP!*Mk%cK5g0>=Cb^=fo~T-X~2w?r%k3I@GfBEvqQYY-?iv&1Cto?+4_~NpwqE_+R+oq1DnKG@W0I#IV$;t%-;3uRkjz zt&p7#)p>!lSrS{$o+qkNmUt&W(QJ6KBX8(ZxWk(c-KrFGDFq+G4Gf0BiOvT( zD!9VSy`9 z#9oLGq$iI&%Y|!RbL#Ue!o0`jIUWu zsKTjNbObBRkWcF*OWuXnS7%M+5A8rO7rDQ<#|Mbe59itu;yFt~qSNbdnkrpeE{v9P zd)ApPV!!0P%r&V;I?+YjnU-cG>N}E3dAU}@PmK1{bohJK!fzb_e6OysH`2HOY$3{= zR!AEDd3b0n4G>jCSA-)RK*ieKmFT_zpwy>TaK{2;jW1JRZEL`UO%=V4`WpB6xz&?C z#WFpQ`gu(UTIm{Z3x9MddsTw?J>I%?zJwy7AzNSqU4nPt9rSnF1nj)aK0gA4O4<7W zzZI1*m6jB`mLx#Abb3eL=7q!h-`$CpmC09!Y^|4QPtbxObi*C?9@y|5JB8m|TLwnL za;L-=3l(AC0h0JVC1cM?lEE~ilLVE~FsK*;?kD%-pTKsaWK``m{E_!bmH21!IsEr9 z;+H!{61_mQI=cyW$_}4_f_SGo>PE*DklSUn54@Oe+8$m-LYAe@Bv-l^K6(mS?L;hB z-utj}nzsEte7*o~f-1|M=0$*sH`2XoCfQ?|Kkr@SidW>_{1*n8d@4}wJC6}y@>aMC zme7m$Fj8kNmxTaI1(JZNq!JxnKoU(;T{7uTYH@LTpe+x09o^&~uS~tD`8eX{JeuP# zZp2t8&i`@5?7$qLD&-}2dk&~zC&+{{6X2*6Wz2yG7^%{1K&X1ZY8W3fa@{%WHX7smmqP8^Dw0=dG z2u$>`Eb|oJvgXr2a?`hids738sg;36PZgUcFn~xJqzoJMrm8^l#2V zf_3sA>Q13dNBQg6-BtNksRBf1onMB1r2zIVCZUp3*0ambU+fByLtR@J zVgpD%%2A)!(aYk8u=Q=)74G0TO@YlHR1EuGfNya|HOtyE@_izel>q`DmQpMMOmI!G ztX4JP@2fPNs|++R+>n#O)UL;^TYP)VVZ3VQ#@}IX{}`e3!)TbN5fez;m1g zDhZLECeV4>7_G>Yuby&-P&vEa0Nh@S9|jmxExmjZy(l@t9g>S?JB#V#vmJpAHfm@o z;@41q=sn3BWn`!9o8<{^9u8EuU)0$>}ISQK3O1V$rW&764NPS;+PlrZ4P1>XWPNL2-wV_%W4m*&G8yNS0$L#?0HN00}03LlnDux^K$`IjV*iaMO z`{&AG(0xXC64~w7h?wpu|H&oNTWZJ|Z;u8lfL!^9jzCdn)j_kS6_CWG3L#%=zom7= z`xs9OKssnO4yp>X8MSN&+UT> z0$rc2@5dTz+)YoadfP}}4>YDrb_3fPU)1GUnRb95Hbf-%)~tc3oH!67dM0G|o)5{L zgsV@?i)+~Td`MbdY{v{dGsDE?krkK*T*G}R%?)tC3dq)*V^8a7tDcw^1j;N~^Hn?P zHhe)2^veP0WSXVi83Opf?)SJQawkcE*}iIr;`8Z` z{~buhWQ$nsS+UR}*S#WF>%F=9w2e%8EPD+Fjce zw)}8ofEQ|^OS$6k!O7@XYEx)F&!>h26Gv~5CIlc)!%C_t!nswz%gc zA&*~lAv*((g2O%f`s1TOH=(v}H~FdU^=MiA>%bem?>E`Ra0$4FD35St-nZmU3#hfs zNWzw6*4f*m?1}4`iU~-${NV(2DAchByIWmJM+o}Ht$xUOB!c}I0t_ubtA|Wej<;Zd z%SNNbg;#z4)*P&X=*^qn$1AK}GyD}~s0LMRHPynub$3h+f(*a7r}3g(%WJ$yRql?; zAhCuMVe%Dq!D=Jdy%2QMx0d{;UUH{SYMj?Ud>VXb&f>c@eu>AWitlgTW4eFeCR-;i zU$Ty-sG?pt%UaPhnO%9m$@AuKbF-LmPRm4kM!6e@9u>nWn7+dJ8uhzrwbg5ec6Fa% z0_4UAduA9bs1akxEfN)mVT+CP5r|^y;LL5 z=@?UJm5J8eaJhME3pWtO|1^Rr;dkLg>4D#40v9C#)N;lD8I7?PTtLOT@DRt1y{k^} z)J^4W$Nf$i&j>(@i9ci*=W0+7k%NHvJ3&ZM5TjQh4%~SX4d1zPQ+F2J-RyL1Mk7g~ z>bQwt?_&5Wr*TC7b}+)R_!6A|3|XeP-`l!?hpN=yq>FgGF5BvnbnaHJ;FPB`O887j z$pkPVk|;?FK=GD~fV`9d%My>JeE;E#bx#sd5`>sazlS=NJ*(eMe=|$szq-D$pTqwW z1Wi_SZ4D+}>gPZ`WtQPFB`oXb{=RbkIBDO~V0o#lgF9jkO}i$sr|s!hD8YmPsftKa zl3OrEc(jM+RioZRK!PS_fFI|?DK-bq)9?9J-N78$fqQ<9d1tLKkONp^s!w@xoCo4U&zT8U*=bOfZaZWBsm5c7->|l2OgUt&b}|3xW6g(%VvM% zD8qKJbegwi;rPVZKsd%VOEMTc$1k*usVsemT|RtP3R|>+*&l029uGR)XX5 zmFmUJSmcYYsB^;{*}^hRXFoj)A7-Q77GJ<`@fWLcwFf%*j%Wp-(x#1SKz45fQF?86 z#|OZ+^E8fxSuh`vFWT~BS4BkHsZexnE}%xYV)gv6@~>{V!SPXM+-(0r`hk5R>X2AGgs69e{AlykK*GaIfxE|0c8%sL|L{2J^OSR7 zp!bD08_4WBH-CdW(+OLy6$MISQ3rx7HWkQSrzW=jwZ6JlHdIp6%pWUX52HH1xJ~fK zUSyxft>K@}*{nU2;Kdk&96Gifp>=V_KALYBf3HmdrVO3(Uy5Q`hFPdxrvUU_4K=ef z(Zti$XdW@K@3$_zc@fxAJf;)f_Suj!&iqIDC2e^lb%o@DA#1N}8EPXAs{nw)VuA)9 zm=*!T4k>Z4B|%W_BRL4=pHDR^pj>-&Pa$Y{4SGG(IT5fe_YMEW^|&5-RyOPTGNg+{ zudkjx87A|*4h+cii+OtsL#jG1B^02m{qc={+*tGBxE+E@Do|dd9o|}#b1AIV_vUY$ zrx9IH>D_5EUn7!v!Xw--5dOOmf~xB(HR$s4y(CpJ_r#E+&l|(p?IQ?OAD!wCXily7TH|* zAi?ffwd{hJX-eFGQK!kan)jR?BGy)tdbHxcmb0IDA6lTXZl3M+IWnI@AB%q4(z~I( zb|oFmVe=CtfMqj7xKwDxzXBnZ@W!6~_{LKMwn}1)G_mODK?=)i$O6jnyI!_|x7`<}&Xc53rSOQ(a_QM&=4Mk)=TnEd1@ZaFUVmgcDdzg!1w3G_gY#rp0~ByToM z-$x1BmTCl^Jfju23vPXmJV%^=!6fp0N(BbNbwlaG)^DjJ4EWx4cqE0nL3Fu^n2x4+ zA~$iTZ-N6GV!az5y${tR7xrp3z&5F`4Ctj12|;t*@#p)HJ@tqc>W|O`R$(1l?eTi_VB zND?RnfVb6GB+2x?tjDSqL!HUTg1uHF@ys{!CF_itrVkwXuSL3fgZD09Li1w;}ca4;lRtTmJ_Wb@kIpb{sdrPlAyM_t0SQLVZq(1i5vsU3V~Gui3G@f4p6gQTG}=a)XmZ6kfRN# z4Yx$^yxZ1HHCA~I`w45zpXbvosAd`}e3{@m&JpZjxSI-V>J;16PzP9F6n@7a|a1Q@U?JG>dBF#lUm{KgM$R*T77jk?)xRnwHE zls!6@#WNQSs#7DQkWIA?PD7IHS-(4K!U2oj{zP4nUJo5TETWgQOjr=X@-m^=Oyr)z zFgC$TC`X)7}wYcjhe~6@mxHspGj(s7p-pTE;9jw%|HwGT|J7BxI~bJ)>13;2=U=gjd-q z;L~%Tn?EZf3?raY3Yez#Zl?#_1rEjl*vr2QBUi>HeIM!89iQ}OI`(sKy#Lfvcxvi4 z^-1rr$Teg<9YPH$F_rJIkFZeImzi86flF$@@acVfPah@McPRk^q+O}jkddHkmDf&w zRDaO%9Q`uUX#j9WgDyxvLpF3)BxT`7E<&RHvN&< zb6uW|b}Z3vN!2q;HL9GBhF`5+ste(O5jS5Aqt~VnO7(ILXPmoe>&F%v)K=Yxhz0OS zyDVj4OsKYqCSAFi`WPu?`D|@ftyC8cH$A69y`fItI<4rPS3o z7Xq+ul0Xk34x@YH)3*q`^w$F%s0O_fXogT^U`-HDeO;{f84S#!R!a>-#0dDpOJV~m z9c z%BnLqkmJETkY~cRfwXYBfBXT=6aHh<)`e{!p7%m#jW4|m+kQOn?9VD%O%6lO5`k*} zIN^99^QQ`wJ!Ij!G@v#;{mn(-)jb?m4Ktu1POiFVB-rR>Ttg5TdW`8zoo_8Cn0_=a zX1)LSk@K;c8_eM3>RDo6&;y$Yi}>quN=GG8XmSHv_SYMNS^ba@mVxcX7#Pum%Fz-S zIJD`iiImbQUfjr~0-@T(BXqZyu^(5Th=~7J4b*XL=aX^ry&FrTIbTpCC&1j?^y2bv z`IHS&WOC=4vpjF)>QVEKdQW6;_0^KVpcpv951o`rd}$byh*o&z&(qYIq1wS!Xc@o) z9qz)WpU3==g|3~4as5}q3*bRqw`SZ+T4z%?X3=HAhlhNdM@AnL5rscne^kHGU?YEX zJ{`bPUdI4$PZFVZ=s>s2d7}L1Sa(yqeFKi~0sps$&cwbp2u4fLAB>}1Uh!A(1|Yth z51mvEi5()YY60}e7!?m&4Hc-;a6Awdc&Jn;$|=L_)^btDoOe}1aj%1bY8=yB2>P+szwb1nc^(PV!&LC((`^m#+OAhOF=$W665GCD(nVu%8(t&2_4VMIPtYRD zProDtJv?`4R-xG9d@OP2+)ZI8zb%iJjrccc=neS^{_});FtMpMGY2uLL2B^ib9j$w zTv!8oQOJ_%iaxSP+tG1(V_fUd!i{rR$eCkf+{ofFFkll@>3iwu_BE>U%m85MBtlO| z;WTo9Ymo%zYLR2QK<+>p8RgR_RG`*+?W2H?Q180K)iJB3z~g<`SHn?~&FyaNC|5 z3_4Us;Zi$*04$+YqB_Ie`FxrsDpYIPjm8-YY1 z$6ul~4=tW$@oodR?u9_SOdOH2K<(O?+{2X$6%~cA9aB8gKtiQ*Y&=0CmpSRfzmM@` zqOT~A%7+MZPY#iwCV2TD(=pJ1fZU&F5PEDe8Xo_q@PT(64#iF$h!hlt#~JTCq<->G z1i|5ONe)*C4c914i|$!%O)>3BL9`i&I}dG{v`|tzC8Gzx&IvbN0S}oElo}{EyvqLC zzwKAxr3EUD%V`cmu3_m}e8P~&H(x>kj4`%9cn}-yN!C4#JH(R|)3F<(pYFKnNk6}r z)s0#m@IiQV9JROoUIk`%srRv&08y*;$l@@UJ+;V05M+BKIL`o$wJ)mh4FGtuD|XpO zq(1@mCV@t*x)a$g9ec_!)qdCW_d^fag#4mEUiq6@XTR<#szf`ZvD>_gA=JIVb&)|I zOIf?~@!|^O{%)*Z4*TZy#EVFS6Z$#03z+QxvVJN0Y;h$iP4!UtWOxi5gIxu~PAPuW z@OV|m0`1cgiq4EKnkx3MR*a0%D``302Fvi;_y%~>21fnb2^RHeVk8|*_?ilO@sM|8 zNa3$Z7@7q=;jx!6O%gEKgmKx08*WZBK=~>_w54=&&8)~y4h=yFX3D`P2j&PLKhgFj z&4@@8kI_iAr<$C6N+W`xXnS;PgZ#h*a>p&SZPgPrLjQYw?H>_azIybW?NwGsf9!m^ zQc0mfWbblK=S9aCgWJv3#+l}|2v$&!<`g9hsfJ_+?_n(E0M)w2F1Y*ZeTn$osH$Q4 zqGxg}SJaEv`vtTk&-~bTUSK5VM6o776mHbwhuqA7Etrbv zDb!~KOUS~b;!F9f{I{VlRk@J8E8D7TxW+X#Y7 z!up3-eOA#7M)Z0a63)97GBlR5id$@g8x-bEgkDzPL)J|yzim&gVc&EdbXb}?h5cXv zwQHQSUmW|%tzpn~zL4P7g*(}Asl5(x&W?56K;F4_BEVJ)=3xkMFL$y5ZtbB_R`DTk zk&Fn(;+h_$3PvV=BNacK6%L$uI19FNz$}Cbs%qgD-T@D>GV<~-(58>gSi?$(CQj5$ zzAwat{JG}eG_Ug&bix!x#HT|gX~MSvHhwLVJSzy@{3sMZfU>B_k3K)bdxQd6_{!8B zK85{H=?}{U(C+7|wn&-c ziWSekri#()_yvTA652x)8?My$PRR<2cSJtesZ>L#Z2;n|_v3#K0^jbr;9fdEHh9?c z4)?=_`bPp5v!`}O6Q-qCJb2-|k-(> z(tT>$oP?;!K8pvF+?CPb-!1Mji1T@Pdlh@NjaFAU^z}Z&mpM)8K0dv=wugftPl*Y1-VfpX6q{4Q~=%hDkia}ARF*BFMdqw1*!vEMZabvc zREDtfAYd;&8nah(NZyy2K{>5@%6Xab`bYkCIf`Mtv`3XW;nETO|VvG9p`_x&_;6%NBF;{D8ulHQc^b^c8k_Iy-B<>63y zvME8j8lAv0TEQp&z<=(58RP_ivh8fSWAQfFqk$orl05W*Wmz zCF&-oSL|Lr?t9ij37{;bNK(V!a{1eBK-8$77gI&^*NgI3m z=;S*N%>udc6kN_|vsS5xmn{dTQrbwoEd(TEc7Y)QioKx|_leyS-`GDiPHdH=Uv!Yv zs>A%we0zNEmi-iF(>t}b(uWN9W#o+eAaV{yZm*;eu2au>uC|BchLLq)j?W;sMjh~y zEJ_8o8{_V?Nc750N~}4TvE|bJHocbYCyjXKKRBN#U`99BfIFY^0iH2@6$lV4TFr{w zaUStxw3u+g>3!tgR!7CNrO(J-On$qbr-85J&pj2Wf>Hv+{jaut=P2Gku4MpNqv+I} z_+W9bOXiBnE)K)~^f!eUa$a5}Mf%XCUQbDKYDmf1!5bG)E`_k;U~Tx+=yp0Ll8yJ zF606jN2)j==dliMy9sV*1#sSQ3!Uxr;t#x_garSAd>!+vmug;5-23vYp-1{Q zr&5{6JN${}|BwG&_A07Z8<2f!mGIdX)G-3g`w4nS6)WwT0GqI24`}mWHQT2|(na~> zbbYJJ3ad~ERp^wY4*<64N>Q&pCRAGH`dELqEJ3X0*hP;Z#rw)H_YpXnKb(VuJ*hyy zm+*ZLGt(J?jX`Z{UJRYKUppcU$B#GgSqt%Yd6pags=%E6N*ij# zacK`Yw0DTl3Ve7K$?3N}*P~U7FpXDeyh}T9shf(v2+^JKPrteX^5=)^wfEK{h3}xj zgV(!_j2q|3OmA_kwN}*zq?|utR4Q$^U=l^VG4Ni|?oZv==up&(JW~#8!JI%{C(|MO zyFz}U09MQwXfX2W0ox-%!pqElr2=%J9IYzD#^#o1hftBd!1Hp>m99ALvn*wrxM% zIDy7gRyxNC!|ef-=qB$Tze0``1R@8Z$D&y_7!Zh4sv#A z0?$!_Gi%7~C`Roeu=?flk2tGum`{6VFst7+x=+jV1mjip4n`pr0j2 z^q(f5l?L`U_Fjv35+*Hf9U`Jw%b*tj;EMuesOWd%X|I+!Pm|?K#y?fRSA1>#e zN14WsoRgX`5Ejl_itD*Y;}vy`#D5^grp(#yVeU_lfrX_)?}3wK8(O2ULlpV=Um)0 zDs_7uJP4>2z#LNv%Pz!w!%<)(@>l7#t4Q+91d{v-jtbn@%AR>abSy!x zWbQ$jci{{!?eA4hX>tQT-r7VNbp?)Xg4F1|nb=Fa70Qw4xbH6e^!|^hFAs<658pns z*mudkOtO}&*-Fi{+R7FgB2$#IM5!op#!@69BuNdaC}b~6W<<7xvL?)wwe0IGX3lxf z_xF3>_qw<)|JXj~InU>L?&p5)yPsONz9O-E-cY~X`4`^#!2x~;>)Kc3_zy3Xw!f() z0~vK+?wAKivxLb4ni+sWp)XoU3#FBD7y+da_LtTREbWjo?eq?1amy|JqP9$}Bc2j5 z&I;dnkL=NYnB9s!{Uhi5fd&ooc1+wuX@tm+Ndtf`0i>uuhjI`r$I}*)ZnaW>bnOS!vbJP}ipRhBN%3G`ya67EOWD+dTKI7l z+z>u0K{=9}X#^I!V(cJBxHB*N4H9kOWy6JV>R0)eL^jxJ2dGa+X^SC?WeKo%X zoHsi?2`GOZM+$AG&q1-;Fx<$8XHu_0@1k>lR~DI@zc-B+)lzw1^EZ+Zy}IjvR5K;> zR>cFuK5qXiaJ^d^byuBXq>GO7Ay;b<^u|SRVl>9ly1#wVzyMkv5xLVKmq_eqzW%1x zZ}P@-P#|$V`I5@Nz|X%RYV4-KEZo-eeohau$QkE_UeaJD-0xc39XjxB!x72c)#DL( zrRBn~U{lzFS+d@Gix!Du#@q6~8Q1ANDX~v_c^yt|g_c7w5SEKIhOPBb0Pz$2aFwU6 zz`|s-{-%(Z1#C!bJb8{uStwdMF=cRu`Jx1$r$H9sx-A;CP~HiDgH;-NaWbDmMpIL_ z?eEwPJu&$UzTTi#!1INN6bR;932(RMIijs#31+fbfRjuuetwGs@rtf`iW- z*cdZrM-|bz=nWlz+;n-i=?qUZ6Yn@XOm$Bqp0qeNUIFrP#jku2h;5JAjUs8H%#59O zklV1H7s)Mro*p#RP9c&y`5X#Wp$rh5&WfSuOW3vw|HSfMWk<~Sa6{UYPGX}*HAZiO z;VpH^#+b1Ucae6SLhk%3Ujd$ciq@ zvfnVMqh8~a5Nt`FwGdp~Sa>#y;`MD$tI?Y%6=IRq-u zpFhKBHhPO_9Kcadk>P`s+iv*&Xnywf1; z0La(A>kE;w$sTV8C!s1Sh-G$J^9&5(*8VZ zkAX)^fofRwHHy#d()~tA$PNxmR(g8nfWzK6n0d}^T4}IxhY+AiR@!RedkdxCtO4A_ zkgv^+i+xtaqWudd9Bq+mC((|atjKV2Kl*O(2a_M(Jsa@kC=4L{V+|PPw{QIM--_QQ zA#1I5(7>Z{DP#EL+f^MJgC4-!$~F0^U59Vo^!AvRm{{EMCe<%yEjoY+6X)=i&|d9k zjy(sN+)g1*(-gI3{~AbnQNVC%Ivd~5v38031{s&YmntE%sSpE1w+VHAA1bb<#CjF9 z4u>DT=QEaBc5>kO1aJq3;Ek&DJIHTb08P}wI}O@KJLR+&`}XCQpbuTDgaJto)BU{0 zJ&?*dD8J0}H}3S~U97oo3&h?9hO1k4*14&VH*2gJEy%9|FJEmUwFOS|t_-vx9~ zfZ6hmMrq)rEHG_s!G8~BADf#hE}l^`@N@9#iI>-YGXtq13(VHDa5`)6PwGGT(_uN; zCGq{*SOO7$;AlQfWZ7r@SnTD*PEU(O$6acJKLU%3gP#riH;UiA0+p(oE3 z$;4T5$gcfm^RRs_m`rRM?PgHmjeV<*1N3M3%kS`#-LfCJ%%Em9419lj`}t({qB*A^ zXna7z}{1SHLc&KVwk?zV#=j z1imZ+#aPXD|Ah3e{l0(?OrIlyvm4!cJ~|wq*XTSX6@LUXjc>gR{=*);wdAvlC$|ZX z_7A~Xzy|%zgpGp?AV?ko0M^)X^rkL}jglJ+JUKi0Nx!cFETWgqgIuPBn~3yzQI6vT5h2=+ zn^@N%_GB9p1AOpV-Y#eBdSCyc9NudI!3?DPUMT@jFD!0Jn}^ggc-!klCK>MzG~)YX z2WBLW!$>hwSDxXAL0p^9@(Oj>6ypKPeTb7-kZQ`;ZVokBl6w6rp~z4zSG&KwQWqft z61P|3`tkjvAE2Kn5<%l1@bR~^;JamtFI-lqxJjQtl5dqTjxO1wjf&DG>=!CupQ7Z7 zUHR$Q)TpC2!%3zLY^C^IJ23eGZXos!H(1|-qY&!@f~rG@Z0Q+Pxd5&o5WR!gBk{*< zkd9{no%Nez0K!Jfa2BFH{uEKWsf)71Vntrv6+bGqE}j^KGEKJDEI7f9_N@Z<&~F?e zQ}_*cKC$4v)j-^uvtJ_X*0#V`bT*b?=z`?fqfcBgk|$wZQ-I7=&VfgBj6P42S0v8Y zyz)L$%}ZT|)F|4sYLnf5+vzSNtNM=g{eRC2dG@*o=fnZ2@L6Q5c?GD7cf;~JF_PMl! zKiYXaKi zGqFx+@_hsX(nMYM!d0?^B<0mM5DL2TofE)GT-4O%a+-=l(t`L2Pxm+1ZZ}se#Tg^b zvja+UVyJhA6m8h&>|_9tN0&q3jTGTyt$gZv-{td6zKj7Mhx8D2Fl}@1HzKru3TL7n zf(gHtHz$}G(b{?QVDbih7<>!g!1Cf1c{c{smP+ugfyNJxwu5E#utPPF(icvZt2VKf zqqJJa@Nt1XhIS0l3;ydWz|1%zvT7quum`LJL!0T>yO`4vXHpc!2@JJJaor`#2jdy~ z*15N0T5N%1->(^qA=RFetms+Zqyd{uJxtpThfgrUDIey@)g?Bn5q`R#Wnc^68mInu ztod&MVKJ1qE;$`|D?>W*Ru?D!Wu9)abhRxW>Q$K%7kFpik}^U zzef26H=~birNwrj`;^lf({eD1s#6$NzU~{;tFs{hMUZ4mIEK{`A`pE5nsPj{R`@qm zGR(f(GQn5MY_E3Ck9Bd;mggnVK!A}3Cxx>xUI}|S0!ZU5sfR0=6&yuFj3 zx^2Dn#yK>p?JD&2I?m2!JF&w_r}yuW79sv<8fEFu8NEhob&u?x;NS~6g2IBCk_25v z)mzK$&Dv_mj~(l4mcO;zX!*Oqebbdc9$|wEd*-729UQ6bJ!wFO zF+C#}Rp;Qwy7!@jtu@`i>{EBE*)nk?*`Ty~)a$6(pvGt$r}(GZ=JmvNr1bEFf8Ox~ zpT8Dj#7t?C37_D|3fTN}_&-E4n-T7PoIILH)fxcJF)(7){M(VRKnd6=yb10+BQq;; z%oC|xvK6-%pQ)7oTs}s9Zkl-YHMAJINU>OEDjm&IMFyg$nc(Xma0fJKEwYtx&xIU> zCr3$>rv9-bnGP!OEOaqr0q}gkhjw@R_S)>V_6dU$?(8bupgN~!(*e(0esV}IJfo}6 zM|KMVum?JG@N)ePk+&8HEJ&OTh zJJiuXE@U%X^0y}~i$f;MYX;YV+h^(t+|`30yJx>bkDtE!c1Q>~fGFnLlFyrxXAy6l z-y_}+v3kdp&nKJ?6laZ+9tb)~<6iTV)Db&h?*f6}*&W;3jWnJ)>pn7k7e2JoJ-soG zFEiNeMm*iz)Bw-7uhEHt@$IVW*@h>Vck1yGdJb$QA3*rA*j*PSBM_HpU=!`M6(L1j zmGz44^n2co5-mw7ZJ25dUaWqYC^C=vY_&GL&SCcRB)&sxBO9{v$D{D219&8suUWW< zU+G$>qy+H%Wms|S=@(+e++Dc0>*nWDS~iWArX#5F6Zp%}nNM6wR(tbJn0Xcs!R5EVzcq&f^?!EP}(o4 zR3(qd5}+jp3;)Lj5W`FzlW}@!C|Jp$&`;Su{ki5sH6iiXqlF`C{-38dw_j{|rf9%W z<}+kb`fVIEe>Zb5Rt3unT3)oW)kOsm^l4@~e}WUjVU`2A0y+M3(4FGn6f}6B6{iN! z4Du+10ku5Do_2{&<9tLIr?hAKY|P}&a}|#7IMiE1@ETKpPWcvh_n&OpM$mT@ zwBz{vggHYr7l1B-qsusDpnlkr=P8y;>x^UEg3;UQ`0~xVOOIo`T18x7tvv0`?sBL) z`ncZrD|>+8+~fY&y~WUR_mN8$yW30ZC{8wQ2^HT5;Em-mLd}x^YDNek2$8;_bp1~vJ^iy% zwucw~f_MHd1+9~A1*9ZgFGKLZ#+tj2)EaE`K))@|GV^-E*H2a zXAk|HR4bwW<0){*MfsdIQmby~Q6l(ArPK+CSVc+j(Ax03Z6k$4{92APeUKv!g>AHc zGjp!M_N9nxA!U`<+Q=>Qn8lNQd5_vS2AV{$5!uz&Ud0NPoOb8YqvzDxyQ#O%td6E` zi*6s}PCtRzAHY@!d~OHNjwfjX!WjT1_yLynTod&!>dK|d-4iC%ANkh=h7NUK%lv)} zjNTN{=dt(w1Y^(y@1AdVV&&2T_>A=9S$Er&IxQbB3od9xS!5EN`ElBbuAaK1M zR{oG=s?gN{atLFe6wo4mxAc^a#<{BFnH}(0!M-M$o=3di*K*mSdBLKRe=33BZX#w; z83dzrS2T`P_Xrsa57B~Z^a#h%{?D~yE{GS60amA8VF|b|RfgxpouEtF zB|-QF-x>uIHr*58Ro2+STjy?h6ggO4I=8d7b^c?qCw!3)I=v#%+=$l>bh2GNMBZn9 zIz(RusLbcE7EgtHydFRZaEhNB;Rzm6Av-nQvJMcaEdI$!2F@AhCSZ|@x+8<_E0 zj_^T)dbH%U$>}b4%IiFuS_z z_QU35k9+Up=H!V*POp}dOod8{h>ncNtqs2nmdD%})ZKhI)^revg;Un8&x#P9i!g#f z5iaT)D`A8(eJ4pVgS*8KQeY*738u}vS9U%1Pq?#caOw)&zX^_SNc78qsgKUwl|gbW zB?cz5{Y$~7D1_u|4QR6m6A`RV7|QU45~FBpWlFr#f3Wy(2${RCW_`C##W`GVgg3sP zfu2n91{u`-dyWIu^8$IV$bZ{`+sJFLFI4V(ePUztP$*MrQ1hWp`0;P`4WoRoQkV;? zA0lBS>@7S5c}^{N$)C3DtX3?onz@N?4j|vYtO+bsHUPd^Sc?~9zz(6b-IB;1r-}L& zK#m!YVNwmS@izn#%%;m9?!9o(y{sEgf5eN_BufBMXk5QW+O?LmxOTf&IoQe+_7O87 z?*1oOV`Qm21SsSmn(hOF(iI-@VP`f|zdw-(iWFJ@DL6u^dG(E4_OO2sn^W06t9lKd zeGi9T8oOG+1Fo?J{ycblmQ&J%4?rx7D9)w$2Do^dRsmTU=r18Ye?sQ1oYtNj5BoVI zp3~HCyc3J?&RS5zYgtKufR23kQ3HNBofpDB88_k63CH@uvfSeD<)&I9Y3qpZ zEow^!s?wHx=PzJ>#FqSImr(h|-dCp%HN7)$ikcI-Ef6kmoU1~bVV0F#Kci0D3B-@< zni3A#BG;8Z%Q=ROaB@dpAf?xj0P;C5hz$|)FN#dC@5=P|vm1kRJz{6|#x>UbV11;b zY#ePfw7pZBQEPO+`Y#gZ0mvv7k=b~vh}>NM{QvFF@Yx`KeaX&Zgd@P%=7U*!pd916 zTH19Lr$OHPA$*4&uGhye9C<@CxsIhQgl(lUs}?$t!!@;mq*xieR3%;=!{@%mR_?0a zO0INOB_U^7dzcQcLyOU{llAR9n1q>?h-jz!^QZ;qK~e55mN`s|jjn+9FM$g`h~PuB zn|JUD>iA*~RjCfyPPYVvYrh6r2_4LGJdKMh!$* z2avxk`#069W?_Y@zvukjeW7ln7m}V~rhqZ6?98 z>6J1Am^%X9tb#FtCb208qV5kA1LY?z$)y?8PNc`B}Zbxmn@ zCoYO+kgOZ+wiOBAB~#vp0RJd*!wsN2#fM251(jJ;ftMY)neayZWAMcD>=8A>^Nwt| zk!c3deN8!smO?6Fw|0E@0bhpN97B28s}U^>U3@aj<-vIEomVd-uRk@8S5Pk;b2Dk3 zqIT;_T9Mi(9k#^DMp(sD2H;Inlj~xi$6nesbOUOWlZF~csuH+&x)@e4+ zz(I9$er@V0QX-u2H}kX0kI5z z7dZF&eVihLI-4z(+$#5FHddta(M&YVd2$9Zf^j7QL@atP_BD!jkT`gzQmWjMrVx|y zE9LjHcy7Y8o!8_u7A4FQ%(|B*R5}~x@J6z8hYHYJoO}s<8m_1dcEC1MGFs)jML5z| zpxd$oTp7`YSYWrlp}t7@gP5sm)gzJ#-7)HU!GxcDVv^uDNdJcVTBFCHq*`N!Q%j@C^VUCK+)$JfRG>unX)d11 zCVt}t9%B&69Vk+qFwhnE5RufQ&FhI|KT^awpn=~!N=%%vz$@&exZBva-VgElQXL8! zpWYd4GQ&QvmONL)3fl=5ow6*E2FSW7072t+2oUa9+o6$xYxNl5cgjtcB$_FGMwa$i z9e@|dXmk5_hd+y9Y&JC#MN}H#&GRuIz*F0oD3Nk8RLx|0E=F;=l|lc?^Jc(N8cckF z)+3Y4k3b{X3X?N$u;JsMaDY0yq9(v=2+~$q>K)iDQ`=17#MMBKqOR9ZW!+!5K8Wxy zOPKz3&p0fb6^Q|gP;~M7qdB!`B**hn$;k+S?lwhvv*Wdx8&l05lH&I6xr0A#&NiR@ z2O~YgN8aL7E6&HC57?Nqyc6q?DD?9$y_;Ru2;N$ICzCg>LCds9YqVhB7$AuTBrVE&8OJU)%98%VVUPa;?Uan!^6j;~R;@q!l;!ekqvGL9yBI*W|&xtX%q6Ft8jzs z>9gqnV&S{*8bM@TG4;M1YC;<`kpbk0hk9pXvz?@A#|7Kg`O*|g(<7$$Qt#a3c6ZE7 z>g%LNwS-diF58{dX|w1Ec=|2z{1{bY)4ddF5rvK*?i?MoCx^EVpy4AsP-Gn;$zoI* zPlA9z7CB;A#_%?L=0R-&|tsc0}iSA5&sjv6kdtxzHM4M&>nVb zk&09?;TrNcDifLrAHem|B+BMN%PV+P;T_Wu|=$Hd_pVPqObRFR_Zr5%=su> z*|sbH(3H1Jy#-PO4MabviM;GVR`v-4USM&DfWmFK9YW+$bwor_EKa3dGDuQTTa)06 z_K=oT&Wa07Ht#%e;&^2BrE$Zqj`J!``39Sgwu#<=G*Eo)pcwLp{7olYNC7w@z)*;G znBXc-z)8`rkPl}N21-^$v1xyAHw8`uU@Ew|Jq-U9o5zz_`uZK_;guB+j8WH3qpWe4 zr$!%%bAP&j=AF;|9~^+P2SZ#ks6#HbcAkg^{EV$VOKF)6%pU_0sqzI=?wy+hbPbsE z^!5a0JH*;Mhv3Js-IUs^&#B(f-7gW%6h)rYE7djOL)Hg1?Bw^^od4hR4KyJA$R@(| z6ZoHhk=P~%bb+=@|1aZueLZCK2Jy z0fir7Es(tjX{2IuelMSQ7}&o^8*uLxcO5%3t2(;3eBTiGK#}$}?G`Xzh%K^Yh|)+G zj@ptVODq{{BHPN(#?k&>Ri~K?xvC>$`-~*O_ftyCBq~NT`Xi2^_r`Kjii41ztHM7S zT=#Zcv%f8S?AXD*A!D7p+X)pfIR}KyzLh;rJDZVX1A@|~Vy|A>9=Z4Q#p{bF6g_)} z{e)|3f=iwgWxhznGN{`G)uB8YDVQ%fa9<$erQvX${x~D!$>8HdU2$LbPkb6-c8x@K z?~5!$Hp0zwtu6jI_n36E!b_;dOYl{f1;-Xj7cBDjGx&L#a`zP1V_LKV5(t^N6*jI; zjud&0C8ZJ*)*AkZ*nY^o~+VO z?-K0s=FVF4p^oYE9X}oB9l9WY$3OE?N?xx&%(T2f=%~^xt3|XRz#I`68_5J3DOIKH>o?O zQkfKvBZ=o@?Qhi0@z;Pmm}<^*2EVywAzfgkn;akyN)o=HZh4cB*%3YvaQ%RJDRq43 zwjZ1ByBtoZyGh3M8Fk1VzQ4LSEoT@z?uT`yl=(ps5wEt--4xs+k8d|Z>qz0KN{bnw-*b<6`9en{lJ!>?S3(U2s-UP>GatWe!)aEN)#=>^eN$8uE8kbVRQq! z&k%-cQ1MYXhW?a&l_B!$y^U(5E}{;kk6NC4g#|Xmygdo|>I93J#lun+P8Mmp=zYtK zl9HC?O}uHbQSdc+m@D-nKbeCFyxN~bPJ@eT=UKb49*s~f27O3?n3-zf0=@`C`o%$F z>~hy~^0~KEK0w~k9|R5Ir{jw&yhe^%m4A5!1RytTE2rtNn&C7^UfvS5uo;OqJ1Oxj zDT(_%C3MMMP_UZkqq5q{VQF8LUM&F~+o=W{@1;tp;n26`{|?ie?*O1C=p;!{LA%P~ zGNcWk*a_JbqXt6gMi$V$&|a#K=5#-eI&IWJ^fp)zDbT4jl2_n`YA) z&rQCo*YxDujHjsf*A%wT(g%xS!A_h&>syO0{T17!Dw@@U;Ub3{W3`m-Z`!?SS!-Zy z&vWaf1O(OF$GFB0(#acNf1imVAk+LuvW5{O8n^xA`?ShMu<_pnuSjVZ@y{e} zF%l%Oh5@;kd{*)Ig>HJ6l{bDK(%Zj%r-nlLikNakf|+8fKj!si)78{CV7b;xGq34U zw!m>~p{$e)BoQdm{-KN9@+>b@AYWm!ecy+)#o8UKvDHOSmH5&^QE7H}Xtz+2txKX; zY7c40n3u)JJ@uuvUamJHMXk2d6=KwLyDi&t9`**&>VD*C2_&RYcWm}9hbJSLc*Uw? z9bN_exIp8q?#Ud%H*%U*I7jnDx~K~nz*o(%z_b?lRT(_{UsPJQnyeQf%Za~cToyt) z@ws3a_X|fNdp2aA2kfWx4^j}WC#un&4|Pne*1ZlYx7)Us4yNYowVwY4mBq3%*5TFT z`M$(v4%k3m4|jvY(&4C=@D%s`AaeFPJH=;CpnrIyllp>j3~sdSkgn zk$eQb6^jgst_$Uje1DBnZG3f8RO#I_r4Lt*3bnr41?}taq}!)m+}jg#_wn&6T4U{z zJU&!&O3ML&928(Dw)FXm)H{Q&T+_Q|%H}7qwEQXp`9S}JElB{8qRKdd{ex%_-KO8{ z&QgnJ(FWe%v>34!h;UO`S?Oj{U|vrbf z#~mYEdc4g~bgVM3fZd#(-4xn-z?WU-_8Vmb*_8`W;!`;H&#V8<&VQ$u<_?uV>7rUf zWJ}0;*C3uawMhqxzNp2{`|&U{tSwPTd)fY>$1WbLHz)048MqKC!Fd%@mGI&GdHCOB zI5IzN!qG`duaQ$I!n0kWT57YIZ0H+1q)ZmuhDCLpK(Fwj!ve^s%#>N2vDaG`FI0ry zv(fsayLOk{kp)t_9}NC^4DZj+Vs9qyH8c<*EmU*sJ=uUC;00c#DJ$~>ZMf_gX`*q# zdy4ppv3$TWu~4rX6cJ~55`z<@RReEODcOnul~0LeWc4yR1@xKuYN%-zp*YK`+_Pav z^~oCdoO1LB9}HAwObaRfiafjjH5O;`p#&=^8vt0kgq9o=Bc%*Rzd^;C96gy81MIof zcz64dF3x*9z~Hq;+AH}Ds?VyskqIr|hRl_j1SdVlVgx+LXHo4-;~xrJy#52W7B!XQ;iE4Si3M`Taj`dOaG zjKMCpdjoi}0#Bc&TEg>g!IA_gN!$r#Lvd`$PFtawVt!)yw^vX1YNx_`f>QP;%4P(` zS4YL@`7Fgtw{LA_kN3XLDkVV?Gw0RU%#asB1hBXhcIjf2dXO@($6ORy#mXB7Trdb# z+0gR23wmfr+7a}vU@}lFW{3nl(j|5KXccJ8td{dB9qX3=u4PuO__2Fq1UG05r`lzn zd&zHOVbyUvYajBawiSJDM@tG?juA}H)W z@+Votg5x@vHrLhDXO=`;KQDgfE{t++N+f`$Xu(QFrn}6@$I10jmHK$92-Nb%)xjT3 z#hfsfFQ2#}`O6?}{{5=X;ayfq zihFpH<(^FS*vk85Z*LrvWmAZI$Me~`Dp3M6zEcYLiOAiPWCQ(gg~*5nZn>a;@S(pV zHB3nDY#X=lZg^d&hOEu~bx5~r*`kVeUbZcE{3G9k^s$lYUOG|`#KfyJY^#8=0!^)T z#^4=XKL5-Rb^x2W7mIK~RM6M6rAbTjBC;y}muYX^a4+t=psa!rpakjVUBsNyFga|i zR<_vLXUkGIFNOBDmYs+GHcT2s@{v6VT~c#LPypb|ht{cibz2cYgeaVznPE_*%Rdos zvmk@8PcaTsI7`-*r$EIH7ry4X$L{=sZw?wbHFOOtvhXZ@i(J8gyl+H7(fXLAjeQ#I zPg~LM%GuqwszT02HyTAtIhaBXti1|>7agd>nL>Unw;E*>*4-R=Kc2Qw z1*AH%x9!Tv26(MgZIDLqLFqMdw1+n*iSU(nFbw)N8z6y}d5KMS7b72`6{EDS&nsGO z{3_4m8faVESsy!hFaOJ~hpS!8mKu@>QWn9q0gEiNrdYN>5xR%}jH?}Ru9h4;B85~! z*hCjJe>p-Iu=RZ;PN+Q@gD}*8$zy3+b~Pwrv&3rOUrrsu(59Vv?qhbJF}O$z)w3Vy zEg5p6NCTTl`)kerUzHxq*Jq5pV1LUi%mBku0-(IlsKEtGmde@zSnO(#sE=lm$Ojrt zCP&_Ud&O`?zZu%)FQ2kAdS|RM>m$8tvIdt5Zs}UfR*rC67-aoW;0b(QJQ&mP@qL40 z*WgzRZPwoLkUQ)gVYDoxe!DF`X!y5Wlrz4RKE-McqV`AT^{Sab-8qPS4Xj|xdpe>v z_%Mmf=X6`TWQDsIQGt~Qlf93Ndd50L?;zjVd{YW;?L^SZk|niij&%v#Z0*VY>!E;X z@zSbl4rw#}0o6dhJTI`+{NH@p^hXU?zE#&jLy&ZPcVo{6@~!xi+lwJ;%8`4^q4%ke z)|qb5*HzyCe`y};qm(YMz7)Z3xMM~t|Mq+@m)i6{gY7pU2{Arp`gwo12e~VWAvfX& z;Afsw$bh*@ag(X}f9fl!3zZ^OGbAM^KN&%b)&5pztjW z5&Hmg0Wc(Gr>TIIq_NKQ1}U8#mf2pVQ{0{EAJ^gAG(|Ot<1QCJ26Mj4tUiuK11dv! z?_e}a_LMIUM?{{~s^bybDnSMdbaCFINHNaZ!i^=2{ zwSV&nUSSw<<2bZFVaWnAh{i!C3t9H1%5DLWbj=n0FX=2mfZl)nn~9yOI=k+l|<@@zC5 zcS1Kyt;h4+K&)YU?dQL(H_qC%UVMrt=Jvh@Ud5I_rCj0q&#(;ad6TT-Hab&2^!Xg6 z4ziEYon4f$pQa29-5Pc#%6I{!W?ugQ)zkt$bf)w(FE|B$NAj4YkU!5~5ID&ZSW@0S z(lu;JbJzoI%hRu;zTuu&C=-UuJx?SrC%A=Dx|y|Y7t;+%JIHj$|LslKu=UK^dW~uc zcrl;q_91IHvHWPQtifFjBIqd zT;4PH;2H{ZP_#bqVe29(6eZhZB&2evXHm-P$>O~YDKiHXZs)9AucJ~KWq%p0{+ODn za>D6`PAdgBjsQ>SBLc_%Ikr-+X~~oRy?{6;@yC@-6w{0{jjteTrBv z#^kC6m|7L0Q=AqI2I#`P*JWTPvJ=(0uH7J}Gp|qn8_~k4+J8p_KKHA%+;$lXVg&o4+tXCBRd zu*6^uZY7fKdzcZvtbL}PJ`xL21cC$pw;K>3W|NJ{7o!f@1)r1=Bn1OOm!t#8Mfw2k z12Tus&Xj(#vsjEwS1|Lt$CoV8%2Rk@#bw@@8LC_S8XOw<7>r#{p08_5H+^~T3Bi-` zvet%_pb*yehdZY!pr1#S0tz2&BnR;I)Fq!1s(h-P7r6yzFJ?crXF&&NpU8XFYvq;3 zSAS^NEQa4t;M^!xbL`Q%@&mFx;V*timwB8)F>=MUeIpX+!t4WGcK#IkAAi;Mw5pLV zA??aDcf?~2vVxuQV9f^R>MmV6m^nhRklWsHXG_oe;==9pO$6I0Hb?edv8zi~>f>Ou zYhWlhZax>>KPW$eXsVJL@RYkwU!51qykKwODYyr^f|w$8zrGNkk-pjcVH%WOZg`Fy z_#9Wt^_KS4wLMm519h&^O4K(pmx& zBCj9czY+O0M(iC4mCw8!J>^7gbcBt?Kfzo(`ZPg1UOIZ~{FW+%>+}Kbj8!Es zIN;UkrA5)5g`g)NPiNJ<)yDxornkD7x9ZpmA0;H?%T$O+ZEFdAO$QGyq4ZKNx_^KS z7Ndh^={q_>u=dVUZjuLBye7e@)2yTB!ad+VnlMkrq*X1Mx|LHkt(6_uojwRX=}hc)&$Bs;KK^D5_20oUd+qLM=AK;ixX>@Os>ewNV5HK zTs4pWuN#aG_&s{ceDs>%H6na9pPD=IUrTYVMgWCm=((5t+2=DuObVi_9u@Eph0b?! z7urLhZFM%bEq`0seBLuE%g3n(JI^l|r}(sUU!o?(T%8ki1J0~s%g^D=TtyLaj2`LB^034c&cvP6xt#6;1`lheQXdh( z7P~B852TxnOc3<-AUMdhK5%@iKiMw7r=Z(8~7ol?&yXca{xh@)GpIrSx>#zJp}(&ZzCsA)RG z;Yq8hA}l_`nuB_HBObW%wx<7WaZ`I=iSvx(6_DTzmwX0Q*TDybJ|9y{qI{nwEW6Cq zS1^W<+N@wh?iL*0I|Wl*P5#Ku44F!<)6KX2qgqL>m%U>ayRjG95O2nT9DEWJ@sW0; z2({qB8W6GG@QMhDO$b{PyUH0?>D4@6+DV;TmJ9T9!CYv{&jkLHxec|ZsfQK>kTV`D zGX5Sg1)d^&b(;UlLLl!$Om6&x^dAAv^&M;}rGH1KKy^fn+uLQ^D#uTW-UbEWs zAO{NhHI=%#@iBbf>hh205c8Zf9Qh9a57{U%hc>^b?$VPa2FgWL^#dQTM{#V@!{PJI zVs+OsPa*EUv-d^H7JKTPMUL%U^^eEb0$}n7wB$P>BU3>0-biQd7Qo4q_G7g(PSl$A zcgR8$mxMlioQ!>qszt?Z!Ig51;Sv}C8`njBZrzGd iemu~raUF+&AnubqA< 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 diff --git a/assets/img/bootstrap-themes.png b/assets/img/bootstrap-themes.png index 3ab3123ebbc093e8112d9e4b55d23c11398f3441..3876a18ee3357754d5439d80abe25c7d30f7a02d 100644 GIT binary patch literal 80588 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 z

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 literal 0 HcmV?d00001 diff --git a/assets/img/favicons/browserconfig.xml b/assets/img/favicons/browserconfig.xml new file mode 100644 index 000000000..c8123d654 --- /dev/null +++ b/assets/img/favicons/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #563d7c + + + diff --git a/assets/img/favicons/favicon-16x16.png b/assets/img/favicons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..5f7d11880f60757cd3f1de2681def0e59e6b81b2 GIT binary patch literal 310 zcmV-60m=S}P)o&FyL z)-F6io&ouh{a^zYPu)SJ7ykbHe_;DLFh0EN!vA-#Km9*_@mqwxt0Q-6C>SJ(x z{o;fF-@pC*Kecr&sa`WK0JN?N#d`VKg1kM6ld z&;=k3p!kR5dpDo{KYjSx|M?TQ{*QKUz%YQ~q)c&UqBuJP06X(p%mL%EV*mgE07*qo IM6N<$f{ZYjO#lD@ literal 0 HcmV?d00001 diff --git a/assets/img/favicons/favicon-32x32.png b/assets/img/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..d752fd5d71545548fb0baf3f3a1b500e13e520b9 GIT binary patch literal 491 zcmV<=F+_H4Pg+Y}S9mzE{ONA~iwPbuVuIEb1gH(;;tB~`TOwsA@Wz`)n^TKfj>&cZXI!M|@;HRC8(fXLbUVhvyuinpfA|*b2})mWL36 zQ=8wh6$tT2hCH?9ZMGi+3-cVFTy)an^CLfG#Ft`jb{;gHZTQVf-|+WcC<-!bguy4z?^nTW2O%ZQD;4r|w)V3ZczE_dRC8?I zYqkP(Mrf~w3t5mgT`#0W7lY#ncWP@j&Mc zsCuZAVbt8zqP<=O(hHp(U)9q(Iy<@8fa~$GO>M3rj}3mKlBaBSkb65!8fAvuN%yu% zfqUkqBCtMosYU4x_`=qgrg6S@X&(w&@=!IwZrQdvi1oGYjA(po{h*6+3``>o6;>YR zo|_R<`LUSj2}8|%U8pJR*xJ~2cp8}=i5uyk-r3&IjIFFL?MQ}K;4rOI^zTu=7)Sj` z+0kIlv*(cXgBY6uxb^Au!+3nx*llM;J8qk7ALl09jspN3PxQ6H=7DVe z#IeFIC1DOFu_Uti*KkTtf_+1Eq*r_mHkTIof_Bf}LX@dT2X*sJsQNRfn{mxkgns5k zy>vfg{Ql9bUw?N#vs=1Ti`O=1z}}C)bm&o1;r9=9YvAX1{G9OgNO`>wRnlR!U8%p zm^32C+pg4-c(eAP-gELCck9*E)aN|@dY!=1xz)1Bd8({D!ZytA1DBF{nK?rq8<_4G zAy4)MB;Pr?rEv;xlL->Mqbg^9*}3=bGYQ@~p_DBdJM&s)K_{p8h*`0+3z1Ay7a2J> zjw{c9C*AM0Gxg~M85kLwkVu^kE)#rxr3LTP(0uMe>@vE2JVPHf0nV1ZhC1ysH@Jt) zB+Vf}%WRd{J|b3-#{y|_O#sV%(?Cj?+cHtL93$%L&yc~!SVcT0fm{9ua4gM0ut@XBm)};O5_iJweoQiEXu#sSu0-kRerPu`! z@nI@Al_1@}m0JuR1<~?UmzbQcWek~z5mqM2s^$DRUvCN*4B82X5()AGl5DF4)g^9N zFawk8@WB011-T16?=XFlrxD?ABdManX8B2_oWJ=|JEm#BZDsiq_YVXVT!Z0-5$*s9 zhk%Ue%RuC1wLy3t@FIKS;~-YQ*i8E2lr9BF1_eKlU*Ct&8`SK+(75_=@)j6`D}+n( z?Gvmf*+gGt2@iV3ZrgGd!nqQnp%t$gBfSt;3%{MDj=p3FR2fY>s_#D%D0J6f=Q9BSNT+rDS3G9%R}p{Y9Kl}kcsur}HldZj`zID0!WQsqB3wW`) zxk<*CPzYt|v4s+`)C(3XoDt0k7M4WIfnFI1n>bgqNR(>|?s0B5zI1eGvg}oJV(?1= ze~y*k=zlA@y}sYig|M-)(cd*v!|JGEaX1YFxkUCr&uDyLUdx+4f0yJUT0O=ijTB#$ z8pZUnPwZ^re(W0Yyp9u#R=y4ksLACiSVlr%-kNN^qj3P`meR`^{?PH+<;oLx%jn>H zBx20#y0Z6!ePa`2vy1cM`PrqENT!>4WJ6WYeY=FJqV{{X@uCGuUPe_`5{p5ptFP={ zUt3R$DG*LC-ZI7BznRDzonDp7ykK#@eW1X4s~h-hkVw&2=AGFB@Kxs_Goe?6)IV4X}gV1ZV}) z>bOf=NyCYU$?H3!R`$Qu9wG6P9{~XJ##W{#_JMN3dO4Ntb2%MZ#z5ny0JN=t6x8BK z=pl7wd0haJsTf})%}LW-JpGqZ6Y<+lNb}btZcSllHwTv=2ga^x8c+=`N%{wZERm|? zEqoI+bZE%H=bWO;^VkUmCr@#up*jNwBB^GAZs=K7U%nwZoNyErq~4|q(gX$@>4{?~ ziHNgp{(5|BOCKRN6M9w7=eUX)-Aa#0J=JH6138aB%MO7npH#}#sjWS?r_^J(;^8)z z)j}ps?uAr0K89_~I)^lfJJA{H%+ciRHBbu{3RVnUD3 z#Jh$QMES%dJD_zh=Z>a1q?oHe@s6yfKfa%$A!`3}f1jL1Nf3khu}q@OO0#OkD%>4} zmS{o%CoQxm&ZFFeBCAT#{9hFhaJud&DQM*iG!D|EDKvZP`CvQ>t2G7DQefl?=m+UI z3e7=1A{gk1otc8n+$pOsM(bUy_ugT+vk=^g%chx89WeL`%pu|8_~evuAHAk^5hYn! z-hDt(kL01DUlL34hCc|BmKeuGnVYM$boS2wj^IM5{x&o){K{lB%6%^NCI@?C?etCu zTLw7YLs1`r$a(N6+z@?5cx42l zMWzUUtA!qwnjE`q(s^tUQf!l>V&0{j?W2Rj=b!uegkZJWL+25mi~N~4xf*`KOUDO) zOxIY&{QcfdUnv_qa-uaS`V&Ydvi(CMz1_sxyxX1mJ?~<_b>xDP(w>B$0Jse{JEBJM zE9cbS57&%$MRl}fDZycfQn>vjH78fK7lZsdN_=i}z8urAD5$iYEm~VE2pif(t}9&F wBlEVoh^TyH8K;>sM4_gWJt}{^!hgh*kV{n)N&c*Q;PAM!lYqW}N^ literal 0 HcmV?d00001 diff --git a/assets/img/favicons/mstile-310x150.png b/assets/img/favicons/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc36a726824e23d17fff5efeada0b71128ea3cd GIT binary patch literal 1746 zcmbVMdsvcJ82?5ldCfbRx@_y>rcrLgwX!)>Dx=gXrcR{7rL%0}C9|G1K_QjAL>I_R z%cKETg!A%wTX?}rLz#&UDaB0jim4%rn)`hA_x8umInQ&>@BO{!Jn!$k@AGE)`|dX} z++YX*fQiom?*IURp#b0$({*bg%S~y_J_tD(mcDSy@?_*U7uzRzG-3jV%iPK4oM`&AnCsOF*_xxA@@B zlQ6Hek$02y#Je9qek{x_FUqgDap}>AS?vkmOA}+$W2&i{X-)D8R-|8MIF=e8&ZM6y zxt;rafA4SwPs}*aQN5cK-fxa0TzTFoBZuWLFE7hF`s#%3b;7o`rk;{()jiVwtmM+x zKVHU#T@l=COd?%pX9=#Rmz~5jB&~mScl1RZqR&pxDHWYZU<1MzL}?jF6Uq54ZK$IZ#U#z z`0Wm}s;aEDz2((l-{`=bkvYwL1dg71>Q(_msOTB2ENjh8<&tnT@X@nS%*EKB@-vg} zRX=<-H90GNu3%>hf<02y6Em@)d5Ooabw2C8L4Tx<3<-UKKZV2{}z1 zc1=TY1s+PdRbqf|An;}Ky@tPLE-M&zg-d$rbCyqB`u4XjtOWqQR3C2)KAAWna{UDI zZgO1w&8>wP0v-Qth~%8S&o5CN_0y0A*4S8b-@A>&H1du~EBpv@cR|&-(Z)L;!WDW& zbn$6rx`|fw_2amL&_?$h|ETs_A@g*&qhv1K+F?(I{G55VVu_ZLwp&(8 zNe-50q@=x;8YzjEWmtg>+(fBi)ZkzVh}C&cJu{;dRBQ7(1yjXG&&IJllGLR5Ij%Wv19`}&Kr)7$zKvQSmZtNs~Y z9T=3dyCp19QxIa0B2QOWB{&e2Zw1c6Pa(vbpc@gEIOmlx*4ADC0ebxuMP?6*>vQMrjyik@0{G%JwzX#dp&Q27Z?nx&9g(QrLeW|jrz#s^L{P>@2kEWqwyift zfb-50A_dYf5kr?Q(mo?7ySztls9>zJSFkc-F$(APEs1Q9gG+0Z*z(4E+zCnxqMNyO zxHXC_{0ZF7?{$D=j{O>n$3pu=5m(&|DVi?iwnESS4lik2h3m1Jb&x?-Z48tF1d0XKMIx|SCM6dOj&5Fw zL!4bmtsfp5TwWMeX$NwGxo2JJp1c03>g_jdoxB*8#@(I_v~l+j44E_dOz|!M*SOx#zU?E literal 0 HcmV?d00001 diff --git a/assets/img/favicons/mstile-310x310.png b/assets/img/favicons/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..7f00d0c66a700d890ecf356f9ba2eb348b33283b GIT binary patch literal 3085 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 + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/assets/js/docs.min.js b/assets/js/docs.min.js index a0ccb4987..4fa2804f5 100644 --- a/assets/js/docs.min.js +++ b/assets/js/docs.min.js @@ -1,4 +1,10 @@ -!function(e,t){"use strict";"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&module.exports?module.exports=t():(e.AnchorJS=t(),e.anchors=new e.AnchorJS)}(this,function(){"use strict";function e(e){function t(e){e.icon=e.hasOwnProperty("icon")?e.icon:"",e.visible=e.hasOwnProperty("visible")?e.visible:"hover",e.placement=e.hasOwnProperty("placement")?e.placement:"right",e.class=e.hasOwnProperty("class")?e.class:"",e.truncate=e.hasOwnProperty("truncate")?Math.floor(e.truncate):64}function n(e){var t;if("string"==typeof e||e instanceof String)t=[].slice.call(document.querySelectorAll(e));else{if(!(Array.isArray(e)||e instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");t=[].slice.call(e)}return t}function r(){if(null===document.head.querySelector("style.anchorjs")){var e,t=document.createElement("style");t.className="anchorjs",t.appendChild(document.createTextNode("")),e=document.head.querySelector('[rel="stylesheet"], style'),void 0===e?document.head.appendChild(t):document.head.insertBefore(t,e),t.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",t.sheet.cssRules.length),t.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",t.sheet.cssRules.length),t.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",t.sheet.cssRules.length),t.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',t.sheet.cssRules.length)}}this.options=e||{},this.elements=[],t(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(e){var i,o,a,s,l,c,u,h,d,f,A,p,g=[];if(t(this.options),p=this.options.visible,"touch"===p&&(p=this.isTouchDevice()?"always":"hover"),e||(e="h1, h2, h3, h4, h5, h6"),i=n(e),0===i.length)return!1;for(r(),o=document.querySelectorAll("[id]"),a=[].map.call(o,function(e){return e.id}),l=0;l-1,n=e.lastChild&&(" "+e.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return t||n||!1}}return e}),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e;return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n?n:e)},u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,r.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,r.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":i(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=a})},{select:5}],8:[function(t,n,r){!function(i,o){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],o);else if(void 0!==r)o(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};o(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(e,t,n,r){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var c=i(t),u=i(n),h=i(r),d=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText}},{key:"listenClick",value:function(e){var t=this;this.listener=(0,h.default)(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new c.default({action:this.action(t),target:this.target(t),text:this.text(t),trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return l("action",e)}},{key:"defaultTarget",value:function(e){var t=l("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return l("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach(function(e){n=n&&!!document.queryCommandSupported(e)}),n}}]),t}(u.default);e.exports=f})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}),/*! +!function(e,t){"use strict";"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&module.exports?module.exports=t():(e.AnchorJS=t(),e.anchors=new e.AnchorJS)}(this,function(){"use strict";return function(e){function t(e){e.icon=e.hasOwnProperty("icon")?e.icon:"",e.visible=e.hasOwnProperty("visible")?e.visible:"hover",e.placement=e.hasOwnProperty("placement")?e.placement:"right",e.ariaLabel=e.hasOwnProperty("ariaLabel")?e.ariaLabel:"Anchor",e.class=e.hasOwnProperty("class")?e.class:"",e.truncate=e.hasOwnProperty("truncate")?Math.floor(e.truncate):64}function n(e){var t;if("string"==typeof e||e instanceof String)t=[].slice.call(document.querySelectorAll(e));else{if(!(Array.isArray(e)||e instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");t=[].slice.call(e)}return t}function r(){if(null===document.head.querySelector("style.anchorjs")){var e,t=document.createElement("style");t.className="anchorjs",t.appendChild(document.createTextNode("")),void 0===(e=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(t):document.head.insertBefore(t,e),t.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",t.sheet.cssRules.length),t.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",t.sheet.cssRules.length),t.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",t.sheet.cssRules.length),t.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',t.sheet.cssRules.length)}}this.options=e||{},this.elements=[],t(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(e){var i,o,a,s,l,c,u,h,d,f,A,p=[];if(t(this.options),"touch"===(A=this.options.visible)&&(A=this.isTouchDevice()?"always":"hover"),e||(e="h2, h3, h4, h5, h6"),0===(i=n(e)).length)return this;for(r(),o=document.querySelectorAll("[id]"),a=[].map.call(o,function(e){return e.id}),l=0;l\]\.\/\(\)\*\\]/g;return this.options.truncate||t(this.options),e.trim().replace(/\'/gi,"").replace(n,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(e){var t=e.firstChild&&(" "+e.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,n=e.lastChild&&(" "+e.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return t||n||!1}}});/*! + * clipboard.js v1.7.1 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e,t,n;return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n||e)},u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function e(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function e(){var t=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var r=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=r+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function e(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function e(){this.selectedText=(0,i.default)(this.target),this.copyText()}},{key:"copyText",value:function e(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function e(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function e(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function e(){this.removeFake()}},{key:"action",set:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function e(){return this._action}},{key:"target",set:function e(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":o(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function e(){return this._target}}]),e}();e.exports=s})},{select:5}],8:[function(t,n,r){!function(i,o){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],o);else if(void 0!==r)o(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};o(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(e,t,n,r){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var c=i(t),u=i(n),h=i(r),d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===d(t.container)?t.container:document.body}},{key:"listenClick",value:function e(t){var n=this;this.listener=(0,h.default)(t,"click",function(e){return n.onClick(e)})}},{key:"onClick",value:function e(t){var n=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new c.default({action:this.action(n),target:this.target(n),text:this.text(n),container:this.container,trigger:n,emitter:this})}},{key:"defaultAction",value:function e(t){return l("action",t)}},{key:"defaultTarget",value:function e(t){var n=l("target",t);if(n)return document.querySelector(n)}},{key:"defaultText",value:function e(t){return l("text",t)}},{key:"destroy",value:function e(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],n="string"==typeof t?[t]:t,r=!!document.queryCommandSupported;return n.forEach(function(e){r=r&&!!document.queryCommandSupported(e)}),r}}]),t}(u.default);e.exports=A})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)});/*! Holder - client side image placeholders Version 2.9.4+cabil @@ -9,11 +15,11 @@ Issues: https://github.com/imsky/holder/issues License: MIT */ -!function(e){if(e.document){var t=e.document;t.querySelectorAll||(t.querySelectorAll=function(n){var r,i=t.createElement("style"),o=[];for(t.documentElement.firstChild.appendChild(i),t._qsa=[],i.styleSheet.cssText=n+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",e.scrollBy(0,0),i.parentNode.removeChild(i);t._qsa.length;)r=t._qsa.shift(),r.style.removeAttribute("x-qsa"),o.push(r);return t._qsa=null,o}),t.querySelector||(t.querySelector=function(e){var n=t.querySelectorAll(e);return n.length?n[0]:null}),t.getElementsByClassName||(t.getElementsByClassName=function(e){return e=String(e).replace(/^|\s+/g,"."),t.querySelectorAll(e)}),Object.keys||(Object.keys=function(e){if(e!==Object(e))throw TypeError("Object.keys called on non-object");var t,n=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.push(t);return n}),Array.prototype.forEach||(Array.prototype.forEach=function(e){if(void 0===this||null===this)throw TypeError();var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError();var r,i=arguments[1];for(r=0;r>16&255)),i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o)),a=0,o=0),r+=1;return 12===a?(o>>=4,i.push(String.fromCharCode(255&o))):18===a&&(o>>=2,i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o))),i.join("")},e.btoa=e.btoa||function(e){e=String(e);var n,r,i,o,a,s,l,c=0,u=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;c>2,a=(3&n)<<4|r>>4,s=(15&r)<<2|i>>6,l=63&i,c===e.length+2?(s=64,l=64):c===e.length+1&&(l=64),u.push(t.charAt(o),t.charAt(a),t.charAt(s),t.charAt(l));return u.join("")}}(e),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(e){var t=this.__proto__||this.constructor.prototype;return e in this&&(!(e in t)||t[e]!==this[e])}),function(){if("performance"in e==0&&(e.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in e.performance==0){var t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),e.performance.now=function(){return Date.now()-t}}}(),e.requestAnimationFrame||(e.webkitRequestAnimationFrame&&e.webkitCancelAnimationFrame?function(e){e.requestAnimationFrame=function(t){return webkitRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.webkitCancelAnimationFrame}(e):e.mozRequestAnimationFrame&&e.mozCancelAnimationFrame?function(e){e.requestAnimationFrame=function(t){return mozRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.mozCancelAnimationFrame}(e):function(e){e.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)},e.cancelAnimationFrame=e.clearTimeout}(e))}}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){(function(t){function r(e,t,n,r){var a=i(n.substr(n.lastIndexOf(e.domain)),e);a&&o({mode:null,el:r,flags:a,engineSettings:t})}function i(e,t){var n={theme:S(O.settings.themes.gray,null),stylesheets:t.stylesheets,instanceOptions:t},r=e.indexOf("?"),i=[e];r!==-1&&(i=[e.slice(0,r),e.slice(r+1)]);var o=i[0].split("/");n.holderURL=e;var a=o[1],s=a.match(/([\d]+p?)x([\d]+p?)/);if(!s)return!1;if(n.fluid=a.indexOf("p")!==-1,n.dimensions={width:s[1].replace("p","%"),height:s[2].replace("p","%")},2===i.length){var l=g.parse(i[1]);if(v.truthy(l.ratio)){n.fluid=!0;var c=parseFloat(n.dimensions.width.replace("%","")),u=parseFloat(n.dimensions.height.replace("%",""));u=Math.floor(u/c*100),c=100,n.dimensions.width=c+"%",n.dimensions.height=u+"%"}if(n.auto=v.truthy(l.auto),l.bg&&(n.theme.bg=v.parseColor(l.bg)),l.fg&&(n.theme.fg=v.parseColor(l.fg)),l.bg&&!l.fg&&(n.autoFg=!0),l.theme&&n.instanceOptions.themes.hasOwnProperty(l.theme)&&(n.theme=S(n.instanceOptions.themes[l.theme],null)),l.text&&(n.text=l.text),l.textmode&&(n.textmode=l.textmode),l.size&&(n.size=l.size),l.font&&(n.font=l.font),l.align&&(n.align=l.align),l.lineWrap&&(n.lineWrap=l.lineWrap),n.nowrap=v.truthy(l.nowrap),n.outline=v.truthy(l.outline),v.truthy(l.random)){O.vars.cache.themeKeys=O.vars.cache.themeKeys||Object.keys(n.instanceOptions.themes);var h=O.vars.cache.themeKeys[0|Math.random()*O.vars.cache.themeKeys.length];n.theme=S(n.instanceOptions.themes[h],null)}}return n}function o(e){var t=e.mode,n=e.el,r=e.flags,i=e.engineSettings,o=r.dimensions,s=r.theme,l=o.width+"x"+o.height;t=null==t?r.fluid?"fluid":"image":t;if(null!=r.text&&(s.text=r.text,"object"===n.nodeName.toLowerCase())){for(var h=s.text.split("\\n"),d=0;d1){var b,x=0,E=0,C=0;y=new s.Group("line"+C),"left"!==e.align&&"right"!==e.align||(o=e.width*(1-2*(1-r)));for(var S=0;S=o||T===!0)&&(t(p,y,x,p.properties.leading),p.add(y),x=0,E+=p.properties.leading,C+=1,y=new s.Group("line"+C),y.y=E),T!==!0&&(v.moveTo(x,0),x+=g.spaceWidth+k.width,y.add(v))}if(t(p,y,x,p.properties.leading),p.add(y),"left"===e.align)p.moveTo(e.width-i,null,null);else if("right"===e.align){for(b in p.children)y=p.children[b],y.moveTo(e.width-y.width,null,null);p.moveTo(0-(e.width-i),null,null)}else{for(b in p.children)y=p.children[b],y.moveTo((p.width-y.width)/2,null,null);p.moveTo((e.width-p.width)/2,null,null)}p.moveTo(null,(e.height-p.height)/2,null),(e.height-p.height)/2<0&&p.moveTo(null,0,null)}else v=new s.Text(e.text),y=new s.Group("line0"),y.add(v),p.add(y),"left"===e.align?p.moveTo(e.width-i,null,null):"right"===e.align?p.moveTo(0-(e.width-i),null,null):p.moveTo((e.width-g.boundingBox.width)/2,null,null),p.moveTo(null,(e.height-g.boundingBox.height)/2,null);return a}function l(e,t,n,r){var i=parseInt(e,10),o=parseInt(t,10),a=Math.max(i,o),s=Math.min(i,o),l=.8*Math.min(s,a*r);return Math.round(Math.max(n,l))}function c(e){var t;t=null==e||null==e.nodeType?O.vars.resizableImages:[e];for(var n=0,r=t.length;n1){n.nodeValue="";for(var g=0;g=0?t:1)}function o(e){w?i(e):x.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",c=!1,u="on"+l,h="complete",d="readyState",f="attachEvent",A="detachEvent",p="addEventListener",g="DOMContentLoaded",m="onreadystatechange",v="removeEventListener",y=p in a,b=c,w=c,x=[];if(a[d]===h)i(t);else if(y)a[p](g,n,c),e[p](l,n,c);else{a[f](m,n),e[f](u,n);try{b=null==e.frameElement&&s}catch(e){}b&&b.doScroll&&function e(){if(!w){try{b.doScroll("left")}catch(t){return i(e,50)}r(),t()}}()}return o.version="1.4.0",o.isReady=function(){return w},o}(window)},function(e,t,n){var r=encodeURIComponent,i=decodeURIComponent,o=n(4),a=n(5),s=/(\w+)\[(\d+)\]/,l=/\w+\.\w+/;t.parse=function(e){if("string"!=typeof e)return{};if(""===(e=o(e)))return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t={},n=e.split("&"),r=0;r=0;r--)n=e.charCodeAt(r),n>128?t.unshift(["&#",n,";"].join("")):t.unshift(e[r]);return t.join("")},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return!(!t.height||!t.width)&&t},t.truthy=function(e){return"string"==typeof e?"true"===e||"yes"===e||"1"===e||"on"===e||"✓"===e:!!e},t.parseColor=function(e){var t,n=e.match(/(^(?:#?)[0-9a-f]{6}$)|(^(?:#?)[0-9a-f]{3}$)/i);return null!==n?(t=n[1]||n[2],"#"!==t[0]?"#"+t:t):(n=e.match(/^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/),null!==n?t="rgb("+n.slice(1).join(",")+")":(n=e.match(/^rgba\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0\.\d{1,}|1)\)$/),null!==n?t="rgba("+n.slice(1).join(",")+")":null))},t.canvasRatio=function(){var t=1,n=1;if(e.document){var r=e.document.createElement("canvas");if(r.getContext){var i=r.getContext("2d");t=e.devicePixelRatio||1,n=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1}}return t/n}}).call(t,function(){return this}())},function(e,t,n){(function(e){var r=n(9),i="http://www.w3.org/2000/svg";t.initSVG=function(e,t,n){var o,a,s=!1;e&&e.querySelector?null===(a=e.querySelector("style"))&&(s=!0):(e=r.newEl("svg",i),s=!0),s&&(o=r.newEl("defs",i),a=r.newEl("style",i),r.setAttr(a,{type:"text/css"}),o.appendChild(a),e.appendChild(o)),e.webkitMatchesSelector&&e.setAttribute("xmlns",i);for(var l=0;l=0;l--){var c=s.createProcessingInstruction("xml-stylesheet",'href="'+a[l]+'" rel="stylesheet"');s.insertBefore(c,s.firstChild)}s.removeChild(s.documentElement),o=i.serializeToString(s)}var u=i.serializeToString(t);return u=u.replace(/\&(\#[0-9]{2,}\;)/g,"&$1"),o+u}}}).call(t,function(){return this}())},function(e,t){(function(e){t.newEl=function(t,n){if(e.document)return null==n?e.document.createElement(t):e.document.createElementNS(n,t)},t.setAttr=function(e,t){for(var n in t)e.setAttribute(n,t[n])},t.createXML=function(){if(e.DOMParser)return(new DOMParser).parseFromString("","application/xml")},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n=Array.prototype.slice.call(n)}}).call(t,function(){return this}())},function(e,t){var n=function(e,t){"string"==typeof e&&(this.original=e,"#"===e.charAt(0)&&(e=e.slice(1)),/[^a-f0-9]+/i.test(e)||(3===e.length&&(e=e.replace(/./g,"$&$&")),6===e.length&&(this.alpha=1,t&&t.alpha&&(this.alpha=t.alpha),this.set(parseInt(e,16)))))};n.rgb2hex=function(e,t,n){function r(e){var t=(0|e).toString(16);return e<16&&(t="0"+t),t}return[e,t,n].map(r).join("")},n.hsl2rgb=function(e,t,n){var r=e/60,i=(1-Math.abs(2*n-1))*t,o=i*(1-Math.abs(parseInt(r)%2-1)),a=n-i/2,s=0,l=0,c=0;return r>=0&&r<1?(s=i,l=o):r>=1&&r<2?(s=o,l=i):r>=2&&r<3?(l=i,c=o):r>=3&&r<4?(l=o,c=i):r>=4&&r<5?(s=o,c=i):r>=5&&r<6&&(s=i,c=o),s+=a,l+=a,c+=a,s=parseInt(255*s),l=parseInt(255*l),c=parseInt(255*c),[s,l,c]},n.prototype.set=function(e){this.raw=e;var t=(16711680&this.raw)>>16,n=(65280&this.raw)>>8,r=255&this.raw,i=.2126*t+.7152*n+.0722*r,o=-.09991*t-.33609*n+.436*r,a=.615*t-.55861*n-.05639*r;return this.rgb={r:t,g:n,b:r},this.yuv={y:i,u:o,v:a},this},n.prototype.lighten=function(e){var t=Math.min(1,Math.max(0,Math.abs(e)))*(e<0?-1:1),r=255*t|0,i=Math.min(255,Math.max(0,this.rgb.r+r)),o=Math.min(255,Math.max(0,this.rgb.g+r)),a=Math.min(255,Math.max(0,this.rgb.b+r));return new n(n.rgb2hex(i,o,a))},n.prototype.toHex=function(e){return(e?"#":"")+this.raw.toString(16)},n.prototype.lighterThan=function(e){return e instanceof n||(e=new n(e)),this.yuv.y>e.yuv.y},n.prototype.blendAlpha=function(e){e instanceof n||(e=new n(e));var t=e,r=this,i=t.alpha*t.rgb.r+(1-t.alpha)*r.rgb.r,o=t.alpha*t.rgb.g+(1-t.alpha)*r.rgb.g,a=t.alpha*t.rgb.b+(1-t.alpha)*r.rgb.b;return new n(n.rgb2hex(i,o,a))},e.exports=n},function(e,t){e.exports={version:"2.9.4",svg_ns:"http://www.w3.org/2000/svg"}},function(e,t,n){function r(e,t){return h.element({tag:t,width:e.width,height:e.height,fill:e.properties.fill})}function i(e){return c.cssProps({fill:e.fill,"font-weight":e.font.weight,"font-family":e.font.family+", monospace","font-size":e.font.size+e.font.units})}function o(e,t,n){var r=n/2;return["M",r,r,"H",e-r,"V",t-r,"H",r,"V",0,"M",0,r,"L",e,t-r,"M",0,t-r,"L",e,r].join(" ")}var a=n(13),s=n(8),l=n(11),c=n(7),u=l.svg_ns,h={element:function(e){var t=e.tag,n=e.content||"";return delete e.tag,delete e.content,[t,n,e]}};e.exports=function(e,t){var n=t.engineSettings,l=n.stylesheets,c=l.map(function(e){return''}).join("\n"),d="holder_"+Number(new Date).toString(16),f=e.root,A=f.children.holderTextGroup,p="#"+d+" text { "+i(A.properties)+" } ";A.y+=.8*A.textPositionData.boundingBox.height;var g=[];Object.keys(A.children).forEach(function(e){var t=A.children[e];Object.keys(t.children).forEach(function(e){var n=t.children[e],r=A.x+t.x+n.x,i=A.y+t.y+n.y,o=h.element({tag:"text",content:n.properties.text,x:r,y:i});g.push(o)})});var m=h.element({tag:"g",content:g}),v=null;if(f.children.holderBg.properties.outline){var y=f.children.holderBg.properties.outline;v=h.element({tag:"path",d:o(f.children.holderBg.width,f.children.holderBg.height,y.width),"stroke-width":y.width,stroke:y.fill,fill:"none"})}var b=r(f.children.holderBg,"rect"),w=[];w.push(b),y&&w.push(v),w.push(m);var x=h.element({tag:"g",id:d,content:w}),E=h.element({tag:"style",content:p,type:"text/css"}),C=h.element({tag:"defs",content:E}),S=h.element({tag:"svg",content:[C,x],width:f.properties.width,height:f.properties.height,xmlns:u,viewBox:[0,0,f.properties.width,f.properties.height].join(" "),preserveAspectRatio:"none"}),k=a(S);return k=c+k[0],s.svgStringToDataURI(k,"background"===t.mode)}},function(e,t,n){n(14),e.exports=function e(t,n,r){"use strict";function i(e,t){if(null!==t&&t!==!1&&void 0!==t)return"string"!=typeof t&&"object"!=typeof t?String(t):t}var o,a,s,l,c=1,u=!0;if(r=r||{},"string"==typeof t[0])t[0]=function(e){var t=e.match(/^[\w-]+/),n={tag:t?t[0]:"div",attr:{},children:[]},i=e.match(/#([\w-]+)/),o=e.match(/\$([\w-]+)/),a=e.match(/\.[\w-]+/g);return i&&(n.attr.id=i[1],r[i[1]]=n),o&&(r[o[1]]=n),a&&(n.attr.class=a.join(" ").replace(/\./g,"")),e.match(/&$/g)&&(u=!1),n}(t[0]);else{if(!Array.isArray(t[0]))throw new Error("First element of array must be a string, or an array and not "+JSON.stringify(t[0]));c=0}for(;c/g,">")}(t[c])),t[0].children.push(t[c]);else if("number"==typeof t[c])t[0].children.push(t[c]);else if(Array.isArray(t[c])){if(Array.isArray(t[c][0])){if(t[c].reverse().forEach(function(e){t.splice(c+1,0,e)}),0!==c)continue;c++}e(t[c],n,r),t[c][0]&&t[0].children.push(t[c][0])}else if("function"==typeof t[c])s=t[c];else{if("object"!=typeof t[c])throw new TypeError('"'+t[c]+'" is not allowed as a value.');for(a in t[c])t[c].hasOwnProperty(a)&&null!==t[c][a]&&t[c][a]!==!1&&("style"===a&&"object"==typeof t[c][a]?t[0].attr[a]=JSON.stringify(t[c][a],i).slice(2,-2).replace(/","/g,";").replace(/":"/g,":").replace(/\\"/g,"'"):t[0].attr[a]=t[c][a])}}if(t[0]!==!1){o="<"+t[0].tag;for(l in t[0].attr)t[0].attr.hasOwnProperty(l)&&(o+=" "+l+'="'+function(e){return e||0===e?String(e).replace(/&/g,"&").replace(/"/g,"""):""}(t[0].attr[l])+'"');o+=">",t[0].children.forEach(function(e){o+=e}),o+="",t[0]=o}return r[0]=t[0],s&&s(t[0]),r}},function(e,t){"use strict";function n(e){var t=""+e,n=r.exec(t);if(!n)return t;var i,o="",a=0,s=0;for(a=n.index;a]/;e.exports=n},function(e,t,n){var r=n(9),i=n(7);e.exports=function(){var e=r.newEl("canvas"),t=null;return function(n){null==t&&(t=e.getContext("2d"));var r=i.canvasRatio(),o=n.root;e.width=r*o.properties.width,e.height=r*o.properties.height,t.textBaseline="middle";var a=o.children.holderBg,s=r*a.width,l=r*a.height;t.fillStyle=a.properties.fill,t.fillRect(0,0,s,l),a.properties.outline&&(t.strokeStyle=a.properties.outline.fill,t.lineWidth=a.properties.outline.width,t.moveTo(1,1),t.lineTo(s-1,1),t.lineTo(s-1,l-1),t.lineTo(1,l-1),t.lineTo(1,1),t.moveTo(0,1),t.lineTo(s,l-1),t.moveTo(0,l-1),t.lineTo(s,1),t.stroke());var c=o.children.holderTextGroup;t.font=c.properties.font.weight+" "+r*c.properties.font.size+c.properties.font.units+" "+c.properties.font.family+", monospace",t.fillStyle=c.properties.fill;for(var u in c.children){var h=c.children[u];for(var d in h.children){var f=h.children[d],A=r*(c.x+h.x+f.x),p=r*(c.y+h.y+f.y+c.properties.leading/2);t.fillText(f.properties.text,A,p)}}return e.toDataURL("image/png")}}()}])}),function(e,t){t&&(Holder=e.Holder)}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package),/*! +!function(e){if(e.document){var t=e.document;t.querySelectorAll||(t.querySelectorAll=function(n){var r,i=t.createElement("style"),o=[];for(t.documentElement.firstChild.appendChild(i),t._qsa=[],i.styleSheet.cssText=n+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",e.scrollBy(0,0),i.parentNode.removeChild(i);t._qsa.length;)r=t._qsa.shift(),r.style.removeAttribute("x-qsa"),o.push(r);return t._qsa=null,o}),t.querySelector||(t.querySelector=function(e){var n=t.querySelectorAll(e);return n.length?n[0]:null}),t.getElementsByClassName||(t.getElementsByClassName=function(e){return e=String(e).replace(/^|\s+/g,"."),t.querySelectorAll(e)}),Object.keys||(Object.keys=function(e){if(e!==Object(e))throw TypeError("Object.keys called on non-object");var t,n=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.push(t);return n}),Array.prototype.forEach||(Array.prototype.forEach=function(e){if(void 0===this||null===this)throw TypeError();var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError();var r,i=arguments[1];for(r=0;r>16&255)),i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o)),a=0,o=0),r+=1;return 12===a?(o>>=4,i.push(String.fromCharCode(255&o))):18===a&&(o>>=2,i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o))),i.join("")},e.btoa=e.btoa||function(e){e=String(e);var n,r,i,o,a,s,l,c=0,u=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;c>2,a=(3&n)<<4|r>>4,s=(15&r)<<2|i>>6,l=63&i,c===e.length+2?(s=64,l=64):c===e.length+1&&(l=64),u.push(t.charAt(o),t.charAt(a),t.charAt(s),t.charAt(l));return u.join("")}}(e),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(e){var t=this.__proto__||this.constructor.prototype;return e in this&&(!(e in t)||t[e]!==this[e])}),function(){if("performance"in e==!1&&(e.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in e.performance==!1){var t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),e.performance.now=function(){return Date.now()-t}}}(),e.requestAnimationFrame||(e.webkitRequestAnimationFrame&&e.webkitCancelAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return webkitRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.webkitCancelAnimationFrame}(e):e.mozRequestAnimationFrame&&e.mozCancelAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return mozRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.mozCancelAnimationFrame}(e):!function(e){e.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)},e.cancelAnimationFrame=e.clearTimeout}(e))}}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){(function(t){function r(e,t,n,r){var a=i(n.substr(n.lastIndexOf(e.domain)),e);a&&o({mode:null,el:r,flags:a,engineSettings:t})}function i(e,t){var n={theme:k(M.settings.themes.gray,null),stylesheets:t.stylesheets,instanceOptions:t},r=e.indexOf("?"),i=[e];r!==-1&&(i=[e.slice(0,r),e.slice(r+1)]);var o=i[0].split("/");n.holderURL=e;var a=o[1],s=a.match(/([\d]+p?)x([\d]+p?)/);if(!s)return!1;if(n.fluid=a.indexOf("p")!==-1,n.dimensions={width:s[1].replace("p","%"),height:s[2].replace("p","%")},2===i.length){var l=m.parse(i[1]);if(y.truthy(l.ratio)){n.fluid=!0;var c=parseFloat(n.dimensions.width.replace("%","")),u=parseFloat(n.dimensions.height.replace("%",""));u=Math.floor(100*(u/c)),c=100,n.dimensions.width=c+"%",n.dimensions.height=u+"%"}if(n.auto=y.truthy(l.auto),l.bg&&(n.theme.bg=y.parseColor(l.bg)),l.fg&&(n.theme.fg=y.parseColor(l.fg)),l.bg&&!l.fg&&(n.autoFg=!0),l.theme&&n.instanceOptions.themes.hasOwnProperty(l.theme)&&(n.theme=k(n.instanceOptions.themes[l.theme],null)),l.text&&(n.text=l.text),l.textmode&&(n.textmode=l.textmode),l.size&&(n.size=l.size),l.font&&(n.font=l.font),l.align&&(n.align=l.align),l.lineWrap&&(n.lineWrap=l.lineWrap),n.nowrap=y.truthy(l.nowrap),n.outline=y.truthy(l.outline),y.truthy(l.random)){M.vars.cache.themeKeys=M.vars.cache.themeKeys||Object.keys(n.instanceOptions.themes);var h=M.vars.cache.themeKeys[0|Math.random()*M.vars.cache.themeKeys.length];n.theme=k(n.instanceOptions.themes[h],null)}}return n}function o(e){var t=e.mode,n=e.el,r=e.flags,i=e.engineSettings,o=r.dimensions,s=r.theme,l=o.width+"x"+o.height;t=null==t?r.fluid?"fluid":"image":t;var h=/holder_([a-z]+)/g,d=!1;if(null!=r.text&&(s.text=r.text,"object"===n.nodeName.toLowerCase())){for(var f=s.text.split("\\n"),A=0;A1){var b,w=0,E=0,S=0;y=new s.Group("line"+S),"left"!==e.align&&"right"!==e.align||(o=e.width*(1-2*(1-r)));for(var C=0;C=o||T===!0)&&(t(p,y,w,p.properties.leading),p.add(y),w=0,E+=p.properties.leading,S+=1,y=new s.Group("line"+S),y.y=E),T!==!0&&(m.moveTo(w,0),w+=g.spaceWidth+k.width,y.add(m))}if(t(p,y,w,p.properties.leading),p.add(y),"left"===e.align)p.moveTo(e.width-i,null,null);else if("right"===e.align){for(b in p.children)y=p.children[b],y.moveTo(e.width-y.width,null,null);p.moveTo(0-(e.width-i),null,null)}else{for(b in p.children)y=p.children[b],y.moveTo((p.width-y.width)/2,null,null);p.moveTo((e.width-p.width)/2,null,null)}p.moveTo(null,(e.height-p.height)/2,null),(e.height-p.height)/2<0&&p.moveTo(null,0,null)}else m=new s.Text(e.text),y=new s.Group("line0"),y.add(m),p.add(y),"left"===e.align?p.moveTo(e.width-i,null,null):"right"===e.align?p.moveTo(0-(e.width-i),null,null):p.moveTo((e.width-g.boundingBox.width)/2,null,null),p.moveTo(null,(e.height-g.boundingBox.height)/2,null);return a}function l(e,t,n,r){var i=parseInt(e,10),o=parseInt(t,10),a=Math.max(i,o),s=Math.min(i,o),l=.8*Math.min(s,a*r);return Math.round(Math.max(n,l))}function c(e){var t;t=null==e||null==e.nodeType?M.vars.resizableImages:[e];for(var n=0,r=t.length;n1){n.nodeValue="";for(var m=0;m=0?t:1)}function o(e){w?i(e):x.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",c=!1,u="on"+l,h="complete",d="readyState",f="attachEvent",A="detachEvent",p="addEventListener",g="DOMContentLoaded",m="onreadystatechange",v="removeEventListener",y=p in a,b=c,w=c,x=[];if(a[d]===h)i(t);else if(y)a[p](g,n,c),e[p](l,n,c);else{a[f](m,n),e[f](u,n);try{b=null==e.frameElement&&s}catch(e){}b&&b.doScroll&&!function e(){if(!w){try{b.doScroll("left")}catch(t){return i(e,50)}r(),t()}}()}return o.version="1.4.0",o.isReady=function(){return w},o}e.exports="undefined"!=typeof window&&n(window)},function(e,t,n){var r=encodeURIComponent,i=decodeURIComponent,o=n(4),a=n(5),s=/(\w+)\[(\d+)\]/,l=/\w+\.\w+/;t.parse=function(e){if("string"!=typeof e)return{};if(e=o(e),""===e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t={},n=e.split("&"),r=0;r=0;r--)n=e.charCodeAt(r),n>128?t.unshift(["&#",n,";"].join("")):t.unshift(e[r]);return t.join("")},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return!(!t.height||!t.width)&&t},t.truthy=function(e){return"string"==typeof e?"true"===e||"yes"===e||"1"===e||"on"===e||"✓"===e:!!e},t.parseColor=function(e){var t,n=/(^(?:#?)[0-9a-f]{6}$)|(^(?:#?)[0-9a-f]{3}$)/i,r=/^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,i=/^rgba\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0\.\d{1,}|1)\)$/,o=e.match(n);return null!==o?(t=o[1]||o[2],"#"!==t[0]?"#"+t:t):(o=e.match(r),null!==o?t="rgb("+o.slice(1).join(",")+")":(o=e.match(i),null!==o?t="rgba("+o.slice(1).join(",")+")":null))},t.canvasRatio=function(){var t=1,n=1;if(e.document){var r=e.document.createElement("canvas");if(r.getContext){var i=r.getContext("2d");t=e.devicePixelRatio||1,n=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1}}return t/n}}).call(t,function(){return this}())},function(e,t,n){(function(e){var r=n(9),i="http://www.w3.org/2000/svg",o=8;t.initSVG=function(e,t,n){var a,s,l=!1;e&&e.querySelector?(s=e.querySelector("style"),null===s&&(l=!0)):(e=r.newEl("svg",i),l=!0),l&&(a=r.newEl("defs",i),s=r.newEl("style",i),r.setAttr(s,{type:"text/css"}),a.appendChild(s),e.appendChild(a)),e.webkitMatchesSelector&&e.setAttribute("xmlns",i);for(var c=0;c=0;l--){var c=s.createProcessingInstruction("xml-stylesheet",'href="'+a[l]+'" rel="stylesheet"');s.insertBefore(c,s.firstChild)}s.removeChild(s.documentElement),o=i.serializeToString(s)}var u=i.serializeToString(t);return u=u.replace(/\&(\#[0-9]{2,}\;)/g,"&$1"),o+u}}}).call(t,function(){return this}())},function(e,t){(function(e){t.newEl=function(t,n){if(e.document)return null==n?e.document.createElement(t):e.document.createElementNS(n,t)},t.setAttr=function(e,t){for(var n in t)e.setAttribute(n,t[n])},t.createXML=function(){if(e.DOMParser)return(new DOMParser).parseFromString("","application/xml")},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n=Array.prototype.slice.call(n)}}).call(t,function(){return this}())},function(e,t){var n=function(e,t){"string"==typeof e&&(this.original=e,"#"===e.charAt(0)&&(e=e.slice(1)),/[^a-f0-9]+/i.test(e)||(3===e.length&&(e=e.replace(/./g,"$&$&")),6===e.length&&(this.alpha=1,t&&t.alpha&&(this.alpha=t.alpha),this.set(parseInt(e,16)))))};n.rgb2hex=function(e,t,n){function r(e){var t=(0|e).toString(16);return e<16&&(t="0"+t),t}return[e,t,n].map(r).join("")},n.hsl2rgb=function(e,t,n){var r=e/60,i=(1-Math.abs(2*n-1))*t,o=i*(1-Math.abs(parseInt(r)%2-1)),a=n-i/2,s=0,l=0,c=0;return r>=0&&r<1?(s=i,l=o):r>=1&&r<2?(s=o,l=i):r>=2&&r<3?(l=i,c=o):r>=3&&r<4?(l=o,c=i):r>=4&&r<5?(s=o,c=i):r>=5&&r<6&&(s=i,c=o),s+=a,l+=a,c+=a,s=parseInt(255*s),l=parseInt(255*l),c=parseInt(255*c),[s,l,c]},n.prototype.set=function(e){this.raw=e;var t=(16711680&this.raw)>>16,n=(65280&this.raw)>>8,r=255&this.raw,i=.2126*t+.7152*n+.0722*r,o=-.09991*t-.33609*n+.436*r,a=.615*t-.55861*n-.05639*r;return this.rgb={r:t,g:n,b:r},this.yuv={y:i,u:o,v:a},this},n.prototype.lighten=function(e){var t=Math.min(1,Math.max(0,Math.abs(e)))*(e<0?-1:1),r=255*t|0,i=Math.min(255,Math.max(0,this.rgb.r+r)),o=Math.min(255,Math.max(0,this.rgb.g+r)),a=Math.min(255,Math.max(0,this.rgb.b+r)),s=n.rgb2hex(i,o,a);return new n(s)},n.prototype.toHex=function(e){return(e?"#":"")+this.raw.toString(16)},n.prototype.lighterThan=function(e){return e instanceof n||(e=new n(e)),this.yuv.y>e.yuv.y},n.prototype.blendAlpha=function(e){e instanceof n||(e=new n(e));var t=e,r=this,i=t.alpha*t.rgb.r+(1-t.alpha)*r.rgb.r,o=t.alpha*t.rgb.g+(1-t.alpha)*r.rgb.g,a=t.alpha*t.rgb.b+(1-t.alpha)*r.rgb.b;return new n(n.rgb2hex(i,o,a))},e.exports=n},function(e,t){e.exports={version:"2.9.4",svg_ns:"http://www.w3.org/2000/svg"}},function(e,t,n){function r(e,t){return h.element({tag:t,width:e.width,height:e.height,fill:e.properties.fill})}function i(e){return c.cssProps({fill:e.fill,"font-weight":e.font.weight,"font-family":e.font.family+", monospace","font-size":e.font.size+e.font.units})}function o(e,t,n){var r=n/2;return["M",r,r,"H",e-r,"V",t-r,"H",r,"V",0,"M",0,r,"L",e,t-r,"M",0,t-r,"L",e,r].join(" ")}var a=n(13),s=n(8),l=n(11),c=n(7),u=l.svg_ns,h={element:function(e){var t=e.tag,n=e.content||"";return delete e.tag,delete e.content,[t,n,e]}};e.exports=function(e,t){var n=t.engineSettings,l=n.stylesheets,c=l.map(function(e){return''}).join("\n"),d="holder_"+Number(new Date).toString(16),f=e.root,A=f.children.holderTextGroup,p="#"+d+" text { "+i(A.properties)+" } ";A.y+=.8*A.textPositionData.boundingBox.height;var g=[];Object.keys(A.children).forEach(function(e){var t=A.children[e];Object.keys(t.children).forEach(function(e){var n=t.children[e],r=A.x+t.x+n.x,i=A.y+t.y+n.y,o=h.element({tag:"text",content:n.properties.text,x:r,y:i});g.push(o)})});var m=h.element({tag:"g",content:g}),v=null;if(f.children.holderBg.properties.outline){var y=f.children.holderBg.properties.outline;v=h.element({tag:"path",d:o(f.children.holderBg.width,f.children.holderBg.height,y.width),"stroke-width":y.width,stroke:y.fill,fill:"none"})}var b=r(f.children.holderBg,"rect"),w=[];w.push(b),y&&w.push(v),w.push(m);var x=h.element({tag:"g",id:d,content:w}),E=h.element({tag:"style",content:p,type:"text/css"}),S=h.element({tag:"defs",content:E}),C=h.element({tag:"svg",content:[S,x],width:f.properties.width,height:f.properties.height,xmlns:u,viewBox:[0,0,f.properties.width,f.properties.height].join(" "),preserveAspectRatio:"none"}),k=a(C);k=c+k[0];var T=s.svgStringToDataURI(k,"background"===t.mode);return T}},function(e,t,n){n(14);e.exports=function e(t,n,r){"use strict";function i(e){var t=e.match(/^[\w-]+/),n={tag:t?t[0]:"div",attr:{},children:[]},i=e.match(/#([\w-]+)/),o=e.match(/\$([\w-]+)/),a=e.match(/\.[\w-]+/g);return i&&(n.attr.id=i[1],r[i[1]]=n),o&&(r[o[1]]=n),a&&(n.attr["class"]=a.join(" ").replace(/\./g,"")),e.match(/&$/g)&&(f=!1),n}function o(e,t){if(null!==t&&t!==!1&&void 0!==t)return"string"!=typeof t&&"object"!=typeof t?String(t):t}function a(e){return e||0===e?String(e).replace(/&/g,"&").replace(/"/g,"""):""}function s(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}var l,c,u,h,d=1,f=!0;if(r=r||{},"string"==typeof t[0])t[0]=i(t[0]);else{if(!Array.isArray(t[0]))throw new Error("First element of array must be a string, or an array and not "+JSON.stringify(t[0]));d=0}for(;d",t[0]=l}return r[0]=t[0],u&&u(t[0]),r}},function(e,t){"use strict";function n(e){var t=""+e,n=r.exec(t);if(!n)return t;var i,o="",a=0,s=0;for(a=n.index;a]/;e.exports=n},function(e,t,n){var r=n(9),i=n(7);e.exports=function(){var e=r.newEl("canvas"),t=null;return function(n){null==t&&(t=e.getContext("2d"));var r=i.canvasRatio(),o=n.root;e.width=r*o.properties.width,e.height=r*o.properties.height,t.textBaseline="middle";var a=o.children.holderBg,s=r*a.width,l=r*a.height,c=2,u=c/2;t.fillStyle=a.properties.fill,t.fillRect(0,0,s,l),a.properties.outline&&(t.strokeStyle=a.properties.outline.fill,t.lineWidth=a.properties.outline.width,t.moveTo(u,u),t.lineTo(s-u,u),t.lineTo(s-u,l-u),t.lineTo(u,l-u),t.lineTo(u,u),t.moveTo(0,u),t.lineTo(s,l-u),t.moveTo(0,l-u),t.lineTo(s,u),t.stroke());var h=o.children.holderTextGroup;t.font=h.properties.font.weight+" "+r*h.properties.font.size+h.properties.font.units+" "+h.properties.font.family+", monospace",t.fillStyle=h.properties.fill;for(var d in h.children){var f=h.children[d];for(var A in f.children){var p=f.children[A],g=r*(h.x+f.x+p.x),m=r*(h.y+f.y+p.y+h.properties.leading/2);t.fillText(p.properties.text,g,m)}}return e.toDataURL("image/png")}}()}])}),function(e,t){t&&(Holder=e.Holder)}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package);/*! * JavaScript for Bootstrap's docs (https://getbootstrap.com) * Copyright 2011-2017 The Bootstrap Authors * Copyright 2011-2017 Twitter, Inc. * Licensed under the Creative Commons Attribution 3.0 Unported License. For * details, see https://creativecommons.org/licenses/by/3.0/. */ -function(e){"use strict";e(function(){e(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"}),e('[data-toggle="popover"]').popover(),e(".tooltip-test").tooltip(),e(".popover-test").popover(),e('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",!0),e('.bd-content [href="#"]').click(function(e){e.preventDefault()}),e("#exampleModal").on("show.bs.modal",function(t){var n=e(t.relatedTarget),r=n.data("whatever"),i=e(this);i.find(".modal-title").text("New message to "+r),i.find(".modal-body input").val(r)}),e(".bd-toggle-animated-progress").on("click",function(){e(this).siblings(".progress").find(".progress-bar-striped").toggleClass("progress-bar-animated")}),e(".highlight").each(function(){e(this).before('
Copy
'),e(".btn-clipboard").tooltip()});var t=new Clipboard(".btn-clipboard",{target:function(e){return e.parentNode.nextElementSibling}});t.on("success",function(t){e(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle"),t.clearSelection()}),t.on("error",function(t){var n=/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl-",r="Press "+n+"C to copy";e(t.trigger).attr("title",r).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")})})}(jQuery),function(){"use strict";anchors.options.placement="left",anchors.add(".bd-content > h1, .bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5")}(); \ No newline at end of file +(function(e){"use strict";e(function(){e(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"});e('[data-toggle="popover"]').popover();e(".tooltip-test").tooltip();e(".popover-test").popover();e('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",true);e('.bd-content [href="#"]').click(function(e){e.preventDefault()});e("#exampleModal").on("show.bs.modal",function(t){var n=e(t.relatedTarget);var r=n.data("whatever");var i=e(this);i.find(".modal-title").text("New message to "+r);i.find(".modal-body input").val(r)});e(".bd-toggle-animated-progress").on("click",function(){e(this).siblings(".progress").find(".progress-bar-striped").toggleClass("progress-bar-animated")});e(".highlight").each(function(){var t='
';e(this).before(t);e(".btn-clipboard").tooltip().on("mouseleave",function(){e(this).tooltip("hide")})});var t=new Clipboard(".btn-clipboard",{target:function(e){return e.parentNode.nextElementSibling}});t.on("success",function(t){e(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle");t.clearSelection()});t.on("error",function(t){var n=/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl-";var r="Press "+n+"C to copy";e(t.trigger).attr("title",r).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")});anchors.options={icon:"#"};anchors.add(".bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5");e(".bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5").wrapInner("
")})})(jQuery);(function e(){"use strict";if("serviceWorker"in navigator){window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").then(function(e){console.log("ServiceWorker registration successful with scope: ",e.scope);e.onupdatefound=function(){var t=e.installing;t.onstatechange=function(){switch(t.state){case"installed":if(navigator.serviceWorker.controller){console.log("new update available");location.reload(true)}break;default:}}}}).catch(function(e){console.log("ServiceWorker registration failed: ",e)})})}})(); \ No newline at end of file diff --git a/assets/js/ie-emulation-modes-warning.js b/assets/js/ie-emulation-modes-warning.js index c8f0bcac5..1b4716bf5 100644 --- a/assets/js/ie-emulation-modes-warning.js +++ b/assets/js/ie-emulation-modes-warning.js @@ -27,7 +27,7 @@ // IE JavaScript conditional compilation docs: https://msdn.microsoft.com/library/121hztk3%28v=vs.94%29.aspx // @cc_on docs: https://msdn.microsoft.com/library/8ka90k2e%28v=vs.94%29.aspx var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // eslint-disable-line no-new-func - if (jscriptVersion === undefined) { + if (typeof jscriptVersion === 'undefined') { return 11 // IE11+ not in emulation mode } if (jscriptVersion < 9) { diff --git a/assets/js/src/pwa.js b/assets/js/src/pwa.js new file mode 100644 index 000000000..5e1a43b08 --- /dev/null +++ b/assets/js/src/pwa.js @@ -0,0 +1,30 @@ +/* eslint no-console:off */ + +(function setupSW() { + 'use strict' + + if ('serviceWorker' in navigator) { + window.addEventListener('load', function () { + navigator.serviceWorker.register('/sw.js').then(function (registration) { // eslint-disable-line compat/compat + console.log('ServiceWorker registration successful with scope: ', registration.scope) + registration.onupdatefound = function () { + var installingWorker = registration.installing + installingWorker.onstatechange = function () { + switch (installingWorker.state) { + case 'installed': + if (navigator.serviceWorker.controller) { // eslint-disable-line compat/compat + console.log('new update available') + location.reload(true) + } + break + + default: + } + } + } + }).catch(function (err) { + console.log('ServiceWorker registration failed: ', err) + }) + }) + } +}()) diff --git a/assets/js/vendor/anchor.min.js b/assets/js/vendor/anchor.min.js index 35575f1cc..ee4e3b3f4 100644 --- a/assets/js/vendor/anchor.min.js +++ b/assets/js/vendor/anchor.min.js @@ -1,6 +1,6 @@ /** - * AnchorJS - v4.0.0 - 2017-06-02 + * AnchorJS - v4.1.0 - 2017-09-20 * https://github.com/bryanbraun/anchorjs * Copyright (c) 2017 Bryan Braun; Licensed MIT */ -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";function A(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function n(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var i,o,s,c,r,a,h,l,u,d,f,g,p=[];if(e(this.options),"touch"===(g=this.options.visible)&&(g=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(i=t(A)).length)return this;for(n(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r\]\.\/\(\)\*\\]/g;return this.options.truncate||e(this.options),A.trim().replace(/\'/gi,"").replace(t,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&(" "+A.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}return A}); \ No newline at end of file +!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function i(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var n,o,s,a,r,c,h,l,u,d,f,p=[];if(e(this.options),"touch"===(f=this.options.visible)&&(f=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(n=t(A)).length)return this;for(i(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r\]\.\/\(\)\*\\]/g;return this.options.truncate||e(this.options),A.trim().replace(/\'/gi,"").replace(t,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&(" "+A.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}}); \ No newline at end of file diff --git a/assets/js/vendor/popper.min.js b/assets/js/vendor/popper.min.js index ce33a863d..c1d69d992 100644 --- a/assets/js/vendor/popper.min.js +++ b/assets/js/vendor/popper.min.js @@ -1,4 +1,4 @@ /* Copyright (C) Federico Zivolo 2017 Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). - */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=window.getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e||-1!==['HTML','BODY','#document'].indexOf(e.nodeName))return window.document.body;var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll)/.test(r+s+p)?e:n(o(e))}function r(e){var o=e&&e.offsetParent,i=o&&o.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(o.nodeName)&&'static'===t(o,'position')?r(o):o:window.document.documentElement}function p(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||r(e.firstElementChild)===e)}function s(e){return null===e.parentNode?e:s(e.parentNode)}function d(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return window.document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=o?e:t,n=o?t:e,a=document.createRange();a.setStart(i,0),a.setEnd(n,0);var f=a.commonAncestorContainer;if(e!==f&&t!==f||i.contains(n))return p(f)?f:r(f);var l=s(e);return l.host?d(l.host,t):d(e,s(t).host)}function a(e){var t=1=o.clientWidth&&i>=o.clientHeight}),f=0i[e]&&!t.escapeWithReference&&(n=z(p[o],i[e]-('right'===e?p.width:p.height))),pe({},o,n)}};return n.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';p=se({},p,s[t](e))}),e.offsets.popper=p,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,i=t.reference,n=e.placement.split('-')[0],r=V,p=-1!==['top','bottom'].indexOf(n),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(i[s])&&(e.offsets.popper[d]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){if(!F(e.instance.modifiers,'arrow','keepTogether'))return e;var o=t.element;if('string'==typeof o){if(o=e.instance.popper.querySelector(o),!o)return e;}else if(!e.instance.popper.contains(o))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var i=e.placement.split('-')[0],n=e.offsets,r=n.popper,p=n.reference,s=-1!==['left','right'].indexOf(i),d=s?'height':'width',a=s?'top':'left',f=s?'left':'top',l=s?'bottom':'right',m=O(o)[d];p[l]-mr[l]&&(e.offsets.popper[a]+=p[a]+m-r[l]);var h=p[a]+p[d]/2-m/2,g=h-c(e.offsets.popper)[a];return g=_(z(r[d]-m,g),0),e.arrowElement=o,e.offsets.arrow={},e.offsets.arrow[a]=Math.round(g),e.offsets.arrow[f]='',e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=w(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),i=e.placement.split('-')[0],n=L(i),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case fe.FLIP:p=[i,n];break;case fe.CLOCKWISE:p=K(i);break;case fe.COUNTERCLOCKWISE:p=K(i,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(i!==s||p.length===d+1)return e;i=e.placement.split('-')[0],n=L(i);var a=e.offsets.popper,f=e.offsets.reference,l=V,m='left'===i&&l(a.right)>l(f.left)||'right'===i&&l(a.left)l(f.top)||'bottom'===i&&l(a.top)l(o.right),g=l(a.top)l(o.bottom),b='left'===i&&h||'right'===i&&c||'top'===i&&g||'bottom'===i&&u,y=-1!==['top','bottom'].indexOf(i),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(i=p[d+1]),w&&(r=j(r)),e.placement=i+(r?'-'+r:''),e.offsets.popper=se({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=N(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],i=e.offsets,n=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return n[p?'left':'top']=r[t]-(s?n[p?'width':'height']:0),e.placement=L(t),e.offsets.popper=c(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=T(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right=o.clientWidth&&i>=o.clientHeight}),l=0i[e]&&!t.escapeWithReference&&(n=V(p[o],i[e]-('right'===e?p.width:p.height))),se({},o,n)}};return n.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';p=de({},p,s[t](e))}),e.offsets.popper=p,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,i=t.reference,n=e.placement.split('-')[0],r=_,p=-1!==['top','bottom'].indexOf(n),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(i[s])&&(e.offsets.popper[d]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){if(!F(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var n=e.placement.split('-')[0],r=e.offsets,p=r.popper,s=r.reference,d=-1!==['left','right'].indexOf(n),a=d?'height':'width',l=d?'Top':'Left',f=l.toLowerCase(),m=d?'left':'top',c=d?'bottom':'right',g=O(i)[a];s[c]-gp[c]&&(e.offsets.popper[f]+=s[f]+g-p[c]);var u=s[f]+s[a]/2-g/2,b=t(e.instance.popper,'margin'+l).replace('px',''),y=u-h(e.offsets.popper)[f]-b;return y=X(V(p[a]-g,y),0),e.arrowElement=i,e.offsets.arrow={},e.offsets.arrow[f]=Math.round(y),e.offsets.arrow[m]='',e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=w(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),i=e.placement.split('-')[0],n=L(i),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case fe.FLIP:p=[i,n];break;case fe.CLOCKWISE:p=K(i);break;case fe.COUNTERCLOCKWISE:p=K(i,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(i!==s||p.length===d+1)return e;i=e.placement.split('-')[0],n=L(i);var a=e.offsets.popper,l=e.offsets.reference,f=_,m='left'===i&&f(a.right)>f(l.left)||'right'===i&&f(a.left)f(l.top)||'bottom'===i&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===i&&c||'right'===i&&h||'top'===i&&g||'bottom'===i&&u,y=-1!==['top','bottom'].indexOf(i),w=!!t.flipVariations&&(y&&'start'===r&&c||y&&'end'===r&&h||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(i=p[d+1]),w&&(r=j(r)),e.placement=i+(r?'-'+r:''),e.offsets.popper=de({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=N(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],i=e.offsets,n=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return n[p?'left':'top']=r[o]-(s?n[p?'width':'height']:0),e.placement=L(t),e.offsets.popper=h(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=T(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right[]}; + +function atLeastOne(a){const b=Object.keys(a);b.some((b)=>a[b]!==void 0)||throwError('Please set at least one of the following parameters: '+b.map((a)=>`'${a}'`).join(', '));}function hasMethod(a,b){const c=Object.keys(a).pop(),d=typeof a[c][b];'function'!=d&&throwError(`The '${c}' parameter must be an object that exposes a + '${b}' method.`);}function isInstance(a,b){const c=Object.keys(a).pop();a[c]instanceof b||throwError(`The '${c}' parameter must be an instance of + '${b.name}'`);}function isOneOf(a,b){const c=Object.keys(a).pop();b.includes(a[c])||throwError(`The '${c}' parameter must be set to one of the + following: ${b}`);}function isType(a,b){const c=Object.keys(a).pop(),d=typeof a[c];d!==b&&throwError(`The '${c}' parameter has the wrong type. (Expected: + ${b}, actual: ${d})`);}function isArrayOfType(a,b){const c=Object.keys(a).pop(),d=`The '${c}' parameter should be an array containing + one or more '${b}' elements.`;Array.isArray(a[c])||throwError(d);for(let e of a[c])typeof e!==b&&throwError(d);}function isArrayOfClass(a,b){const c=Object.keys(a).pop(),d=`The '${c}' parameter should be an array containing + one or more '${b.name}' instances.`;Array.isArray(a[c])||throwError(d);for(let e of a[c])e instanceof b||throwError(d);}function throwError(a){a=a.replace(/\s+/g,' ');const b=new Error(a);b.name='assertion-failed';const c=ErrorStackParser.parse(b);throw 3<=c.length&&(b.message=`Invalid call to ${c[2].functionName}() — `+a),b} + +function normalizeHandler(a){return'object'==typeof a?(hasMethod({handler:a},'handle'),a):(isType({handler:a},'function'),{handle:a})} + +const defaultMethod='GET';const validMethods=['DELETE','GET','HEAD','POST','PUT']; + +class Route{constructor({match:a,handler:b,method:c}={}){this.handler=normalizeHandler(b),isType({match:a},'function'),this.match=a,c?(isOneOf({method:c},validMethods),this.method=c):this.method=defaultMethod;}} + +var index$1=Array.isArray||function(a){return'[object Array]'==Object.prototype.toString.call(a)}; + +var index=pathToRegexp; var parse_1=parse; var compile_1=compile; var tokensToFunction_1=tokensToFunction; var tokensToRegExp_1=tokensToRegExp; var PATH_REGEXP=new RegExp('(\\\\.)|([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))','g');function parse(a,b){for(var c,d=[],e=0,f=0,g='',h=b&&b.delimiter||'/';null!=(c=PATH_REGEXP.exec(a));){var i=c[0],j=c[1],k=c.index;if(g+=a.slice(f,k),f=k+i.length,j){g+=j[1];continue}var l=a[f],m=c[2],n=c[3],o=c[4],p=c[5],q=c[6],r=c[7];g&&(d.push(g),g='');var s=c[2]||h,t=o||p;d.push({name:n||e++,prefix:m||'',delimiter:s,optional:'?'===q||'*'===q,repeat:'+'===q||'*'===q,partial:null!=m&&null!=l&&l!==m,asterisk:!!r,pattern:t?escapeGroup(t):r?'.*':'[^'+escapeString(s)+']+?'});}return f{if(a.startsWith('/')&&b.origin!==location.origin)return null;const c=a.startsWith('/')?b.pathname:b.href,f=c.match(e);if(!f)return null;const g={};return d.forEach((a,b)=>{g[a.name]=f[b+1];}),g},handler:b,method:c});}} + +class LogGroup{constructor(){this._logs=[],this._childGroups=[],this._isFallbackMode=!1;const a=/Firefox\/(\d*)\.\d*/.exec(navigator.userAgent);if(a)try{const b=parseInt(a[1],10);55>b&&(this._isFallbackMode=!0);}catch(a){this._isFallbackMode=!0;}/Edge\/\d*\.\d*/.exec(navigator.userAgent)&&(this._isFallbackMode=!0);}addPrimaryLog(a){this._primaryLog=a;}addLog(a){this._logs.push(a);}addChildGroup(a){0===a._logs.length||this._childGroups.push(a);}print(){return 0===this._logs.length&&0===this._childGroups.length?void this._printLogDetails(this._primaryLog):void(this._primaryLog&&(this._isFallbackMode?this._printLogDetails(this._primaryLog):console.groupCollapsed(...this._getLogContent(this._primaryLog))),this._logs.forEach((a)=>{this._printLogDetails(a);}),this._childGroups.forEach((a)=>{a.print();}),this._primaryLog&&!this._isFallbackMode&&console.groupEnd())}_printLogDetails(a){const b=a.logFunc?a.logFunc:console.log;b(...this._getLogContent(a));}_getLogContent(a){let b=a.message;this._isFallbackMode&&'string'==typeof b&&(b=b.replace(/%c/g,''));let c=[b];return!this._isFallbackMode&&a.colors&&(c=c.concat(a.colors)),a.args&&(c=c.concat(a.args)),c}} + +function isServiceWorkerGlobalScope(){return'ServiceWorkerGlobalScope'in self&&self instanceof ServiceWorkerGlobalScope}function isDevBuild(){return`dev`==`prod`}function isLocalhost(){return!!('localhost'===location.hostname||'[::1]'===location.hostname||location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))} + +self.workbox=self.workbox||{},self.workbox.LOG_LEVEL=self.workbox.LOG_LEVEL||{none:-1,verbose:0,debug:1,warn:2,error:3};const LIGHT_GREY=`#bdc3c7`; const DARK_GREY=`#7f8c8d`; const LIGHT_GREEN=`#2ecc71`; const LIGHT_YELLOW=`#f1c40f`; const LIGHT_RED=`#e74c3c`; const LIGHT_BLUE=`#3498db`;class LogHelper{constructor(){this._defaultLogLevel=isDevBuild()?self.workbox.LOG_LEVEL.debug:self.workbox.LOG_LEVEL.warn;}log(a){this._printMessage(self.workbox.LOG_LEVEL.verbose,a);}debug(a){this._printMessage(self.workbox.LOG_LEVEL.debug,a);}warn(a){this._printMessage(self.workbox.LOG_LEVEL.warn,a);}error(a){this._printMessage(self.workbox.LOG_LEVEL.error,a);}_printMessage(a,b){if(this._shouldLogMessage(a,b)){const c=this._getAllLogGroups(a,b);c.print();}}_getAllLogGroups(a,b){const c=new LogGroup,d=this._getPrimaryMessageDetails(a,b);if(c.addPrimaryLog(d),b.error){const a={message:b.error,logFunc:console.error};c.addLog(a);}const e=new LogGroup;if(b.that&&b.that.constructor&&b.that.constructor.name){const a=b.that.constructor.name;e.addLog(this._getKeyValueDetails('class',a));}return b.data&&('object'!=typeof b.data||b.data instanceof Array?e.addLog(this._getKeyValueDetails('additionalData',b.data)):Object.keys(b.data).forEach((a)=>{e.addLog(this._getKeyValueDetails(a,b.data[a]));})),c.addChildGroup(e),c}_getKeyValueDetails(a,b){return{message:`%c${a}: `,colors:[`color: ${LIGHT_BLUE}`],args:b}}_getPrimaryMessageDetails(a,b){let c,d;a===self.workbox.LOG_LEVEL.verbose?(c='Info',d=LIGHT_GREY):a===self.workbox.LOG_LEVEL.debug?(c='Debug',d=LIGHT_GREEN):a===self.workbox.LOG_LEVEL.warn?(c='Warn',d=LIGHT_YELLOW):a===self.workbox.LOG_LEVEL.error?(c='Error',d=LIGHT_RED):void 0;let e=`%c🔧 %c[${c}]`;const f=[`color: ${LIGHT_GREY}`,`color: ${d}`];let g;return'string'==typeof b?g=b:b.message&&(g=b.message),g&&(g=g.replace(/\s+/g,' '),e+=`%c ${g}`,f.push(`color: ${DARK_GREY}; font-weight: normal`)),{message:e,colors:f}}_shouldLogMessage(a,b){if(!b)return!1;let c=this._defaultLogLevel;return self&&self.workbox&&'number'==typeof self.workbox.logLevel&&(c=self.workbox.logLevel),c===self.workbox.LOG_LEVEL.none||a{let f,g=!1;if('navigate'===d.request.mode){const d=e.pathname+e.search;a.some((a)=>a.test(d))?b.some((a)=>a.test(d))?f=`The navigation route is not being used, since the `+`request URL matches both the whitelist and blacklist.`:(f=`The navigation route is being used.`,g=!0):f=`The navigation route is not being used, since the `+`URL being navigated to doesn't match the whitelist.`,logHelper.debug({that:this,message:f,data:{"request-url":e.href,whitelist:a,blacklist:b,handler:c}});}return g},handler:c,method:'GET'});}} + +class RegExpRoute extends Route{constructor({regExp:a,handler:b,method:c}){isInstance({regExp:a},RegExp);super({match:({url:b})=>{const c=a.exec(b.href);return c?b.origin!==location.origin&&0!==c.index?(logHelper.debug({that:this,message:`Skipping route, because the RegExp match didn't occur `+`at the start of the URL.`,data:{url:b.href,regExp:a}}),null):c.slice(1):null},handler:b,method:c});}} + +class Router$2{constructor(){this._routes=new Map,this._isListenerRegistered=!1;}addFetchListener(){return this._isListenerRegistered?(logHelper.warn({that:this,message:`addFetchListener() has already been called for this Router.`}),!1):(this._isListenerRegistered=!0,self.addEventListener('fetch',(a)=>{const b=this.handleRequest({event:a});b&&a.respondWith(b);}),!0)}handleRequest({event:a}){isInstance({event:a},FetchEvent);const b=new URL(a.request.url);if(!b.protocol.startsWith('http'))return void logHelper.log({that:this,message:`The URL does not start with HTTP, so it can't be handled.`,data:{request:a.request}});let{handler:c,params:d}=this._findHandlerAndParams({event:a,url:b});if(!c&&this.defaultHandler&&(c=this.defaultHandler),c){let e=c.handle({url:b,event:a,params:d});return this.catchHandler&&(e=e.catch((c)=>this.catchHandler.handle({url:b,event:a,error:c}))),e}}_findHandlerAndParams({event:a,url:b}){const c=this._routes.get(a.request.method)||[];for(const d of c){let c=d.match({url:b,event:a});if(c)return logHelper.log({that:this,message:'The router found a matching route.',data:{route:d,request:a.request}}),Array.isArray(c)&&0===c.length?c=void 0:c.constructor===Object&&0===Object.keys(c).length&&(c=void 0),{params:c,handler:d.handler}}return{handler:void 0,params:void 0}}setDefaultHandler({handler:a}={}){this.defaultHandler=normalizeHandler(a);}setCatchHandler({handler:a}={}){this.catchHandler=normalizeHandler(a);}registerRoutes({routes:a}={}){isArrayOfClass({routes:a},Route);for(let b of a)this._routes.has(b.method)||this._routes.set(b.method,[]),this._routes.get(b.method).unshift(b);}registerRoute({route:a}={}){isInstance({route:a},Route),this.registerRoutes({routes:[a]});}unregisterRoutes({routes:a}={}){isArrayOfClass({routes:a},Route);for(let b of a){this._routes.has(b.method)||logHelper.error({that:this,message:`Can't unregister route; there are no ${b.method} + routes registered.`,data:{route:b}});const a=this._routes.get(b.method).indexOf(b);-1caches.match(a,{cacheName:c}),whitelist:b.whitelist||[/./],blacklist:b.blacklist||[]})});}} + +const errors$2={"multiple-cache-will-update-plugins":'You cannot register more than one plugin that implements cacheWillUpdate.',"multiple-cached-response-will-be-used-plugins":'You cannot register more than one plugin that implements cachedResponseWillBeUsed.',"invalid-response-for-caching":'The fetched response could not be cached due to an invalid response code.',"no-response-received":'No response received; falling back to cache.',"bad-cache-id":`The 'cacheId' parameter must be a string with at least `+`one character.`};var ErrorFactory$4 = new ErrorFactory$1(errors$2); + +class CacheableResponse{constructor({statuses:a,headers:b}={}){atLeastOne({statuses:a,headers:b}),a!==void 0&&isArrayOfType({statuses:a},'number'),b!==void 0&&isType({headers:b},'object'),this.statuses=a,this.headers=b;}isResponseCacheable({request:a,response:b}={}){isInstance({response:b},Response);let c=!0;if(this.statuses&&(c=this.statuses.includes(b.status)),this.headers&&c&&(c=Object.keys(this.headers).some((a)=>b.headers.get(a)===this.headers[a])),!c){const c={response:b};this.statuses&&(c['valid-status-codes']=JSON.stringify(this.statuses)),this.headers&&(c['valid-headers']=JSON.stringify(this.headers)),a&&(c.request=a),logHelper.debug({message:`The response does not meet the criteria for being added to the + cache.`,data:c});}return c}} + +class CacheableResponsePlugin extends CacheableResponse{cacheWillUpdate({request:a,response:b}={}){return this.isResponseCacheable({request:a,response:b})}} + +const getDefaultCacheName=({cacheId:a}={})=>{let b=`workbox-runtime-caching`;return a&&(b=`${a}-${b}`),self&&self.registration&&(b+=`-${self.registration.scope}`),b}; +const pluginCallbacks=['cacheDidUpdate','cachedResponseWillBeUsed','cacheWillUpdate','fetchDidFail','requestWillFetch']; + +var cleanResponseCopy = (({response:a})=>{isInstance({response:a},Response);const b=a.clone(),c='body'in b?Promise.resolve(b.body):b.blob();return c.then((a)=>new Response(a,{headers:b.headers,status:b.status,statusText:b.statusText}))}); + +var asyncToGenerator = function (fn) { + return function () { + var gen = fn.apply(this, arguments); + return new Promise(function (resolve, reject) { + function step(key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + return Promise.resolve(value).then(function (value) { + step("next", value); + }, function (err) { + step("throw", err); + }); + } + } + + return step("next"); + }); + }; +}; + +class RequestWrapper{constructor({cacheName:a,cacheId:b,plugins:c,fetchOptions:d,matchOptions:e}={}){if(b&&('string'!=typeof b||0===b.length))throw ErrorFactory$4.createError('bad-cache-id');a?(isType({cacheName:a},'string'),this.cacheName=a,b&&(this.cacheName=`${b}-${this.cacheName}`)):this.cacheName=getDefaultCacheName({cacheId:b}),d&&(isType({fetchOptions:d},'object'),this.fetchOptions=d),e&&(isType({matchOptions:e},'object'),this.matchOptions=e),this.plugins=new Map,c&&(isArrayOfType({plugins:c},'object'),c.forEach((a)=>{for(let b of pluginCallbacks)if('function'==typeof a[b]){if(!this.plugins.has(b))this.plugins.set(b,[]);else if('cacheWillUpdate'===b)throw ErrorFactory$4.createError('multiple-cache-will-update-plugins');else if('cachedResponseWillBeUsed'===b)throw ErrorFactory$4.createError('multiple-cached-response-will-be-used-plugins');this.plugins.get(b).push(a);}})),this.plugins.has('cacheWillUpdate')&&(this._userSpecifiedCachableResponsePlugin=this.plugins.get('cacheWillUpdate')[0]);}getDefaultCacheableResponsePlugin(){return this._defaultCacheableResponsePlugin||(this._defaultCacheableResponsePlugin=new CacheableResponsePlugin({statuses:[200]})),this._defaultCacheableResponsePlugin}getCache(){var a=this;return asyncToGenerator(function*(){return a._cache||(a._cache=yield caches.open(a.cacheName)),a._cache})()}match({request:a}){var b=this;return asyncToGenerator(function*(){atLeastOne({request:a});const c=yield b.getCache();let d=yield c.match(a,b.matchOptions);if(b.plugins.has('cachedResponseWillBeUsed')){const e=b.plugins.get('cachedResponseWillBeUsed')[0];d=yield e.cachedResponseWillBeUsed({request:a,cache:c,cachedResponse:d,matchOptions:b.matchOptions,cacheName:b.cacheName});}return d})()}fetch({request:a}){var b=this;return asyncToGenerator(function*(){'string'==typeof a?a=new Request(a):isInstance({request:a},Request);const c=b.plugins.has('fetchDidFail')?a.clone():null;if(b.plugins.has('requestWillFetch'))for(let c of b.plugins.get('requestWillFetch')){const b=yield c.requestWillFetch({request:a});isInstance({returnedRequest:b},Request),a=b;}try{return yield fetch(a,b.fetchOptions)}catch(a){if(b.plugins.has('fetchDidFail'))for(let a of b.plugins.get('fetchDidFail'))yield a.fetchDidFail({request:c.clone()});throw a}})()}fetchAndCache({request:a,waitOnCache:b,cacheKey:c,cacheResponsePlugin:d,cleanRedirects:e}){var f=this;return asyncToGenerator(function*(){atLeastOne({request:a});let g;const h=yield f.fetch({request:a}),i=f._userSpecifiedCachableResponsePlugin||d||f.getDefaultCacheableResponsePlugin(),j=yield i.cacheWillUpdate({request:a,response:h});if(j){const b=e&&h.redirected?yield cleanResponseCopy({response:h}):h.clone();g=f.getCache().then((()=>{var d=asyncToGenerator(function*(d){let e;const g=c||a;if('opaque'!==h.type&&f.plugins.has('cacheDidUpdate')&&(e=yield f.match({request:g})),yield d.put(g,b),f.plugins.has('cacheDidUpdate'))for(let a of f.plugins.get('cacheDidUpdate'))yield a.cacheDidUpdate({cacheName:f.cacheName,oldResponse:e,newResponse:b,url:'url'in g?g.url:g});});return function(){return d.apply(this,arguments)}})());}else if(!j&&b)throw ErrorFactory$4.createError('invalid-response-for-caching');return b&&g&&(yield g),h})()}} + +class Handler{constructor({requestWrapper:a,waitOnCache:b}={}){this.requestWrapper=a?a:new RequestWrapper,this.waitOnCache=!!b;}handle({event:a,params:b}={}){throw Error('This abstract method must be implemented in a subclass.')}} + +class CacheFirst extends Handler{handle({event:a}={}){var b=this;return asyncToGenerator(function*(){isInstance({event:a},FetchEvent);const c=yield b.requestWrapper.match({request:a.request});return c||(yield b.requestWrapper.fetchAndCache({request:a.request,waitOnCache:b.waitOnCache}))})()}} + +class CacheOnly extends Handler{handle({event:a}={}){var b=this;return asyncToGenerator(function*(){return isInstance({event:a},FetchEvent),yield b.requestWrapper.match({request:a.request})})()}} + +class NetworkFirst extends Handler{constructor(a={}){super(a),this._cacheablePlugin=new CacheableResponsePlugin({statuses:[0,200]});const{networkTimeoutSeconds:b}=a;b&&(isType({networkTimeoutSeconds:b},'number'),this.networkTimeoutSeconds=b);}handle({event:a}={}){var b=this;return asyncToGenerator(function*(){isInstance({event:a},FetchEvent);const c=[];let d;b.networkTimeoutSeconds&&c.push(new Promise(function(c){d=setTimeout(function(){c(b.requestWrapper.match({request:a.request}));},1e3*b.networkTimeoutSeconds);}));const e=b.requestWrapper.fetchAndCache({request:a.request,waitOnCache:b.waitOnCache,cacheResponsePlugin:b._cacheablePlugin}).then(function(a){return d&&clearTimeout(d),a?a:Promise.reject(ErrorFactory$4.createError('no-response-received'))}).catch(function(){return b.requestWrapper.match({request:a.request})});return c.push(e),Promise.race(c)})()}} + +class NetworkOnly extends Handler{handle({event:a}={}){var b=this;return asyncToGenerator(function*(){return isInstance({event:a},FetchEvent),yield b.requestWrapper.fetch({request:a.request})})()}} + +class StaleWhileRevalidate extends Handler{constructor(a={}){super(a),this._cacheablePlugin=new CacheableResponsePlugin({statuses:[0,200]});}handle({event:a}={}){var b=this;return asyncToGenerator(function*(){isInstance({event:a},FetchEvent);const c=b.requestWrapper.fetchAndCache({request:a.request,waitOnCache:b.waitOnCache,cacheResponsePlugin:b._cacheablePlugin}).catch(function(){return Response.error()}),d=yield b.requestWrapper.match({request:a.request});return d||(yield c)})()}} + +let tmpIdbName=`workbox-cache-expiration`;self&&self.registration&&(tmpIdbName+=`-${self.registration.scope}`);const idbName=tmpIdbName;const idbVersion=1;const urlPropertyName='url';const timestampPropertyName='timestamp'; + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +var idb=createCommonjsModule(function(a){'use strict';(function(){function b(a){return Array.prototype.slice.call(a)}function c(a){return new Promise(function(b,c){a.onsuccess=function(){b(a.result);},a.onerror=function(){c(a.error);};})}function d(a,b,d){var e,f=new Promise(function(f,g){e=a[b].apply(a,d),c(e).then(f,g);});return f.request=e,f}function e(a,b,c){var e=d(a,b,c);return e.then(function(a){return a?new k(a,e.request):void 0})}function f(a,b,c){c.forEach(function(c){Object.defineProperty(a.prototype,c,{get:function(){return this[b][c]},set:function(a){this[b][c]=a;}});});}function g(a,b,c,e){e.forEach(function(e){e in c.prototype&&(a.prototype[e]=function(){return d(this[b],e,arguments)});});}function h(a,b,c,d){d.forEach(function(d){d in c.prototype&&(a.prototype[d]=function(){return this[b][d].apply(this[b],arguments)});});}function i(a,b,c,d){d.forEach(function(d){d in c.prototype&&(a.prototype[d]=function(){return e(this[b],d,arguments)});});}function j(a){this._index=a;}function k(a,b){this._cursor=a,this._request=b;}function l(a){this._store=a;}function m(a){this._tx=a,this.complete=new Promise(function(b,c){a.oncomplete=function(){b();},a.onerror=function(){c(a.error);},a.onabort=function(){c(a.error);};});}function n(a,b,c){this._db=a,this.oldVersion=b,this.transaction=new m(c);}function o(a){this._db=a;}f(j,'_index',['name','keyPath','multiEntry','unique']),g(j,'_index',IDBIndex,['get','getKey','getAll','getAllKeys','count']),i(j,'_index',IDBIndex,['openCursor','openKeyCursor']),f(k,'_cursor',['direction','key','primaryKey','value']),g(k,'_cursor',IDBCursor,['update','delete']),['advance','continue','continuePrimaryKey'].forEach(function(a){a in IDBCursor.prototype&&(k.prototype[a]=function(){var b=this,d=arguments;return Promise.resolve().then(function(){return b._cursor[a].apply(b._cursor,d),c(b._request).then(function(a){return a?new k(a,b._request):void 0})})});}),l.prototype.createIndex=function(){return new j(this._store.createIndex.apply(this._store,arguments))},l.prototype.index=function(){return new j(this._store.index.apply(this._store,arguments))},f(l,'_store',['name','keyPath','indexNames','autoIncrement']),g(l,'_store',IDBObjectStore,['put','add','delete','clear','get','getAll','getKey','getAllKeys','count']),i(l,'_store',IDBObjectStore,['openCursor','openKeyCursor']),h(l,'_store',IDBObjectStore,['deleteIndex']),m.prototype.objectStore=function(){return new l(this._tx.objectStore.apply(this._tx,arguments))},f(m,'_tx',['objectStoreNames','mode']),h(m,'_tx',IDBTransaction,['abort']),n.prototype.createObjectStore=function(){return new l(this._db.createObjectStore.apply(this._db,arguments))},f(n,'_db',['name','version','objectStoreNames']),h(n,'_db',IDBDatabase,['deleteObjectStore','close']),o.prototype.transaction=function(){return new m(this._db.transaction.apply(this._db,arguments))},f(o,'_db',['name','version','objectStoreNames']),h(o,'_db',IDBDatabase,['close']),['openCursor','openKeyCursor'].forEach(function(a){[l,j].forEach(function(c){c.prototype[a.replace('open','iterate')]=function(){var c=b(arguments),d=c[c.length-1],e=this._store||this._index,f=e[a].apply(e,c.slice(0,-1));f.onsuccess=function(){d(f.result);};};});}),[j,l].forEach(function(a){a.prototype.getAll||(a.prototype.getAll=function(a,b){var c=this,d=[];return new Promise(function(e){c.iterateCursor(a,function(a){return a?(d.push(a.value),void 0!==b&&d.length==b?void e(d):void a.continue()):void e(d)});})});});var p={open:function(a,b,c){var e=d(indexedDB,'open',[a,b]),f=e.request;return f.onupgradeneeded=function(a){c&&c(new n(f.result,a.oldVersion,f.transaction));},e.then(function(a){return new o(a)})},delete:function(a){return d(indexedDB,'deleteDatabase',[a])}};a.exports=p,a.exports.default=a.exports;})();}); + +const errors$3={"max-entries-or-age-required":`Either the maxEntries or maxAgeSeconds + parameters (or both) are required when constructing Plugin.`,"max-entries-must-be-number":`The maxEntries parameter to the Plugin + constructor must either be a number or undefined.`,"max-age-seconds-must-be-number":`The maxAgeSeconds parameter to the Plugin + constructor must either be a number or undefined.`};var ErrorFactory$5 = new ErrorFactory$1(errors$3); + +class CacheExpiration{constructor({maxEntries:a,maxAgeSeconds:b}={}){if(!(a||b))throw ErrorFactory$5.createError('max-entries-or-age-required');if(a&&'number'!=typeof a)throw ErrorFactory$5.createError('max-entries-must-be-number');if(b&&'number'!=typeof b)throw ErrorFactory$5.createError('max-age-seconds-must-be-number');this.maxEntries=a,this.maxAgeSeconds=b,this._dbs=new Map,this._caches=new Map,this._expirationMutex=!1,this._timestampForNextRun=null;}getDB({cacheName:a}={}){var b=this;return asyncToGenerator(function*(){isType({cacheName:a},'string');const c=`${idbName}-${a}`;if(!b._dbs.has(c)){const d=yield idb.open(c,idbVersion,function(b){const c=b.createObjectStore(a,{keyPath:urlPropertyName});c.createIndex(timestampPropertyName,timestampPropertyName,{unique:!1});});b._dbs.set(c,d);}return b._dbs.get(c)})()}getCache({cacheName:a}={}){var b=this;return asyncToGenerator(function*(){if(isType({cacheName:a},'string'),!b._caches.has(a)){const c=yield caches.open(a);b._caches.set(a,c);}return b._caches.get(a)})()}isResponseFresh({cacheName:a,cachedResponse:b,now:c}={}){if(b&&this.maxAgeSeconds){isInstance({cachedResponse:b},Response);const d=b.headers.get('date');if(d){'undefined'==typeof c&&(c=Date.now());const a=new Date(d),b=a.getTime();return!!isNaN(b)||b+1e3*this.maxAgeSeconds>c}return this.expireEntries({cacheName:a,now:c}),!0}return!0}updateTimestamp({cacheName:a,url:b,now:c}={}){var d=this;return asyncToGenerator(function*(){isType({url:b},'string'),isType({cacheName:a},'string');const e=new URL(b,location);e.hash='','undefined'==typeof c&&(c=Date.now());const f=yield d.getDB({cacheName:a}),g=f.transaction(a,'readwrite');g.objectStore(a).put({[timestampPropertyName]:c,[urlPropertyName]:e.href}),yield g.complete;})()}expireEntries({cacheName:a,now:b}={}){var c=this;return asyncToGenerator(function*(){if(c._expirationMutex)return void(c._timestampForNextRun=b);c._expirationMutex=!0,isType({cacheName:a},'string'),'undefined'==typeof b&&(b=Date.now());const d=c.maxAgeSeconds?yield c.findOldEntries({cacheName:a,now:b}):[],e=c.maxEntries?yield c.findExtraEntries({cacheName:a}):[],f=[...new Set(d.concat(e))];if(yield c.deleteFromCacheAndIDB({cacheName:a,urls:f}),0b.maxEntries&&(e=d.transaction(a,'readonly'),f=e.objectStore(a),g=f.index(timestampPropertyName),g.iterateCursor(function(a){a&&(c.push(a.value[urlPropertyName]),h-c.length>b.maxEntries&&a.continue());})),yield e.complete,c})()}deleteFromCacheAndIDB({cacheName:a,urls:b}={}){var c=this;return asyncToGenerator(function*(){if(isType({cacheName:a},'string'),isArrayOfType({urls:b},'string'),0a.headers.has(c)&&b.headers.has(c));return d?c.every((c)=>a.headers.has(c)===b.headers.has(c)&&a.headers.get(c)===b.headers.get(c)):(logHelper.log({message:`Unable to determine whether the response has been updated + because none of the headers that would be checked are present.`,data:{"First Response":a,"Second Response":b,"Headers To Check":JSON.stringify(c)}}),!0)} + +class BroadcastCacheUpdate{constructor({channelName:a,headersToCheck:b,source:c}={}){if('string'!=typeof a||0===a.length)throw ErrorFactory$6.createError('channel-name-required');this.channelName=a,this.headersToCheck=b||defaultHeadersToCheck,this.source=c||defaultSource;}get channel(){return this._channel||(this._channel=new BroadcastChannel(this.channelName)),this._channel}notifyIfUpdated({first:a,second:b,cacheName:c,url:d}){isType({cacheName:c},'string'),responsesAreSame({first:a,second:b,headersToCheck:this.headersToCheck})||broadcastUpdate({cacheName:c,url:d,channel:this.channel,source:this.source});}} + +class BroadcastCacheUpdatePlugin extends BroadcastCacheUpdate{cacheDidUpdate({cacheName:a,oldResponse:b,newResponse:c,url:d}){isType({cacheName:a},'string'),isInstance({newResponse:c},Response),b&&this.notifyIfUpdated({cacheName:a,first:b,second:c,url:d});}} + +class Strategies{constructor({cacheId:a}={}){this._cacheId=a;}cacheFirst(a){return this._getCachingMechanism(CacheFirst,a)}cacheOnly(a){return this._getCachingMechanism(CacheOnly,a)}networkFirst(a){return this._getCachingMechanism(NetworkFirst,a)}networkOnly(a){return this._getCachingMechanism(NetworkOnly,a)}staleWhileRevalidate(a){return this._getCachingMechanism(StaleWhileRevalidate,a)}_getCachingMechanism(a,b={}){const c={cacheExpiration:CacheExpirationPlugin,broadcastCacheUpdate:BroadcastCacheUpdatePlugin,cacheableResponse:CacheableResponsePlugin},d={plugins:[]};b.excludeCacheId||(d.cacheId=this._cacheId),b.cacheName&&(d.cacheName=b.cacheName);const e=Object.keys(c);return e.forEach((a)=>{if(b[a]){const e=c[a],f=b[a];d.plugins.push(new e(f));}}),b.plugins&&b.plugins.forEach((a)=>{d.plugins.push(a);}),b.requestWrapper=new RequestWrapper(d),new a(b)}} + +const errorMessageFactory=(a,b)=>{let c=`An error was thrown by workbox with error code: `+`;'${a}'`;return b&&(c+=` with extras: '${JSON.stringify(b)}'`),c}; + +class WorkboxError extends Error{constructor(a,b){super(),this.name=a,this.message=errorMessageFactory(a,b),b&&(this.extras=b);}} + +class BaseCacheManager{constructor({cacheName:a,cacheId:b,plugins:c}={}){if(b&&('string'!=typeof b||0===b.length))throw new WorkboxError('bad-cache-id',{cacheId:b});this._entriesToCache=new Map,this._requestWrapper=new RequestWrapper({cacheName:a,cacheId:b,plugins:c,fetchOptions:{credentials:'same-origin'}});}_addEntries(a){this._parsedCacheUrls=null,a.forEach((a)=>{this._addEntryToInstallList(this._parseEntry(a));});}getCacheName(){return this._requestWrapper.cacheName}getCachedUrls(){return this._parsedCacheUrls||(this._parsedCacheUrls=Array.from(this._entriesToCache.keys()).map((a)=>new URL(a,location).href)),this._parsedCacheUrls}_addEntryToInstallList(a){const b=a.entryID,c=this._entriesToCache.get(a.entryID);return c?void this._onDuplicateInstallEntryFound(a,c):void this._entriesToCache.set(b,a)}install(){var a=this;return asyncToGenerator(function*(){if(0===a._entriesToCache.size)return[];const b=[];return a._entriesToCache.forEach(function(c){b.push(a._cacheEntry(c));}),Promise.all(b)})()}_cacheEntry(a){var b=this;return asyncToGenerator(function*(){const c=yield b._isAlreadyCached(a),d={url:a.request.url,revision:a.revision,wasUpdated:!c};if(c)return d;try{return yield b._requestWrapper.fetchAndCache({request:a.getNetworkRequest(),waitOnCache:!0,cacheKey:a.request,cleanRedirects:!0}),yield b._onEntryCached(a),d}catch(b){throw new WorkboxError('request-not-cached',{url:a.request.url,error:b})}})()}cleanup(){var a=this;return asyncToGenerator(function*(){if(!(yield caches.has(a.getCacheName())))return;const b=[];a._entriesToCache.forEach(function(a){b.push(a.request.url);});const c=yield a._getCache(),d=yield c.keys(),e=d.filter(function(a){return!b.includes(a.url)});return Promise.all(e.map((()=>{var b=asyncToGenerator(function*(b){yield c.delete(b),yield a._onEntryDeleted(b.url);});return function(){return b.apply(this,arguments)}})()))})()}_getCache(){var a=this;return asyncToGenerator(function*(){return a._cache||(a._cache=yield caches.open(a.getCacheName())),a._cache})()}_parseEntry(){throw new WorkboxError('requires-overriding')}_onDuplicateEntryFound(){throw new WorkboxError('requires-overriding')}_isAlreadyCached(){throw new WorkboxError('requires-overriding')}_onEntryCached(){throw new WorkboxError('requires-overriding')}_onEntryDeleted(){throw new WorkboxError('requires-overriding')}} + +class IDBHelper{constructor(a,b,c){if(a==void 0||b==void 0||c==void 0)throw Error('name, version, storeName must be passed to the constructor.');this._name=a,this._version=b,this._storeName=c;}_getDb(){return this._dbPromise?this._dbPromise:(this._dbPromise=idb.open(this._name,this._version,(a)=>{a.createObjectStore(this._storeName);}).then((a)=>a),this._dbPromise)}close(){return this._dbPromise?this._dbPromise.then((a)=>{a.close(),this._dbPromise=null;}):void 0}put(a,b){return this._getDb().then((c)=>{const d=c.transaction(this._storeName,'readwrite'),e=d.objectStore(this._storeName);return e.put(b,a),d.complete})}delete(a){return this._getDb().then((b)=>{const c=b.transaction(this._storeName,'readwrite'),d=c.objectStore(this._storeName);return d.delete(a),c.complete})}get(a){return this._getDb().then((b)=>b.transaction(this._storeName).objectStore(this._storeName).get(a))}getAllValues(){return this._getDb().then((a)=>a.transaction(this._storeName).objectStore(this._storeName).getAll())}getAllKeys(){return this._getDb().then((a)=>a.transaction(this._storeName).objectStore(this._storeName).getAllKeys())}} + +const cacheBustParamName='_workbox-precaching';const version='v1';const dbName='workbox-precaching';const dbVersion='1';const dbStorename='asset-revisions';let tmpRevisionedCacheName=`workbox-precaching-revisioned-${version}`;self&&self.registration&&(tmpRevisionedCacheName+=`-${self.registration.scope}`);const defaultRevisionedCacheName=tmpRevisionedCacheName; + +class RevisionDetailsModel{constructor(){this._idbHelper=new IDBHelper(dbName,dbVersion,dbStorename);}get(a){return this._idbHelper.get(a)}put(a,b){return this._idbHelper.put(a,b)}delete(a){return this._idbHelper.delete(a)}_close(){this._idbHelper.close();}} + +class BaseCacheEntry{constructor({entryID:a,revision:b,request:c,cacheBust:d}){this.entryID=a,this.revision=b,this.request=c,this.cacheBust=d;}getNetworkRequest(){if(!0!==this.cacheBust)return this.request;let a=this.request.url;const b={};if(!0===this.cacheBust)if('cache'in Request.prototype)b.cache='reload';else{const b=new URL(a,location);b.search+=(b.search?'&':'')+encodeURIComponent(cacheBustParamName)+'='+encodeURIComponent(this.revision),a=b.toString();}return new Request(a,b)}} + +class StringCacheEntry extends BaseCacheEntry{constructor(a){if(isType({url:a},'string'),0===a.length)throw new WorkboxError('invalid-string-entry',{url:a});super({entryID:a,revision:a,request:new Request(a),cacheBust:!1});}} + +class ObjectCacheEntry extends BaseCacheEntry{constructor({entryID:a,revision:b,url:c,cacheBust:d}){if('undefined'!=typeof b&&(isType({revision:b},'string'),0===b.length))throw new WorkboxError('invalid-object-entry',{problemParam:'revision',problemValue:b});if('undefined'==typeof d&&(d=!!b),isType({cacheBust:d},'boolean'),isType({url:c},'string'),0===c.length)throw new WorkboxError('invalid-object-entry',{problemParam:'url',problemValue:c});if('undefined'==typeof a)a=new URL(c,location).toString();else if(0===a.length)throw new WorkboxError('invalid-object-entry',{problemParam:'entryID',problemValue:a});super({entryID:a,revision:b||c,request:new Request(c),cacheBust:d});}} + +class RevisionedCacheManager extends BaseCacheManager{constructor(a={}){a.cacheName=a.cacheName||defaultRevisionedCacheName,super(a),this._revisionDetailsModel=new RevisionDetailsModel;}addToCacheList({revisionedFiles:a}={}){isInstance({revisionedFiles:a},Array),super._addEntries(a);const b=a.filter((a)=>'string'==typeof a||!a.revision);0this._close())}_createLogFriendlyString(a){let b=`\n`;return a.forEach((a)=>{b+=` URL: '${a.url}' Revision: `+`'${a.revision}'\n`;}),b}install(){return super.install().then((a)=>{const b=[],c=[];a.forEach((a)=>{a.wasUpdated?b.push({url:a.url,revision:a.revision}):c.push({url:a.url,revision:a.revision});});const d={};return 0{const c=this._revisionedCacheManager.getCachedUrls();0{if(a)return self.skipWaiting()}));}),self.addEventListener('activate',(a)=>{a.waitUntil(this._revisionedCacheManager.cleanup().then(()=>{if(b)return self.clients.claim()}));});}_registerDefaultRoutes(a,b){const c=[];(a||b)&&c.push(this._getCacheMatchPlugin(a,b));const d=this.strategies.cacheFirst({cacheName:this._revisionedCacheManager.getCacheName(),plugins:c,excludeCacheId:!0});this._precacheRouter.registerRoute(({url:c})=>{c.hash='';const d=this._revisionedCacheManager.getCachedUrls();if(-1!==d.indexOf(c.href))return!0;let e=this._removeIgnoreUrlParams(c.href,a);return-1!==d.indexOf(e.href)||b&&e.pathname.endsWith('/')&&(e.pathname+=b,-1!==d.indexOf(e.href))},d);}_getCacheMatchPlugin(a,b){var c=this;const d=(()=>{var d=asyncToGenerator(function*({request:d,cache:e,cachedResponse:f,matchOptions:g}){if(f)return f;let h=c._removeIgnoreUrlParams(d.url,a);return e.match(h.toString(),g).then(function(a){return!a&&h.pathname.endsWith('/')?(h.pathname+=b,e.match(h.toString(),g)):a})});return function(){return d.apply(this,arguments)}})();return{cachedResponseWillBeUsed:d}}_removeIgnoreUrlParams(a,b){const c=new URL(a),d=c.search.slice(1),e=d.split('&'),f=e.map((a)=>a.split('=')),g=f.filter((a)=>b.every((b)=>!b.test(a[0]))),h=g.map((a)=>a.join('='));return c.search=h.join('&'),c}} + +return WorkboxSW$1; + +}()); +//# sourceMappingURL=workbox-sw.prod.v2.1.0.js.map diff --git a/assets/js/vendor/workbox-sw.prod.v2.1.0.js.map b/assets/js/vendor/workbox-sw.prod.v2.1.0.js.map new file mode 100644 index 000000000..52091d2e6 --- /dev/null +++ b/assets/js/vendor/workbox-sw.prod.v2.1.0.js.map @@ -0,0 +1 @@ +{"version":3,"file":"workbox-sw.prod.v2.1.0.js","sources":["../../../../lib/error-factory.js","../../src/lib/error-factory.js","../../../workbox-routing/src/lib/error-factory.js","../../../../lib/error-stack-parser-no-op.js","../../../../lib/assert.js","../../../workbox-routing/src/lib/normalize-handler.js","../../../workbox-routing/src/lib/constants.js","../../../workbox-routing/src/lib/route.js","../../../../node_modules/path-to-regexp/node_modules/isarray/index.js","../../../../node_modules/path-to-regexp/index.js","../../../workbox-routing/src/lib/express-route.js","../../../../lib/log-group.js","../../../../lib/environment.js","../../../../lib/log-helper.js","../../../workbox-routing/src/lib/navigation-route.js","../../../workbox-routing/src/lib/regexp-route.js","../../../workbox-routing/src/lib/router.js","../../src/lib/router.js","../../../workbox-runtime-caching/src/lib/error-factory.js","../../../workbox-cacheable-response/src/lib/cacheable-response.js","../../../workbox-cacheable-response/src/lib/cacheable-response-plugin.js","../../../workbox-runtime-caching/src/lib/constants.js","../../../workbox-runtime-caching/src/lib/clean-response-copy.js","../../../workbox-runtime-caching/src/lib/request-wrapper.js","../../../workbox-runtime-caching/src/lib/handler.js","../../../workbox-runtime-caching/src/lib/cache-first.js","../../../workbox-runtime-caching/src/lib/cache-only.js","../../../workbox-runtime-caching/src/lib/network-first.js","../../../workbox-runtime-caching/src/lib/network-only.js","../../../workbox-runtime-caching/src/lib/stale-while-revalidate.js","../../../workbox-cache-expiration/src/lib/constants.js","../../../../node_modules/idb/lib/idb.js","../../../workbox-cache-expiration/src/lib/error-factory.js","../../../workbox-cache-expiration/src/lib/cache-expiration.js","../../../workbox-cache-expiration/src/lib/cache-expiration-plugin.js","../../../workbox-broadcast-cache-update/src/lib/error-factory.js","../../../workbox-broadcast-cache-update/src/lib/constants.js","../../../workbox-broadcast-cache-update/src/lib/broadcast-update.js","../../../workbox-broadcast-cache-update/src/lib/responses-are-same.js","../../../workbox-broadcast-cache-update/src/lib/broadcast-cache-update.js","../../../workbox-broadcast-cache-update/src/lib/broadcast-cache-update-plugin.js","../../src/lib/strategies.js","../../../../lib/error-message-factory-no-op.js","../../../../lib/workbox-error.js","../../../workbox-precaching/src/lib/controllers/base-cache-manager.js","../../../../lib/idb-helper.js","../../../workbox-precaching/src/lib/constants.js","../../../workbox-precaching/src/lib/models/revision-details-model.js","../../../workbox-precaching/src/lib/models/precache-entries/base-precache-entry.js","../../../workbox-precaching/src/lib/models/precache-entries/string-cache-entry.js","../../../workbox-precaching/src/lib/models/precache-entries/object-precache-entry.js","../../../workbox-precaching/src/lib/controllers/revisioned-cache-manager.js","../../../workbox-precaching/src/index.js","../../src/lib/workbox-sw.js"],"sourcesContent":["/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n'use strict';\n\n/**\n * A simple class to make errors and to help with testing.\n */\nclass ErrorFactory {\n /**\n * @param {Object} errors A object containing key value pairs where the key\n * is the error name / ID and the value is the error message.\n */\n constructor(errors) {\n this._errors = errors;\n }\n /**\n * @param {string} name The error name to be generated.\n * @param {Error} [thrownError] The thrown error that resulted in this\n * message.\n * @return {Error} The generated error.\n */\n createError(name, thrownError) {\n if (!(name in this._errors)) {\n throw new Error(`Unable to generate error '${name}'.`);\n }\n\n let message = this._errors[name].replace(/\\s+/g, ' ');\n let stack = null;\n if (thrownError) {\n message += ` [${thrownError.message}]`;\n stack = thrownError.stack;\n }\n\n const generatedError = new Error();\n generatedError.name = name;\n generatedError.message = message;\n generatedError.stack = stack;\n return generatedError;\n }\n}\n\nexport default ErrorFactory;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from '../../../../lib/error-factory';\n\nconst errors = {\n 'not-in-sw': 'workbox-sw must be loaded in your service worker file.',\n 'unsupported-route-type': 'The first parameter to registerRoute() should be' +\n ' either an Express-style path string, a RegExp, or a function.',\n 'empty-express-string': 'The Express style route string must have some ' +\n 'characters, an empty string is invalid.',\n 'bad-revisioned-cache-list': `The 'precache()' method expects` +\n `an array of revisioned urls like so: ['/example/hello.1234.txt', ` +\n `{path: 'hello.txt', revision: '1234'}]`,\n 'navigation-route-url-string': `The registerNavigationRoute() method ` +\n `expects a URL string as its first parameter.`,\n 'bad-cache-id': `The 'cacheId' parameter must be a string with at least ` +\n `one character`,\n 'bad-skip-waiting': `The 'skipWaiting' parameter must be a boolean.`,\n 'bad-clients-claim': `The 'clientsClaim' parameter must be a boolean.`,\n 'bad-directory-index': `The 'directoryIndex' parameter must be a boolean.`,\n};\n\nexport default new ErrorFactory(errors);\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from '../../../../lib/error-factory';\n\nconst errors = {\n 'express-route-invalid-path': `When using ExpressRoute, you must\n provide a path that starts with a '/' character (to match same-origin\n requests) or that starts with 'http' (to match cross-origin requests)`,\n};\n\nexport default new ErrorFactory(errors);\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/**\n * A no-op export matching the ErrorStackParser interface, to be included in\n * production, minified builds.\n */\nexport default {\n parse: () => [],\n};\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/* eslint-disable require-jsdoc */\n\nimport ErrorStackParser from 'error-stack-parser';\n\nexport function atLeastOne(object) {\n const parameters = Object.keys(object);\n if (!parameters.some((parameter) => object[parameter] !== undefined)) {\n throwError('Please set at least one of the following parameters: ' +\n parameters.map((p) => `'${p}'`).join(', '));\n }\n}\n\nexport function hasMethod(object, expectedMethod) {\n const parameter = Object.keys(object).pop();\n const type = typeof object[parameter][expectedMethod];\n if (type !== 'function') {\n throwError(`The '${parameter}' parameter must be an object that exposes a\n '${expectedMethod}' method.`);\n }\n}\n\nexport function isInstance(object, expectedClass) {\n const parameter = Object.keys(object).pop();\n if (!(object[parameter] instanceof expectedClass)) {\n throwError(`The '${parameter}' parameter must be an instance of\n '${expectedClass.name}'`);\n }\n}\n\nexport function isOneOf(object, values) {\n const parameter = Object.keys(object).pop();\n if (!values.includes(object[parameter])) {\n throwError(`The '${parameter}' parameter must be set to one of the\n following: ${values}`);\n }\n}\n\nexport function isType(object, expectedType) {\n const parameter = Object.keys(object).pop();\n const actualType = typeof object[parameter];\n if (actualType !== expectedType) {\n throwError(`The '${parameter}' parameter has the wrong type. (Expected:\n ${expectedType}, actual: ${actualType})`);\n }\n}\n\nexport function isArrayOfType(object, expectedType) {\n const parameter = Object.keys(object).pop();\n const message = `The '${parameter}' parameter should be an array containing\n one or more '${expectedType}' elements.`;\n\n if (!Array.isArray(object[parameter])) {\n throwError(message);\n }\n\n for (let item of object[parameter]) {\n if (typeof item !== expectedType) {\n throwError(message);\n }\n }\n}\n\nexport function isArrayOfClass(object, expectedClass) {\n const parameter = Object.keys(object).pop();\n const message = `The '${parameter}' parameter should be an array containing\n one or more '${expectedClass.name}' instances.`;\n\n if (!Array.isArray(object[parameter])) {\n throwError(message);\n }\n\n for (let item of object[parameter]) {\n if (!(item instanceof expectedClass)) {\n throwError(message);\n }\n }\n}\n\nexport function isValue(object, expectedValue) {\n const parameter = Object.keys(object).pop();\n const actualValue = object[parameter];\n if (actualValue !== expectedValue) {\n throwError(`The '${parameter}' parameter has the wrong value. (Expected:\n ${expectedValue}, actual: ${actualValue})`);\n }\n}\n\nfunction throwError(message) {\n // Collapse any newlines or whitespace into a single space.\n message = message.replace(/\\s+/g, ' ');\n\n const error = new Error(message);\n error.name = 'assertion-failed';\n\n const stackFrames = ErrorStackParser.parse(error);\n\n // If, for some reason, we don't have all the stack information we need,\n // we'll just end up throwing a basic Error.\n if (stackFrames.length >= 3) {\n // Assuming we have the stack frames, set the message to include info\n // about what the underlying method was, and set the name to reflect\n // the assertion type that failed.\n error.message = `Invalid call to ${stackFrames[2].functionName}() — ` +\n message;\n }\n\n throw error;\n}\n","import {hasMethod, isType} from '../../../../lib/assert';\n\n/**\n * @param {function|module:workbox-runtime-caching.Handler} handler The\n * handler to normalize.\n * @return {Object} An object with a `handle` property representing the handler\n * function.\n *\n * @private\n */\nexport default function normalizeHandler(handler) {\n if (typeof handler === 'object') {\n hasMethod({handler}, 'handle');\n return handler;\n } else {\n isType({handler}, 'function');\n return {handle: handler};\n }\n}\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @private\n * @type {string}\n * @memberof module:workbox-routing\n */\nexport const defaultMethod = 'GET';\n\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @private\n * @type {Array.}\n * @memberof module:workbox-routing\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport {isType, isOneOf} from '../../../../lib/assert';\nimport normalizeHandler from './normalize-handler';\nimport {defaultMethod, validMethods} from './constants';\n\n/**\n * This is the definition of the `match` callback passed into the\n * `Route` constructor.\n *\n * This callback is used to determine if a new `fetch` event can be served\n * by this `Route`. Returning a truthy value indicates that this `Route` can\n * handle this `fetch` event. Return `null` if this shouldn't match against\n * the `fetch` event.\n *\n * If you do return a truthy value, the object will be passed to the\n * Route's `handler` (see the\n * [Route Constructor]{@link module:workbox-routing.Route}).\n *\n * @callback Route~matchCallback\n * @param {Object} input\n * @param {URL} input.url The request's URL.\n * @param {FetchEvent} input.event The event that triggered the `fetch` handler.\n * @return {Object|null} To signify a match, return a truthy value, otherwise\n * return null if the route shouldn't match. If you return an Object with\n * contents it will be passed to the `handler` in the `Route` constructor.\n * @memberof module:workbox-routing\n */\n\n/**\n * This is the definition of the `handler` callback that can be passed into the\n * `Route` constructor.\n *\n * The `handler` callback is called when a request has been matched by\n * a `Route` and should return a Promise that resolves with a `Response`.\n *\n * @callback Route~handlerCallback\n * @param {Object} input\n * @param {URL} input.url The request's URL.\n * @param {FetchEvent} input.event The event that triggered the `fetch` handler.\n * @param {Object} [input.params] Parameters returned\n * the Route's [match callback]{@link\n * module:workbox-routing.Route~matchCallback} function. This will be\n * undefined if nothing was returned.\n * @return {Promise} The response that will fulfill the request.\n * @memberof module:workbox-routing\n */\n\n/**\n * A `Route` allows you to tell a service worker that it should handle\n * certain network requests using a specific response strategy.\n *\n * A consists or a matcher and a handler. A matcher needs to determine if a\n * route should be used for a request. A handler should handle the request\n * if it does match a Router.\n *\n * Instead of implementing your own handlers, you can use one of the\n * pre-defined runtime caching strategies from the\n * {@link module:workbox-runtime-caching|workbox-runtime-caching} module.\n *\n * There are also pre-defined Route's provided by this library:\n * {@link module:workbox-routing.RegExpRoute|RegExpRoute}\n * and {@link module:workbox-routing.ExpressRoute|ExpressRoute} subclasses\n * which provide a convenient wrapper with a nicer interface for using regular\n * expressions or Express-style routes as the `match` criteria.\n *\n * @example\n * // Any navigate requests for URLs that start with /path/to/ will match.\n * const route = new workbox.routing.Route({\n * match: ({url, event}) => {\n * return event.request.mode === 'navigate' &&\n * url.pathname.startsWith('/path/to/');\n * },\n * handler: ({event}) => {\n * // Do something that returns a Promise., like:\n * return caches.match(event.request);\n * },\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @memberof module:workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n * @param {Object} input\n * @param {function} input.match The function that determines whether the\n * route matches a given `fetch` event.\n *\n * See [matchCallback]{@link module:workbox-routing.Route~matchCallback} for\n * full details on this function.\n * @param {function|module:workbox-runtime-caching.Handler} input.handler\n * This parameter can be either a function or an object which is a subclass\n * of `Handler`.\n *\n * Either option should result in a `Response` that the `Route` can use to\n * handle the `fetch` event.\n *\n * See [handlerCallback]{@link module:workbox-routing.Route~handlerCallback}\n * for full details on using a callback function as the `handler`.\n * @param {string} [input.method] Only match requests that use this\n * HTTP method.\n *\n * Defaults to `'GET'`.\n */\n constructor({match, handler, method} = {}) {\n this.handler = normalizeHandler(handler);\n\n isType({match}, 'function');\n this.match = match;\n\n if (method) {\n isOneOf({method}, validMethods);\n this.method = method;\n } else {\n this.method = defaultMethod;\n }\n }\n}\n\nexport default Route;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from './error-factory';\nimport Route from './route';\nimport pathToRegExp from 'path-to-regexp';\n\n/**\n * `ExpressRoute` is a helper class to make defining Express-style\n * [Routes]{@link module:workbox-routing.Route} easy.\n *\n * Under the hood, it uses the [`path-to-regexp`](https://www.npmjs.com/package/path-to-regexp)\n * library to transform the `path` parameter into a regular expression, which is\n * then matched against the URL's path.\n *\n * Please note that `ExpressRoute` can match either same-origin or cross-origin\n * requests.\n *\n * To match same-origin requests, use a `path` value that begins with\n * `'/'`, e.g. `'/path/to/:file'`.\n *\n * To match cross-origin requests, use a `path` value that includes the origin,\n * e.g. `'https://example.com/path/to/:file'`.\n *\n * @example\n * // Any same-origin requests that start with /path/to and end with one\n * // additional path segment will match this route, with the last path\n * // segment passed along to the handler via params.file.\n * const route = new workbox.routing.ExpressRoute({\n * path: '/path/to/:file',\n * handler: ({event, params}) => {\n * // params.file will be set based on the request URL that matched.\n * return caches.match(params.file);\n * },\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @example\n * // Any cross-origin requests for https://example.com will match this route.\n * const route = new workbox.routing.ExpressRoute({\n * path: 'https://example.com/path/to/:file',\n * handler: ({event}) => return caches.match(event.request),\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @memberof module:workbox-routing\n * @extends Route\n */\nclass ExpressRoute extends Route {\n /**\n * Constructor for ExpressRoute.\n *\n * @param {Object} input\n * @param {String} input.path The path to use for routing.\n * If the path contains [named parameters](https://github.com/pillarjs/path-to-regexp#named-parameters),\n * then an Object that maps parameter names to their corresponding value\n * will be passed to the handler via `params`.\n * @param {function|module:workbox-runtime-caching.Handler} input.handler The\n * handler to use to provide a response if the route matches.\n *\n * If you wish to use a callback function [see handlerCallback]{@link\n * module:workbox-routing.Route~handlerCallback} for the callback\n * definition.\n * @param {string} [input.method] Only match requests that use this\n * HTTP method.\n *\n * Defaults to `'GET'`.\n */\n constructor({path, handler, method}) {\n if (!(path.startsWith('/') || path.startsWith('http'))) {\n throw ErrorFactory.createError('express-route-invalid-path');\n }\n\n let keys = [];\n // keys is populated as a side effect of pathToRegExp. This isn't the nicest\n // API, but so it goes.\n // https://github.com/pillarjs/path-to-regexp#usage\n const regExp = pathToRegExp(path, keys);\n const match = ({url}) => {\n // A path starting with '/' is a signal that we only want to match\n // same-origin. Bail out early if needed.\n if (path.startsWith('/') && url.origin !== location.origin) {\n return null;\n }\n\n // We need to match on either just the pathname or the full URL, depending\n // on whether the path parameter starts with '/' or 'http'.\n const pathNameOrHref = path.startsWith('/') ? url.pathname : url.href;\n const regexpMatches = pathNameOrHref.match(regExp);\n // Return null immediately if this route doesn't match.\n if (!regexpMatches) {\n return null;\n }\n\n // If the route does match, then collect values for all the named\n // parameters that were returned in keys.\n // If there are no named parameters then this will end up returning {},\n // which is truthy, and therefore a sufficient return value.\n const namedParamsToValues = {};\n keys.forEach((key, index) => {\n namedParamsToValues[key.name] = regexpMatches[index + 1];\n });\n\n return namedParamsToValues;\n };\n\n super({match, handler, method});\n }\n}\n\nexport default ExpressRoute;\n","/* eslint-disable no-console */\n\n/**\n * A simple helper to manage the print of a set of logs\n */\nclass LogGroup {\n /**\n * @param {object} input\n */\n constructor() {\n this._logs = [];\n this._childGroups = [];\n\n this._isFallbackMode = false;\n const ffRegex = /Firefox\\/(\\d*)\\.\\d*/.exec(navigator.userAgent);\n if (ffRegex) {\n try {\n const ffVersion = parseInt(ffRegex[1], 10);\n if (ffVersion < 55) {\n this._isFallbackMode = true;\n }\n } catch (err) {\n this._isFallbackMode = true;\n }\n }\n\n if (/Edge\\/\\d*\\.\\d*/.exec(navigator.userAgent)) {\n this._isFallbackMode = true;\n }\n }\n\n /**\n *@param {object} logDetails\n */\n addPrimaryLog(logDetails) {\n this._primaryLog = logDetails;\n }\n\n /**\n *@param {object} logDetails\n */\n addLog(logDetails) {\n this._logs.push(logDetails);\n }\n\n /**\n * @param {object} group\n */\n addChildGroup(group) {\n if (group._logs.length === 0) {\n return;\n }\n\n this._childGroups.push(group);\n }\n\n /**\n * prints out this log group to the console.\n */\n print() {\n if (this._logs.length === 0 && this._childGroups.length === 0) {\n this._printLogDetails(this._primaryLog);\n return;\n }\n\n if (this._primaryLog) {\n if (!this._isFallbackMode) {\n console.groupCollapsed(...this._getLogContent(this._primaryLog));\n } else {\n this._printLogDetails(this._primaryLog);\n }\n }\n\n this._logs.forEach((logDetails) => {\n this._printLogDetails(logDetails);\n });\n\n this._childGroups.forEach((group) => {\n group.print();\n });\n\n if (this._primaryLog && !this._isFallbackMode) {\n console.groupEnd();\n }\n }\n\n /**\n * Prints the specific logDetails object.\n * @param {object} logDetails\n */\n _printLogDetails(logDetails) {\n const logFunc = logDetails.logFunc ? logDetails.logFunc : console.log;\n logFunc(...this._getLogContent(logDetails));\n }\n\n /**\n * Returns a flattened array of message with colors and args.\n * @param {object} logDetails\n * @return {Array} Returns an array of arguments to pass to a console\n * function.\n */\n _getLogContent(logDetails) {\n let message = logDetails.message;\n if (this._isFallbackMode && typeof message === 'string') {\n // Replace the %c value with an empty string.\n message = message.replace(/%c/g, '');\n }\n\n let allArguments = [message];\n\n if (!this._isFallbackMode && logDetails.colors) {\n allArguments = allArguments.concat(logDetails.colors);\n }\n\n if (logDetails.args) {\n allArguments = allArguments.concat(logDetails.args);\n }\n return allArguments;\n }\n}\n\nexport default LogGroup;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/**\n * @private\n * @return {boolean} True, if we're running in the service worker global scope.\n * False otherwise.\n */\nexport function isServiceWorkerGlobalScope() {\n return ('ServiceWorkerGlobalScope' in self &&\n self instanceof ServiceWorkerGlobalScope);\n}\n\n/**\n * @private\n * @return {boolean} True, if we're running a development bundle.\n * False otherwise.\n */\nexport function isDevBuild() {\n // `BUILD_PROCESS_REPLACE::BUILD_TARGET` is replaced during the build process.\n return `BUILD_PROCESS_REPLACE::BUILD_TARGET` === `dev`;\n}\n\n/**\n * @private\n * @return {boolean} True, if we're running on localhost or the equivalent IP\n * address. False otherwise.\n */\nexport function isLocalhost() {\n return Boolean(\n location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n );\n}\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/* eslint-disable no-console */\n\nimport LogGroup from './log-group';\nimport {isDevBuild} from './environment';\n\nself.workbox = self.workbox || {};\nself.workbox.LOG_LEVEL = self.workbox.LOG_LEVEL || {\n none: -1,\n verbose: 0,\n debug: 1,\n warn: 2,\n error: 3,\n};\n\nconst LIGHT_GREY = `#bdc3c7`;\nconst DARK_GREY = `#7f8c8d`;\nconst LIGHT_GREEN = `#2ecc71`;\nconst LIGHT_YELLOW = `#f1c40f`;\nconst LIGHT_RED = `#e74c3c`;\nconst LIGHT_BLUE = `#3498db`;\n\n/**\n * A class that will only log given the current log level\n * defined by the developer.\n *\n * Define custom log level by setting `self.workbox.logLevel`.\n *\n * @example\n *\n * self.workbox.logLevel = self.workbox.LOG_LEVEL.verbose;\n *\n * @private\n */\nclass LogHelper {\n /**\n * LogHelper constructor.\n */\n constructor() {\n this._defaultLogLevel = isDevBuild() ?\n self.workbox.LOG_LEVEL.debug :\n self.workbox.LOG_LEVEL.warn;\n }\n\n /**\n * The most verbose log level.\n *\n * @param {Object} options The options of the log.\n */\n log(options) {\n this._printMessage(self.workbox.LOG_LEVEL.verbose, options);\n }\n\n /**\n * Useful for logs that are more exceptional that log()\n * but not severe.\n *\n * @param {Object} options The options of the log.\n */\n debug(options) {\n this._printMessage(self.workbox.LOG_LEVEL.debug, options);\n }\n\n /**\n * Warning messages.\n *\n * @param {Object} options The options of the log.\n */\n warn(options) {\n this._printMessage(self.workbox.LOG_LEVEL.warn, options);\n }\n\n /**\n * Error logs.\n *\n * @param {Object} options The options of the log.\n */\n error(options) {\n this._printMessage(self.workbox.LOG_LEVEL.error, options);\n }\n\n /**\n * Method to print to the console.\n * @param {number} logLevel\n * @param {Object} logOptions\n */\n _printMessage(logLevel, logOptions) {\n if (!this._shouldLogMessage(logLevel, logOptions)) {\n return;\n }\n\n const logGroups = this._getAllLogGroups(logLevel, logOptions);\n logGroups.print();\n }\n\n /**\n * Print a user friendly log to the console.\n * @param {numer} logLevel A number from self.workbox.LOG_LEVEL\n * @param {Object} logOptions Arguments to print to the console\n * @return {LogGroup} Returns a log group to print to the console.\n */\n _getAllLogGroups(logLevel, logOptions) {\n const topLogGroup = new LogGroup();\n\n const primaryMessage = this._getPrimaryMessageDetails(logLevel, logOptions);\n topLogGroup.addPrimaryLog(primaryMessage);\n\n if (logOptions.error) {\n const errorMessage = {\n message: logOptions.error,\n logFunc: console.error,\n };\n topLogGroup.addLog(errorMessage);\n }\n\n const extraInfoGroup = new LogGroup();\n if (logOptions.that && logOptions.that.constructor &&\n logOptions.that.constructor.name) {\n const className = logOptions.that.constructor.name;\n extraInfoGroup.addLog(\n this._getKeyValueDetails('class', className)\n );\n }\n\n if (logOptions.data) {\n if (typeof logOptions.data === 'object' &&\n !(logOptions.data instanceof Array)) {\n Object.keys(logOptions.data).forEach((keyName) => {\n extraInfoGroup.addLog(\n this._getKeyValueDetails(keyName, logOptions.data[keyName])\n );\n });\n } else {\n extraInfoGroup.addLog(\n this._getKeyValueDetails('additionalData', logOptions.data)\n );\n }\n }\n\n topLogGroup.addChildGroup(extraInfoGroup);\n\n return topLogGroup;\n }\n\n /**\n * This is a helper function to wrap key value pairss to a colored key\n * value string.\n * @param {string} key\n * @param {string} value\n * @return {Object} The object containing a message, color and Arguments\n * for the console.\n */\n _getKeyValueDetails(key, value) {\n return {\n message: `%c${key}: `,\n colors: [`color: ${LIGHT_BLUE}`],\n args: value,\n };\n }\n\n /**\n * Helper method to color the primary message for the log\n * @param {number} logLevel One of self.workbox.LOG_LEVEL\n * @param {Object} logOptions Arguments to print to the console\n * @return {Object} Object containing the message and color info to print.\n */\n _getPrimaryMessageDetails(logLevel, logOptions) {\n let logLevelName;\n let logLevelColor;\n switch (logLevel) {\n case self.workbox.LOG_LEVEL.verbose:\n logLevelName = 'Info';\n logLevelColor = LIGHT_GREY;\n break;\n case self.workbox.LOG_LEVEL.debug:\n logLevelName = 'Debug';\n logLevelColor = LIGHT_GREEN;\n break;\n case self.workbox.LOG_LEVEL.warn:\n logLevelName = 'Warn';\n logLevelColor = LIGHT_YELLOW;\n break;\n case self.workbox.LOG_LEVEL.error:\n logLevelName = 'Error';\n logLevelColor = LIGHT_RED;\n break;\n }\n\n let primaryLogMessage = `%c🔧 %c[${logLevelName}]`;\n const primaryLogColors = [\n `color: ${LIGHT_GREY}`,\n `color: ${logLevelColor}`,\n ];\n\n let message;\n if (typeof logOptions === 'string') {\n message = logOptions;\n } else if (logOptions.message) {\n message = logOptions.message;\n }\n\n if (message) {\n message = message.replace(/\\s+/g, ' ');\n primaryLogMessage += `%c ${message}`;\n primaryLogColors.push(`color: ${DARK_GREY}; font-weight: normal`);\n }\n\n return {\n message: primaryLogMessage,\n colors: primaryLogColors,\n };\n }\n\n /**\n * Test if the message should actually be logged.\n * @param {number} logLevel The level of the current log to be printed.\n * @param {Object|String} logOptions The options to log.\n * @return {boolean} Returns true of the message should be printed.\n */\n _shouldLogMessage(logLevel, logOptions) {\n if (!logOptions) {\n return false;\n }\n\n let minValidLogLevel = this._defaultLogLevel;\n if (self && self.workbox && typeof self.workbox.logLevel === 'number') {\n minValidLogLevel = self.workbox.logLevel;\n }\n\n if (minValidLogLevel === self.workbox.LOG_LEVEL.none ||\n logLevel < minValidLogLevel) {\n return false;\n }\n\n return true;\n }\n}\n\nexport default new LogHelper();\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n */\n\nimport Route from './route';\nimport {isArrayOfClass} from '../../../../lib/assert';\nimport logHelper from '../../../../lib/log-helper';\n\n/**\n * NavigationRoute is a helper class to create a [Route]{@link\n * module:workbox-routing.Route} that matches for browser navigation requests,\n * i.e. requests for HTML pages.\n *\n * It will only match incoming requests whose [`mode`](https://fetch.spec.whatwg.org/#concept-request-mode)\n * is set to `navigate`.\n *\n * You can optionally only apply this route to a subset of navigation requests\n * by using one or both of the `blacklist` and `whitelist` parameters. If\n * both lists are provided, and there's a navigation to a URL which matches\n * both, then the blacklist will take precedence and the request will not be\n * matched by this route. The regular expressions in `whitelist` and `blacklist`\n * are matched against the concatenated\n * [`pathname`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/pathname)\n * and [`search`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search)\n * portions of the requested URL.\n *\n * To match all navigations, use a `whitelist` array containing a RegExp that\n * matches everything, i.e. `[/./]`.\n *\n * @memberof module:workbox-routing\n * @extends Route\n *\n * @example\n * // Any navigation requests that match the whitelist (i.e. URLs whose path\n * // starts with /article/) will be handled with the cache entry for\n * // app-shell.html.\n * const route = new workbox.routing.NavigationRoute({\n * whitelist: [new RegExp('^/article/')],\n * handler: {handle: () => caches.match('app-shell.html')},\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n */\nclass NavigationRoute extends Route {\n /**\n * Constructor for NavigationRoute.\n *\n * @param {Object} input\n * @param {Array} input.whitelist If any of these patterns match,\n * the route will handle the request (assuming the blacklist doesn't match).\n * @param {Array} [input.blacklist] If any of these patterns match,\n * the route will not handle the request (even if a whitelist entry matches).\n * @param {function|module:workbox-runtime-caching.Handler} input.handler The\n * handler to use to provide a response if the route matches.\n *\n * If you wish to use a callback function [see handlerCallback]{@link\n * module:workbox-routing.Route~handlerCallback} for the callback\n * definition.\n */\n constructor({whitelist, blacklist, handler} = {}) {\n isArrayOfClass({whitelist}, RegExp);\n if (blacklist) {\n isArrayOfClass({blacklist}, RegExp);\n } else {\n blacklist = [];\n }\n\n const match = ({event, url}) => {\n let matched = false;\n let message;\n\n if (event.request.mode === 'navigate') {\n const pathnameAndSearch = url.pathname + url.search;\n if (whitelist.some((regExp) => regExp.test(pathnameAndSearch))) {\n if (blacklist.some((regExp) => regExp.test(pathnameAndSearch))) {\n message = `The navigation route is not being used, since the ` +\n `request URL matches both the whitelist and blacklist.`;\n } else {\n message = `The navigation route is being used.`;\n matched = true;\n }\n } else {\n message = `The navigation route is not being used, since the ` +\n `URL being navigated to doesn't match the whitelist.`;\n }\n\n logHelper.debug({\n that: this,\n message,\n data: {'request-url': url.href, whitelist, blacklist, handler},\n });\n }\n\n return matched;\n };\n\n super({match, handler, method: 'GET'});\n }\n}\n\nexport default NavigationRoute;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport Route from './route';\nimport {isInstance} from '../../../../lib/assert';\nimport logHelper from '../../../../lib/log-helper.js';\n\n/**\n * RegExpRoute is a helper class to make defining regular expression based\n * [Routes]{@link module:workbox-routing.Route} easy.\n *\n * The matching for regular expressioned are slightly different between\n * same-origin requests and cross-origin requests.\n *\n * A common pattern is to use a regex pattern similar to `/styles/.*` to capture\n * all stylesheets on your site.\n *\n * If we used this on `https://workboxjs.org`,\n * this regular expression would match for the end of\n * https://workboxjs.org/styles/main.css.\n *\n * However, it's unlikely that we'd intend for this to match against:\n * https://third-party-origin.com/styles/example.css.\n *\n * To overcome this common issue, regular expressions will only match against\n * cross-origin requests if the regular expression matches from the start.\n *\n * For example, matching the cross-origin example, we could change the\n * regular expression to: `https://third-party-origin.com/styles/.*`, meaning\n * we would now match https://third-party-origin.com/styles/example.css.\n *\n * If you wish your regular expression to match both, you just need to ensure\n * you account for the full URL.\n *\n * @memberof module:workbox-routing\n * @extends Route\n *\n * @example\n * // Any requests that match the regular expression will match this route, with\n * // the capture groups passed along to the handler as an array via params.\n * const route = new workbox.routing.RegExpRoute({\n * regExp: new RegExp('^https://example.com/path/to/(\\\\w+)'),\n * handler: {\n * handle: ({event, params}) => {\n * // params[0], etc. will be set based on the regexp capture groups.\n * // Do something that returns a Promise., like:\n * return caches.match(event.request);\n * },\n * },\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n */\nclass RegExpRoute extends Route {\n /**\n * Constructor for RegExpRoute.\n *\n * @param {Object} input\n * @param {RegExp} input.regExp The regular expression to match against URLs.\n * If the `RegExp` contains [capture groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references),\n * then the array of captured values will be passed to the `handler` as\n * `params`.\n * @param {function|module:workbox-runtime-caching.Handler} input.handler The\n * handler to use to provide a response if the route matches.\n *\n * If you wish to use a callback function [see handlerCallback]{@link\n * module:workbox-routing.Route~handlerCallback} for the callback\n * definition.\n * @param {string} [input.method] Only match requests that use this\n * HTTP method. Defaults to `'GET'` if not specified.\n */\n constructor({regExp, handler, method}) {\n isInstance({regExp}, RegExp);\n\n const match = ({url}) => {\n const result = regExp.exec(url.href);\n\n // Return null immediately if this route doesn't match.\n if (!result) {\n return null;\n }\n\n // If this is a cross-origin request, then confirm that the match included\n // the start of the URL. This means that regular expressions like\n // /styles.+/ will only match same-origin requests.\n // See https://github.com/GoogleChrome/workbox/issues/281#issuecomment-285130355\n if ((url.origin !== location.origin) && (result.index !== 0)) {\n logHelper.debug({\n that: this,\n message: `Skipping route, because the RegExp match didn't occur ` +\n `at the start of the URL.`,\n data: {url: url.href, regExp},\n });\n\n return null;\n }\n\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n\n super({match, handler, method});\n }\n}\n\nexport default RegExpRoute;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport Route from './route';\nimport {isArrayOfClass, isInstance} from '../../../../lib/assert';\nimport logHelper from '../../../../lib/log-helper.js';\nimport normalizeHandler from './normalize-handler';\n\n/**\n * The Router takes one or more [Routes]{@link Route} and allows you to apply\n * that routing logic to determine the appropriate way of handling requests\n * inside of a service worker.\n *\n * It also allows you to define a \"default\" handler that applies to any requests\n * that don't explicitly match a `Route`, and a \"catch\" handler that responds\n * to any requests that throw an exception while being routed.\n *\n * You can use the `handleRequest()` method to pass a `FetchEvent` through the\n * router and ultimately get a \"routed response\" back.\n * If you'd like this to be handled automatically for you, calling\n * `addFetchListener()` will cause the `Router` to respond to `fetch` events.\n *\n * If a request matches multiple routes, precedence will be given to the \n * last-registered route.\n *\n * @memberof module:workbox-routing\n *\n * @example\n * // The following example sets up two routes, one to match requests with\n * // \"assets\" in their URL, and the other for requests with \"images\", along\n * // different runtime caching handlers for each.\n * // Both the routes are registered with the router, and any requests that\n * // don't match either route will be handled using the default NetworkFirst\n * // strategy.\n * // \"If a request matches both routes, the last route will be used to handle \n * // the request, in this case, the \"images\" handler would take precedence.\n * const assetRoute = new RegExpRoute({\n * regExp: /assets/,\n * handler: new workbox.runtimeCaching.StaleWhileRevalidate(),\n * });\n * const imageRoute = new RegExpRoute({\n * regExp: /images/,\n * handler: new workbox.runtimeCaching.CacheFirst(),\n * });\n *\n * const router = new workbox.routing.Router();\n * router.addFetchListener();\n * router.registerRoutes({routes: [assetRoute, imageRoute]});\n * router.setDefaultHandler({\n * handler: new workbox.runtimeCaching.NetworkFirst(),\n * });\n */\nclass Router {\n /**\n * Constructs a new `Router` instance, without any registered routes.\n */\n constructor() {\n // _routes will contain a mapping of HTTP method name ('GET', etc.) to an\n // array of all the corresponding Route instances that are registered.\n this._routes = new Map();\n this._isListenerRegistered = false;\n }\n\n /**\n * This will register a `fetch` event listener on your behalf which will check\n * the incoming request to see if there's a matching route, and only respond\n * if there is a match.\n *\n * @example\n * const imageRoute = new RegExpRoute({\n * regExp: /images/,\n * handler: new CacheFirst(),\n * });\n *\n * const router = new Router();\n * router.registerRoute({route: imageRoute});\n * router.addFetchListener();\n *\n * @return {boolean} Returns `true` if this is the first time the method is\n * called and the listener was registered. Returns `false` if called again,\n * as the listener will only be registered once.\n */\n addFetchListener() {\n if (!this._isListenerRegistered) {\n this._isListenerRegistered = true;\n self.addEventListener('fetch', (event) => {\n const responsePromise = this.handleRequest({event});\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n });\n return true;\n } else {\n logHelper.warn({\n that: this,\n message: `addFetchListener() has already been called for this Router.`,\n });\n return false;\n }\n }\n\n /**\n * This can be used to apply the routing rules to generate a response for a\n * given request inside your own `fetch` event handler.\n *\n * @example\n * const imageRoute = new RegExpRoute({\n * regExp: /images/,\n * handler: new CacheFirst(),\n * });\n *\n * const router = new Router();\n * router.registerRoute({route: imageRoute});\n *\n * self.addEventListener('fetch', (event) => {\n * event.waitUntil((async () => {\n * let response = await router.handleRequest({event});\n * // Do something with response, and then eventually respond with it.\n * event.respondWith(response);\n * })());\n * });\n *\n * @param {Object} input\n * @param {FetchEvent} input.event The event passed in to a `fetch` handler.\n * @return {Promise|undefined} Returns a promise for a response,\n * taking the registered routes into account. If there was no matching route\n * and there's no `defaultHandler`, then returns undefined.\n */\n handleRequest({event}) {\n isInstance({event}, FetchEvent);\n const url = new URL(event.request.url);\n if (!url.protocol.startsWith('http')) {\n logHelper.log({\n that: this,\n message: `The URL does not start with HTTP, so it can't be handled.`,\n data: {\n request: event.request,\n },\n });\n return;\n }\n\n let {handler, params} = this._findHandlerAndParams({event, url});\n\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n if (!handler && this.defaultHandler) {\n handler = this.defaultHandler;\n }\n\n if (handler) {\n let responsePromise = handler.handle({url, event, params});\n if (this.catchHandler) {\n responsePromise = responsePromise.catch((error) => {\n return this.catchHandler.handle({url, event, error});\n });\n }\n return responsePromise;\n }\n }\n\n /**\n * Checks the incoming event.request against the registered routes, and if\n * there's a match, returns the corresponding handler along with any params\n * generated by the match.\n *\n * @param {FetchEvent} input.event\n * @param {URL} input.url\n * @return {Object} Returns an object with `handler` and `params` properties.\n * They are populated if a matching route was found or `undefined` otherwise.\n * @private\n */\n _findHandlerAndParams({event, url}) {\n const routes = this._routes.get(event.request.method) || [];\n for (const route of routes) {\n let matchResult = route.match({url, event});\n if (matchResult) {\n logHelper.log({\n that: this,\n message: 'The router found a matching route.',\n data: {\n route,\n request: event.request,\n },\n });\n\n if (Array.isArray(matchResult) && matchResult.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n matchResult = undefined;\n } else if (matchResult.constructor === Object &&\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n matchResult = undefined;\n }\n\n // Break out of the loop and return the appropriate values as soon as\n // we have a match.\n return {\n params: matchResult,\n handler: route.handler,\n };\n }\n }\n\n // If we didn't have a match, then return undefined values.\n return {handler: undefined, params: undefined};\n }\n\n /**\n * An optional `handler` that's called by default when no routes\n * explicitly match the incoming request.\n *\n * If the default is not provided, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @example\n * router.setDefaultHandler({\n * handler: new workbox.runtimeCaching.NetworkFirst()\n * });\n *\n * @param {Object} input\n * @param {function|module:workbox-runtime-caching.Handler} input.handler\n * This parameter can be either a function or an object which is a subclass\n * of `Handler`.\n *\n * Either option should result in a `Response` that the `Route` can use to\n * handle the `fetch` event.\n *\n * See [handlerCallback]{@link module:workbox-routing.Route~handlerCallback}\n * for full details on using a callback function as the `handler`.\n */\n setDefaultHandler({handler} = {}) {\n this.defaultHandler = normalizeHandler(handler);\n }\n\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @example\n * router.setCatchHandler(({event}) => {\n * if (event.request.mode === 'navigate') {\n * return caches.match('/error-page.html');\n * }\n * return Response.error();\n * });\n *\n * @param {Object} input\n * @param {function|module:workbox-runtime-caching.Handler} input.handler\n * This parameter can be either a function or an object which is a subclass\n * of `Handler`.\n *\n * Either option should result in a `Response` that the `Route` can use to\n * handle the `fetch` event.\n *\n * See [handlerCallback]{@link module:workbox-routing.Route~handlerCallback}\n * for full details on using a callback function as the `handler`.\n */\n setCatchHandler({handler} = {}) {\n this.catchHandler = normalizeHandler(handler);\n }\n\n /**\n * Registers an array of routes with the router.\n *\n * @example\n * router.registerRoutes({\n * routes: [\n * new RegExpRoute({ ... }),\n * new ExpressRoute({ ... }),\n * new Route({ ... }),\n * ]\n * });\n *\n * @param {Object} input\n * @param {Array} input.routes An array of\n * routes to register.\n */\n registerRoutes({routes} = {}) {\n isArrayOfClass({routes}, Route);\n\n for (let route of routes) {\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n\n // Give precedence to the most recent route by listing it first.\n this._routes.get(route.method).unshift(route);\n }\n }\n\n /**\n * Registers a single route with the router.\n *\n * @example\n * router.registerRoute({\n * route: new Route({ ... })\n * });\n *\n * @param {Object} input\n * @param {module:workbox-routing.Route} input.route The route to register.\n */\n registerRoute({route} = {}) {\n isInstance({route}, Route);\n\n this.registerRoutes({routes: [route]});\n }\n\n /**\n * Unregisters an array of routes with the router.\n *\n * @example\n * const firstRoute = new RegExpRoute({ ... });\n * const secondRoute = new RegExpRoute({ ... });\n * router.registerRoutes({routes: [firstRoute, secondRoute]});\n *\n * // Later, if you no longer want the routes to be used:\n * router.unregisterRoutes({routes: [firstRoute, secondRoute]});\n *\n * @param {Object} input\n * @param {Array} input.routes An array of\n * routes to unregister.\n */\n unregisterRoutes({routes} = {}) {\n isArrayOfClass({routes}, Route);\n\n for (let route of routes) {\n if (!this._routes.has(route.method)) {\n logHelper.error({\n that: this,\n message: `Can't unregister route; there are no ${route.method}\n routes registered.`,\n data: {route},\n });\n }\n\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n } else {\n logHelper.error({\n that: this,\n message: `Can't unregister route; the route wasn't previously\n registered.`,\n data: {route},\n });\n }\n }\n }\n\n /**\n * Unregisters a single route with the router.\n *\n * @example\n * const route = new RegExpRoute({ ... });\n * router.registerRoute({route});\n *\n * // Later, if you no longer want the route to be used:\n * router.unregisterRoute({route});\n *\n * @param {Object} input\n * @param {module:workbox-routing.Route} input.route The route to unregister.\n */\n unregisterRoute({route} = {}) {\n isInstance({route}, Route);\n\n this.unregisterRoutes({routes: [route]});\n }\n}\n\nexport default Router;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/* eslint-env browser, serviceworker */\n\nimport {\n Router as SWRoutingRouter,\n ExpressRoute,\n RegExpRoute,\n Route,\n NavigationRoute,\n} from '../../../workbox-routing/src/index.js';\nimport ErrorFactory from './error-factory.js';\n\n/**\n * Adds a friendly API on top of the router from the\n * {@link module:workbox-routing|workbox-routing module}.\n *\n * @example How to define a simple route with caching\n * strategy.\n *\n * const workboxSW = new WorkboxSW();\n * workboxSW.router.registerRoute('/about',\n * workboxSW.strategies.cacheFirst());\n *\n * @example How to define a simple route with custom caching\n * strategy.\n *\n * const workboxSW = new WorkboxSW();\n * workboxSW.router.registerRoute('/about', (args) => {\n * // The requested URL\n * console.log(args.url);\n *\n * // The FetchEvent to handle\n * console.log(args.event);\n *\n * // The parameters from the matching route (Commonly\n * // used with Regex / Express routes).\n * console.log(args.params);\n *\n * // Return a promise that resolves with a Response.\n * return fetch(args.url);\n * }));\n *\n * @memberof module:workbox-sw\n */\nclass Router extends SWRoutingRouter {\n /**\n * Constructs a light wrapper on top of the underlying `Router`.\n * @param {String} revisionedCacheName The cache name used for entries cached\n * via precache().\n * @param {boolean} handleFetch Determines if the router should handle fetch\n * events.\n */\n constructor(revisionedCacheName, handleFetch) {\n super({handleFetch});\n this._revisionedCacheName = revisionedCacheName;\n }\n\n /**\n * @param {String|RegExp|module:workbox-routing.matchCallback} capture\n * The capture for a route can be one of three types:\n * 1. An Express-style route, like `'/path/to/:anything'` for\n * same-origin or `'https://cross-origin.com/path/to/:anything'` for\n * cross-origin routes.\n * 1. A regular expression that will be tested against request URLs. For\n * cross-origin routes, you must use a RegExp that matches the start of the\n * full URL, like `new RegExp('https://cross-origin\\.com/')`.\n * 1. A [function]{@link module:workbox-routing.matchCallback} which is\n * passed the URL and `FetchEvent`, and should returns a truthy value if\n * the route matches.\n * @param {function|module:workbox-runtime-caching.Handler} handler The\n * handler to use to provide a response if the route matches. The handler\n * argument is ignored if you pass in a Route object, otherwise it's required.\n * @param {String} [method] Only match requests that use this HTTP method.\n + Defaults to `'GET'`.\n * @return {module:workbox-routing.Route} The Route object that was\n * registered.\n */\n registerRoute(capture, handler, method = 'GET') {\n if (typeof handler === 'function') {\n handler = {\n handle: handler,\n };\n }\n\n let route;\n if (typeof capture === 'string') {\n if (capture.length === 0) {\n throw ErrorFactory.createError('empty-express-string');\n }\n route = new ExpressRoute({path: capture, handler, method});\n } else if (capture instanceof RegExp) {\n route = new RegExpRoute({regExp: capture, handler, method});\n } else if (typeof capture === 'function') {\n route = new Route({match: capture, handler, method});\n } else {\n throw ErrorFactory.createError('unsupported-route-type');\n }\n\n super.registerRoute({route});\n return route;\n }\n\n /**\n * A shortcut used to register a\n * [NavigationRoute]{@link module:workbox-routing.NavigationRoute} instance\n * that will respond to navigation requests using a cache entry for `url`.\n *\n * This is useful when following the [App Shell pattern](https://developers.google.com/web/fundamentals/architecture/app-shell#example-html-for-appshell),\n * in which the previously cached shell is returned for all navigations.\n *\n * The `url` value should correspond to an entry that's already in the cache,\n * perhaps a URL that is managed by\n * [precache()]{@link module:workbox-sw.WorkboxSW#precache}. Using a URL that\n * isn't already cached will lead to failed navigations.\n *\n * @param {String} url The URL of the already cached HTML resource.\n * @param {Object} [options]\n * @param {Array} [options.blacklist] Defaults to an empty blacklist.\n * @param {Array} [options.whitelist] Defaults to `[/./]`, which will\n * match all request URLs.\n * @param {String} [options.cacheName] The name of the cache which contains\n * the cached response for `url`. Defaults to the name of the cache\n * used by precache().\n */\n registerNavigationRoute(url, options = {}) {\n if (typeof url !== 'string') {\n throw ErrorFactory.createError('navigation-route-url-string');\n }\n\n // Allow folks to explicitly pass in a null/undefined cacheName option if\n // they want that behavior.\n const cacheName = 'cacheName' in options ?\n options.cacheName :\n this._revisionedCacheName;\n\n super.registerRoute({route: new NavigationRoute({\n handler: () => caches.match(url, {cacheName}),\n whitelist: options.whitelist || [/./],\n blacklist: options.blacklist || [],\n })});\n }\n}\n\nexport default Router;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from '../../../../lib/error-factory';\n\nconst errors = {\n 'multiple-cache-will-update-plugins': 'You cannot register more than one ' +\n 'plugin that implements cacheWillUpdate.',\n 'multiple-cached-response-will-be-used-plugins': 'You cannot register more ' +\n 'than one plugin that implements cachedResponseWillBeUsed.',\n 'invalid-response-for-caching': 'The fetched response could not be cached ' +\n 'due to an invalid response code.',\n 'no-response-received': 'No response received; falling back to cache.',\n 'bad-cache-id': `The 'cacheId' parameter must be a string with at least ` +\n `one character.`,\n};\n\nexport default new ErrorFactory(errors);\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport {atLeastOne, isArrayOfType, isType, isInstance} from\n '../../../../lib/assert';\nimport logHelper from '../../../../lib/log-helper.js';\n\n/**\n * Use this plugin to cache responses with certain HTTP status codes or\n * header values.\n *\n * Defining both status codes and headers will cache requests with a matching\n * status code and a matching header.\n *\n * @example\n * new workbox.cacheableResponse.CacheableResponse({\n * statuses: [0, 200, 404],\n * headers: {\n * 'Example-Header-1': 'Header-Value-1'\n * 'Example-Header-2': 'Header-Value-2'\n * }\n * })\n *\n * @memberof module:workbox-cacheable-response\n */\nclass CacheableResponse {\n /**\n * Creates a new `Plugin` instance, which stores configuration and logic\n * to determine whether a `Response` object is cacheable or not.\n *\n * If multiple criteria are present (e.g. both `statuses` and `headers`), then\n * the `Response` needs to meet all of the criteria to be cacheable.\n *\n * @param {Object} input\n * @param {Array} [input.statuses] The status codes that are\n * checked when determining whether a `Response` is cacheable.\n * @param {Object} [input.headers] The header values that are\n * checked when determining whether a `Response` is cacheable.\n */\n constructor({statuses, headers} = {}) {\n atLeastOne({statuses, headers});\n if (statuses !== undefined) {\n isArrayOfType({statuses}, 'number');\n }\n if (headers !== undefined) {\n isType({headers}, 'object');\n }\n\n this.statuses = statuses;\n this.headers = headers;\n }\n\n /**\n * Checks a response to see whether it's cacheable or not, based on the\n * configuration of this object.\n *\n * @param {Object} input\n * @param {Response} input.response The response that might be cached.\n * @param {Request} [input.request] Optionally, the request that led to the\n * response.\n * @return {boolean} `true` if the `Response` is cacheable, based on the\n * configuration of this object, and `false` otherwise.\n */\n isResponseCacheable({request, response} = {}) {\n isInstance({response}, Response);\n\n let cacheable = true;\n\n if (this.statuses) {\n cacheable = this.statuses.includes(response.status);\n }\n\n if (this.headers && cacheable) {\n cacheable = Object.keys(this.headers).some((headerName) => {\n return response.headers.get(headerName) === this.headers[headerName];\n });\n }\n\n if (!cacheable) {\n const data = {response};\n if (this.statuses) {\n data['valid-status-codes'] = JSON.stringify(this.statuses);\n }\n if (this.headers) {\n data['valid-headers'] = JSON.stringify(this.headers);\n }\n if (request) {\n data['request'] = request;\n }\n\n logHelper.debug({\n message: `The response does not meet the criteria for being added to the\n cache.`,\n data,\n });\n }\n\n return cacheable;\n }\n}\n\nexport default CacheableResponse;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport CacheableResponse from './cacheable-response';\n\n/**\n * Use this plugin to cache responses with certain HTTP status codes or\n * header values.\n *\n * Defining both status codes and headers will cache requests with a matching\n * status code and a matching header.\n *\n * This class is meant to be automatically invoked as a plugin to a\n * {@link module:workbox-runtime-caching.RequestWrapper|RequestWrapper}, which\n * is used by the `workbox-sw` and `workbox-runtime-caching` modules.\n *\n * If you would like to use this functionality outside of the `RequestWrapper`\n * context, please use the `CacheableResponse` class directly.\n *\n * @example\n * new workbox.cacheableResponse.CacheableResponsePlugin({\n * statuses: [0, 200, 404],\n * headers: {\n * 'Example-Header-1': 'Header-Value-1'\n * 'Example-Header-2': 'Header-Value-2'\n * }\n * });\n *\n * @memberof module:workbox-cacheable-response\n */\nclass CacheableResponsePlugin extends CacheableResponse {\n /**\n * A \"lifecycle\" callback that will be triggered automatically by the\n * `workbox.runtimeCaching` handlers prior to an entry being added to a cache.\n *\n * @private\n * @param {Object} input\n * @param {Request} input.request The request that led to the response.\n * @param {Response} input.response The response that might be cached.\n * @return {boolean} `true` if the `Response` is cacheable, based on the\n * configuration of this object, and `false` otherwise.\n */\n cacheWillUpdate({request, response} = {}) {\n return this.isResponseCacheable({request, response});\n }\n}\n\nexport default CacheableResponsePlugin;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/**\n * The default cache name, used by\n * {@link module:workbox-runtime-caching.RequestWrapper|RequestWrapper} when\n * there's no name provided.\n *\n * It combines a constant prefix with the service worker `scope`, ensuring\n * that multiple service workers used on the same origin will have\n * different default caches.\n *\n * Calling this method without any parameters will return\n * `workbox-runtime-caching-`.\n *\n * If you pass in a cacheId, it will be prepended, returning:\n * `-workbox-runtime-caching-`.\n *\n * @param {Object} input\n * @param {string} [input.cacheId] This will be prepended to the default cache\n * name.\n * @return {string} Returns the default cache name used based on optional\n * inputs.\n *\n * @memberof module:workbox-runtime-caching\n */\nconst getDefaultCacheName = ({cacheId} = {}) => {\n let cacheName = `workbox-runtime-caching`;\n if (cacheId) {\n cacheName = `${cacheId}-${cacheName}`;\n }\n\n if (self && self.registration) {\n cacheName += `-${self.registration.scope}`;\n }\n\n return cacheName;\n};\n\n/**\n * A list of the callback method names that the RequestWrapper might trigger.\n *\n * @private\n * @type {Array.}\n * @memberof module:workbox-runtime-caching\n */\nconst pluginCallbacks = [\n 'cacheDidUpdate',\n 'cachedResponseWillBeUsed',\n 'cacheWillUpdate',\n 'fetchDidFail',\n 'requestWillFetch',\n];\n\n\nexport {\n getDefaultCacheName,\n pluginCallbacks,\n};\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport {isInstance} from '../../../../lib/assert';\n\n/**\n * Helper method to \"clean\" a redirected response, so that it could be used\n * to fulfill a navigation request.\n * See https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n *\n * @private\n * @param {Object} input\n * @param {Response} input.response The original response. The body will not\n * be consumed.\n * @return {Promise} A clone of the response, with `redirected` false.\n */\nexport default ({response}) => {\n isInstance({response}, Response);\n\n const clonedResponse = response.clone();\n\n // Not all browsers support the Response.body stream, so fall back to reading\n // the entire body into memory as a blob.\n const bodyPromise = 'body' in clonedResponse ?\n Promise.resolve(clonedResponse.body) :\n clonedResponse.blob();\n\n return bodyPromise.then((body) => {\n // new Response() is happy when passed either a stream or a Blob.\n return new Response(body, {\n headers: clonedResponse.headers,\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n });\n });\n};\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from './error-factory';\nimport {isArrayOfType, isType, atLeastOne, isInstance} from\n '../../../../lib/assert';\nimport {CacheableResponsePlugin} from\n '../../../workbox-cacheable-response/src/index';\nimport {pluginCallbacks, getDefaultCacheName} from './constants';\nimport cleanResponseCopy from './clean-response-copy';\n\n/**\n * Called prior to a response being written to the cache. This allows you to\n * prevent the cache from being updated if the response doesn't meet your\n * custom criteria.\n *\n * @example Determines whether a response is cacheable based on\n * whether its Cache-Control header contains the string 'no-cache'.\n *\n * async function cacheWillUpdate({response}) {\n * return !response.headers.get('cache-control').includes('no-cache');\n * }\n *\n * @callback cacheWillUpdate\n * @param {Object} input\n * @param {Request} input.request The original request.\n * @param {Response} input.response The response to the request, based on the\n * configured strategy.\n * @return {Promise} `true` if the response meets your criteria for\n * being added to the appropriate cache, and `false` if it doesn't.\n *\n * @memberof module:workbox-runtime-caching.RequestWrapper\n */\n\n/**\n * Called after a response has been written to the cache.\n *\n * @example Logs a message when the cache has been updated.\n *\n * async function cacheDidUpdate({cacheName, url}) {\n * console.log(`The entry for ${url} in cache ${cacheName} was updated.`);\n * }\n *\n * @callback cacheDidUpdate\n * @param {Object} input\n * @param {String} input.cacheName The name of the cache that was updated.\n * @param {String} input.url The URL used as a key for the cache.\n * @param {Response|null} input.oldResponse The response that was previously in\n * the cache, prior to the update, or `null` if the cache didn't previously\n * contain an entry for `url`.\n * @param {Response|null} input.newResponse The response that was written to\n * the cache.\n *\n * @memberof module:workbox-runtime-caching.RequestWrapper\n */\n\n/**\n * Called before a previously cached response that has been read from the cache\n * is used. This allows you to modify it or return `null` if it's not valid.\n *\n * @example Returns `null` to indicate that a cached response shouldn't\n * be used if its Date header is too far in the past.\n *\n * async function cachedResponseWillBeUsed({cachedResponse}) {\n * if (cachedResponse) {\n * const dateHeader = cachedResponse.headers.get('date');\n * const date = new Date(dateHeader);\n * if (dateHeader && (Date.now() - date.getTime()) < 1000) {\n * return cachedResponse;\n * }\n * }\n *\n * return null;\n * }\n *\n * @callback cachedResponseWillBeUsed\n * @param {Object} input\n * @param {Request} input.request The original request.\n * @param {Cache} input.cache An open instance of the cache.\n * @param {String} input.cacheName The name corresponding to `cache`.\n * @param {Response|null} input.cachedResponse The response for `request` that's\n * currently in `cache`, or `null` if there isn't currently a response cached.\n * @param {Object} input.matchOptions The\n * [cache match options](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match#Parameters)\n * that were configured when the current `RequestWrapper` was constructed.\n * @return {Promise} The response to be used as the effective\n * cache match. This might be the same response as `cachedResponse`, if it was\n * valid, a modified version of the response, or `null` if there's no valid\n * match.\n *\n * @memberof module:workbox-runtime-caching.RequestWrapper\n */\n\n/**\n * Called prior to a network request being made. This allows you to update the\n * request's URL or headers as appropriate, or just return the original request\n * if there are no modifications needed.\n *\n * @example Appends a URL parameter to all outgoing requests.\n *\n * async function requestWillFetch({request}) {\n * const url = new URL(request.url);\n * url.searchParams.set('from-workbox', 'true');\n * return new Request(url.href, {headers: request.headers});\n * }\n *\n * @callback requestWillFetch\n * @param {Object} input\n * @param {Request} input.request The request that would otherwise have been\n * made against the network.\n * @return {Promise} The request that will be used against the network\n * instead.\n *\n * @memberof module:workbox-runtime-caching.RequestWrapper\n */\n\n/**\n * Called after a network request has failed. This allows you to report the\n * failure, or save a copy of the failed request to be retried later.\n *\n * @example Logs a message when a network request fails.\n *\n * async function fetchDidFail({request}) {\n * const body = await request.text();\n * console.log(`A request for ${request.url} with body ${body} failed.`);\n * }\n *\n * @callback fetchDidFail\n * @param {Object} input\n * @param {Request} input.request A clone of the request that failed. You can\n * consume the request's body if needed.\n *\n * @memberof module:workbox-runtime-caching.RequestWrapper\n */\n\n/**\n * This class is used by the various subclasses of\n * [Handler]{@link module:workbox-runtime-caching.Handler} to configure the\n * cache name and any desired plugins, which is to say classes that implement\n * request lifecycle callbacks.\n *\n * It automatically triggers any registered callbacks at the appropriate time.\n *\n * @memberof module:workbox-runtime-caching\n */\nclass RequestWrapper {\n /**\n * Constructor for RequestWrapper.\n * @param {Object} input\n * @param {string} [input.cacheName] The name of the cache to use for Handlers\n * that involve caching. If none is provided, a default name that\n * includes the current service worker scope will be used.\n * @param {Array.} [input.plugins] Any plugins that should be\n * invoked.\n * @param {Object} [input.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalFetch/fetch#Parameters)\n * of all `fetch()` requests made by this wrapper.\n * @param {Object} [input.matchOptions] Values passed along to the\n * [`options`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match#Parameters)\n * of all cache `match()` requests made by this wrapper.\n */\n constructor({cacheName, cacheId, plugins, fetchOptions, matchOptions} = {}) {\n if (cacheId && (typeof cacheId !== 'string' || cacheId.length === 0)) {\n throw ErrorFactory.createError('bad-cache-id');\n }\n\n if (cacheName) {\n isType({cacheName}, 'string');\n this.cacheName = cacheName;\n if (cacheId) {\n this.cacheName = `${cacheId}-${this.cacheName}`;\n }\n } else {\n this.cacheName = getDefaultCacheName({cacheId});\n }\n\n if (fetchOptions) {\n isType({fetchOptions}, 'object');\n this.fetchOptions = fetchOptions;\n }\n\n if (matchOptions) {\n isType({matchOptions}, 'object');\n this.matchOptions = matchOptions;\n }\n\n this.plugins = new Map();\n\n if (plugins) {\n isArrayOfType({plugins}, 'object');\n\n plugins.forEach((plugin) => {\n for (let callbackName of pluginCallbacks) {\n if (typeof plugin[callbackName] === 'function') {\n if (!this.plugins.has(callbackName)) {\n this.plugins.set(callbackName, []);\n } else if (callbackName === 'cacheWillUpdate') {\n throw ErrorFactory.createError(\n 'multiple-cache-will-update-plugins');\n } else if (callbackName === 'cachedResponseWillBeUsed') {\n throw ErrorFactory.createError(\n 'multiple-cached-response-will-be-used-plugins');\n }\n this.plugins.get(callbackName).push(plugin);\n }\n }\n });\n }\n\n if (this.plugins.has('cacheWillUpdate')) {\n this._userSpecifiedCachableResponsePlugin =\n this.plugins.get('cacheWillUpdate')[0];\n }\n }\n\n\n /**\n * @private\n * @return {function} The default plugin used to determine whether a\n * response is cacheable.\n */\n getDefaultCacheableResponsePlugin() {\n // Lazy-construct the CacheableResponsePlugin instance.\n if (!this._defaultCacheableResponsePlugin) {\n this._defaultCacheableResponsePlugin =\n new CacheableResponsePlugin({statuses: [200]});\n }\n return this._defaultCacheableResponsePlugin;\n }\n\n /**\n * Opens a cache and maintains a reference to that cache\n * for future use.\n *\n * @example\n * requestWrapper.getCache()\n * .then((openCache) => {\n * ...\n * });\n *\n * @return {Promise} An open `Cache` instance based on the configured\n * `cacheName`.\n */\n async getCache() {\n if (!this._cache) {\n this._cache = await caches.open(this.cacheName);\n }\n return this._cache;\n }\n\n /**\n * Wraps `cache.match()`, using the previously configured cache name and match\n * options.\n *\n * @example\n * requestWrapper.match({event.request})\n * .then((response) => {\n * if (!response) {\n * // No response in cache.\n * return;\n * }\n * ...\n * });\n *\n * @param {Object} input\n * @param {Request|string} input.request The key for the cache lookup.\n * @return {Promise.} The cached response.\n */\n async match({request}) {\n atLeastOne({request});\n\n const cache = await this.getCache();\n let cachedResponse = await cache.match(request, this.matchOptions);\n\n if (this.plugins.has('cachedResponseWillBeUsed')) {\n const plugin = this.plugins.get('cachedResponseWillBeUsed')[0];\n cachedResponse = await plugin.cachedResponseWillBeUsed({\n request, cache, cachedResponse,\n matchOptions: this.matchOptions, cacheName: this.cacheName,\n });\n }\n\n return cachedResponse;\n }\n\n /**\n * Wraps `fetch()`, calls all `requestWillFetch` before making the network\n * request, and calls any `fetchDidFail` callbacks from the\n * registered plugins if the request fails.\n *\n * @example\n * requestWrapper.fetch({\n * request: event.request\n * })\n * .then((response) => {\n * ...\n * })\n * .catch((err) => {\n * ...\n * });\n *\n * @param {Object} input\n * @param {Request|string} input.request The request or URL to be fetched.\n * @return {Promise.} The network response.\n */\n async fetch({request}) {\n if (typeof request === 'string') {\n request = new Request(request);\n } else {\n isInstance({request}, Request);\n }\n\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const clonedRequest = this.plugins.has('fetchDidFail') ?\n request.clone() : null;\n\n if (this.plugins.has('requestWillFetch')) {\n for (let plugin of this.plugins.get('requestWillFetch')) {\n const returnedRequest = await plugin.requestWillFetch({request});\n isInstance({returnedRequest}, Request);\n request = returnedRequest;\n }\n }\n\n try {\n return await fetch(request, this.fetchOptions);\n } catch (err) {\n if (this.plugins.has('fetchDidFail')) {\n for (let plugin of this.plugins.get('fetchDidFail')) {\n await plugin.fetchDidFail({request: clonedRequest.clone()});\n }\n }\n\n throw err;\n }\n }\n\n /**\n * Combines both fetching and caching using the previously configured options\n * and calling the appropriate plugins.\n *\n * By default, responses with a status of [2xx](https://fetch.spec.whatwg.org/#ok-status)\n * will be considered valid and cacheable, but this could be overridden by\n * configuring one or more plugins that implement the `cacheWillUpdate`\n * lifecycle callback.\n *\n * @example\n * requestWrapper.fetchAndCache({\n * request: event.request\n * })\n * .then((response) => {\n * ...\n * })\n * .catch((err) => {\n * ...\n * });\n *\n * @param {Object} input\n * @param {Request} input.request The request to fetch.\n * @param {boolean} [input.waitOnCache] `true` means the method should wait\n * for the cache.put() to complete before returning. The default value\n * of `false` means return without waiting. It this value is true\n * and the response can't be cached, an error will be thrown.\n * @param {Request} [input.cacheKey] Supply a cacheKey if you wish to cache\n * the response against an alternative request to the `request`\n * argument.\n * @param {function} [input.cacheResponsePlugin] Allows the\n * caller to override the default check for cacheability, for\n * situations in which the cacheability check wasn't explicitly\n * configured when constructing the `RequestWrapper`.\n * @param {boolean} [input.cleanRedirects] If true, a \"clean\" copy of any\n * redirected responses will be added to the cache, since redirected responses\n * [can't be used](https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1)\n * to satisfy navigation requests. Defaults to false.\n * @return {Promise.} The network response.\n */\n async fetchAndCache(\n {request, waitOnCache, cacheKey, cacheResponsePlugin, cleanRedirects}) {\n atLeastOne({request});\n\n let cachingComplete;\n const response = await this.fetch({request});\n\n // We need flexibility in determining whether a given response should\n // be added to the cache. There are several possible ways that this logic\n // might be specified, and they're given the following precedence:\n // 1. Passing in a `CacheableResponsePlugin` to the `RequestWrapper`\n // constructor, which sets this._userSpecifiedCachableResponsePlugin.\n // 2. Passing in a parameter to the fetchAndCache() method (done by certain\n // runtime handlers, like `StaleWhileRevalidate`), which sets\n // cacheResponsePlugin.\n // 3. The default that applies to anything using the `RequestWrapper` class\n // that doesn't specify the custom behavior, which is accessed via\n // the this.getDefaultCacheableResponsePlugin().\n const effectiveCacheableResponsePlugin =\n this._userSpecifiedCachableResponsePlugin ||\n cacheResponsePlugin ||\n this.getDefaultCacheableResponsePlugin();\n\n // Whichever plugin we've decided is appropriate, we now call its\n // cacheWillUpdate() method to determine cacheability of the response.\n const cacheable = await effectiveCacheableResponsePlugin.cacheWillUpdate(\n {request, response});\n\n if (cacheable) {\n // If cleanRedirects is set and this is a redirected response, then\n // get a \"clean\" copy to add to the cache.\n const newResponse = cleanRedirects && response.redirected ?\n await cleanResponseCopy({response}) :\n response.clone();\n\n // cachingComplete is a promise that may or may not be used to delay the\n // completion of this method, depending on the value of `waitOnCache`.\n cachingComplete = this.getCache().then(async (cache) => {\n let oldResponse;\n const cacheRequest = cacheKey || request;\n\n // Only bother getting the old response if the new response isn't opaque\n // and there's at least one cacheDidUpdate plugin. Otherwise, we don't\n // need it.\n if (response.type !== 'opaque' &&\n this.plugins.has('cacheDidUpdate')) {\n oldResponse = await this.match({request: cacheRequest});\n }\n\n // Regardless of whether or not we'll end up invoking\n // cacheDidUpdate, wait until the cache is updated.\n await cache.put(cacheRequest, newResponse);\n\n if (this.plugins.has('cacheDidUpdate')) {\n for (let plugin of this.plugins.get('cacheDidUpdate')) {\n await plugin.cacheDidUpdate({\n cacheName: this.cacheName,\n oldResponse,\n newResponse,\n // cacheRequest may be a Request with a url property, or a string.\n url: ('url' in cacheRequest) ? cacheRequest.url : cacheRequest,\n });\n }\n }\n });\n } else if (!cacheable && waitOnCache) {\n // If the developer requested to wait on the cache but the response\n // isn't cacheable, throw an error.\n throw ErrorFactory.createError('invalid-response-for-caching');\n }\n\n // Only conditionally await the caching completion, giving developers the\n // option of returning early for, e.g., read-through-caching scenarios.\n if (waitOnCache && cachingComplete) {\n await cachingComplete;\n }\n\n return response;\n }\n}\n\nexport default RequestWrapper;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport RequestWrapper from './request-wrapper';\n\n/**\n * This a base class which each caching strategy extends.\n *\n * @memberof module:workbox-runtime-caching\n */\nclass Handler {\n /**\n * Constructor for a new Handler instance.\n *\n * @param {Object} input\n * @param {boolean} [input.waitOnCache] For handlers that write to the cache,\n * `true` means the method should wait for the `cache.put()` call to\n * complete before returning. The default value of `false` means\n * return without waiting. It this value is true and the response\n * can't be cached, an error will be thrown.\n * @param {module:workbox-runtime-caching.RequestWrapper}\n * [input.requestWrapper] An optional `RequestWrapper` that is used to\n * configure the cache name and request plugins. If not provided, a\n * new `RequestWrapper` using the [default cache name](#getDefaultCacheName)\n * will be used.\n */\n constructor({requestWrapper, waitOnCache} = {}) {\n if (requestWrapper) {\n this.requestWrapper = requestWrapper;\n } else {\n this.requestWrapper = new RequestWrapper();\n }\n\n this.waitOnCache = Boolean(waitOnCache);\n }\n\n /**\n * An abstract method that each subclass must implement.\n *\n * @abstract\n * @param {Object} input\n * @param {FetchEvent} input.event The event that triggered the service\n * worker's fetch handler.\n * @param {Object} [input.params] Additional parameters that might be passed\n * in to the method. If used in conjunction with the\n * {@link module:workbox-routing.Route|Route} class, then the return\n * value from the `match` function in the Route constructor\n * will be passed in as the `params` value.\n * @return {Promise.} A promise resolving with a response.\n */\n handle({event, params} = {}) {\n throw Error('This abstract method must be implemented in a subclass.');\n }\n}\n\nexport default Handler;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport Handler from './handler';\nimport {isInstance} from '../../../../lib/assert';\n\n/**\n * An implementation of a [cache-first](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#cache-falling-back-to-network)\n * request strategy.\n *\n * The important thing to note with this caching strategy is that once a\n * response is cached, it will not be updated. This is useful for assets\n * that are revisioned since it caches the asset long term and doesn't waste\n * the user's data.\n *\n * @example\n * // Set up a route to match any requests made for URLs that end in .txt.\n * // The requests are handled with a cache-first strategy.\n * const route = new workbox.routing.RegExpRoute({\n * regExp: /\\.txt$/,\n * handler: new workbox.runtimeCaching.CacheFirst(),\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @memberof module:workbox-runtime-caching\n * @extends module:workbox-runtime-caching.Handler\n */\nclass CacheFirst extends Handler {\n /**\n * The handle method will be called by the\n * {@link module:workbox-routing.Route|Route} class when a route matches a\n * request.\n *\n * @param {Object} input\n * @param {FetchEvent} input.event The event that triggered the service\n * worker's fetch handler.\n * @return {Promise.} The response, either from the cache,\n * or if that isn't available, the request will be made on the\n * the network and the result will be cached for future use.\n */\n async handle({event} = {}) {\n isInstance({event}, FetchEvent);\n\n const cachedResponse = await this.requestWrapper.match({\n request: event.request,\n });\n\n return cachedResponse || await this.requestWrapper.fetchAndCache({\n request: event.request,\n waitOnCache: this.waitOnCache,\n });\n }\n}\n\nexport default CacheFirst;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport Handler from './handler';\nimport {isInstance} from '../../../../lib/assert';\n\n/**\n * An implementation of a [cache-only](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#cache-only)\n * request strategy.\n *\n * The advantage to using this versus directly calling `caches.match()` is that\n * it will use the cache configuration and trigger the plugins defined in\n * the underlying `RequestWrapper` which accounts for behaviors like cache\n * expiration.\n *\n * @example\n * // Set up a route to match any requests made for URLs that end in .txt.\n * // The requests are handled with a cache-only strategy.\n * const route = new workbox.routing.RegExpRoute({\n * regExp: /\\.txt$/,\n * handler: new workbox.runtimeCaching.CacheOnly(),\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @memberof module:workbox-runtime-caching\n * @extends module:workbox-runtime-caching.Handler\n */\nclass CacheOnly extends Handler {\n /**\n * The handle method will be called by the\n * {@link module:workbox-routing.Route|Route} class when a route matches a\n * request.\n *\n * @param {Object} input\n * @param {FetchEvent} input.event The event that triggered the service\n * worker's fetch handler.\n * @return {Promise.} The response from the cache or null.\n */\n async handle({event} = {}) {\n isInstance({event}, FetchEvent);\n\n return await this.requestWrapper.match({request: event.request});\n }\n}\n\nexport default CacheOnly;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport {CacheableResponsePlugin} from\n '../../../workbox-cacheable-response/src/index';\nimport ErrorFactory from './error-factory';\nimport Handler from './handler';\nimport {isType, isInstance} from '../../../../lib/assert';\n\n/**\n * An implementation of a [network first](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#network-falling-back-to-cache)\n * request strategy.\n *\n * By default, `NetworkFirst` will cache responses with a 200 status code as\n * well as [opaque responses](http://stackoverflow.com/q/39109789)\n * (responses from cross-origin servers which don't support\n * [CORS](https://enable-cors.org/)). You can override this default by passing\n * in a `RequestWrapper` that includes an appropriately-configured\n * `CacheableResponsePlugin`.\n *\n * @example\n * // Set up a route to match any requests made for URLs that end in .txt.\n * // The requests are handled with a network-first strategy.\n * const route = new workbox.routing.RegExpRoute({\n * regExp: /\\.txt$/,\n * handler: new workbox.runtimeCaching.NetworkFirst(),\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @memberof module:workbox-runtime-caching\n * @extends module:workbox-runtime-caching.Handler\n */\nclass NetworkFirst extends Handler {\n /**\n * Constructor for a new NetworkFirst instance.\n *\n * @param {Object} input\n * @param {number} [input.networkTimeoutSeconds] If set, and a valid network\n * response isn't returned, then the cached response\n * will be returned instead. If there is no previously cached response,\n * then an `null` response will be returned. This option is meant to\n * combat \"[lie-fi](https://developers.google.com/web/fundamentals/performance/poor-connectivity/#lie-fi)\"\n * scenarios.\n * @param {RequestWrapper} [input.requestWrapper] An optional `RequestWrapper`\n * that is used to configure the cache name and request plugins. If\n * not provided, a new `RequestWrapper` using the\n * [default cache name](#getDefaultCacheName) will be used.\n */\n constructor(input = {}) {\n super(input);\n\n this._cacheablePlugin = new CacheableResponsePlugin({statuses: [0, 200]});\n\n const {networkTimeoutSeconds} = input;\n if (networkTimeoutSeconds) {\n isType({networkTimeoutSeconds}, 'number');\n this.networkTimeoutSeconds = networkTimeoutSeconds;\n }\n }\n\n /**\n * The handle method will be called by the\n * {@link module:workbox-routing.Route|Route} class when a route matches a\n * request.\n *\n * @param {Object} input\n * @param {FetchEvent} input.event The event that triggered the service\n * worker's fetch handler.\n * @return {Promise.} The response from the network, or if that's\n * not available, a previously cached response.\n */\n async handle({event} = {}) {\n isInstance({event}, FetchEvent);\n\n const promises = [];\n let timeoutId;\n\n if (this.networkTimeoutSeconds) {\n promises.push(new Promise((resolve) => {\n timeoutId = setTimeout(() => {\n resolve(this.requestWrapper.match({request: event.request}));\n }, this.networkTimeoutSeconds * 1000);\n }));\n }\n\n const networkPromise = this.requestWrapper.fetchAndCache({\n request: event.request,\n waitOnCache: this.waitOnCache,\n cacheResponsePlugin: this._cacheablePlugin,\n }).then((response) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n return response ?\n response :\n Promise.reject(ErrorFactory.createError('no-response-received'));\n }).catch(() => this.requestWrapper.match({request: event.request}));\n\n promises.push(networkPromise);\n\n return Promise.race(promises);\n }\n}\n\nexport default NetworkFirst;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport Handler from './handler';\nimport {isInstance} from '../../../../lib/assert';\n\n/**\n * An implementation of a [network-only](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#network-only)\n * request strategy.\n *\n * The advantage to using this versus directly calling `fetch()` is that it will\n * trigger the plugins defined in the underlying `RequestWrapper`.\n *\n *\n * @example\n * // Set up a route to match any requests made for URLs that end in .txt.\n * // The requests are handled with a network-only strategy.\n * const route = new workbox.routing.RegExpRoute({\n * regExp: /\\.txt$/,\n * handler: new workbox.runtimeCaching.NetworkOnly(),\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @memberof module:workbox-runtime-caching\n * @extends module:workbox-runtime-caching.Handler\n */\nclass NetworkOnly extends Handler {\n /**\n * The handle method will be called by the\n * {@link module:workbox-routing.Route|Route} class when a route matches a\n * request.\n *\n * @param {Object} input\n * @param {FetchEvent} input.event The event that triggered the service\n * worker's fetch handler.\n * @return {Promise.} The response from the network.\n */\n async handle({event} = {}) {\n isInstance({event}, FetchEvent);\n\n return await this.requestWrapper.fetch({request: event.request});\n }\n}\n\nexport default NetworkOnly;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport {CacheableResponsePlugin} from\n '../../../workbox-cacheable-response/src/index';\nimport Handler from './handler';\nimport {isInstance} from '../../../../lib/assert';\n\n/**\n * An implementation of a [stale-while-revalidate](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#stale-while-revalidate)\n * request strategy.\n *\n * Resources are requested from both the cache and the network in parallel, then\n * responds with the cached version. The cache is replaced with whatever returns\n * from the network. In addition to updating the appropriate caches, it will\n * also trigger any appropriate plugins defined in the underlying\n * `RequestWrapper`.\n *\n * By default, `StaleWhileRevalidate` will cache responses with a 200 status\n * code as well as [opaque responses](http://stackoverflow.com/q/39109789)\n * (responses from cross-origin servers which don't support\n * [CORS](https://enable-cors.org/)). You can override this default by passing\n * in a `RequestWrapper` that includes an appropriately-configured\n * `CacheableResponsePlugin`.\n *\n * @example\n * // Set up a route to match any requests made for URLs that end in .txt.\n * // The requests are handled with a stale-while-revalidate strategy.\n * const route = new workbox.routing.RegExpRoute({\n * regExp: /\\.txt$/,\n * handler: new workbox.runtimeCaching.StaleWhileRevalidate(),\n * });\n *\n * const router = new workbox.routing.Router();\n * router.registerRoute({route});\n *\n * @memberof module:workbox-runtime-caching\n * @extends module:workbox-runtime-caching.Handler\n */\nclass StaleWhileRevalidate extends Handler {\n /**\n * Constructor for a new StaleWhileRevalidate instance.\n *\n * @param {Object} input\n * @param {\n * module:workbox-runtime-caching.RequestWrapper} [input.requestWrapper]\n * An optional `RequestWrapper` that is used to\n * configure the cache name and request plugins. If\n * not provided, a new `RequestWrapper` using the\n * [default cache name](#defaultCacheName) will be used.\n */\n constructor(input = {}) {\n super(input);\n\n this._cacheablePlugin = new CacheableResponsePlugin({statuses: [0, 200]});\n }\n\n /**\n * The handle method will be called by the\n * {@link module:workbox-routing.Route|Route} class when a route matches a\n * request.\n *\n * @param {Object} input\n * @param {FetchEvent} input.event The event that triggered the service\n * worker's fetch handler.\n * @return {Promise.} The response from the cache, if present, or\n * from the network if not.\n */\n async handle({event} = {}) {\n isInstance({event}, FetchEvent);\n\n const fetchAndCacheResponse = this.requestWrapper.fetchAndCache({\n request: event.request,\n waitOnCache: this.waitOnCache,\n cacheResponsePlugin: this._cacheablePlugin,\n }).catch(() => Response.error());\n\n const cachedResponse = await this.requestWrapper.match({\n request: event.request,\n });\n\n return cachedResponse || await fetchAndCacheResponse;\n }\n}\n\nexport default StaleWhileRevalidate;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nlet tmpIdbName = `workbox-cache-expiration`;\nif (self && self.registration) {\n tmpIdbName += `-${self.registration.scope}`;\n}\nexport const idbName = tmpIdbName;\nexport const idbVersion = 1;\nexport const urlPropertyName = 'url';\nexport const timestampPropertyName = 'timestamp';\n","'use strict';\n\n(function() {\n function toArray(arr) {\n return Array.prototype.slice.call(arr);\n }\n\n function promisifyRequest(request) {\n return new Promise(function(resolve, reject) {\n request.onsuccess = function() {\n resolve(request.result);\n };\n\n request.onerror = function() {\n reject(request.error);\n };\n });\n }\n\n function promisifyRequestCall(obj, method, args) {\n var request;\n var p = new Promise(function(resolve, reject) {\n request = obj[method].apply(obj, args);\n promisifyRequest(request).then(resolve, reject);\n });\n\n p.request = request;\n return p;\n }\n\n function promisifyCursorRequestCall(obj, method, args) {\n var p = promisifyRequestCall(obj, method, args);\n return p.then(function(value) {\n if (!value) return;\n return new Cursor(value, p.request);\n });\n }\n\n function proxyProperties(ProxyClass, targetProp, properties) {\n properties.forEach(function(prop) {\n Object.defineProperty(ProxyClass.prototype, prop, {\n get: function() {\n return this[targetProp][prop];\n },\n set: function(val) {\n this[targetProp][prop] = val;\n }\n });\n });\n }\n\n function proxyRequestMethods(ProxyClass, targetProp, Constructor, properties) {\n properties.forEach(function(prop) {\n if (!(prop in Constructor.prototype)) return;\n ProxyClass.prototype[prop] = function() {\n return promisifyRequestCall(this[targetProp], prop, arguments);\n };\n });\n }\n\n function proxyMethods(ProxyClass, targetProp, Constructor, properties) {\n properties.forEach(function(prop) {\n if (!(prop in Constructor.prototype)) return;\n ProxyClass.prototype[prop] = function() {\n return this[targetProp][prop].apply(this[targetProp], arguments);\n };\n });\n }\n\n function proxyCursorRequestMethods(ProxyClass, targetProp, Constructor, properties) {\n properties.forEach(function(prop) {\n if (!(prop in Constructor.prototype)) return;\n ProxyClass.prototype[prop] = function() {\n return promisifyCursorRequestCall(this[targetProp], prop, arguments);\n };\n });\n }\n\n function Index(index) {\n this._index = index;\n }\n\n proxyProperties(Index, '_index', [\n 'name',\n 'keyPath',\n 'multiEntry',\n 'unique'\n ]);\n\n proxyRequestMethods(Index, '_index', IDBIndex, [\n 'get',\n 'getKey',\n 'getAll',\n 'getAllKeys',\n 'count'\n ]);\n\n proxyCursorRequestMethods(Index, '_index', IDBIndex, [\n 'openCursor',\n 'openKeyCursor'\n ]);\n\n function Cursor(cursor, request) {\n this._cursor = cursor;\n this._request = request;\n }\n\n proxyProperties(Cursor, '_cursor', [\n 'direction',\n 'key',\n 'primaryKey',\n 'value'\n ]);\n\n proxyRequestMethods(Cursor, '_cursor', IDBCursor, [\n 'update',\n 'delete'\n ]);\n\n // proxy 'next' methods\n ['advance', 'continue', 'continuePrimaryKey'].forEach(function(methodName) {\n if (!(methodName in IDBCursor.prototype)) return;\n Cursor.prototype[methodName] = function() {\n var cursor = this;\n var args = arguments;\n return Promise.resolve().then(function() {\n cursor._cursor[methodName].apply(cursor._cursor, args);\n return promisifyRequest(cursor._request).then(function(value) {\n if (!value) return;\n return new Cursor(value, cursor._request);\n });\n });\n };\n });\n\n function ObjectStore(store) {\n this._store = store;\n }\n\n ObjectStore.prototype.createIndex = function() {\n return new Index(this._store.createIndex.apply(this._store, arguments));\n };\n\n ObjectStore.prototype.index = function() {\n return new Index(this._store.index.apply(this._store, arguments));\n };\n\n proxyProperties(ObjectStore, '_store', [\n 'name',\n 'keyPath',\n 'indexNames',\n 'autoIncrement'\n ]);\n\n proxyRequestMethods(ObjectStore, '_store', IDBObjectStore, [\n 'put',\n 'add',\n 'delete',\n 'clear',\n 'get',\n 'getAll',\n 'getKey',\n 'getAllKeys',\n 'count'\n ]);\n\n proxyCursorRequestMethods(ObjectStore, '_store', IDBObjectStore, [\n 'openCursor',\n 'openKeyCursor'\n ]);\n\n proxyMethods(ObjectStore, '_store', IDBObjectStore, [\n 'deleteIndex'\n ]);\n\n function Transaction(idbTransaction) {\n this._tx = idbTransaction;\n this.complete = new Promise(function(resolve, reject) {\n idbTransaction.oncomplete = function() {\n resolve();\n };\n idbTransaction.onerror = function() {\n reject(idbTransaction.error);\n };\n idbTransaction.onabort = function() {\n reject(idbTransaction.error);\n };\n });\n }\n\n Transaction.prototype.objectStore = function() {\n return new ObjectStore(this._tx.objectStore.apply(this._tx, arguments));\n };\n\n proxyProperties(Transaction, '_tx', [\n 'objectStoreNames',\n 'mode'\n ]);\n\n proxyMethods(Transaction, '_tx', IDBTransaction, [\n 'abort'\n ]);\n\n function UpgradeDB(db, oldVersion, transaction) {\n this._db = db;\n this.oldVersion = oldVersion;\n this.transaction = new Transaction(transaction);\n }\n\n UpgradeDB.prototype.createObjectStore = function() {\n return new ObjectStore(this._db.createObjectStore.apply(this._db, arguments));\n };\n\n proxyProperties(UpgradeDB, '_db', [\n 'name',\n 'version',\n 'objectStoreNames'\n ]);\n\n proxyMethods(UpgradeDB, '_db', IDBDatabase, [\n 'deleteObjectStore',\n 'close'\n ]);\n\n function DB(db) {\n this._db = db;\n }\n\n DB.prototype.transaction = function() {\n return new Transaction(this._db.transaction.apply(this._db, arguments));\n };\n\n proxyProperties(DB, '_db', [\n 'name',\n 'version',\n 'objectStoreNames'\n ]);\n\n proxyMethods(DB, '_db', IDBDatabase, [\n 'close'\n ]);\n\n // Add cursor iterators\n // TODO: remove this once browsers do the right thing with promises\n ['openCursor', 'openKeyCursor'].forEach(function(funcName) {\n [ObjectStore, Index].forEach(function(Constructor) {\n Constructor.prototype[funcName.replace('open', 'iterate')] = function() {\n var args = toArray(arguments);\n var callback = args[args.length - 1];\n var nativeObject = this._store || this._index;\n var request = nativeObject[funcName].apply(nativeObject, args.slice(0, -1));\n request.onsuccess = function() {\n callback(request.result);\n };\n };\n });\n });\n\n // polyfill getAll\n [Index, ObjectStore].forEach(function(Constructor) {\n if (Constructor.prototype.getAll) return;\n Constructor.prototype.getAll = function(query, count) {\n var instance = this;\n var items = [];\n\n return new Promise(function(resolve) {\n instance.iterateCursor(query, function(cursor) {\n if (!cursor) {\n resolve(items);\n return;\n }\n items.push(cursor.value);\n\n if (count !== undefined && items.length == count) {\n resolve(items);\n return;\n }\n cursor.continue();\n });\n });\n };\n });\n\n var exp = {\n open: function(name, version, upgradeCallback) {\n var p = promisifyRequestCall(indexedDB, 'open', [name, version]);\n var request = p.request;\n\n request.onupgradeneeded = function(event) {\n if (upgradeCallback) {\n upgradeCallback(new UpgradeDB(request.result, event.oldVersion, request.transaction));\n }\n };\n\n return p.then(function(db) {\n return new DB(db);\n });\n },\n delete: function(name) {\n return promisifyRequestCall(indexedDB, 'deleteDatabase', [name]);\n }\n };\n\n if (typeof module !== 'undefined') {\n module.exports = exp;\n module.exports.default = module.exports;\n }\n else {\n self.idb = exp;\n }\n}());\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from '../../../../lib/error-factory';\n\nconst errors = {\n 'max-entries-or-age-required': `Either the maxEntries or maxAgeSeconds\n parameters (or both) are required when constructing Plugin.`,\n 'max-entries-must-be-number': `The maxEntries parameter to the Plugin\n constructor must either be a number or undefined.`,\n 'max-age-seconds-must-be-number': `The maxAgeSeconds parameter to the Plugin\n constructor must either be a number or undefined.`,\n};\n\nexport default new ErrorFactory(errors);\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport idb from 'idb';\nimport {isType, isInstance, isArrayOfType} from '../../../../lib/assert';\nimport logHelper from '../../../../lib/log-helper';\nimport {\n idbName,\n idbVersion,\n urlPropertyName,\n timestampPropertyName,\n} from './constants';\nimport ErrorFactory from './error-factory';\n\n/**\n * The `CacheExpiration` class allows you define an expiration and / or\n * limit on the responses cached.\n *\n * @example\n * const cacheExpiration = new workbox.cacheExpiration.CacheExpiration({\n * maxEntries: 2,\n * maxAgeSeconds: 10,\n * });\n *\n * @memberof module:workbox-cache-expiration\n */\nclass CacheExpiration {\n /**\n * Creates a new `CacheExpiration` instance, which is used to remove entries\n * from a [`Cache`](https://developer.mozilla.org/en-US/docs/Web/API/Cache)\n * once certain criteria—max number of entries, age of entry, or both—is met.\n *\n * @param {Object} input\n * @param {Number} [input.maxEntries] The maximum number of entries to cache.\n * Entries will be expired using a least recently used (LRU) policy once\n * the cache reaches this threshold.\n * @param {Number} [input.maxAgeSeconds] The maximum age of an entry before\n * it's treated as staled and removed.\n */\n constructor({maxEntries, maxAgeSeconds} = {}) {\n if (!(maxEntries || maxAgeSeconds)) {\n throw ErrorFactory.createError('max-entries-or-age-required');\n }\n\n if (maxEntries && typeof maxEntries !== 'number') {\n throw ErrorFactory.createError('max-entries-must-be-number');\n }\n\n if (maxAgeSeconds && typeof maxAgeSeconds !== 'number') {\n throw ErrorFactory.createError('max-age-seconds-must-be-number');\n }\n\n this.maxEntries = maxEntries;\n this.maxAgeSeconds = maxAgeSeconds;\n\n // These are used to keep track of open IndexDB and Caches for a given name.\n this._dbs = new Map();\n this._caches = new Map();\n\n // This is used to ensure there's one asynchronous expiration operation\n // running at a time.\n this._expirationMutex = false;\n // If another expiration request comes in, the timestamp is saved here and\n // re-run after.\n this._timestampForNextRun = null;\n }\n\n /**\n * Returns a promise for the IndexedDB database used to keep track of state.\n *\n * @private\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the Responses belong to.\n * @return {DB} An open DB instance.\n */\n async getDB({cacheName} = {}) {\n isType({cacheName}, 'string');\n\n const idbId = `${idbName}-${cacheName}`;\n if (!this._dbs.has(idbId)) {\n const openDb = await idb.open(idbId, idbVersion, (upgradeDB) => {\n const objectStore = upgradeDB.createObjectStore(cacheName,\n {keyPath: urlPropertyName});\n objectStore.createIndex(timestampPropertyName, timestampPropertyName,\n {unique: false});\n });\n this._dbs.set(idbId, openDb);\n }\n\n return this._dbs.get(idbId);\n }\n\n /**\n * Returns a promise for an open Cache instance named `cacheName`.\n *\n * @private\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the Responses belong to.\n * @return {Cache} An open Cache instance.\n */\n async getCache({cacheName} = {}) {\n isType({cacheName}, 'string');\n\n if (!this._caches.has(cacheName)) {\n const openCache = await caches.open(cacheName);\n this._caches.set(cacheName, openCache);\n }\n\n return this._caches.get(cacheName);\n }\n\n /**\n * Checks whether a `Response` is \"fresh\", based on the `Response's`\n * `Date` header and the `maxAgeSeconds` parameter passed into the\n * constructor.\n *\n * The general approach is to default to fresh unless proven otherwise.\n *\n * If `maxAgeSeconds` or the `Date` header is not set then it will\n * default to returning `true`, i.e. the response is still fresh and should\n * be used.\n *\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the responses belong to.\n * @param {Response} input.cachedResponse The `Response` object that's been\n * read from a cache and whose freshness should be checked.\n * @param {Number} [input.now] A timestamp.\n *\n * Defaults to the current time.\n * @return {boolean} Either `true` if the response is fresh, or\n * `false` if the `Response` is older than `maxAgeSeconds` and should no\n * longer be used.\n *\n * @example\n * expirationPlugin.isResponseFresh({\n * cachedResponse: responseFromCache\n * });\n */\n isResponseFresh({cacheName, cachedResponse, now} = {}) {\n // Only bother checking for freshness if we have a valid response and if\n // maxAgeSeconds is set.\n if (cachedResponse && this.maxAgeSeconds) {\n isInstance({cachedResponse}, Response);\n\n const dateHeader = cachedResponse.headers.get('date');\n if (dateHeader) {\n if (typeof now === 'undefined') {\n now = Date.now();\n }\n\n const parsedDate = new Date(dateHeader);\n const headerTime = parsedDate.getTime();\n // If the Date header was invalid for some reason, parsedDate.getTime()\n // will return NaN. We want to treat that as a fresh response, since we\n // assume fresh unless proven otherwise.\n if (isNaN(headerTime)) {\n return true;\n }\n\n // If we have a valid headerTime, then our response is fresh iff the\n // headerTime plus maxAgeSeconds is greater than the current time.\n return (headerTime + (this.maxAgeSeconds * 1000)) > now;\n } else {\n // TODO (jeffposnick): Change this method interface to be async, and\n // check for the IDB for the specific URL in order to determine\n // freshness when Date is not available.\n\n // If there is no Date header (i.e. if this is a cross-origin response),\n // then we don't know for sure whether the response is fresh or not.\n // One thing we can do is trigger cache expiration, which will clean up\n // any old responses based on IDB timestamps, and ensure that when a\n // cache-first handler is used, stale responses will eventually be\n // replaced (though not until the *next* request is made).\n // See https://github.com/GoogleChrome/workbox/issues/691\n this.expireEntries({cacheName, now});\n // Return true, since otherwise a cross-origin cached response without\n // a Date header would *never* be considered valid.\n return true;\n }\n }\n\n // If either cachedResponse or maxAgeSeconds wasn't set, then the response\n // is \"trivially\" fresh, so return true.\n return true;\n }\n\n /**\n * Updates the timestamp stored in IndexedDB for `url` to be equal to `now`.\n *\n * When using this class directly (i.e. not via `CacheExpirationPlugin`),\n * it's your responsibility to call `updateTimestap()` each time an entry is\n * put into the cache. Otherwise, the `expireEntries()` method will not\n * know which entries to remove.\n *\n * @example\n * expirationPlugin.updateTimestamp({\n * cacheName: 'example-cache-name',\n * url: '/example-url'\n * });\n *\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the Responses belong to.\n * @param {string} input.url The URL for the entry to update. The hash portion\n * of the URL will be ignored.\n * @param {Number} [input.now] A timestamp. Defaults to the current time.\n */\n async updateTimestamp({cacheName, url, now} = {}) {\n isType({url}, 'string');\n isType({cacheName}, 'string');\n\n // Remove the hash, if present.\n const urlObject = new URL(url, location);\n urlObject.hash = '';\n\n if (typeof now === 'undefined') {\n now = Date.now();\n }\n\n const db = await this.getDB({cacheName});\n const tx = db.transaction(cacheName, 'readwrite');\n tx.objectStore(cacheName).put({\n [timestampPropertyName]: now,\n [urlPropertyName]: urlObject.href,\n });\n\n await tx.complete;\n }\n\n /**\n * Expires entries based on the the maximum age and the maximum number\n * of entries defined in the constructor.\n *\n * To avoid concurrency issues, calls to this method when it's already running\n * will result in the call begin re-run after the current execution has\n * finished.\n *\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache to review and expire\n * entries for.\n * @param {Number} [input.now] A timestamp to treat as now. This is largely\n * only useful for testing purposes.\n *\n * Defaults to the current time.\n * @return {Promise} Resolves when the cache expiration has been performed. If\n * the function is currently executing the Promise will resolve immediately.\n *\n * @example\n * // Assume that entries have been added to 'example-cache-name', and that\n * // updateTimestamp() was called after each entry was added.\n * cacheExpiration.expireEntries({\n * cacheName: 'example-cache-name'\n * });\n */\n async expireEntries({cacheName, now} = {}) {\n // Since there's a single shared IDB instance that's queried to find entries\n // to expire, this method doesn't need to run multiple times simultaneously.\n // Use this._expirationMutex as a concurrency lock, and save the last value\n // that it's been called with in this._timestampForNextRun as a signal\n // to run it again once complete.\n if (this._expirationMutex) {\n this._timestampForNextRun = now;\n return;\n }\n this._expirationMutex = true;\n\n isType({cacheName}, 'string');\n\n if (typeof now === 'undefined') {\n now = Date.now();\n }\n\n // First, expire old entries, if maxAgeSeconds is set.\n const oldEntries = this.maxAgeSeconds ?\n await this.findOldEntries({cacheName, now}) :\n [];\n\n // Once that's done, check for the maximum size.\n const extraEntries = this.maxEntries ?\n await this.findExtraEntries({cacheName}) :\n [];\n\n // Use a Set to remove any duplicates following the concatenation, then\n // convert back into an array.\n const urls = [...new Set(oldEntries.concat(extraEntries))];\n await this.deleteFromCacheAndIDB({cacheName, urls});\n\n if (urls.length > 0) {\n logHelper.debug({\n that: this,\n message: 'Expired entries have been removed from the cache.',\n data: {cacheName, urls},\n });\n }\n\n this._expirationMutex = false;\n // If this method has been called while it was already running, then call\n // it again now that the asynchronous operations are complete, using the\n // most recent timestamp that was passed in.\n if (this._timestampForNextRun) {\n const savedTimestamp = this._timestampForNextRun;\n this._timestampForNextRun = null;\n return this.expireEntries({cacheName, now: savedTimestamp});\n }\n }\n\n /**\n * Expires entries based on the the maximum age.\n *\n * @private\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the Responses belong to.\n * @param {Number} [input.now] A timestamp.\n * @return {Array} A list of the URLs that were expired.\n */\n async findOldEntries({cacheName, now} = {}) {\n isType({cacheName}, 'string');\n isType({now}, 'number');\n\n const expireOlderThan = now - (this.maxAgeSeconds * 1000);\n const urls = [];\n const db = await this.getDB({cacheName});\n const tx = db.transaction(cacheName, 'readonly');\n const store = tx.objectStore(cacheName);\n const timestampIndex = store.index(timestampPropertyName);\n\n timestampIndex.iterateCursor((cursor) => {\n if (!cursor) {\n return;\n }\n\n if (cursor.value[timestampPropertyName] < expireOlderThan) {\n urls.push(cursor.value[urlPropertyName]);\n }\n\n cursor.continue();\n });\n\n await tx.complete;\n return urls;\n }\n\n /**\n * Finds the URLs that should be expired as per the current state of IndexedDB\n * and the `maxEntries` configuration. A least-recently used policy is\n * enforced, so if `maxEntries` is `N`, and there are `N + M` URLs listed in\n * IndexedDB, then this function will return the least-recently used `M` URLs.\n *\n * @private\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the Responses belong to.\n * @return {Array} A list of the URLs that are candidates for\n * expiration.\n */\n async findExtraEntries({cacheName} = {}) {\n isType({cacheName}, 'string');\n\n const urls = [];\n const db = await this.getDB({cacheName});\n let tx = db.transaction(cacheName, 'readonly');\n let store = tx.objectStore(cacheName);\n let timestampIndex = store.index(timestampPropertyName);\n const initialCount = await timestampIndex.count();\n\n if (initialCount > this.maxEntries) {\n // We need to create a new transaction to make Firefox happy.\n tx = db.transaction(cacheName, 'readonly');\n store = tx.objectStore(cacheName);\n timestampIndex = store.index(timestampPropertyName);\n\n timestampIndex.iterateCursor((cursor) => {\n if (!cursor) {\n return;\n }\n\n urls.push(cursor.value[urlPropertyName]);\n\n if (initialCount - urls.length > this.maxEntries) {\n cursor.continue();\n }\n });\n }\n\n await tx.complete;\n return urls;\n }\n\n /**\n * Removes entries corresponding to each of the URLs from both the Cache\n * Storage API and from IndexedDB.\n *\n * @private\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the Responses belong to.\n * @param {Array} urls The URLs to delete.\n */\n async deleteFromCacheAndIDB({cacheName, urls} = {}) {\n isType({cacheName}, 'string');\n isArrayOfType({urls}, 'string');\n\n if (urls.length > 0) {\n const cache = await this.getCache({cacheName});\n const db = await this.getDB({cacheName});\n\n for (let url of urls) {\n await cache.delete(url);\n const tx = db.transaction(cacheName, 'readwrite');\n const store = tx.objectStore(cacheName);\n store.delete(url);\n await tx.complete;\n }\n }\n }\n}\n\nexport default CacheExpiration;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport CacheExpiration from './cache-expiration';\nimport {isType, isInstance} from '../../../../lib/assert';\n\n/**\n * The `CacheExpirationPlugin` class allows you define an expiration and / or\n * limit on the responses cached.\n *\n * This class is meant to be automatically invoked as a plugin to a\n * {@link module:workbox-runtime-caching.RequestWrapper|RequestWrapper}, which\n * is used by the `workbox-sw` and `workbox-runtime-caching` modules.\n *\n * If you would like to use this functionality outside of the `RequestWrapper`\n * context, please use the [CacheExpiration]{@link\n * module:workbox-cache-expiration.CacheExpiration} class directly.\n *\n * @example\n * const plugin = new workbox.cacheExpiration.CacheExpirationPlugin({\n * maxEntries: 2,\n * maxAgeSeconds: 10,\n * });\n *\n * @memberof module:workbox-cache-expiration\n */\nclass CacheExpirationPlugin extends CacheExpiration {\n /**\n * A \"lifecycle\" callback that will be triggered automatically by the\n * `workbox.runtimeCaching` handlers when a `Response` is about to be returned\n * from a [Cache](https://developer.mozilla.org/en-US/docs/Web/API/Cache) to\n * the handler. It allows the `Response` to be inspected for freshness and\n * prevents it from being used if the `Response`'s `Date` header value is\n * older than the configured `maxAgeSeconds`.\n *\n * @private\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the responses belong to.\n * @param {Response} input.cachedResponse The `Response` object that's been\n * read from a cache and whose freshness should be checked.\n * @param {Number} [input.now] A timestamp. Defaults to the current time.\n * @return {Response} Either the `cachedResponse`, if it's\n * fresh, or `null` if the `Response` is older than `maxAgeSeconds`.\n */\n cachedResponseWillBeUsed({cacheName, cachedResponse, now} = {}) {\n if (this.isResponseFresh({cacheName, cachedResponse, now})) {\n return cachedResponse;\n }\n\n return null;\n }\n\n /**\n * A \"lifecycle\" callback that will be triggered automatically by the\n * `workbox.runtimeCaching` handlers when an entry is added to a cache.\n *\n * @private\n * @param {Object} input\n * @param {string} input.cacheName Name of the cache the responses belong to.\n * @param {Response} input.newResponse The new value in the cache.\n * @param {string} input.url The URL for the cache entry.\n * @param {Number} [input.now] A timestamp. Defaults to the current time.\n */\n async cacheDidUpdate({cacheName, newResponse, url, now} = {}) {\n isType({cacheName}, 'string');\n isInstance({newResponse}, Response);\n\n if (typeof now === 'undefined') {\n now = Date.now();\n }\n\n await this.updateTimestamp({cacheName, url, now});\n await this.expireEntries({cacheName, now});\n }\n}\n\nexport default CacheExpirationPlugin;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from '../../../../lib/error-factory';\n\nconst errors = {\n 'channel-name-required': `The channelName parameter is required when\n constructing a new BroadcastCacheUpdate instance.`,\n 'responses-are-same-parameters-required': `The first, second, and\n headersToCheck parameters must be valid when calling responsesAreSame()`,\n};\n\nexport default new ErrorFactory(errors);\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/**\n * This is a static variable for the cache updated message type. Useful for\n * comparing to the messages `type` parameter to identify the kind of message.\n *\n * @type {string}\n *\n * @example\n * // Prints 'CACHE_UPDATED'\n * console.log(workbox.broadcastCacheUpdate.cacheUpdatedMessageType);\n *\n * @memberof module:workbox-broadcast-cache-update\n */\nconst cacheUpdatedMessageType = 'CACHE_UPDATED';\n\n/**\n * The default headers to compare when determining whether two `Response`\n * objects are different.\n *\n * @private\n * @type {Array}\n *\n * @memberof module:workbox-broadcast-cache-update\n */\nconst defaultHeadersToCheck = [\n 'content-length',\n 'etag',\n 'last-modified',\n];\n\n/**\n * The value `'workbox-broadcast-cache-update'`, used as the `meta` field of the\n * update message.\n *\n * @private\n * @type {string}\n *\n * @memberof module:workbox-broadcast-cache-update\n */\nconst defaultSource = 'workbox-broadcast-cache-update';\n\nexport {\n cacheUpdatedMessageType,\n defaultHeadersToCheck,\n defaultSource,\n};\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport {isType, isInstance} from '../../../../lib/assert';\nimport {cacheUpdatedMessageType} from './constants';\n\n/**\n * You would not normally call this method directly; it's called automatically\n * by an instance of the {@link BroadcastCacheUpdate} class. It's exposed here\n * for the benefit of developers who would rather not use the full\n * `BroadcastCacheUpdate` implementation.\n *\n * Calling this will dispatch a message on the provided {@link https://developers.google.com/web/updates/2016/09/broadcastchannel|Broadcast Channel}\n * to notify interested subscribers about a change to a cached resource.\n *\n * The message that's posted has a formation inspired by the\n * [Flux standard action](https://github.com/acdlite/flux-standard-action#introduction)\n * format like so:\n *\n * ```\n * {\n * type: 'CACHE_UPDATED',\n * meta: 'workbox-broadcast-cache-update',\n * payload: {\n * cacheName: 'the-cache-name',\n * updatedUrl: 'https://example.com/'\n * }\n * }\n * ```\n *\n * (Usage of [Flux](https://facebook.github.io/flux/) itself is not at\n * all required.)\n *\n * @example\n * workbox.broadcastCacheUpdate.broadcastUpdate({\n * channel: new BroadcastChannel('Channel Name'),\n * cacheName: 'example-cache-name',\n * url: '/',\n * source: 'custom-library'\n * });\n *\n * @private\n * @memberof module:workbox-broadcast-cache-update\n *\n * @param {Object} input\n * @param {BroadcastChannel} input.channel The `BroadcastChannel` to use.\n * @param {string} input.cacheName The name of the cache in which the updated\n * `Response` was stored.\n * @param {string} input.url The URL associated with the updated `Response`.\n * @param {string} input.source A string identifying this library as the source\n * of the update message.\n */\nfunction broadcastUpdate({channel, cacheName, url, source} = {}) {\n isInstance({channel}, BroadcastChannel);\n isType({cacheName}, 'string');\n isType({source}, 'string');\n isType({url}, 'string');\n\n channel.postMessage({\n type: cacheUpdatedMessageType,\n meta: source,\n payload: {\n cacheName: cacheName,\n updatedUrl: url,\n },\n });\n}\n\nexport default broadcastUpdate;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from './error-factory';\nimport logHelper from '../../../../lib/log-helper.js';\n\n/**\n * Given two `Response's`, compares several header values to see if they are\n * the same or not.\n *\n * @example\n * const responseIsSame = responsesAreSame({\n * first: firstResponse,\n * second: secondResponse,\n * headersToCheck: [\n * 'content-length',\n * 'etag',\n * 'last-modified',\n * ]\n * });\n *\n * @private\n * @memberof module:workbox-broadcast-cache-update\n *\n * @param {Object} input\n * @param {Response} input.first One of the `Response`s.\n * @param {Response} input.second Another of the `Response`s.\n * @param {Array} input.headersToCheck A list of headers that will be\n * used to determine whether the `Response`s differ.\n * @return {boolean} Whether or not the `Response` objects are assumed to be\n * the same.\n */\nfunction responsesAreSame({first, second, headersToCheck}={}) {\n if (!(first instanceof Response &&\n second instanceof Response &&\n headersToCheck instanceof Array)) {\n throw ErrorFactory.createError('responses-are-same-parameters-required');\n }\n\n const atLeastOneHeaderAvailable = headersToCheck.some((header) => {\n return first.headers.has(header) && second.headers.has(header);\n });\n if (!atLeastOneHeaderAvailable) {\n logHelper.log({\n message: `Unable to determine whether the response has been updated\n because none of the headers that would be checked are present.`,\n data: {\n 'First Response': first,\n 'Second Response': second,\n 'Headers To Check': JSON.stringify(headersToCheck),\n },\n });\n\n // Just return true, indicating the that responses are the same, since we\n // can't determine otherwise.\n return true;\n }\n\n return headersToCheck.every((header) => {\n return (first.headers.has(header) === second.headers.has(header)) &&\n (first.headers.get(header) === second.headers.get(header));\n });\n}\n\nexport default responsesAreSame;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport ErrorFactory from './error-factory';\nimport {isType} from '../../../../lib/assert';\nimport broadcastUpdate from './broadcast-update';\nimport responsesAreSame from './responses-are-same';\nimport {defaultHeadersToCheck, defaultSource} from './constants';\n\n/**\n * Can be used to compare two [Responses](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n * and uses the {@link https://developers.google.com/web/updates/2016/09/broadcastchannel|Broadcast Channel API}\n * to notify interested parties when those responses differ.\n *\n * For efficiency's sake, the underlying response bodies are not compared;\n * only specific response headers are checked.\n *\n * This class can be used inside any service worker, without having to use any\n * of the other modules in this repo.\n *\n * If you'd like to use this functionality but are already using `workbox-sw` or\n * `workbox-runtime-caching`, please see use the\n * [BroadcastCacheUpdatePlugin]{@link\n * module:workbox-broadcast-cache-update.BroadcastCacheUpdatePlugin}\n * for a easy integration.\n *\n * @example Using BroadcastCacheUpdate to compare a cached and fetched\n * request.\n *\n * const url = '/path/to/file';\n * const cacheName = 'my-runtime-cache';\n *\n * const bcu = new workbox.broadcastCacheUpdate.BroadcastCacheUpdate({\n * channelName: 'cache-updates'\n * });\n *\n * caches.open(cacheName)\n * .then((openCache) => {\n * return Promise.all([\n * cache.match(url),\n * fetch(url)\n * ]);\n * })\n * .then((responses) => {\n * const cachedResponse = responses[0];\n * const fetchedResponse = responses[1];\n * if (cachedResponse) {\n * bcu.notifyIfUpdated({\n * cacheName,\n * cachedResponse,\n * fetchedResponse\n * });\n * }\n * });\n *\n * @memberof module:workbox-broadcast-cache-update\n */\nclass BroadcastCacheUpdate {\n /**\n * Dispatches cache update messages when a cached response has been updated.\n * Messages will be dispatched on a broadcast channel with the name provided\n * as the `channelName` parameter.\n *\n * @param {Object} input\n * @param {string} input.channelName The name that will be used when creating\n * the `BroadcastChannel`.\n * @param {Array} input.headersToCheck A list of headers that will be\n * used to determine whether the responses differ.\n *\n * Defaults to `['content-length', 'etag', 'last-modified']`.\n * @param {string} input.source An attribution value that indicates where\n * the update originated.\n *\n * Defaults to `workbox-broadcast-cache-update`.\n */\n constructor({channelName, headersToCheck, source}={}) {\n if (typeof channelName !== 'string' || channelName.length === 0) {\n throw ErrorFactory.createError('channel-name-required');\n }\n\n this.channelName = channelName;\n this.headersToCheck = headersToCheck || defaultHeadersToCheck;\n this.source = source || defaultSource;\n }\n\n /**\n * @private\n * @return {BroadcastChannel} The underlying\n * [`BroadcastChannel`](https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel/BroadcastChannel)\n * instance used for broadcasting updates.\n */\n get channel() {\n if (!this._channel) {\n this._channel = new BroadcastChannel(this.channelName);\n }\n return this._channel;\n }\n\n /**\n * An explicit method to call from your own code to trigger the comparison of\n * two [Responses](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n * and send a message via the\n * {@link https://developers.google.com/web/updates/2016/09/broadcastchannel|Broadcast Channel API}\n * if they differ.\n *\n * @param {Object} input The input object to this function.\n * @param {Response} input.first One of the responses to compare.\n * This should not be an {@link http://stackoverflow.com/questions/39109789|opaque response}.\n * @param {Response} input.second The response to compare with.\n * This should not be an {@link http://stackoverflow.com/questions/39109789|opaque response}.\n * @param {string} input.cacheName Name of the cache the responses belong to.\n * This is included in the message posted on the broadcast channel.\n * @param {string} input.url The URL of the updates request.\n */\n notifyIfUpdated({first, second, cacheName, url}) {\n isType({cacheName}, 'string');\n\n if (\n !responsesAreSame({first, second, headersToCheck: this.headersToCheck})) {\n broadcastUpdate({cacheName, url,\n channel: this.channel, source: this.source});\n }\n }\n}\n\nexport default BroadcastCacheUpdate;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nimport BroadcastCacheUpdate from './broadcast-cache-update';\nimport {isType, isInstance} from '../../../../lib/assert';\n\n/**\n * Can be used to compare two [Responses](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n * and uses the {@link https://developers.google.com/web/updates/2016/09/broadcastchannel|Broadcast Channel API}\n * to notify interested parties when those responses differ.\n *\n * For efficiency's sake, the underlying response bodies are not compared;\n * only specific response headers are checked.\n *\n * This class is meant to be automatically invoked as a plugin by a\n * {@link module:workbox-runtime-caching.RequestWrapper|RequestWrapper}, which\n * is used by the `workbox-sw` and `workbox-runtime-caching` modules.\n *\n * If you would like to use this functionality outside of the `RequestWrapper`\n * context, please use the\n * [BroadcastCacheUpdate]{@link\n * module:workbox-broadcast-cache-update.BroadcastCacheUpdate}\n * class directly.\n *\n * @example Add a BroadcastCacheUpdatePlugin to a `RequestWrapper` to\n * dispatch messages on a cache update.\n *\n * const requestWrapper = new workbox.runtimeCaching.RequestWrapper({\n * cacheName: 'runtime-cache',\n * plugins: [\n * new workbox.broadcastCacheUpdate.Plugin({channelName: 'cache-updates'})\n * ]\n * });\n * const route = new workbox.routing.RegExpRoute({\n * match: ({url}) => url.domain === 'example.com',\n * handler: new workbox.runtimeCaching.StaleWhileRevalidate({requestWrapper})\n * });\n *\n * @memberof module:workbox-broadcast-cache-update\n */\nclass BroadcastCacheUpdatePlugin extends BroadcastCacheUpdate {\n /**\n * A \"lifecycle\" callback that will be triggered automatically by the\n * `workbox-sw` and `workbox-runtime-caching` handlers when an entry is\n * added to a cache.\n *\n * @private\n * @param {Object} input The input object to this function.\n * @param {string} input.cacheName Name of the cache the responses belong to.\n * @param {Response} [input.oldResponse] The previous cached value, if any.\n * @param {Response} input.newResponse The new value in the cache.\n * @param {string} input.url The cache key URL.\n */\n cacheDidUpdate({cacheName, oldResponse, newResponse, url}) {\n isType({cacheName}, 'string');\n isInstance({newResponse}, Response);\n\n if (oldResponse) {\n this.notifyIfUpdated({\n cacheName,\n first: oldResponse,\n second: newResponse,\n url,\n });\n }\n }\n}\n\nexport default BroadcastCacheUpdatePlugin;\n","import {\n CacheFirst, CacheOnly, NetworkFirst,\n NetworkOnly, StaleWhileRevalidate,\n} from '../../../workbox-runtime-caching/src/index.js';\nimport {CacheExpirationPlugin} from\n '../../../workbox-cache-expiration/src/index.js';\nimport {BroadcastCacheUpdatePlugin} from\n '../../../workbox-broadcast-cache-update/src/index.js';\nimport {CacheableResponsePlugin} from\n '../../../workbox-cacheable-response/src/index.js';\nimport {RequestWrapper} from '../../../workbox-runtime-caching/src/index.js';\n\n/**\n * StrategyOptions is just a JavaScript object, but the structure\n * explains the options for runtime strategies used in workbox-sw.\n *\n * See the example of how this can be used with the `cacheFirst()` caching\n * strategy.\n *\n * @example\n * const workboxSW = new WorkboxSW();\n * const cacheFirstStrategy = workboxSW.strategies.cacheFirst({\n * cacheName: 'example-cache',\n * cacheExpiration: {\n * maxEntries: 10,\n * maxAgeSeconds: 7 * 24 * 60 * 60\n * },\n * broadcastCacheUpdate: {\n * channelName: 'example-channel-name'\n * },\n * cacheableResponse: {\n * statuses: [0, 200, 404],\n * headers: {\n * 'Example-Header-1': 'Header-Value-1',\n * 'Example-Header-2': 'Header-Value-2'\n * }\n * }\n * plugins: [\n * // Additional Plugins\n * ]\n * });\n *\n * @typedef {Object} StrategyOptions\n * @property {String} cacheName Name of cache to use\n * for caching (both lookup and updating).\n * @property {Object} cacheExpiration Defining this\n * object will add a cache expiration plugins to this strategy.\n * @property {Number} cacheExpiration.maxEntries\n * The maximum number of entries to store in a cache.\n * @property {Number} cacheExpiration.maxAgeSeconds\n * The maximum lifetime of a request to stay in the cache before it's removed.\n * @property {Object} broadcastCacheUpdate Defining\n * this object will add a broadcast cache update plugin.\n * @property {String} broadcastCacheUpdate.channelName\n * The name of the broadcast channel to dispatch messages on.\n * @property {Array} plugins For\n * any additional plugins you wish to add, simply include them in this\n * array.\n * @property {Object} cacheableResponse Specifies types of responses to cache\n * by status codes, headers, or both.\n * @property {Array} cacheableResponse.statuses An array of status\n * codes to cache.\n * @property {Array} cacheableResponse.headers An array of\n * header-value pairs for HTTP headers to cache. See the example, above.\n * @memberof module:workbox-sw.Strategies\n */\n\n/**\n * This is a simple class used to namespace the supported caching strategies in\n * workbox-sw.\n *\n * You would never access this class directly but instead use with\n * `workboxSW.strategies.`.\n *\n * @memberof module:workbox-sw\n */\nclass Strategies {\n /**\n * This constructor will configure shared options across each strategy.\n * @param {String} [input.cacheId] The cacheId to be applied to the run\n * time strategies cache names.\n */\n constructor({cacheId} = {}) {\n this._cacheId = cacheId;\n }\n\n /**\n * A [cache first](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#cache-falling-back-to-network)\n * run-time caching strategy.\n *\n * @example\n * const = new WorkboxSW();\n * const cacheFirstStrategy = workboxSW.strategies.cacheFirst();\n *\n * workboxSW.router.registerRoute('/styles/*', cacheFirstStrategy);\n *\n * @param {module:workbox-sw.Strategies.StrategyOptions} [options] To\n * define any additional caching or broadcast plugins pass in option values.\n * @return {module:workbox-runtime-caching.CacheFirst} An instance of a\n * `CacheFirst` handler.\n */\n cacheFirst(options) {\n return this._getCachingMechanism(CacheFirst, options);\n }\n\n /**\n * A [cache only](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#cache-only)\n * run-time caching strategy.\n *\n * @example\n * const workboxSW = new WorkboxSW();\n * const cacheOnlyStrategy = workboxSW.strategies.cacheOnly();\n *\n * workboxSW.router.registerRoute('/styles/*', cacheOnlyStrategy);\n *\n * @param {module:workbox-sw.Strategies.StrategyOptions} [options] To\n * define any additional caching or broadcast plugins pass in option values.\n * @return {module:workbox-runtime-caching.CacheOnly} An instance of a\n * `CacheOnly` handler.\n */\n cacheOnly(options) {\n return this._getCachingMechanism(CacheOnly, options);\n }\n\n /**\n * A [network first](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#network-falling-back-to-cache)\n * run-time caching strategy.\n *\n * @example\n * const workboxSW = new WorkboxSW();\n * const networkFirstStrategy = workboxSW.strategies.networkFirst();\n *\n * workboxSW.router.registerRoute('/blog/', networkFirstStrategy);\n *\n * @param {module:workbox-sw.Strategies.StrategyOptions} [options] To\n * define any additional caching or broadcast plugins pass in option values.\n * @return {module:workbox-runtime-caching.NetworkFirst} An instance of a\n * `NetworkFirst` handler.\n */\n networkFirst(options) {\n return this._getCachingMechanism(NetworkFirst, options);\n }\n\n /**\n * A [network only](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#network-only)\n * run-time caching strategy.\n *\n * @example\n * const workboxSW = new WorkboxSW();\n * const networkOnlyStrategy = workboxSW.strategies.networkOnly();\n *\n * workboxSW.router.registerRoute('/admin/', networkOnlyStrategy);\n *\n * @param {module:workbox-sw.Strategies.StrategyOptions} [options] To\n * define any additional caching or broadcast plugins pass in option values.\n * @return {module:workbox-runtime-caching.NetworkOnly} An instance of a\n * `NetworkOnly` handler.\n */\n networkOnly(options) {\n return this._getCachingMechanism(NetworkOnly, options);\n }\n\n /**\n * A [stale while revalidate](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#stale-while-revalidate)\n * run-time caching strategy.\n *\n * @example\n * const workboxSW = new WorkboxSW();\n * const staleWhileRevalidateStrategy =\n * workboxSW.strategies.staleWhileRevalidate();\n *\n * workboxSW.router.registerRoute('/styles/*', staleWhileRevalidateStrategy);\n *\n * @param {module:workbox-sw.Strategies.StrategyOptions} [options] To\n * define any additional caching or broadcast plugins pass in option values.\n * @return {module:workbox-runtime-caching.StaleWhileRevalidate}\n * An instance of a `StaleWhileRevalidate` handler.\n */\n staleWhileRevalidate(options) {\n return this._getCachingMechanism(StaleWhileRevalidate, options);\n }\n\n /**\n * This method will add plugins based on options passed in by the\n * developer.\n *\n * @private\n * @param {Class} HandlerClass The class to be configured and instantiated.\n * @param {Object} [options] Options to configure the handler.\n * @param {boolean} [options.excludeCacheId] If true, we assume that\n * options.cacheName already includes the cacheId, and it does not need to\n * be specified twice.\n * @return {Handler} A handler instance configured with the appropriate\n * behaviours\n */\n _getCachingMechanism(HandlerClass, options = {}) {\n const pluginParamsToClass = {\n 'cacheExpiration': CacheExpirationPlugin,\n 'broadcastCacheUpdate': BroadcastCacheUpdatePlugin,\n 'cacheableResponse': CacheableResponsePlugin,\n };\n\n const wrapperOptions = {\n plugins: [],\n };\n\n if (!options.excludeCacheId) {\n wrapperOptions.cacheId = this._cacheId;\n }\n\n if (options['cacheName']) {\n wrapperOptions['cacheName'] = options['cacheName'];\n }\n\n // Iterate over known plugins and add them to Request Wrapper options.\n const pluginKeys = Object.keys(pluginParamsToClass);\n pluginKeys.forEach((pluginKey) => {\n if (options[pluginKey]) {\n const PluginClass = pluginParamsToClass[pluginKey];\n const pluginParams = options[pluginKey];\n\n wrapperOptions.plugins.push(new PluginClass(pluginParams));\n }\n });\n\n // Add custom plugins.\n if (options.plugins) {\n options.plugins.forEach((plugin) => {\n wrapperOptions.plugins.push(plugin);\n });\n }\n\n options.requestWrapper = new RequestWrapper(wrapperOptions);\n // Pass through the initial options to the underlying Handler constructor\n // to allow for Handler-specific customization.\n return new HandlerClass(options);\n }\n}\n\nexport default Strategies;\n","const errorMessageFactory = (code, context) => {\n let message = `An error was thrown by workbox with error code: ` +\n `;'${code}'`;\n if (context) {\n message += ` with extras: '${JSON.stringify(context)}'`;\n }\n return message;\n};\n\nexport default errorMessageFactory;\n","import errorMessageFactory from './error-message-factory';\n\n/**\n * This is a class for managing errors thrown by Workbox.\n *\n * This class will have full fat error messages in dev builds\n * and be slimmed down in prod.\n */\nclass WorkboxError extends Error {\n /**\n * Construct a new Workbox Error Message.\n * @param {String} errorCode The error code that is associated with the\n * error message and will be used to generate the appropriate error message.\n * @param {Object} [extras] These are fields that will be passed to\n * the error message to be included if the message wants and exposed\n * under `err.extra` should the developer need to access the information.\n */\n constructor(errorCode, extras) {\n super();\n\n this.name = errorCode;\n this.message = errorMessageFactory(errorCode, extras);\n\n if (extras) {\n this.extras = extras;\n }\n }\n}\n\nexport default WorkboxError;\n","import {RequestWrapper} from '../../../../workbox-runtime-caching/src/index';\nimport WorkboxError from '../../../../../lib/workbox-error';\n\n/**\n * This class handles the shared logic for caching revisioned and unrevisioned\n * assets.\n *\n * @memberof module:workbox-precaching\n */\nclass BaseCacheManager {\n /**\n * Constructor for BaseCacheManager\n *\n * @param {Object} input\n * @param {String} [input.cacheName] This is the cache name to store requested\n * assets.\n * @param {String} [input.cacheId] The cacheId can be used to ensure that\n * multiple projects sharing `http://localhost` have unique cache names.\n * @param {Array} [input.plugins] Any plugins that should be\n * invoked by the underlying `RequestWrapper`.\n */\n constructor({cacheName, cacheId, plugins} = {}) {\n if (cacheId && (typeof cacheId !== 'string' || cacheId.length === 0)) {\n throw new WorkboxError('bad-cache-id', {cacheId});\n }\n\n this._entriesToCache = new Map();\n this._requestWrapper = new RequestWrapper({\n cacheName,\n cacheId,\n plugins,\n fetchOptions: {\n credentials: 'same-origin',\n },\n });\n }\n\n /**\n * Adds entries to the install list.\n * This will manage duplicate entries and perform the caching during\n * the install step.\n *\n * @private\n * @param {Array} rawEntries A raw entry that can be\n * parsed into a BaseCacheEntry by the inheriting CacheManager.\n */\n _addEntries(rawEntries) {\n this._parsedCacheUrls = null;\n\n rawEntries.forEach((rawEntry) => {\n this._addEntryToInstallList(\n this._parseEntry(rawEntry)\n );\n });\n }\n\n /**\n * Gives access to the cache name used by this caching manager.\n * @return {String} The cache name used by this manager.\n */\n getCacheName() {\n return this._requestWrapper.cacheName;\n }\n\n /**\n * Returns an array of fully qualified URL's that will be cached by this\n * cache manager.\n *\n * @return {Array} An array of URLs that will be cached.\n */\n getCachedUrls() {\n if (!this._parsedCacheUrls) {\n this._parsedCacheUrls = Array.from(this._entriesToCache.keys())\n .map((url) => new URL(url, location).href);\n }\n\n return this._parsedCacheUrls;\n }\n\n /**\n * Adds an entry to the install list.\n *\n * Duplicates are filtered out and checks are made for the scenario\n * where two entries have the same URL but different revisions. For example\n * caching:\n * [\n * {url: '/hello.txt', revision: 'abcd1234'},\n * {url: '/hello.txt', revision: 'efgh5678'},\n * ]\n * This will throw an error as the library can't determine the correct\n * revision and this may cause issues in future when updating the service\n * worker with new revisions.\n *\n * @private\n * @param {RevisionedCacheEntry} precacheEntry The file entry to be cached\n * during the next install event.\n */\n _addEntryToInstallList(precacheEntry) {\n const entryID = precacheEntry.entryID;\n const previousEntry = this._entriesToCache.get(precacheEntry.entryID);\n if (!previousEntry) {\n // This entry isn't in the install list\n this._entriesToCache.set(entryID, precacheEntry);\n return;\n }\n\n this._onDuplicateInstallEntryFound(precacheEntry, previousEntry);\n }\n\n /**\n * This method will go through each asset added to the cache list and\n * fetch and update the cache for assets which have a new revision hash.\n *\n * @return {Promise>} The promise resolves when all the\n * desired assets are cached and up -to-date.\n */\n async install() {\n if (this._entriesToCache.size === 0) {\n return [];\n }\n\n const cachePromises = [];\n this._entriesToCache.forEach((precacheEntry) => {\n cachePromises.push(\n this._cacheEntry(precacheEntry)\n );\n });\n\n // Wait for all requests to be cached.\n return Promise.all(cachePromises);\n }\n\n /**\n * Requests the entry and saves it to the cache if the response\n * is valid.\n *\n * @private\n * @param {BaseCacheEntry} precacheEntry The entry to fetch and cache.\n * @return {Promise} Returns a promise that resolves once the entry\n * has been fetched and cached or skipped if no update is needed. The\n * promise resolved with details of the entry and whether it was\n * updated or not.\n */\n async _cacheEntry(precacheEntry) {\n const isCached = await this._isAlreadyCached(precacheEntry);\n const precacheDetails = {\n url: precacheEntry.request.url,\n revision: precacheEntry.revision,\n wasUpdated: !isCached,\n };\n if (isCached) {\n return precacheDetails;\n }\n\n try {\n await this._requestWrapper.fetchAndCache({\n request: precacheEntry.getNetworkRequest(),\n waitOnCache: true,\n cacheKey: precacheEntry.request,\n cleanRedirects: true,\n });\n\n await this._onEntryCached(precacheEntry);\n return precacheDetails;\n } catch (err) {\n throw new WorkboxError('request-not-cached', {\n url: precacheEntry.request.url,\n error: err,\n });\n }\n }\n\n /**\n * Compare the URL's and determines which assets are no longer required\n * in the cache.\n *\n * This should be called in the service worker activate event.\n *\n * @return {Promise} Promise that resolves once the cache entries have been\n * cleaned.\n */\n async cleanup() {\n if (!await caches.has(this.getCacheName())) {\n // Cache doesn't exist, so nothing to delete\n return;\n }\n\n const requestsCachedOnInstall = [];\n this._entriesToCache.forEach((entry) => {\n requestsCachedOnInstall.push(entry.request.url);\n });\n\n const openCache = await this._getCache();\n const allCachedRequests = await openCache.keys();\n\n const cachedRequestsToDelete = allCachedRequests.filter(\n (cachedRequest) => !requestsCachedOnInstall.includes(cachedRequest.url));\n\n return Promise.all(\n cachedRequestsToDelete.map(async (cachedRequest) => {\n await openCache.delete(cachedRequest);\n await this._onEntryDeleted(cachedRequest.url);\n })\n );\n }\n\n /**\n * A simple helper method to get the open cache used for precaching assets.\n *\n * @private\n * @return {Promise} The cache to be used for precaching.\n */\n async _getCache() {\n if (!this._cache) {\n this._cache = await caches.open(this.getCacheName());\n }\n\n return this._cache;\n }\n\n /**\n * Ensures the file entry in the maniest is valid and\n * can be parsed as a BaseCacheEntry.\n *\n * @private\n * @abstract\n * @param {String | Request | Object} input Either a URL string, a Request\n * or an object with a `url`, `revision` and optional `cacheBust` parameter.\n * @return {BaseCacheEntry} Returns a parsed version of the file entry.\n */\n _parseEntry(input) {\n throw new WorkboxError('requires-overriding');\n }\n\n /**\n * Called in case subclasses have cache entries that are to be installed\n * but have the same \"entryID\".\n * This means that the user is trying to cache the same thing twice.\n * Subclasses can use this method to throw an error if there is an edge\n * case that can't be handled.\n *\n * @private\n * @abstract\n * @param {BaseCacheEntry} newEntry The entry that is to be cached.\n * @param {BaseCacheEntry} previous The entry that is currently cached.\n */\n _onDuplicateEntryFound(newEntry, previous) {\n throw new WorkboxError('requires-overriding');\n }\n\n /**\n * Confirms whether a fileEntry is already in the cache with the\n * appropriate revision or not.\n *\n * @private\n * @abstract\n * @param {BaseCacheEntry} precacheEntry A file entry with `path` and\n * `revision` parameters.\n * @return {Promise} Returns true is the fileEntry is already\n * cached, false otherwise.\n */\n _isAlreadyCached(precacheEntry) {\n throw new WorkboxError('requires-overriding');\n }\n\n /**\n * Subclasses can use this method for any work that needs to be done once a\n * URL has been cached.\n *\n * @private\n * @abstract\n * @param {BaseCacheEntry} precacheEntry A file entry with `path` and\n * `revision` parameters.\n * @return {Promise} Returns a Promise that resolves once it's work has\n * been done.\n */\n _onEntryCached(precacheEntry) {\n throw new WorkboxError('requires-overriding');\n }\n\n /**\n * Subclasses can use this method for any work that needs to be done once a\n * URL has been deleted from the cache.\n *\n * @private\n * @abstract\n * @param {String} url The URL of the entry that was deleted.\n * @return {Promise} Returns a Promise that resolves once the work is done.\n */\n _onEntryDeleted(url) {\n throw new WorkboxError('requires-overriding');\n }\n}\n\nexport default BaseCacheManager;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/* eslint-disable require-jsdoc */\n\nimport idb from 'idb';\n\n/**\n * A wrapper to store for an IDB connection to a particular ObjectStore.\n *\n * @private\n */\nclass IDBHelper {\n constructor(name, version, storeName) {\n if (name == undefined || version == undefined || storeName == undefined) {\n throw Error('name, version, storeName must be passed to the ' +\n 'constructor.');\n }\n\n this._name = name;\n this._version = version;\n this._storeName = storeName;\n }\n\n /**\n * Returns a promise that resolves with an open connection to IndexedDB,\n * either existing or newly opened.\n *\n * @private\n * @return {Promise}\n */\n _getDb() {\n if (this._dbPromise) {\n return this._dbPromise;\n }\n\n this._dbPromise = idb.open(this._name, this._version, (upgradeDB) => {\n upgradeDB.createObjectStore(this._storeName);\n })\n .then((db) => {\n return db;\n });\n\n return this._dbPromise;\n }\n\n close() {\n if (!this._dbPromise) {\n return;\n }\n\n return this._dbPromise\n .then((db) => {\n db.close();\n this._dbPromise = null;\n });\n }\n\n /**\n * Wrapper on top of the idb wrapper, which simplifies saving the key/value\n * pair to the object store.\n * Returns a Promise that fulfills when the transaction completes.\n *\n * @private\n * @param {String} key\n * @param {Object} value\n * @return {Promise}\n */\n put(key, value) {\n return this._getDb().then((db) => {\n const tx = db.transaction(this._storeName, 'readwrite');\n const objectStore = tx.objectStore(this._storeName);\n objectStore.put(value, key);\n return tx.complete;\n });\n }\n\n /**\n * Wrapper on top of the idb wrapper, which simplifies deleting an entry\n * from the object store.\n * Returns a Promise that fulfills when the transaction completes.\n *\n * @private\n * @param {String} key\n * @return {Promise}\n */\n delete(key) {\n return this._getDb().then((db) => {\n const tx = db.transaction(this._storeName, 'readwrite');\n const objectStore = tx.objectStore(this._storeName);\n objectStore.delete(key);\n return tx.complete;\n });\n }\n\n /**\n * Wrapper on top of the idb wrapper, which simplifies getting a key's value\n * from the object store.\n * Returns a promise that fulfills with the value.\n *\n * @private\n * @param {String} key\n * @return {Promise}\n */\n get(key) {\n return this._getDb().then((db) => {\n return db.transaction(this._storeName)\n .objectStore(this._storeName)\n .get(key);\n });\n }\n\n /**\n * Wrapper on top of the idb wrapper, which simplifies getting all the values\n * in an object store.\n * Returns a promise that fulfills with all the values.\n *\n * @private\n * @return {Promise>}\n */\n getAllValues() {\n return this._getDb().then((db) => {\n return db.transaction(this._storeName)\n .objectStore(this._storeName)\n .getAll();\n });\n }\n\n /**\n * Wrapper on top of the idb wrapper, which simplifies getting all the keys\n * in an object store.\n * Returns a promise that fulfills with all the keys.\n *\n * @private\n * @param {String} storeName\n * @return {Promise>}\n */\n getAllKeys() {\n return this._getDb().then((db) => {\n return db.transaction(this._storeName)\n .objectStore(this._storeName)\n .getAllKeys();\n });\n }\n}\n\nexport default IDBHelper;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nexport const cacheBustParamName = '_workbox-precaching';\nexport const version = 'v1';\nexport const dbName = 'workbox-precaching';\nexport const dbVersion = '1';\nexport const dbStorename = 'asset-revisions';\n\nlet tmpRevisionedCacheName = `workbox-precaching-revisioned-${version}`;\nif (self && self.registration) {\n tmpRevisionedCacheName += `-${self.registration.scope}`;\n}\nexport const defaultRevisionedCacheName = tmpRevisionedCacheName;\n","import IDBHelper from '../../../../../lib/idb-helper.js';\nimport {dbName, dbVersion, dbStorename} from '../constants';\n\n/**\n * This class is a simple model that stores EntryID's with their current\n * revision. This is used when caching revisioned assets so that only entries\n * with different revisions are downloaded and updated.\n *\n * @private\n * @memberof module:workbox-precaching\n */\nclass RevisionDetailsModel {\n /**\n * Constructor for RevisionDetails Model.\n */\n constructor() {\n this._idbHelper = new IDBHelper(dbName, dbVersion, dbStorename);\n }\n\n /**\n * This method gets the revision details for a given entryID.\n * @param {String} entryID The ID of the revision.\n * @return {Promise} Returns a revision string or\n * null if there is no revision information.\n */\n get(entryID) {\n return this._idbHelper.get(entryID);\n }\n\n /**\n * This method saves the revision details to indexedDB.\n * @param {String} entryID The ID of the revision.\n * @param {String} revision The current revision for this entryID.\n * @return {Promise} Promise that resolves once the data has been saved.\n */\n put(entryID, revision) {\n return this._idbHelper.put(entryID, revision);\n }\n\n /**\n * This method deletes the revision details from indexedDB for a given entry.\n * @param {String} entryID The ID of the revision.\n * @return {Promise} Promise that resolves once the data has been deleted.\n */\n delete(entryID) {\n return this._idbHelper.delete(entryID);\n }\n\n /**\n * This method closes the indexdDB helper. This is only used for unit testing\n * to ensure clean state between tests.\n *\n * @private\n */\n _close() {\n this._idbHelper.close();\n }\n}\n\nexport default RevisionDetailsModel;\n","import {cacheBustParamName} from '../../constants';\n\n/**\n * This class is extended by a number of classes that take different inputs\n * and generates the required fields for a BaseCacheEntry.\n *\n * @private\n * @memberof module:workbox-precaching\n */\nclass BaseCacheEntry {\n /**\n * This constructor expects an object and a number or required fields.\n * You shouldn't need to use this constructor directly.\n *\n * @param {Object} input\n * @param {String} input.entryID\n * @param {String} input.revision\n * @param {Request} input.request\n * @param {boolean} input.cacheBust\n */\n constructor({entryID, revision, request, cacheBust}) {\n this.entryID = entryID;\n this.revision = revision;\n this.request = request;\n this.cacheBust = cacheBust;\n }\n\n /**\n * This method is required since any revisioned request needs to cache bust.\n * To ensure this is consistent, CacheManagers will make a network request\n * using this specially formatted request.\n *\n * When caching the response, it will be cached against the origin `request`,\n * removing lookup for the cachebusted URL.\n *\n * @return {Request} Returns a cache busted request if needed, otherwise\n * a normal request with credentials set to 'same-origin' and redirect set to\n * follow.\n */\n getNetworkRequest() {\n if (this.cacheBust !== true) {\n // For the RequestCacheEntry we should return it to ensure headers are\n // kept in tact and part of the request.\n return this.request;\n }\n\n let url = this.request.url;\n const requestOptions = {};\n\n if (this.cacheBust === true) {\n if ('cache' in Request.prototype) {\n // Make use of the Request cache mode where we can.\n // Reload skips the HTTP cache for outgoing requests and updates\n // the cache with the returned reponse.\n requestOptions.cache = 'reload';\n } else {\n const parsedURL = new URL(url, location);\n parsedURL.search += (parsedURL.search ? '&' : '') +\n encodeURIComponent(cacheBustParamName) + '=' +\n encodeURIComponent(this.revision);\n url = parsedURL.toString();\n }\n }\n\n return new Request(url, requestOptions);\n }\n}\n\nexport default BaseCacheEntry;\n","import BaseCacheEntry from './base-precache-entry';\nimport {isType} from '../../../../../../lib/assert';\nimport WorkboxError from '../../../../../../lib/workbox-error';\n\n/**\n * This class will take a string and parse it as a BaseCacheEntry.\n *\n * @private\n * @memberof module:workbox-precaching\n * @extends {module:workbox-precaching.BaseCacheEntry}\n */\nclass StringCacheEntry extends BaseCacheEntry {\n /**\n * Cosntructor for StringCacheEntry.\n *\n * @param {String} url A URL to cache.\n */\n constructor(url) {\n isType({url}, 'string');\n if (url.length === 0) {\n throw new WorkboxError('invalid-string-entry', {\n url,\n });\n }\n\n super({\n entryID: url,\n revision: url,\n request: new Request(url),\n cacheBust: false,\n });\n }\n}\n\nexport default StringCacheEntry;\n","import WorkboxError from '../../../../../../lib/workbox-error';\nimport BaseCacheEntry from './base-precache-entry';\nimport {isType} from '../../../../../../lib/assert';\n\n/**\n * This class will take an object of parameters, validate the input and\n * parse to be used as a BaseCacheEntry.\n *\n * @private\n * @memberof module:workbox-precaching\n * @extends {module:workbox-precaching.BaseCacheEntry}\n */\nclass ObjectCacheEntry extends BaseCacheEntry {\n /**\n * This class gives most control over configuring a cache entry.\n * @param {Object} input\n * @param {String} [input.entryID] The ID of the entry. This is the key used\n * with IndexDB to store the revision. Normally this is just the URL.\n * @param {String} [input.revision] This is the revision associated with this\n * URL.\n * @param {String} input.url The URL to cache.\n * @param {boolean} [input.cacheBust] A boolean to indicate if this request\n * will require cache busting (i.e. the URL is not unique between SW install).\n */\n constructor({entryID, revision, url, cacheBust}) {\n if (typeof revision !== 'undefined') {\n isType({revision}, 'string');\n if (revision.length === 0) {\n throw new WorkboxError('invalid-object-entry',\n {problemParam: 'revision', problemValue: revision});\n }\n }\n\n if (typeof cacheBust === 'undefined') {\n // If the cacheBust value is not explicitly set, then set it to true\n // if there's a revision provided, and false if there's no revision.\n cacheBust = Boolean(revision);\n }\n isType({cacheBust}, 'boolean');\n\n isType({url}, 'string');\n if (url.length === 0) {\n throw new WorkboxError('invalid-object-entry',\n {problemParam: 'url', problemValue: url});\n }\n\n if (typeof entryID === 'undefined') {\n entryID = new URL(url, location).toString();\n } else {\n if (entryID.length === 0) {\n throw new WorkboxError('invalid-object-entry',\n {problemParam: 'entryID', problemValue: entryID});\n }\n }\n\n super({\n entryID,\n // If revision isn't set, assume that the URL contains revision info.\n revision: revision || url,\n request: new Request(url),\n cacheBust,\n });\n }\n}\n\nexport default ObjectCacheEntry;\n","import BaseCacheManager from './base-cache-manager';\nimport RevisionDetailsModel from '../models/revision-details-model';\nimport {defaultRevisionedCacheName} from '../constants';\nimport StringCacheEntry from\n '../models/precache-entries/string-cache-entry';\nimport ObjectPrecacheEntry from\n '../models/precache-entries/object-precache-entry';\nimport {isInstance} from '../../../../../lib/assert';\nimport logHelper from '../../../../../lib/log-helper';\nimport WorkboxError from '../../../../../lib/workbox-error';\n\n/**\n * You can instantiate this class to add requests to a precache list and\n * eventually install the assets by calling [install()]{@link\n * module:workbox-precaching.BaseCacheManager#install} and to remove\n * old entries call [cleanup()]{@link\n * module:workbox-precaching.RevisionedCacheManager#cleanup}.\n *\n * @memberof module:workbox-precaching\n * @extends module:workbox-precaching.BaseCacheManager\n */\nclass RevisionedCacheManager extends BaseCacheManager {\n /**\n * Constructs a new RevisionedCacheManager to handle caching of revisioned\n * assets only.\n *\n * @param {Object} input\n * @param {String} [input.cacheName] The cache to be used for precaching.\n * @param {String} [input.cacheId] The cacheId is prepended to the\n * cache name. This is useful if you have multiple projects sharing\n * the same `http://localhost` origin and want unique cache names.\n * @param {Array} [input.plugins] Any plugins that should be\n * invoked by the underlying `RequestWrapper`.\n */\n constructor(input = {}) {\n input.cacheName = input.cacheName || defaultRevisionedCacheName;\n\n super(input);\n\n this._revisionDetailsModel = new RevisionDetailsModel();\n }\n\n /**\n * This method will add the supplied entries to the install list and\n * can be called multiple times.\n *\n * The `revisionedFiles` parameter of the input should contain an array\n * of objects or strings.\n *\n * Objects in this array should have a `url` and `revision` parameter where\n * the revision is a hash, unique to the files contents, which changes\n * whenever the file is updated. (See our [getting started guide to learn\n * how to automate this](/#get-started)).\n *\n * Strings should be URL's that contain revisioning information\n * i.e. `/styles/main.abcd.css` instead of `/styles/main.css`. If you supply\n * a URL which *isn't* revisioned, the `install()` step will **never** update\n * the precached asset.\n *\n * @param {Object} input\n * @param {Array} input.revisionedFiles This should be an\n * array of either objects or strings.\n *\n * @example\n * revisionedManager.addToCacheList({\n * revisionedFiles: [\n * '/styles/hello.1234.css',\n * {\n * url: '/images/logo.png',\n * revision: 'abcd1234'\n * }\n * ]\n * });\n */\n addToCacheList({revisionedFiles} = {}) {\n isInstance({revisionedFiles}, Array);\n super._addEntries(revisionedFiles);\n\n const urlsWithoutRevisionFields = revisionedFiles\n .filter((entry) => typeof entry === 'string' || !entry.revision);\n if (urlsWithoutRevisionFields.length > 0) {\n logHelper.debug({\n that: this,\n message: `Some precache entries are URLs without separate revision\n fields. If the URLs themselves do not contain revisioning info,\n like a hash or a version number, your users won't receive updates.`,\n data: {\n 'URLs without revision fields':\n JSON.stringify(urlsWithoutRevisionFields),\n 'Examples of safe, versioned URLs':\n `'/path/file.abcd1234.css' or '/v1.0.0/file.js'`,\n 'Examples of dangerous, unversioned URLs':\n `'index.html' or '/path/file.css' or '/latest/file.js'`,\n },\n });\n }\n }\n\n /**\n * This method ensures that the file entry in the maniest is valid and\n * can be parsed as a BaseCacheEntry.\n *\n * @private\n * @param {String | Object} input Either a URL string or an object with a\n * `url` and optional `revision` and `cacheBust` parameters.\n * @return {BaseCacheEntry} Returns a parsed version of the file entry.\n */\n _parseEntry(input) {\n if (input === null) {\n throw new WorkboxError('unexpected-precache-entry', {input});\n }\n\n let precacheEntry;\n switch (typeof input) {\n case 'string':\n precacheEntry = new StringCacheEntry(input);\n break;\n case 'object':\n precacheEntry = new ObjectPrecacheEntry(input);\n break;\n default:\n throw new WorkboxError('unexpected-precache-entry', {input});\n }\n\n return precacheEntry;\n }\n\n /**\n * If a dupe entry exists, check the revision. If the revisions are the same\n * it's simply a duplicate entry. If they are different, we have two\n * identical requests with two different revisions which will put this\n * module into a bad state.\n *\n * @private\n * @param {BaseCacheEntry} newEntry The entry that is to be cached.\n * @param {BaseCacheEntry} previousEntry The entry that is currently cached.\n */\n _onDuplicateInstallEntryFound(newEntry, previousEntry) {\n if (previousEntry.revision !== newEntry.revision) {\n throw new WorkboxError('duplicate-entry-diff-revisions', {\n firstEntry: {\n url: previousEntry.request.url,\n revision: previousEntry.revision,\n },\n secondEntry: {\n url: newEntry.request.url,\n revision: newEntry.revision,\n },\n });\n }\n }\n\n /**\n * This method confirms with a precacheEntry is already in the cache with the\n * appropriate revision.\n * If the revision is known, the requested `precacheEntry.revision` is saved\n * and the cache entry exists for the `precacheEntry.path` this method\n * will return true.\n *\n * @private\n * @param {BaseCacheEntry} precacheEntry A entry with `path` and `revision`\n * parameters.\n * @return {Promise} Returns true if the precacheEntry is already\n * cached, false otherwise.\n */\n async _isAlreadyCached(precacheEntry) {\n const revisionDetails = await\n this._revisionDetailsModel.get(precacheEntry.entryID);\n if (revisionDetails !== precacheEntry.revision) {\n return false;\n }\n\n const openCache = await this._getCache();\n const cachedResponse = await openCache.match(precacheEntry.request);\n return cachedResponse ? true : false;\n }\n\n /**\n * @private\n * @param {BaseCacheEntry} precacheEntry A file entry with `path` and\n * `revision` parameters.\n */\n async _onEntryCached(precacheEntry) {\n await this._revisionDetailsModel.put(\n precacheEntry.entryID, precacheEntry.revision);\n }\n\n /**\n * Removes a URL from IndexedDB when the corresponding entry has been removed\n * from the Cache Storage API.\n *\n * @private\n * @param {String} url The URL that has been deleted from the cache.\n */\n async _onEntryDeleted(url) {\n await this._revisionDetailsModel.delete(url);\n }\n\n /**\n * This method closes the indexdDB helper. This is used for unit testing\n * to ensure cleanup between tests.\n * @private\n */\n _close() {\n this._revisionDetailsModel._close();\n }\n\n /**\n * This method will compare the currently cached requests's and determine\n * which requests are no longer in the cache list and can be removed from the\n * cache.\n *\n * This should be called in a service worker's activate event to avoid\n * removing requests that are still be used by currently open pages.\n *\n * @return {Promise} Promise that resolves once the cache entries have been\n * cleaned.\n */\n cleanup() {\n return super.cleanup()\n .then(() => {\n return this._close();\n });\n }\n\n /**\n * Given an array of objects with a 'url', 'revision' value this\n * method will create a friendly string to log.\n * @private\n * @param {Array} allCacheDetails\n * @return {String} A log friendly string.\n */\n _createLogFriendlyString(allCacheDetails) {\n let stringVersion = `\\n`;\n allCacheDetails.forEach((cacheDetails) => {\n stringVersion += ` URL: '${cacheDetails.url}' Revision: ` +\n `'${cacheDetails.revision}'\\n`;\n });\n return stringVersion;\n }\n\n /**\n * This method will go through each asset added to the cache list and\n * fetch and update the cache for assets which have a new revision hash.\n *\n * @return {Promise>} The promise resolves when all the\n * desired assets are cached and up -to-date.\n */\n install() {\n return super.install()\n .then((allCacheDetails) => {\n const updatedCacheDetails = [];\n const notUpdatedCacheDetails = [];\n allCacheDetails.forEach((cacheDetails) => {\n if (cacheDetails.wasUpdated) {\n updatedCacheDetails.push({\n url: cacheDetails.url,\n revision: cacheDetails.revision,\n });\n } else {\n notUpdatedCacheDetails.push({\n url: cacheDetails.url,\n revision: cacheDetails.revision,\n });\n }\n });\n\n const logData = {};\n if (updatedCacheDetails.length > 0) {\n logData['New / Updated Precache URL\\'s'] =\n this._createLogFriendlyString(updatedCacheDetails);\n }\n\n if (notUpdatedCacheDetails.length > 0) {\n logData['Up-to-date Precache URL\\'s'] =\n this._createLogFriendlyString(notUpdatedCacheDetails);\n }\n\n logHelper.log({\n message: `Precache Details: ${updatedCacheDetails.length} requests ` +\n `were added or updated and ` +\n `${notUpdatedCacheDetails.length} request are already ` +\n `cached and up-to-date.`,\n data: logData,\n });\n\n return allCacheDetails;\n });\n }\n}\n\nexport default RevisionedCacheManager;\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/**\n * # workbox-precaching\n *\n * The precaching library intelligently caches and updates files\n * during the install step of your service worker.\n *\n * When given a list of URL's to precache, this module will go through\n * each URL and check if the URL is already cached and, if it is, compare\n * the hash to see if revision hash has changed.\n *\n * If the revision is old or the entry isn't cached, this library will make\n * a request for the asset and cache it, ensuring the the browsers HTTP cache\n * is skipped by using `Request.cache = 'reload'` or adding a cache busting\n * search parameter to the request.\n *\n * @example\n * importScripts('//build/workbox-precaching.min.js');\n *\n * const revCacheManager = new workbox.precaching.RevisionedCacheManager();\n * revCacheManager.addToCacheList({\n * revisionedFiles: [\n * '/styles/main.1234.css',\n * {\n * url: '/',\n * revision: '1234'\n * }\n * ],\n * });\n *\n * self.addEventListener('install', (event) => {\n * event.waitUntil(\n * revCacheManager.install()\n * );\n * });\n *\n * self.addEventListener('activate', (event) => {\n * event.waitUntil(\n * revCacheManager.cleanup()\n * );\n * });\n *\n * @module workbox-precaching\n */\nimport RevisionedCacheManager from\n './lib/controllers/revisioned-cache-manager.js';\n\nimport WorkboxError from '../../../lib/workbox-error';\nimport {isServiceWorkerGlobalScope} from '../../../lib/environment.js';\n\nif (!isServiceWorkerGlobalScope()) {\n // We are not running in a service worker, print error message\n throw new WorkboxError('not-in-sw');\n}\n\nexport {\n RevisionedCacheManager,\n};\n","/*\n Copyright 2016 Google Inc. All Rights Reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n/* eslint-env browser, serviceworker */\n\nimport ErrorFactory from './error-factory.js';\nimport Router from './router.js';\nimport Strategies from './strategies';\nimport {isServiceWorkerGlobalScope, isDevBuild, isLocalhost} from\n '../../../../lib/environment.js';\nimport logHelper from '../../../../lib/log-helper';\nimport {BroadcastCacheUpdatePlugin} from\n '../../../workbox-broadcast-cache-update/src/index.js';\nimport {RevisionedCacheManager} from '../../../workbox-precaching/src/index.js';\nimport {\n getDefaultCacheName} from '../../../workbox-runtime-caching/src/index.js';\n\n/**\n * This class uses the Workbox libraries to create a clean and easy API for\n * common caching and serving needs.\n *\n * @memberof module:workbox-sw\n */\nclass WorkboxSW {\n /**\n * You should instantiate this class with `new self.WorkboxSW()`.\n * @param {Object} input\n * @param {string} [input.cacheId] Defining a cacheId is useful to ensure\n * uniqueness across cache names. Useful if you have multiple sites served\n * over localhost.\n * @param {boolean} [input.skipWaiting] To activate the service worker as\n * soon as the install step has finished set this value to true.\n *\n * Defaults to false.\n * @param {boolean} [input.clientsClaim] To claim currently open clients set\n * this value to true.\n *\n * Defaults to false.\n * @param {String} [input.directoryIndex] The directoryIndex will\n * check cache entries for a URLs ending with '/' to see if there is a hit\n * when appending the directoryIndex (i.e. '/index.html').\n * @param {Array} [input.ignoreUrlParametersMatching] An array of\n * regex's to remove search params when looking for a cache match.\n * @param {string} [input.precacheChannelName] This value will be used as\n * the `channelName` to construct a {@link BroadcastCacheUpdate} plugin. The\n * plugin sends a message whenever a precached URL is updated. To disable this\n * plugin, set `precacheChannelName` to an empty string.\n *\n * Defaults to `'precache-updates'`\n */\n constructor({cacheId, skipWaiting, clientsClaim,\n handleFetch = true,\n directoryIndex = 'index.html',\n precacheChannelName = 'precache-updates',\n ignoreUrlParametersMatching = [/^utm_/]} = {}) {\n if (!isServiceWorkerGlobalScope()) {\n // If we are not running in a service worker, fail early.\n throw ErrorFactory.createError('not-in-sw');\n }\n\n if (isDevBuild()) {\n if (isLocalhost()) {\n // If this is a dev bundle on localhost, print a welcome message.\n logHelper.debug({\n message: 'Welcome to Workbox!',\n data: {\n '📖': 'Read the guides and documentation\\n' +\n 'https://workboxjs.org/',\n '❓': 'Use the [workbox] tag on StackOverflow to ask questions\\n' +\n 'https://stackoverflow.com/questions/ask?tags=workbox',\n '🐛': 'Found a bug? Report it on GitHub\\n' +\n 'https://github.com/GoogleChrome/workbox/issues/new',\n },\n });\n } else {\n // If this is a dev bundle not on localhost, recommend the prod bundle.\n logHelper.warn(`This appears to be a production server. Please switch\n to the smaller, optimized production build of Workbox.`);\n }\n }\n\n if (cacheId && (typeof cacheId !== 'string' || cacheId.length === 0)) {\n throw ErrorFactory.createError('bad-cache-id');\n }\n if (skipWaiting && (typeof skipWaiting !== 'boolean')) {\n throw ErrorFactory.createError('bad-skip-waiting');\n }\n if (clientsClaim && (typeof clientsClaim !== 'boolean')) {\n throw ErrorFactory.createError('bad-clients-claim');\n }\n if (typeof directoryIndex !== 'undefined') {\n if (directoryIndex === false || directoryIndex === null) {\n directoryIndex = false;\n } else if (typeof directoryIndex !== 'string' ||\n directoryIndex.length === 0) {\n throw ErrorFactory.createError('bad-directory-index');\n }\n }\n\n const plugins = [];\n if (precacheChannelName) {\n plugins.push(new BroadcastCacheUpdatePlugin({\n channelName: precacheChannelName,\n source: registration && registration.scope ?\n registration.scope :\n location,\n }));\n }\n\n this._runtimeCacheName = getDefaultCacheName({cacheId});\n this._revisionedCacheManager = new RevisionedCacheManager({\n cacheId,\n plugins,\n });\n this._strategies = new Strategies({\n cacheId,\n });\n\n // Create a Router instance that's used by the `Route` for precached assets.\n // See https://github.com/GoogleChrome/workbox/issues/839\n this._precacheRouter = new Router(\n this._revisionedCacheManager.getCacheName(),\n );\n\n this._router = new Router(\n this._revisionedCacheManager.getCacheName(),\n );\n\n if (handleFetch) {\n // Give precedence to the _precacheRouter by registering its `fetch`\n // handler first.\n this._precacheRouter.addFetchListener();\n this._router.addFetchListener();\n }\n\n this._registerInstallActivateEvents(skipWaiting, clientsClaim);\n this._registerDefaultRoutes(ignoreUrlParametersMatching, directoryIndex);\n }\n\n /**\n * Revisioned assets can be cached intelligently\n * during the install (i.e. old files are cleared from the cache, new files\n * are added to the cache and unchanged files are left as is).\n *\n * The input needs to be an array of URL strings which having revisioning\n * details in them otherwise the entry should be an object with `url` and\n * `revision` parameters.\n *\n * In addition to maintaining the cache, this method will also set up the\n * necessary routes to serve the precached assets using a cache-first\n * strategy.\n *\n * @example Cache revisioned assets.\n * // Cache a set of revisioned URLs\n * const workboxSW = new WorkboxSW();\n * workboxSW.precache([\n * '/styles/main.613e6c7332dd83e848a8b00c403827ed.css',\n * '/images/logo.59a325f32baad11bd47a8c515ec44ae5.jpg'\n * ]);\n *\n * // ...precache() can also take objects to cache\n * // non-revisioned URLs.\n * // Please use workbox-build or the workbox CLI to generate the manifest for\n * // you.\n * workboxSW.precache([\n * {\n * url: '/index.html',\n * revision: '613e6c7332dd83e848a8b00c403827ed'\n * },\n * {\n * url: '/about.html',\n * revision: '59a325f32baad11bd47a8c515ec44ae5'\n * }\n * ]);\n *\n * @param {Array} revisionedFiles A set of urls to cache\n * when the service worker is installed.\n */\n precache(revisionedFiles) {\n // Add a more helpful error message than assertion error.\n if (!Array.isArray(revisionedFiles)) {\n throw ErrorFactory.createError('bad-revisioned-cache-list');\n }\n\n this._revisionedCacheManager.addToCacheList({\n revisionedFiles,\n });\n }\n\n /**\n * The router for this library is exposed via the `router` parameter.\n * This is an instance of the {@link module:workbox-sw.Router|Router}.\n *\n * @example\n * const workboxSW = new WorkboxSW();\n * workboxSW.router.registerRoute('/', workboxSW.workbox.cacheFirst());\n *\n * @type {Router}\n */\n get router() {\n return this._router;\n }\n\n /**\n * The supported caching strategies shipped with workbox-sw are provided via\n * the `strategies` object.\n * {@link module:workbox-sw.Strategies|See Strategies for a complete list}.\n *\n * @example\n * const workboxSW = new WorkboxSW();\n * workboxSW.router.registerRoute('/styles/*',\n * workboxSW.strategies.cacheFirst());\n */\n get strategies() {\n return this._strategies;\n }\n\n /**\n * The name of the cache used by default by the runtime caching strategies.\n *\n * Entries that are managed via `precache()` are stored in a separate cache\n * with a different name.\n *\n * You can override the default cache name when constructing a strategy if\n * you'd prefer, via\n * `workboxSW.strategies.cacheFirst({cacheName: 'my-cache-name'});`\n *\n * If you would like to explicitly add to, remove, or check the contents of\n * the default cache, you can use the [Cache Storage API](https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage)\n * to pass in the default cache name to `caches.open()`. This can be useful if\n * you want to \"prime\" your cache with remote resources that can't be properly\n * managed via `precache()`.\n *\n * @example\n * const cache = await caches.open(workboxSW.runtimeCacheName);\n * await cache.add('https://third-party.com/path/to/file');\n * const contentsOfRuntimeCache = await cache.keys();\n */\n get runtimeCacheName() {\n return this._runtimeCacheName;\n }\n\n /**\n * This method will register listeners for the install and activate events.\n * @private\n * @param {boolean} skipWaiting Whether to activate service worker\n * immediately.\n * @param {boolean} clientsClaim Whether to claim clients in activate or not.\n */\n _registerInstallActivateEvents(skipWaiting, clientsClaim) {\n self.addEventListener('install', (event) => {\n const cachedUrls = this._revisionedCacheManager.getCachedUrls();\n if (cachedUrls.length > 0) {\n logHelper.debug({\n that: this,\n message: `The precached URLs will automatically be served using a\n cache-first strategy.`,\n data: {'Precached URLs': JSON.stringify(cachedUrls)},\n });\n }\n\n event.waitUntil(\n this._revisionedCacheManager.install()\n .then(() => {\n if (skipWaiting) {\n return self.skipWaiting();\n }\n })\n );\n });\n\n self.addEventListener('activate', (event) => {\n event.waitUntil(\n this._revisionedCacheManager.cleanup()\n .then(() => {\n if (clientsClaim) {\n return self.clients.claim();\n }\n })\n );\n });\n }\n\n /**\n * This method will register any default routes the library will need.\n * @private\n * @param {Array} ignoreUrlParametersMatching An array of regex's\n * used to remove search parameters which match on of them.\n * @param {string} directoryIndex The directory index is appended to URLs\n * ending with '/'.\n */\n _registerDefaultRoutes(ignoreUrlParametersMatching, directoryIndex) {\n const plugins = [];\n\n // Add custom directory index plugin.\n if (ignoreUrlParametersMatching || directoryIndex) {\n plugins.push(\n this._getCacheMatchPlugin(ignoreUrlParametersMatching, directoryIndex)\n );\n }\n\n const cacheFirstHandler = this.strategies.cacheFirst({\n cacheName: this._revisionedCacheManager.getCacheName(),\n plugins,\n // this._revisionedCacheManager.getCacheName() already includes a cacheId\n // prefix if the developer set one. We want to tell the cacheFirst()\n // factory method to exclude the cacheId to ensure that it doesn't prepend\n // the cacheId twice when it determines its cache name.\n // See https://github.com/GoogleChrome/workbox/issues/714\n excludeCacheId: true,\n });\n\n const capture = ({url}) => {\n // See https://github.com/GoogleChrome/workbox/issues/488.\n // The incoming URL might include a hash/URL fragment, and the URLs in\n // the cachedUrls array will never include a hash. We need to normalize\n // the incoming URL to ensure that the string comparison works.\n url.hash = '';\n\n const cachedUrls = this._revisionedCacheManager.getCachedUrls();\n if (cachedUrls.indexOf(url.href) !== -1) {\n return true;\n }\n\n let strippedUrl =\n this._removeIgnoreUrlParams(url.href, ignoreUrlParametersMatching);\n if (cachedUrls.indexOf(strippedUrl.href) !== -1) {\n return true;\n }\n\n if (directoryIndex && strippedUrl.pathname.endsWith('/')) {\n strippedUrl.pathname += directoryIndex;\n return cachedUrls.indexOf(strippedUrl.href) !== -1;\n }\n\n return false;\n };\n\n this._precacheRouter.registerRoute(capture, cacheFirstHandler);\n }\n\n /**\n * @private\n * @param {Array} ignoreUrlParametersMatching An array of regex's to\n * define which search parameters should be removed before looking for cache\n * match.\n * @param {string} directoryIndex The directory index is appended to URLs\n * ending with '/'.\n * @return {Promise} Returns a plugin that attempts to match the\n * URL with /index.html\n */\n _getCacheMatchPlugin(ignoreUrlParametersMatching, directoryIndex) {\n const cacheMatchFunction = async (\n {request, cache, cachedResponse, matchOptions}) => {\n // If we already have a cache hit, then just return that.\n if (cachedResponse) {\n return cachedResponse;\n }\n\n let strippedUrl =\n this._removeIgnoreUrlParams(request.url, ignoreUrlParametersMatching);\n return cache.match(strippedUrl.toString(), matchOptions)\n .then((response) => {\n if (!response) {\n // Otherwise, try again with the indexHtmlString value.\n if (strippedUrl.pathname.endsWith('/')) {\n strippedUrl.pathname += directoryIndex;\n return cache.match(strippedUrl.toString(), matchOptions);\n }\n }\n\n return response;\n });\n };\n\n return {cachedResponseWillBeUsed: cacheMatchFunction};\n }\n\n /**\n * @private\n * @param {string} originalUrl The original url to remove the search params.\n * @param {Array} ignoreUrlParametersMatching An array of regex's to\n * define which search parameters should be removed before looking for cache\n * match.\n * @return {string} An object that can be used as a plugin within a\n * RequestWrapper.\n */\n _removeIgnoreUrlParams(originalUrl, ignoreUrlParametersMatching) {\n const url = new URL(originalUrl);\n\n // Exclude initial '?'\n const searchString = url.search.slice(1);\n\n // Split into an array of 'key=value' strings\n const keyValueStrings = searchString.split('&');\n const keyValuePairs = keyValueStrings.map((keyValueString) => {\n // Split each 'key=value' string into a [key, value] array\n return keyValueString.split('=');\n });\n\n const filteredKeyValuesPairs = keyValuePairs.filter((keyValuePair) => {\n return ignoreUrlParametersMatching\n .every((ignoredRegex) => {\n // Return true iff the key doesn't match any of the regexes.\n return !ignoredRegex.test(keyValuePair[0]);\n });\n });\n const filteredStrings = filteredKeyValuesPairs.map((keyValuePair) => {\n // Join each [key, value] array into a 'key=value' string\n return keyValuePair.join('=');\n });\n\n // Join the array of 'key=value' strings into a string with '&' in\n // between each\n url.search = filteredStrings.join('&');\n\n return url;\n }\n}\n\nexport default WorkboxSW;\n"],"names":["constructor","_errors","createError","replace","message","stack","name","errors","parse","Object","keys","some","throwError","map","join","pop","includes","Array","isArray","ErrorStackParser","length","functionName","hasMethod","handler","isType","handle","match","method","normalizeHandler","isOneOf","validMethods","defaultMethod","prototype","toString","call","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","delimiter","exec","index","slice","push","prefix","optional","repeat","partial","asterisk","pattern","escapeGroup","escapeString","substr","charCodeAt","toUpperCase","pretty","encodeURIComponentPretty","encodeURIComponent","isarray","JSON","stringify","test","encodeAsterisk","sensitive","source","flags","strict","end","attachKeys","regexpToRegexp","arrayToRegexp","stringToRegexp","path","startsWith","pathToRegExp","url","origin","location","pathname","href","forEach","_logs","_childGroups","_isFallbackMode","navigator","userAgent","parseInt","addPrimaryLog","_primaryLog","addLog","addChildGroup","print","_printLogDetails","console","groupCollapsed","_getLogContent","groupEnd","logFunc","log","colors","concat","args","self","hostname","workbox","LOG_LEVEL","none","verbose","debug","warn","error","DARK_GREY","LIGHT_GREEN","LIGHT_YELLOW","LIGHT_RED","LIGHT_BLUE","_defaultLogLevel","isDevBuild","_printMessage","_shouldLogMessage","_getAllLogGroups","_getPrimaryMessageDetails","that","_getKeyValueDetails","data","LIGHT_GREY","logLevel","whitelist","blacklist","isArrayOfClass","RegExp","event","request","mode","search","logHelper","regExp","isInstance","_routes","_isListenerRegistered","addFetchListener","addEventListener","handleRequest","respondWith","FetchEvent","protocol","params","_findHandlerAndParams","defaultHandler","catchHandler","catch","get","route","setDefaultHandler","setCatchHandler","registerRoutes","routes","Route","has","set","unshift","registerRoute","unregisterRoutes","indexOf","splice","unregisterRoute","handleFetch","_revisionedCacheName","registerNavigationRoute","cacheName","caches","statuses","headers","atLeastOne","isArrayOfType","isResponseCacheable","response","Response","status","cacheWillUpdate","cacheId","registration","scope","pluginCallbacks","clone","Promise","resolve","body","blob","then","statusText","plugins","fetchOptions","matchOptions","getDefaultCacheName","_userSpecifiedCachableResponsePlugin","getDefaultCacheableResponsePlugin","_defaultCacheableResponsePlugin","getCache","_cache","open","cachedResponseWillBeUsed","cache","cachedResponse","fetch","Request","requestWillFetch","returnedRequest","fetchDidFail","fetchAndCache","waitOnCache","cacheKey","cacheResponsePlugin","cleanRedirects","redirected","type","put","cacheDidUpdate","oldResponse","newResponse","requestWrapper","_cacheablePlugin","networkTimeoutSeconds","setTimeout","clearTimeout","reject","ErrorFactory","race","tmpIdbName","onsuccess","result","onerror","apply","defineProperty","arguments","_index","_cursor","_request","_store","_tx","complete","oncomplete","onabort","_db","oldVersion","transaction","IDBIndex","IDBCursor","createIndex","IDBObjectStore","objectStore","IDBTransaction","createObjectStore","IDBDatabase","getAll","iterateCursor","value","continue","indexedDB","onupgradeneeded","delete","exports","maxEntries","maxAgeSeconds","_dbs","_caches","_expirationMutex","_timestampForNextRun","getDB","idbName","idbVersion","keyPath","urlPropertyName","timestampPropertyName","unique","isResponseFresh","now","Date","getTime","isNaN","expireEntries","updateTimestamp","hash","findOldEntries","findExtraEntries","deleteFromCacheAndIDB","urls","count","defaultHeadersToCheck","defaultSource","channel","BroadcastChannel","postMessage","cacheUpdatedMessageType","meta","payload","updatedUrl","first","second","headersToCheck","every","channelName","_channel","notifyIfUpdated","responsesAreSame","broadcastUpdate","_cacheId","cacheFirst","_getCachingMechanism","CacheFirst","cacheOnly","CacheOnly","networkFirst","NetworkFirst","networkOnly","NetworkOnly","staleWhileRevalidate","StaleWhileRevalidate","CacheExpirationPlugin","BroadcastCacheUpdatePlugin","CacheableResponsePlugin","excludeCacheId","errorMessageFactory","extras","_entriesToCache","_requestWrapper","credentials","_addEntries","_parsedCacheUrls","_addEntryToInstallList","_parseEntry","getCacheName","getCachedUrls","from","entryID","_onDuplicateInstallEntryFound","install","size","_cacheEntry","all","_isAlreadyCached","revision","wasUpdated","getNetworkRequest","_onEntryCached","cleanup","_getCache","filter","_onEntryDeleted","_onDuplicateEntryFound","_name","_version","_storeName","_getDb","_dbPromise","idb","close","getAllValues","getAllKeys","version","tmpRevisionedCacheName","_idbHelper","dbName","dbVersion","dbStorename","_close","cacheBust","cacheBustParamName","problemParam","problemValue","defaultRevisionedCacheName","_revisionDetailsModel","addToCacheList","revisionedFiles","input","firstEntry","secondEntry","_createLogFriendlyString","isServiceWorkerGlobalScope","skipWaiting","clientsClaim","directoryIndex","precacheChannelName","ignoreUrlParametersMatching","isLocalhost","_runtimeCacheName","_revisionedCacheManager","_strategies","_precacheRouter","_router","_registerInstallActivateEvents","_registerDefaultRoutes","precache","waitUntil","clients","claim","_getCacheMatchPlugin","strategies","_removeIgnoreUrlParams","endsWith","split"],"mappings":"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"} \ No newline at end of file diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css index b5f77b27c..bcd4f3346 100644 --- a/dist/css/bootstrap-grid.css +++ b/dist/css/bootstrap-grid.css @@ -1,3 +1,9 @@ +/*! + * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ @-ms-viewport { width: device-width; } @@ -14,11 +20,11 @@ html { } .container { - margin-right: auto; - margin-left: auto; + width: 100%; padding-right: 15px; padding-left: 15px; - width: 100%; + margin-right: auto; + margin-left: auto; } @media (min-width: 576px) { @@ -47,11 +53,10 @@ html { .container-fluid { width: 100%; - margin-right: auto; - margin-left: auto; padding-right: 15px; padding-left: 15px; - width: 100%; + margin-right: auto; + margin-left: auto; } .row { @@ -174,6 +179,11 @@ html { max-width: 100%; } +.order-first { + -ms-flex-order: -1; + order: -1; +} + .order-1 { -ms-flex-order: 1; order: 1; @@ -234,6 +244,50 @@ html { order: 12; } +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + @media (min-width: 576px) { .col-sm { -ms-flex-preferred-size: 0; @@ -308,6 +362,10 @@ html { flex: 0 0 100%; max-width: 100%; } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } .order-sm-1 { -ms-flex-order: 1; order: 1; @@ -356,6 +414,42 @@ html { -ms-flex-order: 12; order: 12; } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } } @media (min-width: 768px) { @@ -432,6 +526,10 @@ html { flex: 0 0 100%; max-width: 100%; } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } .order-md-1 { -ms-flex-order: 1; order: 1; @@ -480,6 +578,42 @@ html { -ms-flex-order: 12; order: 12; } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } } @media (min-width: 992px) { @@ -556,6 +690,10 @@ html { flex: 0 0 100%; max-width: 100%; } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } .order-lg-1 { -ms-flex-order: 1; order: 1; @@ -604,6 +742,42 @@ html { -ms-flex-order: 12; order: 12; } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } } @media (min-width: 1200px) { @@ -680,6 +854,10 @@ html { flex: 0 0 100%; max-width: 100%; } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } .order-xl-1 { -ms-flex-order: 1; order: 1; @@ -728,6 +906,42 @@ html { -ms-flex-order: 12; order: 12; } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } } .flex-row { diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map index a5145bdb0..acfe45339 100644 --- a/dist/css/bootstrap-grid.css.map +++ b/dist/css/bootstrap-grid.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["// Bootstrap Grid only\n//\n// Includes relevant variables and mixins for the flexbox grid\n// system, as well as the generated predefined classes (e.g., `.col-sm-4`).\n\n//\n// Box sizing, responsive, and more\n//\n\n@at-root {\n @-ms-viewport { width: device-width; }\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n width: 100%;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n width: 100%;\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n margin-right: auto;\n margin-left: auto;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n width: 100%;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name)\n } @else if $min == null {\n @include media-breakpoint-down($name)\n }\n}\n","// Variables\n//\n// Copy settings from this file into the provided `_custom.scss` to override\n// the Bootstrap defaults without modifying key, versioned files.\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Table of Contents\n//\n// Color system\n// Options\n// Spacing\n// Body\n// Links\n// Grid breakpoints\n// Grid containers\n// Grid columns\n// Fonts\n// Components\n// Tables\n// Buttons\n// Forms\n// Dropdowns\n// Z-index master list\n// Navs\n// Navbar\n// Pagination\n// Jumbotron\n// Form states and alerts\n// Cards\n// Tooltips\n// Popovers\n// Badges\n// Modals\n// Alerts\n// Progress bars\n// List group\n// Image thumbnails\n// Figures\n// Breadcrumbs\n// Carousel\n// Close\n// Code\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: (\n 100: $gray-100,\n 200: $gray-200,\n 300: $gray-300,\n 400: $gray-400,\n 500: $gray-500,\n 600: $gray-600,\n 700: $gray-700,\n 800: $gray-800,\n 900: $gray-900\n) !default;\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: (\n blue: $blue,\n indigo: $indigo,\n purple: $purple,\n pink: $pink,\n red: $red,\n orange: $orange,\n yellow: $yellow,\n green: $green,\n teal: $teal,\n cyan: $cyan,\n white: $white,\n gray: $gray-600,\n gray-dark: $gray-800\n) !default;\n\n$theme-colors: (\n primary: $blue,\n secondary: $gray-600,\n success: $green,\n info: $cyan,\n warning: $yellow,\n danger: $red,\n light: $gray-100,\n dark: $gray-800\n) !default;\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif !default;\n$font-family-monospace: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: 1.25rem !default;\n$font-size-sm: .875rem !default;\n\n$font-weight-normal: normal !default;\n$font-weight-bold: bold !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: 2.5rem !default;\n$h2-font-size: 2rem !default;\n$h3-font-size: 1.75rem !default;\n$h4-font-size: 1.5rem !default;\n$h5-font-size: 1.25rem !default;\n$h6-font-size: 1rem !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.1 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: 1.25rem !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-inverse-bg: $gray-900 !default;\n$table-inverse-accent-bg: rgba($white, .05) !default;\n$table-inverse-hover-bg: rgba($white, .075) !default;\n$table-inverse-border-color: lighten($gray-900, 7.5%) !default;\n$table-inverse-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .5rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: 1.25 !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: 1.5 !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: 1.5 !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-focus-box-shadow: 0 0 0 3px rgba(theme-color(\"primary\"), .25) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: all .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: rgba($black,.15) !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-box-shadow: $input-box-shadow, $btn-focus-box-shadow !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-sm * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px theme-color(\"primary\") !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: 2.5rem !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: 1rem !default;\n$custom-file-padding-x: .5rem !default;\n$custom-file-line-height: 1.5 !default;\n$custom-file-color: $gray-700 !default;\n$custom-file-bg: $white !default;\n$custom-file-border-width: $border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $border-radius !default;\n$custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $gray-200 !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-padding-y: ($navbar-brand-height - $nav-link-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: rgba($white,1) !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: 1px !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-deck-margin: ($grid-gutter-width / 2) !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-inner-padding: 1px !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 5px 10px rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: 8px !default;\n$popover-header-padding-x: 14px !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: 9px !default;\n$popover-body-padding-x: 14px !default;\n\n$popover-arrow-width: 10px !default;\n$popover-arrow-height: 5px !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-color: $white !default;\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: .75rem !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n }\n }\n}\n","// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-200 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: .8rem !default;\n$popover-arrow-height: .4rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first {\n order: -1;\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css index b775555cc..a7b220f5f 100644 --- a/dist/css/bootstrap-grid.min.css +++ b/dist/css/bootstrap-grid.min.css @@ -1,2 +1,7 @@ -@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px;width:100%}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px;width:100%}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}} +/*! + * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}} /*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map index 5e16e09e5..de236e9bc 100644 --- a/dist/css/bootstrap-grid.min.css.map +++ b/dist/css/bootstrap-grid.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["// Bootstrap Grid only\n//\n// Includes relevant variables and mixins for the flexbox grid\n// system, as well as the generated predefined classes (e.g., `.col-sm-4`).\n\n//\n// Box sizing, responsive, and more\n//\n\n@at-root {\n @-ms-viewport { width: device-width; }\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n width: 100%;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n width: 100%;\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n margin-right: auto;\n margin-left: auto;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n width: 100%;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name)\n } @else if $min == null {\n @include media-breakpoint-down($name)\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n }\n }\n}\n","// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first {\n order: -1;\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css index 867ee1771..713196fcf 100644 --- a/dist/css/bootstrap-reboot.css +++ b/dist/css/bootstrap-reboot.css @@ -1,5 +1,17 @@ -html { +/*! + * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { box-sizing: border-box; +} + +html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; @@ -8,12 +20,6 @@ html { -webkit-tap-highlight-color: transparent; } -*, -*::before, -*::after { - box-sizing: inherit; -} - @-ms-viewport { width: device-width; } @@ -24,11 +30,12 @@ article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, s body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1rem; - font-weight: normal; + font-weight: 400; line-height: 1.5; color: #212529; + text-align: left; background-color: #fff; } @@ -44,7 +51,7 @@ hr { h1, h2, h3, h4, h5, h6 { margin-top: 0; - margin-bottom: .5rem; + margin-bottom: 0.5rem; } p { @@ -82,7 +89,7 @@ ul ol { } dt { - font-weight: bold; + font-weight: 700; } dd { @@ -161,6 +168,7 @@ pre { margin-top: 0; margin-bottom: 1rem; overflow: auto; + -ms-overflow-style: scrollbar; } figure { @@ -180,7 +188,7 @@ a, area, button, [role="button"], -input, +input:not([type="range"]), label, select, summary, @@ -202,7 +210,7 @@ caption { } th { - text-align: left; + text-align: inherit; } label { @@ -210,6 +218,10 @@ label { margin-bottom: .5rem; } +button { + border-radius: 0; +} + button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map index 425ac48c7..0071ed2c2 100644 --- a/dist/css/bootstrap-reboot.css.map +++ b/dist/css/bootstrap-reboot.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["// scss-lint:disable QualifyingElement, DuplicateProperty, VendorPrefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\nhtml {\n box-sizing: border-box; // 1\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit; // 1\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport { width: device-width; }\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch\n// * http://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment\n text-align: left;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","html {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Variables\n//\n// Copy settings from this file into the provided `_custom.scss` to override\n// the Bootstrap defaults without modifying key, versioned files.\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Table of Contents\n//\n// Color system\n// Options\n// Spacing\n// Body\n// Links\n// Grid breakpoints\n// Grid containers\n// Grid columns\n// Fonts\n// Components\n// Tables\n// Buttons\n// Forms\n// Dropdowns\n// Z-index master list\n// Navs\n// Navbar\n// Pagination\n// Jumbotron\n// Form states and alerts\n// Cards\n// Tooltips\n// Popovers\n// Badges\n// Modals\n// Alerts\n// Progress bars\n// List group\n// Image thumbnails\n// Figures\n// Breadcrumbs\n// Carousel\n// Close\n// Code\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: (\n 100: $gray-100,\n 200: $gray-200,\n 300: $gray-300,\n 400: $gray-400,\n 500: $gray-500,\n 600: $gray-600,\n 700: $gray-700,\n 800: $gray-800,\n 900: $gray-900\n) !default;\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: (\n blue: $blue,\n indigo: $indigo,\n purple: $purple,\n pink: $pink,\n red: $red,\n orange: $orange,\n yellow: $yellow,\n green: $green,\n teal: $teal,\n cyan: $cyan,\n white: $white,\n gray: $gray-600,\n gray-dark: $gray-800\n) !default;\n\n$theme-colors: (\n primary: $blue,\n secondary: $gray-600,\n success: $green,\n info: $cyan,\n warning: $yellow,\n danger: $red,\n light: $gray-100,\n dark: $gray-800\n) !default;\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif !default;\n$font-family-monospace: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: 1.25rem !default;\n$font-size-sm: .875rem !default;\n\n$font-weight-normal: normal !default;\n$font-weight-bold: bold !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: 2.5rem !default;\n$h2-font-size: 2rem !default;\n$h3-font-size: 1.75rem !default;\n$h4-font-size: 1.5rem !default;\n$h5-font-size: 1.25rem !default;\n$h6-font-size: 1rem !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.1 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: 1.25rem !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-inverse-bg: $gray-900 !default;\n$table-inverse-accent-bg: rgba($white, .05) !default;\n$table-inverse-hover-bg: rgba($white, .075) !default;\n$table-inverse-border-color: lighten($gray-900, 7.5%) !default;\n$table-inverse-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .5rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: 1.25 !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: 1.5 !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: 1.5 !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-focus-box-shadow: 0 0 0 3px rgba(theme-color(\"primary\"), .25) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: all .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: rgba($black,.15) !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-box-shadow: $input-box-shadow, $btn-focus-box-shadow !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-sm * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px theme-color(\"primary\") !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: 2.5rem !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: 1rem !default;\n$custom-file-padding-x: .5rem !default;\n$custom-file-line-height: 1.5 !default;\n$custom-file-color: $gray-700 !default;\n$custom-file-bg: $white !default;\n$custom-file-border-width: $border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $border-radius !default;\n$custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $gray-200 !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-padding-y: ($navbar-brand-height - $nav-link-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: rgba($white,1) !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: 1px !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-deck-margin: ($grid-gutter-width / 2) !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-inner-padding: 1px !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 5px 10px rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: 8px !default;\n$popover-header-padding-x: 14px !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: 9px !default;\n$popover-body-padding-x: 14px !default;\n\n$popover-arrow-width: 10px !default;\n$popover-arrow-height: 5px !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-color: $white !default;\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: .75rem !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n// scss-lint:disable Indentation\n &:hover { @content }\n// scss-lint:enable Indentation\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus { @content }\n @include hover { @content }\n } @else {\n &:focus,\n &:hover {\n @content\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content\n }\n @include hover { @content }\n } @else {\n &,\n &:focus,\n &:hover {\n @content\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content\n }\n @include hover { @content }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content\n }\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-200 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: .8rem !default;\n$popover-arrow-height: .4rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","// stylelint-disable indentation\n@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n &:hover { @content; }\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &,\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.min.css b/dist/css/bootstrap-reboot.min.css index 4ee4a4069..3f4f1a877 100644 --- a/dist/css/bootstrap-reboot.min.css +++ b/dist/css/bootstrap-reboot.min.css @@ -1,2 +1,8 @@ -html{box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important} +/*! + * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important} /*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.min.css.map b/dist/css/bootstrap-reboot.min.css.map index d461cb58f..4b8e66276 100644 --- a/dist/css/bootstrap-reboot.min.css.map +++ b/dist/css/bootstrap-reboot.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAoBA,KACE,WAAA,WACA,YAAA,WACA,YAAA,KACA,yBAAA,KACA,qBAAA,KACA,mBAAA,UACA,4BAAA,YAGF,EClBA,QADA,SDsBE,WAAA,QAKA,cAAgB,MAAA,aAIlB,QAAA,MAAA,OAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAQF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KExBF,sBFiCE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAYF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KC/CF,0BDyDA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCpDF,GDuDA,GCxDA,GD2DE,WAAA,EACA,cAAA,KAGF,MCvDA,MACA,MAFA,MD4DE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,IACE,WAAA,OAGF,ECxDA,OD0DE,YAAA,OAGF,MACE,UAAA,IAQF,IC7DA,ID+DE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YACA,6BAAA,QGpLE,QHuLA,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KGzLE,oCAAA,oCH4LA,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EC/DJ,KACA,IDuEA,ICtEA,KD0EE,YAAA,SAAA,CAAA,UACA,UAAA,IAGF,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,eACE,SAAA,OCjFF,cD+FA,ECjGA,KACA,OAEA,MACA,MACA,OACA,QACA,SDmGE,iBAAA,aAAA,aAAA,aAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAEE,WAAA,KAQF,MAEE,QAAA,aACA,cAAA,MAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBC7GF,ODgHA,MC9GA,SADA,OAEA,SDkHE,OAAA,EACA,YAAA,QACA,UAAA,QACA,YAAA,QAGF,OChHA,MDkHE,SAAA,QAGF,OChHA,ODkHE,eAAA,KC5GF,aACA,cDiHA,OCnHA,mBDuHE,mBAAA,OChHF,gCACA,+BACA,gCDkHA,yBAIE,QAAA,EACA,aAAA,KCjHF,qBDoHA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCpHA,2BACA,kBAFA,iBD8HE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MACA,UAAA,OACA,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SEnIF,yCDGA,yCDsIE,OAAA,KEpIF,cF4IE,eAAA,KACA,mBAAA,KExIF,4CDGA,yCD8IE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UAGF,SACE,QAAA,KErJF,SF2JE,QAAA","sourcesContent":["// scss-lint:disable QualifyingElement, DuplicateProperty, VendorPrefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\nhtml {\n box-sizing: border-box; // 1\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit; // 1\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport { width: device-width; }\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch\n// * http://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment\n text-align: left;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","html {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","html {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n// scss-lint:disable Indentation\n &:hover { @content }\n// scss-lint:enable Indentation\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus { @content }\n @include hover { @content }\n } @else {\n &:focus,\n &:hover {\n @content\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content\n }\n @include hover { @content }\n } @else {\n &,\n &:focus,\n &:hover {\n @content\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content\n }\n @include hover { @content }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content\n }\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable indentation\n@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n &:hover { @content; }\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &,\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css index b39107f6f..fa55c202e 100644 --- a/dist/css/bootstrap.css +++ b/dist/css/bootstrap.css @@ -1,9 +1,40 @@ /*! - * Bootstrap v4.0.0-beta (https://getbootstrap.com) + * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) * Copyright 2011-2017 The Bootstrap Authors * Copyright 2011-2017 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #868e96; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #868e96; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + @media print { *, *::before, @@ -62,8 +93,13 @@ } } -html { +*, +*::before, +*::after { box-sizing: border-box; +} + +html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; @@ -72,12 +108,6 @@ html { -webkit-tap-highlight-color: transparent; } -*, -*::before, -*::after { - box-sizing: inherit; -} - @-ms-viewport { width: device-width; } @@ -88,11 +118,12 @@ article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, s body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1rem; - font-weight: normal; + font-weight: 400; line-height: 1.5; color: #212529; + text-align: left; background-color: #fff; } @@ -108,7 +139,7 @@ hr { h1, h2, h3, h4, h5, h6 { margin-top: 0; - margin-bottom: .5rem; + margin-bottom: 0.5rem; } p { @@ -146,7 +177,7 @@ ul ol { } dt { - font-weight: bold; + font-weight: 700; } dd { @@ -225,6 +256,7 @@ pre { margin-top: 0; margin-bottom: 1rem; overflow: auto; + -ms-overflow-style: scrollbar; } figure { @@ -244,7 +276,7 @@ a, area, button, [role="button"], -input, +input:not([type="range"]), label, select, summary, @@ -266,7 +298,7 @@ caption { } th { - text-align: left; + text-align: inherit; } label { @@ -274,6 +306,10 @@ label { margin-bottom: .5rem; } +button { + border-radius: 0; +} + button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; @@ -397,7 +433,7 @@ h1, h2, h3, h4, h5, h6, margin-bottom: 0.5rem; font-family: inherit; font-weight: 500; - line-height: 1.1; + line-height: 1.2; color: inherit; } @@ -433,25 +469,25 @@ h6, .h6 { .display-1 { font-size: 6rem; font-weight: 300; - line-height: 1.1; + line-height: 1.2; } .display-2 { font-size: 5.5rem; font-weight: 300; - line-height: 1.1; + line-height: 1.2; } .display-3 { font-size: 4.5rem; font-weight: 300; - line-height: 1.1; + line-height: 1.2; } .display-4 { font-size: 3.5rem; font-weight: 300; - line-height: 1.1; + line-height: 1.2; } hr { @@ -464,7 +500,7 @@ hr { small, .small { font-size: 80%; - font-weight: normal; + font-weight: 400; } mark, @@ -544,7 +580,7 @@ code, kbd, pre, samp { - font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } code { @@ -572,7 +608,7 @@ kbd { kbd kbd { padding: 0; font-size: 100%; - font-weight: bold; + font-weight: 700; } pre { @@ -597,11 +633,11 @@ pre code { } .container { - margin-right: auto; - margin-left: auto; + width: 100%; padding-right: 15px; padding-left: 15px; - width: 100%; + margin-right: auto; + margin-left: auto; } @media (min-width: 576px) { @@ -630,11 +666,10 @@ pre code { .container-fluid { width: 100%; - margin-right: auto; - margin-left: auto; padding-right: 15px; padding-left: 15px; - width: 100%; + margin-right: auto; + margin-left: auto; } .row { @@ -757,6 +792,11 @@ pre code { max-width: 100%; } +.order-first { + -ms-flex-order: -1; + order: -1; +} + .order-1 { -ms-flex-order: 1; order: 1; @@ -817,6 +857,50 @@ pre code { order: 12; } +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + @media (min-width: 576px) { .col-sm { -ms-flex-preferred-size: 0; @@ -891,6 +975,10 @@ pre code { flex: 0 0 100%; max-width: 100%; } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } .order-sm-1 { -ms-flex-order: 1; order: 1; @@ -939,6 +1027,42 @@ pre code { -ms-flex-order: 12; order: 12; } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } } @media (min-width: 768px) { @@ -1015,6 +1139,10 @@ pre code { flex: 0 0 100%; max-width: 100%; } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } .order-md-1 { -ms-flex-order: 1; order: 1; @@ -1063,6 +1191,42 @@ pre code { -ms-flex-order: 12; order: 12; } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } } @media (min-width: 992px) { @@ -1139,6 +1303,10 @@ pre code { flex: 0 0 100%; max-width: 100%; } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } .order-lg-1 { -ms-flex-order: 1; order: 1; @@ -1187,6 +1355,42 @@ pre code { -ms-flex-order: 12; order: 12; } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } } @media (min-width: 1200px) { @@ -1263,6 +1467,10 @@ pre code { flex: 0 0 100%; max-width: 100%; } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } .order-xl-1 { -ms-flex-order: 1; order: 1; @@ -1311,6 +1519,42 @@ pre code { -ms-flex-order: 12; order: 12; } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } } .table { @@ -1502,62 +1746,116 @@ pre code { background-color: rgba(0, 0, 0, 0.075); } -.thead-inverse th { +.table .thead-dark th { color: #fff; background-color: #212529; -} - -.thead-default th { - color: #495057; - background-color: #e9ecef; -} - -.table-inverse { - color: #fff; - background-color: #212529; -} - -.table-inverse th, -.table-inverse td, -.table-inverse thead th { border-color: #32383e; } -.table-inverse.table-bordered { +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #e9ecef; +} + +.table-dark { + color: #fff; + background-color: #212529; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #32383e; +} + +.table-dark.table-bordered { border: 0; } -.table-inverse.table-striped tbody tr:nth-of-type(odd) { +.table-dark.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, 0.05); } -.table-inverse.table-hover tbody tr:hover { +.table-dark.table-hover tbody tr:hover { background-color: rgba(255, 255, 255, 0.075); } -@media (max-width: 991px) { - .table-responsive { +@media (max-width: 575px) { + .table-responsive-sm { display: block; width: 100%; overflow-x: auto; + -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; } - .table-responsive.table-bordered { + .table-responsive-sm.table-bordered { border: 0; } } +@media (max-width: 767px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-md.table-bordered { + border: 0; + } +} + +@media (max-width: 991px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-lg.table-bordered { + border: 0; + } +} + +@media (max-width: 1199px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-xl.table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +.table-responsive.table-bordered { + border: 0; +} + .form-control { display: block; width: 100%; - padding: 0.5rem 0.75rem; + padding: 0.375rem 0.75rem; font-size: 1rem; - line-height: 1.25; + line-height: 1.5; color: #495057; background-color: #fff; background-image: none; background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); + border: 1px solid #ced4da; border-radius: 0.25rem; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } @@ -1572,6 +1870,7 @@ pre code { background-color: #fff; border-color: #80bdff; outline: none; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-control::-webkit-input-placeholder { @@ -1584,6 +1883,11 @@ pre code { opacity: 1; } +.form-control::-ms-input-placeholder { + color: #868e96; + opacity: 1; +} + .form-control::placeholder { color: #868e96; opacity: 1; @@ -1609,35 +1913,39 @@ select.form-control:focus::-ms-value { } .col-form-label { - padding-top: calc(0.5rem - 1px * 2); - padding-bottom: calc(0.5rem - 1px * 2); + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); margin-bottom: 0; + line-height: 1.5; } .col-form-label-lg { - padding-top: calc(0.5rem - 1px * 2); - padding-bottom: calc(0.5rem - 1px * 2); + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); font-size: 1.25rem; + line-height: 1.5; } .col-form-label-sm { - padding-top: calc(0.25rem - 1px * 2); - padding-bottom: calc(0.25rem - 1px * 2); + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); font-size: 0.875rem; + line-height: 1.5; } .col-form-legend { - padding-top: 0.5rem; - padding-bottom: 0.5rem; + padding-top: 0.375rem; + padding-bottom: 0.375rem; margin-bottom: 0; font-size: 1rem; } .form-control-plaintext { - padding-top: 0.5rem; - padding-bottom: 0.5rem; + padding-top: 0.375rem; + padding-bottom: 0.375rem; margin-bottom: 0; - line-height: 1.25; + line-height: 1.5; + background-color: transparent; border: solid transparent; border-width: 1px 0; } @@ -1678,7 +1986,7 @@ select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.for select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), .input-group-lg > select.input-group-addon:not([size]):not([multiple]), .input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) { - height: calc(2.3125rem + 2px); + height: calc(2.875rem + 2px); } .form-group { @@ -1726,30 +2034,23 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for margin-left: -1.25rem; } -.form-check-input:only-child { - position: static; -} - .form-check-inline { display: inline-block; + margin-right: 0.75rem; } .form-check-inline .form-check-label { vertical-align: middle; } -.form-check-inline + .form-check-inline { - margin-left: 0.75rem; -} - -.invalid-feedback { +.valid-feedback { display: none; margin-top: .25rem; font-size: .875rem; - color: #dc3545; + color: #28a745; } -.invalid-tooltip { +.valid-tooltip { position: absolute; top: 100%; z-index: 5; @@ -1760,7 +2061,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for font-size: .875rem; line-height: 1; color: #fff; - background-color: rgba(220, 53, 69, 0.8); + background-color: rgba(40, 167, 69, 0.8); border-radius: .2rem; } @@ -1776,14 +2077,14 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } -.was-validated .form-control:valid ~ .invalid-feedback, -.was-validated .form-control:valid ~ .invalid-tooltip, .form-control.is-valid ~ .invalid-feedback, -.form-control.is-valid ~ .invalid-tooltip, .was-validated -.custom-select:valid ~ .invalid-feedback, +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip, .was-validated +.custom-select:valid ~ .valid-feedback, .was-validated -.custom-select:valid ~ .invalid-tooltip, -.custom-select.is-valid ~ .invalid-feedback, -.custom-select.is-valid ~ .invalid-tooltip { +.custom-select:valid ~ .valid-tooltip, +.custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { display: block; } @@ -1811,6 +2112,28 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } +.invalid-feedback { + display: none; + margin-top: .25rem; + font-size: .875rem; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + width: 250px; + padding: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(220, 53, 69, 0.8); + border-radius: .2rem; +} + .was-validated .form-control:invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .custom-select.is-invalid { @@ -1903,10 +2226,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for .form-inline .input-group { width: auto; } - .form-inline .form-control-label { - margin-bottom: 0; - vertical-align: middle; - } .form-inline .form-check { display: -ms-flexbox; display: flex; @@ -1949,7 +2268,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for .btn { display: inline-block; - font-weight: normal; + font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; @@ -1958,11 +2277,11 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for -ms-user-select: none; user-select: none; border: 1px solid transparent; - padding: 0.5rem 0.75rem; + padding: 0.375rem 0.75rem; font-size: 1rem; - line-height: 1.25; + line-height: 1.5; border-radius: 0.25rem; - transition: all 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .btn:focus, .btn:hover { @@ -1971,14 +2290,14 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for .btn:focus, .btn.focus { outline: 0; - box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .btn.disabled, .btn:disabled { opacity: .65; } -.btn:active, .btn.active { +.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active { background-image: none; } @@ -2000,7 +2319,7 @@ fieldset[disabled] a.btn { } .btn-primary:focus, .btn-primary.focus { - box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-primary.disabled, .btn-primary:disabled { @@ -2008,11 +2327,12 @@ fieldset[disabled] a.btn { border-color: #007bff; } -.btn-primary:active, .btn-primary.active, +.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active, .show > .btn-primary.dropdown-toggle { - background-color: #0069d9; - background-image: none; - border-color: #0062cc; + color: #fff; + background-color: #0062cc; + border-color: #005cbf; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-secondary { @@ -2028,7 +2348,7 @@ fieldset[disabled] a.btn { } .btn-secondary:focus, .btn-secondary.focus { - box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5); + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } .btn-secondary.disabled, .btn-secondary:disabled { @@ -2036,11 +2356,12 @@ fieldset[disabled] a.btn { border-color: #868e96; } -.btn-secondary:active, .btn-secondary.active, +.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { - background-color: #727b84; - background-image: none; - border-color: #6c757d; + color: #fff; + background-color: #6c757d; + border-color: #666e76; + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } .btn-success { @@ -2056,7 +2377,7 @@ fieldset[disabled] a.btn { } .btn-success:focus, .btn-success.focus { - box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-success.disabled, .btn-success:disabled { @@ -2064,11 +2385,12 @@ fieldset[disabled] a.btn { border-color: #28a745; } -.btn-success:active, .btn-success.active, +.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active, .show > .btn-success.dropdown-toggle { - background-color: #218838; - background-image: none; - border-color: #1e7e34; + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-info { @@ -2084,7 +2406,7 @@ fieldset[disabled] a.btn { } .btn-info:focus, .btn-info.focus { - box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-info.disabled, .btn-info:disabled { @@ -2092,11 +2414,12 @@ fieldset[disabled] a.btn { border-color: #17a2b8; } -.btn-info:active, .btn-info.active, +.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active, .show > .btn-info.dropdown-toggle { - background-color: #138496; - background-image: none; - border-color: #117a8b; + color: #fff; + background-color: #117a8b; + border-color: #10707f; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-warning { @@ -2112,7 +2435,7 @@ fieldset[disabled] a.btn { } .btn-warning:focus, .btn-warning.focus { - box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-warning.disabled, .btn-warning:disabled { @@ -2120,11 +2443,12 @@ fieldset[disabled] a.btn { border-color: #ffc107; } -.btn-warning:active, .btn-warning.active, +.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active, .show > .btn-warning.dropdown-toggle { - background-color: #e0a800; - background-image: none; - border-color: #d39e00; + color: #111; + background-color: #d39e00; + border-color: #c69500; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-danger { @@ -2140,7 +2464,7 @@ fieldset[disabled] a.btn { } .btn-danger:focus, .btn-danger.focus { - box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-danger.disabled, .btn-danger:disabled { @@ -2148,11 +2472,12 @@ fieldset[disabled] a.btn { border-color: #dc3545; } -.btn-danger:active, .btn-danger.active, +.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active, .show > .btn-danger.dropdown-toggle { - background-color: #c82333; - background-image: none; - border-color: #bd2130; + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-light { @@ -2168,7 +2493,7 @@ fieldset[disabled] a.btn { } .btn-light:focus, .btn-light.focus { - box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-light.disabled, .btn-light:disabled { @@ -2176,11 +2501,12 @@ fieldset[disabled] a.btn { border-color: #f8f9fa; } -.btn-light:active, .btn-light.active, +.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active, .show > .btn-light.dropdown-toggle { - background-color: #e2e6ea; - background-image: none; - border-color: #dae0e5; + color: #111; + background-color: #dae0e5; + border-color: #d3d9df; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-dark { @@ -2196,7 +2522,7 @@ fieldset[disabled] a.btn { } .btn-dark:focus, .btn-dark.focus { - box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-dark.disabled, .btn-dark:disabled { @@ -2204,11 +2530,12 @@ fieldset[disabled] a.btn { border-color: #343a40; } -.btn-dark:active, .btn-dark.active, +.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active, .show > .btn-dark.dropdown-toggle { - background-color: #23272b; - background-image: none; - border-color: #1d2124; + color: #fff; + background-color: #1d2124; + border-color: #171a1d; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-outline-primary { @@ -2225,7 +2552,7 @@ fieldset[disabled] a.btn { } .btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-outline-primary.disabled, .btn-outline-primary:disabled { @@ -2233,11 +2560,12 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-primary:active, .btn-outline-primary.active, +.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { color: #fff; background-color: #007bff; border-color: #007bff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-outline-secondary { @@ -2254,7 +2582,7 @@ fieldset[disabled] a.btn { } .btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5); + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { @@ -2262,11 +2590,12 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-secondary:active, .btn-outline-secondary.active, +.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { color: #fff; background-color: #868e96; border-color: #868e96; + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } .btn-outline-success { @@ -2283,7 +2612,7 @@ fieldset[disabled] a.btn { } .btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-outline-success.disabled, .btn-outline-success:disabled { @@ -2291,11 +2620,12 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-success:active, .btn-outline-success.active, +.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { color: #fff; background-color: #28a745; border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-outline-info { @@ -2312,7 +2642,7 @@ fieldset[disabled] a.btn { } .btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-outline-info.disabled, .btn-outline-info:disabled { @@ -2320,11 +2650,12 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-info:active, .btn-outline-info.active, +.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { color: #fff; background-color: #17a2b8; border-color: #17a2b8; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-outline-warning { @@ -2341,7 +2672,7 @@ fieldset[disabled] a.btn { } .btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-outline-warning.disabled, .btn-outline-warning:disabled { @@ -2349,11 +2680,12 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-warning:active, .btn-outline-warning.active, +.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { color: #fff; background-color: #ffc107; border-color: #ffc107; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-outline-danger { @@ -2370,7 +2702,7 @@ fieldset[disabled] a.btn { } .btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-outline-danger.disabled, .btn-outline-danger:disabled { @@ -2378,11 +2710,12 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-danger:active, .btn-outline-danger.active, +.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { color: #fff; background-color: #dc3545; border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-outline-light { @@ -2393,13 +2726,13 @@ fieldset[disabled] a.btn { } .btn-outline-light:hover { - color: #fff; + color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-outline-light.disabled, .btn-outline-light:disabled { @@ -2407,11 +2740,12 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-light:active, .btn-outline-light.active, +.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { - color: #fff; + color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-outline-dark { @@ -2428,7 +2762,7 @@ fieldset[disabled] a.btn { } .btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-outline-dark.disabled, .btn-outline-dark:disabled { @@ -2436,46 +2770,36 @@ fieldset[disabled] a.btn { background-color: transparent; } -.btn-outline-dark:active, .btn-outline-dark.active, +.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { color: #fff; background-color: #343a40; border-color: #343a40; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-link { - font-weight: normal; + font-weight: 400; color: #007bff; - border-radius: 0; -} - -.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled { background-color: transparent; } -.btn-link, .btn-link:focus, .btn-link:active { +.btn-link:hover { + color: #0056b3; + text-decoration: underline; + background-color: transparent; + border-color: transparent; +} + +.btn-link:focus, .btn-link.focus { border-color: transparent; box-shadow: none; } -.btn-link:hover { - border-color: transparent; -} - -.btn-link:focus, .btn-link:hover { - color: #0056b3; - text-decoration: underline; - background-color: transparent; -} - -.btn-link:disabled { +.btn-link:disabled, .btn-link.disabled { color: #868e96; } -.btn-link:disabled:focus, .btn-link:disabled:hover { - text-decoration: none; -} - .btn-lg, .btn-group-lg > .btn { padding: 0.5rem 1rem; font-size: 1.25rem; @@ -2551,6 +2875,7 @@ tbody.collapse.show { content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; + border-bottom: 0; border-left: 0.3em solid transparent; } @@ -2558,16 +2883,6 @@ tbody.collapse.show { margin-left: 0; } -.dropup .dropdown-menu { - margin-top: 0; - margin-bottom: 0.125rem; -} - -.dropup .dropdown-toggle::after { - border-top: 0; - border-bottom: 0.3em solid; -} - .dropdown-menu { position: absolute; top: 100%; @@ -2588,6 +2903,28 @@ tbody.collapse.show { border-radius: 0.25rem; } +.dropup .dropdown-menu { + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + .dropdown-divider { height: 0; margin: 0.5rem 0; @@ -2600,7 +2937,7 @@ tbody.collapse.show { width: 100%; padding: 0.25rem 1.5rem; clear: both; - font-weight: normal; + font-weight: 400; color: #212529; text-align: inherit; white-space: nowrap; @@ -2625,10 +2962,6 @@ tbody.collapse.show { background-color: transparent; } -.show > a { - outline: 0; -} - .dropdown-menu.show { display: block; } @@ -2655,7 +2988,6 @@ tbody.collapse.show { position: relative; -ms-flex: 0 1 auto; flex: 0 1 auto; - margin-bottom: 0; } .btn-group > .btn:hover, @@ -2752,8 +3084,6 @@ tbody.collapse.show { } .btn-group-vertical { - display: -ms-inline-flexbox; - display: inline-flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; @@ -2817,6 +3147,8 @@ tbody.collapse.show { position: relative; display: -ms-flexbox; display: flex; + -ms-flex-align: stretch; + align-items: stretch; width: 100%; } @@ -2851,19 +3183,18 @@ tbody.collapse.show { .input-group-addon, .input-group-btn { white-space: nowrap; - vertical-align: middle; } .input-group-addon { - padding: 0.5rem 0.75rem; + padding: 0.375rem 0.75rem; margin-bottom: 0; font-size: 1rem; - font-weight: normal; - line-height: 1.25; + font-weight: 400; + line-height: 1.5; color: #495057; text-align: center; background-color: #e9ecef; - border: 1px solid rgba(0, 0, 0, 0.15); + border: 1px solid #ced4da; border-radius: 0.25rem; } @@ -2920,6 +3251,8 @@ tbody.collapse.show { .input-group-btn { position: relative; + -ms-flex-align: stretch; + align-items: stretch; font-size: 0; white-space: nowrap; } @@ -2936,6 +3269,10 @@ tbody.collapse.show { z-index: 3; } +.input-group-btn:first-child > .btn + .btn { + margin-left: 0; +} + .input-group-btn:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .btn-group { margin-right: -1px; @@ -2944,6 +3281,11 @@ tbody.collapse.show { .input-group-btn:not(:first-child) > .btn, .input-group-btn:not(:first-child) > .btn-group { z-index: 2; + margin-left: 0; +} + +.input-group-btn:not(:first-child) > .btn:first-child, +.input-group-btn:not(:first-child) > .btn-group:first-child { margin-left: -1px; } @@ -2975,7 +3317,7 @@ tbody.collapse.show { } .custom-control-input:focus ~ .custom-control-indicator { - box-shadow: 0 0 0 1px #fff, 0 0 0 3px #007bff; + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-control-input:active ~ .custom-control-indicator { @@ -3050,12 +3392,12 @@ tbody.collapse.show { max-width: 100%; height: calc(2.25rem + 2px); padding: 0.375rem 1.75rem 0.375rem 0.75rem; - line-height: 1.25; + line-height: 1.5; color: #495057; vertical-align: middle; background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; background-size: 8px 10px; - border: 1px solid rgba(0, 0, 0, 0.15); + border: 1px solid #ced4da; border-radius: 0.25rem; -webkit-appearance: none; -moz-appearance: none; @@ -3072,6 +3414,11 @@ tbody.collapse.show { background-color: #fff; } +.custom-select[multiple] { + height: auto; + background-image: none; +} + .custom-select:disabled { color: #868e96; background-color: #e9ecef; @@ -3092,26 +3439,30 @@ tbody.collapse.show { position: relative; display: inline-block; max-width: 100%; - height: 2.5rem; + height: calc(2.25rem + 2px); margin-bottom: 0; } .custom-file-input { min-width: 14rem; max-width: 100%; - height: 2.5rem; + height: calc(2.25rem + 2px); margin: 0; opacity: 0; } +.custom-file-input:focus ~ .custom-file-control { + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff; +} + .custom-file-control { position: absolute; top: 0; right: 0; left: 0; z-index: 5; - height: 2.5rem; - padding: 0.5rem 1rem; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; line-height: 1.5; color: #495057; pointer-events: none; @@ -3120,7 +3471,7 @@ tbody.collapse.show { -ms-user-select: none; user-select: none; background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.15); + border: 1px solid #ced4da; border-radius: 0.25rem; } @@ -3135,12 +3486,12 @@ tbody.collapse.show { bottom: -1px; z-index: 6; display: block; - height: 2.5rem; - padding: 0.5rem 1rem; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; line-height: 1.5; color: #495057; background-color: #e9ecef; - border: 1px solid rgba(0, 0, 0, 0.15); + border: 1px solid #ced4da; border-radius: 0 0.25rem 0.25rem 0; } @@ -3213,7 +3564,7 @@ tbody.collapse.show { } .nav-pills .nav-link.active, -.show > .nav-pills .nav-link { +.nav-pills .show > .nav-link { color: #fff; background-color: #007bff; } @@ -3308,6 +3659,8 @@ tbody.collapse.show { .navbar-collapse { -ms-flex-preferred-size: 100%; flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; -ms-flex-align: center; align-items: center; } @@ -3345,10 +3698,8 @@ tbody.collapse.show { @media (min-width: 576px) { .navbar-expand-sm { - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } @@ -3375,10 +3726,16 @@ tbody.collapse.show { .navbar-expand-sm .navbar-collapse { display: -ms-flexbox !important; display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } .navbar-expand-sm .navbar-toggler { display: none; } + .navbar-expand-sm .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } } @media (max-width: 767px) { @@ -3391,10 +3748,8 @@ tbody.collapse.show { @media (min-width: 768px) { .navbar-expand-md { - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } @@ -3421,10 +3776,16 @@ tbody.collapse.show { .navbar-expand-md .navbar-collapse { display: -ms-flexbox !important; display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } .navbar-expand-md .navbar-toggler { display: none; } + .navbar-expand-md .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } } @media (max-width: 991px) { @@ -3437,10 +3798,8 @@ tbody.collapse.show { @media (min-width: 992px) { .navbar-expand-lg { - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } @@ -3467,10 +3826,16 @@ tbody.collapse.show { .navbar-expand-lg .navbar-collapse { display: -ms-flexbox !important; display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } .navbar-expand-lg .navbar-toggler { display: none; } + .navbar-expand-lg .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } } @media (max-width: 1199px) { @@ -3483,10 +3848,8 @@ tbody.collapse.show { @media (min-width: 1200px) { .navbar-expand-xl { - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } @@ -3513,17 +3876,21 @@ tbody.collapse.show { .navbar-expand-xl .navbar-collapse { display: -ms-flexbox !important; display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } .navbar-expand-xl .navbar-toggler { display: none; } + .navbar-expand-xl .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } } .navbar-expand { - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } @@ -3562,12 +3929,19 @@ tbody.collapse.show { .navbar-expand .navbar-collapse { display: -ms-flexbox !important; display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } .navbar-expand .navbar-toggler { display: none; } +.navbar-expand .dropup .dropdown-menu { + top: auto; + bottom: 100%; +} + .navbar-light .navbar-brand { color: rgba(0, 0, 0, 0.9); } @@ -3608,12 +3982,20 @@ tbody.collapse.show { color: rgba(0, 0, 0, 0.5); } +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover { + color: rgba(0, 0, 0, 0.9); +} + .navbar-dark .navbar-brand { - color: white; + color: #fff; } .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover { - color: white; + color: #fff; } .navbar-dark .navbar-nav .nav-link { @@ -3632,7 +4014,7 @@ tbody.collapse.show { .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active { - color: white; + color: #fff; } .navbar-dark .navbar-toggler { @@ -3648,6 +4030,14 @@ tbody.collapse.show { color: rgba(255, 255, 255, 0.5); } +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover { + color: #fff; +} + .card { position: relative; display: -ms-flexbox; @@ -3662,6 +4052,21 @@ tbody.collapse.show { border-radius: 0.25rem; } +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + .card-body { -ms-flex: 1 1 auto; flex: 1 1 auto; @@ -3689,16 +4094,6 @@ tbody.collapse.show { margin-left: 1.25rem; } -.card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - .card-header { padding: 0.75rem 1.25rem; margin-bottom: 0; @@ -3710,6 +4105,10 @@ tbody.collapse.show { border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + .card-footer { padding: 0.75rem 1.25rem; background-color: rgba(0, 0, 0, 0.03); @@ -3758,10 +4157,19 @@ tbody.collapse.show { border-bottom-left-radius: calc(0.25rem - 1px); } +.card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + @media (min-width: 576px) { .card-deck { - display: -ms-flexbox; - display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-right: -15px; @@ -3775,20 +4183,31 @@ tbody.collapse.show { -ms-flex-direction: column; flex-direction: column; margin-right: 15px; + margin-bottom: 0; margin-left: 15px; } } +.card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-group .card { + margin-bottom: 15px; +} + @media (min-width: 576px) { .card-group { - display: -ms-flexbox; - display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; } .card-group .card { -ms-flex: 1 0 0%; flex: 1 0 0%; + margin-bottom: 0; } .card-group .card + .card { margin-left: 0; @@ -3814,11 +4233,22 @@ tbody.collapse.show { .card-group .card:last-child .card-img-bottom { border-bottom-left-radius: 0; } - .card-group .card:not(:first-child):not(:last-child) { + .card-group .card:only-child { + border-radius: 0.25rem; + } + .card-group .card:only-child .card-img-top { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .card-group .card:only-child .card-img-bottom { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .card-group .card:not(:first-child):not(:last-child):not(:only-child) { border-radius: 0; } - .card-group .card:not(:first-child):not(:last-child) .card-img-top, - .card-group .card:not(:first-child):not(:last-child) .card-img-bottom { + .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, + .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom { border-radius: 0; } } @@ -3841,6 +4271,10 @@ tbody.collapse.show { } .breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; padding: 0.75rem 1rem; margin-bottom: 1rem; list-style: none; @@ -3848,16 +4282,6 @@ tbody.collapse.show { border-radius: 0.25rem; } -.breadcrumb::after { - display: block; - clear: both; - content: ""; -} - -.breadcrumb-item { - float: left; -} - .breadcrumb-item + .breadcrumb-item::before { display: inline-block; padding-right: 0.5rem; @@ -3965,9 +4389,8 @@ tbody.collapse.show { display: inline-block; padding: 0.25em 0.4em; font-size: 75%; - font-weight: bold; + font-weight: 700; line-height: 1; - color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; @@ -4097,6 +4520,7 @@ tbody.collapse.show { } .alert { + position: relative; padding: 0.75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; @@ -4108,13 +4532,13 @@ tbody.collapse.show { } .alert-link { - font-weight: bold; + font-weight: 700; } .alert-dismissible .close { - position: relative; - top: -0.75rem; - right: -1.25rem; + position: absolute; + top: 0; + right: 0; padding: 0.75rem 1.25rem; color: inherit; } @@ -4252,20 +4676,22 @@ tbody.collapse.show { .progress { display: -ms-flexbox; display: flex; + height: 1rem; overflow: hidden; font-size: 0.75rem; - line-height: 1rem; - text-align: center; background-color: #e9ecef; border-radius: 0.25rem; } .progress-bar { - height: 1rem; - line-height: 1rem; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; color: #fff; background-color: #007bff; - transition: width 0.6s ease; } .progress-bar-striped { @@ -4561,7 +4987,7 @@ button.list-group-item-dark.active { .close { float: right; font-size: 1.5rem; - font-weight: bold; + font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; @@ -4619,6 +5045,7 @@ button.close { position: relative; width: auto; margin: 10px; + pointer-events: none; } .modal-content { @@ -4627,6 +5054,7 @@ button.close { display: flex; -ms-flex-direction: column; flex-direction: column; + pointer-events: auto; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.2); @@ -4655,12 +5083,19 @@ button.close { .modal-header { display: -ms-flexbox; display: flex; - -ms-flex-align: center; - align-items: center; + -ms-flex-align: start; + align-items: flex-start; -ms-flex-pack: justify; justify-content: space-between; padding: 15px; border-bottom: 1px solid #e9ecef; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 15px; + margin: -15px -15px -15px auto; } .modal-title { @@ -4723,9 +5158,9 @@ button.close { z-index: 1070; display: block; margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-style: normal; - font-weight: normal; + font-weight: 400; line-height: 1.5; text-align: left; text-align: start; @@ -4753,6 +5188,12 @@ button.close { height: 5px; } +.tooltip .arrow::before { + position: absolute; + border-color: transparent; + border-style: solid; +} + .tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^="top"] { padding: 5px 0; } @@ -4814,12 +5255,6 @@ button.close { border-left-color: #000; } -.tooltip .arrow::before { - position: absolute; - border-color: transparent; - border-style: solid; -} - .tooltip-inner { max-width: 200px; padding: 3px 8px; @@ -4836,10 +5271,9 @@ button.close { z-index: 1060; display: block; max-width: 276px; - padding: 1px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-style: normal; - font-weight: normal; + font-weight: 400; line-height: 1.5; text-align: left; text-align: start; @@ -4862,8 +5296,8 @@ button.close { .popover .arrow { position: absolute; display: block; - width: 10px; - height: 5px; + width: 0.8rem; + height: 0.4rem; } .popover .arrow::before, @@ -4876,16 +5310,16 @@ button.close { .popover .arrow::before { content: ""; - border-width: 11px; + border-width: 0.8rem; } .popover .arrow::after { content: ""; - border-width: 11px; + border-width: 0.8rem; } .popover.bs-popover-top, .popover.bs-popover-auto[x-placement^="top"] { - margin-bottom: 10px; + margin-bottom: 0.8rem; } .popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^="top"] .arrow { @@ -4898,19 +5332,19 @@ button.close { } .popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^="top"] .arrow::before { - bottom: -11px; - margin-left: -6px; + bottom: -0.8rem; + margin-left: -0.8rem; border-top-color: rgba(0, 0, 0, 0.25); } .popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^="top"] .arrow::after { - bottom: -10px; - margin-left: -6px; + bottom: calc((0.8rem - 1px) * -1); + margin-left: -0.8rem; border-top-color: #fff; } .popover.bs-popover-right, .popover.bs-popover-auto[x-placement^="right"] { - margin-left: 10px; + margin-left: 0.8rem; } .popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^="right"] .arrow { @@ -4919,22 +5353,22 @@ button.close { .popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before, .popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after { - margin-top: -8px; + margin-top: -0.8rem; border-left-width: 0; } .popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before { - left: -11px; + left: -0.8rem; border-right-color: rgba(0, 0, 0, 0.25); } .popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after { - left: -10px; + left: calc((0.8rem - 1px) * -1); border-right-color: #fff; } .popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^="bottom"] { - margin-top: 10px; + margin-top: 0.8rem; } .popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^="bottom"] .arrow { @@ -4943,17 +5377,17 @@ button.close { .popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before, .popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after { - margin-left: -7px; + margin-left: -0.8rem; border-top-width: 0; } .popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before { - top: -11px; + top: -0.8rem; border-bottom-color: rgba(0, 0, 0, 0.25); } .popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after { - top: -10px; + top: calc((0.8rem - 1px) * -1); border-bottom-color: #fff; } @@ -4969,7 +5403,7 @@ button.close { } .popover.bs-popover-left, .popover.bs-popover-auto[x-placement^="left"] { - margin-right: 10px; + margin-right: 0.8rem; } .popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^="left"] .arrow { @@ -4978,22 +5412,22 @@ button.close { .popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before, .popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after { - margin-top: -8px; + margin-top: -0.8rem; border-right-width: 0; } .popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before { - right: -11px; + right: -0.8rem; border-left-color: rgba(0, 0, 0, 0.25); } .popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after { - right: -10px; + right: calc((0.8rem - 1px) * -1); border-left-color: #fff; } .popover-header { - padding: 8px 14px; + padding: 0.5rem 0.75rem; margin-bottom: 0; font-size: 1rem; color: inherit; @@ -5008,7 +5442,7 @@ button.close { } .popover-body { - padding: 9px 14px; + padding: 0.5rem 0.75rem; color: #212529; } @@ -5135,11 +5569,11 @@ button.close { } .carousel-control-prev-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); } .carousel-control-next-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); } .carousel-indicators { @@ -5387,11 +5821,11 @@ a.bg-dark:focus, a.bg-dark:hover { } .rounded-circle { - border-radius: 50%; + border-radius: 50% !important; } .rounded-0 { - border-radius: 0; + border-radius: 0 !important; } .clearfix::after { @@ -5420,6 +5854,10 @@ a.bg-dark:focus, a.bg-dark:hover { display: table !important; } +.d-table-row { + display: table-row !important; +} + .d-table-cell { display: table-cell !important; } @@ -5450,6 +5888,9 @@ a.bg-dark:focus, a.bg-dark:hover { .d-sm-table { display: table !important; } + .d-sm-table-row { + display: table-row !important; + } .d-sm-table-cell { display: table-cell !important; } @@ -5479,6 +5920,9 @@ a.bg-dark:focus, a.bg-dark:hover { .d-md-table { display: table !important; } + .d-md-table-row { + display: table-row !important; + } .d-md-table-cell { display: table-cell !important; } @@ -5508,6 +5952,9 @@ a.bg-dark:focus, a.bg-dark:hover { .d-lg-table { display: table !important; } + .d-lg-table-row { + display: table-row !important; + } .d-lg-table-cell { display: table-cell !important; } @@ -5537,6 +5984,9 @@ a.bg-dark:focus, a.bg-dark:hover { .d-xl-table { display: table !important; } + .d-xl-table-row { + display: table-row !important; + } .d-xl-table-cell { display: table-cell !important; } @@ -6310,6 +6760,27 @@ a.bg-dark:focus, a.bg-dark:hover { } } +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + .fixed-top { position: fixed; top: 0; @@ -6403,1598 +6874,1312 @@ a.bg-dark:focus, a.bg-dark:hover { margin: 0 !important; } -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - +.mt-0, .my-0 { margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { margin-bottom: 0 !important; } +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + .m-1 { margin: 0.25rem !important; } -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - +.mt-1, .my-1 { margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { margin-bottom: 0.25rem !important; } +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + .m-2 { margin: 0.5rem !important; } -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - +.mt-2, .my-2 { margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { margin-bottom: 0.5rem !important; } +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + .m-3 { margin: 1rem !important; } -.mt-3 { - margin-top: 1rem !important; -} - -.mr-3 { - margin-right: 1rem !important; -} - -.mb-3 { - margin-bottom: 1rem !important; -} - -.ml-3 { - margin-left: 1rem !important; -} - -.mx-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - +.mt-3, .my-3 { margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { margin-bottom: 1rem !important; } +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + .m-4 { margin: 1.5rem !important; } -.mt-4 { - margin-top: 1.5rem !important; -} - -.mr-4 { - margin-right: 1.5rem !important; -} - -.mb-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4 { - margin-left: 1.5rem !important; -} - -.mx-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - +.mt-4, .my-4 { margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { margin-bottom: 1.5rem !important; } +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + .m-5 { margin: 3rem !important; } -.mt-5 { - margin-top: 3rem !important; -} - -.mr-5 { - margin-right: 3rem !important; -} - -.mb-5 { - margin-bottom: 3rem !important; -} - -.ml-5 { - margin-left: 3rem !important; -} - -.mx-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - +.mt-5, .my-5 { margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { margin-bottom: 3rem !important; } +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + .p-0 { padding: 0 !important; } -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - +.pt-0, .py-0 { padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { padding-bottom: 0 !important; } +.pl-0, +.px-0 { + padding-left: 0 !important; +} + .p-1 { padding: 0.25rem !important; } -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - +.pt-1, .py-1 { padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { padding-bottom: 0.25rem !important; } +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + .p-2 { padding: 0.5rem !important; } -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - +.pt-2, .py-2 { padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { padding-bottom: 0.5rem !important; } +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + .p-3 { padding: 1rem !important; } -.pt-3 { - padding-top: 1rem !important; -} - -.pr-3 { - padding-right: 1rem !important; -} - -.pb-3 { - padding-bottom: 1rem !important; -} - -.pl-3 { - padding-left: 1rem !important; -} - -.px-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - +.pt-3, .py-3 { padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { padding-bottom: 1rem !important; } +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + .p-4 { padding: 1.5rem !important; } -.pt-4 { - padding-top: 1.5rem !important; -} - -.pr-4 { - padding-right: 1.5rem !important; -} - -.pb-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4 { - padding-left: 1.5rem !important; -} - -.px-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - +.pt-4, .py-4 { padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { padding-bottom: 1.5rem !important; } +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + .p-5 { padding: 3rem !important; } -.pt-5 { - padding-top: 3rem !important; -} - -.pr-5 { - padding-right: 3rem !important; -} - -.pb-5 { - padding-bottom: 3rem !important; -} - -.pl-5 { - padding-left: 3rem !important; -} - -.px-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - +.pt-5, .py-5 { padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { padding-bottom: 3rem !important; } +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + .m-auto { margin: auto !important; } -.mt-auto { - margin-top: auto !important; -} - -.mr-auto { - margin-right: auto !important; -} - -.mb-auto { - margin-bottom: auto !important; -} - -.ml-auto { - margin-left: auto !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - +.mt-auto, .my-auto { margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { margin-bottom: auto !important; } +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + @media (min-width: 576px) { .m-sm-0 { margin: 0 !important; } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } + .mt-sm-0, .my-sm-0 { margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { margin-bottom: 0 !important; } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } .m-sm-1 { margin: 0.25rem !important; } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } + .mt-sm-1, .my-sm-1 { margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { margin-bottom: 0.25rem !important; } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } .m-sm-2 { margin: 0.5rem !important; } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } + .mt-sm-2, .my-sm-2 { margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { margin-bottom: 0.5rem !important; } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } .m-sm-3 { margin: 1rem !important; } - .mt-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3 { - margin-left: 1rem !important; - } - .mx-sm-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } + .mt-sm-3, .my-sm-3 { margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { margin-bottom: 1rem !important; } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } .m-sm-4 { margin: 1.5rem !important; } - .mt-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4 { - margin-left: 1.5rem !important; - } - .mx-sm-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } + .mt-sm-4, .my-sm-4 { margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { margin-bottom: 1.5rem !important; } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } .m-sm-5 { margin: 3rem !important; } - .mt-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5 { - margin-left: 3rem !important; - } - .mx-sm-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } + .mt-sm-5, .my-sm-5 { margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { margin-bottom: 3rem !important; } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } .p-sm-0 { padding: 0 !important; } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } + .pt-sm-0, .py-sm-0 { padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { padding-bottom: 0 !important; } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } .p-sm-1 { padding: 0.25rem !important; } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } + .pt-sm-1, .py-sm-1 { padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { padding-bottom: 0.25rem !important; } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } .p-sm-2 { padding: 0.5rem !important; } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } + .pt-sm-2, .py-sm-2 { padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { padding-bottom: 0.5rem !important; } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } .p-sm-3 { padding: 1rem !important; } - .pt-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3 { - padding-left: 1rem !important; - } - .px-sm-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } + .pt-sm-3, .py-sm-3 { padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { padding-bottom: 1rem !important; } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } .p-sm-4 { padding: 1.5rem !important; } - .pt-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4 { - padding-left: 1.5rem !important; - } - .px-sm-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } + .pt-sm-4, .py-sm-4 { padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { padding-bottom: 1.5rem !important; } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } .p-sm-5 { padding: 3rem !important; } - .pt-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5 { - padding-left: 3rem !important; - } - .px-sm-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } + .pt-sm-5, .py-sm-5 { padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { padding-bottom: 3rem !important; } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } .m-sm-auto { margin: auto !important; } - .mt-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto { - margin-left: auto !important; - } - .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; - } + .mt-sm-auto, .my-sm-auto { margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { margin-bottom: auto !important; } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } } @media (min-width: 768px) { .m-md-0 { margin: 0 !important; } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } + .mt-md-0, .my-md-0 { margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { margin-bottom: 0 !important; } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } .m-md-1 { margin: 0.25rem !important; } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } + .mt-md-1, .my-md-1 { margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { margin-bottom: 0.25rem !important; } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } .m-md-2 { margin: 0.5rem !important; } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } + .mt-md-2, .my-md-2 { margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { margin-bottom: 0.5rem !important; } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } .m-md-3 { margin: 1rem !important; } - .mt-md-3 { - margin-top: 1rem !important; - } - .mr-md-3 { - margin-right: 1rem !important; - } - .mb-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3 { - margin-left: 1rem !important; - } - .mx-md-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } + .mt-md-3, .my-md-3 { margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { margin-bottom: 1rem !important; } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } .m-md-4 { margin: 1.5rem !important; } - .mt-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4 { - margin-left: 1.5rem !important; - } - .mx-md-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } + .mt-md-4, .my-md-4 { margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { margin-bottom: 1.5rem !important; } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } .m-md-5 { margin: 3rem !important; } - .mt-md-5 { - margin-top: 3rem !important; - } - .mr-md-5 { - margin-right: 3rem !important; - } - .mb-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5 { - margin-left: 3rem !important; - } - .mx-md-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } + .mt-md-5, .my-md-5 { margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { margin-bottom: 3rem !important; } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } .p-md-0 { padding: 0 !important; } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } + .pt-md-0, .py-md-0 { padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { padding-bottom: 0 !important; } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } .p-md-1 { padding: 0.25rem !important; } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } + .pt-md-1, .py-md-1 { padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { padding-bottom: 0.25rem !important; } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } .p-md-2 { padding: 0.5rem !important; } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } + .pt-md-2, .py-md-2 { padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { padding-bottom: 0.5rem !important; } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } .p-md-3 { padding: 1rem !important; } - .pt-md-3 { - padding-top: 1rem !important; - } - .pr-md-3 { - padding-right: 1rem !important; - } - .pb-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3 { - padding-left: 1rem !important; - } - .px-md-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } + .pt-md-3, .py-md-3 { padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { padding-bottom: 1rem !important; } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } .p-md-4 { padding: 1.5rem !important; } - .pt-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4 { - padding-left: 1.5rem !important; - } - .px-md-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } + .pt-md-4, .py-md-4 { padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { padding-bottom: 1.5rem !important; } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } .p-md-5 { padding: 3rem !important; } - .pt-md-5 { - padding-top: 3rem !important; - } - .pr-md-5 { - padding-right: 3rem !important; - } - .pb-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5 { - padding-left: 3rem !important; - } - .px-md-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } + .pt-md-5, .py-md-5 { padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { padding-bottom: 3rem !important; } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } .m-md-auto { margin: auto !important; } - .mt-md-auto { - margin-top: auto !important; - } - .mr-md-auto { - margin-right: auto !important; - } - .mb-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto { - margin-left: auto !important; - } - .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; - } + .mt-md-auto, .my-md-auto { margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { margin-bottom: auto !important; } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } } @media (min-width: 992px) { .m-lg-0 { margin: 0 !important; } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } + .mt-lg-0, .my-lg-0 { margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { margin-bottom: 0 !important; } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } .m-lg-1 { margin: 0.25rem !important; } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } + .mt-lg-1, .my-lg-1 { margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { margin-bottom: 0.25rem !important; } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } .m-lg-2 { margin: 0.5rem !important; } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } + .mt-lg-2, .my-lg-2 { margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { margin-bottom: 0.5rem !important; } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } .m-lg-3 { margin: 1rem !important; } - .mt-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3 { - margin-left: 1rem !important; - } - .mx-lg-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } + .mt-lg-3, .my-lg-3 { margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { margin-bottom: 1rem !important; } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } .m-lg-4 { margin: 1.5rem !important; } - .mt-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4 { - margin-left: 1.5rem !important; - } - .mx-lg-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } + .mt-lg-4, .my-lg-4 { margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { margin-bottom: 1.5rem !important; } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } .m-lg-5 { margin: 3rem !important; } - .mt-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5 { - margin-left: 3rem !important; - } - .mx-lg-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } + .mt-lg-5, .my-lg-5 { margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { margin-bottom: 3rem !important; } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } .p-lg-0 { padding: 0 !important; } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } + .pt-lg-0, .py-lg-0 { padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { padding-bottom: 0 !important; } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } .p-lg-1 { padding: 0.25rem !important; } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } + .pt-lg-1, .py-lg-1 { padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { padding-bottom: 0.25rem !important; } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } .p-lg-2 { padding: 0.5rem !important; } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } + .pt-lg-2, .py-lg-2 { padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { padding-bottom: 0.5rem !important; } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } .p-lg-3 { padding: 1rem !important; } - .pt-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3 { - padding-left: 1rem !important; - } - .px-lg-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } + .pt-lg-3, .py-lg-3 { padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { padding-bottom: 1rem !important; } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } .p-lg-4 { padding: 1.5rem !important; } - .pt-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4 { - padding-left: 1.5rem !important; - } - .px-lg-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } + .pt-lg-4, .py-lg-4 { padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { padding-bottom: 1.5rem !important; } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } .p-lg-5 { padding: 3rem !important; } - .pt-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5 { - padding-left: 3rem !important; - } - .px-lg-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } + .pt-lg-5, .py-lg-5 { padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { padding-bottom: 3rem !important; } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } .m-lg-auto { margin: auto !important; } - .mt-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto { - margin-left: auto !important; - } - .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; - } + .mt-lg-auto, .my-lg-auto { margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { margin-bottom: auto !important; } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } } @media (min-width: 1200px) { .m-xl-0 { margin: 0 !important; } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } + .mt-xl-0, .my-xl-0 { margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { margin-bottom: 0 !important; } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } .m-xl-1 { margin: 0.25rem !important; } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } + .mt-xl-1, .my-xl-1 { margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { margin-bottom: 0.25rem !important; } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } .m-xl-2 { margin: 0.5rem !important; } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } + .mt-xl-2, .my-xl-2 { margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { margin-bottom: 0.5rem !important; } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } .m-xl-3 { margin: 1rem !important; } - .mt-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3 { - margin-left: 1rem !important; - } - .mx-xl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } + .mt-xl-3, .my-xl-3 { margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { margin-bottom: 1rem !important; } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } .m-xl-4 { margin: 1.5rem !important; } - .mt-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4 { - margin-left: 1.5rem !important; - } - .mx-xl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } + .mt-xl-4, .my-xl-4 { margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { margin-bottom: 1.5rem !important; } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } .m-xl-5 { margin: 3rem !important; } - .mt-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5 { - margin-left: 3rem !important; - } - .mx-xl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } + .mt-xl-5, .my-xl-5 { margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { margin-bottom: 3rem !important; } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } .p-xl-0 { padding: 0 !important; } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } + .pt-xl-0, .py-xl-0 { padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { padding-bottom: 0 !important; } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } .p-xl-1 { padding: 0.25rem !important; } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } + .pt-xl-1, .py-xl-1 { padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { padding-bottom: 0.25rem !important; } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } .p-xl-2 { padding: 0.5rem !important; } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } + .pt-xl-2, .py-xl-2 { padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { padding-bottom: 0.5rem !important; } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } .p-xl-3 { padding: 1rem !important; } - .pt-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3 { - padding-left: 1rem !important; - } - .px-xl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } + .pt-xl-3, .py-xl-3 { padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { padding-bottom: 1rem !important; } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } .p-xl-4 { padding: 1.5rem !important; } - .pt-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4 { - padding-left: 1.5rem !important; - } - .px-xl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } + .pt-xl-4, .py-xl-4 { padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { padding-bottom: 1.5rem !important; } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } .p-xl-5 { padding: 3rem !important; } - .pt-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5 { - padding-left: 3rem !important; - } - .px-xl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } + .pt-xl-5, .py-xl-5 { padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { padding-bottom: 3rem !important; } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } .m-xl-auto { margin: auto !important; } - .mt-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto { - margin-left: auto !important; - } - .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; - } + .mt-xl-auto, .my-xl-auto { margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { margin-bottom: auto !important; } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } } .text-justify { @@ -8083,16 +8268,20 @@ a.bg-dark:focus, a.bg-dark:hover { text-transform: capitalize !important; } +.font-weight-light { + font-weight: 300 !important; +} + .font-weight-normal { - font-weight: normal; + font-weight: 400 !important; } .font-weight-bold { - font-weight: bold; + font-weight: 700 !important; } .font-italic { - font-style: italic; + font-style: italic !important; } .text-white { diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map index 14530357a..77a5c8e7f 100644 --- a/dist/css/bootstrap.css.map +++ b/dist/css/bootstrap.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_print.scss","bootstrap.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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;ADkBD;ECdA,enB6Be;EmB5Bf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnB0Be;CkBbd;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnBsBa;EmBrBb,sBnBqBa;CC/DQ;;AkB6CvB;EAEE,6CnBgBa;CmBfd;;AAED;EAEE,enBWa;EmBVb,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBGa;EmBFb,sBnBEa;CmBDd;;ADdD;ECdA,enBWgB;EmBVhB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBQgB;CkBKf;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnBIc;EmBHd,sBnBGc;CC7CO;;AkB6CvB;EAEE,+CnBFc;CmBGf;;AAED;EAEE,enBPc;EmBQd,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBfc;EmBgBd,sBnBhBc;CmBiBf;;ADdD;ECdA,enBoCe;EmBnCf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBiCe;CkBpBd;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnB6Ba;EmB5Bb,sBnB4Ba;CCtEQ;;AkB6CvB;EAEE,6CnBuBa;CmBtBd;;AAED;EAEE,enBkBa;EmBjBb,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBUa;EmBTb,sBnBSa;CmBRd;;ADdD;ECdA,enBsCe;EmBrCf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBmCe;CkBtBd;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnB+Ba;EmB9Bb,sBnB8Ba;CCxEQ;;AkB6CvB;EAEE,8CnByBa;CmBxBd;;AAED;EAEE,enBoBa;EmBnBb,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBYa;EmBXb,sBnBWa;CmBVd;;ADdD;ECdA,enBmCe;EmBlCf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBgCe;CkBnBd;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnB4Ba;EmB3Bb,sBnB2Ba;CCrEQ;;AkB6CvB;EAEE,6CnBsBa;CmBrBd;;AAED;EAEE,enBiBa;EmBhBb,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBSa;EmBRb,sBnBQa;CmBPd;;ADdD;ECdA,enBiCe;EmBhCf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnB8Be;CkBjBd;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnB0Ba;EmBzBb,sBnByBa;CCnEQ;;AkB6CvB;EAEE,6CnBoBa;CmBnBd;;AAED;EAEE,enBea;EmBdb,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBOa;EmBNb,sBnBMa;CmBLd;;ADdD;ECdA,enBMgB;EmBLhB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBGgB;CkBUf;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnBDc;EmBEd,sBnBFc;CCxCO;;AkB6CvB;EAEE,+CnBPc;CmBQf;;AAED;EAEE,enBZc;EmBad,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBpBc;EmBqBd,sBnBrBc;CmBsBf;;ADdD;ECdA,enBagB;EmBZhB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBUgB;CkBGf;;AjBlDC;EkBwCA,YDS4C;ECR5C,0BnBMc;EmBLd,sBnBKc;CC/CO;;AkB6CvB;EAEE,4CnBAc;CmBCf;;AAED;EAEE,enBLc;EmBMd,8BAA6B;CAC9B;;AAED;;EAGE,YDV4C;ECW5C,0BnBbc;EmBcd,sBnBdc;CmBef;;ADHH;EACE,oBlB0KyB;EkBzKzB,elBEe;EkBDf,iBAAgB;CA8BjB;;AAjCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;EACzB,iBAAgB;CACjB;;AjB5EC;EiB8EA,0BAAyB;CjB9EJ;;AAWrB;EiBsEA,elB0E4C;EkBzE5C,2BlB0E6B;EkBzE7B,8BAA6B;CjBrE5B;;AiB6CL;EA2BI,elBzCc;CkB8Cf;;AjBhFC;EiB8EE,sBAAqB;CjB3EtB;;AiBqFL;EChCE,qBnBgQ8B;EmB/P9B,mBnB+JsB;EmB9JtB,iBnBkI0B;EM9MxB,sBNoN0B;CkBxG7B;;AAED;ECpCE,wBnB4P+B;EmB3P/B,oBnBgKsB;EmB/JtB,iBnBmI0B;EM/MxB,sBNqN0B;CkBrG7B;;AAOD;EACE,eAAc;EACd,YAAW;CACZ;;AAGD;EACE,mBlBsNoC;CkBrNrC;;AAGD;;;EAII,YAAW;CACZ;;AE3I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Q,iBAAgB;GAMjB;EA1CP;;IAwCU,iBAAgB;GACjB;C9B+yGV;;A8BnyGD;EAEI,uB5BkZ6B;C4BjZ9B;;AjB3JC;EiBwJJ;IAMI,wB5B2ZyB;Y4B3ZzB,gB5B2ZyB;I4B1ZzB,4B5B2Z+B;Y4B3Z/B,oB5B2Z+B;G4BpZlC;EAdD;IAUM,sBAAqB;IACrB,YAAW;GACZ;C9BsyGJ;;A+BlgHD;EACE,sB7BixBkC;E6BhxBlC,oBAAmB;EACnB,iBAAgB;EAChB,0B7BgDgB;EMhDd,uBNmN2B;C6BhN9B;;ACNC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;ADIH;EACE,YAAW;CA2BZ;;AA5BD;EAKI,sBAAqB;EACrB,sB7BowBiC;E6BnwBjC,qB7BmwBiC;E6BlwBjC,e7BuCc;E6BtCd,aAAiC;CAClC;;AAVH;EAmBI,2BAA0B;CAC3B;;AApBH;EAsBI,sBAAqB;CACtB;;AAvBH;EA0BI,e7BqBc;C6BpBf;;AEpCH;EACE,qBAAa;EAAb,cAAa;EAEb,gBAAe;EACf,iBAAgB;EzBAd,uBNmN2B;C+BjN9B;;AAED;EAGM,eAAc;EzBoBhB,gCNwL2B;EMvL3B,mCNuL2B;C+B1M1B;;AALL;EzBSI,iCNsM2B;EMrM3B,oCNqM2B;C+BrM1B;;AAVL;EAcI,WAAU;EACV,Y/B2BS;E+B1BT,0B/BkDa;E+BjDb,sB/BiDa;C+BhDd;;AAlBH;EAqBI,e/B2Bc;E+B1Bd,qBAAoB;EACpB,uB/BmBS;E+BlBT,mB/ByjBuC;C+BxjBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/B4hB0C;E+B3hB1C,kBAAiB;EACjB,kB/B+hBwC;E+B9hBxC,e/BgCe;E+B/Bf,uB/BOW;E+BNX,uB/BiiByC;C+BzhB1C;;A9B9BG;E8ByBA,e/BuH4C;E+BtH5C,sBAAqB;EACrB,0B/BGc;E+BFd,mB/B+hBuC;CCxjBtC;;A+BtBH;EACE,wBhCmkBwC;EgClkBxC,mBhCyOoB;EgCxOpB,iBhC4MwB;CgC3MzB;;AAIG;E1BoBF,+BNyL0B;EMxL1B,kCNwL0B;CgC3MvB;;AAGD;E1BCF,gCNuM0B;EMtM1B,mCNsM0B;CgCtMvB;;AAfL;EACE,wBhCikBuC;EgChkBvC,oBhC0OoB;EgCzOpB,iBhC6MwB;CgC5MzB;;AAIG;E1BoBF,+BN0L0B;EMzL1B,kCNyL0B;CgC5MvB;;AAGD;E1BCF,gCNwM0B;EMvM1B,mCNuM0B;CgCvMvB;;ACbP;EACE,sBAAqB;EACrB,sBjC+pBgC;EiC9pBhC,ejC2pB+B;EiC1pB/B,kBjCyOqB;EiCxOrB,eAAc;EACd,YjCuCW;EiCtCX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBNmN2B;CiClM9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBjCsoBgC;EiCroBhC,oBjCqoBgC;EMpqB9B,qBNuqB+B;CiCtoBlC;;AAOC;ElBiBE,YAAW;EmB3Db,0BlCwEe;CiC5Bd;;AhCxBC;EcuCA,YAAW;EmBtDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AgCmBH;ElBiBE,YAAW;EmB3Db,0BlCsDgB;CiCVf;;AhCxBC;EcuCA,YAAW;EmBtDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AgCmBH;ElBiBE,YAAW;EmB3Db,0BlC+Ee;CiCnCd;;AhCxBC;EcuCA,YAAW;EmBtDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AgCmBH;ElBiBE,YAAW;EmB3Db,0BlCiFe;CiCrCd;;AhCxBC;EcuCA,YAAW;EmBtDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AgCmBH;ElBeE,YAAW;EmBzDb,0BlC8Ee;CiClCd;;AhCxBC;EcqCA,YAAW;EmBpDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AgCmBH;ElBiBE,YAAW;EmB3Db,0BlC4Ee;CiChCd;;AhCxBC;EcuCA,YAAW;EmBtDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AgCmBH;ElBeE,YAAW;EmBzDb,0BlCiDgB;CiCLf;;AhCxBC;EcqCA,YAAW;EmBpDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AgCmBH;ElBiBE,YAAW;EmB3Db,0BlCwDgB;CiCZf;;AhCxBC;EcuCA,YAAW;EmBtDT,sBAAqB;EACrB,0BAAkC;CjCiBnC;;AkCzBL;EACE,mBAAoD;EACpD,oBnC4lBmC;EmC3lBnC,0BnCiDgB;EMhDd,sBNoN0B;CmC/M7B;;AxB+CG;EwBxDJ;IAOI,mBnCulBiC;GmCrlBpC;CrCkvHA;;AqChvHD;EACE,iBAAgB;EAChB,gBAAe;E7BTb,iB6BUsB;CACzB;;ACXD;EACE,yBpC6sBmC;EoC5sBnC,oBpC6sBgC;EoC5sBhC,8BAA6C;E9BH3C,uBNmN2B;CoC9M9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC+NqB;CoC9NtB;;AAOD;EAGI,mBAAkB;EAClB,cpCkrBgC;EoCjrBhC,gBpCkrBiC;EoCjrBjC,yBpCirBiC;EoChrBjC,eAAc;CACf;;AASD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADiCD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADiCD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADiCD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADiCD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADiCD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADiCD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADiCD;EC3CA,etBsFkE;EsBrFlE,0BtBmFuE;EsBlFvE,sBtBkFuE;CqBvCtE;;ACzCD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ACXH;EACE;IAAO,4BAAuC;GxC44H7C;EwC34HD;IAAK,yBAAwB;GxC84H5B;CACF;;AwCj5HD;EACE;IAAO,4BAAuC;GxC44H7C;EwC34HD;IAAK,yBAAwB;GxC84H5B;CACF;;AwC54HD;EACE,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCotBoC;EsCntBpC,kBtCktBkC;EsCjtBlC,mBAAkB;EAClB,0BtCyCgB;EMhDd,uBNmN2B;CsCzM9B;;AAED;EACE,atC0sBkC;EsCzsBlC,kBtCysBkC;EsCxsBlC,YtC+BW;EsC9BX,0BtCsDe;EOrEX,4BP8tBwC;CsC7sB7C;;AAED;ECWE,sMAA6I;EDT7I,2BtCisBkC;CsChsBnC;;AAED;EACE,2DtCosBgD;UsCpsBhD,mDtCosBgD;CsCnsBjD;;AE/BD;EACE,qBAAa;EAAb,cAAa;EACb,sBAAuB;MAAvB,wBAAuB;CACxB;;AAED;EACE,YAAO;MAAP,QAAO;CACR;;ACHD;EACE,qBAAa;EAAb,cAAa;EACb,2BAAsB;MAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCoCgB;EyCnChB,oBAAmB;CAapB;;AxCbG;EwCIA,ezC+Bc;EyC9Bd,sBAAqB;EACrB,0BzCuBc;CC1Bb;;AwCNL;EAaI,ezC2Bc;EyC1Bd,0BzCmBc;CyClBf;;AAQH;EACE,mBAAkB;EAClB,eAAc;EACd,yBzCgsBsC;EyC9rBtC,oBzCsKgB;EyCrKhB,uBzCEW;EyCDX,uCzCWW;CyCiBZ;;AAnCD;EnChCI,gCN6M2B;EM5M3B,iCN4M2B;CyClK5B;;AAXH;EAcI,iBAAgB;EnChChB,oCN+L2B;EM9L3B,mCN8L2B;CyC7J5B;;AxCpCC;EwCuCA,sBAAqB;CxCpCpB;;AwCiBL;EAwBI,ezCVc;EyCWd,uBzCjBS;CyCkBV;;AA1BH;EA8BI,WAAU;EACV,YzCvBS;EyCwBT,0BzCAa;EyCCb,sBzCDa;CyCEd;;AASH;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AClGH;EACE,e3BmFgE;E2BlFhE,0B3BgFqE;C2B/EtE;;AAGD;;EAEE,e3B4EgE;C2BhEjE;;AzCDC;;;EyCRE,e3ByE8D;E2BxE9D,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B3BmE8D;E2BlE9D,sB3BkE8D;C2BjE/D;;AAnBH;EACE,e3BmFgE;E2BlFhE,0B3BgFqE;C2B/EtE;;AAGD;;EAEE,e3B4EgE;C2BhEjE;;AzCDC;;;EyCRE,e3ByE8D;E2BxE9D,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B3BmE8D;E2BlE9D,sB3BkE8D;C2BjE/D;;AAnBH;EACE,e3BmFgE;E2BlFhE,0B3BgFqE;C2B/EtE;;AAGD;;EAEE,e3B4EgE;C2BhEjE;;AzCDC;;;EyCRE,e3ByE8D;E2BxE9D,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B3BmE8D;E2BlE9D,sB3BkE8D;C2BjE/D;;AAnBH;EACE,e3BmFgE;E2BlFhE,0B3BgFqE;C2B/EtE;;AAGD;;EAEE,e3B4EgE;C2BhEjE;;AzCDC;;;EyCRE,e3ByE8D;E2BxE9D,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B3BmE8D;E2BlE9D,sB3BkE8D;C2BjE/D;;AAnBH;EACE,e3BmFgE;E2BlFhE,0B3BgFqE;C2B/EtE;;AAGD;;EAEE,e3B4EgE;C2BhEjE;;AzCDC;;;EyCRE,e3ByE8D;E2BxE9D,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B3BmE8D;E2BlE9D,sB3BkE8D;C2BjE/D;;AAnBH;EACE,e3BmFgE;E2BlFhE,0B3BgFqE;C2B/EtE;;AAGD;;EAEE,e3B4EgE;C2BhEjE;;AzCDC;;;EyCRE,e3ByE8D;E2BxE9D,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B3BmE8D;E2BlE9D,sB3BkE8D;C2BjE/D;;AAnBH;EACE,e3BmFgE;E2BlFhE,0B3BgFqE;C2B/EtE;;AAGD;;EAEE,e3B4EgE;C2BhEjE;;AzCDC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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.0.0-beta (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"print\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n","// scss-lint:disable QualifyingElement\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// http://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: #000 !important; // Black prints faster:\n // http://www.sanbeiji.com/archives/953\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n }\n}\n","/*!\n * Bootstrap v4.0.0-beta (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #868e96;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #868e96;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f8f9fa;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #212529;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n width: 100%;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #e9ecef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #e9ecef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #e9ecef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #dddfe2;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #cfd2d6;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #cfd2d6;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #212529;\n}\n\n.thead-default th {\n color: #495057;\n background-color: #e9ecef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #212529;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #32383e;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-inverse.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-inverse.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 991px) {\n .table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive.table-bordered {\n border: 0;\n }\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #495057;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #868e96;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-plaintext {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .form-control-plaintext.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .form-control-plaintext.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(2.3125rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #868e96;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.invalid-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .invalid-feedback,\n.was-validated .form-control:valid ~ .invalid-tooltip, .form-control.is-valid ~ .invalid-feedback,\n.form-control.is-valid ~ .invalid-tooltip, .was-validated\n.custom-select:valid ~ .invalid-feedback,\n.was-validated\n.custom-select:valid ~ .invalid-tooltip,\n.custom-select.is-valid ~ .invalid-feedback,\n.custom-select.is-valid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {\n background-color: rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {\n color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {\n background-color: rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {\n color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n border-radius: 0.25rem;\n transition: all 0.15s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n background-color: #0069d9;\n background-image: none;\n border-color: #0062cc;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #727b84;\n border-color: #6c757d;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n background-color: #727b84;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n background-color: #218838;\n background-image: none;\n border-color: #1e7e34;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n background-color: #138496;\n background-image: none;\n border-color: #117a8b;\n}\n\n.btn-warning {\n color: #111;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #111;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n background-color: #e0a800;\n background-image: none;\n border-color: #d39e00;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n background-color: #c82333;\n background-image: none;\n border-color: #bd2130;\n}\n\n.btn-light {\n color: #111;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #111;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n background-color: #e2e6ea;\n background-image: none;\n border-color: #dae0e5;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n background-color: #23272b;\n background-image: none;\n border-color: #1d2124;\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-secondary {\n color: #868e96;\n background-color: transparent;\n background-image: none;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #fff;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:active, .btn-outline-light.active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #fff;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:active, .btn-outline-dark.active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-link {\n font-weight: normal;\n color: #007bff;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #868e96;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: normal;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #868e96;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n margin-bottom: 0;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #495057;\n text-align: center;\n background-color: #e9ecef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #007bff;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n background-color: #e9ecef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #868e96;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #007bff;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #868e96;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #495057;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #868e96;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #e9ecef #e9ecef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #868e96;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.show > .nav-pills .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-dark .navbar-brand {\n color: white;\n}\n\n.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {\n color: white;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0%;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #868e96;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #868e96;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #868e96;\n pointer-events: none;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #868e96;\n}\n\n.badge-secondary[href]:focus, .badge-secondary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #6c757d;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #111;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #111;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:focus, .badge-light[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:focus, .badge-dark[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #464a4e;\n background-color: #e7e8ea;\n border-color: #dddfe2;\n}\n\n.alert-secondary hr {\n border-top-color: #cfd2d6;\n}\n\n.alert-secondary .alert-link {\n color: #2e3133;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n line-height: 1rem;\n color: #fff;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #868e96;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\na.list-group-item-primary,\nbutton.list-group-item-primary {\n color: #004085;\n}\n\na.list-group-item-primary:focus, a.list-group-item-primary:hover,\nbutton.list-group-item-primary:focus,\nbutton.list-group-item-primary:hover {\n color: #004085;\n background-color: #9fcdff;\n}\n\na.list-group-item-primary.active,\nbutton.list-group-item-primary.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #464a4e;\n background-color: #dddfe2;\n}\n\na.list-group-item-secondary,\nbutton.list-group-item-secondary {\n color: #464a4e;\n}\n\na.list-group-item-secondary:focus, a.list-group-item-secondary:hover,\nbutton.list-group-item-secondary:focus,\nbutton.list-group-item-secondary:hover {\n color: #464a4e;\n background-color: #cfd2d6;\n}\n\na.list-group-item-secondary.active,\nbutton.list-group-item-secondary.active {\n color: #fff;\n background-color: #464a4e;\n border-color: #464a4e;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #155724;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #155724;\n background-color: #b1dfbb;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #0c5460;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #0c5460;\n background-color: #abdde5;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #856404;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #856404;\n background-color: #ffe8a1;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #721c24;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\na.list-group-item-light,\nbutton.list-group-item-light {\n color: #818182;\n}\n\na.list-group-item-light:focus, a.list-group-item-light:hover,\nbutton.list-group-item-light:focus,\nbutton.list-group-item-light:hover {\n color: #818182;\n background-color: #ececf6;\n}\n\na.list-group-item-light.active,\nbutton.list-group-item-light.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\na.list-group-item-dark,\nbutton.list-group-item-dark {\n color: #1b1e21;\n}\n\na.list-group-item-dark:focus, a.list-group-item-dark:hover,\nbutton.list-group-item-dark:focus,\nbutton.list-group-item-dark:hover {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\na.list-group-item-dark.active,\nbutton.list-group-item-dark.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #e9ecef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 5px;\n height: 5px;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n margin-top: -3px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n margin-top: -3px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 10px;\n height: 5px;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n position: absolute;\n display: block;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover .arrow::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover .arrow::after {\n content: \"\";\n border-width: 11px;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 10px;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: -11px;\n margin-left: -6px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: -10px;\n margin-left: -6px;\n border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 10px;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n margin-top: -8px;\n border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: -10px;\n border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 10px;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n margin-left: -7px;\n border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: -10px;\n border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 10px;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n margin-top: -8px;\n border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: -10px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 9px 14px;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #868e96 !important;\n}\n\na.bg-secondary:focus, a.bg-secondary:hover {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:focus, a.bg-light:hover {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:focus, a.bg-dark:hover {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #e9ecef !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #868e96 !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.d-print-block {\n display: none !important;\n}\n\n@media print {\n .d-print-block {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .d-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #868e96 !important;\n}\n\na.text-secondary:focus, a.text-secondary:hover {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:focus, a.text-light:hover {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:focus, a.text-dark:hover {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #868e96 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// scss-lint:disable QualifyingElement, DuplicateProperty, VendorPrefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\nhtml {\n box-sizing: border-box; // 1\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit; // 1\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport { width: device-width; }\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch\n// * http://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment\n text-align: left;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Copy settings from this file into the provided `_custom.scss` to override\n// the Bootstrap defaults without modifying key, versioned files.\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Table of Contents\n//\n// Color system\n// Options\n// Spacing\n// Body\n// Links\n// Grid breakpoints\n// Grid containers\n// Grid columns\n// Fonts\n// Components\n// Tables\n// Buttons\n// Forms\n// Dropdowns\n// Z-index master list\n// Navs\n// Navbar\n// Pagination\n// Jumbotron\n// Form states and alerts\n// Cards\n// Tooltips\n// Popovers\n// Badges\n// Modals\n// Alerts\n// Progress bars\n// List group\n// Image thumbnails\n// Figures\n// Breadcrumbs\n// Carousel\n// Close\n// Code\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: (\n 100: $gray-100,\n 200: $gray-200,\n 300: $gray-300,\n 400: $gray-400,\n 500: $gray-500,\n 600: $gray-600,\n 700: $gray-700,\n 800: $gray-800,\n 900: $gray-900\n) !default;\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: (\n blue: $blue,\n indigo: $indigo,\n purple: $purple,\n pink: $pink,\n red: $red,\n orange: $orange,\n yellow: $yellow,\n green: $green,\n teal: $teal,\n cyan: $cyan,\n white: $white,\n gray: $gray-600,\n gray-dark: $gray-800\n) !default;\n\n$theme-colors: (\n primary: $blue,\n secondary: $gray-600,\n success: $green,\n info: $cyan,\n warning: $yellow,\n danger: $red,\n light: $gray-100,\n dark: $gray-800\n) !default;\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif !default;\n$font-family-monospace: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: 1.25rem !default;\n$font-size-sm: .875rem !default;\n\n$font-weight-normal: normal !default;\n$font-weight-bold: bold !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: 2.5rem !default;\n$h2-font-size: 2rem !default;\n$h3-font-size: 1.75rem !default;\n$h4-font-size: 1.5rem !default;\n$h5-font-size: 1.25rem !default;\n$h6-font-size: 1rem !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.1 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: 1.25rem !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-inverse-bg: $gray-900 !default;\n$table-inverse-accent-bg: rgba($white, .05) !default;\n$table-inverse-hover-bg: rgba($white, .075) !default;\n$table-inverse-border-color: lighten($gray-900, 7.5%) !default;\n$table-inverse-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .5rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: 1.25 !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: 1.5 !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: 1.5 !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-focus-box-shadow: 0 0 0 3px rgba(theme-color(\"primary\"), .25) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: all .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: rgba($black,.15) !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-box-shadow: $input-box-shadow, $btn-focus-box-shadow !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-sm * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px theme-color(\"primary\") !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: 2.5rem !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: 1rem !default;\n$custom-file-padding-x: .5rem !default;\n$custom-file-line-height: 1.5 !default;\n$custom-file-color: $gray-700 !default;\n$custom-file-bg: $white !default;\n$custom-file-border-width: $border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $border-radius !default;\n$custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $gray-200 !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-padding-y: ($navbar-brand-height - $nav-link-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: rgba($white,1) !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: 1px !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-deck-margin: ($grid-gutter-width / 2) !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-inner-padding: 1px !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 5px 10px rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: 8px !default;\n$popover-header-padding-x: 14px !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: 9px !default;\n$popover-body-padding-x: 14px !default;\n\n$popover-arrow-width: 10px !default;\n$popover-arrow-height: 5px !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-color: $white !default;\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: .75rem !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n// scss-lint:disable Indentation\n &:hover { @content }\n// scss-lint:enable Indentation\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus { @content }\n @include hover { @content }\n } @else {\n &:focus,\n &:hover {\n @content\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content\n }\n @include hover { @content }\n } @else {\n &,\n &:focus,\n &:hover {\n @content\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content\n }\n @include hover { @content }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content\n }\n }\n}\n","//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include transition($thumbnail-transition);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: http://caniuse.com/#feat=css-media-resolution\n @media\n only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: $code-padding-y $code-padding-x;\n font-size: $code-font-size;\n color: $code-color;\n background-color: $code-bg;\n @include border-radius($border-radius);\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n padding: 0;\n color: inherit;\n background-color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $code-padding-y $code-padding-x;\n font-size: $code-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n width: 100%;\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n margin-right: auto;\n margin-left: auto;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n width: 100%;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name)\n } @else if $min == null {\n @include media-breakpoint-down($name)\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Inverse styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n.thead-inverse {\n th {\n color: $table-inverse-color;\n background-color: $table-inverse-bg;\n }\n}\n\n.thead-default {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n }\n}\n\n.table-inverse {\n color: $table-inverse-color;\n background-color: $table-inverse-bg;\n\n th,\n td,\n thead th {\n border-color: $table-inverse-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-inverse-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-inverse-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Add `.table-responsive` to `.table`s and we'll make them mobile friendly by\n// enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n @include media-breakpoint-down(md) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n &.table-bordered {\n border: 0;\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@mixin color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= 150) {\n color: #111;\n } @else {\n color: #fff;\n }\n}\n\n// Retreive color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function grayscale($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, #000, #fff);\n\n @if $level < 0 {\n // Lighter values need a quick double negative for the Sass math to work\n @return mix($color-base, $color, $level * -1 * $theme-color-interval);\n } @else {\n @return mix($color-base, $color, $level * $theme-color-interval);\n }\n}\n","// scss-lint:disable QualifyingElement, VendorPrefix\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n // // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n // height: $input-height;\n padding: $input-btn-padding-y $input-btn-padding-x;\n font-size: $font-size-base;\n line-height: $input-btn-line-height;\n color: $input-color;\n background-color: $input-bg;\n // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.\n background-image: none;\n background-clip: padding-box;\n border: $input-btn-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label text to\n// align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-btn-padding-y} - #{$input-btn-border-width} * 2);\n padding-bottom: calc(#{$input-btn-padding-y} - #{$input-btn-border-width} * 2);\n margin-bottom: 0; // Override the `
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},u={SHOW:"show",OUT:"out"},d={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},f={FADE:"fade",SHOW:"show"},_={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner",ARROW:".arrow"},g={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},m=function(){function o(t,e){this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var m=o.prototype;return m.enable=function(){this._isEnabled=!0},m.disable=function(){this._isEnabled=!1},m.toggleEnabled=function(){this._isEnabled=!this._isEnabled},m.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass(f.SHOW))return void this._leave(null,this);this._enter(null,this)}},m.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},m.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(i);var r=e.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!r)return;var a=this.getTipElement(),l=s.getUID(this.constructor.NAME);a.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&e(a).addClass(f.FADE);var h="function"==typeof this.config.placement?this.config.placement.call(this,a,this.element):this.config.placement,c=this._getAttachment(h);this.addAttachmentClass(c);var d=!1===this.config.container?document.body:e(this.config.container);e(a).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(a).appendTo(d),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,a,{placement:c,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:_.ARROW}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),e(a).addClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().on("mouseover",null,e.noop);var g=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),n===u.OUT&&t._leave(null,t)};s.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(this.tip).one(s.TRANSITION_END,g).emulateTransitionEnd(o._TRANSITION_DURATION):g()}},m.hide=function(t){var n=this,i=this.getTipElement(),r=e.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==u.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};e(this.element).trigger(r),r.isDefaultPrevented()||(e(i).removeClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),this._activeTrigger[g.CLICK]=!1,this._activeTrigger[g.FOCUS]=!1,this._activeTrigger[g.HOVER]=!1,s.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(i).one(s.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},m.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},m.isWithContent=function(){return Boolean(this.getTitle())},m.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},m.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},m.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(_.TOOLTIP_INNER),this.getTitle()),t.removeClass(f.FADE+" "+f.SHOW)},m.setElementContent=function(t,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text()):t[i?"html":"text"](n)},m.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},m._getAttachment=function(t){return h[t.toUpperCase()]},m._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(n!==g.MANUAL){var i=n===g.HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,s=n===g.HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,function(e){return t._enter(e)}).on(s,t.config.selector,function(e){return t._leave(e)})}e(t.element).closest(".modal").on("hide.bs.modal",function(){return t.hide()})}),this.config.selector?this.config=e.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},m._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},m._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?g.FOCUS:g.HOVER]=!0),e(n.getTipElement()).hasClass(f.SHOW)||n._hoverState===u.SHOW?n._hoverState=u.SHOW:(clearTimeout(n._timeout),n._hoverState=u.SHOW,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===u.SHOW&&n.show()},n.config.delay.show):n.show())},m._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?g.FOCUS:g.HOVER]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=u.OUT,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===u.OUT&&n.hide()},n.config.delay.hide):n.hide())},m._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},m._getConfig=function(n){return"number"==typeof(n=e.extend({},this.constructor.Default,e(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),s.typeCheckConfig(t,n,this.constructor.DefaultType),n},m._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},m._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(a);null!==n&&n.length>0&&t.removeClass(n.join(""))},m._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},m._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass(f.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},o._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new o(this,i),e(this).data("bs.tooltip",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},r(o,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return c}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return d}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return l}}]),o}();return e.fn[t]=m._jQueryInterface,e.fn[t].Constructor=m,e.fn[t].noConflict=function(){return e.fn[t]=o,m._jQueryInterface},m}(),_=function(){var t="popover",n=".bs.popover",i=e.fn[t],s=new RegExp("(^|\\s)bs-popover\\S+","g"),a=e.extend({},f.Default,{placement:"right",trigger:"click",content:"",template:''}),l=e.extend({},f.DefaultType,{content:"(string|element|function)"}),h={FADE:"fade",SHOW:"show"},c={TITLE:".popover-header",CONTENT:".popover-body"},u={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,INSERTED:"inserted"+n,CLICK:"click"+n,FOCUSIN:"focusin"+n,FOCUSOUT:"focusout"+n,MOUSEENTER:"mouseenter"+n,MOUSELEAVE:"mouseleave"+n},d=function(i){function d(){return i.apply(this,arguments)||this}o(d,i);var f=d.prototype;return f.isWithContent=function(){return this.getTitle()||this._getContent()},f.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},f.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},f.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(c.TITLE),this.getTitle()),this.setElementContent(t.find(c.CONTENT),this._getContent()),t.removeClass(h.FADE+" "+h.SHOW)},f._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},f._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(s);null!==n&&n.length>0&&t.removeClass(n.join(""))},d._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/destroy|hide/.test(t))&&(n||(n=new d(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},r(d,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return a}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return u}},{key:"EVENT_KEY",get:function(){return n}},{key:"DefaultType",get:function(){return l}}]),d}(f);return e.fn[t]=d._jQueryInterface,e.fn[t].Constructor=d,e.fn[t].noConflict=function(){return e.fn[t]=i,d._jQueryInterface},d}(),g=function(){var t="scrollspy",n=e.fn[t],i={offset:10,method:"auto",target:""},o={offset:"number",method:"string",target:"(string|element)"},a={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},l={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},h={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},c={OFFSET:"offset",POSITION:"position"},u=function(){function n(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" "+h.NAV_LINKS+","+this._config.target+" "+h.LIST_ITEMS+","+this._config.target+" "+h.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on(a.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var u=n.prototype;return u.refresh=function(){var t=this,n=this._scrollElement!==this._scrollElement.window?c.POSITION:c.OFFSET,i="auto"===this._config.method?n:this._config.method,r=i===c.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),e.makeArray(e(this._selector)).map(function(t){var n,o=s.getSelectorFromElement(t);if(o&&(n=e(o)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)return[e(n)[i]().top+r,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},u.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},u._getConfig=function(n){if("string"!=typeof(n=e.extend({},i,n)).target){var r=e(n.target).attr("id");r||(r=s.getUID(t),e(n.target).attr("id",r)),n.target="#"+r}return s.typeCheckConfig(t,n,o),n},u._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},u._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},u._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},u._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;)this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},a=function(){function t(t){this._element=t}var a=t.prototype;return a.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass(i.ACTIVE)||e(this._element).hasClass(i.DISABLED))){var r,a,l=e(this._element).closest(o.NAV_LIST_GROUP)[0],h=s.getSelectorFromElement(this._element);if(l){var c="UL"===l.nodeName?o.ACTIVE_UL:o.ACTIVE;a=e.makeArray(e(l).find(c)),a=a[a.length-1]}var u=e.Event(n.HIDE,{relatedTarget:this._element}),d=e.Event(n.SHOW,{relatedTarget:a});if(a&&e(a).trigger(u),e(this._element).trigger(d),!d.isDefaultPrevented()&&!u.isDefaultPrevented()){h&&(r=e(h)[0]),this._activate(this._element,l);var f=function(){var i=e.Event(n.HIDDEN,{relatedTarget:t._element}),s=e.Event(n.SHOWN,{relatedTarget:a});e(a).trigger(i),e(t._element).trigger(s)};r?this._activate(r,r.parentNode,f):f()}}},a.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},a._activate=function(t,n,r){var a,l=this,h=(a="UL"===n.nodeName?e(n).find(o.ACTIVE_UL):e(n).children(o.ACTIVE))[0],c=r&&s.supportsTransitionEnd()&&h&&e(h).hasClass(i.FADE),u=function(){return l._transitionComplete(t,h,c,r)};h&&c?e(h).one(s.TRANSITION_END,u).emulateTransitionEnd(150):u(),h&&e(h).removeClass(i.SHOW)},a._transitionComplete=function(t,n,r,a){if(n){e(n).removeClass(i.ACTIVE);var l=e(n.parentNode).find(o.DROPDOWN_ACTIVE_CHILD)[0];l&&e(l).removeClass(i.ACTIVE),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass(i.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),r?(s.reflow(t),e(t).addClass(i.SHOW)):e(t).removeClass(i.FADE),t.parentNode&&e(t.parentNode).hasClass(i.DROPDOWN_MENU)){var h=e(t).closest(o.DROPDOWN)[0];h&&e(h).find(o.DROPDOWN_TOGGLE).addClass(i.ACTIVE),t.setAttribute("aria-expanded",!0)}a&&a()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),s=i.data("bs.tab");if(s||(s=new t(this),i.data("bs.tab",s)),"string"==typeof n){if("undefined"==typeof s[n])throw new Error('No method named "'+n+'"');s[n]()}})},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(n.CLICK_DATA_API,o.DATA_TOGGLE,function(t){t.preventDefault(),a._jQueryInterface.call(e(this),"show")}),e.fn.tab=a._jQueryInterface,e.fn.tab.Constructor=a,e.fn.tab.noConflict=function(){return e.fn.tab=t,a._jQueryInterface},a}();return function(){if("undefined"==typeof e)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=s,t.Alert=a,t.Button=l,t.Carousel=h,t.Collapse=c,t.Dropdown=u,t.Modal=d,t.Popover=_,t.Scrollspy=g,t.Tab=m,t.Tooltip=f,t}({},$,Popper); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/dist/js/bootstrap.min.js.map b/dist/js/bootstrap.min.js.map new file mode 100644 index 000000000..613897da3 --- /dev/null +++ b/dist/js/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["Util","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","transition","end","event","$","target","is","this","handleObj","handler","apply","arguments","transitionEndTest","window","QUnit","el","document","createElement","name","TransitionEndEvent","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","getElementById","element","selector","getAttribute","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","supportsTransitionEnd","special","Alert","NAME","JQUERY_NO_CONFLICT","Event","ClassName","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","Selector","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","DATA_KEY","EVENT_KEY","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","LEFT","RIGHT","slidEvent","reflow","_this3","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","Popper","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","_this9","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","CLASS_PREFIX","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version"],"mappings":"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","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // if it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // it's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && config\n )\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget : this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this._element).data(),\n config\n )\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement : this._getPlacement(),\n modifiers : {\n offset : offsetConf,\n flip : {\n enabled : this._config.flip\n }\n }\n }\n\n // Disable Popper.js for Dropdown in Navbar\n if (this._inNavbar) {\n popperConfig.modifiers.applyStyle = {\n enabled: !this._inNavbar\n }\n }\n return popperConfig\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n && $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
'\n + '
'\n + '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
'\n + '
'\n + '

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

Brand guidelines

Documentation and examples for Bootstrap's logo and brand usage guidelines.

- +

Have a need for Bootstrap’s brand resources? Great! We have only a few guidelines we follow, and in turn ask you to follow as well. These guidelines were inspired by MailChimp’s Brand Assets.

@@ -1122,14 +683,12 @@ - - - - + diff --git a/docs/4.0/about/history/index.html b/docs/4.0/about/history/index.html index 9c3e64c32..51b7935b2 100644 --- a/docs/4.0/about/history/index.html +++ b/docs/4.0/about/history/index.html @@ -1,14 +1,37 @@ - + + - - - History · Bootstrap - - +History · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
-
@@ -1023,7 +584,7 @@

History

A brief overview of the history of Bootstrap.

- +

Originally created by a designer and a developer at Twitter, Bootstrap has become one of the most popular front-end frameworks and open source projects in the world.

@@ -1048,14 +609,12 @@ - - - - + diff --git a/docs/4.0/about/index.html b/docs/4.0/about/index.html index 53527ef06..c0b4e6f18 100644 --- a/docs/4.0/about/index.html +++ b/docs/4.0/about/index.html @@ -1,10 +1,37 @@ - - - - Redirecting… - - -

Redirecting…

- Click here if you are not redirected. - + + + + + + Bootstrap - Content moved + + + + + +

Redirecting…

+ Click here if you are not redirected + + diff --git a/docs/4.0/about/license/index.html b/docs/4.0/about/license/index.html index 26b561955..d40e6d979 100644 --- a/docs/4.0/about/license/index.html +++ b/docs/4.0/about/license/index.html @@ -1,14 +1,37 @@ - + + - - - License FAQs · Bootstrap - - +License FAQs · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
-
@@ -1023,7 +584,7 @@

License FAQs

Commonly asked questions about Bootstrap's open source license.

- +

Bootstrap is released under the MIT license and is copyright 2017 Twitter. Boiled down to smaller chunks, it can be described with the following conditions.

@@ -1059,7 +620,7 @@
  • Submit changes that you make to Bootstrap back to the Bootstrap project (though such feedback is encouraged)
  • -

    The full Bootstrap license is located in the project repository for more information.

    +

    The full Bootstrap license is located in the project repository for more information.

    @@ -1078,14 +639,12 @@ - - - - + diff --git a/docs/4.0/about/team/index.html b/docs/4.0/about/team/index.html index 562d994b6..13b63feae 100644 --- a/docs/4.0/about/team/index.html +++ b/docs/4.0/about/team/index.html @@ -1,14 +1,37 @@ - + + - - - Team · Bootstrap - - +Team · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,7 +584,7 @@

    Team

    An overview of the founding team and core contributors to Bootstrap.

    - +

    Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.

    @@ -1109,9 +670,17 @@
    + +
    -

    Get involved with Bootstrap development by opening an issue or submitting a pull request. Read our contributing guidelines for information on how we develop.

    +

    Get involved with Bootstrap development by opening an issue or submitting a pull request. Read our contributing guidelines for information on how we develop.

    @@ -1130,14 +699,12 @@ - - - - + diff --git a/docs/4.0/about/translations/index.html b/docs/4.0/about/translations/index.html index f1700bfcc..ac7b1984d 100644 --- a/docs/4.0/about/translations/index.html +++ b/docs/4.0/about/translations/index.html @@ -1,14 +1,37 @@ - + + - - - Translations · Bootstrap - - +Translations · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,12 +584,14 @@

    Translations

    Links to community-translated Bootstrap documentation sites.

    - +

    Community members have translated Bootstrap’s documentation into various languages. None are officially supported and they may not always be up to date.

    - Download + Download @@ -145,876 +149,433 @@
    -
    @@ -1023,7 +584,7 @@

    Wall of browser bugs

    - +

    Bootstrap currently works around several outstanding browser bugs in major browsers to deliver the best cross-browser experience possible. Some bugs, like those listed below, cannot be solved by us.

    @@ -1274,7 +835,7 @@

    table-cell borders not overlapping despite margin-right: -1px

    - Chromium issue #568691 + Chromium issue #749848 #17438, #14237 @@ -1600,7 +1161,7 @@ Edge -

    Implement the of <selector-list> clause of the :nth-child() pseudo-class

    +

    Implement the of <selector-list> clause of the :nth-child() pseudo-class

    Edge UserVoice idea #15944476 @@ -1611,7 +1172,7 @@ Firefox -

    Implement the of <selector-list> clause of the :nth-child() pseudo-class

    +

    Implement the of <selector-list> clause of the :nth-child() pseudo-class

    Mozilla bug #854148 @@ -1655,7 +1216,7 @@ Chrome -

    Implement the of <selector-list> clause of the :nth-child() pseudo-class

    +

    Implement the of <selector-list> clause of the :nth-child() pseudo-class

    Chromium issue #304163 @@ -1727,14 +1288,12 @@ - - - - + diff --git a/docs/4.0/components/alerts/index.html b/docs/4.0/components/alerts/index.html index 6df1d9253..a468011e1 100644 --- a/docs/4.0/components/alerts/index.html +++ b/docs/4.0/components/alerts/index.html @@ -1,14 +1,37 @@ - + + - - - Alerts · Bootstrap - - +Alerts · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,9 +584,7 @@
    • Examples
        -
      • Link color
      • Additional content
          @@ -1049,13 +608,13 @@

          Alerts

          Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.

          - +

          Examples

          -

          Alerts are available for any length of text, as well as an optional dismiss button. For proper styling, use one of the four required contextual classes (e.g., .alert-success). For inline dismissal, use the alerts jQuery plugin.

          +

          Alerts are available for any length of text, as well as an optional dismiss button. For proper styling, use one of the eight required contextual classes (e.g., .alert-success). For inline dismissal, use the alerts jQuery plugin.

          -
          +
          @@ -1116,7 +675,7 @@

          Use the .alert-link utility class to quickly provide matching colored links within any alert.

          -
          +
          @@ -1171,7 +730,7 @@

          Alerts can also contain additional HTML elements like headings, paragraphs and dividers.

          -
          +
        +
    Layout -
    - - - - - - - - -
    + +
    Content -
    - - - - - - - - -
    + +
    Components -
    - - - - - - - - -
    + +
    Utilities -
    - - - - - - - - -
    + +
    Extend -
    - - - - - - - - -
    + +
    Migration - -
    - - + +
    @@ -1024,10 +585,8 @@
  • Example
  • Contextual variations
  • Pill badges
  • Links
  • @@ -1038,7 +597,7 @@

    Badges

    Documentation and examples for badges, our small count and labeling component.

    - +

    Example

    @@ -1063,34 +622,34 @@

    Badges can be used as part of links or buttons to provide a counter.

    -
    +
    <button type="button" class="btn btn-primary">
    +  Notifications <span class="badge badge-light">4</span>
    +</button>
    -
    <button class="btn">
    -  Notifications <span class="badge badge-secondary">4</span>
    -</button>
    +

    Note that depending on how they are used, badges may be confusing for users of screen readers and similar assistive technologies. While the styling of badges provides a visual cue as to their purpose, these users will simply be presented with the content of the badge. Depending on the specific situation, these badges may seem like random additional words or numbers at the end of a sentence, link, or button.

    -

    Note that depending on how they are used, badges may be confusing for users of screen readers and similar assistive technologies. While the styling of badges provides a visual cue as to their purpose, these users will simply be presented with the content of the badge. Depending on the specific situation, these badges may seem like random additional words or numbers at the end of a sentence, link or button. Unless the context is clear (as with the “Notifications” example, where it is arguably understandable that the “4” gives a count of the number of notifications), consider including additional context – for instance using a visually hidden piece of additional text.

    +

    Unless the context is clear (as with the “Notifications” example, where it is understood that the “4” is the number of notifications), consider including additional context with a visually hidden piece of additional text.

    -
    - -
    <button class="btn">
    -  Profile <span class="badge badge-secondary">9</span>
    +
    <button type="button" class="btn btn-primary">
    +  Profile <span class="badge badge-light">9</span>
       <span class="sr-only">unread messages</span>
    -</button>
    +</button>

    Contextual variations

    Add any of the below mentioned modifier classes to change the appearance of a badge.

    -
    +
    Primary Secondary Success @@ -1119,7 +678,7 @@

    Use the .badge-pill modifier class to make badges more rounded (with a larger border-radius and additional horizontal padding). Useful if you miss the badges from v3.

    -
    +
    Primary Secondary Success @@ -1140,9 +699,9 @@ -

    Using the .badge classes with the <a> element quickly provide actionable badges with hover and focus states.

    +

    Using the contextual .badge-* classes on an <a> element quickly provide actionable badges with hover and focus states.

    -
    +
    Primary Secondary Success @@ -1179,14 +738,12 @@ - - - - + diff --git a/docs/4.0/components/breadcrumb/index.html b/docs/4.0/components/breadcrumb/index.html index a8586e36d..2a475458e 100644 --- a/docs/4.0/components/breadcrumb/index.html +++ b/docs/4.0/components/breadcrumb/index.html @@ -1,14 +1,37 @@ - + + - - - Breadcrumb · Bootstrap - - +Breadcrumb · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,54 +584,60 @@

    Breadcrumb

    Indicate the current page's location within a navigational hierarchy that automatically adds separators via CSS.

    - + -

    Separators are automatically added in CSS through ::before and content.

    +

    Overview

    -
    - - - -
    -
    <ol class="breadcrumb">
    -  <li class="breadcrumb-item active">Home</li>
    -</ol>
    -<ol class="breadcrumb">
    -  <li class="breadcrumb-item"><a href="#">Home</a></li>
    -  <li class="breadcrumb-item active">Library</li>
    -</ol>
    -<ol class="breadcrumb">
    -  <li class="breadcrumb-item"><a href="#">Home</a></li>
    -  <li class="breadcrumb-item"><a href="#">Library</a></li>
    -  <li class="breadcrumb-item active">Data</li>
    -</ol>
    +

    Separators are automatically added in CSS through ::before and content.

    -

    Similar to our navigation components, breadcrumbs work fine with or without the usage of list markup.

    +
    + -
    -
    -
    <nav class="breadcrumb">
    -  <a class="breadcrumb-item" href="#">Home</a>
    -  <a class="breadcrumb-item" href="#">Library</a>
    -  <a class="breadcrumb-item" href="#">Data</a>
    -  <span class="breadcrumb-item active">Bootstrap</span>
    +
    <nav aria-label="breadcrumb" role="navigation">
    +  <ol class="breadcrumb">
    +    <li class="breadcrumb-item active" aria-current="page">Home</li>
    +  </ol>
    +</nav>
    +
    +<nav aria-label="breadcrumb" role="navigation">
    +  <ol class="breadcrumb">
    +    <li class="breadcrumb-item"><a href="#">Home</a></li>
    +    <li class="breadcrumb-item active" aria-current="page">Library</li>
    +  </ol>
    +</nav>
    +
    +<nav aria-label="breadcrumb" role="navigation">
    +  <ol class="breadcrumb">
    +    <li class="breadcrumb-item"><a href="#">Home</a></li>
    +    <li class="breadcrumb-item"><a href="#">Library</a></li>
    +    <li class="breadcrumb-item active" aria-current="page">Data</li>
    +  </ol>
     </nav>
    +

    Accessibility

    + +

    Since breadcrumbs provide a navigation, it’s a good idea to add a meaningful label such as aria-label="breadcrumb" to describe the type of navigation provided in the <nav> element, as well as applying an aria-current="page" to the last item of the set to indicate that it represents the current page.

    + +

    For more information, see the WAI-ARIA Authoring Practices for the breadcrumb pattern.

    @@ -1089,14 +656,12 @@ - - - - + diff --git a/docs/4.0/components/button-group/index.html b/docs/4.0/components/button-group/index.html index a7c7e266b..6844b706e 100644 --- a/docs/4.0/components/button-group/index.html +++ b/docs/4.0/components/button-group/index.html @@ -1,14 +1,37 @@ - + + - - - Button group · Bootstrap - - +Button group · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,16 +584,13 @@
    @@ -1040,13 +598,13 @@

    Button group

    Group a series of buttons together on a single line with the button group, and super-power them with JavaScript.

    - +

    Basic example

    Wrap a series of buttons with .btn in .btn-group. Add on optional JavaScript radio and checkbox style behavior with our buttons plugin.

    -
    +
    @@ -1066,11 +624,12 @@

    In addition, groups and toolbars should be given an explicit label, as most assistive technologies will otherwise not announce them, despite the presence of the correct role attribute. In the examples provided here, we use aria-label, but alternatives such as aria-labelledby can also be used.

    +

    Button toolbar

    Combine sets of button groups into button toolbars for more complex components. Use utility classes as needed to space out groups, buttons, and more.

    -
    +
    @@ -1308,14 +864,12 @@ - - - - + diff --git a/docs/4.0/components/buttons/index.html b/docs/4.0/components/buttons/index.html index 5bc0e6fed..d2005c33e 100644 --- a/docs/4.0/components/buttons/index.html +++ b/docs/4.0/components/buttons/index.html @@ -1,14 +1,37 @@ - + + - - - Buttons · Bootstrap - - +Buttons · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,10 +584,8 @@
    • Examples
    • Button tags
    • Outline buttons
    • @@ -1034,10 +593,8 @@
    • Active state
    • Disabled state
    • Button plugin
        @@ -1053,13 +610,13 @@

        Buttons

        Use Bootstrap's custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.

        - +

        Examples

        Bootstrap includes several predefined button styles, each serving its own semantic purpose, with a few extras thrown in for more control.

        -
        +
        @@ -1094,7 +651,7 @@

        When using button classes on <a> elements that are used to trigger in-page functionality (like collapsing content), rather than linking to new pages or sections within the current page, these links should be given a role="button" to appropriately convey their purpose to assistive technologies such as screen readers.

        -
        +
        Link @@ -1111,7 +668,7 @@

        In need of a button, but not the hefty background colors they bring? Replace the default modifier classes with the .btn-outline-* ones to remove all background images and colors on any button.

        -
        +
        @@ -1134,14 +691,14 @@

        Fancy larger or smaller buttons? Add .btn-lg or .btn-sm for additional sizes.

        -
        +
        <button type="button" class="btn btn-primary btn-lg">Large button</button>
         <button type="button" class="btn btn-secondary btn-lg">Large button</button>
        -
        +
        @@ -1150,7 +707,7 @@

        Create block level buttons—those that span the full width of a parent—by adding .btn-block.

        -
        +
        @@ -1161,7 +718,7 @@

        Buttons will appear pressed (with a darker background, darker border, and inset shadow) when active. There’s no need to add a class to <button>s as they use a pseudo-class. However, you can still force the same active appearance with .active (and include the aria-pressed="true" attribute) should you need to replicate the state programmatically.

        -
        + @@ -1172,7 +729,7 @@

        Make buttons look inactive by adding the disabled boolean attribute to any <button> element.

        -
        +
        @@ -1187,7 +744,7 @@
      • Disabled buttons should include the aria-disabled="true" attribute to indicate the state of the element to assistive technologies.
      -
      + @@ -1208,7 +765,7 @@

      Add data-toggle="button" to toggle a button’s active state. If you’re pre-toggling a button, you must manually add the .active class and aria-pressed="true" to the <button>.

      -
      +
      @@ -1225,7 +782,7 @@

      Note that pre-checked buttons require you to manually add the .active class to the input’s <label>.

      -
      +
      -
      +
    • @@ -136,7 +140,7 @@
    - Download + Download @@ -145,876 +149,433 @@
    -
    @@ -1024,22 +585,18 @@
  • About
  • Example
  • Content types
      -
    • Blocks
    • +
    • Body
    • Titles, text, and links
    • @@ -1083,20 +640,16 @@
    • Text alignment
    • Navigation
    • Images
        @@ -1186,7 +739,7 @@

        Cards

        Bootstrap's cards provide a flexible and extensible content container with multiple variants and options.

        - +

        About

        @@ -1200,7 +753,7 @@

        Below is an example of a basic card with mixed content and a fixed width. Cards have no fixed width to start, so they’ll naturally fill the full width of its parent element. This is easily customized with our various sizing options.

        -
        +
        Card image cap
        @@ -1223,30 +776,30 @@

        Cards support a wide variety of content, including images, text, list groups, links, and more. Below are examples of what’s supported.

        -

        Blocks

        +

        Body

        The building block of a card is the .card-body. Use it whenever you need a padded section within a card.

        -
        +
        - This is some text within a card block. + This is some text within a card body.
        <div class="card">
           <div class="card-body">
        -    This is some text within a card block.
        +    This is some text within a card body.
           </div>
         </div>
        -

        Card titles are used by adding .card-title to a <h*> tag. In the same way, links are added and placed next to each other by adding .card-link to a <a> tag.

        +

        Card titles are used by adding .card-title to a <h*> tag. In the same way, links are added and placed next to each other by adding .card-link to an <a> tag.

        Subtitles are used by adding a .card-subtitle to a <h*> tag. If the .card-title and the .card-subtitle items are placed in a .card-body item, the card title and subtitle are aligned nicely.

        -
        +

        Card title

        @@ -1271,7 +824,7 @@

        .card-img-top places an image to the top of the card. With .card-text, text can be added to the card. Text within .card-text can also be styled with the standard HTML tags.

        -
        +
        Card image cap
        @@ -1290,7 +843,7 @@

        Create lists of content in a card with a flush list group.

        -
        +
        • Cras justo odio
        • @@ -1307,11 +860,34 @@ </ul> </div>
        +
        +
        +
        + Featured +
        +
          +
        • Cras justo odio
        • +
        • Dapibus ac facilisis in
        • +
        • Vestibulum at eros
        • +
        +
        +
        +
        <div class="card" style="width: 20rem;">
        +  <div class="card-header">
        +    Featured
        +  </div>
        +  <ul class="list-group list-group-flush">
        +    <li class="list-group-item">Cras justo odio</li>
        +    <li class="list-group-item">Dapibus ac facilisis in</li>
        +    <li class="list-group-item">Vestibulum at eros</li>
        +  </ul>
        +</div>
        +

        Kitchen sink

        Mix and match multiple content types to create the card you need, or throw everything in there. Shown below are image styles, blocks, text styles, and a list group—all wrapped in a fixed-width card.

        -
        +
        Card image cap
        @@ -1350,7 +926,7 @@

        Add an optional header and/or footer within a card.

        -
        +
        Featured @@ -1375,7 +951,7 @@

        Card headers can be styled by adding .card-header to <h*> elements.

        -
        +

        Featured

        @@ -1394,7 +970,7 @@ </div> </div>
        -
        +
        Quote @@ -1419,7 +995,7 @@ </div> </div>
        -
        +
        Featured @@ -1456,7 +1032,7 @@

        Using the grid, wrap cards in columns and rows as needed.

        -
        +
        @@ -1503,7 +1079,7 @@

        Use our handful of available sizing utilities to quickly set a card’s width.

        -
        +

        Card title

        @@ -1540,7 +1116,7 @@

        Use custom CSS in your stylesheets or as inline styles to set a width.

        -
        +

        Special title treatment

        @@ -1561,7 +1137,7 @@

        You can quickly change the text alignment of any card—in its entirety or specific parts—with our text align classes.

        -
        +

        Special title treatment

        @@ -1614,7 +1190,7 @@

        Add some navigation to a card’s header (or block) with Bootstrap’s nav components.

        -
        +
        -
        +
        - Download + Download @@ -145,876 +149,433 @@
        -
      +
  • Layout -
    - - - - - - - - -
    + +
    Content -
    - - - - - - - - -
    + +
    Components -
    - - - - - - - - -
    + +
    Utilities -
    - - - - - - - - -
    + +
    Extend -
    - - - - - - - - -
    + +
    Migration - -
    - - + +
    @@ -1053,6 +614,7 @@
  • .carousel('next')
  • +
  • .carousel('dispose')
  • Events
  • @@ -1063,7 +625,7 @@

    Carousel

    A slideshow component for cycling through elements—images or slides of text—like a carousel.

    - +

    How it works

    @@ -1073,6 +635,8 @@

    Please be aware that nested carousels are not supported, and carousels are generally not compliant with accessibility standards.

    +

    Lastly, if you’re building our JS from source, it requires util.js.

    +

    Example

    Carousels don’t automatically normalize slide dimensions. As such, you may need to use additional utilities or custom styles to appropriately size content. While carousels support previous/next controls and indicators, they’re not explicitly required. Add and customize as you see fit.

    @@ -1083,7 +647,7 @@

    Here’s a carousel with slides only. Note the presence of the .d-block and .img-fluid on carousel images to prevent browser default image alignment.

    -
    +
    -

    Toggles a collapsible element to shown or hidden. **Returns to the caller before the collapsible element has actually been shown or hidden (i.e. before the shown.bs.collapse or hidden.bs.collapse event occurs).

    +

    Toggles a collapsible element to shown or hidden. Returns to the caller before the collapsible element has actually been shown or hidden (i.e. before the shown.bs.collapse or hidden.bs.collapse event occurs).

    .collapse('show')

    @@ -1399,6 +957,10 @@ Multiple <button> or hidden.bs.collapse event occurs).

    +

    .collapse('dispose')

    + +

    Destroys an element’s collapse.

    +

    Events

    Bootstrap’s collapse class exposes a few events for hooking into collapse functionality.

    @@ -1452,14 +1014,12 @@ Multiple <button> or - - - - + diff --git a/docs/4.0/components/dropdowns/index.html b/docs/4.0/components/dropdowns/index.html index 82278b47e..b749d5914 100644 --- a/docs/4.0/components/dropdowns/index.html +++ b/docs/4.0/components/dropdowns/index.html @@ -1,14 +1,37 @@ - + + - - - Dropdowns · Bootstrap - - +Dropdowns · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1035,26 +596,19 @@
  • Menu alignment
  • Menu headers
  • Menu dividers
  • +
  • Menu forms
  • Disabled menu items
  • Usage - Download + Download @@ -145,876 +149,433 @@
    -
  • +
    Layout -
    - - - - - - - - -
    + +
    Content -
    - - - - - - - - -
    + +
    Components -
    - - - - - - - - -
    + +
    Utilities -
    - - - - - - - - -
    + +
    Extend -
    - - - - - - - - -
    + +
    Migration - -
    - - + + @@ -1042,7 +603,11 @@
  • Form grid @@ -1056,20 +621,14 @@
  • Help text
  • Disabled forms
  • Validation
      @@ -1105,7 +664,7 @@

      Forms

      Examples and usage guidelines for form control styles, layout options, and custom components for creating a wide variety of forms.

      - +

      Overview

      @@ -1115,7 +674,7 @@

      Here’s a quick example to demonstrate Bootstrap’s form styles. Keep reading for documentation on required classes, form layout, and more.

      -
      +
      @@ -1160,7 +719,7 @@

      Be sure to explore our custom forms to further style <select>s.

      -
      +
      @@ -1225,7 +784,7 @@

      For file inputs, swap the .form-control for .form-control-file.

      -
      +
      @@ -1244,7 +803,7 @@

      Set heights using classes like .form-control-lg and .form-control-sm.

      -
      +
      @@ -1253,7 +812,7 @@ <input class="form-control" type="text" placeholder="Default input"> <input class="form-control form-control-sm" type="text" placeholder=".form-control-sm">
      -
      +
      @@ -1278,7 +837,7 @@

      Add the readonly boolean attribute on an input to prevent modification of the input’s value. Read-only inputs appear lighter (just like disabled inputs), but retain the standard cursor.

      -
      +
      <input class="form-control" type="text" placeholder="Readonly input here…" readonly>
      @@ -1287,7 +846,7 @@

      If you want to have <input readonly> elements in your form styled as plain text, use the .form-control-plaintext class to remove the default form field styling and preserve the correct margin and padding.

      -
      +
      @@ -1318,7 +877,7 @@ </div> </form>
      -
      +
      @@ -1353,7 +912,7 @@

      By default, any number of checkboxes and radios that are immediate sibling will be vertically stacked and appropriately spaced with .form-check.

      -
      +
      -
      +
      +
      -
      +
    @@ -2243,7 +1851,7 @@

    When attempting to submit, you’ll see the :invalid and :valid styles applied to your form controls.

    -
    +
    @@ -2284,18 +1892,19 @@
    <form class="container" id="needs-validation" novalidate>
    @@ -2338,18 +1947,19 @@
     <script>
     // Example starter JavaScript for disabling form submissions if there are invalid fields
     (function() {
    -  "use strict";
    -  window.addEventListener("load", function() {
    -    var form = document.getElementById("needs-validation");
    -    form.addEventListener("submit", function(event) {
    -      if (form.checkValidity() == false) {
    +  'use strict';
    +
    +  window.addEventListener('load', function() {
    +    var form = document.getElementById('needs-validation');
    +    form.addEventListener('submit', function(event) {
    +      if (form.checkValidity() === false) {
             event.preventDefault();
             event.stopPropagation();
           }
    -      form.classList.add("was-validated");
    +      form.classList.add('was-validated');
         }, false);
       }, false);
    -}());
    +})();
     </script>

    Browser defaults

    @@ -2358,7 +1968,7 @@

    While these feedback styles cannot be styled with CSS, you can still customize the feedback text through JavaScript.

    -
    +
    @@ -2439,7 +2049,7 @@

    We recommend using client side validation, but in case you require server side, you can indicate invalid and valid form fields with .is-invalid and .is-valid. Note that .invalid-feedback is also supported with these classes.

    -
    +
    @@ -2520,7 +2130,7 @@

    Our example forms show native textual <input>s above, but form validation styles are available for our custom form controls, too.

    -
    +
  • @@ -136,7 +140,7 @@ - Download + Download @@ -145,876 +149,433 @@
    - -
    @@ -1036,13 +597,13 @@

    Input group

    Easily extend form controls by adding text, buttons, or button groups on either side of textual inputs.

    - +

    Basic example

    Place one add-on or button on either side of an input. You may also place one on both sides of an input. We do not support multiple form-controls in a single input group and <label>s must come outside the input group.

    -
    +
    @ @@ -1103,13 +664,13 @@

    Add the relative form sizing classes to the .input-group itself and contents within will automatically resize—no need for repeating the form control size classes on each element.

    -
    +
    @

    -
    +
    @
    @@ -1119,7 +680,7 @@ <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="sizing-addon1"> </div> <br> -<div class="input-group"> +<div class="input-group input-group-sm"> <span class="input-group-addon" id="sizing-addon2">@</span> <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="sizing-addon2"> </div>
    @@ -1128,7 +689,7 @@

    Place any checkbox or radio option within an input group’s addon instead of text.

    -
    +
    @@ -1171,7 +732,7 @@

    Multiple add-ons are supported and can be mixed with checkbox and radio input versions.

    -
    +
    @@ -1214,7 +775,7 @@

    Buttons in input groups must wrapped in a .input-group-btn for proper alignment and sizing. This is required due to default browser styles that cannot be overridden.

    -
    +
    @@ -1235,7 +796,7 @@

    -
    +
    @@ -1268,7 +829,7 @@ </div> <br> <div class="row"> - <div class="col-lg-offset-3 col-lg-6"> + <div class="col-lg-6 offset-lg-3"> <div class="input-group"> <span class="input-group-btn"> <button class="btn btn-secondary" type="button">Hate it</button> @@ -1283,7 +844,7 @@

    Buttons with dropdowns

    -
    +
    @@ -1360,7 +921,7 @@

    Segmented buttons

    -
    +
    @@ -1462,14 +1023,12 @@ - - - - + diff --git a/docs/4.0/components/jumbotron/index.html b/docs/4.0/components/jumbotron/index.html index 8d5f8bcb5..720caa85e 100644 --- a/docs/4.0/components/jumbotron/index.html +++ b/docs/4.0/components/jumbotron/index.html @@ -1,14 +1,37 @@ - + + - - - Jumbotron · Bootstrap - - +Jumbotron · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,11 +584,11 @@

    Jumbotron

    Lightweight, flexible component for showcasing hero unit style content.

    - +

    A lightweight, flexible component that can optionally extend the entire viewport to showcase key marketing messages on your site.

    -
    +

    Hello, world!

    This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.

    @@ -1050,7 +611,7 @@

    To make the jumbotron full width, and without rounded corners, add the .jumbotron-fluid modifier class and add a .container or .container-fluid within.

    -
    +

    Fluid jumbotron

    @@ -1083,14 +644,12 @@ - - - - + diff --git a/docs/4.0/components/list-group/index.html b/docs/4.0/components/list-group/index.html index 58b9e724f..1fee2a696 100644 --- a/docs/4.0/components/list-group/index.html +++ b/docs/4.0/components/list-group/index.html @@ -1,14 +1,37 @@ - + + - - - List group · Bootstrap - - +List group · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1027,22 +588,16 @@
  • Links and buttons
  • Contextual classes
  • With badges
  • Custom content
  • JavaScript behavior +
  • Utilities -
    - - - - - - - - -
    + +
    Extend -
    - - - - - - - - -
    + +
    Migration - -
    - - + +
    @@ -1026,47 +587,35 @@ @@ -1107,7 +655,7 @@

    Modal

    Use Bootstrap's JavaScript modal plugin to add dialogs to your site for lightboxes, user notifications, or completely custom content.

    - +

    How it works

    @@ -1119,19 +667,15 @@
  • Bootstrap only supports one modal window at a time. Nested modals aren’t supported as we believe them to be poor user experiences.
  • Modals use position: fixed, which can sometimes be a bit particular about its rendering. Whenever possible, place your modal HTML in a top-level position to avoid potential interference from other elements. You’ll likely run into issues when nesting a .modal within another fixed element.
  • Once again, due to position: fixed, there are some caveats with using modals on mobile devices. See our browser support docs for details.
  • -
  • Lastly, the autofocus HTML attribute has no effect in modals. Here’s how you can achieve the same effect with custom JavaScript.
  • - - -

    Keep reading for demos and usage guidelines.

    - -
    • Due to how HTML5 defines its semantics, the autofocus HTML attribute has no effect in Bootstrap modals. To achieve the same effect, use some custom JavaScript:
    $('#myModal').on('shown.bs.modal', function () {
    -  $('#myInput').focus()
    +  $('#myInput').trigger('focus')
     })
    +

    Keep reading for demos and usage guidelines.

    +

    Examples

    @@ -1139,7 +683,7 @@

    Below is a static modal example (meaning its position and display have been overridden). Included are the modal header, modal body (required for padding), and modal footer (optional). We ask that you include modal headers with dismiss actions whenever possible, or provide another explicit dismiss action.

    -
    + +
    +

    © Company 2017

    +
    @@ -95,7 +99,5 @@ - - diff --git a/docs/4.0/examples/justified-nav/index.html b/docs/4.0/examples/justified-nav/index.html index c05c9a221..495332195 100644 --- a/docs/4.0/examples/justified-nav/index.html +++ b/docs/4.0/examples/justified-nav/index.html @@ -1,4 +1,4 @@ - + @@ -20,7 +20,7 @@
    -
    +

    Project name

    -
    + - -
    -

    Marketing stuff!

    -

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet.

    -

    Get started today

    -
    +
    - -
    -
    -

    Heading

    -

    Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

    -

    View details »

    + +
    +

    Marketing stuff!

    +

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet.

    +

    Get started today

    -
    -

    Heading

    -

    Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

    -

    View details »

    + + +
    +
    +

    Heading

    +

    Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

    +

    View details »

    +
    +
    +

    Heading

    +

    Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

    +

    View details »

    +
    +
    +

    Heading

    +

    Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

    +

    View details »

    +
    -
    -

    Heading

    -

    Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

    -

    View details »

    -
    -
    + +
    @@ -98,7 +102,5 @@ - - diff --git a/docs/4.0/examples/justified-nav/justified-nav.css b/docs/4.0/examples/justified-nav/justified-nav.css index 2f6de026e..0ca9aabb5 100644 --- a/docs/4.0/examples/justified-nav/justified-nav.css +++ b/docs/4.0/examples/justified-nav/justified-nav.css @@ -20,26 +20,19 @@ body { } .navbar { - background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7),to(#eee)); - background-image: -webkit-linear-gradient(top, #f7f7f7 0%,#eee 100%); - background-image: -o-linear-gradient(top, #f7f7f7 0%,#eee 100%); background-image: linear-gradient(to bottom, #f7f7f7 0%,#eee 100%); border: 1px solid #e5e5e5; } @media (min-width: 768px) { .navbar-nav { - display: -webkit-box; - display: -webkit-flex; display: -ms-flexbox; display: flex; } .navbar-nav .nav-item { - -webkit-box-flex: 1; - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; + -ms-flex: 1 0 auto; + flex: 1 0 auto; } } diff --git a/docs/4.0/examples/narrow-jumbotron/index.html b/docs/4.0/examples/narrow-jumbotron/index.html index 303470bb3..19ef46506 100644 --- a/docs/4.0/examples/narrow-jumbotron/index.html +++ b/docs/4.0/examples/narrow-jumbotron/index.html @@ -1,4 +1,4 @@ - + @@ -19,7 +19,7 @@
    -
    +

    Project name

    -
    + -
    -

    Jumbotron heading

    -

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

    -

    Sign up today

    -
    +
    -
    -
    -

    Subheading

    -

    Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.

    - -

    Subheading

    -

    Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.

    - -

    Subheading

    -

    Maecenas sed diam eget risus varius blandit sit amet non magna.

    +
    +

    Jumbotron heading

    +

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

    +

    Sign up today

    -
    -

    Subheading

    -

    Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.

    +
    +
    +

    Subheading

    +

    Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.

    -

    Subheading

    -

    Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.

    +

    Subheading

    +

    Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.

    -

    Subheading

    -

    Maecenas sed diam eget risus varius blandit sit amet non magna.

    +

    Subheading

    +

    Maecenas sed diam eget risus varius blandit sit amet non magna.

    +
    + +
    +

    Subheading

    +

    Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.

    + +

    Subheading

    +

    Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.

    + +

    Subheading

    +

    Maecenas sed diam eget risus varius blandit sit amet non magna.

    +
    -
    + +

    © Company 2017

    - - - - - diff --git a/docs/4.0/examples/narrow-jumbotron/narrow-jumbotron.css b/docs/4.0/examples/narrow-jumbotron/narrow-jumbotron.css index 28cf77381..dc4cf6c21 100644 --- a/docs/4.0/examples/narrow-jumbotron/narrow-jumbotron.css +++ b/docs/4.0/examples/narrow-jumbotron/narrow-jumbotron.css @@ -17,6 +17,7 @@ body { padding-bottom: 1rem; border-bottom: .05rem solid #e5e5e5; } + /* Make the masthead heading the same height as the navigation */ .header h3 { margin-top: 0; @@ -68,10 +69,12 @@ body { padding-right: 0; padding-left: 0; } + /* Space out the masthead */ .header { margin-bottom: 2rem; } + /* Remove the bottom border on the jumbotron for visual effect */ .jumbotron { border-bottom: 0; diff --git a/docs/4.0/examples/navbar-bottom/index.html b/docs/4.0/examples/navbar-bottom/index.html new file mode 100644 index 000000000..3046f9b9b --- /dev/null +++ b/docs/4.0/examples/navbar-bottom/index.html @@ -0,0 +1,60 @@ + + + + + + + + + + Bottom navbar example for Bootstrap + + + + + + +
    +
    +

    Bottom Navbar example

    +

    This example is a quick exercise to illustrate how the bottom navbar works.

    + View navbar docs » +
    +
    + + + + + + + + + + diff --git a/docs/4.0/examples/navbar-top-fixed/index.html b/docs/4.0/examples/navbar-top-fixed/index.html index 0906a8407..54e56fc48 100644 --- a/docs/4.0/examples/navbar-top-fixed/index.html +++ b/docs/4.0/examples/navbar-top-fixed/index.html @@ -1,4 +1,4 @@ - + @@ -42,13 +42,13 @@
    -
    +

    Navbar example

    This example is a quick exercise to illustrate how fixed to top navbar works. As you scroll, it will remain fixed to the top of your browser's viewport.

    View navbar docs »
    -
    +
    - diff --git a/docs/4.0/examples/navbar-top/index.html b/docs/4.0/examples/navbar-top/index.html index 2d4cc46ab..3aeb45a8a 100644 --- a/docs/4.0/examples/navbar-top/index.html +++ b/docs/4.0/examples/navbar-top/index.html @@ -1,4 +1,4 @@ - + @@ -42,13 +42,13 @@
    -
    +

    Navbar example

    This example is a quick exercise to illustrate how the top-aligned navbar works. As you scroll, this navbar remains in its original position and moves with the rest of the page.

    View navbar docs »
    -
    +
    - diff --git a/docs/4.0/examples/navbars/index.html b/docs/4.0/examples/navbars/index.html index 41299b523..297b8912f 100644 --- a/docs/4.0/examples/navbars/index.html +++ b/docs/4.0/examples/navbars/index.html @@ -1,4 +1,4 @@ - + @@ -322,16 +322,18 @@ -
    -
    -

    Navbar examples

    -

    This example is a quick exercise to illustrate how the navbar and its contents work. Some navbars extend the width of the viewport, others are confined within a .container. For positioning of navbars, checkout the top and fixed top examples.

    -

    At the smallest breakpoint, the collapse plugin is used to hide the links and show a menu button to toggle the collapsed content.

    -

    - View navbar docs » -

    +
    +
    +
    +

    Navbar examples

    +

    This example is a quick exercise to illustrate how the navbar and its contents work. Some navbars extend the width of the viewport, others are confined within a .container. For positioning of navbars, checkout the top and fixed top examples.

    +

    At the smallest breakpoint, the collapse plugin is used to hide the links and show a menu button to toggle the collapsed content.

    +

    + View navbar docs » +

    +
    -
    +
    @@ -342,7 +344,5 @@ - - diff --git a/docs/4.0/examples/navbars/navbar.css b/docs/4.0/examples/navbars/navbar.css index 04f8c6b7f..70d209409 100644 --- a/docs/4.0/examples/navbars/navbar.css +++ b/docs/4.0/examples/navbars/navbar.css @@ -1,5 +1,4 @@ body { - /*padding-top: 20px;*/ padding-bottom: 20px; } diff --git a/docs/4.0/examples/offcanvas/index.html b/docs/4.0/examples/offcanvas/index.html index d4e6be368..c3ba9694c 100644 --- a/docs/4.0/examples/offcanvas/index.html +++ b/docs/4.0/examples/offcanvas/index.html @@ -1,4 +1,4 @@ - + @@ -51,7 +51,7 @@ -
    +
    @@ -115,11 +115,11 @@
    -
    -

    © Company 2017

    -
    +
    -
    +
    +

    © Company 2017

    +
    - diff --git a/docs/4.0/examples/offcanvas/offcanvas.css b/docs/4.0/examples/offcanvas/offcanvas.css index 6047cb304..1c9ca3b44 100644 --- a/docs/4.0/examples/offcanvas/offcanvas.css +++ b/docs/4.0/examples/offcanvas/offcanvas.css @@ -20,9 +20,7 @@ footer { @media screen and (max-width: 767px) { .row-offcanvas { position: relative; - -webkit-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out; + transition: all .25s ease-out; } .row-offcanvas-right { @@ -33,23 +31,19 @@ footer { left: 0; } - .row-offcanvas-right - .sidebar-offcanvas { + .row-offcanvas-right .sidebar-offcanvas { right: -100%; /* 12 columns */ } - .row-offcanvas-right.active - .sidebar-offcanvas { + .row-offcanvas-right.active .sidebar-offcanvas { right: -50%; /* 6 columns */ } - .row-offcanvas-left - .sidebar-offcanvas { + .row-offcanvas-left .sidebar-offcanvas { left: -100%; /* 12 columns */ } - .row-offcanvas-left.active - .sidebar-offcanvas { + .row-offcanvas-left.active .sidebar-offcanvas { left: -50%; /* 6 columns */ } diff --git a/docs/4.0/examples/offcanvas/offcanvas.js b/docs/4.0/examples/offcanvas/offcanvas.js index d14cd68b8..a41847081 100644 --- a/docs/4.0/examples/offcanvas/offcanvas.js +++ b/docs/4.0/examples/offcanvas/offcanvas.js @@ -1,5 +1,7 @@ -$(document).ready(function () { - $('[data-toggle="offcanvas"]').click(function () { +$(function () { + 'use strict' + + $('[data-toggle="offcanvas"]').on('click', function () { $('.row-offcanvas').toggleClass('active') - }); -}); + }) +}) diff --git a/docs/4.0/examples/screenshots/navbar-bottom.jpg b/docs/4.0/examples/screenshots/navbar-bottom.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c25c2f89cf5b2c95a1f828a37bb6c492a80ccc5c GIT binary patch literal 27921 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 literal 0 HcmV?d00001 diff --git a/docs/4.0/examples/signin/index.html b/docs/4.0/examples/signin/index.html index 237f62066..0416d78b6 100644 --- a/docs/4.0/examples/signin/index.html +++ b/docs/4.0/examples/signin/index.html @@ -1,4 +1,4 @@ - + @@ -35,12 +35,5 @@ - - - - - - diff --git a/docs/4.0/examples/signin/signin.css b/docs/4.0/examples/signin/signin.css index 7c1fa4190..516aeb126 100644 --- a/docs/4.0/examples/signin/signin.css +++ b/docs/4.0/examples/signin/signin.css @@ -14,13 +14,12 @@ body { margin-bottom: 10px; } .form-signin .checkbox { - font-weight: normal; + font-weight: 400; } .form-signin .form-control { position: relative; + box-sizing: border-box; height: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; padding: 10px; font-size: 16px; } diff --git a/docs/4.0/examples/starter-template/index.html b/docs/4.0/examples/starter-template/index.html index 30cceb071..660f521fa 100644 --- a/docs/4.0/examples/starter-template/index.html +++ b/docs/4.0/examples/starter-template/index.html @@ -1,4 +1,4 @@ - + @@ -51,14 +51,14 @@ -
    +

    Bootstrap starter template

    Use this document as a way to quickly start any new project.
    All you get is this text and a mostly barebones HTML document.

    -
    + - diff --git a/docs/4.0/examples/sticky-footer-navbar/index.html b/docs/4.0/examples/sticky-footer-navbar/index.html index dcf62fb59..63beed2a4 100644 --- a/docs/4.0/examples/sticky-footer-navbar/index.html +++ b/docs/4.0/examples/sticky-footer-navbar/index.html @@ -1,4 +1,4 @@ - + @@ -18,39 +18,41 @@ - - +
    + + +
    -
    +

    Sticky footer with fixed navbar

    Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with padding-top: 60px; on the body > .container.

    Back to the default sticky footer minus the navbar.

    -
    +
    @@ -66,7 +68,5 @@ - - diff --git a/docs/4.0/examples/sticky-footer/index.html b/docs/4.0/examples/sticky-footer/index.html index 5d00f5407..a3055bb59 100644 --- a/docs/4.0/examples/sticky-footer/index.html +++ b/docs/4.0/examples/sticky-footer/index.html @@ -1,4 +1,4 @@ - + @@ -19,25 +19,18 @@ -
    +

    Sticky footer

    Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.

    Use the sticky footer with a fixed navbar if need be, too.

    -
    +
    Place sticky footer content here.
    - - - - - - diff --git a/docs/4.0/examples/sticky-footer/sticky-footer.css b/docs/4.0/examples/sticky-footer/sticky-footer.css index 46578d1a5..ebe29104f 100644 --- a/docs/4.0/examples/sticky-footer/sticky-footer.css +++ b/docs/4.0/examples/sticky-footer/sticky-footer.css @@ -5,15 +5,13 @@ html { min-height: 100%; } body { - /* Margin bottom by footer height */ - margin-bottom: 60px; + margin-bottom: 60px; /* Margin bottom by footer height */ } .footer { position: absolute; bottom: 0; width: 100%; - /* Set the fixed height of the footer here */ - height: 60px; + height: 60px; /* Set the fixed height of the footer here */ line-height: 60px; /* Vertically center the text there */ background-color: #f5f5f5; } diff --git a/docs/4.0/examples/tooltip-viewport/index.html b/docs/4.0/examples/tooltip-viewport/index.html index ea31d7ccf..b5899d2e9 100644 --- a/docs/4.0/examples/tooltip-viewport/index.html +++ b/docs/4.0/examples/tooltip-viewport/index.html @@ -1,4 +1,4 @@ - + @@ -18,19 +18,19 @@ - - - + + + - +
    - - + + - + - +
    @@ -41,8 +41,6 @@ - - diff --git a/docs/4.0/examples/tooltip-viewport/tooltip-viewport.js b/docs/4.0/examples/tooltip-viewport/tooltip-viewport.js index e87f4eec7..dc75e18c6 100644 --- a/docs/4.0/examples/tooltip-viewport/tooltip-viewport.js +++ b/docs/4.0/examples/tooltip-viewport/tooltip-viewport.js @@ -1,18 +1,32 @@ -$(document).ready(function () { +$(function () { + 'use strict' + $('.tooltip-right').tooltip({ placement: 'right', - viewport: {selector: 'body', padding: 2} + viewport: { + selector: 'body', + padding: 2 + } }) $('.tooltip-bottom').tooltip({ placement: 'bottom', - viewport: {selector: 'body', padding: 2} + viewport: { + selector: 'body', + padding: 2 + } }) $('.tooltip-viewport-right').tooltip({ placement: 'right', - viewport: {selector: '.container-viewport', padding: 2} + viewport: { + selector: '.container-viewport', + padding: 2 + } }) $('.tooltip-viewport-bottom').tooltip({ placement: 'bottom', - viewport: {selector: '.container-viewport', padding: 2} + viewport: { + selector: '.container-viewport', + padding: 2 + } }) }) diff --git a/docs/4.0/extend/approach/index.html b/docs/4.0/extend/approach/index.html index ea1003864..79c1cda70 100644 --- a/docs/4.0/extend/approach/index.html +++ b/docs/4.0/extend/approach/index.html @@ -1,14 +1,37 @@ - + + - - - Approach · Bootstrap - - +Approach · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,7 +584,7 @@

    Approach

    - + @@ -1044,14 +605,12 @@ - - - - + diff --git a/docs/4.0/extend/icons/index.html b/docs/4.0/extend/icons/index.html index d848bc5d7..e3280efd4 100644 --- a/docs/4.0/extend/icons/index.html +++ b/docs/4.0/extend/icons/index.html @@ -1,14 +1,37 @@ - + + - - - Icons · Bootstrap - - +Icons · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,11 +584,12 @@

    Icons

    Guidance and suggestions for using external icon libraries with Bootstrap.

    - +

    Bootstrap doesn’t include an icon library by default, but we have a handful of recommendations for you to choose from. While most icon sets include multiple file formats, we prefer SVG implementations for their improved accessibility and vector support.

    Preferred

    +

    We’ve tested and used these icon sets ourselves.

      @@ -1037,13 +599,14 @@

    More options

    +

    While we haven’t tried these out, they do look promising and provide multiple formats—including SVG.

    • Bytesize
    • Google Material icons
    • Ionicons
    • -
    • Feather
    • +
    • Feather
    • Dripicons
    • Ikons
    • Glyph
    • @@ -1066,14 +629,12 @@ - - - - + diff --git a/docs/4.0/extend/index.html b/docs/4.0/extend/index.html index 85feeebaa..c493a01cf 100644 --- a/docs/4.0/extend/index.html +++ b/docs/4.0/extend/index.html @@ -1,14 +1,37 @@ - + + - - - Extend · Bootstrap - - +Extend · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    - Download + Download @@ -145,876 +149,433 @@
    -
    @@ -1023,7 +584,7 @@

    Extend

    - +

    todo: this entire page

    @@ -1044,14 +605,12 @@ - - - - + diff --git a/docs/4.0/getting-started/accessibility/index.html b/docs/4.0/getting-started/accessibility/index.html index 9aff31d13..16357b471 100644 --- a/docs/4.0/getting-started/accessibility/index.html +++ b/docs/4.0/getting-started/accessibility/index.html @@ -1,14 +1,37 @@ - + + - - - Accessibility · Bootstrap - - +Accessibility · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1037,7 +598,7 @@

    Accessibility

    A brief overview of Bootstrap's features and limitations for the creation of accessible content.

    - +

    Bootstrap provides an easy-to-use framework of ready-made styles, layout tools, and interactive components, allowing developers to create websites and applications that are visually appealing, functionally rich, and accessible out of the box.

    @@ -1079,7 +640,7 @@
  • The A11Y Project
  • MDN accessibility documentation
  • Tenon.io Accessibility Checker
  • -
  • Colour Contrast Analyser (CCA)
  • +
  • Colour Contrast Analyser (CCA)
  • “HTML Codesniffer” bookmarklet for identifying accessibility issues
  • @@ -1100,14 +661,12 @@ - - - - + diff --git a/docs/4.0/getting-started/best-practices/index.html b/docs/4.0/getting-started/best-practices/index.html index 90838281d..16345285b 100644 --- a/docs/4.0/getting-started/best-practices/index.html +++ b/docs/4.0/getting-started/best-practices/index.html @@ -1,14 +1,37 @@ - + + - - - Best practices · Bootstrap - - +Best practices · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,7 +584,7 @@

    Best practices

    Learn about some of the best practices we've gathered from years of working on and using Bootstrap.

    - +

    We’ve designed and developed Bootstrap to work in a number of environments. Here are some of the best practices we’ve gathered from years of working on and using it ourselves.

    @@ -1032,6 +593,7 @@

    General outline

    +
    • Working with CSS
    • Working with Sass files
    • @@ -1057,14 +619,12 @@ - - - - + diff --git a/docs/4.0/getting-started/browsers-devices/index.html b/docs/4.0/getting-started/browsers-devices/index.html index 7f5e3457f..cd7c01080 100644 --- a/docs/4.0/getting-started/browsers-devices/index.html +++ b/docs/4.0/getting-started/browsers-devices/index.html @@ -1,43 +1,11 @@ - + + - - - Browsers and devices · Bootstrap - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Browsers and devices · Bootstrap @@ -46,13 +14,49 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - +
    - Download + Download @@ -145,876 +149,433 @@
    -
    @@ -1028,7 +589,6 @@
  • Internet Explorer
  • -
  • Internet Explorer 10 in Windows Phone 8
  • Modals and dropdowns on mobile @@ -1053,8 +611,8 @@

    Browsers and devices

    -

    Learn about the browsers and devices, from modern to told, that are supported by Bootstrap, including known quirks and bugs for each.

    - +

    Learn about the browsers and devices, from modern to old, that are supported by Bootstrap, including known quirks and bugs for each.

    +

    Supported browsers

    @@ -1151,31 +709,10 @@

    Internet Explorer

    -

    Internet Explorer 10+ is supported; IE9 and down is not. Please be aware that some CSS3 properties and HTML5 elements are not fully supported in IE10, or require prefixed properties for full functionality. Visit Can I use… for details on browser support of CSS3 and HTML5 features.

    +

    Internet Explorer 10+ is supported; IE9 and down is not. Please be aware that some CSS3 properties and HTML5 elements are not fully supported in IE10, or require prefixed properties for full functionality. Visit Can I use… for details on browser support of CSS3 and HTML5 features.

    If you require IE8-9 support, use Bootstrap 3. It’s the most stable version of our code and is still supported by our team for critical bugfixes and documentation changes. However, no new features will be added to it.

    -

    Internet Explorer 10 in Windows Phone 8

    - -

    Internet Explorer 10 in Windows Phone 8 versions older than Update 3 (a.k.a. GDR3) doesn’t differentiate device width from viewport width in @-ms-viewport at-rules, and thus doesn’t properly apply the media queries in Bootstrap’s CSS. To address this, you’ll need to include the following JavaScript to work around the bug.

    - -
    // Copyright 2014-2017 The Bootstrap Authors
    -// Copyright 2014-2017 Twitter, Inc.
    -// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
    -if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
    -  var msViewportStyle = document.createElement('style')
    -  msViewportStyle.appendChild(
    -    document.createTextNode(
    -      '@-ms-viewport{width:auto!important}'
    -    )
    -  )
    -  document.head.appendChild(msViewportStyle)
    -}
    - -

    For more information and usage guidelines, read Windows Phone 8 and Device-Width.

    - -

    As a heads up, we include this in all of Bootstrap’s documentation and examples as a demonstration.

    -

    Modals and dropdowns on mobile

    Overflow and scrolling

    @@ -1195,6 +732,7 @@

    Page zooming inevitably presents rendering artifacts in some components, both in Bootstrap and the rest of the web. Depending on the issue, we may be able to fix it (search first and then open an issue if need be). However, we tend to ignore these as they often have no direct solution other than hacky workarounds.

    Sticky :hover/:focus on mobile

    +

    Even though real hovering isn’t possible on most touchscreens, most mobile browsers emulate hovering support and make :hover “sticky”. In other words, :hover styles start applying after tapping an element and only stop applying after the user taps some other element. On mobile-first sites, this behavior is normally undesirable.

    Bootstrap includes a workaround for this, although it is disabled by default. By setting $enable-hover-media-query to true when compiling from Sass, Bootstrap will use mq4-hover-shim to disable :hover styles in browsers that emulate hovering, thus preventing sticky :hover styles. There are some caveats to this workaround; see the shim’s documentation for details.

    @@ -1221,7 +759,7 @@
    <script>
     $(function () {
    -  var nua = navigator.userAgent
    +  var nua = navigator.userAgent
       var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
       if (isAndroid) {
         $('select.form-control').removeClass('form-control').css('width', '100%')
    @@ -1233,7 +771,7 @@
     
     

    Validators

    -

    In order to provide the best possible experience to old and buggy browsers, Bootstrap uses CSS browser hacks in several places to target special CSS to certain browser versions in order to work around bugs in the browsers themselves. These hacks understandably cause CSS validators to complain that they are invalid. In a couple places, we also use bleeding-edge CSS features that aren’t yet fully standardized, but these are used purely for progressive enhancement.

    +

    In order to provide the best possible experience to old and buggy browsers, Bootstrap uses CSS browser hacks in several places to target special CSS to certain browser versions in order to work around bugs in the browsers themselves. These hacks understandably cause CSS validators to complain that they are invalid. In a couple places, we also use bleeding-edge CSS features that aren’t yet fully standardized, but these are used purely for progressive enhancement.

    These validation warnings don’t matter in practice since the non-hacky portion of our CSS does fully validate and the hacky portions don’t interfere with the proper functioning of the non-hacky portion, hence why we deliberately ignore these particular warnings.

    @@ -1256,14 +794,12 @@ - - - - + diff --git a/docs/4.0/getting-started/build-tools/index.html b/docs/4.0/getting-started/build-tools/index.html index 49d22f278..0441ab579 100644 --- a/docs/4.0/getting-started/build-tools/index.html +++ b/docs/4.0/getting-started/build-tools/index.html @@ -1,14 +1,37 @@ - + + - - - Build tools · Bootstrap - - +Build tools · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
  • @@ -136,7 +140,7 @@ - Download + Download @@ -145,876 +149,433 @@
    -
    @@ -1033,20 +594,20 @@

    Build tools

    Learn how to use Bootstrap's included npm scripts to build our documentation, compile source code, run tests, and more.

    - +

    Tooling setup

    -

    Bootstrap uses NPM scripts for its build system. Our package.json includes convenient methods for working with the framework, including compiling code, running tests, and more.

    +

    Bootstrap uses NPM scripts for its build system. Our package.json includes convenient methods for working with the framework, including compiling code, running tests, and more.

    To use our build system and run our documentation locally, you’ll need a copy of Bootstrap’s source files and Node. Follow these steps and you should be ready to rock:

      -
    1. Download and install Node, which we use to manage our dependencies.
    2. -
    3. Navigate to the root /bootstrap directory and run npm install to install our local dependencies listed in package.json.
    4. +
    5. Download and install Node.js, which we use to manage our dependencies.
    6. +
    7. Navigate to the root /bootstrap directory and run npm install to install our local dependencies listed in package.json.
    8. Install Ruby, install Bundler with gem install bundler, and finally run bundle install. This will install all Ruby dependencies, such as Jekyll and plugins.
        -
      • Windows users: Read this unofficial guide to get Jekyll up and running without problems.
      • +
      • Windows users: Read this guide to get Jekyll up and running without problems.
    @@ -1055,7 +616,7 @@

    Using NPM scripts

    -

    Our package.json includes the following commands and tasks:

    +

    Our package.json includes the following commands and tasks:

    @@ -1066,25 +627,27 @@ - - + + - - + + - +
    npm testRun npm test to run tests locally and compile the CSS and JavaScript into /dist. Uses Sass, Autoprefixer, and UglifyJS.npm run distnpm run dist creates the /dist directory with compiled files. Uses Sass, Autoprefixer, and UglifyJS.
    npm run distnpm run dist creates the /dist directory with compiled files. Uses Sass, Autoprefixer, and UglifyJS.npm testSame as npm run dist plus it runs tests locally
    npm run docsBuilds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via npm run docs-serve.Builds and lints CSS and JavaScript for docs. You can then run the documentation locally via npm run docs-serve.
    +

    Run npm run to see all the npm scripts.

    +

    Autoprefixer

    Bootstrap uses Autoprefixer (included in our build process) to automatically add vendor prefixes to some CSS properties at build time. Doing so saves us time and code by allowing us to write key parts of our CSS a single time while eliminating the need for vendor mixins like those found in v3.

    -

    We maintain the list of browsers supported through Autoprefixer in a separate file within our GitHub repository. See /build/postcss.config.js for details.

    +

    We maintain the list of browsers supported through Autoprefixer in a separate file within our GitHub repository. See /package.json for details.

    Local documentation

    @@ -1093,7 +656,7 @@
    1. Run through the tooling setup above to install Jekyll (the site builder) and other Ruby dependencies with bundle install.
    2. From the root /bootstrap directory, run npm run docs-serve in the command line.
    3. -
    4. Open http://localhost:9001 in your browser, and voilà.
    5. +
    6. Open http://localhost:9001 in your browser, and voilà.

    Learn more about using Jekyll by reading its documentation.

    @@ -1120,14 +683,12 @@ - - - - + diff --git a/docs/4.0/getting-started/contents/index.html b/docs/4.0/getting-started/contents/index.html index 3179fe697..7fc8cad9a 100644 --- a/docs/4.0/getting-started/contents/index.html +++ b/docs/4.0/getting-started/contents/index.html @@ -1,14 +1,37 @@ - + + - - - Contents · Bootstrap - - +Contents · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,883 +149,444 @@
    -
    @@ -1030,7 +595,7 @@

    Contents

    Discover what's included in Bootstrap, including our precompiled and source code flavors. Remember, Bootstrap's JavaScript plugins require jQuery.

    - +

    Precompiled Bootstrap

    @@ -1043,13 +608,69 @@ │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css -│ └── bootstrap.min.css.map +│ ├── bootstrap.min.css.map +│ ├── bootstrap-grid.css +│ ├── bootstrap-grid.css.map +│ ├── bootstrap-grid.min.css +│ ├── bootstrap-grid.min.css.map +│ ├── bootstrap-reboot.css +│ ├── bootstrap-reboot.css.map +│ ├── bootstrap-reboot.min.css +│ └── bootstrap-reboot.min.css.map └── js/ + ├── bootstrap.bundle.js + ├── bootstrap.bundle.min.js ├── bootstrap.js └── bootstrap.min.js

    This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (bootstrap.*), as well as compiled and minified CSS and JS (bootstrap.min.*). CSS source maps (bootstrap.*.map) are available for use with certain browsers’ developer tools.

    +

    Comparison of CSS files

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CSS filesLayoutContentComponentsUtilities
    +
    bootstrap.css
    +
    bootstrap.min.css
    +
    AllAllAllAll
    +
    bootstrap-grid.css
    +
    bootstrap-grid.min.css
    +
    Only grid systemNoNoOnly flex utilities
    +
    bootstrap-reboot.css
    +
    bootstrap-reboot.min.css
    +
    NoOnly RebootNoNo
    +

    Bootstrap source code

    The Bootstrap source code download includes the precompiled CSS and JavaScript assets, along with source Sass, JavaScript, and documentation. More specifically, it includes the following and more:

    @@ -1082,14 +703,12 @@ - - - - + diff --git a/docs/4.0/getting-started/download/index.html b/docs/4.0/getting-started/download/index.html index 61f8310f8..3fb43bcd8 100644 --- a/docs/4.0/getting-started/download/index.html +++ b/docs/4.0/getting-started/download/index.html @@ -1,43 +1,11 @@ - + + - - - Download · Bootstrap - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Download · Bootstrap @@ -46,13 +14,49 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1029,7 +590,6 @@
  • npm
  • RubyGems
  • Composer
  • -
  • Bower
  • NuGet
  • @@ -1039,21 +599,21 @@

    Download

    -

    Download Bootstrap to get the compiled CSS and JavaScript, source code, or include it with your favorite package managers like npm, Bower, RubyGems, and more.

    - +

    Download Bootstrap to get the compiled CSS and JavaScript, source code, or include it with your favorite package managers like npm, RubyGems, and more.

    +

    Compiled CSS and JS

    -

    Download ready-to-use compiled code for Bootstrap v4.0.0-beta to easily drop into your project, which includes:

    +

    Download ready-to-use compiled code for Bootstrap v4.0.0-beta.2 to easily drop into your project, which includes:

      -
    • Compiled and minified CSS bundles (default, grid-only, and Reboot-only)
    • +
    • Compiled and minified CSS bundles (see CSS files comparison)
    • Compiled and minified JavaScript plugins

    This doesn’t include documentation, source files, or any optional JavaScript dependencies (jQuery and Popper.js).

    -

    Download

    +

    Download

    Source files

    @@ -1064,21 +624,21 @@
  • Autoprefixer for CSS vendor prefixing
  • -

    Should you require build tools, they are included for developing Bootstrap and it’s docs, but they’re likely unsuitable for your own purposes.

    +

    Should you require build tools, they are included for developing Bootstrap and its docs, but they’re likely unsuitable for your own purposes.

    -

    Download source

    +

    Download source

    Bootstrap CDN

    Skip the download with the Bootstrap CDN to deliver cached version of Bootstrap’s compiled CSS and JS to your project.

    -
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
    -<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
    +
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>

    If you’re using our compiled JavaScript, don’t forget to include CDN versions of jQuery and Popper.js before it.

    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    -<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
    +<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>

    Package managers

    @@ -1086,9 +646,9 @@

    npm

    -

    Install Bootstrap in your Node powered apps with the npm package:

    +

    Install Bootstrap in your Node.js powered apps with the npm package:

    -
    npm install bootstrap@4.0.0-beta
    +
    npm install bootstrap@4.0.0-beta.2

    require('bootstrap') will load all of Bootstrap’s jQuery plugins onto the jQuery object. The bootstrap module itself does not export anything. You can manually load Bootstrap’s jQuery plugins individually by loading the /js/*.js files under the package’s top-level directory.

    @@ -1103,29 +663,23 @@

    Install Bootstrap in your Ruby apps using Bundler (recommended) and RubyGems by adding the following line to your Gemfile:

    -
    gem 'bootstrap', '~> 4.0.0.alpha6'
    +
    gem 'bootstrap', '~> 4.0.0.beta2'

    Alternatively, if you’re not using Bundler, you can install the gem by running this command:

    -
    gem install bootstrap -v 4.0.0.alpha6
    +
    gem install bootstrap -v 4.0.0.beta2

    See the gem’s README for further details.

    Composer

    -

    You can also install and manage Bootstrap’s Sass and JavaScript using Composer:

    +

    You can also install and manage Bootstrap’s Sass and JavaScript using Composer:

    -
    composer require twbs/bootstrap:4.0.0-beta
    - -

    Bower

    - -

    Install and manage Bootstrap’s Sass and JavaScript using Bower.

    - -
    bower install bootstrap#v4.0.0-beta
    +
    composer require twbs/bootstrap:4.0.0-beta.2

    NuGet

    -

    If you develop in .NET, you can also install and manage Bootstrap’s CSS or Sass and JavaScript using NuGet:

    +

    If you develop in .NET, you can also install and manage Bootstrap’s CSS or Sass and JavaScript using NuGet:

    Install-Package bootstrap -Pre
    @@ -1150,14 +704,12 @@ - - - - + diff --git a/docs/4.0/getting-started/index.html b/docs/4.0/getting-started/index.html index f10bd8229..8aa55542e 100644 --- a/docs/4.0/getting-started/index.html +++ b/docs/4.0/getting-started/index.html @@ -1,10 +1,37 @@ - - - - Redirecting… - - -

    Redirecting…

    - Click here if you are not redirected. - + + + + + + Bootstrap - Content moved + + + + + +

    Redirecting…

    + Click here if you are not redirected + + diff --git a/docs/4.0/getting-started/introduction/index.html b/docs/4.0/getting-started/introduction/index.html index e60fc85be..0b849943f 100644 --- a/docs/4.0/getting-started/introduction/index.html +++ b/docs/4.0/getting-started/introduction/index.html @@ -1,14 +1,37 @@ - + + - - - Introduction · Bootstrap - - +Introduction · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,883 +149,445 @@
    -
      -
    • Quick start
    • +
    • Quick start + +
    • Starter template
    • Important globals
        @@ -1039,37 +605,61 @@

        Introduction

        Get started with Bootstrap, the world's most popular framework for building responsive, mobile-first sites, with the Bootstrap CDN and a template starter page.

        - +

        Quick start

        Looking to quickly add Bootstrap to your project? Use the Bootstrap CDN, provided for free by the folks at MaxCDN. Using a package manager or need to download the source files? Head to the downloads page.

        +

        CSS

        +

        Copy-paste the stylesheet <link> into your <head> before all other stylesheets to load our CSS.

        -
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
        +
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
        -

        Add our optional JavaScript plugins, jQuery, and Popper.js) near the end of your pages, right before the closing </body> tag. Be sure to place jQuery and Popper.js first, as our JavaScript plugins depend on them. While we use jQuery’s slim build in our docs, the full version is also supported.

        +

        JS

        + +

        Many of our components require the use of JavaScript to function. Specifically, they require jQuery, Popper.js, and our own JavaScript plugins. Place the following <script>s near the end of your pages, right before the closing </body> tag, to enable them. jQuery must come first, then Popper.js, and then our JavaScript plugins.

        + +

        We use jQuery’s slim build, but the full version is also supported.

        <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
        -<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
        -<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
        +<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script> -

        And that’s it—you’re on your way to a fully Bootstrapped site. If you’re at all unsure about the general page structure, keep reading for an example page template.

        +

        Curious which components explicitly require jQuery, our JS, and Popper.js? Click the show components link below. If you’re at all unsure about the general page structure, keep reading for an example page template.

        + +
        +Show components requiring JavaScript + +
          +
        • Alerts for dismissing
        • +
        • Buttons for toggling states and checkbox/radio functionality
        • +
        • Carousel for all slide behaviors, controls, and indicators
        • +
        • Collapse for toggling visibility of content
        • +
        • Dropdowns for displaying and positioning (also requires Popper.js)
        • +
        • Modals for displaying, positioning, and scroll behavior
        • +
        • Navbar for extending our Collapse plugin to implement responsive behavior
        • +
        • Tooltips and popovers for displaying and positioning (also requires Popper.js)
        • +
        • Scrollspy for scroll behavior and navigation updates
        • +
        + +

        Starter template

        Be sure to have your pages set up with the latest design and development standards. That means using an HTML5 doctype and including a viewport meta tag for proper responsive behaviors. Put it all together and your pages should look like this:

        -
        <!DOCTYPE html>
        +
        <!doctype html>
         <html lang="en">
           <head>
        +    <title>Hello, world!</title>
             <!-- Required meta tags -->
             <meta charset="utf-8">
             <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
         
             <!-- Bootstrap CSS -->
        -    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
        +    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
           </head>
           <body>
             <h1>Hello, world!</h1>
        @@ -1077,8 +667,8 @@
             <!-- Optional JavaScript -->
             <!-- jQuery first, then Popper.js, then Bootstrap JS -->
             <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
        -    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
        -    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
        +    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
        +    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
           </body>
         </html>
        @@ -1092,7 +682,7 @@

        Bootstrap requires the use of the HTML5 doctype. Without it, you’ll see some funky incomplete styling, but including it shouldn’t cause any considerable hiccups.

        -
        <!DOCTYPE html>
        +
        <!doctype html>
         <html lang="en">
           ...
         </html>
        @@ -1115,7 +705,7 @@ box-sizing: content-box; }
        -

        With the above snippet, nested elements—including generated content via :before and :after—will all inherit the specified box-sizing for that .selector-for-some-widget.

        +

        With the above snippet, nested elements—including generated content via ::before and ::after—will all inherit the specified box-sizing for that .selector-for-some-widget.

        Learn more about box model and sizing at CSS Tricks.

        @@ -1155,14 +745,12 @@ - - - - + diff --git a/docs/4.0/getting-started/javascript/index.html b/docs/4.0/getting-started/javascript/index.html index dbb601182..1b5df265d 100644 --- a/docs/4.0/getting-started/javascript/index.html +++ b/docs/4.0/getting-started/javascript/index.html @@ -1,14 +1,37 @@ - + + - - - JavaScript · Bootstrap - - +JavaScript · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
      - Download + Download @@ -145,876 +149,433 @@
      -
    +
    Layout -
    - - - - - - - - -
    + +
    Content -
    - - - - - - - - -
    + +
    Components -
    - - - - - - - - -
    + +
    Utilities -
    - - - - - - - - -
    + +
    Extend -
    - - - - - - - - -
    + +
    Migration - -
    - - + +
    @@ -1035,10 +596,8 @@
  • Version numbers
  • No special fallbacks when JavaScript is disabled
  • Util
  • @@ -1048,7 +607,7 @@

    JavaScript

    Bring Bootstrap to life with our optional JavaScript plugins built on jQuery. Learn about each plugin, our data and programmatic API options, and more.

    - +

    Individual or compiled

    @@ -1056,9 +615,9 @@

    Dependencies

    -

    Some plugins and CSS components depend on other plugins. If you include plugins individually, make sure to check for these dependencies in the docs. Also note that all plugins depend on jQuery (this means jQuery must be included before the plugin files). Consult our bower.json to see which versions of jQuery are supported.

    +

    Some plugins and CSS components depend on other plugins. If you include plugins individually, make sure to check for these dependencies in the docs. Also note that all plugins depend on jQuery (this means jQuery must be included before the plugin files). Consult our package.json to see which versions of jQuery are supported.

    -

    Our tooltips and popovers also depend on Popper.js.

    +

    Our dropdowns, popovers and tooltips also depend on Popper.js.

    Data attributes

    @@ -1076,7 +635,7 @@

    Bootstrap provides custom events for most plugins’ unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. show) is triggered at the start of an event, and its past participle form (ex. shown) is triggered on the completion of an action.

    -

    All infinitive events provide preventDefault() functionality. This provides the ability to stop the execution of an action before it starts.

    +

    All infinitive events provide preventDefault() functionality. This provides the ability to stop the execution of an action before it starts. Returning false from an event handler will also automatically call preventDefault().

    $('#myModal').on('show.bs.modal', function (e) {
       if (!data) return e.preventDefault() // stops modal from being shown
    @@ -1116,6 +675,7 @@
     $('#myCarousel').carousel('2') // !! Will be ignored, as the transition to the slide 1 is not finished !!

    Default settings

    +

    You can change the default settings for a plugin by modifying the plugin’s Constructor.Default object:

    $.fn.modal.Constructor.Default.keyboard = false // changes default for the modal plugin's `keyboard` option to false
    @@ -1131,7 +691,7 @@

    The version of each of Bootstrap’s jQuery plugins can be accessed via the VERSION property of the plugin’s constructor. For example, for the tooltip plugin:

    -
    $.fn.tooltip.Constructor.VERSION // => "4.0.0-beta"
    +
    $.fn.tooltip.Constructor.VERSION // => "4.0.0-beta.2"

    No special fallbacks when JavaScript is disabled

    @@ -1145,7 +705,7 @@

    Util

    -

    All Bootstrap Javascript depend on util.js and it has to be included alongside the other JS files. If you’re using the compiled (or minified) bootstrap.js, there is no need to include this—it’s already there.

    +

    All Bootstrap’s JavaScript files depend on util.js and it has to be included alongside the other JS files. If you’re using the compiled (or minified) bootstrap.js, there is no need to include this—it’s already there.

    util.js includes utility functions and a basic helper for transitionEnd events as well as a CSS transition emulator. It’s used by the other plugins to check for CSS transition support and to catch hanging transitions.

    @@ -1166,14 +726,12 @@ - - - - + diff --git a/docs/4.0/getting-started/options/index.html b/docs/4.0/getting-started/options/index.html index 520340dc5..922659b72 100644 --- a/docs/4.0/getting-started/options/index.html +++ b/docs/4.0/getting-started/options/index.html @@ -1,1350 +1,37 @@ - + - - - - - Customization options · Bootstrap - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Bootstrap - Content moved + + + - - -
    - Skip to main content -
    -
    - - - - -
    -
    -
    - - - - -
    - - - - - -
    -

    Customization options

    -

    Customize Bootstrap 4 with our new built-in Sass variables for global style preferences for easy theming and component changes.

    - - -

    Customizing variables

    - -

    Every Sass variable in Bootstrap 4 includes the !default flag, meaning you can override that default value in your own Sass even after that original variable’s been defined. Copy and paste variables as needed, modify the values, remove the !default flag, and recompile.

    - -

    For example, to change out the background-color and color for the <body>, you’d do the following:

    - -
    $body-bg:    $gray-900;
    -$body-color: $gray-600;
    - -

    Do the same for any variable you need to override, including the global options listed below.

    - -

    Global options

    - -

    Customize Bootstrap 4 with our built-in custom variables file and easily toggle global CSS preferences with new $enable-* Sass variables. Override a variable’s value and recompile with npm run test as needed.

    - -

    You can find and customize these variables for key global options in our _variables.scss file.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    VariableValuesDescription
    $spacer1rem (default), or any value > 0Specifies the default spacer value to programmatically generate our spacer utilities.
    $enable-roundedtrue (default) or falseEnables predefined border-radius styles on various components.
    $enable-shadowstrue or false (default)Enables predefined box-shadow styles on various components.
    $enable-gradientstrue or false (default)Enables predefined gradients via background-image styles on various components.
    $enable-transitionstrue (default) or falseEnables predefined transitions on various components.
    $enable-hover-media-querytrue or false (default)
    $enable-grid-classestrue (default) or falseEnables the generation of CSS classes for the grid system (e.g., .container, .row, .col-md-1, etc.).
    $enable-print-stylestrue (default) or falseEnables styles for optimizing printing.
    - -

    Color

    - -

    Many of Bootstrap’s various components and utilities are built through a series of colors defined in a Sass map. This map can be looped over in Sass to quickly generate a series of rulesets.

    - -

    All colors

    - -

    All colors available in Bootstrap 4, available as Sass variables and a Sass map in our scss/_variables.scss file. This will be expanded upon in subsequent minor releases to add additional shades, much like the grayscale palette we already include.

    - -
    - -
    - -
    Blue
    - -
    - -
    - -
    Indigo
    - -
    - -
    - -
    Purple
    - -
    - -
    - -
    Pink
    - -
    - -
    - -
    Red
    - -
    - -
    - -
    Orange
    - -
    - -
    - -
    Yellow
    - -
    - -
    - -
    Green
    - -
    - -
    - -
    Teal
    - -
    - -
    - -
    Cyan
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -

    Here’s how you can use these in your Sass:

    - -
    // With variable
    -.alpha { color: $purple; }
    -
    -// From the Sass map with our `color()` function
    -.beta { color: color("purple"); }
    - -

    Color utility classes are also available for setting color and background-color.

    - -
    -

    In the future, we’ll aim to provide Sass maps and variables for shades of each color as we’ve done with the grayscale colors below.

    -
    - -

    Theme colors

    - -

    We use a subset of all colors to create a smaller color palette for generating color schemes, also available as Sass variables and a Sass map in our scss/_variables.scss file.

    - -
    - -
    -
    Primary
    -
    - -
    -
    Secondary
    -
    - -
    -
    Success
    -
    - -
    -
    Danger
    -
    - -
    -
    Warning
    -
    - -
    -
    Info
    -
    - -
    -
    Light
    -
    - -
    -
    Dark
    -
    - -
    - -

    Grays

    - -

    An expansive set of gray variables and a Sass map in scss/_variables.scss for consistent shades of gray across your project.

    - -
    -
    - -
    100
    - -
    200
    - -
    300
    - -
    400
    - -
    500
    - -
    600
    - -
    700
    - -
    800
    - -
    900
    - -
    -
    - -

    Within _variables.scss, you’ll find our color variables and Sass map. Here’s an example of the $colors Sass map:

    - -
    $colors: (
    -  red: $red,
    -  orange: $orange,
    -  yellow: $yellow,
    -  green: $green,
    -  teal: $teal,
    -  blue: $blue,
    -  pink: $pink,
    -  purple: $purple,
    -  white: $white,
    -  gray: $gray-600,
    -  gray-dark: $gray-900
    -) !default;
    - -

    Add, remove, or modify values within the map to update how they’re used in many other components. Unfortunately at this time, not every component utilizes this Sass map. Future updates will strive to improve upon this. Until then, plan on making use of the ${color} variables and this Sass map.

    - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - + +

    Redirecting…

    + Click here if you are not redirected + diff --git a/docs/4.0/getting-started/theming/index.html b/docs/4.0/getting-started/theming/index.html new file mode 100644 index 000000000..bf7ad4213 --- /dev/null +++ b/docs/4.0/getting-started/theming/index.html @@ -0,0 +1,1097 @@ + + + + + + + +Theming Bootstrap · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to main content +
    +
    + + + + +
    +
    +
    + + + + +
    + + + + + +
    +

    Theming Bootstrap

    +

    Customize Bootstrap 4 with our new built-in Sass variables for global style preferences for easy theming and component changes.

    + + +

    Introduction

    + +

    In Bootstrap 3, theming was largely driven by variable overrides in LESS, custom CSS, and a separate theme stylesheet that we included in our dist files. With some effort, one could completely redesign the look of Bootstrap 3 without touching the core files. Bootstrap 4 provides a familiar, but slightly different approach.

    + +

    Now, theming is accomplished by Sass variables, Sass maps, and custom CSS. There’s no more dedicated theme stylesheet; instead, you can enable the built-in theme to add gradients, shadows, and more.

    + +

    Sass

    + +

    Utilize our source Sass files to take advantage of variables, maps, mixins, and more.

    + +

    File structure

    + +

    Whenever possible, avoid modifying Bootstrap’s core files. For Sass, that means creating your own stylesheet that imports Bootstrap so you can modify and extend it. Assuming you’ve downloaded our source files or are using a package manager, you’ll have a file structure that looks like this:

    + +
    your-project/
    +├── scss
    +│   └── custom.scss
    +└── node_modules/
    +    └── bootstrap
    +        ├── js
    +        └── scss
    + +

    In your custom.scss, you’ll import Bootstrap’s source Sass files. You have two options: include all of Bootstrap, or pick the parts you need. We encourage the latter, though be aware there are some requirements and dependencies across our components. You also will need to include some JavaScript for our plugins.

    + +
    // Custom.scss
    +// Option A: Include all of Bootstrap
    +
    +@import "node_modules/bootstrap/scss/bootstrap";
    + +
    // Custom.scss
    +// Option B: Include parts of Bootstrap
    +
    +// Required
    +@import "node_modules/bootstrap/scss/functions";
    +@import "node_modules/bootstrap/scss/variables";
    +@import "node_modules/bootstrap/scss/mixins";
    +
    +// Optional
    +@import "node_modules/bootstrap/scss/reboot";
    +@import "node_modules/bootstrap/scss/type";
    +@import "node_modules/bootstrap/scss/images";
    +@import "node_modules/bootstrap/scss/code";
    +@import "node_modules/bootstrap/scss/grid";
    + +

    With that setup in place, you can begin to modify any of the Sass variables and maps in your custom.scss. You can also start to add parts of Bootstrap under the // Optional section as needed.

    + +

    Variable defaults

    + +

    Every Sass variable in Bootstrap 4 includes the !default flag allowing you to override the variable’s default value in your own Sass without modifying Bootstrap’s source code. Copy and paste variables as needed, modify their values, and remove the !default flag. If a variable has already been assigned, then it won’t be re-assigned by the default values in Bootstrap.

    + +

    Variable overrides within the same Sass file can come before or after the default variables. However, when overriding across Sass files, your overrides must come before you import Bootstrap’s Sass files.

    + +

    Here’s an example that changes the background-color and color for the <body> when importing and compiling Bootstrap via npm:

    + +
    // Your variable overrides
    +$body-bg: #000;
    +$body-color: #111;
    +
    +// Bootstrap and its default variables
    +@import "node_modules/bootstrap/scss/bootstrap";
    + +

    Repeat as necessary for any variable in Bootstrap, including the global options below.

    + +

    Maps and loops

    + +

    Bootstrap 4 includes a handful of Sass maps, key value pairs that make it easier to generate families of related CSS. We use Sass maps for our colors, grid breakpoints, and more. Just like Sass variables, all Sass maps include the !default flag and can be overridden and extended.

    + +

    For example, to modify an existing color in our $theme-colors map, add the following to your custom Sass file:

    + +
    $theme-colors: (
    +  "primary": #0074d9,
    +  "danger": #ff4136
    +);
    + +

    To add a new color to $theme-colors, add the new key and value:

    + +
    $theme-colors: (
    +  "custom-color": #900
    +);
    + +

    Functions

    + +

    Bootstrap utilizes several Sass functions, but only a subset are applicable to general theming. We’ve included three functions for getting values from the color maps:

    + +
    @function color($key: "blue") {
    +  @return map-get($colors, $key);
    +}
    +
    +@function theme-color($key: "primary") {
    +  @return map-get($theme-colors, $key);
    +}
    +
    +@function gray($key: "100") {
    +  @return map-get($grays, $key);
    +}
    + +

    These allow you to pick one color from a Sass map much like how you’d use a color variable from v3.

    + +
    .custom-element {
    +  color: gray("100");
    +  background-color: theme-color("dark");
    +}
    + +

    We also have another function for getting a particular level of color from the $theme-colors map. Negative level values will lighten the color, while higher levels will darken.

    + +
    @function theme-color-level($color-name: "primary", $level: 0) {
    +  $color: theme-color($color-name);
    +  $color-base: if($level > 0, #000, #fff);
    +  $level: abs($level);
    +
    +  @return mix($color-base, $color, $level * $theme-color-interval);
    +}
    + +

    In practice, you’d call the function and pass in two parameters: the name of the color from $theme-colors (e.g., primary or danger) and a numeric level.

    + +
    .custom-element {
    +  color: theme-color-level(primary, -10);
    +}
    + +

    Additional functions could be added in the future or your own custom Sass to create level functions for additional Sass maps, or even a generic one if you wanted to be more verbose.

    + +

    Color contrast

    + +

    One additional function we include in Bootstrap is the color contrast function, color-yiq. It utilizes the YIQ color space to automatically return a light (#fff) or dark (#111) contrast color based on the specified base color. This function is especially useful for mixins or loops where you’re generating multiple classes.

    + +

    For example, to generate color swatches from our $theme-colors map:

    + +
    @each $color, $value in $theme-colors {
    +  .swatch-#{$color} {
    +    color: color-yiq($value);
    +  }
    +}
    + +

    It can also be used for one-off contrast needs:

    + +
    .custom-element {
    +  color: color-yiq(#000); // returns `color: #fff`
    +}
    + +

    You can also specify a base color with our color map functions:

    + +
    .custom-element {
    +  color: color-yiq(theme-color("dark")); // returns `color: #fff`
    +}
    + +

    Sass options

    + +

    Customize Bootstrap 4 with our built-in custom variables file and easily toggle global CSS preferences with new $enable-* Sass variables. Override a variable’s value and recompile with npm run test as needed.

    + +

    You can find and customize these variables for key global options in our _variables.scss file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariableValuesDescription
    $spacer1rem (default), or any value > 0Specifies the default spacer value to programmatically generate our spacer utilities.
    $enable-roundedtrue (default) or falseEnables predefined border-radius styles on various components.
    $enable-shadowstrue or false (default)Enables predefined box-shadow styles on various components.
    $enable-gradientstrue or false (default)Enables predefined gradients via background-image styles on various components.
    $enable-transitionstrue (default) or falseEnables predefined transitions on various components.
    $enable-hover-media-querytrue or false (default)
    $enable-grid-classestrue (default) or falseEnables the generation of CSS classes for the grid system (e.g., .container, .row, .col-md-1, etc.).
    $enable-carettrue (default) or falseEnables pseudo element caret on .dropdown-toggle.
    $enable-print-stylestrue (default) or falseEnables styles for optimizing printing.
    + +

    Color

    + +

    Many of Bootstrap’s various components and utilities are built through a series of colors defined in a Sass map. This map can be looped over in Sass to quickly generate a series of rulesets.

    + +

    All colors

    + +

    All colors available in Bootstrap 4, are available as Sass variables and a Sass map in our scss/_variables.scss file. This will be expanded upon in subsequent minor releases to add additional shades, much like the grayscale palette we already include.

    + +
    + + +
    +
    Blue
    +
    + + + +
    +
    Indigo
    +
    + + + +
    +
    Purple
    +
    + + + +
    +
    Pink
    +
    + + + +
    +
    Red
    +
    + + + +
    +
    Orange
    +
    + + + +
    +
    Yellow
    +
    + + + +
    +
    Green
    +
    + + + +
    +
    Teal
    +
    + + + +
    +
    Cyan
    +
    + + + + + + + + +
    + +

    Here’s how you can use these in your Sass:

    + +
    // With variable
    +.alpha { color: $purple; }
    +
    +// From the Sass map with our `color()` function
    +.beta { color: color("purple"); }
    + +

    Color utility classes are also available for setting color and background-color.

    + +
    +

    In the future, we’ll aim to provide Sass maps and variables for shades of each color as we’ve done with the grayscale colors below.

    +
    + +

    Theme colors

    + +

    We use a subset of all colors to create a smaller color palette for generating color schemes, also available as Sass variables and a Sass map in our scss/_variables.scss file.

    + +
    + +
    +
    Primary
    +
    + +
    +
    Secondary
    +
    + +
    +
    Success
    +
    + +
    +
    Danger
    +
    + +
    +
    Warning
    +
    + +
    +
    Info
    +
    + +
    +
    Light
    +
    + +
    +
    Dark
    +
    + +
    + +

    Grays

    + +

    An expansive set of gray variables and a Sass map in scss/_variables.scss for consistent shades of gray across your project.

    + +
    +
    + +
    100
    + +
    200
    + +
    300
    + +
    400
    + +
    500
    + +
    600
    + +
    700
    + +
    800
    + +
    900
    + +
    +
    + +

    Within _variables.scss, you’ll find our color variables and Sass map. Here’s an example of the $colors Sass map:

    + +
    $colors: (
    +  "blue": $blue,
    +  "indigo": $indigo,
    +  "purple": $purple,
    +  "pink": $pink,
    +  "red": $red,
    +  "orange": $orange,
    +  "yellow": $yellow,
    +  "green": $green,
    +  "teal": $teal,
    +  "cyan": $cyan,
    +  "white": $white,
    +  "gray": $gray-600,
    +  "gray-dark": $gray-800
    +) !default;
    + +

    Add, remove, or modify values within the map to update how they’re used in many other components. Unfortunately at this time, not every component utilizes this Sass map. Future updates will strive to improve upon this. Until then, plan on making use of the ${color} variables and this Sass map.

    + +

    Components

    + +

    Many of Bootstrap’s components and utilities are built with @each loops that iterate over a Sass map. This is especially helpful for generating variants of a component by our $theme-colors and creating responsive variants for each breakpoint. As you customize these Sass maps and recompile, you’ll automatically see your changes reflected in these loops.

    + +

    Modifiers

    + +

    Many of Bootstrap’s components are built with a base-modifier class approach. This means the bulk of the styling is contained to a base class (e.g., .btn) while style variations are confined to modifier classes (e.g., .btn-danger). These modifier classes are built from the $theme-colors map to make customizing the number and name of our modifier classes.

    + +

    Here are two examples of how we loop over the $theme-colors map to generate modifiers to the .alert component and all our .bg-* background utilities.

    + +
    // Generate alert modifier classes
    +@each $color, $value in $theme-colors {
    +  .alert-#{$color} {
    +    @include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));
    +  }
    +}
    +
    +// Generate `.bg-*` color utilities
    +@each $color, $value in $theme-colors {
    +  @include bg-variant('.bg-#{$color}', $value);
    +}
    + +

    Responsive

    + +

    These Sass loops aren’t limited to color maps, either. You can also generate responsive variations of your components or utilities. Take for example our responsive text alignment utilities where we mix an @each loop for the $grid-breakpoints Sass map with a media query include.

    + +
    @each $breakpoint in map-keys($grid-breakpoints) {
    +  @include media-breakpoint-up($breakpoint) {
    +    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
    +
    +    .text#{$infix}-left   { text-align: left !important; }
    +    .text#{$infix}-right  { text-align: right !important; }
    +    .text#{$infix}-center { text-align: center !important; }
    +  }
    +}
    + +

    Should you need to modify your $grid-breakpoints, your changes will apply to all the loops iterating over that map.

    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/4.0/getting-started/webpack/index.html b/docs/4.0/getting-started/webpack/index.html index 2b95fcf7b..0746a80db 100644 --- a/docs/4.0/getting-started/webpack/index.html +++ b/docs/4.0/getting-started/webpack/index.html @@ -1,14 +1,37 @@ - + + - - - Webpack · Bootstrap - - +Webpack · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1025,7 +586,7 @@
  • Importing JavaScript
  • Importing Styles
  • @@ -1036,27 +597,27 @@

    Webpack

    Learn how to include Bootstrap in your project using Webpack 2.

    - +

    Installing Bootstrap

    -

    Install bootstrap as a node module using npm.

    +

    Install bootstrap as a Node.js module using npm.

    Importing JavaScript

    -

    Import Bootstrap’s JavaScript by adding this line to your app’s entry point (usually index.js or app.js):

    +

    Import Bootstrap’s JavaScript by adding this line to your app’s entry point (usually index.js or app.js):

    -
    import 'bootstrap';
    +
    import 'bootstrap';

    Alternatively, you may import plugins individually as needed:

    -
    import 'bootstrap/js/dist/util';
    -import 'bootstrap/js/dist/dropdown';
    +
    import 'bootstrap/js/dist/util';
    +import 'bootstrap/js/dist/dropdown';
     ...

    Bootstrap is dependent on jQuery and Popper, so npm will install them for you if needed. But they must be explicitly provided by webpack. Add the following code to the plugins section in your webpack config file:

    -
      plugins: [
    +
      plugins: [
         ...
           new webpack.ProvidePlugin({
             $: 'jquery',
    @@ -1077,11 +638,11 @@
     
     

    Importing Styles

    -

    Importing Precompiled SASS

    +

    Importing Precompiled Sass

    To enjoy the full potential of Bootstrap and customize it to your needs, use the source files as a part of your project’s bundling process.

    -

    First, create your own _custom.scss and use it to override the built-in custom variables. Then, use your main sass file to import your custom variables, followed by Bootstrap:

    +

    First, create your own _custom.scss and use it to override the built-in custom variables. Then, use your main sass file to import your custom variables, followed by Bootstrap:

    @import "custom";
     @import "~bootstrap/scss/bootstrap";
    @@ -1091,7 +652,7 @@
      ...
       {
         test: /\.(scss)$/,
    -    use: [{
    +    use: [{
           loader: 'style-loader', // inject CSS to page
         }, {
           loader: 'css-loader', // translates CSS into CommonJS modules
    @@ -1115,7 +676,7 @@
     
     

    Alternatively, you may use Bootstrap’s ready-to-use css by simply adding this line to your project’s entry point:

    -
    import 'bootstrap/dist/css/bootstrap.min.css';
    +
    import 'bootstrap/dist/css/bootstrap.min.css';

    In this case you may use your existing rule for css without any special modifications to webpack config.

    @@ -1136,14 +697,12 @@ - - - - + diff --git a/docs/4.0/index.html b/docs/4.0/index.html index f10bd8229..8aa55542e 100644 --- a/docs/4.0/index.html +++ b/docs/4.0/index.html @@ -1,10 +1,37 @@ - - - - Redirecting… - - -

    Redirecting…

    - Click here if you are not redirected. - + + + + + + Bootstrap - Content moved + + + + + +

    Redirecting…

    + Click here if you are not redirected + + diff --git a/docs/4.0/layout/grid/index.html b/docs/4.0/layout/grid/index.html index 051e017aa..cf038d6da 100644 --- a/docs/4.0/layout/grid/index.html +++ b/docs/4.0/layout/grid/index.html @@ -1,14 +1,37 @@ - + + - - - Grid system · Bootstrap - - +Grid system · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1044,13 +605,18 @@
  • Horizontal alignment
  • No gutters
  • Column wrapping
  • -
  • Column resets
  • +
  • Column breaks
  • Reordering
  • Nesting
  • @@ -1074,13 +640,17 @@

    Grid system

    Use our powerful mobile-first flexbox grid to build layouts of all shapes and sizes thanks to a twelve column system, five default responsive tiers, Sass variables and mixins, and dozens of predefined classes.

    - +

    How it works

    -

    Bootstrap’s grid system uses a series of containers, rows, and columns to layout and align content. It’s built with flexbox and is fully responsive. Below is an example and an in-depth look at how the grid comes together.

    +

    Bootstrap’s grid system uses a series of containers, rows, and columns to layout and align content. It’s built with flexbox and is fully responsive. Below is an example and an in-depth look at how the grid comes together.

    -
    +

    New to or unfamiliar with flexbox? Read this CSS Tricks flexbox guide for background, terminology, guidelines, and code snippets.

    + +
    + +
    @@ -1094,6 +664,20 @@
    +
    <div class="container">
    +  <div class="row">
    +    <div class="col-sm">
    +      One of three columns
    +    </div>
    +    <div class="col-sm">
    +      One of three columns
    +    </div>
    +    <div class="col-sm">
    +      One of three columns
    +    </div>
    +  </div>
    +</div>
    +

    The above example creates three equal-width columns on small, medium, large, and extra large devices using our predefined grid classes. Those columns are centered in the page with the parent .container.

    @@ -1101,22 +685,20 @@

    Breaking it down, here’s how it works:

      -
    • Containers provide a means to center your site’s contents. Use .container for fixed width or .container-fluid for full width.
    • -
    • Rows are horizontal groups of columns that ensure your columns are lined up properly. We use the negative margin method on .row to ensure all your content is aligned properly down the left side.
    • -
    • Content should be placed within columns, and only columns may be immediate children of rows.
    • -
    • Thanks to flexbox, grid columns without a set width will automatically layout with equal widths. For example, four instances of .col-sm will each automatically be 25% wide for small breakpoints.
    • -
    • Column classes indicate the number of columns you’d like to use out of the possible 12 per row. So, if you want three equal-width columns, you can use .col-sm-4.
    • +
    • Containers provide a means to center and horizontally pad your site’s contents. Use .container for a responsive pixel width or .container-fluid for width: 100% across all viewport and device sizes.
    • +
    • Rows are wrappers for columns. Each column has horizontal padding (called a gutter) for controlling the space between them. This padding is then counteracted on the rows with negative margins. This way, all the content in your columns is visually aligned down the left side.
    • +
    • In a grid layout, content must be placed within columns and only columns may be immediate children of rows.
    • +
    • Thanks to flexbox, grid columns without a specified width will automatically layout as equal width columns. For example, four instances of .col-sm will each automatically be 25% wide from the small breakpoint and up. See the auto-layout columns section for more examples.
    • +
    • Column classes indicate the number of columns you’d like to use out of the possible 12 per row. So, if you want three equal-width columns across, you can use .col-4.
    • Column widths are set in percentages, so they’re always fluid and sized relative to their parent element.
    • Columns have horizontal padding to create the gutters between individual columns, however, you can remove the margin from rows and padding from columns with .no-gutters on the .row.
    • -
    • There are five grid tiers, one for each responsive breakpoint: all breakpoints (extra small), small, medium, large, and extra large.
    • -
    • Grid tiers are based on minimum widths, meaning they apply to that one tier and all those above it (e.g., .col-sm-4 applies to small, medium, large, and extra large devices).
    • -
    • You can use predefined grid classes or Sass mixins for more semantic markup.
    • +
    • To make the grid responsive, there are five grid breakpoints, one for each responsive breakpoint: all breakpoints (extra small), small, medium, large, and extra large.
    • +
    • Grid breakpoints are based on minimum width media queries, meaning they apply to that one breakpoint and all those above it (e.g., .col-sm-4 applies to small, medium, large, and extra large devices, but not the first xs breakpoint).
    • +
    • You can use predefined grid classes (like .col-4) or Sass mixins for more semantic markup.

    Be aware of the limitations and bugs around flexbox, like the inability to use some HTML elements as flex containers.

    -

    Sounds good? Great, let’s move on to seeing all that in an example.

    -

    Grid options

    While Bootstrap uses ems or rems for defining most sizes, pxs are used for grid breakpoints and container widths. This is because the viewport width is in pixels and does not change with the font size.

    @@ -1195,7 +777,7 @@
    -
    +
    @@ -1241,13 +823,13 @@
    -

    Equal-width columns can be broken into multiple lines, but there is a Safari flexbox bug that prevents this from working without an explicit flex-basis or border. Our example works thanks to the border being set; you can do the same with .col { border: 1px solid transparent; }. Alternatively, you can set the flex-basis to the width of the column (e.g., .col { flex: 1 0 50%; }).

    +

    Equal-width columns can be broken into multiple lines, but there was a Safari flexbox bug that prevented this from working without an explicit flex-basis or border.

    -

    Both these fixes have been documented in a reduced test case outside Bootstrap.

    +

    Two workarounds have been documented in a reduced test case outside Bootstrap, though if the browser is up to date this shouldn’t be necessary.

    -
    +
    Column
    @@ -1275,7 +857,7 @@
    -
    +
    @@ -1333,7 +915,7 @@
    -
    +
    @@ -1391,7 +973,7 @@
    -
    +
    col
    col
    @@ -1419,7 +1001,7 @@
    -
    +
    col
    col
    @@ -1449,7 +1031,7 @@
    -
    +
    col-sm-8
    col-sm-4
    @@ -1477,7 +1059,7 @@
    -
    +
    .col-12 .col-md-8
    @@ -1525,7 +1107,7 @@
    -
    +
    @@ -1601,7 +1183,7 @@
    -
    +
    @@ -1635,7 +1217,7 @@
    -
    +
    @@ -1746,7 +1328,7 @@
    -
    +
    .col-12 .col-sm-6 .col-md-8
    .col-6 .col-md-4
    @@ -1764,7 +1346,7 @@
    -
    +
    .col-9
    .col-4
    Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.
    @@ -1778,19 +1360,19 @@
    -

    Column resets

    +

    Column breaks

    -

    With the handful of grid tiers available, you’re bound to run into issues where, at certain breakpoints, your columns don’t clear quite right as one is taller than the other. To fix that, use a combination of a .clearfix and our responsive display utilities.

    +

    Breaking columns to a new line in flexbox requires a small hack: add an element with width: 100% wherever you want to wrap your columns to a new line. Normally this is accomplished with multiple .rows, but not ever implementation method can account for this.

    -
    +
    .col-6 .col-sm-3
    .col-6 .col-sm-3
    - -
    + +
    .col-6 .col-sm-3
    .col-6 .col-sm-3
    @@ -1799,8 +1381,8 @@ <div class="col-6 col-sm-3">.col-6 .col-sm-3</div> <div class="col-6 col-sm-3">.col-6 .col-sm-3</div> - <!-- Add the extra clearfix for only the required viewport --> - <div class="clearfix d-none d-sm-block"></div> + <!-- Force next columns to break to new line --> + <div class="w-100"></div> <div class="col-6 col-sm-3">.col-6 .col-sm-3</div> <div class="col-6 col-sm-3">.col-6 .col-sm-3</div> @@ -1808,15 +1390,43 @@
    +

    You may also apply this break at specific breakpoints with our responsive display utilities.

    + +
    + +
    +
    +
    .col-6 .col-sm-4
    +
    .col-6 .col-sm-4
    + + +
    + +
    .col-6 .col-sm-4
    +
    .col-6 .col-sm-4
    +
    +
    <div class="row">
    +  <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    +  <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    +
    +  <!-- Force next columns to break to new line at md breakpoint and up -->
    +  <div class="w-100 d-none d-md-block"></div>
    +
    +  <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    +  <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    +</div>
    + +
    +

    Reordering

    -

    Flex order

    +

    Order classes

    Use .order- classes for controlling the visual order of your content. These classes are responsive, so you can set the order by breakpoint (e.g., .order-1.order-md-2). Includes support for 1 through 12 across all five grid tiers.

    -
    +
    @@ -1846,13 +1456,109 @@
    -

    Offsetting columns

    - -

    With the move to flexbox in v4, we no longer have v3’s style of offset classes. Instead, use margin utilities like .mr-auto to force sibling columns away from one another.

    +

    There’s also a responsive .order-first class that quickly changes the order of one element by applying order: -1. This class can also be intermixed with the numbered .order-* classes as needed.

    -
    +
    +
    +
    +
    + First, but unordered +
    +
    + Second, but unordered +
    +
    + Third, but first +
    +
    +
    +
    <div class="container">
    +  <div class="row">
    +    <div class="col">
    +      First, but unordered
    +    </div>
    +    <div class="col">
    +      Second, but unordered
    +    </div>
    +    <div class="col order-first">
    +      Third, but first
    +    </div>
    +  </div>
    +</div>
    + +
    + +

    Offsetting columns

    + +

    You can offset grid columns in two ways: our responsive .offset- grid classes and our margin utilities. Grid classes are sized to match columns while margins are more useful for quick layouts where the width of the offset is variable.

    + +

    Offset classes

    + +

    Move columns to the right using .offset-md-* classes. These classes increase the left margin of a column by * columns. For example, .offset-md-4 moves .col-md-4 over four columns.

    + +
    + +
    +
    +
    .col-md-4
    +
    .col-md-4 .offset-md-4
    +
    +
    +
    .col-md-3 .offset-md-3
    +
    .col-md-3 .offset-md-3
    +
    +
    +
    .col-md-6 .offset-md-3
    +
    +
    <div class="row">
    +  <div class="col-md-4">.col-md-4</div>
    +  <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
    +</div>
    +<div class="row">
    +  <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
    +  <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
    +</div>
    +<div class="row">
    +  <div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
    +</div>
    + +
    + +

    In addition to column clearing at responsive breakpoints, you may need to reset offsets. See this in action in the grid example.

    + +
    + +
    +
    +
    .col-sm-5 .col-md-6
    +
    .col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0
    +
    + +
    +
    .col.col-sm-6.col-md-5.col-lg-6
    +
    .col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0
    +
    +
    <div class="row">
    +  <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
    +  <div class="col-sm-5 offset-sm-2 col-md-6 offset-md-0">.col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0</div>
    +</div>
    +
    +<div class="row">
    +  <div class="col-sm-6 col-md-5 col-lg-6">.col.col-sm-6.col-md-5.col-lg-6</div>
    +  <div class="col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0">.col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0</div>
    +</div>
    + +
    + +

    Margin utilities

    + +

    With the move to flexbox in v4, you can use margin utilities like .mr-auto to force sibling columns away from one another.

    + +
    + +
    .col-md-4
    .col-md-4 .ml-auto
    @@ -1886,7 +1592,7 @@
    -
    +
    Level 1: .col-sm-9 @@ -1956,7 +1662,10 @@ // Make the element grid-ready (applying everything but the width) @include make-col-ready(); -@include make-col($size, $columns: $grid-columns);
    +@include make-col($size, $columns: $grid-columns); + +// Get fancy by offsetting, or changing the sort order +@include make-col-offset($size, $columns: $grid-columns);

    Example usage

    @@ -1993,7 +1702,7 @@ } }
    -
    +
    Main content
    @@ -2036,7 +1745,7 @@ lg: 960px );
    -

    When making any changes to the Sass variables or maps, you’ll need to save your changes and recompile. Doing so will out a brand new set of predefined grid classes for column widths and ordering. Responsive visibility utilities will also be updated to use the custom breakpoints.

    +

    When making any changes to the Sass variables or maps, you’ll need to save your changes and recompile. Doing so will output a brand new set of predefined grid classes for column widths, offsets, and ordering. Responsive visibility utilities will also be updated to use the custom breakpoints. Make sure to set grid values in px (not rem, em, or %).

    @@ -2055,14 +1764,12 @@ - - - - + diff --git a/docs/4.0/layout/index.html b/docs/4.0/layout/index.html index 17e6adb5d..1b5be6719 100644 --- a/docs/4.0/layout/index.html +++ b/docs/4.0/layout/index.html @@ -1,10 +1,37 @@ - - - - Redirecting… - - -

    Redirecting…

    - Click here if you are not redirected. - + + + + + + Bootstrap - Content moved + + + + + +

    Redirecting…

    + Click here if you are not redirected + + diff --git a/docs/4.0/layout/media-object/index.html b/docs/4.0/layout/media-object/index.html index 5eede3776..2b5ec5adb 100644 --- a/docs/4.0/layout/media-object/index.html +++ b/docs/4.0/layout/media-object/index.html @@ -1,14 +1,37 @@ - + + - - - Media object · Bootstrap - - +Media object · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,54 +584,34 @@
    @@ -1079,7 +620,7 @@

    Media object

    Documentation and examples for Bootstrap's media object to construct highly repetitive components like blog comments, tweets, and the like.

    - +

    Example

    @@ -1087,9 +628,9 @@

    Below is an example of a single media object. Only two classes are required—the wrapping .media and the .media-body around your content. Optional padding and margin can be controlled through spacing utilities.

    -
    +
    - Generic placeholder image + Generic placeholder image
    Media heading
    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. @@ -1097,7 +638,7 @@
    <div class="media">
    -  <img class="d-flex mr-3" src="..." alt="Generic placeholder image">
    +  <img class="mr-3" src="..." alt="Generic placeholder image">
       <div class="media-body">
         <h5 class="mt-0">Media heading</h5>
         Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
    @@ -1116,15 +657,15 @@
     
     

    Media objects can be infinitely nested, though we suggest you stop at some point. Place nested .media within the .media-body of a parent media object.

    -
    +
    - Generic placeholder image + Generic placeholder image
    Media heading
    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
    - + Generic placeholder image
    @@ -1136,13 +677,13 @@
    <div class="media">
    -  <img class="d-flex mr-3" src="..." alt="Generic placeholder image">
    +  <img class="mr-3" src="..." alt="Generic placeholder image">
       <div class="media-body">
         <h5 class="mt-0">Media heading</h5>
         Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
     
         <div class="media mt-3">
    -      <a class="d-flex pr-3" href="#">
    +      <a class="pr-3" href="#">
             <img src="..." alt="Generic placeholder image">
           </a>
           <div class="media-body">
    @@ -1157,9 +698,9 @@
     
     

    Media in a media object can be aligned with flexbox utilities to the top (default), middle, or end of your .media-body content.

    -
    +
    - Generic placeholder image + Generic placeholder image
    Top-aligned media

    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

    @@ -1168,7 +709,7 @@
    <div class="media">
    -  <img class="d-flex align-self-start mr-3" src="..." alt="Generic placeholder image">
    +  <img class="align-self-start mr-3" src="..." alt="Generic placeholder image">
       <div class="media-body">
         <h5 class="mt-0">Top-aligned media</h5>
         <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
    @@ -1176,9 +717,9 @@
       </div>
     </div>
    -
    +
    - Generic placeholder image + Generic placeholder image
    Center-aligned media

    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

    @@ -1187,7 +728,7 @@
    <div class="media">
    -  <img class="d-flex align-self-center mr-3" src="..." alt="Generic placeholder image">
    +  <img class="align-self-center mr-3" src="..." alt="Generic placeholder image">
       <div class="media-body">
         <h5 class="mt-0">Center-aligned media</h5>
         <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
    @@ -1195,9 +736,9 @@
       </div>
     </div>
    -
    +
    - Generic placeholder image + Generic placeholder image
    Bottom-aligned media

    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

    @@ -1206,7 +747,7 @@
    <div class="media">
    -  <img class="d-flex align-self-end mr-3" src="..." alt="Generic placeholder image">
    +  <img class="align-self-end mr-3" src="..." alt="Generic placeholder image">
       <div class="media-body">
         <h5 class="mt-0">Bottom-aligned media</h5>
         <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
    @@ -1218,13 +759,13 @@
     
     

    Change the order of content in media objects by modifying the HTML itself, or by adding some custom flexbox CSS to set the order property (to an integer of your choosing).

    -
    +
    Media object
    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
    - Generic placeholder image + Generic placeholder image
    <div class="media">
    @@ -1232,31 +773,31 @@
         <h5 class="mt-0 mb-1">Media object</h5>
         Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
       </div>
    -  <img class="d-flex ml-3" src="..." alt="Generic placeholder image">
    +  <img class="ml-3" src="..." alt="Generic placeholder image">
     </div>

    Media list

    Because the media object has so few structural requirements, you can also use these classes on list HTML elements. On your <ul> or <ol>, add the .list-unstyled to remove any browser default list styles, and then apply .media to your <li>s. As always, use spacing utilities wherever needed to fine tune.

    -
    +
    • - Generic placeholder image + Generic placeholder image
      List-based media object
      Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
    • - Generic placeholder image + Generic placeholder image
      List-based media object
      Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
    • - Generic placeholder image + Generic placeholder image
      List-based media object
      Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. @@ -1266,21 +807,21 @@
      <ul class="list-unstyled">
         <li class="media">
      -    <img class="d-flex mr-3" src="..." alt="Generic placeholder image">
      +    <img class="mr-3" src="..." alt="Generic placeholder image">
           <div class="media-body">
             <h5 class="mt-0 mb-1">List-based media object</h5>
             Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
           </div>
         </li>
         <li class="media my-4">
      -    <img class="d-flex mr-3" src="..." alt="Generic placeholder image">
      +    <img class="mr-3" src="..." alt="Generic placeholder image">
           <div class="media-body">
             <h5 class="mt-0 mb-1">List-based media object</h5>
             Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
           </div>
         </li>
         <li class="media">
      -    <img class="d-flex mr-3" src="..." alt="Generic placeholder image">
      +    <img class="mr-3" src="..." alt="Generic placeholder image">
           <div class="media-body">
             <h5 class="mt-0 mb-1">List-based media object</h5>
             Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
      @@ -1306,14 +847,12 @@
         
       
       
      -
      -
       
       
       
      -
      -
      +
       
         
      diff --git a/docs/4.0/layout/overview/index.html b/docs/4.0/layout/overview/index.html
      index cc0c5247c..58f33277c 100644
      --- a/docs/4.0/layout/overview/index.html
      +++ b/docs/4.0/layout/overview/index.html
      @@ -1,14 +1,37 @@
      -
      +
       
         
           
       
      +
       
      -
      -  
      -    Overview · Bootstrap
      -  
      -
      +Overview · Bootstrap
      +
      +
      +
      +  
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
       
       
       
      @@ -34,25 +57,6 @@
       
       
       
      -
      -
      -
      -
      -
      -
      -
      -  
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
       
       
       
         
      -  
      +  
           
             
    • @@ -136,7 +140,7 @@
    - Download + Download @@ -145,876 +149,433 @@
    -
    @@ -1031,7 +592,7 @@

    Overview

    Components and options for laying out your Bootstrap project, including wrapping containers, a powerful grid system, a flexible media object, and responsive utility classes.

    - +

    Containers

    @@ -1166,16 +727,14 @@

    We don’t encourage customization of these values; should you change one, you likely need to change them all.

    -
    $zindex-dropdown-backdrop:  990 !default;
    -$zindex-dropdown:          1000 !default;
    +
    $zindex-dropdown:          1000 !default;
    +$zindex-sticky:            1020 !default;
     $zindex-fixed:             1030 !default;
    -$zindex-sticky:            1030 !default;
     $zindex-modal-backdrop:    1040 !default;
     $zindex-modal:             1050 !default;
     $zindex-popover:           1060 !default;
     $zindex-tooltip:           1070 !default;
    -
    -
    +

    Background elements—like the backdrops that allow click-dismissing—tend to reside on a lower z-indexs, while navigation and popovers utilize higher z-indexs to ensure they overlay surrounding content.

    @@ -1196,14 +755,12 @@ - - - - + diff --git a/docs/4.0/layout/utilities-for-layout/index.html b/docs/4.0/layout/utilities-for-layout/index.html index ae74d46a6..8b2f17f90 100644 --- a/docs/4.0/layout/utilities-for-layout/index.html +++ b/docs/4.0/layout/utilities-for-layout/index.html @@ -1,14 +1,37 @@ - + + - - - Utilities for layout · Bootstrap - - +Utilities for layout · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1032,7 +593,7 @@

    Utilities for layout

    For faster mobile-friendly and responsive development, Bootstrap includes dozens of utility classes for showing, hiding, aligning, and spacing content.

    - +

    Changing display

    @@ -1069,14 +630,12 @@ - - - - + diff --git a/docs/4.0/migration/index.html b/docs/4.0/migration/index.html index 3f689f535..796476cc0 100644 --- a/docs/4.0/migration/index.html +++ b/docs/4.0/migration/index.html @@ -1,14 +1,37 @@ - + + - - - Migrating to v4 · Bootstrap - - +Migrating to v4 · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,882 +149,445 @@
    -
      +
    • Beta 2 changes + +
    • Summary
      • Browser support
      • @@ -1049,6 +616,7 @@
      • Labels and badges
      • Panels, thumbnails, and wells
      • Panels
      • +
      • Progress
      • Carousel
      • Tables
      • Utilities
      • @@ -1067,11 +635,30 @@

        Migrating to v4

        Bootstrap 4 is a major rewrite of the entire project. The most notable changes are summarized below, followed by more specific changes to relevant components.

        - + -
        -

        Heads up! This will be in flux as work on the v4 alphas progresses. Until then consider it incomplete, and we’d love pull requests to help keep it up to date.

        -
        +

        Beta 2 changes

        + +

        While in beta, we aim to have no breaking changes. However, things don’t always go as planned. Below are the breaking changes to bear in mind when moving from Beta 1 to Beta 2.

        + +

        Breaking

        + +
          +
        • Removed $badge-color variable and its usage on .badge. We use a color contrast function to pick a color based on the background-color, so the variable is unnecessary.
        • +
        • Renamed grayscale() function to gray() to avoid breaking conflict with the CSS native grayscale filter.
        • +
        • Renamed .table-inverse, .thead-inverse, and .thead-default to .*-dark and .*-light, matching our color schemes used elsewhere.
        • +
        • Responsive tables now generate classes for each grid breakpoint. This breaks from Beta 1 in that the .table-responsive you’ve been using is more like .table-responsive-md. You may now use .table-responsive or .table-responsive-{sm,md,lg,xl} as needed.
        • +
        • Dropped Bower support as the package manager has been deprecated for alternatives (e.g., Yarn or npm). See bower/bower#2298 for details.
        • +
        • Bootstrap still requires jQuery 1.9.1 or higher, but you’re advised to use version 3.x since v3.x’s supported browsers are the ones Bootstrap supports plus v3.x has some security fixes.
        • +
        • Removed the unused .form-control-label class. If you did make use of this class, it was duplicate of the .col-form-label class that vertically centered a <label> with it’s associated input in horizontal form layouts.
        • +
        • Changed the color-yiq from a mixin that included the color property to a function that returns a value, allowing you to use it for any CSS property. For example, instead of color-yiq(#000), you’d write color: color-yiq(#000);.
        • +
        + +

        Highlights

        + +
          +
        • Introduced new pointer-events usage on modals. The outer .modal-dialog passes through events with pointer-events: none for custom click handling (making it possible to just listen on the .modal-backdrop for any clicks), and then counteracts it for the actual .modal-content with pointer-events: auto.
        • +

        Summary

        @@ -1128,16 +715,16 @@

        Components

          -
        • Dropped panels, thumbnails, and wells for a new all-encompassing component, cards.
        • +
        • Dropped panels, thumbnails, and wells for a new all-encompassing component, cards.
        • Dropped the Glyphicons icon font. If you need icons, some options are:
          • the upstream version of Glyphicons
          • Octicons
          • Font Awesome
          • -
          • See the Extend page for a list of alternatives. Have additional suggestions? Please open an issue or PR.
          • +
          • See the Extend page for a list of alternatives. Have additional suggestions? Please open an issue or PR.
        • -
        • Dropped the Affix jQuery plugin. +
        • Dropped the Affix jQuery plugin.
          • We recommend using position: sticky instead. See the HTML5 Please entry for details and specific polyfill recommendations. One suggestion is to use an @supports rule for implementing it (e.g., @supports (position: sticky) { ... })/
          • If you were using Affix to apply additional, non-position styles, the polyfills might not support your use case. One option for such uses is the third-party ScrollPos-Styler library.
          • @@ -1181,29 +768,29 @@
          • Renamed .table-condensed to .table-sm for consistency.
          • Added a new .table-inverse option.
          • Added table header modifiers: .thead-default and .thead-inverse.
          • -
          • Renamed contextual classes to have a .table--prefix. Hence .active, .success, .warning, .danger and .table-info to .table-active, .table-success, .table-warning, .table-danger and .table-info.
          • +
          • Renamed contextual classes to have a .table--prefix. Hence .active, .success, .warning, .danger and .info to .table-active, .table-success, .table-warning, .table-danger and .table-info.

          Forms

          • Moved element resets to the _reboot.scss file.
          • -
          • Renamed .control-label to .form-control-label.
          • +
          • Renamed .control-label to .col-form-label.
          • Renamed .input-lg and .input-sm to .form-control-lg and .form-control-sm, respectively.
          • Dropped .form-group-* classes for simplicity’s sake. Use .form-control-* classes instead now.
          • Dropped .help-block and replaced it with .form-text for block-level help text. For inline help text and other flexible options, use utility classes like .text-muted.
          • Dropped .radio-inline and .checkbox-inline.
          • +
          • Consolidated .checkbox and .radio into .form-check and the various .form-check-* classes.
          • Horizontal forms overhauled:
            • Dropped the .form-horizontal class requirement.
            • .form-group no longer applies styles from the .row via mixin, so .row is now required for horizontal grid layouts (e.g., <div class="form-group row">).
            • -
            • Added new .form-control-label class to vertically center labels with .form-controls.
            • +
            • Added new .col-form-label class to vertically center labels with .form-controls.
            • Added new .form-row for compact form layouts with the grid classes (swap your .row for a .form-row and go).
          • Added custom forms support (for checkboxes, radios, selects, and file inputs).
          • -
          • Added HTML5 form validation support via CSS’s :invalid and :valid pseudo-classes.
          • -
          • Renamed .has-error to .has-danger.
          • +
          • Replaced .has-error, .has-warning, and .has-success classes with HTML5 form validation via CSS’s :invalid and :valid pseudo-classes.
          • Renamed .form-control-static to .form-control-plaintext.
          @@ -1212,7 +799,7 @@
          • Renamed .btn-default to .btn-secondary.
          • Dropped the .btn-xs class entirely as .btn-sm is proportionally much smaller than v3’s.
          • -
          • The stateful button feature of the button.js jQuery plugin has been dropped. This includes the $().button(string) and $().button('reset') methods. We advise using a tiny bit of custom JavaScript instead, which will have the benefit of behaving exactly the way you want it to. +
          • The stateful button feature of the button.js jQuery plugin has been dropped. This includes the $().button(string) and $().button('reset') methods. We advise using a tiny bit of custom JavaScript instead, which will have the benefit of behaving exactly the way you want it to.
            • Note that the other features of the plugin (button checkboxes, button radios, single-toggle buttons) have been retained in v4.
            @@ -1224,7 +811,7 @@
            • Rewrote component with flexbox.
            • -
            • Removed .btn-group-justified.
            • +
            • Removed .btn-group-justified. As a replacement you can use <div class="btn-group d-flex" role="group"></div> as a wrapper around elements with .w-100.
            • Dropped the .btn-group-xs class entirely given removal of .btn-xs.
            • Removed explicit spacing between button groups in button toolbars; use margin utilities now.
            • Improved documentation for use with other components.
            • @@ -1246,7 +833,8 @@
              • Added a new 576px grid breakpoint as sm, meaning there are now five total tiers (xs, sm, md, lg, and xl).
              • -
              • Renamed the responsive grid modifier classes from .col-{breakpoint}-{modifier}-{size} to .{modifier}-{breakpoint}-{size} for simpler grid classes. For example, instead of .col-md-3.col-md-push-9 it’s .col-md-3.push-md-9.
              • +
              • Renamed the responsive grid modifier classes from .col-{breakpoint}-{modifier}-{size} to .{modifier}-{breakpoint}-{size} for simpler grid classes.
              • +
              • Dropped push and pull modifier classes for the new flexbox-powered order classes. For example, instead of .col-8.push-4 and .col-4.pull-8, you’d use .col-8.order-2 and .col-4.order-1.
              • Added flexbox utility classes for grid system and components.
              @@ -1309,6 +897,7 @@
            • Renamed .label to .badge to disambiguate from the <label> element.
            • Dropped the .badge component as it was nearly identical to labels. Use the .badge-pill modifier together with the label component instead for that rounded look.
            • Badges are no longer floated automatically in list groups and other components. Utility classes are now required for that.
            • +
            • .badge-default has been dropped and .badge-secondary added to match component modifier classes used elsewhere.

            Panels, thumbnails, and wells

            @@ -1328,6 +917,12 @@
          • .panel-primary, .panel-success, .panel-info, .panel-warning, and .panel-danger have been dropped for .bg-, .text-, and .border utilities generated from our $theme-colors Sass map.
          +

          Progress

          + +
            +
          • Replaced contextual .progress-bar-* classes with .bg-* utilities. For example, class="progress-bar progress-bar-danger" becomes class="progress-bar bg-danger".
          • +
          +
            @@ -1336,7 +931,7 @@
            • For carousel items, .next, .prev, .left, and .right are now .carousel-item-next, .carousel-item-prev, .carousel-item-left, and .carousel-item-right.
            • .item is also now .carousel-item.
            • -
            • For prev/next controls, .carousel-control.right and .carousel-control.left are now .carousel-control-right and .carousel-control-left, meaning they no longer require a specific base class.
            • +
            • For prev/next controls, .carousel-control.right and .carousel-control.left are now .carousel-control-next and .carousel-control-prev, meaning they no longer require a specific base class.
          • Removed all responsive styling, deferring to utilities (e.g., showing captions on certain viewports) and custom styles as needed.
          • @@ -1357,7 +952,7 @@
          • Display, hidden, and more:
            • Made display utilities responsive (e.g., .d-none and d-{sm,md,lg,xl}-none).
            • -
            • Dropped the bulk of .hidden-* utilities for new [display utilities]((/docs/4.0/utilities/display/). For example, instead of .hidden-sm-up, use .d-sm-none. Renamed the .hidden-print utilities to use the display utility naming scheme. More info under the Responsive utilities section of this page.
            • +
            • Dropped the bulk of .hidden-* utilities for new display utilities. For example, instead of .hidden-sm-up, use .d-sm-none. Renamed the .hidden-print utilities to use the display utility naming scheme. More info under the Responsive utilities section of this page.
            • Added .float-{sm,md,lg,xl}-{left,right,none} classes for responsive floats and removed .pull-left and .pull-right since they’re redundant to .float-left and .float-right.
          • @@ -1377,7 +972,7 @@

            Vendor prefix mixins

            -

            Bootstrap 3’s vendor prefix mixins, which were deprecated in v3.2.0, have been removed in Bootstrap 4. Since we use Autoprefixer, they’re no longer necessary.

            +

            Bootstrap 3’s vendor prefix mixins, which were deprecated in v3.2.0, have been removed in Bootstrap 4. Since we use Autoprefixer, they’re no longer necessary.

            Removed the following mixins: animation, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-timing-function, backface-visibility, box-sizing, content-columns, hyphens, opacity, perspective, perspective-origin, rotate, rotateX, rotateY, scale, scaleX, scaleY, skew, transform-origin, transition-delay, transition-duration, transition-property, transition-timing-function, transition-transform, translate, translate3d, user-select

            @@ -1443,14 +1038,12 @@ - - - - + diff --git a/docs/4.0/utilities/borders/index.html b/docs/4.0/utilities/borders/index.html index b171258ef..5028b29c6 100644 --- a/docs/4.0/utilities/borders/index.html +++ b/docs/4.0/utilities/borders/index.html @@ -1,14 +1,37 @@ - + + - - - Borders · Bootstrap - - +Borders · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
          - Download + Download @@ -145,876 +149,433 @@
          -
        +
    Layout -
    - - - - - - - - -
    + +
    Content -
    - - - - - - - - -
    + +
    Components -
    - - - - - - - - -
    + +
    Utilities -
    - - - - - - - - -
    + +
    Extend -
    - - - - - - - - -
    + +
    Migration - -
    - - + +
    @@ -1031,7 +592,7 @@

    Borders

    Use border utilities to quickly style the border and border-radius of an element. Great for images, buttons, or any other element.

    - +

    Border

    @@ -1039,7 +600,7 @@
    -
    +
    @@ -1061,7 +622,7 @@
    -
    +
    @@ -1123,14 +684,12 @@ - - - - + diff --git a/docs/4.0/utilities/clearfix/index.html b/docs/4.0/utilities/clearfix/index.html index 3a4a58b2b..4179e756f 100644 --- a/docs/4.0/utilities/clearfix/index.html +++ b/docs/4.0/utilities/clearfix/index.html @@ -1,14 +1,37 @@ - + + - - - Clearfix · Bootstrap - - +Clearfix · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1028,9 +589,9 @@

    Clearfix

    Quickly and easily clear floated content within a container by adding a clearfix utility.

    - + -

    Easily clear floats by adding .clearfix to the parent element. Utilizes the micro clearfix as popularized by Nicolas Gallagher. Can also be used as a mixin.

    +

    Easily clear floats by adding .clearfix to the parent element. Can also be used as a mixin.

    <div class="clearfix">...</div>
    @@ -1050,15 +611,15 @@

    The following example shows how the clearfix can be used. Without the clearfix the wrapping div would not span around the buttons which would cause a broken layout.

    -
    +
    - - + +
    <div class="bg-info clearfix">
    -  <button class="btn btn-secondary float-left">Example Button floated left</button>
    -  <button class="btn btn-secondary float-right">Example Button floated right</button>
    +  <button type="button" class="btn btn-secondary float-left">Example Button floated left</button>
    +  <button type="button" class="btn btn-secondary float-right">Example Button floated right</button>
     </div>
    @@ -1079,14 +640,12 @@ - - - - + diff --git a/docs/4.0/utilities/close-icon/index.html b/docs/4.0/utilities/close-icon/index.html index 5a0bc5e2d..e299d0d71 100644 --- a/docs/4.0/utilities/close-icon/index.html +++ b/docs/4.0/utilities/close-icon/index.html @@ -1,14 +1,37 @@ - + + - - - Close icon · Bootstrap - - +Close icon · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1028,11 +589,11 @@

    Close icon

    Use a generic close icon for dismissing content like modals and alerts.

    - +

    Be sure to include text for screen readers, as we’ve done with aria-label.

    -
    +
    @@ -1059,14 +620,12 @@ - - - - + diff --git a/docs/4.0/utilities/colors/index.html b/docs/4.0/utilities/colors/index.html index 43461a2a1..7537a9f21 100644 --- a/docs/4.0/utilities/colors/index.html +++ b/docs/4.0/utilities/colors/index.html @@ -1,14 +1,37 @@ - + + - - - Colors · Bootstrap - - +Colors · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,884 +149,447 @@
    -
    @@ -1030,18 +597,21 @@

    Colors

    Convey meaning through color with a handful of color utility classes. Includes support for styling links with hover states, too.

    - + - -
    +

    Color

    + +

    .text-primary

    .text-secondary

    .text-success

    .text-danger

    .text-warning

    .text-info

    -

    .text-light

    +

    .text-light

    .text-dark

    +

    .text-muted

    +

    .text-white

    <p class="text-primary">.text-primary</p>
     <p class="text-secondary">.text-secondary</p>
    @@ -1049,20 +619,24 @@
     <p class="text-danger">.text-danger</p>
     <p class="text-warning">.text-warning</p>
     <p class="text-info">.text-info</p>
    -<p class="text-light">.text-light</p>
    -<p class="text-dark">.text-dark</p>
    +<p class="text-light bg-dark">.text-light</p> +<p class="text-dark">.text-dark</p> +<p class="text-muted">.text-muted</p> +<p class="text-white bg-dark">.text-white</p>
    -

    Contextual text classes also work well on anchors with the provided hover and focus states. Note that the .text-white class has no link styling.

    +

    Contextual text classes also work well on anchors with the provided hover and focus states. Note that the .text-white and .text-muted class has no link styling.

    -
    +
    <p><a href="#" class="text-primary">Primary link</a></p>
     <p><a href="#" class="text-secondary">Secondary link</a></p>
    @@ -1070,21 +644,25 @@
     <p><a href="#" class="text-danger">Danger link</a></p>
     <p><a href="#" class="text-warning">Warning link</a></p>
     <p><a href="#" class="text-info">Info link</a></p>
    -<p><a href="#" class="text-light bg-gray">Light link</a></p>
    -<p><a href="#" class="text-dark">Dark link</a></p>
    +<p><a href="#" class="text-light bg-dark">Light link</a></p> +<p><a href="#" class="text-dark">Dark link</a></p> +<p><a href="#" class="text-muted">Muted link</a></p> +<p><a href="#" class="text-white bg-dark">White link</a></p>
    + +

    Background color

    Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes. Background utilities do not set color, so in some cases you’ll want to use .text-* utilities.

    -
    +
    .bg-primary
    .bg-secondary
    .bg-success
    .bg-danger
    .bg-warning
    .bg-info
    -
    .bg-light
    +
    .bg-light
    .bg-dark
    -
    .bg-white
    +
    .bg-white
    <div class="p-3 mb-2 bg-primary text-white">.bg-primary</div>
     <div class="p-3 mb-2 bg-secondary text-white">.bg-secondary</div>
    @@ -1092,9 +670,32 @@
     <div class="p-3 mb-2 bg-danger text-white">.bg-danger</div>
     <div class="p-3 mb-2 bg-warning text-white">.bg-warning</div>
     <div class="p-3 mb-2 bg-info text-white">.bg-info</div>
    -<div class="p-3 mb-2 bg-light text-gray-dark">.bg-light</div>
    +<div class="p-3 mb-2 bg-light text-dark">.bg-light</div>
     <div class="p-3 mb-2 bg-dark text-white">.bg-dark</div>
    -<div class="p-3 mb-2 bg-white text-gray-dark">.bg-white</div>
    +<div class="p-3 mb-2 bg-white text-dark">.bg-white</div>
    + +

    Background gradient

    + +

    When $enable-gradients is set to true, you’ll be able to use .bg-gradient- utility classes. By default, $enable-gradients is disabled and the example below is intentionally broken. This is done for easier customization from the moment you start using Bootstrap. Learn about our Sass options to enable these classes and more.

    + +
    +
    .bg-gradient-primary
    +
    .bg-gradient-secondary
    +
    .bg-gradient-success
    +
    .bg-gradient-danger
    +
    .bg-gradient-warning
    +
    .bg-gradient-info
    +
    .bg-gradient-light
    +
    .bg-gradient-dark
    +
    +
    <div class="p-3 mb-2 bg-gradient-primary text-white">.bg-gradient-primary</div>
    +<div class="p-3 mb-2 bg-gradient-secondary text-white">.bg-gradient-secondary</div>
    +<div class="p-3 mb-2 bg-gradient-success text-white">.bg-gradient-success</div>
    +<div class="p-3 mb-2 bg-gradient-danger text-white">.bg-gradient-danger</div>
    +<div class="p-3 mb-2 bg-gradient-warning text-white">.bg-gradient-warning</div>
    +<div class="p-3 mb-2 bg-gradient-info text-white">.bg-gradient-info</div>
    +<div class="p-3 mb-2 bg-gradient-light text-dark">.bg-gradient-light</div>
    +<div class="p-3 mb-2 bg-gradient-dark text-white">.bg-gradient-dark</div>

    Dealing with specificity

    @@ -1126,14 +727,12 @@ - - - - + diff --git a/docs/4.0/utilities/display/index.html b/docs/4.0/utilities/display/index.html index f373712f7..f986066a5 100644 --- a/docs/4.0/utilities/display/index.html +++ b/docs/4.0/utilities/display/index.html @@ -1,14 +1,37 @@ - + + - - - Display property · Bootstrap - - +Display property · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1022,6 +583,7 @@ @@ -1030,7 +592,7 @@

    Display property

    Quickly and responsively toggle the display value of components and more with our display utilities. Includes support for some of the more common values, as well as some extras for controlling display when printing.

    - +

    Common display values

    @@ -1049,19 +611,19 @@

    Put them to use by applying any of the classes to an element of your choice. For example, here’s how you could use the inline, block, or inline-block utilities (the same applies to the other classes).

    -
    +
    d-inline
    d-inline
    <div class="d-inline bg-success">d-inline</div>
     <div class="d-inline bg-success">d-inline</div>
    -
    +
    d-block
    <span class="d-block bg-primary">d-block</span>
    -
    +
    d-inline-block
    d-inline-block
    @@ -1113,6 +675,73 @@
  • .d-xl-inline-flex
  • +

    Hiding Elements

    + +

    For faster mobile-friendly development, use responsive display classes for showing and hiding elements by device. Avoid creating entirely different versions of the same site, instead hide element responsively for each screen size.

    + +

    To hide elements simply use the .d-none class or one of the .d-{sm,md,lg,xl}-none classes for any responsive screen variation.

    + +

    To show an element only on a given interval of screen sizes you can combine one .d-*-none class with a .d-*-* class, for example .d-none.d-md-block.d-xl-none will hide the element for all screen sizes except on medium and large devices.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Screen SizeClass
    Hidden on alld-none
    Hidden only on xsd-none d-sm-block
    Hidden only on smd-sm-none d-md-block
    Hidden only on mdd-md-none d-lg-block
    Hidden only on lgd-lg-none d-xl-block
    Hidden only on xld-xl-none
    Visible on alld-block
    Visible only on xsd-block d-sm-none
    Visible only on smd-none d-sm-block d-md-none
    Visible only on mdd-none d-md-block d-lg-none
    Visible only on lgd-none d-lg-block d-xl-none
    Visible only on xld-none d-xl-block
    +

    Display in print

    Change the display value of elements when printing with our print display utilities.

    @@ -1161,14 +790,12 @@ - - - - + diff --git a/docs/4.0/utilities/embed/index.html b/docs/4.0/utilities/embed/index.html index 62fb5c564..af44adce2 100644 --- a/docs/4.0/utilities/embed/index.html +++ b/docs/4.0/utilities/embed/index.html @@ -1,14 +1,37 @@ - + + - - - Embeds · Bootstrap - - +Embeds · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1031,7 +592,7 @@

    Embeds

    Create responsive video or slideshow embeds based on the width of the parent by creating an intrinsic ratio that scales on any device.

    - +

    About

    @@ -1043,7 +604,7 @@

    Wrap any embed like an <iframe> in a parent element with .embed-responsive and an aspect ratio. The .embed-responsive-item isn’t strictly required, but we encourage it.

    -
    +
    @@ -1094,14 +655,12 @@ - - - - + diff --git a/docs/4.0/utilities/flex/index.html b/docs/4.0/utilities/flex/index.html index 7eb3a849e..f24d714d3 100644 --- a/docs/4.0/utilities/flex/index.html +++ b/docs/4.0/utilities/flex/index.html @@ -1,14 +1,37 @@ - + + - - - Flex · Bootstrap - - +Flex · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1028,7 +589,6 @@
  • Align self
  • Auto margins
  • @@ -1042,18 +602,18 @@

    Flex

    Quickly manage the layout, alignment, and sizing of grid columns, navigation, components, and more with a full suite of responsive flexbox utilities. For more complex implementations, custom CSS may be necessary.

    - +

    Enable flex behaviors

    Apply display utilities to create a flexbox container and transform direct children elements into flex items. Flex containers and items are able to be modified further with additional flex properties.

    -
    +
    I'm a flexbox container!
    <div class="d-flex p-2">I'm a flexbox container!</div>
    -
    +
    I'm an inline flexbox container!
    <div class="d-inline-flex p-2">I'm an inline flexbox container!</div>
    @@ -1079,7 +639,7 @@

    Use .flex-row to set a horizontal direction (the browser default), or .flex-row-reverse to start the horizontal direction from the opposite side.

    -
    +
    Flex item 1
    Flex item 2
    @@ -1104,7 +664,7 @@

    Use .flex-column to set a vertical direction, or .flex-column-reverse to start the vertical direction from the opposite side.

    -
    +
    Flex item 1
    Flex item 2
    @@ -1358,32 +918,42 @@

    Auto margins

    -

    Flexbox can do some pretty awesome things when you mix flex alignments with auto margins.

    +

    Flexbox can do some pretty awesome things when you mix flex alignments with auto margins. Shown below are three examples of controlling flex items via auto margins: default (no auto margin), pushing two items to the right (.mr-auto), and pushing two items to the left (.ml-auto).

    -

    With justify-content

    +

    Unfortunately, IE10 and IE11 do not properly support auto margins on flex items whose parent has a non-default justify-content value. See this StackOverflow answer for more details.

    -

    Easily move all flex items to one side, but keep another on the opposite end by mixing justify-content with margin-right: auto or margin-left: auto.

    +
    +
    +
    Flex item
    +
    Flex item
    +
    Flex item
    +
    -
    -
    +
    Flex item
    Flex item
    Flex item
    -
    +
    Flex item
    Flex item
    Flex item
    -
    <div class="d-flex justify-content-end">
    +
    <div class="d-flex">
    +  <div class="p-2">Flex item</div>
    +  <div class="p-2">Flex item</div>
    +  <div class="p-2">Flex item</div>
    +</div>
    +
    +<div class="d-flex">
       <div class="mr-auto p-2">Flex item</div>
       <div class="p-2">Flex item</div>
       <div class="p-2">Flex item</div>
     </div>
     
    -<div class="d-flex justify-content-start">
    +<div class="d-flex">
       <div class="p-2">Flex item</div>
       <div class="p-2">Flex item</div>
       <div class="ml-auto p-2">Flex item</div>
    @@ -1391,9 +961,9 @@
     
     

    With align-items

    -

    Similarly, move one flex item to the top or bottom of a container by mixing align-items, flex-direction: column, and margin-top: auto or margin-bottom: auto.

    +

    Vertically move one flex item to the top or bottom of a container by mixing align-items, flex-direction: column, and margin-top: auto or margin-bottom: auto.

    -
    +
    Flex item
    Flex item
    @@ -1518,7 +1088,7 @@

    Change the visual order of specific flex items with a handful of order utilities. We only provide options for making an item first or last, as well as a reset to use the DOM order. As order takes any integer value (e.g., 5), add custom CSS for any additional values needed.

    -
    +
    First flex item
    Second flex item
    @@ -1783,14 +1353,12 @@ - - - - + diff --git a/docs/4.0/utilities/float/index.html b/docs/4.0/utilities/float/index.html index c2c5e7878..13261b7b7 100644 --- a/docs/4.0/utilities/float/index.html +++ b/docs/4.0/utilities/float/index.html @@ -1,14 +1,37 @@ - + + - - - Float · Bootstrap - - +Float · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1032,7 +593,7 @@

    Float

    Toggle floats on any element, across any breakpoint, using our responsive float utilities.

    - +

    Overview

    @@ -1042,7 +603,7 @@

    Toggle a float with a class:

    -
    +
    Float left on all viewport sizes

    Float right on all viewport sizes

    Don't float on all viewport sizes
    @@ -1069,7 +630,7 @@

    Responsive variations also exist for each float value.

    -
    +
    Float left on viewports sized SM (small) or wider

    Float left on viewports sized MD (medium) or wider

    Float left on viewports sized LG (large) or wider

    @@ -1117,14 +678,12 @@ - - - - + diff --git a/docs/4.0/utilities/image-replacement/index.html b/docs/4.0/utilities/image-replacement/index.html index 0a36ff151..006edd7cc 100644 --- a/docs/4.0/utilities/image-replacement/index.html +++ b/docs/4.0/utilities/image-replacement/index.html @@ -1,14 +1,37 @@ - + + - - - Image replacement · Bootstrap - - +Image replacement · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,882 +149,440 @@
    -
    @@ -1028,7 +590,7 @@

    Image replacement

    Swap text for background images with the image replacement class.

    - +

    Utilize the .text-hide class or mixin to help replace an element’s text content with a background image.

    @@ -1039,6 +601,13 @@ @include text-hide; }
    +

    Use the .text-hide class to maintain the accessibility and SEO benefits of heading tags, but want to utilize a background-image instead of text.

    + +
    +

    Bootstrap

    +
    +
    <h1 class="text-hide" style="background-image: url('/assets/brand/bootstrap-solid.svg'); width: 50px; height: 50px;">Bootstrap</h1>
    +
    @@ -1057,14 +626,12 @@ - - - - + diff --git a/docs/4.0/utilities/index.html b/docs/4.0/utilities/index.html index 5e69449c1..6f868e682 100644 --- a/docs/4.0/utilities/index.html +++ b/docs/4.0/utilities/index.html @@ -1,10 +1,37 @@ - - - - Redirecting… - - -

    Redirecting…

    - Click here if you are not redirected. - + + + + + + Bootstrap - Content moved + + + + + +

    Redirecting…

    + Click here if you are not redirected + + diff --git a/docs/4.0/utilities/position/index.html b/docs/4.0/utilities/position/index.html index c5d2689fc..ee5458ac2 100644 --- a/docs/4.0/utilities/position/index.html +++ b/docs/4.0/utilities/position/index.html @@ -1,14 +1,37 @@ - + + - - - Position · Bootstrap - - +Position · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,882 +149,440 @@
    -
      +
    • Common values
    • Fixed top
    • Fixed bottom
    • Sticky top
    • @@ -1031,9 +593,19 @@

      Position

      Use these shorthand utilities for quickly configuring the position of an element.

      - + -

      Fixed top

      +

      Common values

      + +

      Quick positioning classes are available, though they are not responsive.

      + +
      <div class="position-static">...</div>
      +<div class="position-relative">...</div>
      +<div class="position-absolute">...</div>
      +<div class="position-fixed">...</div>
      +<div class="position-sticky">...</div>
      + +

      Fixed top

      Position an element at the top of the viewport, from edge to edge. Be sure you understand the ramifications of fixed position in your project; you may need to add aditional CSS.

      @@ -1071,14 +643,12 @@ - - - - + diff --git a/docs/4.0/utilities/screenreaders/index.html b/docs/4.0/utilities/screenreaders/index.html index c1fdc4bf0..1cd7762f0 100644 --- a/docs/4.0/utilities/screenreaders/index.html +++ b/docs/4.0/utilities/screenreaders/index.html @@ -1,43 +1,11 @@ - + + - - - Screenreaders · Bootstrap - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Screenreaders · Bootstrap @@ -46,13 +14,49 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - +
    - Download + Download @@ -145,876 +149,433 @@
    -
    @@ -1027,8 +588,8 @@

    Screenreaders

    -

    Use screenreader utilities to hide elements on all devices execept screen readers.

    - +

    Use screenreader utilities to hide elements on all devices except screen readers.

    +

    Hide an element to all devices except screen readers with .sr-only. Combine .sr-only with .sr-only-focusable to show the element again when it’s focused (e.g. by a keyboard-only user). Can also be used as mixins.

    @@ -1058,14 +619,12 @@ - - - - + diff --git a/docs/4.0/utilities/sizing/index.html b/docs/4.0/utilities/sizing/index.html index 9fe994be3..5f1446f5e 100644 --- a/docs/4.0/utilities/sizing/index.html +++ b/docs/4.0/utilities/sizing/index.html @@ -1,14 +1,37 @@ - + + - - - Sizing · Bootstrap - - +Sizing · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1028,11 +589,11 @@

    Sizing

    Easily make an element as wide or as tall (relative to its parent) with our width and height utilities.

    - +

    Width and height utilities are generated from the $sizes Sass map in _variables.scss. Includes support for 25%, 50%, 75%, and 100% by default. Modify those values as you need to generate different utilities here.

    -
    +
    Width 25%
    Width 50%
    Width 75%
    @@ -1043,7 +604,7 @@ <div class="w-75 p-3" style="background-color: #eee;">Width 75%</div> <div class="w-100 p-3" style="background-color: #eee;">Width 100%</div>
    -
    +
    Height 25%
    Height 50%
    @@ -1060,12 +621,12 @@

    You can also use max-width: 100%; and max-height: 100%; utilities as needed.

    -
    +
    Max-width 100%
    <img class="mw-100" src="..." alt="Max-width 100%">
    -
    +
    Max-height 100%
    @@ -1092,14 +653,12 @@ - - - - + diff --git a/docs/4.0/utilities/spacing/index.html b/docs/4.0/utilities/spacing/index.html index 8d1160897..447646c74 100644 --- a/docs/4.0/utilities/spacing/index.html +++ b/docs/4.0/utilities/spacing/index.html @@ -1,14 +1,37 @@ - + + - - - Spacing · Bootstrap - - +Spacing · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1035,7 +596,7 @@

    Spacing

    Bootstrap includes a wide range of shorthand responsive margin and padding utility classes to modify an element's appearance.

    - +

    How it works

    @@ -1045,7 +606,7 @@

    Spacing utilities that apply to all breakpoints, from xs to xl, have no breakpoint abbreviation in them. This is because those classes are applied from min-width: 0 and up, and thus are not bound by a media query. The remaining breakpoints, however, do include a breakpoint abbreviation.

    -

    The classes are named using the format {property}{sides}-{size} for xs and {property}{sides}-{breakpoint}-{size} for sm, md, lg, and xl.

    +

    The classes are named using the format {property}{sides}-{size} for xs and {property}{sides}-{breakpoint}-{size} for sm, md, lg, and xl.

    Where property is one of:

    @@ -1075,6 +636,7 @@
  • 3 - (by default) for classes that set the margin or padding to $spacer
  • 4 - (by default) for classes that set the margin or padding to $spacer * 1.5
  • 5 - (by default) for classes that set the margin or padding to $spacer * 3
  • +
  • auto - for classes that set the margin to auto
  • (You can add more sizes by adding entries to the $spacers Sass map variable.)

    @@ -1131,14 +693,12 @@ - - - - + diff --git a/docs/4.0/utilities/text/index.html b/docs/4.0/utilities/text/index.html index 65ca0b4c2..17d11be86 100644 --- a/docs/4.0/utilities/text/index.html +++ b/docs/4.0/utilities/text/index.html @@ -1,14 +1,37 @@ - + + - - - Typography · Bootstrap - - +Text · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16,7 +39,7 @@ - + @@ -24,7 +47,7 @@ - + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1030,22 +591,22 @@
    -

    Typography

    +

    Text

    Documentation and examples for common text utilities to control alignment, wrapping, weight, and more.

    - +

    Text alignment

    Easily realign text to components with text alignment classes.

    -
    +

    Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.

    <p class="text-justify">Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.</p>

    For left, right, and center alignment, responsive classes are available that use the same viewport width breakpoints as the grid system.

    -
    +

    Left aligned text on all viewport sizes.

    Center aligned text on all viewport sizes.

    Right aligned text on all viewport sizes.

    @@ -1068,7 +629,7 @@

    Prevent text from wrapping with a .text-nowrap class.

    -
    +
    Curabitur blandit tempus ardua ridiculus sed magna. @@ -1089,7 +650,7 @@

    For longer content, you can add a .text-truncate class to truncate the text with an ellipsis. Requires display: inline-block or display: block.

    -
    +
    @@ -1118,7 +679,7 @@

    Transform text in components with text capitalization classes.

    -
    +

    Lowercased text.

    Uppercased text.

    CapiTaliZed text.

    @@ -1133,13 +694,15 @@

    Quickly change the weight (boldness) of text or italicize text.

    -
    +

    Bold text.

    Normal weight text.

    +

    Light weight text.

    Italic text.

    <p class="font-weight-bold">Bold text.</p>
     <p class="font-weight-normal">Normal weight text.</p>
    +<p class="font-weight-light">Light weight text.</p>
     <p class="font-italic">Italic text.</p>
    @@ -1160,14 +723,12 @@ - - - - + diff --git a/docs/4.0/utilities/vertical-align/index.html b/docs/4.0/utilities/vertical-align/index.html index 0c26750e8..d67c0eb92 100644 --- a/docs/4.0/utilities/vertical-align/index.html +++ b/docs/4.0/utilities/vertical-align/index.html @@ -1,14 +1,37 @@ - + + - - - Vertical alignment · Bootstrap - - +Vertical alignment · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    -
    @@ -1023,15 +584,15 @@

    Vertical alignment

    Easily change the vertical alignment of inline, inline-block, inline-table, and table cell elements.

    - +

    Change the alignment of elements with the vertical-alignment utilities. Please note that vertical-align only affects inline, inline-block, inline-table, and table cell elements.

    -

    Choose from .align-baseline, .align-top, .align-middle, .align-bottom, .align-text-bottom, and .align-text-top as needed.

    +

    Choose from .align-baseline, .align-top, .align-middle, .align-bottom, .align-text-bottom, and .align-text-top as needed.

    With inline elements:

    -
    +
    baseline top middle @@ -1048,7 +609,7 @@

    With table cells:

    -
    +
    @@ -1093,14 +654,12 @@ - - - - + diff --git a/docs/4.0/utilities/visibility/index.html b/docs/4.0/utilities/visibility/index.html index 0c1f51398..e176ef3bb 100644 --- a/docs/4.0/utilities/visibility/index.html +++ b/docs/4.0/utilities/visibility/index.html @@ -1,14 +1,37 @@ - + + - - - Visibility · Bootstrap - - +Visibility · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,25 +57,6 @@ - - - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -73,7 +77,7 @@ @@ -145,876 +149,433 @@
    - -
    @@ -1023,7 +584,7 @@

    Visibility

    Control the visibility, without modifying the display, of elements with visibility utilities.

    - +

    Set the visibility of elements with our visibility utilities. These do not modify the display value at all and are helpful for hiding content from most users, but still keeping them for screen readers.

    @@ -1066,14 +627,12 @@ - - - - + diff --git a/docs/index.html b/docs/index.html index c3b2ba66e..8aa55542e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,10 +1,37 @@ - - - - Redirecting… - - -

    Redirecting…

    - Click here if you are not redirected. - + + + + + + Bootstrap - Content moved + + + + + +

    Redirecting…

    + Click here if you are not redirected + + diff --git a/examples/index.html b/examples/index.html new file mode 100644 index 000000000..d7db9b0d2 --- /dev/null +++ b/examples/index.html @@ -0,0 +1,37 @@ + + + + + + Bootstrap - Content moved + + + + + +

    Redirecting…

    + Click here if you are not redirected + + + diff --git a/index.html b/index.html index 79b52e0f9..70e67713d 100644 --- a/index.html +++ b/index.html @@ -1,14 +1,35 @@ - + + - +<title>Bootstrap · The most popular HTML, CSS, and JS library in the world. - Bootstrap · The most popular HTML, CSS, and JS library in the world. + - + + + + + + + + + + + + + + + + + + + + + @@ -18,38 +39,21 @@ - + - + - + - - - - - - - - - - - - - - - - - - +
    Skip to main content @@ -70,7 +74,7 @@ @@ -141,7 +145,7 @@
    - +

    Bootstrap

    @@ -152,15 +156,15 @@ Bootstrap is an open source toolkit for developing with HTML, CSS, and JS. Quickly prototype your ideas or build your entire app with our Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful plugins built on jQuery.

    - Currently v4.0.0-beta + Currently v4.0.0-beta.2

    - +
    @@ -168,44 +172,41 @@
    - - - + Import icon +

    Installation

    -

    Include Bootstrap's source Sass and JavaScript files via Bower, Composer, Meteor, or npm. Package managed installs don't include documentation, but do include our build system and readme.

    +

    Include Bootstrap's source Sass and JavaScript files via npm, Composer or Meteor. Package managed installs don't include documentation, but do include our build system and readme.

    -
    npm install bootstrap@4.0.0-beta
    +
    npm install bootstrap@4.0.0-beta.2
    -
    gem install bootstrap -v 4.0.0.alpha6
    +
    gem install bootstrap -v 4.0.0.beta2
    -
    bower install bootstrap#v4.0.0-beta

    Read installation docs
    - - - + Download icon +

    Bootstrap CDN

    When you only need to include Bootstrap's compiled CSS or JS, you can use the Bootstrap CDN.

    -
    CSS only
    -
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
    -
    JS, Popper, and jQuery
    -
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    -<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
    -<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
    +
    CSS only
    +
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    + +
    JS, Popper.js, and jQuery
    +
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    +<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
    +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>

    Explore the docs
    - - - + Lightning icon +

    Official Themes

    Take Bootstrap 4 to the next level with official premium themes—toolkits built on Bootstrap with new components and plugins, docs, and build tools. @@ -222,11 +223,11 @@

    Designed and built with all the love in the world by @mdo and @fat. Maintained by the core team with the help of our contributors.

    -

    Currently v4.0.0-beta. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.0.0-beta.2. Code licensed MIT, docs CC BY 3.0.

    @@ -236,29 +237,24 @@ - + - - - - + - - diff --git a/robots.txt b/robots.txt index fbf7b3cfb..ab4939579 100644 --- a/robots.txt +++ b/robots.txt @@ -3,4 +3,4 @@ # Allow crawling of all content User-agent: * Disallow: -Sitemap: http://getbootstrap.com/sitemap.xml +Sitemap: https://getbootstrap.com/sitemap.xml diff --git a/sitemap.xml b/sitemap.xml index 8837e25eb..077b59a95 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,282 +1,286 @@ -http://getbootstrap.com/docs/4.0/getting-started/accessibility/ +https://getbootstrap.com/docs/4.0/getting-started/accessibility/ -http://getbootstrap.com/docs/4.0/components/alerts/ +https://getbootstrap.com/docs/4.0/components/alerts/ -http://getbootstrap.com/docs/4.0/extend/approach/ +https://getbootstrap.com/docs/4.0/extend/approach/ -http://getbootstrap.com/docs/4.0/components/badge/ +https://getbootstrap.com/docs/4.0/components/badge/ -http://getbootstrap.com/docs/4.0/getting-started/best-practices/ +https://getbootstrap.com/docs/4.0/getting-started/best-practices/ -http://getbootstrap.com/docs/4.0/utilities/borders/ +https://getbootstrap.com/docs/4.0/utilities/borders/ -http://getbootstrap.com/docs/4.0/about/brand/ +https://getbootstrap.com/docs/4.0/about/brand/ -http://getbootstrap.com/docs/4.0/components/breadcrumb/ +https://getbootstrap.com/docs/4.0/components/breadcrumb/ -http://getbootstrap.com/docs/4.0/browser-bugs/ +https://getbootstrap.com/docs/4.0/browser-bugs/ -http://getbootstrap.com/docs/4.0/getting-started/browsers-devices/ +https://getbootstrap.com/docs/4.0/getting-started/browsers-devices/ -http://getbootstrap.com/docs/4.0/getting-started/build-tools/ +https://getbootstrap.com/docs/4.0/getting-started/build-tools/ -http://getbootstrap.com/docs/4.0/components/button-group/ +https://getbootstrap.com/docs/4.0/components/button-group/ -http://getbootstrap.com/docs/4.0/components/buttons/ +https://getbootstrap.com/docs/4.0/components/buttons/ -http://getbootstrap.com/docs/4.0/components/card/ +https://getbootstrap.com/docs/4.0/components/card/ -http://getbootstrap.com/docs/4.0/components/carousel/ +https://getbootstrap.com/docs/4.0/components/carousel/ -http://getbootstrap.com/docs/4.0/utilities/clearfix/ +https://getbootstrap.com/docs/4.0/utilities/clearfix/ -http://getbootstrap.com/docs/4.0/utilities/close-icon/ +https://getbootstrap.com/docs/4.0/utilities/close-icon/ -http://getbootstrap.com/docs/4.0/content/code/ +https://getbootstrap.com/docs/4.0/content/code/ -http://getbootstrap.com/docs/4.0/components/collapse/ +https://getbootstrap.com/docs/4.0/components/collapse/ -http://getbootstrap.com/docs/4.0/utilities/colors/ +https://getbootstrap.com/docs/4.0/utilities/colors/ -http://getbootstrap.com/docs/4.0/getting-started/contents/ +https://getbootstrap.com/docs/4.0/getting-started/contents/ -http://getbootstrap.com/docs/4.0/utilities/display/ +https://getbootstrap.com/docs/4.0/utilities/display/ -http://getbootstrap.com/docs/4.0/getting-started/download/ +https://getbootstrap.com/docs/4.0/getting-started/download/ -http://getbootstrap.com/docs/4.0/components/dropdowns/ +https://getbootstrap.com/docs/4.0/components/dropdowns/ -http://getbootstrap.com/docs/4.0/utilities/embed/ +https://getbootstrap.com/docs/4.0/utilities/embed/ -http://getbootstrap.com/docs/4.0/content/figures/ +https://getbootstrap.com/docs/4.0/content/figures/ -http://getbootstrap.com/docs/4.0/utilities/flex/ +https://getbootstrap.com/docs/4.0/utilities/flex/ -http://getbootstrap.com/docs/4.0/utilities/float/ +https://getbootstrap.com/docs/4.0/utilities/float/ -http://getbootstrap.com/docs/4.0/components/forms/ +https://getbootstrap.com/docs/4.0/components/forms/ -http://getbootstrap.com/docs/4.0/layout/grid/ +https://getbootstrap.com/docs/4.0/layout/grid/ -http://getbootstrap.com/docs/4.0/about/history/ +https://getbootstrap.com/docs/4.0/about/history/ -http://getbootstrap.com/docs/4.0/extend/icons/ +https://getbootstrap.com/docs/4.0/extend/icons/ -http://getbootstrap.com/docs/4.0/utilities/image-replacement/ +https://getbootstrap.com/docs/4.0/utilities/image-replacement/ -http://getbootstrap.com/docs/4.0/content/images/ +https://getbootstrap.com/docs/4.0/content/images/ -http://getbootstrap.com/ +https://getbootstrap.com/ -http://getbootstrap.com/docs/4.0/examples/ +https://getbootstrap.com/docs/4.0/examples/ -http://getbootstrap.com/docs/4.0/extend/ +https://getbootstrap.com/docs/4.0/extend/ -http://getbootstrap.com/docs/4.0/components/input-group/ +https://getbootstrap.com/docs/4.0/components/input-group/ -http://getbootstrap.com/docs/4.0/getting-started/introduction/ +https://getbootstrap.com/docs/4.0/getting-started/introduction/ -http://getbootstrap.com/docs/4.0/getting-started/javascript/ +https://getbootstrap.com/docs/4.0/getting-started/javascript/ -http://getbootstrap.com/docs/4.0/components/jumbotron/ +https://getbootstrap.com/docs/4.0/components/jumbotron/ -http://getbootstrap.com/docs/4.0/about/license/ +https://getbootstrap.com/docs/4.0/about/license/ -http://getbootstrap.com/docs/4.0/components/list-group/ +https://getbootstrap.com/docs/4.0/components/list-group/ -http://getbootstrap.com/docs/4.0/layout/media-object/ +https://getbootstrap.com/docs/4.0/layout/media-object/ -http://getbootstrap.com/docs/4.0/migration/ +https://getbootstrap.com/docs/4.0/migration/ -http://getbootstrap.com/docs/4.0/components/modal/ +https://getbootstrap.com/docs/4.0/components/modal/ -http://getbootstrap.com/docs/4.0/components/navbar/ +https://getbootstrap.com/docs/4.0/components/navbar/ -http://getbootstrap.com/docs/4.0/components/navs/ +https://getbootstrap.com/docs/4.0/components/navs/ -http://getbootstrap.com/docs/4.0/getting-started/options/ +https://getbootstrap.com/docs/4.0/layout/overview/ -http://getbootstrap.com/docs/4.0/layout/overview/ +https://getbootstrap.com/docs/4.0/components/pagination/ -http://getbootstrap.com/docs/4.0/components/pagination/ +https://getbootstrap.com/docs/4.0/components/popovers/ -http://getbootstrap.com/docs/4.0/components/popovers/ +https://getbootstrap.com/docs/4.0/utilities/position/ -http://getbootstrap.com/docs/4.0/utilities/position/ +https://getbootstrap.com/docs/4.0/components/progress/ -http://getbootstrap.com/docs/4.0/components/progress/ +https://getbootstrap.com/docs/4.0/content/reboot/ -http://getbootstrap.com/docs/4.0/content/reboot/ +https://getbootstrap.com/docs/4.0/utilities/screenreaders/ -http://getbootstrap.com/docs/4.0/utilities/screenreaders/ +https://getbootstrap.com/docs/4.0/components/scrollspy/ -http://getbootstrap.com/docs/4.0/components/scrollspy/ +https://getbootstrap.com/docs/4.0/utilities/sizing/ -http://getbootstrap.com/docs/4.0/utilities/sizing/ +https://getbootstrap.com/docs/4.0/utilities/spacing/ -http://getbootstrap.com/docs/4.0/utilities/spacing/ +https://getbootstrap.com/docs/4.0/content/tables/ -http://getbootstrap.com/docs/4.0/content/tables/ +https://getbootstrap.com/docs/4.0/about/team/ -http://getbootstrap.com/docs/4.0/about/team/ +https://getbootstrap.com/docs/4.0/utilities/text/ -http://getbootstrap.com/docs/4.0/utilities/text/ +https://getbootstrap.com/docs/4.0/getting-started/theming/ -http://getbootstrap.com/docs/4.0/components/tooltips/ +https://getbootstrap.com/docs/4.0/components/tooltips/ -http://getbootstrap.com/docs/4.0/about/translations/ +https://getbootstrap.com/docs/4.0/about/translations/ -http://getbootstrap.com/docs/4.0/content/typography/ +https://getbootstrap.com/docs/4.0/content/typography/ -http://getbootstrap.com/docs/4.0/layout/utilities-for-layout/ +https://getbootstrap.com/docs/4.0/layout/utilities-for-layout/ -http://getbootstrap.com/docs/4.0/utilities/vertical-align/ +https://getbootstrap.com/docs/4.0/utilities/vertical-align/ -http://getbootstrap.com/docs/4.0/utilities/visibility/ +https://getbootstrap.com/docs/4.0/utilities/visibility/ -http://getbootstrap.com/docs/4.0/getting-started/webpack/ +https://getbootstrap.com/docs/4.0/getting-started/webpack/ -http://getbootstrap.com/docs/4.0/examples/album/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/album/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/blog/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/blog/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/carousel/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/carousel/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/cover/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/cover/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/dashboard/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/dashboard/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/grid/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/grid/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/jumbotron/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/jumbotron/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/justified-nav/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/justified-nav/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/narrow-jumbotron/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/narrow-jumbotron/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/navbar-top-fixed/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/navbar-bottom/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/navbar-top/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/navbar-top-fixed/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/navbars/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/navbar-top/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/offcanvas/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/navbars/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/signin/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/offcanvas/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/starter-template/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/signin/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/sticky-footer-navbar/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/starter-template/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/sticky-footer/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/sticky-footer-navbar/index.html +2017-10-19T09:34:40-07:00 -http://getbootstrap.com/docs/4.0/examples/tooltip-viewport/index.html -2017-08-10T20:51:22-07:00 +https://getbootstrap.com/docs/4.0/examples/sticky-footer/index.html +2017-10-19T09:34:40-07:00 + + +https://getbootstrap.com/docs/4.0/examples/tooltip-viewport/index.html +2017-10-19T09:34:40-07:00 diff --git a/sw.js b/sw.js new file mode 100644 index 000000000..cb4686afb --- /dev/null +++ b/sw.js @@ -0,0 +1,701 @@ +self.importScripts('/assets/js/vendor/workbox-sw.prod.v2.1.0.js') + +const workboxSW = new self.WorkboxSW() +workboxSW.precache([ + { + "url": "assets/brand/bootstrap-social-logo.png", + "revision": "1e9e93d863b7811934889f9aac89c7de" + }, + { + "url": "assets/brand/bootstrap-social.png", + "revision": "56be615bbca4502de5d55d721dae917f" + }, + { + "url": "assets/css/docs.min.css", + "revision": "ee9f29a26bbdac7fe572583b125ab1e2" + }, + { + "url": "assets/img/bootstrap-stack.png", + "revision": "7384412324c769e447d3c4f86e9ff068" + }, + { + "url": "assets/img/bootstrap-themes.png", + "revision": "3976b58ff407451e8e8b598fdcde2cd2" + }, + { + "url": "assets/img/favicons/android-chrome-192x192.png", + "revision": "643718426d0a7d60036217ba988155be" + }, + { + "url": "assets/img/favicons/android-chrome-512x512.png", + "revision": "eb512e79165f504fd4da4d2758d5584b" + }, + { + "url": "assets/img/favicons/apple-touch-icon.png", + "revision": "042a7e9fdd293212aca19150aef71b0d" + }, + { + "url": "assets/img/favicons/favicon-16x16.png", + "revision": "50c62448d4014e5fb411887c05c2935b" + }, + { + "url": "assets/img/favicons/favicon-32x32.png", + "revision": "fed84e16b6ccfe88ee7ffaae5dfefd34" + }, + { + "url": "assets/img/favicons/manifest.json", + "revision": "eed73af41f4e55d335b5b3fa8c78538d" + }, + { + "url": "assets/img/favicons/mstile-144x144.png", + "revision": "84892991321e7998ca4c80ae21175f78" + }, + { + "url": "assets/img/favicons/mstile-150x150.png", + "revision": "61821c45a353e259bb83f9b0d338f5e8" + }, + { + "url": "assets/img/favicons/mstile-310x150.png", + "revision": "913e1b81006831c72a7bca38e4125edb" + }, + { + "url": "assets/img/favicons/mstile-310x310.png", + "revision": "29d79a7e648876504496211f003c4076" + }, + { + "url": "assets/img/favicons/mstile-70x70.png", + "revision": "386d71707992eb91fc53df303e99c2e7" + }, + { + "url": "assets/js/docs.min.js", + "revision": "57ed6fe5c4b8a29202d329ec06265a80" + }, + { + "url": "assets/js/ie-emulation-modes-warning.js", + "revision": "cc2d7790e3f75807d93de0cec949b346" + }, + { + "url": "assets/js/ie10-viewport-bug-workaround.js", + "revision": "56e8a7b0282409fd020be51b4995a79c" + }, + { + "url": "assets/js/src/application.js", + "revision": "4c2767f364febfaf08e0bd9fb6f1cd94" + }, + { + "url": "assets/js/src/pwa.js", + "revision": "3aababbcbf5c4064697af1867e554b24" + }, + { + "url": "assets/js/vendor/anchor.min.js", + "revision": "01e6254e9f69c0c00f05060b0e1990fc" + }, + { + "url": "assets/js/vendor/clipboard.min.js", + "revision": "3e5e0fa949e0e7c5ed5fed7b4cc0ee00" + }, + { + "url": "assets/js/vendor/holder.min.js", + "revision": "6266d87979b32f717d298f7adf36984a" + }, + { + "url": "assets/js/vendor/jquery-slim.min.js", + "revision": "5f48fc77cac90c4778fa24ec9c57f37d" + }, + { + "url": "assets/js/vendor/popper.min.js", + "revision": "6cd956453e307bfd2ce4bfb0648b9f7d" + }, + { + "url": "assets/js/vendor/workbox-sw.prod.v2.1.0.js", + "revision": "d41d8cd98f00b204e9800998ecf8427e" + }, + { + "url": "dist/css/bootstrap-grid.css", + "revision": "5b8e85055bb8b4bf4ac7f4edddcf7ab7" + }, + { + "url": "dist/css/bootstrap-grid.min.css", + "revision": "c9654d9c891fe3e57fde9cd355a916a4" + }, + { + "url": "dist/css/bootstrap-reboot.css", + "revision": "b69603cbb0408fbad0ea399a67ef095d" + }, + { + "url": "dist/css/bootstrap-reboot.min.css", + "revision": "38e73bab749ee7eba9bed51d6982a19e" + }, + { + "url": "dist/css/bootstrap.css", + "revision": "c9919db426ef5de42afc3b68a64b0106" + }, + { + "url": "dist/css/bootstrap.min.css", + "revision": "95df726a7936892cf645a57c1ccf3b75" + }, + { + "url": "dist/js/bootstrap.bundle.js", + "revision": "6a7d42b0348b51b92a4268f4252a5480" + }, + { + "url": "dist/js/bootstrap.bundle.min.js", + "revision": "85bef1b86b877db4b17ea8bae3eb7cd3" + }, + { + "url": "dist/js/bootstrap.js", + "revision": "ce645263c46a2e4d5b8784eeb1915afc" + }, + { + "url": "dist/js/bootstrap.min.js", + "revision": "46b549bdc90920f18a911f186b9dd75c" + }, + { + "url": "docs/4.0/about/brand/index.html", + "revision": "dbf1177da3a67cb015082af18e50f2b0" + }, + { + "url": "docs/4.0/about/history/index.html", + "revision": "e510f82d19d0a14cca2d44137765797b" + }, + { + "url": "docs/4.0/about/index.html", + "revision": "4e99d305f16cc6687ac1ecf18465aef5" + }, + { + "url": "docs/4.0/about/license/index.html", + "revision": "52a72ad917b81c1bc2a78a5d35579625" + }, + { + "url": "docs/4.0/about/team/index.html", + "revision": "240a19d44e99a0053e0ec3cdc72261d8" + }, + { + "url": "docs/4.0/about/translations/index.html", + "revision": "da6867ee238459f789862d23c3a59784" + }, + { + "url": "docs/4.0/browser-bugs/index.html", + "revision": "b620f3114f72254f2c7d884d40fe31c9" + }, + { + "url": "docs/4.0/components/alerts/index.html", + "revision": "4269dd2fecf6c61b7a01783621dd2d7e" + }, + { + "url": "docs/4.0/components/badge/index.html", + "revision": "47206593f762416179900aebe49858e5" + }, + { + "url": "docs/4.0/components/breadcrumb/index.html", + "revision": "0fe759b102ed0f2b8aa5b41fb290dae6" + }, + { + "url": "docs/4.0/components/button-group/index.html", + "revision": "53a73a0ecb499bd53c1adacd32307e36" + }, + { + "url": "docs/4.0/components/buttons/index.html", + "revision": "880f1af34e4d5d02d252ab2e54540f4b" + }, + { + "url": "docs/4.0/components/card/index.html", + "revision": "3c5af6e1f53460d99c139648d8498cb2" + }, + { + "url": "docs/4.0/components/carousel/index.html", + "revision": "75446f1f401de45b902c662143616e14" + }, + { + "url": "docs/4.0/components/collapse/index.html", + "revision": "d59df8e3afbbef74dd124f75fedf3f6e" + }, + { + "url": "docs/4.0/components/dropdowns/index.html", + "revision": "2a7024e60e838b55f9a90a8cef1a292d" + }, + { + "url": "docs/4.0/components/forms/index.html", + "revision": "010c7fb715eb5802ecf3aa3be36a78a2" + }, + { + "url": "docs/4.0/components/index.html", + "revision": "dbeb777abe121870d19dc36ac981740f" + }, + { + "url": "docs/4.0/components/input-group/index.html", + "revision": "d3863442076b89bf46241e02fd40003c" + }, + { + "url": "docs/4.0/components/jumbotron/index.html", + "revision": "62d7b36a99b4dce26e344c3f91f29dac" + }, + { + "url": "docs/4.0/components/list-group/index.html", + "revision": "3cac08d3c985c00e858181a5a788c142" + }, + { + "url": "docs/4.0/components/modal/index.html", + "revision": "fbdcad7770894780e1dcc2b5323da59e" + }, + { + "url": "docs/4.0/components/navbar/index.html", + "revision": "0e7989f6c8a7c7ca187955c3b14d5da2" + }, + { + "url": "docs/4.0/components/navs/index.html", + "revision": "f3c809cc3d3f8657f1b2709caccbd711" + }, + { + "url": "docs/4.0/components/pagination/index.html", + "revision": "d91729ce120dcd566f9f1e5f29a4d85e" + }, + { + "url": "docs/4.0/components/popovers/index.html", + "revision": "0b6e25ec899b10b2cad3d6a63b0d94f8" + }, + { + "url": "docs/4.0/components/progress/index.html", + "revision": "1bbf76f5aad9ed8b3b90caaca1c9ed09" + }, + { + "url": "docs/4.0/components/scrollspy/index.html", + "revision": "9879a985bf6f121ef4255c46dd5e6155" + }, + { + "url": "docs/4.0/components/tooltips/index.html", + "revision": "d27bb93cf4331ce8cc753c1d2e2e1046" + }, + { + "url": "docs/4.0/content/code/index.html", + "revision": "0457e286722a56d539083e633e61c935" + }, + { + "url": "docs/4.0/content/figures/index.html", + "revision": "80bf110bfee4fa9ecee49561af47b5b7" + }, + { + "url": "docs/4.0/content/images/index.html", + "revision": "ce99d020e00f462365ffdc52df6d689c" + }, + { + "url": "docs/4.0/content/index.html", + "revision": "6d91137ef07edc826b1e52f4c972ee48" + }, + { + "url": "docs/4.0/content/reboot/index.html", + "revision": "0125eb27a102c32a98d048d32cc6450a" + }, + { + "url": "docs/4.0/content/tables/index.html", + "revision": "1b87a16d2fb266180013931a114e417a" + }, + { + "url": "docs/4.0/content/typography/index.html", + "revision": "f3ec8f29eba59b9c26686652cd1b643d" + }, + { + "url": "docs/4.0/examples/album/album.css", + "revision": "c55364aec72e931ec6e447fef8d7d1fb" + }, + { + "url": "docs/4.0/examples/album/index.html", + "revision": "42640b149f345fb67ee8343397ce702b" + }, + { + "url": "docs/4.0/examples/blog/blog.css", + "revision": "bde1fb64506c01e3adce7f9c03432c0f" + }, + { + "url": "docs/4.0/examples/blog/index.html", + "revision": "bfc3e69537806a5a322e350251d90bfc" + }, + { + "url": "docs/4.0/examples/carousel/carousel.css", + "revision": "e1ef0ffa84cc98db13f90dd02b9981e7" + }, + { + "url": "docs/4.0/examples/carousel/index.html", + "revision": "66de405eaaa6e126107d3516381cffe5" + }, + { + "url": "docs/4.0/examples/cover/cover.css", + "revision": "f79fbe1cfda97336136e5c7d20ca9540" + }, + { + "url": "docs/4.0/examples/cover/index.html", + "revision": "9b44190e4c241f0adbb9962975d1e68c" + }, + { + "url": "docs/4.0/examples/dashboard/dashboard.css", + "revision": "cea2ce48e209721ca537d8ffcad510b9" + }, + { + "url": "docs/4.0/examples/dashboard/index.html", + "revision": "3fc458d31141e8ff09706f934ccaaf94" + }, + { + "url": "docs/4.0/examples/grid/grid.css", + "revision": "820f9163034b0e483d475dd916ca7c6b" + }, + { + "url": "docs/4.0/examples/grid/index.html", + "revision": "1a634e4a3281204f8d46c5fdaea35a96" + }, + { + "url": "docs/4.0/examples/index.html", + "revision": "a29f4e568fef18358b492c7ac2f2b584" + }, + { + "url": "docs/4.0/examples/jumbotron/index.html", + "revision": "c69d8690faaf237d453f6f1856e03673" + }, + { + "url": "docs/4.0/examples/jumbotron/jumbotron.css", + "revision": "0ef7edc6babea5a47645bda0c45368aa" + }, + { + "url": "docs/4.0/examples/justified-nav/index.html", + "revision": "68574c5b8716f3193a731727df8b2fdf" + }, + { + "url": "docs/4.0/examples/justified-nav/justified-nav.css", + "revision": "34bf61c9b8f0e0b194fd1bcdd1172c0a" + }, + { + "url": "docs/4.0/examples/narrow-jumbotron/index.html", + "revision": "526182d9c63d8d3befa2380347f4cb6e" + }, + { + "url": "docs/4.0/examples/narrow-jumbotron/narrow-jumbotron.css", + "revision": "4e5fb23757fb40f595167cd4e14447de" + }, + { + "url": "docs/4.0/examples/navbar-bottom/index.html", + "revision": "fca26464da9efe910411703bdbcb1cc3" + }, + { + "url": "docs/4.0/examples/navbar-top-fixed/index.html", + "revision": "3efe021ee809009cac793d7a5b5471e9" + }, + { + "url": "docs/4.0/examples/navbar-top-fixed/navbar-top-fixed.css", + "revision": "3d46ddff119cfe2886a34b72aefd42a6" + }, + { + "url": "docs/4.0/examples/navbar-top/index.html", + "revision": "8daf6fffeb58f6674051e803ab817d04" + }, + { + "url": "docs/4.0/examples/navbar-top/navbar-top.css", + "revision": "ae704085e05c4bc6a705b225b03a5aea" + }, + { + "url": "docs/4.0/examples/navbars/index.html", + "revision": "6433381a2af90e4df0116db614e6c2d9" + }, + { + "url": "docs/4.0/examples/navbars/navbar.css", + "revision": "f95ea8bb033949bba31b05925773e223" + }, + { + "url": "docs/4.0/examples/offcanvas/index.html", + "revision": "8cbd337d91f9acb4d34dc76e84d1d686" + }, + { + "url": "docs/4.0/examples/offcanvas/offcanvas.css", + "revision": "e58e81c43f4575cd7f3d2709fb96115c" + }, + { + "url": "docs/4.0/examples/offcanvas/offcanvas.js", + "revision": "fe67880b053d4a4a9f318db8e0e71fb2" + }, + { + "url": "docs/4.0/examples/screenshots/album.jpg", + "revision": "7fbc33c5cff248c05fd8534e70d27566" + }, + { + "url": "docs/4.0/examples/screenshots/blog.jpg", + "revision": "bb5a82f95cfaa6944e4cec7ce51ffe75" + }, + { + "url": "docs/4.0/examples/screenshots/carousel.jpg", + "revision": "9bd9546bb73cc86a9eca10614f2e203d" + }, + { + "url": "docs/4.0/examples/screenshots/cover.jpg", + "revision": "138e24ab670607cea4820ce9138117a4" + }, + { + "url": "docs/4.0/examples/screenshots/dashboard.jpg", + "revision": "9e274c24ad8bc2af251c05242127f888" + }, + { + "url": "docs/4.0/examples/screenshots/grid.jpg", + "revision": "87b1ec9c732764089b663e70b322aacc" + }, + { + "url": "docs/4.0/examples/screenshots/jumbotron-narrow.jpg", + "revision": "3fd8cd34600ef35c28ea340fcddf93ab" + }, + { + "url": "docs/4.0/examples/screenshots/jumbotron.jpg", + "revision": "1e386a2707772ee4a817c7c7e8148384" + }, + { + "url": "docs/4.0/examples/screenshots/justified-nav.jpg", + "revision": "fa7607e4ce4999cb5c6f2400ced39e0e" + }, + { + "url": "docs/4.0/examples/screenshots/navbar-bottom.jpg", + "revision": "6451ab23846fa601afec5482b0cbe5bf" + }, + { + "url": "docs/4.0/examples/screenshots/navbar-fixed.jpg", + "revision": "3155b5dc785a0c2e0cf1001f8885413d" + }, + { + "url": "docs/4.0/examples/screenshots/navbar-static.jpg", + "revision": "257e56185d1e3224a991a8415d986a78" + }, + { + "url": "docs/4.0/examples/screenshots/navbar.jpg", + "revision": "930d758828b6408699120682a75d0c95" + }, + { + "url": "docs/4.0/examples/screenshots/offcanvas.jpg", + "revision": "1cff2df66254958a8dc822acc19e83a1" + }, + { + "url": "docs/4.0/examples/screenshots/sign-in.jpg", + "revision": "90bd7015c8c9bb29ea18639b4ecd9ddb" + }, + { + "url": "docs/4.0/examples/screenshots/starter-template.jpg", + "revision": "6366e1902f5592c27802c79105050397" + }, + { + "url": "docs/4.0/examples/screenshots/sticky-footer-navbar.jpg", + "revision": "67ea49514cc3064a9a598d3ef112f77a" + }, + { + "url": "docs/4.0/examples/screenshots/sticky-footer.jpg", + "revision": "c0565369de99b8e3e2be6dc1ec540c26" + }, + { + "url": "docs/4.0/examples/signin/index.html", + "revision": "b4194ddd0649c17ca4cd965b044b84ca" + }, + { + "url": "docs/4.0/examples/signin/signin.css", + "revision": "04ce7b8379c81529b418edbdb4e677aa" + }, + { + "url": "docs/4.0/examples/starter-template/index.html", + "revision": "e72627e56626b2f2f347d753085d13a6" + }, + { + "url": "docs/4.0/examples/starter-template/starter-template.css", + "revision": "8cb4aab3660723b641b6458f1a1d3ab1" + }, + { + "url": "docs/4.0/examples/sticky-footer-navbar/index.html", + "revision": "546d4f30262b9221fe4544ed3ae58c13" + }, + { + "url": "docs/4.0/examples/sticky-footer-navbar/sticky-footer-navbar.css", + "revision": "c5c610f36d8c2a89e7d587880ee0cd68" + }, + { + "url": "docs/4.0/examples/sticky-footer/index.html", + "revision": "0cd4be44abfd7e0a43438dc5f072d1e4" + }, + { + "url": "docs/4.0/examples/sticky-footer/sticky-footer.css", + "revision": "09630d01995ef9c0f8fc9ae622f00466" + }, + { + "url": "docs/4.0/examples/tooltip-viewport/index.html", + "revision": "d5def04a56fac707e1e1b6589231ee1e" + }, + { + "url": "docs/4.0/examples/tooltip-viewport/tooltip-viewport.css", + "revision": "59ee4352f399bfe798346b4be4a5f88f" + }, + { + "url": "docs/4.0/examples/tooltip-viewport/tooltip-viewport.js", + "revision": "8b7dceb6d175f264b789114201387bfa" + }, + { + "url": "docs/4.0/extend/approach/index.html", + "revision": "f2c53f50e10b7e79faae1b645bf35519" + }, + { + "url": "docs/4.0/extend/icons/index.html", + "revision": "febd8fb6b36ab32d11ab14485bb3714b" + }, + { + "url": "docs/4.0/extend/index.html", + "revision": "2417bb934512630918b8c4501fb846af" + }, + { + "url": "docs/4.0/getting-started/accessibility/index.html", + "revision": "e5a7ad81dfe2248d1914954192231b84" + }, + { + "url": "docs/4.0/getting-started/best-practices/index.html", + "revision": "1042872ac92a7042cc584725960ca389" + }, + { + "url": "docs/4.0/getting-started/browsers-devices/index.html", + "revision": "f97f72916655c11f3ef9a8a9469e1379" + }, + { + "url": "docs/4.0/getting-started/build-tools/index.html", + "revision": "83fb7676f293882e392eeb50141627d4" + }, + { + "url": "docs/4.0/getting-started/contents/index.html", + "revision": "c2c38dae0fddbecc818b49746fc9fa94" + }, + { + "url": "docs/4.0/getting-started/download/index.html", + "revision": "d92992c0f55942c69315d287b0cd7998" + }, + { + "url": "docs/4.0/getting-started/index.html", + "revision": "924d65a5d3c1c068ae5804e7492c7078" + }, + { + "url": "docs/4.0/getting-started/introduction/index.html", + "revision": "71195bcee6de188eee70f0086106f9ac" + }, + { + "url": "docs/4.0/getting-started/javascript/index.html", + "revision": "270f74d7095064f2ed589f5fa3ee9d01" + }, + { + "url": "docs/4.0/getting-started/options/index.html", + "revision": "a4e7fa0cb9cd4036a433f5283df6c9c5" + }, + { + "url": "docs/4.0/getting-started/theming/index.html", + "revision": "b0f7c61f98c323e63607d927a4851d94" + }, + { + "url": "docs/4.0/getting-started/webpack/index.html", + "revision": "1ae31e1aab1720cc3c31334ffe752032" + }, + { + "url": "docs/4.0/index.html", + "revision": "924d65a5d3c1c068ae5804e7492c7078" + }, + { + "url": "docs/4.0/layout/grid/index.html", + "revision": "ecb9217e7cbb485699f88bd17795d985" + }, + { + "url": "docs/4.0/layout/index.html", + "revision": "c933498ad52678288c1842f238575bb0" + }, + { + "url": "docs/4.0/layout/media-object/index.html", + "revision": "82394565210892be713b756cd8a61e54" + }, + { + "url": "docs/4.0/layout/overview/index.html", + "revision": "2be9cad7014730e05a7606ea955586e1" + }, + { + "url": "docs/4.0/layout/utilities-for-layout/index.html", + "revision": "240d45d5ee8df0c235ee859c63208743" + }, + { + "url": "docs/4.0/migration/index.html", + "revision": "a8c0ef3789424cd7c259536c1572ac0f" + }, + { + "url": "docs/4.0/utilities/borders/index.html", + "revision": "a2efb906d3871596adde89f7de6ec99e" + }, + { + "url": "docs/4.0/utilities/clearfix/index.html", + "revision": "d636443123c138ae0fa784b006393fa9" + }, + { + "url": "docs/4.0/utilities/close-icon/index.html", + "revision": "40eee45c0100f17793b7e41667bb64dd" + }, + { + "url": "docs/4.0/utilities/colors/index.html", + "revision": "cc4cb6e085ec373a22e548d256b16d1c" + }, + { + "url": "docs/4.0/utilities/display/index.html", + "revision": "697b40a1b420ca305d70c8c65919a702" + }, + { + "url": "docs/4.0/utilities/embed/index.html", + "revision": "f86d953dc860ec95ea21728a062d898b" + }, + { + "url": "docs/4.0/utilities/flex/index.html", + "revision": "0f70483e2fd00d57af1f9378c04a94b2" + }, + { + "url": "docs/4.0/utilities/float/index.html", + "revision": "62dc3be394ea46b66fdb6586c4799202" + }, + { + "url": "docs/4.0/utilities/image-replacement/index.html", + "revision": "333f335f622cdab276c01d793dd6b7e0" + }, + { + "url": "docs/4.0/utilities/index.html", + "revision": "3e1314b2a511541f271a5a7ab634f1e1" + }, + { + "url": "docs/4.0/utilities/position/index.html", + "revision": "17a0b4d7588a171a384bbaf61ce9a2dd" + }, + { + "url": "docs/4.0/utilities/screenreaders/index.html", + "revision": "199cf34991d03a8f76ba5596a6bd5790" + }, + { + "url": "docs/4.0/utilities/sizing/index.html", + "revision": "3143b04fe16343019359c76c571e3b29" + }, + { + "url": "docs/4.0/utilities/spacing/index.html", + "revision": "faeb8c8ad54ca698a9ad519c8e198eab" + }, + { + "url": "docs/4.0/utilities/text/index.html", + "revision": "820a67925c3ab50a3904e2f1b62aa819" + }, + { + "url": "docs/4.0/utilities/vertical-align/index.html", + "revision": "0c6a2b96977cd236396b868665caa85d" + }, + { + "url": "docs/4.0/utilities/visibility/index.html", + "revision": "5d7c7d8ae9fa3aebefa16760be464f26" + }, + { + "url": "docs/index.html", + "revision": "924d65a5d3c1c068ae5804e7492c7078" + }, + { + "url": "examples/index.html", + "revision": "c45c528dd0b8498d8ca52374f5a264ec" + }, + { + "url": "index.html", + "revision": "8a964e961399b11b6ea9c792b054ba13" + }, + { + "url": "sw.js", + "revision": "42f72988cbd613ae00b4a2c3390712ae" + } +])

    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ⅈ zoTRlb2BgEEK2-&l=;z^as1GF5v*yuN_RpeDNzq4AoThd1FhhO&B@p zF}<3;46BFN>{^3+IiSf*Xw{tn#2CIEc){aW69M`1(()Zmug%@)S0<$EOp^w2)0)?= zERQz}=XyfBQ(8KaHYaDBCekV5D4$azeMHAnh!S-HYv;Y5fCYQ|y@Tj!3s|*(qyGf| zrY*IY{mKf*d8YNzfBbUvy0^*3bEa< z^>*4P2#u8T*SuowQ?*}L%GbsdgP6B*dl&x%Cj*@ydC0CM>}PAPU*hvT*knyRo~h<`l4W${x8R_jw_JO?W!A?#}4Q5VPRwT1D9-vL}NT} zZ!4>9O>9fnt(0)>`gJ>9eo3u+XKFS*`FpLj^K+>vQvLi9yt!+}6t>OuL;is}EHy9+ zk<^odSOQ0})vS0cqw>Cq(p>EVhRMQ3sKHVKBPX=e?-?#0GX2P!=mL$Dz;E@kMRp^eqcmiY>4Y(6LR3^bFEE7Js_(!scf0 zP+fWU=iRfTV$ZphO8w{Q71!B}^q1cF2)!d*2+LIP?&Vh{FYlHVx(L+eHTo40lk>2A zEnB%-*w15#d2toB(EIM>9f#?yF0QYRSYQ*v>7At8&)}Fvb`8P+-*m z%kwJp>lI^ZlSHY*67=;@y(z#LOsGg}V2hn^ATPP1i9!U6xcc?Cc*&%2Xafpxd39b}$4^cJ_i zgOKpOJH)&{Lv6@{JZgF$M6<^VZK&DxJdlb;e{a{h;F0o3WjTRK-81$MkLQ204(McD zPOX_c0)bjA(lt{X<~V9&ho60dMpIPyI zzaRyrd^*LrD+ASqaf;>E4b~Q4IHm-jwb!%TE(Y}rzr5hQ`}^wEaXDI1j=KYPec-&C zrRH!JK(EChM@qVHT)Fhos@RP?VMkQUe|0hurm0g=&ClkV>Bj=|V{KHuN(e%$vT0FRw>w)4KO>-BoRu78+ey}P@u z;9X5#tiY|~uJiI6p8I$a@#JQP7qdfU*Dn_hGm0BA#i-mD>)KIX(Tr_q^k=q(Go|j5 zm6<(ZxXne}@Ar-wk%c~;j)Iol_72dn zyR!BEF4cSkN%G$_aMP?e^>H_5l?uk~W_qmnv;ADc4}m%8YAAOkpx^l*{Y4k3?p)Uw`Nz329HI!@=`tm9v8 z%FXH;*&{{m>{!htaeXiOZ6Q7D0!7+tu0!;?ew)#jtqca4o=m3(+{^Fkn-s|w|EAI_ z;X_qnYgBb-S-;S6ndJz27{wX`IbvQ&@t=}PL-sLVsJf;~RSmdzt+)D_Z3yn0{@|n4wT$#zPa!6Py0iUyV+6`0NMIX1Qc<)h#7W z98aqD^`K9`zrYkN9(H5+KWWQ{zFF6RwMcQb$zzQT*1;^*#b-yW&Z}WJvcSUi-o7)y zh*p6V0WIK}MkGzoTvGc0WtFyQ=rjYx#Cm_&_F*7&uGuJE@a~et+G+uT|EKDmp4Z3X zvWP=q^!P5ID$oqq1QA<%vNp3VxnB(rLFUhT_eW~`1C_P{V#N@~D;JBLccvt9E4sW4 z@*#Ohr2@E@Lt6s$RPZR!+$25N!xu8G(YwEmRgpYsz5HphYpaT>qA`&}uuIFL1eVnkW4c9qX+ z(S@_l%HD@CgG10UVdX~6d31VXER}QFj#6)IK<|sNl~_pqy%z9$vxS7(?!Qa?G81#B zd-$$LM?t6?g>vl_6uHP=PEm3LD#jNt?gvxo^NUSVuk&K9db_|@*L#L<)-zq__%;cQ zU$2v{k>&Zv`aho8E&Agu0*8mCLmN+*lUg4wC^(qF*!`OxTYf#>*^3<2A9O(u^y@8% z{QRCU>3U}>3R>y5n~w^ZLC!yydA}h@{70Tq{kD4~3~KCle5KGCw9?86PufU_>W5cv zQ#-4bGR+E;`z+`DGa#PhF(%hKRybjcR#}%FZ5c1qp?5@a?ukNVm83IccwEBhiN!&Y zy8Kp87Dz9eTgnR!2wQ(Rsj!D5On>JBQ1FeFHi&}vLpSjw1LD7BK#laga!3PEtE@!r zuL`?(5OYI%o;ZUc_T??0%~Kit)@`II4P8IW8+&stm8ATJBc69-a@#xRHNpNJOs-&* z^JinioJa8aNxyki^k|;~>dK~dSE)?uYuK$XEVTzg4WC6(Pjroift+-?9}hzm^C{=8vy+@^n6gVb(z z^7H?5J+pZ7(rV`GJYpp&-NXFuUzql_rOOtKcWo2dY9dw2Z2Qy1AVXz@;c*dI_Crk! zr|>j2i|>uefr*G_%qW<$d&C~&46CLA+N}4=(}*E`V=SoM>gWCpF6YDe?7V zriu*QRrN0Lp~tsIm0o@_6~MwUHkZrIX?Jq2Ra<=I@orNW*T$wO3Y02Gh$ z*mXD+41yBS#~S)Ks1o6o;7YS0!Q_~F>bFFXR#Mb*;m>(Kq-)EX`UW4o zD|7I`KYP)|rcD~F2g7R{B>^5o{wJQ?8r&(*A!y;75h!K@`|X_~jucp0A%%DDi{7Cd zZ`#Za??x!I7o(%8Ql40AVHlRr5X3KnA0%|1q3SUV+hcK}$L997bxcnDC2%?=4?j{8#28OmgvPvP7Xo+97*X!T-o z?#8EnxLsj(JrvhV5dCA~4V>v^hdfpZJ$eG%$(2S(W1Y3?+})APDpgoxR3pZIW`Jbg zCj?l2Rt1m00MEtK8F7lP_1cYq+SmO_7&fxcnCm$dh#5t_c(9jzcCvb#7%eH`qxGc& z^Q1xNVHIhtn)1)hblgo&6y$S(T!r#pO#d={>%u(%8*5P5DU{@ z*Fq?5e|`1vDNH#@LG{H(2^KqbYz@P~J{8FP>CVGU##dQxs}VepZc!FbSaY<)5RfB7)cd1x#D%ItcIuTO z-uVVYzk$Z(kL&(NoHSy*+5zHZF^L#2Hu&o4^-zGSC}HuW22Pe;Ab0}#j&Ux0{aPQ3 zzZ_$0JR#Yo(Fr5nxe#HFlj+KXQ8P{NI z-ADG*%Zt(|>)%G0n?xffLRz5|!3siBJcaQeKkm=^8P2bu++TT5+Ex2X8G>JL;keKk z_U(WH>jK-P}X#sstf>;L%6j)F&D598_mizr*j z?9Z2ic2y;f!;D1zd|~Z}MY1z;o4b+O{yP3Y5iDHED^IrTG?eQH+wTKDl4{zQM=s4T1Lc zT*HoXwNDn}XhHdak*ilvU~*3{zZw`qCH)|r5vZoy#h6hiZWW_N&{u~Gy|N&OB(X~o)^IbYiYuybOt316?cUWBR z)TG@ePqvNa!(0!BF0**a%5C|(gnfjvMT($r!Ds>V1+`vZmG2-1@`L-Ki3nKMPuzrO9nH; z$J$FaED|(xfCsKo)Z#{VMt$Cs6OHS=wtV8R(@zCwdADjuQgYBkjsGwit>HFTe%9&% zZ&~@@&<1CiSgE4p`g{QLAGkbVju9JfrQF=I8+>U;cT2aLJ5B1x9U5#Aq~9DEV3n37 zwEWBUn-LSo9T(#*@I@DOQ#AYs`+I)&7DEDXl0uNbYDJ!=N^$RJhH1Q0XlThq#}3QC zSF(|j++F{U7O)CAozgW|n5zfG6&=XpdTZxJ9n}Nm#8n|5A`|y`B`de3GjqY`HSdnk zXGKf=C&(NVXLxibe_CYS@>h_%4KpFC6L87QL-4HT1% zw(`#wjBe>;^-!uFcI=`im%k0$f8Zh@1YUM78v5Xi(an%GRAEsPU}X$-XDP1w>F4sM zIAoTcLX$vPkDWz4YDpfv?clfP2UxcxeCkipP@y>>eC6Ox(p5q1DC$6hTU;Yl42xU8 z6siJp4#wlN!}4S`LRU3VEZFEFMfFhj9ug%`5z}C=xEN7K<=Hr`u*TM{JzQ%Buo6`r zxzGAmt?T0TPU{y9Ymv8UU~^h5zpyoF%5hNgpHmYJ3ZVyYrL$5` zW?A76VN!ZlzrXy!<-Dz_q8i^9ruR6&TOZ&%+5oD@HfdG74Vo*$HbN%PNITI4j?9PE z2$-z_ac)%lr#x68O)z%X z)2tRfgP2u`Il6sowe7pXb!g}t7QL5{7{`QH`7p;M!}oO#1vlxxe%~`S6xWJ5l5B`F>>bNz}wrLHp;05_J(Cyqz(rqe}mv{P|r&GXmO;$`Q_A)^|S1E5B+ljH?C=o zk@FUZzL2tjyYLTI$Q`mN4*HDLFsXdgaH5k?)wh`Nff7sk1cAhEER$cyW46h3 z{v%2V^-!1&syyZq+>o$#X}60v%&Kq4c#iHDo%Z5>u72MCHL34%;Q>oRIS4(5t4;My ze{(D{er2fakyQwesGJ=3uGIS~ku)6w=TeoJT3;Y3XcT;wS zHth1zlBPE6zm)RoQP4NBU?}6|3MBLa?i~GJOTJIRhGqIY{~sF3s*6>T55Txgr~*xKC`rJYtig&ey#Nw3Y@iJ>0VKc1*2p3 zdiT6X_s!j+kQd>OSI;gj9_kbURf?8Q$h#L+-Y$; z`ALZOBM(0R&I19g5Ud97_4cy^QB}%Q7;ygpzF|Bm3$6y!Di7jPGw|S+<@wEZQ~PV& z%I71KO?fstLF{kKgGef%e}S4To~^G`P%2&z-7TW$I0&@u{8pQLjXdyzv33cuE1aO* zU9qz$CL8}G9V*QZaE5wK9Uigv)2nHc{z1?s&Iuv`A`~vq<2ZTAja^?{G%Ps>?Osez zd|~dg?tArz-2%wh$>ZR-ToHP@x^NEPPaQ|6;c}=gFZ2-Kcsip{)&%r+8Hc@^eH~dD zgNYI_5wbv=zC2}|OEP(@AdM{wh)}q)x|rm{pGt2>@fvsXsIQQWVG9ki;K30Tc@$Qb zsWs|Pq}={5Su&@0*KotH^GA=C(n~3E7f2VQ=l$f5Ly`#fDY^btqBQ*g^l<%W(@A%a6gO)fh_`;tfg*0lFfflm{1L%)?Y_6Si0s# zfyBz5gCeBk(nLn-13uiB(aiMEl-F9HLrg@+fG@;;k!~ck^RLHABbe>&;?P5t*l2|& zW@1l$C%6$%KUj_yRH^?3RdfkkZgoU8Tl@|Vt0p(UV3zyX1>Q4?b9*F;CBQk~m;)gP zdZ?a7$-uIjYd{=cJtJH#0BWH)bL!J>CxxgyOXf85^ByU8K$5q0dIRfxe@$C z;XXY-qqTc46?`A)Kaz|p~Ue9rNEO%9NFc%Kb{v=BYa!ibYYCl>b6q*TR z_b+yZ^%0bh3qk8lO&GQq`j4Q#p5N(!a8t7!;aAFBYfha*5L=y1I;BA^b@<@+z0Xs+ zFn_l5@+N>IT<=2;n!mUNkcK-czCy)5w$wgo#(mBmz6L}~0{_<|`dChVd-)8EUETSW zf)ge(#qwfvKnT`M7VNAh<5dqJZKb-uM^x^{?^nQNMK+@kR-MUkH3=Dx$6P9-{$b_< zLZ>;yv6r?;RX}4SppiVG6S$kM`;q>%yIKK&TaWl07&9^-F3i+;3h7;_(o@8Tk*8mF z1d%%O#S-wR&+mD2F&TB=G=G(AD04&2;gX87=qI|=#+JV-7%reF3%d95>&+o-mRA=l*$KGq=;!VOC0GCtidoq+sxcKj0`;mVleS&({ zp9%`R^wcTDC%eht*jatBY#sian9zlp)@x^ZOTU?0s{p&$q%0+05&OEc6+p;svzSeC zY@MFcES(Ha=6qJu!M^M@3%K9csRAAYczzRP?;4R{%t>tUz+;S)rd7`1w;JzaZ9Mj7 zb`akt8#KuWj-6rg!$>;zFR${AzMAYPJ!N+*W%99=+<9$gSm5$jd%iEx%RA;c!B%~8 z48zU65|x@k)WWR($C!L8758jg7|PI5I8_K3@sV~;dAFerHpOF*C8kMt3`JSLwmwi- z-LR1qrWm-oz$MW(ykovg_D8#@1?!Hjtf|zk9ct*fk(F(ff)q)xs_-R&(d=KMmhNh;PlzuuNr&L^U-?53WcmL2H*DYttB- z4Ki4g-N{9w;H(Lam|LE^4x7a9Qr|i-S{tU0j)$<~|3H(z;{ngzLVQ^p2<4}sQ}-6Lp{Zcfw!^POLO(})UU!s*wC*YMzg=-O>7n{1g6 zHHaip9;{W(e9~Smo1F&4n%r*ufNuG~56*gE|F_$7mTEkF{x}m#jvCxEb+d}TLWSK; z|B=XB4e$QtnCB)uhZ&QLH(4bryYwE?Z9taNAxe|^5>_F>kr+N5p`z#BFH z6S!9ue8)07ejg>Qp!a8puY>-n1*IO%CfV2%gID^%b;u5z(UH%V{CZap)tx8mZcKN8 zWkNrbcmRho8gWmzP%%8%h46kP$YKyn#>A<)faHMw5N}38 zJ7#o5uXj3(^xb~~veusxfXB>$gW1lz|!o#X78EDmQ^(uK5`l7)W+s@52FSMYDHK7bna75II0M)&D;L6^>|kVRf8;GOFa z8b2eeyk0_w1?XR-^AoM;7aZA62PWLPjP5xmPKYcSb`~HntM(k)55|Lokn}$3 z_-}X(txXhxB{9%A-^N5YljwNYEZDFvTnyjR?};mfK>^?dr6~%}K~|DF1S+@Ci&e2e zeIT?uZ%B6UvH%xZyT}UU=B%jv>65tn9BBE?0nMeP5G1(CeVgsUu3oagj=)6|W{}tK zyKLjHw!Jn1BiqG`E}DVD4W8jop4!XT=_<$9vW}2;XlsyeMt@mRq{FQJzs&Zs+@wZ{ z$C647sqW4}R*f&N6D}^D-`1r&ZnW7Mn0|LWsnelaa#XH!Lo=PPxF-mXl=e2jSTqSr zPrIH?yi-q#e=g87a*nQktB$TdnJY~)BRUc6ELaKLSS#$jA=1;6OfMNQtSj6=$Ghc-mRJ$+`vx#s1+mBH=$3qu^489?>!onD&6%seE?2rYwtwg3 zj5Gu4=NTi$CW1ht*Bf@JIVt8^@7`g~<~z&Ei86x_(9$V@!d9oYxWe)P2=YXCkYuBl zF0{rX2w&e9xGltPnSt17yegmO(2+{i?mm6yRm07t{s|GlhA_XW-B4OC=dz(O{Qo0O zs6&%mYe$wdr1<7rUX{txwF!o1H+7Hw`m-fpIrC}_wfe}Xb%45Zk_S_}Z=N&sVZmhW zL6wiPZT?%i<;bjnN{__pi>unz-{kN5UYj6noT;HxxAa}l;{f@k0Aof68<>1waEOt+ zss#%S!@^k|U0@MCOmEi1u1egs{s`4wxQIad5hrh9ieHuO5P1JRN4g)|9ym-?t-iwj zlt%kK`)7Ro0JGKqy;`EKec8~iSHCWq!x45ysEzeGC=$8lLI>l%O*4P-?imOWYu9`( zqoKT-N^`8NC%2SVj?>5L+kpoPVInQ=d4DnxHhy(pqCdlr-49{M`r+(5Q9v^5CulQ- zSCYr&PK*?R)b~nE-yQ`Jz+0u&U_XP z6E&0HW>h(ty1Qqs$)s!VoOA%6DnSp~?DKF*o|c<4-&1W$SlZ zod_Cy>2Yd}l*5BhN7w3*p*{#Amk-k$l&JSiY&0D`-vcgt3k?>QMh-&6^yvHXfUIP* z2dt>$Ed{2=hxC*lL+tHT)TSO2{v8Qf?#%IJAYd}91IA&; zG_GjwUm{p<$$=W=e$noBxqvYWE(N2$8eJ5Wu(B62YX}om{s$q|la3(=5DEA_&-Bjf zHr#!{>E>9#+Qn+SVEzMq#>A}BdY3PQ`L01@XGB;x=~jgzODnHu4W{O6sF*{HHEh1_ zsn4I4`_4<0pV-#hwqyHjyb?qx`_Gg2_0IV=+8+}-l7{uhWE?aphI;W@ya=LD>0v@g z{DqXezUdNiLe3Iw)|Bj*9S{g@zYR+hzMMDQGbi1>eZS9auZYc~yEte9 z5)Vvvc0qR#YS&gV*wKqeq}{VuwkI?W@q+bBj#o_u3wRFSZ26=!&ePA zxSRBToPQ*3>sI%CSz6pX6;qo;nW(zWuHeT}2ojsaHf6=%D3nh8u6_|i{`;GbUr?iq z^+dRAguk}XMB|Cytk;I*>$Ub1V$1Sp6=gCPKC$B|XKY$>Wu4uN8q&2-JF#4cs&gsG z%IeMg{4X*qoTl5OL=aE=#eO{jF={0Iny}729xWGJQ`sdhvxazr;6sG(A~j`Da&%Aq zMp#$yex#d^5w)+CD51~KMDV6i7q~5wb=GGWpIyhVGO8%@WJo#elPoQB501|i2vs0N zLb(IyReeu+N5a-EhB=#-?NA=CgOI!Og)Vy6^K^0s_Lbs3>q49Ht! z;OAm!oI7h{?N$oce}Jg=r=uSrM9XYt6RG6)iBx$OcAaYdEJ(noKTF~De`Iew^G%o~ z5SH?NCFBTVG2Qo;iXb?r35bgnKCH0UAOE#Aff4RMejKTu^npx38`;V~P5eh?QcNKW z+d@Gx4Va0h;Wi?8i=*@a(b8tfWX8e!ASC)u45>Jy{vd^R@YdzQU zB3~0nqkDCDcmLC!XR8;521D#VKY~rtong@&W7WJDX)%hF$iv1@Lt=h$*@0bkv-|pT zcVy7=Q!s!t`BZE4P(4)43WWygX+$0vao19A)NcMLwMo$(`ueyX(Gv4H5Y#hn34OTp z=zfjE6J=2Nf+WR_`aZ@1*JwIO-uTFOxh+o6b7HDrJ%Uwf5+|pV78Q$=iwtQ863h-9 zwkMgwCNlS3sjwN3shJAneCaN%UeuLR)Nt4CqQ?v-=enKKGY)lis4?x!_!qMHNMm3?23lWIn--k*IeV3Q-{T z_yu-=Gh=a=%dD3x^^2@aPV#;cm-irY)IXwT4jg>A-lMn|_Z$nlkm^^Tb#Ak58C2+ z-+%13`G+xj&cIcat60e~jR-;N0`fnC^<2E}HI7d*+2LLk6n@i$uRZo&Rj#&f=ec;o z5aEWK{mxqK-#H*-QpGO@N2@qPWOjU3w@2H^7^V{RUjE=sjIK0x+(JR(sS~UPVo!XO zbSJtr53x`HPa1ge`wK1Z!$xdtyBh($A9;LQOiHUUg9Lnr5+u^0fiISJ&oxUGaPEi~ zBq|&FB1;^ zuCBc3Wc%Z^tork#unN(Mv;1e~m%raC2vU7eeSWLTvKQ_5lex3>0qVZM-^{G*w%V*! zc%wrEn*aXkULdav(vUVrD%MjE{aV0~!USGAoX)LY=A0WDB58PVA`&lYXjhr`V#k^F z2;BUevG%pp99>O;YN54eLd6i4;I)31StsfSnlSQt@WxWok*tlZo%K$D%eC}wi<%}| z^UG^kt69(1arR2mLZ$7Y_5Ps(gb^rk=>?AlK26|qq+VW6jnvy!py8CpUL>&!=&Gqc z5SxD)q}~Z6;8HQUnm1ymOZDqY;LFz&2P;0HUr78O&xL~%_nz{5)!_I>i8K5EgHDn@ zG?!Bu(|wc1N?Mg<;F`j3IF3qI0mRAuSr`0dyQQ zmDud3C0v)bjz+{yTIS)0?Gc1N$Qd(iO*o*)iV1h~9ZO{kV5%$v`LgOS8#>Z=U=%CL z0qdCl>vG(DJ60&s^mvH$w?pBiV+D$|WL)MmcB00XIQQ%q1+bz3_dMg^ou|?eLY#OTXQ=gtG8fu!A9~Q&ohx}K5C*S|z>04ikyfAxdMwF}7910mFkcs{I@U2(a zl8^lizoDsM;+OIQpjoE8(y6DB<%$yqitBh6C8c?J?0O{5okI%OU$=eI!^%!66WEks zmz$zvoEZYuq`nIz&Y#K2a{a-eGaAAYpubLLc|O3GS@#0~qtfouaU}?TMAI#tK^BsT zgkLNhinwS++(>@9^ER{OR8SuZ52<5`?!60bGgYuu53BG_LYmPl8J+aj)k1!AF&zs4Lwl=&r{RQ@vD2Lx-BEpc(+AOu zc+7ZidHC+Zl$KFE^I~t`bz}g!r8|$DX4Hoe<%>X$m)(Ev4cm>ldwEWPsPi)3og58( zKO}dk3f~A};%ZBMCnF!O2NI+-Q8sL}tVuSV500w_3CMdN5XPP)La*BG3(G}wEoLwL zdGakIfS;c1zc+XN?F>Mu%B^h?kWYuKYCHTr6(~H zABBH``u7tfaPFz{a*xOZNgZ{{dzA-&>xS}eQK4+1$V12sJVeA(s49zw_FGKQ*!gN~ zKW=g8{tFfLZ#4raK7nxgzK+rp5}W1cjDi=QjKB8@F`_%Z!LHX#;DU$|PT&w+iFvXx`jpvZ$%+;^6rALLr@pDcZT}L);llF8$_Ra?y z>nAj!gi!CcHaR#W#m1#wB-sb2PCE$n+4;u7Ybu{*o0LE+?uK7EwN?vqd5)v@4~YB& zuIg)W@wQ`u*!$;|$e&0%ooVl)UjTQ)AvIz@>5rtp>Tiiub(IP@u-~z3jYu*;w3t(* zmATf|zh}<`ob0YxvRk&V46jov4c=}43J0Tl8{U-Qgx$m*I}!aP?e?^kPAL{y^*yMU z)1YMs^GWaAg-?PqJr_w$fafvqwyM-`s(9d9N5&is$Z`0SC$40ku8yv#>#Bs51i)qG zt=fD5WNcjv2!oEZD?)aQ+EHNQ#eW&}fuZ_Yn@rZ#_E#}*t5>WOfU0Alxa{uWct-&O zmvRXMQV*7sZue>2neu@x$q|%M`;oW$hI=ZYSJ6hWHS`;cWudAM7mRBbMegF(NTA9) zgyhN~N=R#iJ{pglNvePd2lOOf2FJ1DvcIiw=(0S9S0q#U9zTIq0N9CDwvzX)dGumg z0`wu{@FzZCeg;4%h3J<&+j*CQ;9&b}8>#Y7M^8uJ=zuoM7pqoW26g2-5lhvdN?H8g z;_+;^%D3Lo$#~tZ#PeFozg)Z9-6pS-|G{jp6QMf5{}k`ZBlbG>6bjCHr;n7}Pfi7@>(s7EbF~mHRiAAbYr{S*Z>}rMM57oeZN#sONRq(zzl33KF{?~CZ zZ+L(4@n*@5PN|SBw?1p;xlE{96$e@J4f&@uVXQE<=Q2voLKg|XT41p8?8Z|VEb?NR`HnMQLI3>nf)}e~mNlmG>}eRr?5#^Pn_Xejo@_4M z_Fl=5S`M9m#}`cwe6Nq)OFg_Pn+-(_?Evdz4sMM}rGU`qOsBTud2A=C*3DSH&zu`m z#pVC%3V!clOd$gDC3H)F?N&k6{u0d62xTXJ$_m2MwZp$Ov&AMd);?ko<`M>Y49m_1A^9pQmu6V z{c&J=&X2kuWdF6U3v(kJn3yBh!YTufefIIuiR;A^HMq!UB1>TG@^$Xpeb#>sLzTFn z+0N}20LbDNI zx*6DHvl|(mYrlN#^EdbQW7B&v^8roFd*4a2@S}r#^o{LWq8{rm9xRbVx(8c|g9aL3 z=)tA>BVTs@=x;b?pT@acUzea3#1<~0JPtj)3KdaW?RM3AgWUz!xI=ImUyE-t3QXK0 zHBKpce9LT^j+7|ZDfN29XTAL??}-VyE15);*InydyNU@XUuz%#X+L-!IUYh~yVaN% zdiCe~YVT4ZTE2&J$4UL#)qlSZDV6_n?4C)rz#97Mw_~0YAJecCnQPw=)>gZmI7Wmk z&uLN=a;u(H3fI!k#CM&&+306X*fwl;EJ!O$@62utpWD+E(Wi$2zbEYS#$5{iwE}9k z^J85xj1KOg==DwJ0X0ZF=vpuop=3}Xh<(wcGS@gR7sdBivjhO@^wxA*ww}UhpTSy4 z|F#r=*B-ZB{f+7r*VyI6MhXf7+0S4^CS}^&^C^&Qx?{jwU^e{i&I7@Q!9`B&ubmRv zJw?Fv1p=B425gSdzm>z`M%;-!Hg#@YZC{U&8wDLP_s%RtOQtk}w>Fk3h;TfqY?51KQ;I)iv&716qT=a9<{@A&wBNa>aN$AAXfz03`syGYq0AG2 zgjdLK8h2c-8XGX`%~s>aFAJy!hA-FCpkgDSJz;S0aK3U|CUKdzMor%W120E0N~=1x0&6 zSBJ>#!tA;oYlzAc06;q`+lQWFDaoN!-hVOa>}lxctrCE>-O*IuJNGTyI(onZFU^GR%yTCy&DpSTfUI=Y?+ z%}UYO___j-0NtXGJ{MKUU?XFfzl?EG&z#IXTGK^8(oM}D!o)!XO5?_W9vL@@%LaM$ z2AH}Av}4e(uW2fB5-?I-U6159gP{9Z2hQkm3|@RA6?N-g|k||{G>6N z|FOe3Q`IE#2SUNCmaai*n9et7Y$=3SQ|yE8_tu!spDVjL3V1K~GF4aShbM93LxD(l z48f#oMB8v=0oftK5wgPb-bEFQ0Bjog*_T#chVRs7A1-&EYcRz`t zNEKUfzWMPG46=iB_lUVV^dE?FGy^|6oBMUd~qPR2KWu$%pVOo{o} zND7H5z_@nF;}7Q);Ki()9-jOl@lo=Fu6ZF&yj&Jv31?_-a@-n&m?C#5DBW=3R2Fi z^@;=Vlj2XE75^`O;!ipac;)m@{!jRhQHCTZyOYCq9%|=$+Gw_2=SEvT{n(S4ENsZh^X(j?SX{qOBJ^+3DTTY&0X}Qy0>7P@WdS!-2!H@`Rg|C}knMP!dPxn$4~mff zf(h*BHJ|m4B!GQYzOz(7aJCa{Y4!3UZu}THnHfDM&E8c#UueM0%M#9p%C5A44-If1 zu2{hhuXi!xij-#^w)bg={@b59RaRuktZY{LHZLt(Ifg70D6hnAbq~y8URxPE27Hd9 zS_^+6eI%BiDUdUacyR&ISu!&5tJ*_XK##eqkKE4MZ?ci*2M^z6x|ptxi+;(UVkJ zul{t0t`)erQi!LaT3`d-M+Cj7%Y|RMw|}|BN|irI=fV7#O(+{M-}pF88OO+#^z4@_ zic~XW59Db{G*WsndIlHEjL6K70Y8=3T38-O+d-AT81yh^*(otqzJo9(G<|*872Ab5O!1=7 zOK2f=VO*vF6ou^U>b@{2^^@IMLiioPhXoW8!vgWp)s>XAlcglH;e&2O{ zZeNSIs{IvV5vB>V?@|Gp7=S=2)P6(hgkbes-dLtJqa6TEO{t~3?nUA|WFNx5)%uL^ zW8KwYQlDS&T&`?e{C5GT=q}7pV3Y|0f>u$vpqD8+u)aG~v!Q@<+ir^2_>c{F8!9}w zdDBVlTVo@5o^RE{L5zvG8i%|dgKn$0DeK~nY4lZwZ=1ht|Ew!q(g0FQ3_G4)HIf!sCt?u6<`-m& zIx0awTn{O4&v*9l_D=-j>GdQrF$#0!+G{x;!;#gk*|x8o+L z^f1ZvQBZyjv;lOrVB5u3OlDOkN#Q$tKe6u)EwT$-1o!u3TSHpFTWpG$8DT%D^S#-w zNg||(3DkpJi|TwT}11xFpaeCykGXP{Y7TJ+`|3UcHAq%IP$DV3F5-txzCtlv?DIDwVdlsrcnSVU=zZ%cc( zdAo%DMhs0Tc@?eaFu6%&12Ujz(W0T|tS@Zo7H)lzyBNg%JuK(DW3xCrhSTx86U?jY zA;)e{&mgd~)K#mL3-_TvHfDc52~`o}{+D-p|6+Cn_)`F~=77N{I0QCwHyU4oZTsd8 zd&tzn$5TetQ>eyhmhEU^9Uh35J5MXWN9Au=b<oU` z;#X3;>QxrEOM9X5h%)RS_`*`|^jf$}m51y}?9ny7WYSpy&MM=X&g(y@g`CR4hGmu( z5b8#Y0_t8pK%%VPdX!N^rC~!)?1_TL$1V#8;t!UGcJjoJa+r=MZAAm_WA=IXnVQGM zeR(Xu;xitf&8g!j_gH9q8_jq_{x5`b*jx7R)U(j2ui@{LPU#e4b$W93ztfNE8ll3? z&*)e^SKAIX6O4fAQlZXSbfSY>w*sM$gTuY=j+m$G2SoRp-D~3$T_nx>E+dTX2}L_CTR; ze&`E?z*|BI^FsO1CS~9pGTRRnAWy>Oe#`gB!XIM&xHUqlS9=*-4uRD`B|b1QWkX!# z1tUqSQN&Po z@Z-cF=nmrigVIJCw0eI(&|*ttF+5r}-{a`w_-Czys+fK5snfbIDk-)*yJF-g8U5{TFqg=+u(9++PXTS|h zmnz-2|LwdmkWo}Su4)!>_ss|Gw6cZz0!lLIEH;w_%5hf z)s?u}79gUK3Jx=XGnC|jDh+{6NNwSM2HhH22~ah@`Z2wKRJD8HLusw1mHOcSNR%bR zvX9QJ7&bR$-^nTE>>%jYbGyIj+bqIZt5WyNo5_6G1|YB&akDvTaEbNaM75$q3e-L| z0eUC+PZ22de0Q$DN4U?>6*F)3UZLo{@hw?^g(UP%u)GUbMde*fX4IuTnw5Y?tw>({ z9c+K5tChvd?-LvWgmwgE{rFyzrV&s95GgD)xSV`}tES{~!wfMs6A{G?f3zp;EO3$* zZO*|Of7%nEi^XCDVpXk9sin}Tnla2@y79~$LvZVnky?$862 z_w{1%Y{dj}SlaCjzemGTjBt*GwZ?WE~j4%A*9yd8(dRdsC57LWeWJ zz_YGihxN@=%r6;&?^f1C3f%80e16^pCV$YlAIw3k3)7c*sSx`rPId-3$eI8kr7Zxy zzC-T9($uT?;h$^$O43elfECquTPL4dgxU_X4&Msm;{Rdlt;3r7-}rwdq(KA(q(LMm z(t^}L1QaC|ry@f@q@;6nqjX3~r@+Lil;G&j(cRsQjT*4+cix}t_x)bqfBA!J*V)cF z_v^mz=i^~f4j9deMc!5mBrqdnL8vz2KADzUAF&90`+s>9C@iIR9k&i_J=*+PSp3u$ zft+b(8rxvSCe6KA<%Shg09DPpv+zuFqdcNJ#A14ck(5=fA{Sr}%a`2RF%ECt@)NeX z-0o7%`du($T262)p5`FTbZ9R?7LX&J?00&mguFmg$FVe-9U$W!hWc zcAN2xJ)*D1+A-Nids`=dkn1-d>e5Ghp<*=pAu5k?i1`su3WV`7Y;EYZHS|BT{I&(8HD4-SeC-if!EXmqZ z5o$NYTu~f0E>%$IJ^5O4j+`{FWg6&&+)sgYVm_%eb1iJFs!ze+itmsEC_H@zoSF9} z2eQ0}Z*%6XJHUO4Vx#^SObCD0IJ$-Q1^T>?frLX&;ExN;&EE;O1^7@OCD$pWbaODn z(vq>+B67!c=;3x(rZIb(x<)jo~aZ+z4Cz1k77~u#-fMpIqN6kS6Pnwc5=O= zG7bE99%|b$QSy>_cMO5VmUm*Z6GBV%Nek{hI&7LwXJ$C(IOPS zyehXA!yW#TI!P|!-s_CIkEk=RTMP0Z1#Oxq;h#a*|LcPC z#_TrOTL7_=d+q^LUOlP_4wp_E<6eFB(3uD4o?$9yiV9=K57n$ zDg1020X;$1oN?wYVs)H*KqXqwP}+eXWDf0^n^13BjJFQ~C+uUt(jJLtF7!en?e)OG^XWjMv(|r`3 zrb~i$iz zDIqX^uyI?lNzD7>7btm}F>cYFuI$~v5or=z0{PMnW z$r$(9YO$#U^j{h!<3UD#2Oth`;oi~7kEuOXz5MAy?+4J>YU#xcPV=c<`#v2%yUp)bo3y#73(g*P zp5h}_V*c>y;{joDsj@)1)6Jl_2c2JwhBR@s2co zHMzrs1izWPZ#ln|899ezI6kHDn%>;08ZKQbWFgAj=*E4z zKSCMah^49fk}QkD(1 z)Ri(Qe)*dme@F4aG~}+ed_@5@XMf43JUt$@Y2ZF+4@F_E{WotjytB%q`!L`%{kP+5 za#?+tZB7#~2^b(Amx^dCW|es{_<1)57p_BoPo54jhT`;5#!63D2eVYUX1(aHe~D+Z z$y((&pTrBGB=D~#QqFiOZRZXiKDZ9q(ymDroqn48Q{t8Em|YAB5Te|Q{8PGR4N%CE zn;4@3!`Ss-4dA14z9E|PBnVCp8KtfdE#n^jYy9pZ&}udGqtbs1-l`Y~qw4$G8NH!1 z2RP1f?TtVD624r6;;#Kc2h234=3D=lN6~<$hyv&9b$LX6ok5>Hw)gGdgE#56ntfl} zWmV9kvrOhY6|JScsdM2tHdmKHyKOz1Hp*-Ul}b&!G8PE%55xa9-Ag zj{d1BOg9|Rb6wSsBn)( zb0aXN95=KV{|liA_LUO*ahYdQAhJP=x;G!J{)Qm>AN;Y`YcIVj&ajkb4|Qm)8#Gw7 zq}0mQ1P#MT#DZ$o1JpRt)()1?0VC|v>6bEp_LWvwXkHN|wtZ}n|g8V!c zvfLAx3b}tX0yx?O%3wy)SYp}LiN1((ItMHy79xk>3Wc2KhGi7whN_}zd~sjoi87HF zUvgFhp-79rYQFLQqSFZmCAmaGAYT6#x;yDH9Y~{vhMdGCVR^9r)pA9h>)fE_in}Dl zE(}@}c%pi~*mGSQ$e}#h{vLpQ=`QjY!*fEOfdap3&d$G9i2hpt(|M;i5Ta-f=uX_G z((+DS{o|S+-Ys)o@15D?GWnU8`>oLGy5lYXUdpLc4*Zy(an9nYZd2dg$vn^c7mPyN z@hZXoRt_UJF+YR7IXfM~9P6V4T-OK1xPVw;L8uqB18R1p153^HK#NV#AxfIuFj0Px zDfx?sJWXqrRP8TYnGvo{$`47nyDSfN9;?-Oxk_G10h>}gB4q0CE~p#YG-{`vTccWN zT9P2z6RI%QNrOuQE0n|Zsvq9)RKYc2v#F*n5j23Uos~y?43xi`SkOA(0jy?Kjxeje zFC-o*E@2V3fB*_X1#w5{jX+Nv4>YlDc`M#RV(vPH6dpA_Xn#D=aowW; zNb8c^7f0;eH9%0l&b7`7K&eWH#PHn6+rCtI&rPkCQKb*JJ-B|F zCdHMN?0+7Y+N(3VKdPFj6fL8j%4cF|envyDVjsHk*ap~-U$hS3o4=VdpE_Ag5pVhY z8#GHBtc`y@VVPC3|LR+wpLqJF&m+g{XY@X<479QB&GdJtRWTin$BFm46m;Q}R=_wt zA{b)FQR8a%yD++@;rBzpF@{%;a;QML$rp2%4!7N5@N)*}JC92QH zQ!w)+A1fM=j6O2|g;2m2UvD-Vs`~hX(YdbKdXpUs$m9Y19FYz0{`qOn;eOpwHsq}v zHY$6Wzj=a@;$!Iq@Q5gXmH!5Reo^;ZKy2MO!xz)r7WLxZ^;Y=R_bE2~6X6+OLV@-- zdRLGVZtK(oKHCisyeBCGW0jw+=7w3>BJ`-Lygk0geTD4k0=HHuDUuOH|J+7Ev?E&d9^@5I>6Sb|}AxYDbgD6;DqY6cDE2Y5G#%g~RwV{IRDG~KP~ z`n|`h`5Vr_Q{?XfNFV|i#!41Vi4jl<#YUDmUH|Fn{@Wyy;8 zbO5;H9L^HItIIW=q*BE-x3VQw+TR7C4p|D*0x zB@!)f*iN6#sd6+>=MBIaaQ!lVyl#QaGkGw`J&irqMLnoySOpK+WBd_!9;WwS)2gwz zYHGX}E24sTf7UfGJX^ zfcYeoYVf2)&|O$LIQQ}sEcP@5&jb;lBr)Y6&XfjHp%6MH3siY19*OQ{?3b1CoSb; zi3S^MsGhJQ{J_-j$6Krxi`ZFF`h-nV1Mif3g{eI#-xmr^|A|f(t4M#`pU_n8Y=2p5 zr2CIOgjYh4=>OCG$(e?EmU0Q`>G20+3Yi;^+U`)gO0a9eQ`;A+X`jzp8HiNRQvY~< z!}M$5EZZCH&S8DiF99REafn?z{nA^=weV+P6*v=~%VbdC<9;!+{K>Gt+(hs}eU6?2U3mT@IETovM{EixMX#&?-do%@WfmWvS zX*S-}qk%%fC~bQ2WY?Pe77%Ki49LvE+sb9H;@;{eLBP=bvGyLgHzX8NtVZ+ok<%)h zb7ik$adT9*CD&hIfet_!5lZpNABH>{e!^0k27h?mX>ij7Dyc&7MG|E5Jr9xm481X~ z;XsYpTYu}S&5f+TENlbAHd0zh4-7!WJ7$XnJ*We|>YwX*E*k<lyyhF_$rot)TXwT}7hdZgSK zPTbnqBA54U<6~#sP}d>-ay~3n8_ZfYPSyFjy?;1;HPN`We*sg^MG$mehqFLTM5;Da zO%%$sGL37LfJ%*R9zCbkr8V#v`sbz)7jyeMV!@R!`P}3);N>Ha%5Fd!Lb0R=4UL(h5(GWN~jz(+;^cD-)bigOu=2{BE9e7cu6 zjCp2|($o`>i+rsB@09O6=NvM$T|+DBJt2@8I388-!n<(|GYE2fr0AiE+>$}e1bUNO z0MHLsB6i_N+`pER_ib14q@w4!CWK*=0NAni;mL1|pFEuLa>HoX8feAXshZ*YLkD&q zG5|3Ebk;7ZNYg~)Q!%pFa|3g5jlH7swK~b*CMb3EdiHT*$Wt~&;=Is3|CNALMf)CT z;t+1QOEn84=hDoV5FMEp-*zyez66*hpGyaC$WpML+0XtO zb(;U3Xt$`o1jKDTjs@8eKAYcBlV4XhpFt^B<3{E<{(8&td5SYGkTtzqbL2iEY1w{# z^2+4idF#O)uD;NNs-F05_hnXP-qC$_DU23aVWpa00{9SzNKC{4NZHrk(*ergv+(>i z8<7>@%-O*r_h?PPQZ_$Vox9<(8Yip!x6-8jY_+awM3>K! zgMtg1qfJ!Kni1B4c9g!CK(K-MlKsu)MY!m=bNKgdMtH4J*FQjdl7a<59})k-h-Ft; zh4hF?yd2~cnnJdL!ibNQbaw)@&POCVUz`I&Mhy7S`;K>9fHdDdRE~PNJj-i-Cq0{o z{%iFpglRUOJ!g`PTBr9_jNgB%lbZgk6PZv=O`TrZbpk5O^%<3_phkC&?mJWHDHT`+ z8}e6q%F5X1XpM)1=hDKVJ~dd(EgL6NUi0^2TlwAXA6?wN``*NNA2v!J)lb(9QwL#W zE<}S%LVpMiB(TAxxwCmcYf`WpEi4`)rO|2Ytu%5<+7Z@w;{9uC;qq3~7XVqF#vQE_ z`gI+vS?x%FC|;RbYr$J{VE{RM>)lgesdbN{PCH^0plnxlT~Q$% ziTr|XFTfeR=W&onURbdL8~oK+>ZO=XY=KDTyZP;5Q(k3TXf<)#!{FmDn=mH4GB&E) zh%8huhY^aGK}7~)+Tj>5NVAU@BgQ;k8<_Nmc@G0`Rj7Mp`~@|qmEJa!w(eIe*8P%0 zeNK+Epy8d+cwy%l9r`IuXi4XZ|_xIBHQAAGe#lGNfBoJ^rYxU_8h$bE{NC-VE$xA73uKpc+d`54~yz^MfB&pfG53S`Zemd0Hk z0h-H`k8RF{F$61P=eV);6cT(C>6DJ7OtwD&*myv2k(bUo^5-S;IKTQ^U%N1y-Pp_mj`RGq9y7XTNqwNl`3)2qt zdi=91Q(6jhJ>9<%Z=o#?sA2uJH{sjh%6nRC=|96CYk^Ma>l|-q!BlOd{)3Q) zqMN$y3~=%-;hFB-QTLObincuQ7d^X9bwJ6wI2Sx>r7o;iQSe=@!j?xJedQioZhE;9 z-hKM<3F^Mg=Y?+0t5E-E$^DR?=^ci?!`4QKU6-DSkhMPE-D1s8;w1TVwion7;FZ_u zj69OYp>f^VG5$f87Clgtl8wG|F-Hp+0BoU^-1eIT@H^zLD+c&;MHxA>!Q$zqhsXjb zLy%>P8mTNIfvALV6;ggvDHpMH!|7(Tu>u*5DE=HU$R9mow7TvVHU;28etORmzO1U9 z+ybW=mxOK#BO(_5=uL%qFR_xI;D$}g5`UHROoTVX8ddZTJQbJ(s@b)tXL~@tykl)* z_sD^ro$*5uz@~h;mq|QC!8CW?U!mCWLAii>3bJ>&06Qs@d=E?URbU7Se`1AiBZfg- z+=}AyOhKp2Gso%OJOl@CR=I!{c-AMtIA!Q5AR`+b2hDSn>G}~tnQ3w<{_joR(>rg4 zuMHnvo0E08T?mhR5+>_E{$}HYL#$Wp^+YNEb;^xKb^bQK1c5M**5Lk!M%c8fCoIp# z-mzG%%!*On{q#hBq4untuXsoN(boMpo7q_@=I(utAdLHO$Aqrr5`@mk=2M!tEwGq3 zp5;BbW0$11g6GPC?W%l=E;oIxT5doqM$S}oKVOH914~xsfN*5>57kcwYhk&deSh>$ zCBwi)Gf3~}NLMmspIjR(*c|NeerEFXbulGo_b~r;<3Qp7C`xDn*}G;rc^|-RaNRdp zJlG_;4;;2@gkMo?L*x-J=V)$OIa48?jC!HP9^FzS%-aEMbC<^qY>0~wXuG8sK=DPN z=fjh&&m03zka#?F`6_cmjxE~p>CqKF0aAo`#N>Gx3Q^$lB*EC>a(BAazan>%kAaUX zk-|y6eZ|hc{BXc;4RwUXy|0kV2|_ZAmL`%2VfIUR`C-kT#Sb1^E3&4Vw33 z;Gc$7-JZo{oMhFG{ii)~*P!=VQTC|*a^sc1sH5Tr4;iN?d+UxK$A+CovY3=Fb86}{ z_J}Zg6J=_&VEd(q#S5W>9^;APfnscxe2i9yp`|Dk&mJ+nkMMKcoDtQ?Z7W?ce0p