diff --git a/LICENSE b/LICENSE index 6608f2341a..311412d3ec 100644 --- a/LICENSE +++ b/LICENSE @@ -1,10 +1,12 @@ -The Ripple Dev Portal and all its original contents are provided under the MIT License. Additional libraries and resources used by the Ripple Dev Portal are subject to their own licenses, as described below. +The XRP Ledger Dev Portal and all its original contents are provided under the MIT License. Additional libraries and resources used by the XRP Ledger Dev Portal are subject to their own licenses, as described below. The MIT License (MIT) -Ripple Dev Portal Copyright (c) 2014, 2015 Ripple Labs, Inc. -Flatdoc Copyright (c) 2013, 2014, Rico Sta. Cruz. +XRP Ledger Dev Portal Copyright (c) 2019 XRP Ledger Project jQuery Copyright (c) 2005, 2014 jQuery Foundation and other contributors, https://jquery.org/ +Bootstrap Copyright (c) 2011-2019 Twitter, Inc. +Bootstrap Copyright (c) 2011-2019 The Bootstrap Authors +Bootstrap-Growl Copyright (c) Nick Larson, http://github.com/ifightcrime 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: @@ -14,18 +16,37 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ----- +ripple-lib is included under the ISC License + +ISC License + +Copyright (c) 2012-2015 Ripple Labs Inc. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +----- + Fonts included in this site use the following licenses: -Montserrat: Copyright (c) 2011-2012, Julieta Ulanovsky (julieta.ulanovsky@gmail.com), with Reserved Font Names 'Montserrat' -Used under the SIL Open Font License, 1.1 -http://scripts.sil.org/OFL - -Open Sans: Digitized data copyright © 2010-2011, Google Corporation. -Used under the Apache License, version 2.0 +Roboto: Digitized data copyright © 2010-2017, Google Corporation. +Font used under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html +Space Mono: Copyright 2016 Google Inc. All Rights Reserved. +Font used under the SIL Open Font License, Version 1.1. +http://scripts.sil.org/OFL + Font Awesome by Dave Gandy - http://fontawesome.io -Font used under the SIL Open Font License, 1.1 +Font licensed under the SIL Open Font License, 1.1 http://scripts.sil.org/OFL Code licensed under the MIT License - diff --git a/assets/css/api-tools.css b/assets/css/api-tools.css index b298b7e24c..837f7e1126 100644 --- a/assets/css/api-tools.css +++ b/assets/css/api-tools.css @@ -1,6 +1,7 @@ #command_list { list-style-type:none; padding:0 0 0 0; + border-left: none; } aside.sidebar { @@ -264,12 +265,7 @@ span.cm-atom { } .loader { - -webkit-animation: rotating 1s linear infinite; - -moz-animation: rotating 1s linear infinite; - -ms-animation: rotating 1s linear infinite; - -o-animation: rotating 1s linear infinite; - animation: rotating 1s linear infinite; - width: 25px;height:25px; + width: 24px;height:24px; } @@ -295,6 +291,7 @@ span.cm-atom { display: inline-block; text-indent: -2em; padding-left: 2.5em; + width: 100%; } #rest_url { diff --git a/assets/css/devportal.css b/assets/css/devportal.css index d2b5a11686..f05ad7baef 100644 --- a/assets/css/devportal.css +++ b/assets/css/devportal.css @@ -1,21 +1,13 @@ /* Generic styles and colors not in the bootstrap files --------------------- */ -body { - font-family: Roboto, sans-serif; -} - -code, -pre { - font-family: "Roboto Mono", monospace; -} - -td { - border: 1px solid #dbdde2; +th, td { padding: 0.2em; vertical-align: text-top; + padding: 12px; } -th { - padding: 0.2em; + +td:nth-child(1) { + font-weight: bold; } /* Reduce external link icon size */ @@ -27,16 +19,27 @@ th { .navbar.fixed-top { font-weight: 400; - border-bottom: 1px solid #C9CDD1; + padding: 0; + margin: 0 48px; +} + +@media (max-width: 1090px) { + .navbar.fixed-top { + margin: 0 20px; + } + .navbar .navbar-nav .nav-link { + padding-right: 5px; + } } .navbar-brand { text-decoration: none; white-space: pre; + -webkit-transition: opacity 200ms ease, color 200ms ease; + transition: opacity 200ms ease, color 200ms ease; } - -.navbar .navbar-brand .brand-text { - color: #777; +.navbar-brand:hover { + opacity: 0.5; } @media (max-width: 1010px) { @@ -46,24 +49,25 @@ th { } .navbar .navbar-nav .nav-link { - font-size: 20px; - line-height: 38px; + font-size: 1rem; + line-height: 52px; text-decoration: none; - transition: 0.5s; + font-family: 'Space Mono', monospace; } + .navbar .navbar-nav .nav-link:hover { - color: #27a2db; + background-color: transparent; + box-shadow: inset 0 -1px 0 0 #000; + text-decoration: none; } .navbar .navbar-nav .active a { font-weight: 700; - color: #3B4147; - background-color: #E1E5E8; - + box-shadow: inset 0 -1px 0 0 #000; } .navbar .active-parent a { font-weight: 700; - background-color: #E1E5E8; + box-shadow: inset 0 -1px 0 0 #000; } #navbar-search { @@ -71,19 +75,96 @@ th { margin-right: 0.375rem; } +#navbar-search .form-inline { + min-width: 224px; /* more room for placeholder text */ +} + #topsearchbar { - padding-right: 60px; + padding-right: 40px; width: 100%; + font-size: 0.875rem; } #navbar-search .btn { position: absolute; - right: 0.375rem; + right: 0; +} + +/* Top navigation Mobile ----------------------------------------------------------- */ +@media (max-width: 991px) { + + .navbar .navbar-nav .nav-link { + height: 48px; + } + .github-edit-wrap { + margin: 20px 10px 20px 0; + } + + #navbar-search .btn::after { + display: none; + } + + .navbar-collapse { + background-color: white; + position: absolute; + top: 200px; + right: 0; + overflow: scroll; + width: 260px; + max-height: 60vh; + margin-right: 24px; + margin-bottom: 108px; + padding: 24px; + -webkit-box-flex: 1; + z-index: 10; + + transform: translateX(1000px); + transition-duration: 1s; + } + + .navbar-collapse.show { + transform: translateX(0px); + transition-duration: 0.5s; + } + + .menu-overlay.active { + transform: translateX(0px); + transition-duration: 0.5s; + } + + .menu-overlay { + background-color: black; + bottom: 0; + left: 0; + opacity: 0.88; + filter: alpha(opacity=80); + /* IE7 & 8 */ + position: fixed; + right: 0; + top: 0; + z-index: 5; + transform: translateX(1000px); + transition-duration: 0.5s; + } + +} + + + +body { + font-feature-settings: "liga", "kern"; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + font-size: 0.9375rem; +} +.row { + margin: 0 -1px; } /* Push content below fixed header ------------------------------------------ */ #main_content_wrapper { - margin-top: 55px; + margin-top: 68px; + padding: 0 48px; } /* Fix so anchors don't jump under the fixed header ------------------------- */ @@ -128,25 +209,29 @@ th { width: initial; } -.content a { +.content a, +.blurb a { text-decoration: underline; } + .content h1 { margin-top: 32px; line-height: 1.2; + font-weight: 400; } .content h1:first-child, .landing section:first-of-type h1:first-child { margin-top: 0; line-height: 1.2; } -.content h1:first-child:before, -.landing section:not(.splash-head):first-of-type h1:first-child:before { - margin-top: -90px; +.content h1:first-child:before { + margin-top: -80px; } .content h2 { - margin-top: 28px; + margin-top: 72px; + margin-bottom: 24px; + font-weight: 400; line-height: 1.2; } .content h3 { @@ -163,15 +248,19 @@ th { font-weight: 700; } .content h6 { - margin-top: 12px + margin-top: 12px; line-height: 1.2; font-weight: 700; } -.content p, -.content li, -.content td { - line-height: 1.65; +/* Some list items contain

tags, some don't. These styles make sure both + kinds are spaced consistently. */ +.content li { + margin: 6px; + margin-top: 24px; +} +.content li p { + margin: 0; } /* "Source" links float right */ @@ -182,8 +271,7 @@ th { .content table { clear: right; - margin-bottom: 1rem; - font-size: 15px; + margin-bottom: 48px; } .content table code { @@ -191,124 +279,149 @@ th { white-space: nowrap; } -/* Big draft warning at top of page so it's hard to mix up with the live site */ -.draft-warning { - background-color: red; - color: white; - padding: 2px 6px; - margin: 10px; - position: absolute; - top: 25px; - left: 150px; - font-size: 12px; - font-weight: 700; +.content .children-display li a { + /* Category landing pages */ + font-family: 'Space Mono', monospace; + font-weight: 700; + font-size: 1.25rem; + text-decoration: none; +} + +.content .children-display li a:hover { + text-decoration: underline; +} + +.landing { + padding: 0 2px; +} + +.card-grid .section-hero.card { + padding-left: 0; +} + +.container-fluid.section-hero { + padding: 48px 0; +} + +.doc-index { + padding: 48px 0; +} + +@media (max-width: 991px) { + .landing .card-grid .card, + .landing .card-grid .card-body, + .landing .card-grid .card-header { + padding-left: 0; + } + .landing .doc-index { + padding-left: 0; + } +} + +/* Vertical numbers --------------------------------------------------------- */ +.flag-vertical { + position: absolute; + top: 2em; + right: 3em; + width: 20px; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + -webkit-transform-origin: 100% 100%; + -ms-transform-origin: 100% 100%; + transform-origin: 100% 100%; + font-size: 0.833em; + letter-spacing: 2px; } /* Footer ------------------------------------------------------------------- */ -.ripple-footer { - z-index: 2; - color: #999999; - font-size: 14px; - background: #28282a url(../img/ripple_footer_v2.jpg) repeat-x center center; - background-position-y: -60px; + +.xrpl-footer { + margin: 0 48px; } -.ripple-footer a { - color: #999999; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - font-weight: 500; -} -.ripple-footer a:hover { - text-decoration: underline; - color: white; +.xrpl-footer .card-body { + margin-top: -15px; } -.ripple-footer hr { - border-top: 1px solid #999999; +.xrpl-footer .card { + padding-top: 24px; } -.ripple-footer h5 a { - color: #ffffff; - letter-spacing: .04em; - text-decoration: none; - padding-bottom: 0.5rem; +.xrpl-footer h5 { + font-size: 1rem; } -.ripple-footer h5 a:hover { - text-decoration: underline; +.xrpl-footer li { + font-size: 0.75rem; } + .absolute_bottom_footer span { margin-right: 25px; + font-size: 0.75rem; +} +.xrpl-footer .card-header h5 i { + margin-left: 0.2em; } -.foot-nav-col .children-display li { - list-style-type: none; - margin-left: 0; - font-size: 14px; +.xrpl-footer .card-grid .card { + padding: 24px 48px 48px 48px; +} +.xrpl-footer .card-grid .card:first-child { + padding-left: 0; +} +@media (max-width: 991px) { + .xrpl-footer .card-grid .card { + padding-left: 0; + } } /* Callouts ----------------------------------------------------------------- */ .devportal-callout { - border-style: solid; - border-radius: 5px; - border-width: 1px; - border-left-width: 4px; - padding: 5px; - padding-left: 25px; - page-break-inside: avoid; + border-style: solid; + border-radius: 0; + border-width: 1px; + border-left-width: 4px; + padding: 5px; + padding-left: 25px; + page-break-inside: avoid; } .devportal-callout > strong:first-child { - display: block; - page-break-after: avoid; + display: block; + page-break-after: avoid; } -.devportal-callout.tip { - border-color: #5cb85c; -} .devportal-callout.tip > strong:first-child:before { - content: "\f058"; /* fontawesome check-circle icon */ - font-family: FontAwesome; - color: #5cb85c; - margin-left: -20px; - padding-right: 5px; + content: "\f058"; /* fontawesome check-circle icon */ + font-family: FontAwesome; + /* color in scss */ + margin-left: -20px; + padding-right: 5px; } -.devportal-callout.note { - border-color: #5bc0de; -} .devportal-callout.note > strong:first-child:before { - content: "\f05a"; /* fontawesome (i) info-circle icon */ - font-family: FontAwesome; - color: #5bc0de; - margin-left: -20px; - padding-right: 5px; + content: "\f05a"; /* fontawesome (i) info-circle icon */ + font-family: FontAwesome; + /* color in scss */ + margin-left: -20px; + padding-right: 5px; } -.devportal-callout.caution { - border-color: #f0ad4e; -} .devportal-callout.caution > strong:first-child:before { - content: "\f071"; /* fontawesome /!\ exclamation-triangle icon */ - font-family: FontAwesome; - color: #f0ad4e; - margin-left: -20px; - padding-right: 5px; + content: "\f071"; /* fontawesome /!\ exclamation-triangle icon */ + font-family: FontAwesome; + /* color in scss */ + margin-left: -20px; + padding-right: 5px; } -.devportal-callout.warning { - border-color: #d9534f; -} .devportal-callout.warning > strong:first-child:before { - content: "\f057"; /* fontawesome (x) times-circle icon */ - font-family: FontAwesome; - color: #d9534f; - margin-left: -20px; - padding-right: 5px; + content: "\f057"; /* fontawesome (x) times-circle icon */ + font-family: FontAwesome; + /* color in scss */ + margin-left: -20px; + padding-right: 5px; } /* Button styling ----------------------------------------------------------- */ @@ -318,7 +431,6 @@ p + .readmore { } .readmore .btn { - font-size: 18px; transition: 0.5s; white-space: normal; } @@ -338,29 +450,6 @@ a.button { text-decoration: none !important; } -.button, #request_button { /* Should be same as btn btn-primary */ - display: inline-block; - font-weight: 400; - text-align: center; - white-space: nowrap; - vertical-align: middle; - user-select: none; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - color: #fff; - background-color: #1db4ff; - border-color: #1db4ff; -} -.button:hover { - background-color: #43bded; - -o-transition: .5s; - -webkit-transition: .5s; - transition: .5s; -} /* Code Tabs ---------------------------------------------------------------- */ @@ -378,18 +467,15 @@ pre code { } .code_sample pre code { overflow: auto; - max-height: 14em; - background-color: #E1E4E8; - border: 1px solid #C9CDD1; + max-height: 24em; border-radius: 4px; display: block; - padding: 0.5em; + padding: 24px; } .code_sample pre code.expanded { overflow: visible; max-height: none; position: absolute; - min-width: 661px; } .code_sample .code_toggler { position: absolute; @@ -398,7 +484,6 @@ pre code { } .multicode { - color: #000; margin: 12px 0px 0px 0px; padding: 0 0 0 0; z-index: 1; @@ -416,10 +501,11 @@ pre code { .multicode li { display: block; float: left; - overflow: hidden; list-style-type: none; - margin-right: 5px; - border-top: 1px solid #DBDDE2; + margin-right: 0px; + margin-left: 0px; + border-style: none solid; + border-width: 0.5px; } .multicode ul > li:before { background: none; @@ -427,21 +513,22 @@ pre code { } .multicode a, a.current { - color: black; - background: #DFE2E7; - border: 1px solid #DBDDE2; - padding: 1em 1em 0 1em; + padding-right: 32px; + padding-left: 32px; + padding-bottom: 10px; + padding-top: 10px; margin: 0px; text-decoration: none; } -.multicode a.current { - background: #fff; - border-bottom: 1px solid #fff; - color: black; +.multicode a.current:hover { + border-bottom: none; + padding-bottom: 10px; } -.multicode a:hover { - color: black; - background: white; +.multicode li:first-child { + border-left: none; +} +.multicode li:last-child { + border-right: none; } /* Common list modules (children, curated links) ---------------------------- */ @@ -452,75 +539,53 @@ a.current { margin-bottom: 0; } +.card .curated-links a:hover, +.card .children-display a:hover { + text-decoration: none; +} + .level-1, .curated-links ul li { list-style-type: disc; } .level-1, .curated-links li { - margin-top: 15px; - margin-left: 15px; -} -.level-1 a, -.curated-links li a { - font-weight: 700; + margin-top: 12px; + margin-left: 16px; } .landing .level-1, +.landing .level-2, .landing .curated-links li { - font-weight: 400; - font-size: 18px; margin-top: 0; - position: relative; } .landing .card .level-1 a, .landing .card .curated-links li a { - padding: 12px; + padding: 8px; display: block; - margin: 0 -12px 0 -12px; - font-weight: 400; -} -.landing .card .level-1 a:hover, -.landing .card .curated-links li a:hover { - background-color: #D8EEFC; - text-decoration: none; -} -.landing .card .level-1 a:hover:after, -.landing .card .curated-links li a:hover:after { - content: "\f105"; /* fontawesome angle-right */ - font-family: FontAwesome; - position: absolute; - right: 0; - top: 12px; - color: #0D294E; + margin: 0 -8px 0 -8px; } .landing .card .level-2 { position: relative; } .landing .card .level-2 a { - padding: 8px 12px 8px 32px; + padding: 8px 8px 8px 28px; display: block; - margin: 0 -12px 0 -12px; - font-weight: 400; -} -.landing .card .level-2 a:hover { - background-color: #D8EEFC; - text-decoration: none; -} -.landing .card .level-2 a:hover:after { - content: "\f105"; /* fontawesome angle-right */ - font-family: FontAwesome; - position: absolute; - right: 0; - top: 8px; - color: #0D294E; + margin: 0 -8px 0 -8px; } -.level-1:first-child { - margin-top: 0; +.landing .card .blurb + .children-display, +.landing .card .blurb + .curated-links { + margin-top: 1rem; } + +.section-hero .blurb { + font-size: 1.2em; + line-height: 1.71em; +} + .level-2 { list-style-type: circle; margin-left: 30px; @@ -543,13 +608,17 @@ a.current { } +@media (max-width: 991px) { + .landing .card { + padding-left: 0px; + } +} /* (Jump to) "Top" button --------------------------------------------------- */ .jump-to-top { display: none; position: fixed; bottom: 15px; right: 30px; - background-color: #3B4147; font-weight: 700; z-index: 1000; color: white; @@ -561,8 +630,7 @@ a.current { } } - -/* Breacrumbs --------------------------------------------------------------- */ +/* Breadcrumbs -------------------------------------------------------------- */ .breadcrumb-item + .breadcrumb-item:before { content: "\f105"; /* fontawesome angle-right */ @@ -572,40 +640,41 @@ a.current { .breadcrumbs-wrap .breadcrumb { padding: 0; margin-bottom: 0; + font-size: 0.833em; +} +.breadcrumb-item a { + color: hsla(14.999999999999947, 1.98%, 39.61%, 1.00); + text-decoration: none; +} +.breadcrumb-item a:hover { + color: #000; } - /* Left navigation ---------------------------------------------------------- */ +.tree_nav { + top: 48px; + padding: 44px 24px 48px 0; + background-color: white; +} + .sidebar_pagelist { - margin-left: 0; - margin-bottom: 0; - padding-left: 0; - padding-bottom: 15px; + margin-bottom: 12px; + margin-left: 24px; + padding-left: 16px; list-style-type: none; } #sidenav a, .sidenav_parent a { text-decoration: none; - color: black; + line-height: 24px; } #sidenav a.active-parent { - color: #3B4147; font-weight: 700; } #sidenav a:hover, .sidenav_parent a:hover { - text-decoration: underline; - color: #1db4ff; -} -#sidenav a.active, -#sidenav a.active:hover, -.sidenav_parent a.active, -.sidenav_parent a.active:hover { - color: #0F72E5; - font-weight: 700; - cursor: default; text-decoration: none; } @@ -615,21 +684,21 @@ a.current { #sidenav .card { border-width: 0; - border-color: #E1E5E8; } #sidenav .card-body { padding: 0; + padding-left: 15px; +} + +#sidenav .card-body-single { + margin-left: -25px; } #sidenav .collapse { padding-bottom: 0; } -#sidenav .card.active { - background-color: #F1F5F8; -} - #sidenav .card-header { padding: 0; background-color: transparent; @@ -639,200 +708,179 @@ a.current { #sidenav .card { padding: 0; border-radius: 0; - border-top: 1px solid #C9CDD1; } #sidenav .card:only-child { border-top: 0; background: none; } -#sidenav .card:only-child .sidebar_pagelist li a { - padding-left: 55px; -} #sidenav .card-header h5 { margin-bottom: 0; text-transform: none; - font-size: 16px; + font-size: 1.05rem; } #sidenav .card-header h5 .sidenav_cat_title { display: block; - padding: 11px 10px 11px 50px; + padding: 11px 10px 11px 40px; } #sidenav .card-header .sidenav_cat_toggler { - position: absolute; - left: 0; - padding: 10px 12px 12px 12px; - background-color: #e0e0e0; - color: black; - line-height: 0; - transition: background-color 0.5s; + position: absolute; + left: 0; + padding: 10px 12px 12px 12px; + line-height: 0; + + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + transition-duration: 0.3s; } + +#sidenav .card-header .sidenav_cat_toggler { + width: 24px; + height: 24px; + display: block; + -webkit-mask-image: url(../img/icon-arrow.svg); + mask-image: url(../img/icon-arrow.svg); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-size: 24px 24px; + mask-size: 24px 24px; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + border: 12px solid transparent; +} + #sidenav .card-header .sidenav_cat_toggler.collapsed { - background-color: #C9CDD1; -} -#sidenav .card-header .sidenav_cat_toggler:hover { - text-decoration: none; + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + transition-duration: 0.3s; } -#sidenav .card-header .sidenav_cat_toggler:before { - content: "-"; - width: 0.8em; - text-align: center; - display: block; - line-height: 17.7px; -} -#sidenav .card-header .sidenav_cat_toggler.collapsed:before { - content: "+"; -} - -.xrp-ledger-dev-portal.sidebar-primary .sidebar { - padding-right: 0; - padding-left: 0; -} .xrp-ledger-dev-portal.sidebar-primary .main { z-index: 5; - border-left: 1px solid #C9CDD1; - padding-left: 40px; + padding: 44px 24px 48px; min-height: 700px; } /* Right navigation --------------------------------------------------------- */ -#dactyl_toc_sidebar a { - text-decoration: none; -} -#dactyl_toc_sidebar a:hover { - text-decoration: underline; -} - -#page-toc-wrapper { - position: fixed; - top: 75px; - max-height: calc(100% - 150px); - margin-right: 1.5rem; +.right-sidebar .card { + position: sticky; + max-height: 85vh; + top: 48px; overflow: auto; - z-index: 10; + padding: 44px 0 48px 24px; + border: none; } -.card .sidebar_pagelist li a { - display: block; - margin-top: 5px; - padding: 4px 15px 4px 75px; - text-indent: -20px; - font-size: 14px; - color: #27a2db; +.right-sidebar .card-header { + border-bottom: none; + background-color: white; + padding: 10px 0; } -.card .sidebar_pagelist a.active { - color: black; +.right-sidebar .card-header h4 { + line-height: 20px; + font-size: 1.2em; + padding: 0; + margin: 0; +} + +.right-sidebar .card-body { + padding: 0 0 0 16px; + list-style-type: none; +} + +.right-sidebar ul li { + list-style-type: none; + margin-bottom: 8px; + margin-left: 0; +} + +.right-sidebar .level-1 a, +.right-sidebar .separator { font-weight: 700; + font-family: "Space Mono", monospace; } - -.card .sidebar_pagelist a:hover { - color: #3B4147; -} - -.subcat-title.active-parent { - font-weight: 700; -} - -.card .sidebar_pagelist li .subpage { - padding-left: 105px; -} - -.sidenav_parent a { - display: block; - text-decoration: none; - font-size: 18px; - font-weight: 700; - padding: 15px 16px 15px 10px; -} - -/* Edit on GitHub link ------------------------------------------------------ */ -.github-edit-wrap { - background-image: linear-gradient(180deg, #fafafa 0%, #ddd 90%); - border: 1px solid #C9CDD1; - border-radius: 5px; -} -.github-edit-wrap:hover { - border-color: #777; -} -.github-edit-wrap:active { - background-image: linear-gradient(180deg, #ddd 0%, #fafafa 90%); -} -.github-edit-wrap .github-edit { - /* background-color: black; */ - background-image: url(../vendor/github-marks/GitHub-Mark-32px.png); - background-size: 24px 24px; - background-position: left 5px center; - background-repeat: no-repeat; - padding: 8px 8px 8px 34px; - color: #777; - text-decoration: none; - font-size: 13px; - display: block; - line-height: 16px; +.right-sidebar .level-2, +.right-sidebar .method { + margin-left: 0; } /* Use Cases ---------------------------------------------------------------- */ -.use-case-steps { - padding-left: 1.5rem; - margin-left: 1.5rem; - border-left: 1px dashed #3B4147; - position: relative; -} .use-case-step-num { - border: 1px solid #3B4147; - border-radius: 50%; - padding: 0.9rem; - position: absolute; - left: -1.8rem; - height: 3.5rem; - width: 3.5rem; - text-align: center; - background-color: white; + margin-top: 64px; + margin-bottom: 24px; + color: #eae7e6; + font-size: 5.16em; + font-weight: 400; + font-family: 'Space Mono', sans-serif; } .use-case-step-length { float: right; color: #888; - font-size: 16px; -} - -.use-case-steps p { - margin-left: .8rem; + font-size: 1rem; } .use-case-steps h2 { - margin-left: .8rem; - margin-top: 0; + margin-top: 10px; + margin-bottom: 10px; + font-size: 1.728em; + line-height: 32px; + font-weight: 700; +} +.use-case-steps h2 a { + text-decoration: none; } .use-case-steps h2:first-of-type:before { display: none; } -/* Landing Pages ------------------------------------------------------------ */ - -.landing p { - font-size: 18px; - margin-bottom: 0; +.use-case h1 { + font-size: 2.4em; + padding-bottom: 10px; +} +.use-case-steps h2:before { + margin-top: -30px; + height: 0; +} +.use-case-steps h2:first-of-type { + margin-top: -30px; } -.landing h2 { - font-weight: bold; - line-height: 40px; - font-size: 32px; +.related-tasks-links ul { + list-style-type: none; + padding-left: 0; +} +.related-tasks-links ul li { + margin: 0px; + padding-top: 2px; +} +.related-tasks-links a:hover::after { + padding-left: .5em; +} +.related-tasks-links a::after { + content: " ➝"; + padding-left: 0; + transition: all .2s ease-in-out; +} + +/* Landing Pages ------------------------------------------------------------ */ + +.landing .display-4 { + margin-bottom: 1.5rem; } .landing h3, #test-net-servers h3 { - font-size: 20px; - line-height: 20px; + font-size: 1.4rem; font-weight: 700; } @@ -844,18 +892,8 @@ a.current { overflow-x: auto; } -.landing a.card, -.landing .card { - color: #212529; - box-shadow: 0px 1px 3px rgba(35, 41, 47, 0.24); - border-radius: 8px; -} - -.landing a.card:hover { - box-shadow: 0px 4px 20px rgba(35, 41, 47, 0.16); -} - -.landing .card li { +.landing .card li, +.xrpl-footer .card li { list-style-type: none; margin-left: 0; } @@ -865,136 +903,159 @@ a.current { border-top-width: 0; } -.landing .card-body { - padding: 12px; +.card-grid .card-body { + padding: 8px; + padding-bottom: 24px; } .landing .card-header, -.landing .card-footer { +.landing .card-footer, +.xrpl-footer .card-header { background: none; border-bottom: none; border-top: none; } -.landing .card-header { - padding: 12px; +.landing .card-header, +.xrpl-footer .card-header { + padding: 8px; } .landing .card-footer { - padding: 0 12px 12px 12px; -} - -.landing .card-header + .card-body { - padding: 0 12px 12px 12px; -} - -.landing .card-header a { - display: block; - margin: -12px; - padding: 12px; - border-radius: inherit; - transition: 0.5s; + padding: 8px; } .landing .card-body > p { padding: 0; - font-size: 18px; -} - -.card-header.bg-dark { - color: white; -} - -.landing .card-header.bg-dark a:hover { - text-decoration: none; - color: #FF9900; -} - -.landing .card .blurb { - margin-top: 1rem; -} - -.landing .card > .card-img-top { - padding: 0 16px; - width: 50%; - margin-left: auto; - margin-right: auto; -} - -#xrp_ledger_intro a:hover { - text-decoration: none; -} - -#xrp_ledger_intro .card-footer { - border-width: 0; - border-radius: 0; - background: none; -} - -#xrp_ledger_intro .card-body { - padding: 1px; -} - -.recently-updated-date { - font-style: italic; - color: #6B7075; - font-size: 13px; - padding-left: 8px; -} - -.splash-head { - background-color: #102b3e; - background-image: url("../img/splash-map.svg"); - background-size: cover; - background-position: center center; - color: white; - line-height: 38px; -} - -.splash-head h1 { - font-weight: 700; -} - -.splash-head p { - text-shadow: 0px 1px 2px #171C21; margin-bottom: 0; } -.splash-head p .btn { - text-shadow: none; +.btn-outline-secondary { + padding: 9px 16px; + transition: box-shadow 200ms ease, background-color 200ms ease, color 200ms ease; + background-color: transparent; } -.splash-head code { - color: white; +#main_content_wrapper { + border-bottom: none; } -.build-disclaimer { - font-size: 10pt; +.content a.button { + /* should match the bootstrap buttons */ + display: inline-block; + font-weight: 400; + text-align: center; + vertical-align: middle; + text-decoration: none; + line-height: 1.5; + padding: 9px 16px; + transition: 0.5s; } - -/* "Related Projects" (i.e. Client Portal & Interledger) boxes -------------- */ - -.related-projects a { +.content a.button::after { + content: " ➝"; + padding-left: 7px; + transition: all .2s ease-in-out; + display: inline-block; text-decoration: none; } -.related-projects h3 { - margin: 0; - padding: 5px 15px; + +.content a.button:hover::after { + padding-left: 14px; } -.related-projects .project-name { - font-size: 18px; + +.btn:not(.external-link)::after, +.landing .card .level-1 a::after, +.landing .card .level-2 a::after, +.landing .card .curated-links li a::after, +.content .children-display li a::after { + content: " ➝"; + padding-left: 7px; + transition: all .2s ease-in-out; + display: inline-block; + text-decoration: none; } -.related-projects .login-required { - font-size: 12px; + +.btn.jump-to-top::after { + content: " ↑" } -.related-projects p { - margin: 10px; + +.btn:not(.external-link):hover::after, +.landing .card .level-1 a:hover::after, +.landing .card .level-2 a:hover::after, +.landing .card .curated-links li a:hover::after, +.landing a.card:hover .btn::after, +.content .children-display li a:hover::after { + padding-left: 14px; + text-decoration: none; } -.related-projects .project-icon { - width: 120px; - float: left; - margin-right: 10px; + +.btn.fa-search::after, +.btn.fa-search:hover::after, +.request-options .btn::after, +.request-options .btn:hover::after, +.response-options .btn::after, +.response-options .btn:hover::after { + content: ""; + padding: 0; +} + +.external-link .fa-external-link, +.related-projects a .fa-external-link { + transition: all .2s ease-in-out; + display: inline-block; + padding-left: 7px; +} +.external-link:hover .fa-external-link, +.related-projects a:hover .fa-external-link { + padding-left: 14px; +} + +/* Avoid shifting other text over */ +.content .external-link .fa-external-link { + padding-left: 1px; + padding-right: 7px; +} +.content .external-link:hover .fa-external-link { + padding-left: 7px; + padding-right: 1px; +} + +.landing .card .card-img-top { + width: 60px; + height: 60px; + margin-left: 0; + margin-right: auto; +} +.image-icon { + width: 60px; + height: 60px; + margin-bottom: 16px; +} + +/* Full-link cards */ +.landing a.card { + border: 1px solid transparent; +} +.landing a.card:hover { + text-decoration: none; +} +.landing a.card:hover h3 { + text-decoration: underline; +} + +/* "Related Projects" boxes -------------- */ + +.interledger-link .project-icon { + width: 80px; +} + +.xpring-link .project-icon { + height: 60px; + width: 100px; + line-height: 20px; + vertical-align: middle; + margin: 9px 0; } /* Interactive blocks in tutorial contents ---------------------------------- */ @@ -1004,7 +1065,7 @@ a.current { So the visual styles go on this inner div. */ .interactive-block-inner { - border: 1px dashed #ff5c00; + border: 1px dashed #25A768; padding: 10px; margin: 5px; } @@ -1026,17 +1087,17 @@ a.current { } .interactive-block .breadcrumb-item.active a { - color: #43bded; + color: #43bded; /* TODO: adjust this color */ } .interactive-block .breadcrumb-item.disabled a { - color: #6B7075; + color: #6B7075; /* TODO: adjust this color */ } .interactive-block .breadcrumb-item.done a:after { content: "\f058"; /* fontawesome check-circle icon */ font-family: FontAwesome; - color: #6B7075; + color: #6B7075; /* TODO: adjust this color */ padding-right: 5px; padding-left: 5px; } @@ -1055,17 +1116,47 @@ a.current { text-indent: 0; } -.status.not_enabled { - color: #0F72E5; -} - -.status.enabled { - color: #5cb85c; -} - /* Responsive design for different viewscreens ------------------------------ */ @media (max-width: 991px) { + +#main_content_wrapper { + padding: 0 24px; +} +.navbar-brand img { + width: 120px; +} +.landing section:first-of-type h1:first-child { + font-size: 3em; + font-weight: 400; +} +.section-hero .blurb { + font-size: 0.95em; +} + +.sidebar-primary .main { + border-left: none; + border-right: none; +} + +.right-sidebar .card { + padding-left: 0; +} + +#main_content_body { + padding: 0; + border: none; +} +#main_content_body .container-fluid { + padding-left: 0; +} + +.xrpl-footer { + margin: 0 24px; +} + + + #page-toc-wrapper { position: static; display: block; @@ -1144,17 +1235,12 @@ a.current { .page-test-net .throbber, .page-tx-sender .throbber, .interactive-block .throbber { - -webkit-animation: rotating 1s linear infinite; - -moz-animation: rotating 1s linear infinite; - -ms-animation: rotating 1s linear infinite; - -o-animation: rotating 1s linear infinite; - animation: rotating 1s linear infinite; - width: 25px;height:25px; + width: 24px;height:24px; } #connection-status-item.active { - background-color: #2BCB96; - border-color: #2BCB96; + background-color: #2BCB96; /* TODO: adjust this color */ + border-color: #2BCB96; /* TODO: adjust this color */ } #tx-sender-history ul { @@ -1163,11 +1249,6 @@ a.current { border: 1px solid rgba(0, 0, 0, 0.125) } -#tx-sender-history .list-group-item { - font-size: small; - color: #6c757d; -} - .page-tx-sender .input-group .form-control { flex: 1 1 20%; } @@ -1180,16 +1261,7 @@ a.current { /* Print styles ------------------------------------------------------------- */ @media print { - { /* undo code tabs */ - /* wrap code, not scroll */ - /* Source URLs are too big to float */ - /* Show URLs after links - even for anchors */ - /* Drop header, footer, google translate */ - /* table of contents can't scroll */ - /* better margins on main content */ - /* crazy print-section-numbering idea */ - } .multicode > div { display: block !important; } @@ -1204,6 +1276,7 @@ a.current { .multicode > p { display: block !important; } + /* wrap code, not scroll */ pre { white-space: pre-wrap; max-height: none !important; @@ -1217,23 +1290,30 @@ a.current { .content a[title="Source"] { float: none; } + /* Drop header, footer, sidebars */ header, - footer { + footer, + aside { display: none; } - #goog-gt-tt { + /* Full-width content body */ + .content, #main_content_body { + position: static; + display: block; + width: auto; + height: auto; + max-width: 100%; + } + #main_content_wrapper { + margin-top: 0; + } + #main_content_body::before { display: none; } - h1 { - page-break-before: always; + .xrp-ledger-dev-portal.sidebar-primary .main { + border: 0; } - .main { - float: none !important; - width: 85% !important; - border-left: 0 !important; - padding: 0 !important; - margin: 0 !important; - display: block !important; - overflow: visible !important; + .sidebar-primary .row { + display: block; } } diff --git a/assets/css/ripple.css.bak b/assets/css/ripple.css.bak deleted file mode 100755 index 0b0e6403cd..0000000000 --- a/assets/css/ripple.css.bak +++ /dev/null @@ -1,7973 +0,0 @@ -/******************************************************************** - THIS PAGE IS GENERATED FROM RIPPLE.COM. DO NOT EDIT MANUALLY. - *******************************************************************/ - -/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - font-size: 2em; - margin: 0.67em 0; -} -mark { - background: #ff0; - color: #000; -} -small { - font-size: 80%; -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - color: inherit; - font: inherit; - margin: 0; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} -legend { - border: 0; - padding: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-collapse: collapse; - border-spacing: 0; -} -td, -th { - padding: 0; -} -@media print { - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - select { - background: #fff !important; - } - .navbar { - display: none; - } - .table td, - .table th { - background-color: #fff !important; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #27a2db; -} -a:hover, -a:focus { - color: #22456e; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - width: 100% \9; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - padding: 4px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - display: inline-block; - width: 100% \9; - max-width: 100%; - height: auto; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -cite { - font-style: normal; -} -mark, -.mark { - background-color: #fcf8e3; - padding: .2em; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #777777; -} -.text-primary { - color: #27a2db; -} -a.text-primary:hover { - color: #285282; -} -.text-success { - color: #3c763d; -} -a.text-success:hover { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover { - color: #245269; -} -.text-warning { - color: #8a6d3b; -} -a.text-warning:hover { - color: #66512c; -} -.text-danger { - color: #a94442; -} -a.text-danger:hover { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #27a2db; -} -a.bg-primary:hover { - background-color: #285282; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover { - background-color: #e4b9b9; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - list-style: none; - margin-left: -5px; -} -.list-inline > li { - display: inline-block; - padding-left: 5px; - padding-right: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 992px) { - .dl-horizontal dt { - float: left; - width: 160px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777777; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #27a2db; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; - text-align: right; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -blockquote:before, -blockquote:after { - content: ""; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #ffffff; - background-color: #333333; - border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); -} -kbd kbd { - padding: 0; - font-size: 100%; - box-shadow: none; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - word-break: break-all; - word-wrap: break-word; - color: #333333; - background-color: #f5f5f5; - border: 1px solid #cccccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -.row { - margin-left: -15px; - margin-right: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: auto; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: auto; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0%; -} -@media (min-width: 768px) { - .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 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 992px) { - .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 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 1200px) { - .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 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0%; - } -} -table { - background-color: transparent; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #dddddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #dddddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #dddddd; -} -.table .table { - background-color: #ffffff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-child(odd) > td, -.table-striped > tbody > tr:nth-child(odd) > th { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - background-color: #f5f5f5; -} -table col[class*="col-"] { - position: static; - float: none; - display: table-column; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - float: none; - display: table-cell; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #d9edf7; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - overflow-x: auto; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #dddddd; - -webkit-overflow-scrolling: touch; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - padding: 0; - margin: 0; - border: 0; - min-width: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; - background-color: #ffffff; - background-image: none; - border: 1px solid #cccccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); -} -.form-control::-moz-placeholder { - color: #777777; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #777777; -} -.form-control::-webkit-input-placeholder { - color: #777777; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eeeeee; - opacity: 1; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - line-height: 34px; - line-height: 1.42857143 \0; -} -input[type="date"].input-sm, -input[type="time"].input-sm, -input[type="datetime-local"].input-sm, -input[type="month"].input-sm { - line-height: 30px; -} -input[type="date"].input-lg, -input[type="time"].input-lg, -input[type="datetime-local"].input-lg, -input[type="month"].input-lg { - line-height: 46px; -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - min-height: 20px; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-left: -20px; - margin-top: 4px \9; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; -} -.form-control-static { - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-left: 0; - padding-right: 0; -} -.input-sm, -.form-horizontal .form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm { - height: 30px; - line-height: 30px; -} -textarea.input-sm, -select[multiple].input-sm { - height: auto; -} -.input-lg, -.form-horizontal .form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-lg { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.form-control-feedback { - position: absolute; - top: 25px; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; -} -.input-lg + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline { - color: #3c763d; -} -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; -} -.has-success .input-group-addon { - color: #3c763d; - border-color: #3c763d; - background-color: #dff0d8; -} -.has-success .form-control-feedback { - color: #3c763d; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline { - color: #8a6d3b; -} -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; -} -.has-warning .input-group-addon { - color: #8a6d3b; - border-color: #8a6d3b; - background-color: #fcf8e3; -} -.has-warning .form-control-feedback { - color: #8a6d3b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline { - color: #a94442; -} -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; -} -.has-error .input-group-addon { - color: #a94442; - border-color: #a94442; - background-color: #f2dede; -} -.has-error .form-control-feedback { - color: #a94442; -} -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - margin-top: 0; - margin-bottom: 0; - padding-top: 7px; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} -.form-horizontal .form-group { - margin-left: -15px; - margin-right: -15px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - margin-bottom: 0; - padding-top: 7px; - } -} -.form-horizontal .has-feedback .form-control-feedback { - top: 0; - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.3px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - } -} -.btn { - display: inline-block; - margin-bottom: 0; - font-weight: normal; - text-align: center; - vertical-align: middle; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - white-space: nowrap; - padding: 10px 15px; - border-radius: 5px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus { - color: #333333; - text-decoration: none; -} -.btn:active, -.btn.active { - outline: 0; - background-image: none; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-default { - color: #333333; - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default .badge { - color: #ffffff; - background-color: #333333; -} -.btn-primary { - color: #ffffff; - background-color: #27a2db; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #ffffff; - background-color: #0987d7; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #27a2db; - border-color: #2e5e96; -} -.btn-primary .badge { - color: #27a2db; - background-color: #ffffff; -} -.btn-success { - color: #ffffff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #ffffff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #ffffff; -} -.btn-info { - color: #ffffff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #ffffff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #ffffff; -} -.btn-warning { - color: #ffffff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #ffffff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #ffffff; -} -.btn-danger { - color: #ffffff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #ffffff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #ffffff; -} -.btn-link { - color: #27a2db; - font-weight: normal; - cursor: pointer; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #22456e; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -tr.collapse.in { - display: table-row; -} -tbody.collapse.in { - display: table-row-group; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 11px 0 0 !important; - list-style: none; - font-size: 14px; - text-align: left; - background-color: #f4f6f7; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - background-clip: padding-box; -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 18px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - text-decoration: none; - color: #27a2db; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #27a2db; - text-decoration: none; - outline: 0; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #777777; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - cursor: not-allowed; -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - left: auto; - right: 0; -} -.dropdown-menu-left { - left: 0; - right: auto; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777777; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px solid; - content: ""; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} -@media (min-width: 992px) { - .navbar-right .dropdown-menu { - left: auto; - right: 0; - } - .navbar-right .dropdown-menu-left { - left: 0; - right: auto; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus { - outline: 0; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn-group:last-child > .btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-bottom-left-radius: 4px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - float: none; - display: table-cell; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - position: absolute; - z-index: -1; - opacity: 0; - filter: alpha(opacity=0); -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-left: 0; - padding-right: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555555; - text-align: center; - background-color: #eeeeee; - border: 1px solid #cccccc; - border-radius: 4px; -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - margin-left: -1px; -} -.nav { - margin-bottom: 0; - padding-left: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 20px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #777777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777777; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #27a2db; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #dddddd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #dddddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #dddddd; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #ffffff; - background-color: #27a2db; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar { - position: relative; - min-height: 50px; -} -@media (min-width: 992px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 992px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 992px) { - .navbar-collapse { - width: auto; - border-top: 0; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-left: 0; - padding-right: 0; - } -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} -.container > .navbar-header, -.container-fluid > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-collapse { - margin-left: -15px; -} -@media (min-width: 992px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 992px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -@media (min-width: 992px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - padding: 15px 0 15px; - font-size: 18px; - line-height: 30px; - height: 66px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-toggle { - position: relative; - float: right; - margin-right: 15px; - padding: 9px 10px; - margin-top: 8px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 992px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 991px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 992px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } - .navbar-nav.navbar-right:last-child { - margin-right: -15px; - } -} -@media (min-width: 992px) { - .navbar-left { - float: left !important; - float: left; - } - .navbar-right { - float: right !important; - float: right; - } -} -.navbar-form { - margin-left: -15px; - margin-right: -15px; - padding: 10px 15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - margin-top: 8px; - margin-bottom: 8px; -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 991px) { - .navbar-form .form-group { - margin-bottom: 5px; - } -} -@media (min-width: 992px) { - .navbar-form { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-form.navbar-right:last-child { - margin-right: -15px; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; -} -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; -} -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; -} -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; -} -@media (min-width: 992px) { - .navbar-text { - float: left; - margin-left: 15px; - margin-right: 15px; - } - .navbar-text.navbar-right:last-child { - margin-right: 0; - } -} -ul#menu-primary-navigation { - float: right; - margin-top: 10px; - letter-spacing: .03em; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - content: "/\00a0"; - padding: 0 5px; - color: #cccccc; -} -.breadcrumb > .active { - color: #777777; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #27a2db; - background-color: #ffffff; - border: 1px solid #dddddd; - margin-left: -1px; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #22456e; - background-color: #eeeeee; - border-color: #dddddd; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #ffffff; - background-color: #27a2db; - border-color: #27a2db; - cursor: default; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #777777; - background-color: #ffffff; - border-color: #dddddd; - cursor: not-allowed; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 6px; - border-top-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-bottom-right-radius: 6px; - border-top-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - list-style: none; - text-align: center; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - border: none; - outline: 0; - color: #27a2db; - border-radius: 5px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: underline !important; -} -.pager .next > a, -.pager .next > span { - float: right; - margin-top: 35px; -} -.pager .previous > a, -.pager .previous > span { - float: left; - margin-top: 35px; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777777; - background-color: #ffffff; - cursor: not-allowed; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #777777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} -.label-primary { - background-color: #27a2db; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #285282; -} -.label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} -.label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} -.label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} -.label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - color: #ffffff; - line-height: 1; - vertical-align: baseline; - white-space: nowrap; - text-align: center; - background-color: #777777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #27a2db; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #eeeeee; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron { - padding-left: 60px; - padding-right: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-left: auto; - margin-right: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #27a2db; -} -.thumbnail .caption { - padding: 9px; - color: #333333; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - background-color: #dff0d8; - border-color: #d6e9c6; - color: #3c763d; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} -.alert-info { - background-color: #d9edf7; - border-color: #bce8f1; - color: #31708f; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} -.alert-warning { - background-color: #fcf8e3; - border-color: #faebcc; - color: #8a6d3b; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} -.alert-danger { - background-color: #f2dede; - border-color: #ebccd1; - color: #a94442; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} -.progress-bar { - float: left; - width: 0%; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #ffffff; - text-align: center; - background-color: #27a2db; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-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); - background-image: -o-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); - 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); - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar[aria-valuenow="1"], -.progress-bar[aria-valuenow="2"] { - min-width: 30px; -} -.progress-bar[aria-valuenow="0"] { - color: #777777; - min-width: 30px; - background-color: transparent; - background-image: none; - box-shadow: none; -} -.progress-bar-success { - background-color: #5cb85c; -} -.progress-striped .progress-bar-success { - background-image: -webkit-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); - background-image: -o-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); - 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); -} -.progress-bar-info { - background-color: #5bc0de; -} -.progress-striped .progress-bar-info { - background-image: -webkit-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); - background-image: -o-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); - 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); -} -.progress-bar-warning { - background-color: #f0ad4e; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-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); - background-image: -o-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); - 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); -} -.progress-bar-danger { - background-color: #d9534f; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-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); - background-image: -o-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); - 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); -} -.media, -.media-body { - overflow: hidden; - zoom: 1; -} -.media, -.media .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media-object { - display: block; -} -.media-heading { - margin: 0 0 5px; -} -.media > .pull-left { - margin-right: 10px; -} -.media > .pull-right { - margin-left: 10px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - margin-bottom: 20px; - padding-left: 0; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.list-group-item:first-child { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -a.list-group-item { - color: #555555; -} -a.list-group-item .list-group-item-heading { - color: #333333; -} -a.list-group-item:hover, -a.list-group-item:focus { - text-decoration: none; - color: #555555; - background-color: #f5f5f5; -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - background-color: #eeeeee; - color: #777777; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777777; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #ffffff; - background-color: #27a2db; - border-color: #27a2db; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #bed3eb; -} -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} -a.list-group-item-success { - color: #3c763d; -} -a.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -a.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -a.list-group-item-success.active:hover, -a.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -a.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -a.list-group-item-info.active:hover, -a.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} -a.list-group-item-warning { - color: #8a6d3b; -} -a.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -a.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} -a.list-group-item-danger { - color: #a94442; -} -a.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -a.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 4px; - border-bottom: 1px solid #cccccc; -} -.panel-body { - padding: 15px; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #dddddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive { - border-top: 1px solid #dddddd; -} -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} -.panel > .table-responsive { - border: 0; - margin-bottom: 0; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body { - border-top: 1px solid #dddddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #dddddd; -} -.panel-default { - border-color: #dddddd; -} -.panel-default > .panel-heading { - color: #333333; - background-color: #f5f5f5; - border-color: #dddddd; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #dddddd; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #dddddd; -} -.panel-primary { - border-color: #27a2db; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #27a2db; - border-color: #27a2db; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #27a2db; -} -.panel-primary > .panel-heading .badge { - color: #27a2db; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #27a2db; -} -.panel-success { - border-color: #d6e9c6; -} -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-info { - border-color: #bce8f1; -} -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; -} -.panel-warning { - border-color: #faebcc; -} -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; -} -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #ebccd1; -} -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1; -} -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object { - position: absolute; - top: 0; - left: 0; - bottom: 0; - height: 100%; - width: 100%; - border: 0; -} -.embed-responsive.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); -} -.close:hover, -.close:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); -} -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -.modal-open { - overflow: hidden; -} -.modal { - display: none; - overflow: hidden; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transform: translate3d(0, -25%, 0); - transform: translate3d(0, -25%, 0); - -webkit-transition: -webkit-transform 0.3s ease-out; - -moz-transition: -moz-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; -} -.modal.in .modal-dialog { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} -.modal-content { - position: relative; - background-color: #ffffff; - border: 1px solid #999999; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - background-clip: padding-box; - outline: 0; -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000000; -} -.modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); -} -.modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); -} -.modal-header { - padding: 15px; - border-bottom: 1px solid #e5e5e5; - min-height: 16.42857143px; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 15px; -} -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - } - .modal-sm { - width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px; - } -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; -} -.carousel-inner > .item { - display: none; - position: relative; - -webkit-transition: 0.6s ease-in-out left; - -o-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - line-height: 1; -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 15%; - opacity: 0.5; - filter: alpha(opacity=50); - font-size: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); -} -.carousel-control.right { - left: auto; - right: 0; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); -} -.carousel-control:hover, -.carousel-control:focus { - outline: 0; - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid #ffffff; - border-radius: 10px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); -} -.carousel-indicators .active { - margin: 0; - width: 12px; - height: 12px; - background-color: #ffffff; -} -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; - } - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-footer:before, -.modal-footer:after { - content: " "; - display: table; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-left: auto; - margin-right: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; - visibility: hidden !important; -} -.affix { - position: fixed; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -} -/* -****************** -Global adjustments -****************** -*/ -html { - overflow-y: scroll; -} -html, -body { - font-family: 'Roboto', sans-serif; - background-color: #ffffff; - width: 100%; - height: 100%; - font-size: 16px; - color: #333333; -} -.main_content, -.main { - background: #ffffff; -} -section#comments, -section#respond { - visibility: hidden; -} -input, -textarea, -select { - background-color: #ffffff; - border: 1px solid #cccccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - -webkit-transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; - -moz-transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; - -o-transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; -} -input:focus, -textarea:focus, -select:focus { - border-color: #888888; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(136, 136, 136, 0.6); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(136, 136, 136, 0.6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(136, 136, 136, 0.6); -} -.collapse { - padding-bottom: 15px; -} -/* -****************** -Fonts -****************** -*/ - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../font/Roboto-Regular.woff) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} - -/* -****************** -subnav -****************** -*/ -.subnav a { - color: #666; -} -.subnav .active a { - color: #27a2db; -} -/* -****************** -Dev subnav -****************** -*/ -.banner .dev_nav { - background: #f4f6f7; - padding: 5px; - border-top: 1px solid #27a2db; - border-bottom: 1px solid #cccccc; -} -.banner .dev_nav li { - display: inline; - padding: 5px 5px 5px 15px; -} -.banner .dev_nav li.dropdown { - display: inline; - padding: 5px 5px 5px 15px; -} -.banner .dev_nav li.dropdown:hover { - padding: 15px 5px 17px 15px; - background: #ffffff; -} -.banner .dev_nav li.dropdown a { - padding: 15px 5px; -} -.banner .dev_nav ul { - margin: 10px 0px; - padding-left: 15px; -} -.banner .dev_nav .dropdown-menu { - background: #ffffff; -} -.banner .dev_nav .dropdown-menu > li > a { - padding: 5px; -} -@media (max-width: 767px) { - #menu-dev-menu { - display: none; - } - .dev_nav { - padding: 0 !important; - border-bottom: none !important; - } -} -/* -****************** -Style subnav -****************** -*/ -.style_nav { - background: #f4f6f7; - padding: 5px; - border-top: 1px solid #27a2db; - border-bottom: 1px solid #cccccc; -} -.style_nav li { - display: inline; - margin-right: 15px; - padding: 5px 5px 5px 0; -} -.style_nav ul { - margin: 10px 0px; - padding-left: 0; -} -/* -****************** -Company subnav -****************** -*/ -.company_nav { - background: #f4f6f7; - padding: 5px; - border-top: 1px solid #27a2db; - border-bottom: 1px solid #cccccc; -} -.company_nav li { - display: inline; - margin-right: 15px; - padding: 5px 5px 5px 0; -} -.company_nav ul { - margin: 10px 0px; - padding-left: 0; -} -/* -****************** -News subnav -****************** -*/ -.news_nav { - background: #f4f6f7; - padding: 5px; - border-top: 1px solid #27a2db; - border-bottom: 1px solid #cccccc; -} -.news_nav li { - display: inline; - margin-right: 15px; - padding: 5px 5px 5px 0; -} -.news_nav ul { - margin: 10px 0px; - padding-left: 0; -} -/* -****************** -hero image and CTA -****************** -*/ -.call_to_action { - z-index: 9999; - margin-top: 30px; - padding: 12px 24px; - background-color: #27a2db; - border-radius: 3px; - border: none; - outline: 0; - color: #ffffff; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: 5s; - -webkit-transition: .5s; - transition: .5s; -} -.call_to_action:hover, -.call_to_action:focus { - background-color: #43bded; - o-transition: .5s; - ms-transition: .5s; - moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - outline: 0; -} -.call_to_action a { - color: #ffffff; -} -.call_to_action a:hover, -.call_to_action a:focus { - text-decoration: none; -} -.hero_home { - height: 100%; -} -.hero { - height: 375px; - line-height: 0; - background-size: cover; -} -.hero-container { - background: #4e4e50; - margin-top: 60px; -} -.page-fx-market-making .header_text_wrapper, -.page-cross-currency-settlement .header_text_wrapper, -.page-originators .header_text_wrapper, -.page-financial-institutions .header_text_wrapper, -.page-market-makers .header_text_wrapper, -.page-system-integrators .header_text_wrapper, -.page-contact .header_text_wrapper { - margin-top: 30px; -} -.page-fx-market-making .hero-container, -.page-cross-currency-settlement .hero-container, -.page-originators .hero-container, -.page-financial-institutions .hero-container, -.page-market-makers .hero-container, -.page-system-integrators .hero-container, -.page-contact .hero-container { - background: #217a9b; - background: -moz-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); - background: -webkit-gradient(left top, right bottom, color-stop(0%, #217a9b), color-stop(100%, #215a79)); - background: -webkit-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); - background: -o-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); - background: -ms-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); - background: linear-gradient(135deg, #217a9b 0%, #215a79 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#217a9b', endColorstr='#215a79', GradientType=1); -} -@media (max-width: 480px) { - .page-fx-market-making .hero-container .hero, - .page-cross-currency-settlement .hero-container .hero, - .page-originators .hero-container .hero, - .page-financial-institutions .hero-container .hero, - .page-market-makers .hero-container .hero, - .page-system-integrators .hero-container .hero, - .page-contact .hero-container .hero { - background-image: none !important; - } -} - -.throbber { - -webkit-animation: spin 1s linear infinite; - -moz-animation: spin 1s linear infinite; - animation: spin 1s linear infinite; -} -@-moz-keyframes spin { - 100% { - -moz-transform: rotate(360deg); - } -} -@-webkit-keyframes spin { - 100% { - -webkit-transform: rotate(360deg); - } -} -@keyframes spin { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.readmore { - text-align: center; - max-width: 200px; - padding: 10px; - margin: 25px 0; - background-color: rgba(255, 255, 255, 0.2); - border: 1px solid #ffffff; - border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - color: #ffffff; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: 5s; - -webkit-transition: .5s; - transition: .5s; -} -.readmore a { - color: #ffffff; -} -.readmore a:hover { - text-decoration: none; -} -.readmore:hover, -.readmore:focus { - background: #ffffff; - background-color: rgba(255, 255, 255, 0.4); - border: 1px solid #ffffff; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: 5s; - -webkit-transition: .5s; - transition: .5s; -} -a.cta_link:hover { - text-decoration: none; -} -.cta_readmore { - font-family: 'open_sansregular', sans-serif; - font-size: 14px; - text-align: center; - max-width: 450px; - padding: 10px 25px; - margin: 25px 0; - background-color: rgba(204, 204, 204, 0.1); - border: 1px solid #cccccc; - border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - color: #000000; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: 5s; - -webkit-transition: .5s; - transition: .5s; -} -.cta_readmore a { - color: #000000; -} -.cta_readmore:hover, -.cta_readmore:focus { - text-decoration: none; - background: #ffffff; - background-color: rgba(204, 204, 204, 0.3); - border: 1px solid #cccccc; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: 5s; - -webkit-transition: .5s; - transition: .5s; -} -.cta_readmore .center_btn { - margin: 25px auto; -} -.cta_readmore.center_btn { - margin: 25px auto; -} -.ripple_page_heading { - padding-top: 15px; -} -.fi_logo { - padding-bottom: 20px; -} -.last_section { - padding: 40px 0; -} -code { - border: none; -} -time.published, -.author { - font-family: 'open_sansregular', sans-serif; - font-size: 14px; - color: #999999; -} -.widget { - padding-bottom: 30px; -} -.content code { - color: #111; -} -#mc_embed_signup form { - padding: 0 !important; -} -#mc_embed_signup input { - margin: auto; - padding: 10px 20px; -} -/* -********************** -Google Forms -********************** -*/ -label.gform-error, -label.wpgform-error { - float: right; - color: red; - font-weight: bold; -} -div.gform-captcha, -div.wpgform-captcha { - margin: 5px 0px 10px; - display: none; -} -div.gform-browser-warning, -div.gform-browser-error, -div.wpgform-browser-warning, -div.wpgform-browser-error { - -webkit-border-radius: 3px; - border-radius: 3px; - border-width: 1px; - border-style: solid; - padding: 0 .6em; - margin: 5px 0 15px; -} -div.gform-browser-warning, -div.wpgform-browser-warning { - background-color: #ffffe0; - border-color: #e6db55; -} -div.gform-google-error, -div.gform-browser-error, -div.wpgform-google-error, -div.wpgform-browser-error { - background-color: #ffebe8; - border-color: #cc0000; -} -div.ss-footer-txt, -div.ss-logo { - display: none; -} -div.ss-no-ignore-whitespace { - white-space: pre-wrap; -} -div.ss-required-asterisk { - color: red; - font-weight: bold; -} -input.ss-q-short:text { - width: 300px; -} -label.ss-q-help { - display: block; -} -label.ss-q-title { - font-weight: bold; -} -div.ss-form-container div.disclaimer { - display: none; -} -td.ss-form-entry > div.ss-secondary-text { - display: none; -} -div.password-warning { - display: none; -} -div.ss-form-container li { - list-style-type: none; -} -a.ss-edit-link { - display: none; -} -div.aria-only-help { - display: none; -} -div.error-message { - display: none; -} -input.ss-q-short, -textarea.ss-q-long { - width: auto; -} -td.hd, -td.headerEnd, -tr.rShim, -td.sortBar { - display: none; - width: 0px !important; - padding: 0px !important; -} -div div span.powered, -div.listview { - display: none; -} -div.ss-form-container div.required-message { - display: none; -} -.ss-form-container { - font-family: 'open_sansregular', sans-serif !important; -} -.ss-form-container .ss-form-entry > input { - background: #fff !important; - width: 350px; - height: 42px; - margin: 5px 0; -} -.ss-form-container .ss-form-heading { - display: none; -} -.ss-form-container ol { - padding: 0; -} -.ss-form-container label { - font-weight: normal; -} -.ss-form-container textarea.ss-q-long { - width: 100%; -} -.ss-form-container input#ss-submit { - border: none; - background: #3372ad !important; - color: #ffffff; - margin-top: 15px; -} -.page-vm-downloads .ss-form-container input#ss-submit { - margin: 15px 0 0 50px; -} -.page-ripple-deep-dive .ss-form-container .ss-form-entry > input { - background: #fff !important; - width: 350px; - height: 42px; - padding-left: 10px; -} -.page-ripple-deep-dive .ss-form-container .ss-form-question { - width: 100px; - margin-bottom: 10px; -} -/* -********************** -Ripple logo font icon -********************** -*/ -/* -****************** -Contact form adjust -****************** -*/ -.wpcf7 input, -.wpcf7 select { - height: 42px; - padding-left: 10px; - width: 100%; - margin-top: 10px; -} -.wpcf7 .wpcf7-response-output { - border: none !important; -} -.wpcf7 .wpcf7-textarea { - height: 75px; -} -.wpcf7 img.wpcf7-form-control.wpcf7-captchac { - margin: auto; -} -.wpcf7 textarea.wpcf7-form-control.wpcf7-textarea { - width: 100% !important; - margin-top: 10px; -} -/* -****************** -Thank You page -****************** -*/ -.page-thank-you .page-header { - display: none !important; -} -.page-thank-you main.main { - text-align: center; -} -.page-thank-you ul { - list-style-type: none; -} -/* -****************** -404 page -****************** -*/ -.error404 main.main { - text-align: center; -} -.error404 .four-o-four { - padding: 80px 0; -} -.error404 h1 { - font-size: 48px; - color: #27a2db; -} -.error404 ul { - list-style-type: none; -} -.error404 .schwartz { - margin: auto; - padding: 10px 0; -} -/* -****************** -Social icons -****************** -*/ -.social_icons span { - padding-right: 10px; -} -.fb-like.fb_iframe_widget { - vertical-align: super; - float: left; -} -.twitter-share-button { - margin-left: 10px; - width: 70px !important; -} -/* -****************** -Hero animations -****************** -*/ -.animated { - -webkit-animation-duration: 1s; - animation-duration: 1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} -.animated2 { - -webkit-animation-duration: 1.5s; - animation-duration: 1.5s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} -.animated3 { - -webkit-animation-duration: 2s; - animation-duration: 2s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} -.animated4 { - -webkit-animation-duration: 0.5s; - animation-duration: 0.5s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} -@-webkit-keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translateY(20px); - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - } -} -@keyframes fadeInUp { - 0% { - opacity: 0; - transform: translateY(20px); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; -} -@-webkit-keyframes fadeInUp2 { - 0% { - opacity: 0.5; - -webkit-transform: translateY(200px); - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - } -} -@keyframes fadeInUp2 { - 0% { - opacity: 0.5; - transform: translateY(200px); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} -.fadeInUp2 { - -webkit-animation-name: fadeInUp2; - animation-name: fadeInUp2; -} -@-webkit-keyframes fadeDown { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - } - 100% { - opacity: 0.5; - -webkit-transform: translateY(200px); - } -} -@keyframes fadeDown { - 0% { - opacity: 1; - transform: translateY(0); - } - 100% { - opacity: 0.5; - transform: translateY(200px); - } -} -.fadeDown { - -webkit-animation-name: fadeDown; - animation-name: fadeDown; -} -/* -****************** -Media Queries -****************** -*/ -@media (max-width: 992px) { - .container { - width: 100%; - } - .hero { - height: 400px; - } - .home img.biz_logo { - display: block; - margin: auto; - } - .home .col-md-6 { - text-align: center; - } - .home .cta_readmore { - margin: 10px auto; - } -} -@media (max-width: 991px) { - .container-adjust.container { - width: 100%; - } - .initial_logo, - .logo_scrolled, - .logo { - margin-left: 15px; - } - .navbar-default .navbar-nav > .active > a, - .navbar-default .navbar-nav > .active > a:hover, - .navbar-default .navbar-nav > .active > a:focus { - background-color: transparent !important; - } - ul#menu-primary-navigation { - float: left; - } - ul#menu-primary-navigation li > a { - padding-top: 5px; - padding-bottom: 5px; - } - ul#menu-primary-navigation li:hover { - background: transparent !important; - } - ul#menu-primary-navigation ul.dropdown-menu { - display: block !important; - background-color: transparent; - position: inherit; - width: 100%; - margin-left: 25px !important; - padding-bottom: 5px; - } - ul#menu-primary-navigation ul.dropdown-menu li { - padding: 0; - } - ul#menu-primary-navigation .caret { - display: none; - } - .navbar-brand { - padding: 15px 0px; - } - .teaser_text_wrapper.container, - .header_text_wrapper.container { - padding: 0; - } -} -@media (max-width: 480px) { - .header_text { - font-size: 48px; - } - .leading_header_text { - font-size: 21px; - } - input, - textarea, - select { - max-width: 250px; - } - .dev_nav { - background: #f4f6f7; - padding: 5px; - border-top: 1px solid #27a2db; - border-bottom: 1px solid #cccccc; - } - .dev_nav li { - display: inline; - margin-right: 5px; - padding: 5px; - } - .dev_nav ul { - margin: 10px 0 10px -15px; - padding-left: 0; - font-size: 12px; - } - .divider { - display: none; - } -} -@media (min-width: 480px) { - .dev_nav .container { - padding-left: 0; - } -} -@media (min-width: 992px) { - .content { - min-height: 900px; - } -} -@media (max-width: 600px) { - .hidden-mobile { - display: none !important; - } -} -@media (max-width: 1024px) { - .hidden-ipad { - display: none !important; - } -} -@media (max-width: 1024px) and (orientation: landscape) { - .hidden-tablet { - display: none !important; - } - .visible-tablet { - display: block !important; - } -} - -.aligncenter { - display: block; - margin: 10px auto; -} -.alignleft, -.alignright { - margin-bottom: 10px; -} -figure.alignnone { - margin-left: 0; - margin-right: 0; - max-width: 100%; -} -@media (min-width: 768px) { - .alignleft { - float: left; - margin-right: 10px; - } - .alignright { - float: right; - margin-left: 10px; - } -} -.main { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .main { - float: left; - width: 100%; - } -} -.sidebar-primary .main { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .sidebar-primary .main { - float: left; - width: 66.66666667%; - } -} -.banner .main_nav_wrapper { - border-bottom: 1px solid #27a2db; - height: 60px; -} -.banner ul#menu-primary-navigation li:hover { - background: rgba(255, 255, 255, 0.9); -} -.banner ul#menu-primary-navigation li:hover a { - color: #676767; -} -.banner .dropdown-menu { - background: rgba(255, 255, 255, 0.9); - margin: 0 !important; - border: none; - padding: 0; -} -@media (max-width: 992px) { - .banner .container { - width: 100%; - } -} -@media (min-width: 992px) { - .banner li.menu-contact { - border: none; - background: #27a2db; - margin-top: 10px; - margin-left: 15px; - border-radius: 3px; - } - .banner li.menu-contact:hover, - .banner li.menu-contact:active, - .banner li.menu-contact:focus { - background-color: #43bded !important; - } - .banner li.menu-contact a { - color: #ffffff; - padding: 5px 20px; - } - .banner li.menu-contact a:hover, - .banner li.menu-contact a:active, - .banner li.menu-contact a:focus { - color: #ffffff !important; - } - .banner li.menu-contact.active { - background-color: #27a2db !important; - } - .banner li.menu-contact.active:hover, - .banner li.menu-contact.active:active, - .banner li.menu-contact.active:focus { - background-color: #43bded !important; - } - .banner li.menu-contact.active a { - color: #ffffff; - background-color: transparent; - } - .banner li.menu-contact.active a:hover, - .banner li.menu-contact.active a:active, - .banner li.menu-contact.active a:focus { - background-color: transparent; - } -} -.sidebar { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .sidebar { - float: left; - width: 33.33333333%; - } -} -.sidebar h5 { - font-family: 'open_sansbold', sans-serif; - text-transform: uppercase; - font-size: 17px; - color: #344e5a; - letter-spacing: .04em; - margin-bottom: 20px; -} -.sidebar ul.curated { - color: #808080; - list-style-type: none; - padding: 0; - font-size: 17px; -} -.sidebar ul.curated a { - color: #27a2db; -} -.sidebar ul.curated li:last-child { - margin-bottom: 35px; -} -.blog .sidebar, -.insights .sidebar, -.category .sidebar, -.single .sidebar { - font-size: 17px; - color: #808080; - line-height: 1.53em; -} -.blog .sidebar h5:nth-of-type(2), -.insights .sidebar h5:nth-of-type(2), -.category .sidebar h5:nth-of-type(2), -.single .sidebar h5:nth-of-type(2) { - margin-top: 35px; -} -.content-info { - z-index: 2; - color: #999999; - padding: 50px 0; - font-size: 14px; - background: #4e4e50 url(../img/ripple_footer_v2.jpg) repeat-x center center; - background-position-y: -60px; -} -.content-info .readmore { - position: absolute; - width: 100%; - top: 220px; -} -.content-info .clamped { - overflow: hidden; - position: relative; - max-height: 5.8em; - /*display ellipsis after 4 lines*/ -} -.content-info section { - margin-bottom: 70px; -} -.content-info a { - text-decoration: none; - transition: .5s; -} -.content-info a:hover { - color: #ffffff; - transition: .5s; -} -.content-info h3, -.content-info h4 { - color: #ffffff; -} -.content-info h3 { - font-weight: light; -} -.content-info hr { - border-top: 1px solid #999999; -} -.content-info h5 { - color: #ffffff; - font-size: 18px; - font-weight: bold; - line-height: 1.4em; - letter-spacing: 0.03em; -} -.content-info h5 a { - color: #ffffff; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - letter-spacing: .04em; - text-decoration: none; -} -.content-info h5 a:hover, -.content-info h5 a:focus { - color: #999999; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - text-decoration: none; -} -.content-info ul.recent_posts_with_excerpts { - padding: 0; -} -.content-info ul.recent_posts_with_excerpts li { - list-style-type: none; -} -.content-info .pull_right { - float: right; -} -.content-info .pull_right li { - display: inline-block; - vertical-align: middle; -} -.content-info .absolute_bottom_footer { - padding: 0; -} -.content-info .absolute_bottom_footer a { - color: #999999; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; -} -.content-info .absolute_bottom_footer a:hover, -.content-info .absolute_bottom_footer a:focus { - color: #ffffff; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - text-decoration: none; -} -.content-info .absolute_bottom_footer .col-sm-8 span { - margin-right: 25px; -} -.content-info .absolute_bottom_footer .social-iconer a { - color: #ffffff; - o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; -} -.content-info .absolute_bottom_footer .social-iconer a:hover, -.content-info .absolute_bottom_footer .social-iconer a:focus { - color: #27a2db; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - text-decoration: none; -} -.content-info ul.menu { - list-style-type: none; - padding: 0; -} -.content-info ul.menu a { - color: #999999; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - text-decoration: none; -} -.content-info ul.menu a:hover, -.content-info ul.menu a:focus { - color: #ffffff; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; - text-decoration: none; -} -.content-info #breaker { - margin: 90px 0; -} -.content-info h3 a, -.content-info h4 a { - color: #ffffff; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; -} -.content-info h3 a:hover, -.content-info h4 a:hover { - color: #cccccc; - text-decoration: none; - -o-transition: .5s; - -ms-transition: .5s; - -moz-transition: .5s; - -webkit-transition: .5s; - transition: .5s; -} -@media (max-width: 767px) { - .content-info .col-sm-3 { - margin-bottom: 20px; - } - .content-info .col-sm-4 .readmore { - top: initial !important; - } - .content-info .pull_right { - position: absolute; - bottom: -5px; - } -} -@media (max-width: 768px) { - .content-info { - background: #262627; - background: -moz-linear-gradient(270deg, #262627 0%, #525254 100%); - background: -webkit-linear-gradient(270deg, #262627 0%, #525254 100%); - background: -o-linear-gradient(270deg, #262627 0%, #525254 100%); - background: -ms-linear-gradient(270deg, #262627 0%, #525254 100%); - background: linear-gradient(0deg, #262627 0%, #525254 100%); - } -} -@media (min-width: 1200px) { - .content-info .readmore { - max-width: 305px; - } - .content-info section { - padding: 0 70px 0 15px !important; - } -} -@media (max-width: 1199px) { - .content-info .readmore { - top: 250px !important; - } -} -/*! - * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -@font-face { - font-family: 'FontAwesome'; - src: url('../fonts/fontawesome-webfont.eot?v=4.2.0'); - src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.fa { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.fa-lg { - font-size: 1.33333333em; - line-height: .75em; - vertical-align: -15%; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-fw { - width: 1.28571429em; - text-align: center; -} -.fa-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} -.fa-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: .14285714em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714286em; -} -.fa-border { - padding: .2em .25em .15em; - border: solid .08em #eee; - border-radius: 0.1em; -} -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fa.pull-left { - margin-right: 0.3em; -} -.fa.pull-right { - margin-left: 0.3em; -} -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.fa-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.fa-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.fa-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.fa-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} -.fa-stack-1x, -.fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.fa-stack-1x { - line-height: inherit; -} -.fa-stack-2x { - font-size: 2em; -} -.fa-inverse { - color: #ffffff; -} -.fa-glass:before { - content: "\f000"; -} -.fa-music:before { - content: "\f001"; -} -.fa-search:before { - content: "\f002"; -} -.fa-envelope-o:before { - content: "\f003"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-o:before { - content: "\f006"; -} -.fa-user:before { - content: "\f007"; -} -.fa-film:before { - content: "\f008"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "\f00d"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-gear:before, -.fa-cog:before { - content: "\f013"; -} -.fa-trash-o:before { - content: "\f014"; -} -.fa-home:before { - content: "\f015"; -} -.fa-file-o:before { - content: "\f016"; -} -.fa-clock-o:before { - content: "\f017"; -} -.fa-road:before { - content: "\f018"; -} -.fa-download:before { - content: "\f019"; -} -.fa-arrow-circle-o-down:before { - content: "\f01a"; -} -.fa-arrow-circle-o-up:before { - content: "\f01b"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-play-circle-o:before { - content: "\f01d"; -} -.fa-rotate-right:before, -.fa-repeat:before { - content: "\f01e"; -} -.fa-refresh:before { - content: "\f021"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-font:before { - content: "\f031"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-dedent:before, -.fa-outdent:before { - content: "\f03b"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-video-camera:before { - content: "\f03d"; -} -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "\f03e"; -} -.fa-pencil:before { - content: "\f040"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-edit:before, -.fa-pencil-square-o:before { - content: "\f044"; -} -.fa-share-square-o:before { - content: "\f045"; -} -.fa-check-square-o:before { - content: "\f046"; -} -.fa-arrows:before { - content: "\f047"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-times-circle-o:before { - content: "\f05c"; -} -.fa-check-circle-o:before { - content: "\f05d"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-mail-forward:before, -.fa-share:before { - content: "\f064"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-calendar:before { - content: "\f073"; -} -.fa-random:before { - content: "\f074"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-arrows-v:before { - content: "\f07d"; -} -.fa-arrows-h:before { - content: "\f07e"; -} -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "\f080"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-key:before { - content: "\f084"; -} -.fa-gears:before, -.fa-cogs:before { - content: "\f085"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-thumbs-o-up:before { - content: "\f087"; -} -.fa-thumbs-o-down:before { - content: "\f088"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-heart-o:before { - content: "\f08a"; -} -.fa-sign-out:before { - content: "\f08b"; -} -.fa-linkedin-square:before { - content: "\f08c"; -} -.fa-thumb-tack:before { - content: "\f08d"; -} -.fa-external-link:before { - content: "\f08e"; -} -.fa-sign-in:before { - content: "\f090"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-lemon-o:before { - content: "\f094"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-square-o:before { - content: "\f096"; -} -.fa-bookmark-o:before { - content: "\f097"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-facebook:before { - content: "\f09a"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-rss:before { - content: "\f09e"; -} -.fa-hdd-o:before { - content: "\f0a0"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-group:before, -.fa-users:before { - content: "\f0c0"; -} -.fa-chain:before, -.fa-link:before { - content: "\f0c1"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-cut:before, -.fa-scissors:before { - content: "\f0c4"; -} -.fa-copy:before, -.fa-files-o:before { - content: "\f0c5"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-save:before, -.fa-floppy-o:before { - content: "\f0c7"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "\f0c9"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-plus:before { - content: "\f0d5"; -} -.fa-money:before { - content: "\f0d6"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-unsorted:before, -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-down:before, -.fa-sort-desc:before { - content: "\f0dd"; -} -.fa-sort-up:before, -.fa-sort-asc:before { - content: "\f0de"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-linkedin:before { - content: "\f0e1"; -} -.fa-rotate-left:before, -.fa-undo:before { - content: "\f0e2"; -} -.fa-legal:before, -.fa-gavel:before { - content: "\f0e3"; -} -.fa-dashboard:before, -.fa-tachometer:before { - content: "\f0e4"; -} -.fa-comment-o:before { - content: "\f0e5"; -} -.fa-comments-o:before { - content: "\f0e6"; -} -.fa-flash:before, -.fa-bolt:before { - content: "\f0e7"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-paste:before, -.fa-clipboard:before { - content: "\f0ea"; -} -.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa-exchange:before { - content: "\f0ec"; -} -.fa-cloud-download:before { - content: "\f0ed"; -} -.fa-cloud-upload:before { - content: "\f0ee"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-bell-o:before { - content: "\f0a2"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cutlery:before { - content: "\f0f5"; -} -.fa-file-text-o:before { - content: "\f0f6"; -} -.fa-building-o:before { - content: "\f0f7"; -} -.fa-hospital-o:before { - content: "\f0f8"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-mobile-phone:before, -.fa-mobile:before { - content: "\f10b"; -} -.fa-circle-o:before { - content: "\f10c"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-mail-reply:before, -.fa-reply:before { - content: "\f112"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-folder-o:before { - content: "\f114"; -} -.fa-folder-open-o:before { - content: "\f115"; -} -.fa-smile-o:before { - content: "\f118"; -} -.fa-frown-o:before { - content: "\f119"; -} -.fa-meh-o:before { - content: "\f11a"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-keyboard-o:before { - content: "\f11c"; -} -.fa-flag-o:before { - content: "\f11d"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-code:before { - content: "\f121"; -} -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "\f122"; -} -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "\f123"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-code-fork:before { - content: "\f126"; -} -.fa-unlink:before, -.fa-chain-broken:before { - content: "\f127"; -} -.fa-question:before { - content: "\f128"; -} -.fa-info:before { - content: "\f129"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-shield:before { - content: "\f132"; -} -.fa-calendar-o:before { - content: "\f133"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-ticket:before { - content: "\f145"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-minus-square-o:before { - content: "\f147"; -} -.fa-level-up:before { - content: "\f148"; -} -.fa-level-down:before { - content: "\f149"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-pencil-square:before { - content: "\f14b"; -} -.fa-external-link-square:before { - content: "\f14c"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa-euro:before, -.fa-eur:before { - content: "\f153"; -} -.fa-gbp:before { - content: "\f154"; -} -.fa-dollar:before, -.fa-usd:before { - content: "\f155"; -} -.fa-rupee:before, -.fa-inr:before { - content: "\f156"; -} -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "\f157"; -} -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "\f158"; -} -.fa-won:before, -.fa-krw:before { - content: "\f159"; -} -.fa-bitcoin:before, -.fa-btc:before { - content: "\f15a"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-text:before { - content: "\f15c"; -} -.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-youtube-square:before { - content: "\f166"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-youtube-play:before { - content: "\f16a"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitbucket-square:before { - content: "\f172"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-long-arrow-down:before { - content: "\f175"; -} -.fa-long-arrow-up:before { - content: "\f176"; -} -.fa-long-arrow-left:before { - content: "\f177"; -} -.fa-long-arrow-right:before { - content: "\f178"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-female:before { - content: "\f182"; -} -.fa-male:before { - content: "\f183"; -} -.fa-gittip:before { - content: "\f184"; -} -.fa-sun-o:before { - content: "\f185"; -} -.fa-moon-o:before { - content: "\f186"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-arrow-circle-o-right:before { - content: "\f18e"; -} -.fa-arrow-circle-o-left:before { - content: "\f190"; -} -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa-dot-circle-o:before { - content: "\f192"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-turkish-lira:before, -.fa-try:before { - content: "\f195"; -} -.fa-plus-square-o:before { - content: "\f196"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "\f19c"; -} -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-pied-piper:before { - content: "\f1a7"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-spoon:before { - content: "\f1b1"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-automobile:before, -.fa-car:before { - content: "\f1b9"; -} -.fa-cab:before, -.fa-taxi:before { - content: "\f1ba"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa-file-word-o:before { - content: "\f1c2"; -} -.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "\f1c5"; -} -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "\f1c8"; -} -.fa-file-code-o:before { - content: "\f1c9"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa-ra:before, -.fa-rebel:before { - content: "\f1d0"; -} -.fa-ge:before, -.fa-empire:before { - content: "\f1d1"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-wechat:before, -.fa-weixin:before { - content: "\f1d7"; -} -.fa-send:before, -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "\f1d9"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-circle-thin:before { - content: "\f1db"; -} -.fa-header:before { - content: "\f1dc"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-sliders:before { - content: "\f1de"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\f1e3"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bell-slash-o:before { - content: "\f1f7"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-eyedropper:before { - content: "\f1fb"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-area-chart:before { - content: "\f1fe"; -} -.fa-pie-chart:before { - content: "\f200"; -} -.fa-line-chart:before { - content: "\f201"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-cc:before { - content: "\f20a"; -} -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\f20b"; -} -.fa-meanpath:before { - content: "\f20c"; -} diff --git a/assets/favicons/browserconfig.xml b/assets/favicons/browserconfig.xml index 57c07ffcbf..33d8b004ca 100644 --- a/assets/favicons/browserconfig.xml +++ b/assets/favicons/browserconfig.xml @@ -3,7 +3,7 @@ - #1db4ff + #25A768 diff --git a/assets/favicons/site.webmanifest b/assets/favicons/site.webmanifest index 836ceb2550..86833cdff4 100644 --- a/assets/favicons/site.webmanifest +++ b/assets/favicons/site.webmanifest @@ -13,7 +13,7 @@ "type": "image/png" } ], - "theme_color": "#1db4ff", - "background_color": "#1db4ff", - "start_url": "http://developers.ripple.com/" + "theme_color": "#25A768", + "background_color": "#25A768", + "start_url": "https://xrpl.org/" } diff --git a/assets/font/Roboto-Light.woff2 b/assets/font/Roboto-Light.woff2 deleted file mode 100644 index 52c5845a7c..0000000000 Binary files a/assets/font/Roboto-Light.woff2 and /dev/null differ diff --git a/assets/font/Roboto-Mono.woff2 b/assets/font/Roboto-Mono.woff2 deleted file mode 100644 index 6163de7b0a..0000000000 Binary files a/assets/font/Roboto-Mono.woff2 and /dev/null differ diff --git a/assets/font/SpaceMono-Bold.woff2 b/assets/font/SpaceMono-Bold.woff2 new file mode 100644 index 0000000000..aa7029d757 Binary files /dev/null and b/assets/font/SpaceMono-Bold.woff2 differ diff --git a/assets/font/SpaceMono-Regular.woff2 b/assets/font/SpaceMono-Regular.woff2 new file mode 100644 index 0000000000..cb736d31f7 Binary files /dev/null and b/assets/font/SpaceMono-Regular.woff2 differ diff --git a/assets/img/XRPLedger_DevPortal-black.svg b/assets/img/XRPLedger_DevPortal-black.svg new file mode 100644 index 0000000000..619973877d --- /dev/null +++ b/assets/img/XRPLedger_DevPortal-black.svg @@ -0,0 +1 @@ +XRPLedger-black \ No newline at end of file diff --git a/assets/img/XRPLedger_DevPortal_Gray.svg b/assets/img/XRPLedger_DevPortal_Gray.svg deleted file mode 100644 index 37a5c71c8f..0000000000 --- a/assets/img/XRPLedger_DevPortal_Gray.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/assets/img/airplane.svg b/assets/img/airplane.svg deleted file mode 100644 index 3429c64612..0000000000 --- a/assets/img/airplane.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/assets/img/dollar-arrow.svg b/assets/img/dollar-arrow.svg deleted file mode 100644 index 50bdc55d8b..0000000000 --- a/assets/img/dollar-arrow.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/assets/img/exchange-on-ripple.svg b/assets/img/exchange-on-ripple.svg deleted file mode 100644 index 88df31784a..0000000000 --- a/assets/img/exchange-on-ripple.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - diff --git a/assets/img/exchange.svg b/assets/img/exchange.svg deleted file mode 100644 index 92801a580b..0000000000 --- a/assets/img/exchange.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/assets/img/gears.svg b/assets/img/gears.svg deleted file mode 100644 index 37e0d9f858..0000000000 --- a/assets/img/gears.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/assets/img/icon-arrow.svg b/assets/img/icon-arrow.svg new file mode 100644 index 0000000000..ca40d8859e --- /dev/null +++ b/assets/img/icon-arrow.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/img/icon-new-window.svg b/assets/img/icon-new-window.svg new file mode 100644 index 0000000000..891ae9cd08 --- /dev/null +++ b/assets/img/icon-new-window.svg @@ -0,0 +1 @@ +icon-new-window \ No newline at end of file diff --git a/assets/img/icon-xrp-censorship-resistant.svg b/assets/img/icon-xrp-censorship-resistant.svg new file mode 100644 index 0000000000..a966c99bad --- /dev/null +++ b/assets/img/icon-xrp-censorship-resistant.svg @@ -0,0 +1 @@ +icon-xrp-censorship-resistant \ No newline at end of file diff --git a/assets/img/icon-xrp-digital-asset.svg b/assets/img/icon-xrp-digital-asset.svg new file mode 100644 index 0000000000..dd7c38fbbb --- /dev/null +++ b/assets/img/icon-xrp-digital-asset.svg @@ -0,0 +1 @@ +icon-xrp-digital-asset \ No newline at end of file diff --git a/assets/img/icon-xrp-fast-algorithm.svg b/assets/img/icon-xrp-fast-algorithm.svg new file mode 100644 index 0000000000..8a9c8bbbc4 --- /dev/null +++ b/assets/img/icon-xrp-fast-algorithm.svg @@ -0,0 +1 @@ +icon-xrp-fast-algorithm \ No newline at end of file diff --git a/assets/img/icon-xrp-finite.svg b/assets/img/icon-xrp-finite.svg new file mode 100644 index 0000000000..f778f85e13 --- /dev/null +++ b/assets/img/icon-xrp-finite.svg @@ -0,0 +1 @@ +icon-xrp-finite \ No newline at end of file diff --git a/assets/img/icon-xrp-list-xrp.svg b/assets/img/icon-xrp-list-xrp.svg new file mode 100644 index 0000000000..315860016e --- /dev/null +++ b/assets/img/icon-xrp-list-xrp.svg @@ -0,0 +1 @@ +icon-xrp-list-xrp \ No newline at end of file diff --git a/assets/img/icon-xrp-modern-smart-contracts.svg b/assets/img/icon-xrp-modern-smart-contracts.svg new file mode 100644 index 0000000000..22734468d1 --- /dev/null +++ b/assets/img/icon-xrp-modern-smart-contracts.svg @@ -0,0 +1 @@ +icon-xrp-modern-smart-contracts \ No newline at end of file diff --git a/assets/img/icon-xrp-on-ledger-decentralized.svg b/assets/img/icon-xrp-on-ledger-decentralized.svg new file mode 100644 index 0000000000..04f63c9acb --- /dev/null +++ b/assets/img/icon-xrp-on-ledger-decentralized.svg @@ -0,0 +1 @@ +icon-xrp-on-ledger-decentralized \ No newline at end of file diff --git a/assets/img/icon-xrp-responsible.svg b/assets/img/icon-xrp-responsible.svg new file mode 100644 index 0000000000..6a7d6c7fd7 --- /dev/null +++ b/assets/img/icon-xrp-responsible.svg @@ -0,0 +1 @@ +icon-xrp-responsible \ No newline at end of file diff --git a/assets/img/icon-xrp-run-rippled.svg b/assets/img/icon-xrp-run-rippled.svg new file mode 100644 index 0000000000..3b95a5aa7c --- /dev/null +++ b/assets/img/icon-xrp-run-rippled.svg @@ -0,0 +1 @@ +icon-xrp-run-rippled \ No newline at end of file diff --git a/assets/img/icon-xrp-secure.svg b/assets/img/icon-xrp-secure.svg new file mode 100644 index 0000000000..18e2b24e3f --- /dev/null +++ b/assets/img/icon-xrp-secure.svg @@ -0,0 +1 @@ +icon-xrp-secure \ No newline at end of file diff --git a/assets/img/icon-xrp-send-xrp.svg b/assets/img/icon-xrp-send-xrp.svg new file mode 100644 index 0000000000..578193f41c --- /dev/null +++ b/assets/img/icon-xrp-send-xrp.svg @@ -0,0 +1 @@ +icon-xrp-send-xrp \ No newline at end of file diff --git a/assets/img/icon-xrp-use-payment-channels.svg b/assets/img/icon-xrp-use-payment-channels.svg new file mode 100644 index 0000000000..b7341f5621 --- /dev/null +++ b/assets/img/icon-xrp-use-payment-channels.svg @@ -0,0 +1 @@ +icon-xrp-use-payment-channels \ No newline at end of file diff --git a/assets/img/line-graph.svg b/assets/img/line-graph.svg deleted file mode 100644 index 3f3b218ec9..0000000000 --- a/assets/img/line-graph.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/assets/img/lock.svg b/assets/img/lock.svg deleted file mode 100644 index e2df01a7ae..0000000000 --- a/assets/img/lock.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/assets/img/map.svg b/assets/img/map.svg deleted file mode 100644 index f011d417f6..0000000000 --- a/assets/img/map.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/assets/img/market-maker-on-ripple.svg b/assets/img/market-maker-on-ripple.svg deleted file mode 100644 index d024b02005..0000000000 --- a/assets/img/market-maker-on-ripple.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/assets/img/network.svg b/assets/img/network.svg deleted file mode 100644 index c254e59c8a..0000000000 --- a/assets/img/network.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/assets/img/payment-card.svg b/assets/img/payment-card.svg deleted file mode 100644 index 998db748c7..0000000000 --- a/assets/img/payment-card.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/assets/img/reference-book.svg b/assets/img/reference-book.svg deleted file mode 100644 index a938909d5a..0000000000 --- a/assets/img/reference-book.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/img/ripple-triskelion.png b/assets/img/ripple-triskelion.png deleted file mode 100644 index 3cb379fb58..0000000000 Binary files a/assets/img/ripple-triskelion.png and /dev/null differ diff --git a/assets/img/rippleThrobber.png b/assets/img/rippleThrobber.png deleted file mode 100644 index acd9809380..0000000000 Binary files a/assets/img/rippleThrobber.png and /dev/null differ diff --git a/assets/img/ripple_footer_v2.jpg b/assets/img/ripple_footer_v2.jpg deleted file mode 100644 index 204d997a9f..0000000000 Binary files a/assets/img/ripple_footer_v2.jpg and /dev/null differ diff --git a/assets/img/scales.svg b/assets/img/scales.svg deleted file mode 100644 index 4152310ead..0000000000 --- a/assets/img/scales.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/assets/img/splash-map.svg b/assets/img/splash-map.svg deleted file mode 100644 index d90e9cf863..0000000000 --- a/assets/img/splash-map.svg +++ /dev/null @@ -1,1651 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/img/triskellion.svg b/assets/img/triskellion.svg deleted file mode 100644 index 1447d0df8a..0000000000 --- a/assets/img/triskellion.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/assets/img/wallet-on-ripple.svg b/assets/img/wallet-on-ripple.svg deleted file mode 100644 index a6b57a2ea6..0000000000 --- a/assets/img/wallet-on-ripple.svg +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/assets/img/xpring-logo.svg b/assets/img/xpring-logo.svg new file mode 100644 index 0000000000..aa27751bd4 --- /dev/null +++ b/assets/img/xpring-logo.svg @@ -0,0 +1 @@ +logo-xpring \ No newline at end of file diff --git a/assets/img/xrp-loader-96.png b/assets/img/xrp-loader-96.png new file mode 100644 index 0000000000..ea4a301545 Binary files /dev/null and b/assets/img/xrp-loader-96.png differ diff --git a/assets/js/apitool-methods-ws.js b/assets/js/apitool-methods-ws.js new file mode 100644 index 0000000000..54cb376973 --- /dev/null +++ b/assets/js/apitool-methods-ws.js @@ -0,0 +1,418 @@ +Request("Account Methods") + +Request('account_channels', { + description: "Returns information about an account's payment channels.", + link: "account_channels.html", + body: { + "id": 1, + "command": "account_channels", + "account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH", + "destination_account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "ledger_index": "validated" + } +}) + +Request('account_currencies', { + description: "Retrieves a list of currencies that an account can send or receive, based on its trust lines.", + link: "account_currencies.html", + body: { + "command": "account_currencies", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "validated" + } +}) + +Request('account_info', { + description: "Retrieves information about an account, its activity, and its XRP balance.", + link: "account_info.html", + body: { + "id": 2, + "command": "account_info", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "strict": true, + "ledger_index": "current", + "queue": true + } +}) + +Request('account_objects', { + description: "Returns the raw ledger format for all objects owned by an account.", + link: "account_objects.html", + body: { + "id": 1, + "command": "account_objects", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index": "validated", + "type": "state", + "limit": 10 + } +}) + +Request('account_offers', { + description: "Retrieves a list of offers made by a given account that are outstanding as of a particular ledger version.", + link: "account_offers.html", + body: { + "id": 2, + "command": "account_offers", + "account": "rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM" + } +}) + +Request('account_tx', { + description: "Retrieves a list of transactions that affected the specified account.", + link: "account_tx.html", + body: { + "id": 2, + "command": "account_tx", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index_min": -1, + "ledger_index_max": -1, + "binary": false, + "limit": 2, + "forward": false + } +}) + +Request('gateway_balances', { + description: "Calculates the total balances issued by a given account, optionally excluding amounts held by operational addresses.", + link: "gateway_balances.html", + body: { + "id": "example_gateway_balances_1", + "command": "gateway_balances", + "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "strict": true, + "hotwallet": ["rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ","ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt"], + "ledger_index": "validated" + } +}) + +Request('noripple_check', { + description: "Compares an account's DefaultRipple and NoRipple flags to the recommended settings.", + link: "noripple_check.html", + body: { + "id": 0, + "command": "noripple_check", + "account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "role": "gateway", + "ledger_index": "current", + "limit": 2, + "transactions": true + } +}) + +Request("Ledger Methods") + +Request('ledger', { + description: "Retrieves information about the public ledger.", + link: "ledger.html", + body: { + "id": 14, + "command": "ledger", + "ledger_index": "validated", + "full": false, + "accounts": false, + "transactions": false, + "expand": false, + "owner_funds": false + } +}) + +Request('ledger_closed', { + description: "Returns the unique identifiers of the most recently closed ledger. (This ledger is not necessarily validated and immutable yet.)", + link: "ledger_closed.html", + body: { + "id": 2, + "command": "ledger_closed" + } +}) + +Request('ledger_current', { + description: "Returns the unique identifiers of the current in-progress ledger.", + link: "ledger_closed.html", + body: { + "id": 2, + "command": "ledger_current" + } +}) + +Request('ledger_data', { + description: "Retrieves contents of the specified ledger.", + link: "ledger_data.html", + body: { + "id": 2, + "ledger_hash": "842B57C1CC0613299A686D3E9F310EC0422C84D3911E5056389AA7E5808A93C8", + "command": "ledger_data", + "limit": 5, + "binary": true + } +}) + +Request('ledger_entry', { + description: "Returns a single ledger object in its raw format.", + link: "ledger_entry.html", + body: { + "id": 3, + "command": "ledger_entry", + "type": "account_root", + "account_root": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "ledger_index": "validated" + } +}) + +Request("Transaction Methods") + +// Future feature: special case sign/sign_for so you can use those if you're +// connected to a local server (with big warning) + +Request('submit', { + description: "Submits a transaction to the network to be confirmed and included in future ledgers.", + link: "submit.html", + body: { + "id": 3, + "command": "submit", + "tx_blob": "1200002280000000240000001E61D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000B732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7447304502210095D23D8AF107DF50651F266259CC7139D0CD0C64ABBA3A958156352A0D95A21E02207FCF9B77D7510380E49FF250C21B57169E14E9B4ACFD314CEDC79DDD0A38B8A681144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754" + } +}) + +Request('submit_multisigned', { + description: "Submits a multi-signed transaction to the network to be confirmed and included in future ledgers.", + link: "submit_multisigned.html", + body: { + "id": "submit_multisigned_example", + "command": "submit_multisigned", + "tx_json": { + "Account": "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", + "Fee": "30000", + "Flags": 262144, + "LimitAmount": { + "currency": "USD", + "issuer": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "value": "100" + }, + "Sequence": 2, + "Signers": [{ + "Signer": { + "Account": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "SigningPubKey": "02B3EC4E5DD96029A647CFA20DA07FE1F85296505552CCAC114087E66B46BD77DF", + "TxnSignature": "30450221009C195DBBF7967E223D8626CA19CF02073667F2B22E206727BFE848FF42BEAC8A022048C323B0BED19A988BDBEFA974B6DE8AA9DCAE250AA82BBD1221787032A864E5" + } + }, { + "Signer": { + "Account": "rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v", + "SigningPubKey": "028FFB276505F9AC3F57E8D5242B386A597EF6C40A7999F37F1948636FD484E25B", + "TxnSignature": "30440220680BBD745004E9CFB6B13A137F505FB92298AD309071D16C7B982825188FD1AE022004200B1F7E4A6A84BB0E4FC09E1E3BA2B66EBD32F0E6D121A34BA3B04AD99BC1" + } + }], + "SigningPubKey": "", + "TransactionType": "TrustSet", + "hash": "BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6" + } + } +}) + +Request('transaction_entry', { + description: "Retrieves information on a single transaction from a specific ledger version.", + link: "transaction_entry.html", + body: { + "id": 4, + "command": "transaction_entry", + "tx_hash": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "ledger_index": 348734 + } +}) + +Request('tx', { + description: "Retrieves information on a single transaction.", + link: "tx.html", + body: { + "id": 1, + "command": "tx", + "transaction": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", + "binary": false + } +}) + +Request('tx_history', { + description: "Retrieves some of the most recent transactions made. (DEPRECATED)", + link: "tx_history.html", + body: { + "id": 5, + "command": "tx_history", + "start": 0 + } +}) + +Request("Path and Order Book Methods") + +Request('book_offers', { + description: "Retrieves a list of offers, also known as the order book, between two currencies.", + link: "book_offers.html", + body: { + "id": 4, + "command": "book_offers", + "taker": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "taker_gets": { + "currency": "XRP" + }, + "taker_pays": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + }, + "limit": 10 + } +}) + +Request('deposit_authorized', { + description: "Checks whether one account is authorized to send payments directly to another.", + link: "deposit_authorized.html", + body: { + "id": 1, + "command": "deposit_authorized", + "source_account": "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de", + "destination_account": "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8", + "ledger_index": "validated" + } +}) + +Request('path_find', { + description: "Searches for a path along which a payment can possibly be made, and periodically sends updates when the path changes over time.", + link: "path_find.html", + ws_only: true, + body: { + "id": 8, + "command": "path_find", + "subcommand": "create", + "source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount": { + "value": "0.001", + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } + } +}) + +Request('ripple_path_find', { + description: "Searches one time for a payment path.", + link: "ripple_path_find.html", + body: { + "id": 8, + "command": "ripple_path_find", + "source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "source_currencies": [ + { + "currency": "XRP" + }, + { + "currency": "USD" + } + ], + "destination_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "destination_amount": { + "value": "0.001", + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } + } +}) + +Request("Payment Channel Methods") + +Request('channel_authorize', { + description: "Creates a signature that can be used to redeem a specific amount of XRP from a payment channel.", + link: "channel_authorize.html", + body: { + "id": "channel_authorize_example_id1", + "command": "channel_authorize", + "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "secret": "s████████████████████████████", + "amount": "1000000" + } +}) + +Request('channel_verify', { + description: "Checks the validity of a signature that can be used to redeem a specific amount of XRP from a payment channel.", + link: "channel_verify.html", + body: { + "id": 1, + "command": "channel_verify", + "channel_id": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "signature": "304402204EF0AFB78AC23ED1C472E74F4299C0C21F1B21D07EFC0A3838A420F76D783A400220154FB11B6F54320666E4C36CA7F686C16A3A0456800BBC43746F34AF50290064", + "public_key": "aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3", + "amount": "1000000" + } +}) + +Request("Subscription Methods") + +Request('subscribe', { + description: "Requests periodic notifications from the server when certain events happen.", + link: "subscribe.html", + body: { + "id": "Example watch one account and all new ledgers", + "command": "subscribe", + "streams": ["ledger"], + "accounts": ["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"] + } +}) + +Request('unsubscribe', { + description: "Tells the server to stop sending messages for a particular subscription or set of subscriptions.", + link: "unsubscribe.html", + body: { + "id": "Example stop watching one account and new ledgers", + "command": "unsubscribe", + "streams": ["ledger"], + "accounts": ["rrpNnNLKrartuEqfJGpqyDwPj1AFPg9vn1"] + } +}) + +Request("Server Info Methods") + +Request('fee', { + description: "Reports the current state of the open-ledger requirements for the transaction cost.", + link: "fee.html", + body: { + "id": "fee_websocket_example", + "command": "fee" + } +}) + +Request('server_info', { + description: "Reports a human-readable version of various information about the rippled server being queried.", + link: "server_info.html", + body: { + "id": 1, + "command": "server_info" + } +}) + +Request('server_state', { + description: "Reports a machine-readable version of various information about the rippled server being queried.", + link: "server_state.html", + body: { + "id": 1, + "command": "server_state" + } +}) + +Request("Utility Methods") + +Request('ping', { + description: "Checks that the connection is working.", + link: "ping.html", + body: { + "id": 1, + "command": "ping" + } +}) + +Request('random', { + description: "Provides a random number, which may be a useful source of entropy for clients.", + link: "random.html", + body: { + "id": 1, + "command": "random" + } +}) diff --git a/assets/js/apitool-rest.js b/assets/js/apitool-rest.js index b8ac2a0e7a..c8addfaca2 100644 --- a/assets/js/apitool-rest.js +++ b/assets/js/apitool-rest.js @@ -58,7 +58,7 @@ function generate_table_of_contents() { } else { commandlist.append("

  • "+req.name+"
  • "); } - }); + }); } function make_commands_clickable() { @@ -136,7 +136,7 @@ function select_request(request) { if (request === undefined) { var el = commandlist.children("li:not(.separator)").eq(0); request = slugify(el.text()); - + /* var keys = Object.keys(requests); var index = keys.indexOf(cmd); if (index === -1) return;*/ @@ -145,7 +145,7 @@ function select_request(request) { } $(el).siblings().removeClass('selected'); $(el).addClass('selected'); - + command = requests[request]; if (command.test_only === true) { @@ -156,15 +156,15 @@ function select_request(request) { if (command.description) { $(description).html(command.description); - + if (command.link) { - $(description).append(" Read more"); } - + $(description).show(); } else if (command.link) { - $(description).html("Read more"); } else { $(description).hide(); @@ -215,7 +215,7 @@ function send_request() { $(this).addClass('depressed'); response_body.addClass('obscured'); - + var original_cmd = requests[slugify(selected_command.text())]; if (original_cmd.hasOwnProperty("body")) { @@ -274,13 +274,13 @@ $(document).ready(function() { } else { select_request(); } - + if (urlParams["base_url"]) { change_base_url(urlParams["base_url"]); } - + request_button.click(send_request); - + }); var urlParams; diff --git a/assets/js/apitool-websocket.js b/assets/js/apitool-websocket.js index f38d8b78f5..3c621ea5c7 100644 --- a/assets/js/apitool-websocket.js +++ b/assets/js/apitool-websocket.js @@ -1,739 +1,361 @@ -var urlParams; -(window.onpopstate = function () { - var match, - pl = /\+/g, // Regex for replacing addition symbol with a space - search = /([^&=]+)=?([^&]*)/g, - decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, - query = window.location.search.substring(1); +const commandlist = $("#command_list") +const request_body = $(".request-body") +const response_wrapper = $(".response-body-wrapper") +const request_button = $('.send-request') +const conn_btn = $(".connection") +const stream_pause = $(".stream-pause") +const stream_unpause = $(".stream-unpause") +const trash_button = $(".wipe-responses") +const permalink_button = $(".permalink") +const curl_button = $(".curl") - urlParams = {}; - while (match = search.exec(query)) - urlParams[decode(match[1])] = decode(match[2]); -})(); +let STREAM_PAUSED = false -;(function() { - var DOC_BASE = ''; +function slugify(str) { + str = str.replace(/^\s+|\s+$/g, '') // trim + str = str.toLowerCase() - var request_button = $('#request_button'); - var online_state = $('#online_state'); - var command_list = $('#command_list'); - var commands = $(command_list).find('li'); - var command_table = $('#command_table'); - var input = $('#input'); - var description = $(input).find('#description'); - var options = $(input).find('#options'); - var output = $('#output'); - var response = $('#response'); - var request = $('#request'); - var status = $('#status'); - var info = $('#info'); - var spinner = $(".loader"); - - var BASE_HOST_DEFAULT = 's2.ripple.com'; - var BASE_PORT_DEFAULT = 443; - - var remote = new ripple.Remote({ - trusted: true, - local_signing: true, - local_fee: false, - servers: [ - { - host: BASE_HOST_DEFAULT, - port: BASE_PORT_DEFAULT, - secure: true - } - ] - }); - - function new_remote(options) { - remote = new ripple.Remote(options); + // remove accents, swap ñ for n, etc + const from = "àáäâèéëêìíïîòóöôùúüûñç·/_,:;" + const to = "aaaaeeeeiiiioooouuuunc------" + for (let i=0, l=from.length ; i 1) { - msg = "connected to "+remote._servers.length+" servers"; - } - set_online_state(msg); - }); - - /* ---- ---- ---- ---- ---- */ - - //For tracking request IDs - function id() { return id._c; }; - - id._c = 2; - - id.reset = function() { - id._c = remote._get_server()._id; - }; - - /* ---- ---- ---- ---- ---- */ - - //Build requests - var selected_request = { }; - var requests = { }; - - $(commands).each(function(i, el) { - requests[$(el).text()] = 0; - }); - - function Request(cmd, attrs) { - var obj = { - id: void(0), - name: cmd, - message: { command: cmd } +//Build requests +const requests = { }; +const requestlist = []; +function Request(name, obj) { + if (obj === undefined) { + requestlist.push({slug: null,name: name});//separator + return null; } - Object.keys(attrs || { }).forEach(function(k) { - if (k[0] === '_') { - obj[k] = attrs[k]; - } else { - obj.message[k] = attrs[k]; - } - }); - - requests[cmd] = obj; + obj.name = name; + obj.slug = slugify(name); + requests[obj.slug] = obj; + requestlist.push(obj); return obj; - }; +}; - var sample_address = 'r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59'; - var sample_address_2 = 'ra5nK24KXen9AHvsdFTKHSANinZseWnPcX'; - var sample_tx = 'E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7'; - - /* ---- ---- */ - - Request('server_info', { - _description: 'Get information about the state of the server for human consumption. Results are subject to change without notice.', - _link: DOC_BASE + 'server_info.html' - }); - - Request('server_state', { - _description: 'Get information about the state of the server for machine consumption.', - _link: DOC_BASE + 'server_state.html' - }); - - Request('ping', { - _description: 'Check connectivity to the server.', - _link: DOC_BASE + 'ping.html' - }); - - /* ---- ---- */ - - Request('subscribe', { - accounts: [ ], - streams: [ 'server', 'ledger' ], - _description: 'Start receiving selected streams from the server.', - _link: DOC_BASE + 'subscribe.html', - _stream: true - }); - - Request('unsubscribe', { - accounts: [ ], - streams: [ 'server', 'ledger' ], - _description: 'Stop receiving selected streams from the server.', - _link: DOC_BASE + 'unsubscribe.html', - _stream: true - }); - - /* ---- ---- */ - - Request('ledger', { - ledger_index: void(0), - ledger_hash: void(0), - full: false, - expand: false, - transactions: true, - accounts: true, - _description: 'Returns ledger information.', - _link: DOC_BASE + 'ledger.html' - }); - - Request('ledger_entry', { - type: 'account_root', - account_root: sample_address, - ledger_index: 'validated', - ledger_hash: void(0), - _description: 'Get a single node from the ledger', - _link: DOC_BASE + 'ledger_entry.html' - }); - - Request('ledger_closed', { - _description: 'Get the most recent closed ledger index.', - _link: DOC_BASE + 'ledger_closed.html' - }); - - Request('ledger_current', { - _description: 'Get the current in-progress ledger index.', - _link: DOC_BASE + 'ledger_current.html' - }); - - /* ---- ---- */ - - Request('account_info', { - account: sample_address, - _description: 'Get information about the specified account.', - _link: DOC_BASE + 'account_info.html' - }); - - Request('account_lines', { - account: sample_address, - account_index: void(0), - ledger: 'current', - _description: "Get a list of trust lines connected to an account.", - _link: DOC_BASE + 'account_lines.html' - }); - - Request('account_offers', { - account: sample_address, - account_index: void(0), - ledger: 'current', - _description: 'Get a list of offers created by an account.', - _link: DOC_BASE + 'account_offers.html' - }); - - Request('account_tx', { - account: sample_address, - ledger_index_min: -1, - ledger_index_max: -1, - binary: false, - count: false, - limit: 10, - forward: false, - marker: void(0), - _description: 'Get a list of transactions that applied to a specified account.', - _link: DOC_BASE + 'account_tx.html' - }); - - Request('account_currencies', { - account: sample_address, - strict: true, - ledger_index: "validated", - account_index: 0, - _description: 'Returns a list of currencies the account can send or receive.', - _link: DOC_BASE + 'account_currencies.html' - }); - - Request('gateway_balances', { - account: sample_address, - strict: true, - hotwallet: [], - ledger_index: "validated", - account_index: 0, - _description: 'Returns a list of currencies the account can send or receive.', - _link: DOC_BASE + 'gateway_balances.html' - }); - - /* ---- ---- */ - - Request('transaction_entry', { - tx_hash: sample_tx, - ledger_index: 348734, - ledger_hash: void(0), - _description: 'Get information about a specified transaction.', - _link: DOC_BASE + 'transaction_entry.html' - }); - - Request('tx', { - transaction: sample_tx, - _description: 'Returns information about a specified transaction.', - _link: DOC_BASE + 'tx.html' - }); - - Request('tx_history', { - start: 10, - _description: 'Returns the last N transactions starting from start index, in descending order, by ledger sequence number. Server sets N.', - _link: DOC_BASE + 'tx_history.html' - }); - - Request('book_offers', { - ledger_hash: void(0), - ledger_index: void(0), - taker: sample_address, - taker_gets: { - currency: 'XRP' - }, - taker_pays: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B' - }, - limit: 10, - _description: 'Returns a snapshot of the offers for an order book.', - _link: DOC_BASE + 'book_offers.html' - }); - - Request('path_find', { - subcommand: 'create', - source_account: sample_address, - destination_account: sample_address_2, - destination_amount: { - "currency": "USD", - "value": "0.01", - "issuer": sample_address_2 - }, - _description: 'Start or stop searching for payment paths between specified accounts.', - _link: DOC_BASE + 'path_find.html', - _stream: true - }); - - Request('ripple_path_find', { - ledger_hash : void(0), - ledger_index : void(0), - source_account : sample_address, - source_currencies : [ { currency : 'USD' } ], - destination_account : sample_address_2, - destination_amount : { - "currency": "USD", - "value": "0.01", - "issuer": sample_address_2 - }, - _description: 'Find a path between specified accounts once. For repeated usage, call path_find instead.', - _link: DOC_BASE + 'ripple_path_find.html' - }); - - Request('submit', { - secret: 'sn3nxiW7v8KXzPzAqzyHXbSSKNuN9', - tx_json: { - Flags: 0, - TransactionType: 'AccountSet', - Account: 'rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn', - Sequence: void(0), - Fee: '10000', - Flags: 0 - }, - _description: 'Submits a transaction to the network.', - _link: DOC_BASE + 'submit.html', - _takes_secret: true - }); - - Request('sign', { - tx_json : { - "TransactionType" : "Payment", - "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Amount" : { - "currency" : "USD", - "value" : "1", - "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" - } - }, - secret : "sn3nxiW7v8KXzPzAqzyHXbSSKNuN9", - offline: false, - fee_mult_max: 1000, - _description: 'Sends a transaction to be signed by the server.', - _link: DOC_BASE + 'sign.html', - _takes_secret: true -}); - - /* ---- ---- ---- ---- ---- */ - - function rewrite_obj(obj) { - if (typeof obj === 'string') { - var obj = JSON.parse(obj); - } - - var rewrite = { }; - if (obj.id) rewrite.id = obj.id; - if (obj.command) rewrite.command = obj.command; - if (obj.status) rewrite.status = obj.status; - if (obj.type) rewrite.type = obj.type; - - Object.keys(obj).forEach(function(k) { - if (!rewrite.hasOwnProperty(k)) { - rewrite[k] = obj[k]; - } - }); - - return rewrite; - }; - - var cm_request = CodeMirror(request.get(0), { - mode: 'javascript', - json: true, - smartIndent: false - }); - - var cm_response = CodeMirror(response.get(0), { - mode: 'javascript', - json: true, - smartIndent: false, - readOnly: true - }); - - function set_input(command) { - var message = command.message; - - if (command._description) { - //$(description).html(command._description).show(); - $(description).html(command._description); - $(description).append(" Read more"); +function generate_table_of_contents() { + $.each(requestlist, function(i, req) { + if (req.slug === null) { + commandlist.append("
  • "+req.name+"
  • "); } else { - $(description).hide(); + commandlist.append("
  • "+req.name+"
  • "); } + }); +} - $('#selected_command').html($('') - .attr('href', command._link) - .text(command.name)); - - cm_request.setValue(JSON.stringify(message, null, 2)); - }; - - var STREAM_PAUSED = false; - var STREAM_SHOWN = false; - var WAITING = false; - var events = [ ]; - - function set_output(message) { - var parsed = rewrite_obj(message); - var is_response = (parsed.type === 'response'); - - if (is_response && parsed.id === id._c) { - if (!WAITING) return; - else WAITING = false; - spinner.hide(); - - var request_header = '' - + selected_request.name; - + ''; - - var timestamp = '' - + (Date.now() - selected_request.t) + 'ms' - + ''; - - $(request_button).removeClass('depressed'); - - $(info).html(request_header + timestamp); - - $(response).removeClass() - $(response).addClass(parsed.error ? 'error' : 'success'); - - cm_response.setValue(JSON.stringify(parsed, null, 2)); - - ++id._c; - } else if (!is_response && !STREAM_PAUSED) { - var el = $('
    ').get(0); - - $(status).prepend(el); - - CodeMirror(el, { - value: JSON.stringify(parsed, null, 2), - mode: 'javascript', - json: true, - smartIndent: false, - readOnly: true - }); - - events.unshift(parsed); - } - }; - - function select_request(request) { - selected_request = requests[request]; - selected_request.message.id = id(); - selected_request.message = rewrite_obj(selected_request.message); - set_input(selected_request); - - //Remove sign button & sequence number lookup - -// if (selected_request.name !== 'submit') { -// $('#sign_button').hide(); -// return; -// } - - if (selected_request._takes_secret === true) { - $("#test_warning").show(); - } else { - $("#test_warning").hide(); - } - - if (selected_request._stream === true) { - $("#stream_output").show(); - } else { - $("#stream_output").hide(); - } - - if (!remote._connected) { - remote.once('connected', function() { - select_request(request); - }); - return; - } - -// $('#sign_button').show(); - -// var tx_json = selected_request.message.tx_json; - -// if (ripple.UInt160.is_valid(tx_json.Account)) { -// selected_request.message.id = id._c; -// remote.request_account_info(tx_json.Account, function(err, info) { -// id.reset(); -// tx_json.Sequence = info.account_data.Sequence; -// set_input(selected_request); -// }); -// } - }; - - /* ---- ---- ---- ---- ---- */ - - $(commands).click(function() { - var cmd = $(this).text().trim(); +function make_commands_clickable() { + commandlist.children("li").click(function() { + var cmd = slugify($(this).text().trim()); if (!requests[cmd]) return; - select_request(cmd, true); + select_request(cmd); window.location.hash = cmd; $(this).siblings().removeClass('selected'); $(this).addClass('selected'); }); +} - var previous_key = void(0); +const cm_request = CodeMirror(request_body.get(0), { + mode: 'javascript', + json: true, + smartIndent: false, + gutters: ["CodeMirror-lint-markers"], + lint: CodeMirror.lint.json +}) - $(window).keydown(function(e) { - if (e.which === 13 && previous_key === 17) { - //ctrl + enter - e.preventDefault(); - e.stopPropagation(); - $(request_button).click(); - } - previous_key = e.which; - }); +function select_request(request) { + let el + if (request === undefined) { + el = commandlist.children("li:not(.separator)").eq(0) + request = slugify(el.text()) + } else { + el = commandlist.find("li a[href='#"+request+"']").parent() + } + $(el).siblings().removeClass('selected'); + $(el).addClass('selected'); - /* ---- ---- ---- ---- ---- */ + const command = requests[request]; + if (command === undefined) { + console.log("request:", request, "requests:", requests) + } - function prepare_request(request) { + if (command.description) { + $(".api-method-description-wrapper .blurb").html(command.description) + $(".api-method-description-wrapper .blurb").show() + } else { + $(".api-method-description-wrapper .blurb").hide() + } + if (command.link) { + $(".api-method-description-wrapper .api-readmore").attr("href", command.link) + $(".api-method-description-wrapper .api-readmore").show() + } else { + $(".api-method-description-wrapper .api-readmore").hide() + } + if (command.ws_only) { + $(".curl").hide() + } else { + $(".curl").show() + } - var isArray = Array.isArray(request); - var result = isArray ? [ ] : { }; + $(".selected_command").attr('href', command.link).text(command.name) - Object.keys(request).forEach(function(k) { - var v = request[k]; - switch (typeof v) { - case 'undefined': break; - case 'object': - result[k] = prepare_request(v); - break; - default: - result[k] = v; - break - } - }); + if (command.hasOwnProperty("body")) { + cm_request.setValue(JSON.stringify(command.body, null, 2)); + } else { + //No body, so wipe out the current contents. + cm_request.setValue("") + } + cm_request.refresh() +}; - if (isArray) { - result = result.filter(function(el) { - return el !== null && typeof el !== 'undefined' - }); - } +function send_request() { + if (typeof socket === "undefined" || socket.readyState !== WebSocket.OPEN) { + alert("Can't send request: Must be connected first!") + return + } - var empty = isArray && result.length === 0; + const req_body = cm_request.getValue() + try { + JSON.parse(req_body) // we only need the text version, but test JSON syntax + } catch(e) { + alert("Invalid request JSON") + return + } - return empty ? void(0) : result; - }; + $(".send-loader").show() + socket.send(req_body) +} - $('#stream_show').click(function() { - if ($(status).is(':visible')) { - $(status).hide(); - $(status).empty(); - $(this).text('show'); - STREAM_SHOWN = false; +let socket; +function connect_socket() { + if (typeof socket !== "undefined" && socket.readyState < 2) { + socket.close() + } + $(".connect-loader").show() + const selected_server_el = $("input[name='wstool-1-connection']:checked") + const conn_url = selected_server_el.val() + socket = new WebSocket(conn_url) + + socket.addEventListener('open', (event) => { + conn_btn.text(selected_server_el.data("shortname") + " (Connected)") + conn_btn.removeClass("btn-outline-secondary") + conn_btn.removeClass("btn-danger") + conn_btn.addClass("btn-success") + $(".connect-loader").hide() + }) + socket.addEventListener('close', (event) => { + const new_conn_url = get_current_server() + if (event.wasClean && event.originalTarget.url == new_conn_url) { + conn_btn.text(selected_server_el.data("shortname") + " (Not Connected)") + conn_btn.removeClass("btn-success") + conn_btn.removeClass("btn-danger") + conn_btn.addClass("btn-outline-secondary") + $(".connect-loader").hide() } else { - $(this).text('hide'); - $(status).show(); - STREAM_SHOWN = true; - - events.forEach(function(event) { - var el = $('
    ')[0]; - $(status).append(el); - CodeMirror(el, { - value: JSON.stringify(event, null, 2), - mode: 'javascript', - json: true - }); - }); + console.debug("socket close event discarded (new socket status already provided):", event) } - }); - - $('#stream_pause').click(function() { - if ($(this).hasClass('paused')) { - $(this).removeClass('paused'); - $(this).text('pause'); - $(status).removeClass('obscured'); - STREAM_PAUSED = false; + }) + socket.addEventListener('error', (event) => { + const new_conn_url = get_current_server() + if (event.originalTarget.url == new_conn_url) { + console.error("socket error:", event) + conn_btn.text(selected_server_el.data("shortname") + " (Failed to Connect)") + conn_btn.removeClass("btn-outline-secondary") + conn_btn.removeClass("btn-success") + conn_btn.addClass("btn-danger") + $(".connect-loader").hide() } else { - $(this).addClass('paused'); - $(this).text('unpause'); - $(status).addClass('obscured'); - STREAM_PAUSED = true; - }; - }); - -//stop opening all links in new tabs -// $(document.body).delegate('a', 'click', function(e) { -// e.preventDefault(); -// e.stopPropagation(); -// window.open($(this).attr('href')); -// }); - - var tooltip = $('#tooltip'); - var mousedown = false; - - $(window).mousedown(function() { mousedown = true; }); - $(window).mouseup(function() { mousedown = false; }); - -//get rid of sign button -// $('#sign_button').click(function() { -// if (selected_request._signed) return; -// -// var self = this; -// var message = cm_request.getValue(); -// -// try { -// message = JSON.parse(message); -// } catch(e) { -// alert('Invalid JSON'); -// return; -// } -// -// var tx_json = message.tx_json; -// -// if (!ripple.UInt160.is_valid(tx_json.Account)) { -// alert('Account is invalid'); -// return; -// } -// -// if (!message.secret) { -// alert('Transacting account must have specified secret'); -// return; -// } -// -// $(this).addClass('depressed'); -// -// remote.account(tx_json.Account).get_next_sequence(function(e, s) { -// id.reset(); -// tx_json.Sequence = s; -// -// try { -// var tx = remote.transaction(); -// tx.tx_json = tx_json; -// tx._secret = message.secret; -// tx.complete(); -// tx.sign(); -// } catch(e) { -// alert('Unable to sign transaction ' + e.message); -// $(self).removeClass('depressed'); -// return; -// } -// -// message.tx_blob = tx.serialize().to_hex(); -// -// delete message.secret; -// delete message.tx_json; -// -// selected_request.message = message; -// selected_request._signed = true; -// -// set_input(selected_request); -// -// $(self).removeClass('depressed'); -// }); -// }); - - function send_request() { - var request = remote.request_server_info(); - var value = cm_request.getValue(); - + console.debug("socket error event discarded (new socket status already provided):", event) + } + }) + socket.addEventListener('message', (event) => { + let data; try { - var message = JSON.parse(value); + data = JSON.parse(event.data) + } catch { + alert("Couldn't parse response from server.") + return + } + + if (data.type === "response") { + $(".send-loader").hide() + } + if (data.type === "response" || !STREAM_PAUSED) { + const el = $("") + response_wrapper.prepend(el) + const new_cm = CodeMirror($(el).find(".response-json")[0], { + value: JSON.stringify(data, null, 2), + mode: 'javascript', + json: true, + smartIndent: false, + gutters: ["CodeMirror-lint-markers"], // not used, but provided for consistent sizing + readOnly: true + }) + new_cm.setSize(null, "auto") + } + // If subscription messages are paused, throw out incoming subscription messages + + // Trim response entries to the suggested number + let keep_last + try { + keep_last = parseInt($(".keep-last").val(), 10) + if (keep_last < 0) {keep_last = 0} } catch(e) { - alert('Invalid request JSON'); - return; + console.warn("Keep last value invalid:", e) + return + } + while ($(".response-metadata").length > keep_last) { + $(".response-metadata").eq(-1).remove() + } + }) +} + +const handle_select_server = function(event) { + if (typeof socket !== "undefined") { socket.close(1000) } + connect_socket() + response_wrapper.empty() +} + +function get_compressed_body() { + let compressed_body; + try { + const body_json = JSON.parse(cm_request.getValue()) + compressed_body = JSON.stringify(body_json, null, null) + } catch(e) { + // Probably invalid JSON. We'll make a permalink anyway, but we can't + // compress all the whitespace because we don't know what's escaped. We can + // assume that newlines are irrelevant because the rippled APIs don't accept + // newlines in strings anywhere + compressed_body = cm_request.getValue().replace("\n","").trim() + } + + return compressed_body +} + +function get_current_server() { + return $("input[name='wstool-1-connection']:checked").val() +} + +const update_permalink = function(event) { + const start_href = window.location.origin + window.location.pathname + const encoded_body = encodeURIComponent(get_compressed_body()) + const encoded_server = encodeURIComponent(get_current_server()) + + let permalink = start_href + "?server=" + encoded_server + "&req=" + encoded_body + // Future Feature: set the hash if the command matches a known method + $("#permalink-box-1").text(permalink) +} + +const update_curl = function(event) { + let body + try { + // change WS to JSON-RPC syntax + params = JSON.parse(cm_request.getValue()) + delete params.id + const method = params.command + delete params.command + const body_json = {"method":method, "params":[params]} + body = JSON.stringify(body_json, null, null) + } catch(e) { + alert("Can't provide curl format of invalid JSON syntax") + return + } + + const server = $("input[name='wstool-1-connection']:checked").data("jsonrpcurl") + + const curl_syntax = "curl -H 'Content-Type: application/json' -d '"+body+"' "+server + $("#curl-box-1").text(curl_syntax) +} + +function load_from_permalink(params) { + const server = params.get("server") + if (server) { + const server_checkbox = $("input[value='"+server+"']") + if (server_checkbox.length === 1) { + server_checkbox.prop("checked", true) + // relies on connect_socket() being run shortly thereafter + } + } + + let req_body = params.get("req") + let cmd_name = "" + if (req_body) { + try { + req_body_json = JSON.parse(req_body) + req_body = JSON.stringify(req_body_json, null, 2) + cmd_name = req_body_json.command + } catch(e) { + console.warn("Loaded request body is invalid JSON:", e) } - $(this).addClass('depressed'); - $(response).addClass('obscured'); - - WAITING = true; - selected_request.message = message; - selected_request.t = Date.now(); - spinner.show(); - - request.message = prepare_request(message); - request.request(); - }; - - function init() { - id._c = remote._get_server()._id; - remote._get_server().on('message', set_output); - $(request_button).click(send_request); - }; - - $(function() { - set_online_state('connecting'); - - if (urlParams["base_url"]) { - base_url = urlParams["base_url"].split(":"); - if (base_url.length == 2) { - base_host = base_url[0]; - base_port = base_url[1]; - } else { - base_host = base_url[0]; - base_port = BASE_PORT_DEFAULT; - } - - if (urlParams["use_wss"] - && urlParams["use_wss"].toLowerCase() === "false") { - use_wss = false; - } else { - use_wss = true; - } - - new_remote({ - trusted: true, - local_signing: true, - local_fee: false, - servers: [ - { - host: base_host, - port: base_port, - secure: use_wss - } - ] - }); + $(".selected_command").text(cmd_name) + if (requests.hasOwnProperty(slugify(cmd_name))) { + const req = requests[slugify(cmd_name)] + $(".selected_command").attr('href', req.link) + $(".api-method-description-wrapper .blurb").html(req.description) + $(".api-method-description-wrapper .api-readmore").attr("href", req.link) + $(".api-method-description-wrapper .api-readmore").show() + } else { + console.debug("Unknown command:", cmd_name) + $(".selected_command").attr('href', "") + $(".api-method-description-wrapper .blurb").empty() + $(".api-method-description-wrapper .api-readmore").hide() } + cm_request.setValue(req_body) + } +} - remote.connect(init); +$(document).ready(function() { + //wait for the Requests to be populated by another file + generate_table_of_contents() + make_commands_clickable() + + const search_params = new URLSearchParams(window.location.search) if (window.location.hash) { var cmd = window.location.hash.slice(1).toLowerCase(); - var keys = Object.keys(requests); - var index = keys.indexOf(cmd); - - if (index === -1) return; - - var el = $(commands).eq(index); - select_request(cmd); - window.cmd = cmd; - - $(el).siblings().removeClass('selected'); - $(el).addClass('selected'); + } else if (search_params.has("server") || search_params.has("req")) { + load_from_permalink(search_params) } else { - select_request('server_info'); + select_request(); } - }); -})(); + connect_socket() + + request_button.click(send_request) + + $("input[name='wstool-1-connection']").click(handle_select_server) + stream_pause.click((event) => { + STREAM_PAUSED = true + stream_pause.hide() + stream_unpause.show() + }) + stream_unpause.click((event) => { + STREAM_PAUSED = false + stream_pause.show() + stream_unpause.hide() + }) + + trash_button.click((event) => { + response_wrapper.empty() + }) + permalink_button.click(update_permalink) + curl_button.click(update_curl) + +}); diff --git a/assets/js/jump-to-top.js b/assets/js/jump-to-top.js index 7d5d67c553..69c1aafac9 100644 --- a/assets/js/jump-to-top.js +++ b/assets/js/jump-to-top.js @@ -1,4 +1,20 @@ $(document).ready(function() { + + // Mobile menu. + $('[data-toggle="slide-collapse"]').on('click', function() { + $navMenuCont = $($(this).data('target')); + $navMenuCont.toggleClass('show'); + $(".menu-overlay").toggleClass('active'); + }); + $(".menu-overlay").click(function(event) { + $(".navbar-toggler").trigger("click"); + }); + + + + + + var TO_TOP_MIN = 50; var TO_TOP_SPEED = 500; var TO_TOP_POS = 0; diff --git a/assets/vendor/bootstrap.css b/assets/vendor/bootstrap.css index a999add3e2..ee370d5934 100644 --- a/assets/vendor/bootstrap.css +++ b/assets/vendor/bootstrap.css @@ -1,35 +1,35 @@ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: url("../font/Roboto-Light.woff2") format("woff2"); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } - @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; - src: url("../font/Roboto-Regular.woff2") format("woff2"); + src: local("Roboto"), url("../font/Roboto-Regular.woff2") format("woff2"), url(https://fonts.gstatic.com/s/roboto/v19/KFOmCnqEu92Fr1Mu4mxK.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; - src: url("../font/Roboto-Bold.woff2") format("woff2"); + src: local("Roboto Bold"), local("Roboto-Bold"), url("../font/Roboto-Bold.woff2") format("woff2"), url(https://fonts.gstatic.com/s/roboto/v19/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { - font-family: 'Roboto Mono'; + font-family: 'Space Mono'; font-style: normal; font-weight: 400; - src: url("../font/Roboto-Mono.woff2") format("woff2"); + src: local("Space Mono"), local("SpaceMono-Regular"), url("../font/SpaceMono-Regular.woff2") format("woff2"), url(https://fonts.gstatic.com/s/spacemono/v4/i7dPIFZifjKcF5UAWdDRYEF8RQ.woff2) format("woff2"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } + +@font-face { + font-family: 'Space Mono'; + font-style: normal; + font-weight: 700; + src: local("Space Mono Bold"), local("SpaceMono-Bold"), url("../font/SpaceMono-Bold.woff2") format("woff2"), url(https://fonts.gstatic.com/s/spacemono/v4/i7dMIFZifjKcF5UAWdDRaPpZUFWaHg.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*! - * Bootstrap v4.1.0 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ :root { @@ -43,24 +43,24 @@ --green: #28a745; --teal: #20c997; --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #1db4ff; - --secondary: #0A93EB; - --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #e1e4e8; - --dark: #2b3e51; + --white: #FFF; + --gray: #676463; + --gray-dark: #2E2D2C; + --primary: #25A768; + --secondary: #676463; + --success: #2BCB96; + --info: #7699bb; + --warning: #D0DB60; + --danger: #AA4949; + --light: #EBE8E7; + --dark: #1B1818; --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; } + --font-family-sans-serif: -apple-system, system-ui, "Roboto", sans-serif; + --font-family-monospace: "Space Mono", monospace; } *, *::before, @@ -71,25 +71,20 @@ 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; } + -webkit-tap-highlight-color: rgba(27, 24, 24, 0); } -@-ms-viewport { - width: device-width; } - -article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { +article, aside, 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-family: -apple-system, system-ui, "Roboto", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.5; - color: #212529; + color: #1B1818; text-align: left; - background-color: #fff; } + background-color: #FFF; } [tabindex="-1"]:focus { outline: 0 !important; } @@ -112,7 +107,8 @@ abbr[data-original-title] { text-decoration: underline; text-decoration: underline dotted; cursor: help; - border-bottom: 0; } + border-bottom: 0; + text-decoration-skip-ink: none; } address { margin-bottom: 1rem; @@ -141,9 +137,6 @@ dd { blockquote { margin: 0 0 1rem; } -dfn { - font-style: italic; } - b, strong { font-weight: bolder; } @@ -165,12 +158,11 @@ sup { top: -.5em; } a { - color: #1db4ff; + color: #25A768; text-decoration: none; - background-color: transparent; - -webkit-text-decoration-skip: objects; } + background-color: transparent; } a:hover { - color: #008bd0; + color: #176841; text-decoration: underline; } a:not([href]):not([tabindex]) { @@ -186,14 +178,13 @@ pre, code, kbd, samp { - font-family: monospace, monospace; + font-family: "Space Mono", monospace; font-size: 1em; } pre { margin-top: 0; margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; } + overflow: auto; } figure { margin: 0 0 1rem; } @@ -202,8 +193,9 @@ img { vertical-align: middle; border-style: none; } -svg:not(:root) { - overflow: hidden; } +svg { + overflow: hidden; + vertical-align: middle; } table { border-collapse: collapse; } @@ -211,7 +203,7 @@ table { caption { padding-top: 0.75rem; padding-bottom: 0.75rem; - color: #6c757d; + color: #676463; text-align: left; caption-side: bottom; } @@ -247,12 +239,21 @@ button, select { text-transform: none; } +select { + word-wrap: normal; } + button, -html [type="button"], +[type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; } + button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, @@ -303,7 +304,6 @@ progress { outline-offset: -2px; -webkit-appearance: none; } -[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } @@ -327,10 +327,8 @@ template { h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin-bottom: 0.5rem; - font-family: inherit; font-weight: 500; - line-height: 1.2; - color: inherit; } + line-height: 1.2; } h1, .h1 { font-size: 2.5rem; } @@ -378,7 +376,7 @@ hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); } + border-top: 1px solid rgba(27, 24, 24, 0.1); } small, .small { @@ -414,9 +412,9 @@ mark, .blockquote-footer { display: block; font-size: 80%; - color: #6c757d; } + color: #676463; } .blockquote-footer::before { - content: "\2014 \00A0"; } + content: "\2014\00A0"; } .img-fluid { max-width: 100%; @@ -424,9 +422,9 @@ mark, .img-thumbnail { padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; + background-color: #FFF; + border: 1px solid #D3D0CF; + border-radius: 0; max-width: 100%; height: auto; } @@ -439,17 +437,11 @@ mark, .figure-caption { font-size: 90%; - color: #6c757d; } - -code, -kbd, -pre, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } + color: #676463; } code { font-size: 87.5%; - color: #3B4147; + color: #2E2D2C; word-break: break-word; } a > code { color: inherit; } @@ -457,9 +449,9 @@ code { kbd { padding: 0.2rem 0.4rem; font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; } + color: #FFF; + background-color: #201F1E; + border-radius: 0; } kbd kbd { padding: 0; font-size: 100%; @@ -468,7 +460,7 @@ kbd { pre { display: block; font-size: 87.5%; - color: #212529; } + color: #201F1E; } pre code { font-size: inherit; color: inherit; @@ -526,7 +518,6 @@ pre { .col-xl-auto { position: relative; width: 100%; - min-height: 1px; padding-right: 15px; padding-left: 15px; } @@ -538,7 +529,7 @@ pre { .col-auto { flex: 0 0 auto; width: auto; - max-width: none; } + max-width: 100%; } .col-1 { flex: 0 0 8.33333%; @@ -674,7 +665,7 @@ pre { .col-sm-auto { flex: 0 0 auto; width: auto; - max-width: none; } + max-width: 100%; } .col-sm-1 { flex: 0 0 8.33333%; max-width: 8.33333%; } @@ -774,7 +765,7 @@ pre { .col-md-auto { flex: 0 0 auto; width: auto; - max-width: none; } + max-width: 100%; } .col-md-1 { flex: 0 0 8.33333%; max-width: 8.33333%; } @@ -874,7 +865,7 @@ pre { .col-lg-auto { flex: 0 0 auto; width: auto; - max-width: none; } + max-width: 100%; } .col-lg-1 { flex: 0 0 8.33333%; max-width: 8.33333%; } @@ -974,7 +965,7 @@ pre { .col-xl-auto { flex: 0 0 auto; width: auto; - max-width: none; } + max-width: 100%; } .col-xl-1 { flex: 0 0 8.33333%; max-width: 8.33333%; } @@ -1068,31 +1059,28 @@ pre { .table { width: 100%; - max-width: 100%; margin-bottom: 1rem; - background-color: transparent; } + color: #1B1818; } .table th, .table td { padding: 0.75rem; vertical-align: top; - border-top: 1px solid #dee2e6; } + border-top: 1px solid #D3D0CF; } .table thead th { vertical-align: bottom; - border-bottom: 2px solid #dee2e6; } + border-bottom: 2px solid #D3D0CF; } .table tbody + tbody { - border-top: 2px solid #dee2e6; } - .table .table { - background-color: #fff; } + border-top: 2px solid #D3D0CF; } .table-sm th, .table-sm td { padding: 0.3rem; } .table-bordered { - border: 1px solid #dee2e6; } + border: 1px solid #D3D0CF; } .table-bordered th, .table-bordered td { - border: 1px solid #dee2e6; } + border: 1px solid #D3D0CF; } .table-bordered thead th, .table-bordered thead td { border-bottom-width: 2px; } @@ -1104,132 +1092,182 @@ pre { border: 0; } .table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); } + background-color: rgba(27, 24, 24, 0.05); } .table-hover tbody tr:hover { - background-color: rgba(0, 0, 0, 0.075); } + color: #1B1818; + background-color: rgba(27, 24, 24, 0.075); } .table-primary, .table-primary > th, .table-primary > td { - background-color: #c0eaff; } + background-color: #c2e6d5; } + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #8ed1b0; } .table-hover .table-primary:hover { - background-color: #a7e2ff; } + background-color: #b0dfc9; } .table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th { - background-color: #a7e2ff; } + background-color: #b0dfc9; } .table-secondary, .table-secondary > th, .table-secondary > td { - background-color: #bae1f9; } + background-color: #d4d4d3; } + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b0aeae; } .table-hover .table-secondary:hover { - background-color: #a3d7f7; } + background-color: #c7c7c6; } .table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th { - background-color: #a3d7f7; } + background-color: #c7c7c6; } .table-success, .table-success > th, .table-success > td { - background-color: #c3e6cb; } + background-color: #c4f0e2; } + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #91e4c8; } .table-hover .table-success:hover { - background-color: #b1dfbb; } + background-color: #b0ebd8; } .table-hover .table-success:hover > td, .table-hover .table-success:hover > th { - background-color: #b1dfbb; } + background-color: #b0ebd8; } .table-info, .table-info > th, .table-info > td { - background-color: #bee5eb; } + background-color: #d9e2ec; } + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #b8cadc; } .table-hover .table-info:hover { - background-color: #abdde5; } + background-color: #c8d5e4; } .table-hover .table-info:hover > td, .table-hover .table-info:hover > th { - background-color: #abdde5; } + background-color: #c8d5e4; } .table-warning, .table-warning > th, .table-warning > td { - background-color: #ffeeba; } + background-color: #f2f5d2; } + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #e7ecac; } .table-hover .table-warning:hover { - background-color: #ffe8a1; } + background-color: #ecf0bd; } .table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th { - background-color: #ffe8a1; } + background-color: #ecf0bd; } .table-danger, .table-danger > th, .table-danger > td { - background-color: #f5c6cb; } + background-color: #e7cccc; } + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #d3a0a0; } .table-hover .table-danger:hover { - background-color: #f1b0b7; } + background-color: #dfbbbb; } .table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th { - background-color: #f1b0b7; } + background-color: #dfbbbb; } .table-light, .table-light > th, .table-light > td { - background-color: #f7f7f9; } + background-color: #f9f9f8; } + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #f5f3f3; } .table-hover .table-light:hover { - background-color: #e8e8ee; } + background-color: #ededea; } .table-hover .table-light:hover > td, .table-hover .table-light:hover > th { - background-color: #e8e8ee; } + background-color: #ededea; } .table-dark, .table-dark > th, .table-dark > td { - background-color: #c4c9ce; } + background-color: #bfbebe; } + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #888787; } .table-hover .table-dark:hover { - background-color: #b6bcc2; } + background-color: #b2b1b1; } .table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th { - background-color: #b6bcc2; } + background-color: #b2b1b1; } .table-active, .table-active > th, .table-active > td { - background-color: rgba(0, 0, 0, 0.075); } + background-color: rgba(27, 24, 24, 0.075); } .table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); } + background-color: rgba(14, 12, 12, 0.075); } .table-hover .table-active:hover > td, .table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); } + background-color: rgba(14, 12, 12, 0.075); } .table .thead-dark th { - color: #fff; - background-color: #212529; - border-color: #32383e; } + color: #FFF; + background-color: #2E2D2C; + border-color: #42403f; } .table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; } + color: #464443; + background-color: #EBE8E7; + border-color: #D3D0CF; } .table-dark { - color: #fff; - background-color: #212529; } + color: #FFF; + background-color: #2E2D2C; } .table-dark th, .table-dark td, .table-dark thead th { - border-color: #32383e; } + border-color: #42403f; } .table-dark.table-bordered { border: 0; } .table-dark.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, 0.05); } .table-dark.table-hover tbody tr:hover { + color: #FFF; background-color: rgba(255, 255, 255, 0.075); } @media (max-width: 575.98px) { @@ -1237,8 +1275,7 @@ pre { display: block; width: 100%; overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } + -webkit-overflow-scrolling: touch; } .table-responsive-sm > .table-bordered { border: 0; } } @@ -1247,8 +1284,7 @@ pre { display: block; width: 100%; overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } + -webkit-overflow-scrolling: touch; } .table-responsive-md > .table-bordered { border: 0; } } @@ -1257,8 +1293,7 @@ pre { display: block; width: 100%; overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } + -webkit-overflow-scrolling: touch; } .table-responsive-lg > .table-bordered { border: 0; } } @@ -1267,8 +1302,7 @@ pre { display: block; width: 100%; overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } + -webkit-overflow-scrolling: touch; } .table-responsive-xl > .table-bordered { border: 0; } } @@ -1276,48 +1310,46 @@ pre { display: block; width: 100%; overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } + -webkit-overflow-scrolling: touch; } .table-responsive > .table-bordered { border: 0; } .form-control { display: block; width: 100%; + height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 0.75rem; font-size: 1rem; + font-weight: 400; line-height: 1.5; - color: #495057; - background-color: #fff; + color: #464443; + background-color: #FFF; background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; + border: 1px solid #B3B0AF; + border-radius: 0; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media screen and (prefers-reduced-motion: reduce) { + @media (prefers-reduced-motion: reduce) { .form-control { transition: none; } } .form-control::-ms-expand { background-color: transparent; border: 0; } .form-control:focus { - color: #495057; - background-color: #fff; - border-color: #9ddeff; + color: #464443; + background-color: #FFF; + border-color: #6ddfa8; outline: 0; - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } .form-control::placeholder { - color: #6c757d; + color: #676463; opacity: 1; } .form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; + background-color: #EBE8E7; opacity: 1; } -select.form-control:not([size]):not([multiple]) { - height: calc(2.25rem + 2px); } - select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; } + color: #464443; + background-color: #FFF; } .form-control-file, .form-control-range { @@ -1350,55 +1382,33 @@ select.form-control:focus::-ms-value { padding-bottom: 0.375rem; margin-bottom: 0; line-height: 1.5; - color: #212529; + color: #1B1818; background-color: transparent; border: solid transparent; border-width: 1px 0; } - .form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control, - .input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text, - .input-group-sm > .input-group-append > .form-control-plaintext.input-group-text, - .input-group-sm > .input-group-prepend > .form-control-plaintext.btn, - .input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control, - .input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text, - .input-group-lg > .input-group-append > .form-control-plaintext.input-group-text, - .input-group-lg > .input-group-prepend > .form-control-plaintext.btn, - .input-group-lg > .input-group-append > .form-control-plaintext.btn { + .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { padding-right: 0; padding-left: 0; } -.form-control-sm, .input-group-sm > .form-control, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; - border-radius: 0.2rem; } + border-radius: 0; } -select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), -.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), -.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), -.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), -.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) { - height: calc(1.8125rem + 2px); } - -.form-control-lg, .input-group-lg > .form-control, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { +.form-control-lg { + height: calc(1.5em + 1rem + 2px); padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; - border-radius: 0.3rem; } + border-radius: 0; } -select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), -.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), -.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]), -.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), -.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) { - height: calc(2.875rem + 2px); } +select.form-control[size], select.form-control[multiple] { + height: auto; } + +textarea.form-control { + height: auto; } .form-group { margin-bottom: 1rem; } @@ -1427,7 +1437,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for margin-top: 0.3rem; margin-left: -1.25rem; } .form-check-input:disabled ~ .form-check-label { - color: #6c757d; } + color: #676463; } .form-check-label { margin-bottom: 0; } @@ -1448,7 +1458,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for width: 100%; margin-top: 0.25rem; font-size: 80%; - color: #28a745; } + color: #2BCB96; } .valid-tooltip { position: absolute; @@ -1456,35 +1466,52 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for z-index: 5; display: none; max-width: 100%; - padding: .5rem; + padding: 0.25rem 0.5rem; margin-top: .1rem; - font-size: .875rem; - line-height: 1; - color: #fff; - background-color: rgba(40, 167, 69, 0.8); - border-radius: .2rem; } + font-size: 0.875rem; + line-height: 1.5; + color: #FFF; + background-color: rgba(43, 203, 150, 0.9); + border-radius: 0; } -.was-validated .form-control:valid, .form-control.is-valid, .was-validated -.custom-select:valid, -.custom-select.is-valid { - border-color: #28a745; } - .was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated - .custom-select:valid:focus, - .custom-select.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #2BCB96; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232BCB96' 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: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #2BCB96; + box-shadow: 0 0 0 0.2rem rgba(43, 203, 150, 0.25); } .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 ~ .valid-tooltip, - .custom-select.is-valid ~ .valid-feedback, + .form-control.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #2BCB96; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%232E2D2C' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232BCB96' 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") #FFF no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #2BCB96; + box-shadow: 0 0 0 0.2rem rgba(43, 203, 150, 0.25); } + .was-validated .custom-select:valid ~ .valid-feedback, + .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, .custom-select.is-valid ~ .valid-tooltip { display: block; } +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; } + .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; } + color: #2BCB96; } .was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, @@ -1492,9 +1519,9 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for display: block; } .was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; } + color: #2BCB96; } .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - background-color: #71dd8a; } + border-color: #2BCB96; } .was-validated .custom-control-input:valid ~ .valid-feedback, .was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, @@ -1502,15 +1529,17 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for display: block; } .was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - background-color: #34ce57; } + border-color: #4fdaac; + background-color: #4fdaac; } .was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } + box-shadow: 0 0 0 0.2rem rgba(43, 203, 150, 0.25); } + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #2BCB96; } .was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; } - .was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before { - border-color: inherit; } + border-color: #2BCB96; } .was-validated .custom-file-input:valid ~ .valid-feedback, .was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, @@ -1518,14 +1547,15 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for display: block; } .was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } + border-color: #2BCB96; + box-shadow: 0 0 0 0.2rem rgba(43, 203, 150, 0.25); } .invalid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 80%; - color: #dc3545; } + color: #AA4949; } .invalid-tooltip { position: absolute; @@ -1533,35 +1563,52 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for z-index: 5; display: none; max-width: 100%; - padding: .5rem; + padding: 0.25rem 0.5rem; margin-top: .1rem; - font-size: .875rem; - line-height: 1; - color: #fff; - background-color: rgba(220, 53, 69, 0.8); - border-radius: .2rem; } + font-size: 0.875rem; + line-height: 1.5; + color: #FFF; + background-color: rgba(170, 73, 73, 0.9); + border-radius: 0; } -.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated -.custom-select:invalid, -.custom-select.is-invalid { - border-color: #dc3545; } - .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated - .custom-select:invalid:focus, - .custom-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #AA4949; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23AA4949' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23AA4949' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #AA4949; + box-shadow: 0 0 0 0.2rem rgba(170, 73, 73, 0.25); } .was-validated .form-control:invalid ~ .invalid-feedback, .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, - .form-control.is-invalid ~ .invalid-tooltip, .was-validated - .custom-select:invalid ~ .invalid-feedback, - .was-validated - .custom-select:invalid ~ .invalid-tooltip, - .custom-select.is-invalid ~ .invalid-feedback, + .form-control.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #AA4949; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%232E2D2C' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23AA4949' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23AA4949' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #FFF no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #AA4949; + box-shadow: 0 0 0 0.2rem rgba(170, 73, 73, 0.25); } + .was-validated .custom-select:invalid ~ .invalid-feedback, + .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, .custom-select.is-invalid ~ .invalid-tooltip { display: block; } +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; } + .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; } + color: #AA4949; } .was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, @@ -1569,9 +1616,9 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for display: block; } .was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; } + color: #AA4949; } .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - background-color: #efa2a9; } + border-color: #AA4949; } .was-validated .custom-control-input:invalid ~ .invalid-feedback, .was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, @@ -1579,15 +1626,17 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for display: block; } .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - background-color: #e4606d; } + border-color: #be6868; + background-color: #be6868; } .was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } + box-shadow: 0 0 0 0.2rem rgba(170, 73, 73, 0.25); } + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #AA4949; } .was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; } - .was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before { - border-color: inherit; } + border-color: #AA4949; } .was-validated .custom-file-input:invalid ~ .invalid-feedback, .was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, @@ -1595,7 +1644,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for display: block; } .was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } + border-color: #AA4949; + box-shadow: 0 0 0 0.2rem rgba(170, 73, 73, 0.25); } .form-inline { display: flex; @@ -1632,6 +1682,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for padding-left: 0; } .form-inline .form-check-input { position: relative; + flex-shrink: 0; margin-top: 0; margin-right: 0.25rem; margin-left: 0; } @@ -1644,431 +1695,410 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for .btn { display: inline-block; font-weight: 400; + color: #1B1818; text-align: center; - white-space: nowrap; vertical-align: middle; user-select: none; + background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; - border-radius: 0.25rem; + border-radius: 0; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media screen and (prefers-reduced-motion: reduce) { + @media (prefers-reduced-motion: reduce) { .btn { transition: none; } } - .btn:hover, .btn:focus { + .btn:hover { + color: #1B1818; text-decoration: none; } .btn:focus, .btn.focus { outline: 0; - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } .btn.disabled, .btn:disabled { opacity: 0.65; } - .btn:not(:disabled):not(.disabled) { - cursor: pointer; } - .btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active { - background-image: none; } a.btn.disabled, fieldset:disabled a.btn { pointer-events: none; } .btn-primary { - color: #fff; - background-color: #1db4ff; - border-color: #1db4ff; } + color: #FFF; + background-color: #25A768; + border-color: #25A768; } .btn-primary:hover { - color: #fff; - background-color: #00a4f6; - border-color: #009ce9; } + color: #FFF; + background-color: #1e8855; + border-color: #1c7d4e; } .btn-primary:focus, .btn-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(70, 180, 127, 0.5); } .btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #1db4ff; - border-color: #1db4ff; } + color: #FFF; + background-color: #25A768; + border-color: #25A768; } .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #009ce9; - border-color: #0093dc; } + color: #FFF; + background-color: #1c7d4e; + border-color: #197348; } .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(70, 180, 127, 0.5); } .btn-secondary { - color: #fff; - background-color: #0A93EB; - border-color: #0A93EB; } + color: #FFF; + background-color: #676463; + border-color: #676463; } .btn-secondary:hover { - color: #fff; - background-color: #087cc6; - border-color: #0874ba; } + color: #FFF; + background-color: #535150; + border-color: #4d4b4a; } .btn-secondary:focus, .btn-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(10, 147, 235, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(126, 123, 122, 0.5); } .btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #0A93EB; - border-color: #0A93EB; } + color: #FFF; + background-color: #676463; + border-color: #676463; } .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #0874ba; - border-color: #076dae; } + color: #FFF; + background-color: #4d4b4a; + border-color: #464444; } .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(10, 147, 235, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(126, 123, 122, 0.5); } .btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; } + color: #FFF; + background-color: #2BCB96; + border-color: #2BCB96; } .btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; } + color: #FFF; + background-color: #24ab7f; + border-color: #22a177; } .btn-success:focus, .btn-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(75, 211, 166, 0.5); } .btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #28a745; - border-color: #28a745; } + color: #FFF; + background-color: #2BCB96; + border-color: #2BCB96; } .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; } + color: #FFF; + background-color: #22a177; + border-color: #20966f; } .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(75, 211, 166, 0.5); } .btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; } + color: #FFF; + background-color: #7699bb; + border-color: #7699bb; } .btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; } + color: #FFF; + background-color: #5c86ae; + border-color: #5480aa; } .btn-info:focus, .btn-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(139, 168, 197, 0.5); } .btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; } + color: #FFF; + background-color: #7699bb; + border-color: #7699bb; } .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; } + color: #FFF; + background-color: #5480aa; + border-color: #5079a1; } .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(139, 168, 197, 0.5); } .btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } + color: #201F1E; + background-color: #D0DB60; + border-color: #D0DB60; } .btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; } + color: #201F1E; + background-color: #c7d441; + border-color: #c4d236; } .btn-warning:focus, .btn-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(182, 191, 86, 0.5); } .btn-warning.disabled, .btn-warning:disabled { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } + color: #201F1E; + background-color: #D0DB60; + border-color: #D0DB60; } .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; } + color: #201F1E; + background-color: #c4d236; + border-color: #bfcd2e; } .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(182, 191, 86, 0.5); } .btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; } + color: #FFF; + background-color: #AA4949; + border-color: #AA4949; } .btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; } + color: #FFF; + background-color: #8f3e3e; + border-color: #863a3a; } .btn-danger:focus, .btn-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(183, 100, 100, 0.5); } .btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; } + color: #FFF; + background-color: #AA4949; + border-color: #AA4949; } .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; } + color: #FFF; + background-color: #863a3a; + border-color: #7d3636; } .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(183, 100, 100, 0.5); } .btn-light { - color: #212529; - background-color: #e1e4e8; - border-color: #e1e4e8; } + color: #201F1E; + background-color: #EBE8E7; + border-color: #EBE8E7; } .btn-light:hover { - color: #212529; - background-color: #cbd1d7; - border-color: #c4cad2; } + color: #201F1E; + background-color: #dad4d2; + border-color: #d4cdcb; } .btn-light:focus, .btn-light.focus { - box-shadow: 0 0 0 0.2rem rgba(225, 228, 232, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(205, 202, 201, 0.5); } .btn-light.disabled, .btn-light:disabled { - color: #212529; - background-color: #e1e4e8; - border-color: #e1e4e8; } + color: #201F1E; + background-color: #EBE8E7; + border-color: #EBE8E7; } .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #c4cad2; - border-color: #bdc4cc; } + color: #201F1E; + background-color: #d4cdcb; + border-color: #cec7c4; } .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(225, 228, 232, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(205, 202, 201, 0.5); } .btn-dark { - color: #fff; - background-color: #2b3e51; - border-color: #2b3e51; } + color: #FFF; + background-color: #1B1818; + border-color: #1B1818; } .btn-dark:hover { - color: #fff; - background-color: #1e2b38; - border-color: #192530; } + color: #FFF; + background-color: #070606; + border-color: black; } .btn-dark:focus, .btn-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(43, 62, 81, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(61, 59, 59, 0.5); } .btn-dark.disabled, .btn-dark:disabled { - color: #fff; - background-color: #2b3e51; - border-color: #2b3e51; } + color: #FFF; + background-color: #1B1818; + border-color: #1B1818; } .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #192530; - border-color: #151e27; } + color: #FFF; + background-color: black; + border-color: black; } .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(43, 62, 81, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(61, 59, 59, 0.5); } .btn-outline-primary { - color: #1db4ff; - background-color: transparent; - background-image: none; - border-color: #1db4ff; } + color: #25A768; + border-color: #25A768; } .btn-outline-primary:hover { - color: #fff; - background-color: #1db4ff; - border-color: #1db4ff; } + color: #FFF; + background-color: #25A768; + border-color: #25A768; } .btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.5); } .btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #1db4ff; + color: #25A768; background-color: transparent; } .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: #1db4ff; - border-color: #1db4ff; } + color: #FFF; + background-color: #25A768; + border-color: #25A768; } .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.5); } .btn-outline-secondary { - color: #0A93EB; - background-color: transparent; - background-image: none; - border-color: #0A93EB; } + color: #676463; + border-color: #676463; } .btn-outline-secondary:hover { - color: #fff; - background-color: #0A93EB; - border-color: #0A93EB; } + color: #FFF; + background-color: #676463; + border-color: #676463; } .btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(10, 147, 235, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(103, 100, 99, 0.5); } .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #0A93EB; + color: #676463; background-color: transparent; } .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: #0A93EB; - border-color: #0A93EB; } + color: #FFF; + background-color: #676463; + border-color: #676463; } .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(10, 147, 235, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(103, 100, 99, 0.5); } .btn-outline-success { - color: #28a745; - background-color: transparent; - background-image: none; - border-color: #28a745; } + color: #2BCB96; + border-color: #2BCB96; } .btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; } + color: #FFF; + background-color: #2BCB96; + border-color: #2BCB96; } .btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(43, 203, 150, 0.5); } .btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; + color: #2BCB96; background-color: transparent; } .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; } + color: #FFF; + background-color: #2BCB96; + border-color: #2BCB96; } .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(43, 203, 150, 0.5); } .btn-outline-info { - color: #17a2b8; - background-color: transparent; - background-image: none; - border-color: #17a2b8; } + color: #7699bb; + border-color: #7699bb; } .btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; } + color: #FFF; + background-color: #7699bb; + border-color: #7699bb; } .btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(118, 153, 187, 0.5); } .btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; + color: #7699bb; background-color: transparent; } .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; } + color: #FFF; + background-color: #7699bb; + border-color: #7699bb; } .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(118, 153, 187, 0.5); } .btn-outline-warning { - color: #ffc107; - background-color: transparent; - background-image: none; - border-color: #ffc107; } + color: #D0DB60; + border-color: #D0DB60; } .btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } + color: #201F1E; + background-color: #D0DB60; + border-color: #D0DB60; } .btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(208, 219, 96, 0.5); } .btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; + color: #D0DB60; background-color: transparent; } .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } + color: #201F1E; + background-color: #D0DB60; + border-color: #D0DB60; } .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(208, 219, 96, 0.5); } .btn-outline-danger { - color: #dc3545; - background-color: transparent; - background-image: none; - border-color: #dc3545; } + color: #AA4949; + border-color: #AA4949; } .btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; } + color: #FFF; + background-color: #AA4949; + border-color: #AA4949; } .btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(170, 73, 73, 0.5); } .btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; + color: #AA4949; background-color: transparent; } .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; } + color: #FFF; + background-color: #AA4949; + border-color: #AA4949; } .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(170, 73, 73, 0.5); } .btn-outline-light { - color: #e1e4e8; - background-color: transparent; - background-image: none; - border-color: #e1e4e8; } + color: #EBE8E7; + border-color: #EBE8E7; } .btn-outline-light:hover { - color: #212529; - background-color: #e1e4e8; - border-color: #e1e4e8; } + color: #201F1E; + background-color: #EBE8E7; + border-color: #EBE8E7; } .btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(225, 228, 232, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(235, 232, 231, 0.5); } .btn-outline-light.disabled, .btn-outline-light:disabled { - color: #e1e4e8; + color: #EBE8E7; background-color: transparent; } .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #e1e4e8; - border-color: #e1e4e8; } + color: #201F1E; + background-color: #EBE8E7; + border-color: #EBE8E7; } .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(225, 228, 232, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(235, 232, 231, 0.5); } .btn-outline-dark { - color: #2b3e51; - background-color: transparent; - background-image: none; - border-color: #2b3e51; } + color: #1B1818; + border-color: #1B1818; } .btn-outline-dark:hover { - color: #fff; - background-color: #2b3e51; - border-color: #2b3e51; } + color: #FFF; + background-color: #1B1818; + border-color: #1B1818; } .btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(43, 62, 81, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(27, 24, 24, 0.5); } .btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #2b3e51; + color: #1B1818; background-color: transparent; } .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: #2b3e51; - border-color: #2b3e51; } + color: #FFF; + background-color: #1B1818; + border-color: #1B1818; } .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(43, 62, 81, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(27, 24, 24, 0.5); } .btn-link { font-weight: 400; - color: #1db4ff; - background-color: transparent; } + color: #25A768; + text-decoration: none; } .btn-link:hover { - color: #008bd0; - text-decoration: underline; - background-color: transparent; - border-color: transparent; } + color: #176841; + text-decoration: underline; } .btn-link:focus, .btn-link.focus { text-decoration: underline; - border-color: transparent; box-shadow: none; } .btn-link:disabled, .btn-link.disabled { - color: #6c757d; + color: #676463; pointer-events: none; } .btn-lg, .btn-group-lg > .btn { padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; - border-radius: 0.3rem; } + border-radius: 0; } .btn-sm, .btn-group-sm > .btn { padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; - border-radius: 0.2rem; } + border-radius: 0; } .btn-block { display: block; @@ -2083,7 +2113,7 @@ input[type="button"].btn-block { .fade { transition: opacity 0.15s linear; } - @media screen and (prefers-reduced-motion: reduce) { + @media (prefers-reduced-motion: reduce) { .fade { transition: none; } } .fade:not(.show) { @@ -2097,7 +2127,7 @@ input[type="button"].btn-block { height: 0; overflow: hidden; transition: height 0.35s ease; } - @media screen and (prefers-reduced-motion: reduce) { + @media (prefers-reduced-motion: reduce) { .collapsing { transition: none; } } @@ -2107,20 +2137,19 @@ input[type="button"].btn-block { .dropleft { position: relative; } -.dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; } - -.dropdown-toggle:empty::after { - margin-left: 0; } +.dropdown-toggle { + white-space: nowrap; } + .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; } + .dropdown-toggle:empty::after { + margin-left: 0; } .dropdown-menu { position: absolute; @@ -2133,18 +2162,54 @@ input[type="button"].btn-block { padding: 0.5rem 0; margin: 0.125rem 0 0; font-size: 1rem; - color: #212529; + color: #1B1818; text-align: left; list-style: none; - background-color: #fff; + background-color: #FFF; background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; } + border: 1px solid rgba(27, 24, 24, 0.15); + border-radius: 0; } + +.dropdown-menu-left { + right: auto; + left: 0; } .dropdown-menu-right { right: 0; left: auto; } +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; } + .dropdown-menu-sm-right { + right: 0; + left: auto; } } + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; } + .dropdown-menu-md-right { + right: 0; + left: auto; } } + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; } + .dropdown-menu-lg-right { + right: 0; + left: auto; } } + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; } + .dropdown-menu-xl-right { + right: 0; + left: auto; } } + .dropup .dropdown-menu { top: auto; bottom: 100%; @@ -2153,8 +2218,6 @@ input[type="button"].btn-block { .dropup .dropdown-toggle::after { display: inline-block; - width: 0; - height: 0; margin-left: 0.255em; vertical-align: 0.255em; content: ""; @@ -2175,8 +2238,6 @@ input[type="button"].btn-block { .dropright .dropdown-toggle::after { display: inline-block; - width: 0; - height: 0; margin-left: 0.255em; vertical-align: 0.255em; content: ""; @@ -2200,8 +2261,6 @@ input[type="button"].btn-block { .dropleft .dropdown-toggle::after { display: inline-block; - width: 0; - height: 0; margin-left: 0.255em; vertical-align: 0.255em; content: ""; } @@ -2211,8 +2270,6 @@ input[type="button"].btn-block { .dropleft .dropdown-toggle::before { display: inline-block; - width: 0; - height: 0; margin-right: 0.255em; vertical-align: 0.255em; content: ""; @@ -2234,7 +2291,7 @@ input[type="button"].btn-block { height: 0; margin: 0.5rem 0; overflow: hidden; - border-top: 1px solid #e9ecef; } + border-top: 1px solid #EBE8E7; } .dropdown-item { display: block; @@ -2242,21 +2299,22 @@ input[type="button"].btn-block { padding: 0.25rem 1.5rem; clear: both; font-weight: 400; - color: #212529; + color: #201F1E; text-align: inherit; white-space: nowrap; background-color: transparent; border: 0; } .dropdown-item:hover, .dropdown-item:focus { - color: #16181b; + color: #131212; text-decoration: none; - background-color: #f8f9fa; } + background-color: #F9F7F7; } .dropdown-item.active, .dropdown-item:active { - color: #fff; + color: #FFF; text-decoration: none; - background-color: #1db4ff; } + background-color: #25A768; } .dropdown-item.disabled, .dropdown-item:disabled { - color: #6c757d; + color: #676463; + pointer-events: none; background-color: transparent; } .dropdown-menu.show { @@ -2267,13 +2325,13 @@ input[type="button"].btn-block { padding: 0.5rem 1.5rem; margin-bottom: 0; font-size: 0.875rem; - color: #6c757d; + color: #676463; white-space: nowrap; } .dropdown-item-text { display: block; padding: 0.25rem 1.5rem; - color: #212529; } + color: #201F1E; } .btn-group, .btn-group-vertical { @@ -2283,7 +2341,7 @@ input[type="button"].btn-block { .btn-group > .btn, .btn-group-vertical > .btn { position: relative; - flex: 0 1 auto; } + flex: 1 1 auto; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover { z-index: 1; } @@ -2292,15 +2350,6 @@ input[type="button"].btn-block { .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 1; } - .btn-group .btn + .btn, - .btn-group .btn + .btn-group, - .btn-group .btn-group + .btn, - .btn-group .btn-group + .btn-group, - .btn-group-vertical .btn + .btn, - .btn-group-vertical .btn + .btn-group, - .btn-group-vertical .btn-group + .btn, - .btn-group-vertical .btn-group + .btn-group { - margin-left: -1px; } .btn-toolbar { display: flex; @@ -2309,8 +2358,9 @@ input[type="button"].btn-block { .btn-toolbar .input-group { width: auto; } -.btn-group > .btn:first-child { - margin-left: 0; } +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; } .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn { @@ -2344,15 +2394,12 @@ input[type="button"].btn-block { flex-direction: column; align-items: flex-start; justify-content: center; } - .btn-group-vertical .btn, - .btn-group-vertical .btn-group { + .btn-group-vertical > .btn, + .btn-group-vertical > .btn-group { width: 100%; } - .btn-group-vertical > .btn + .btn, - .btn-group-vertical > .btn + .btn-group, - .btn-group-vertical > .btn-group + .btn, - .btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; } + .btn-group-vertical > .btn:not(:first-child), + .btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; } .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; @@ -2380,19 +2427,19 @@ input[type="button"].btn-block { align-items: stretch; width: 100%; } .input-group > .form-control, + .input-group > .form-control-plaintext, .input-group > .custom-select, .input-group > .custom-file { position: relative; flex: 1 1 auto; width: 1%; margin-bottom: 0; } - .input-group > .form-control:focus, - .input-group > .custom-select:focus, - .input-group > .custom-file:focus { - z-index: 3; } .input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, + .input-group > .form-control-plaintext + .form-control, + .input-group > .form-control-plaintext + .custom-select, + .input-group > .form-control-plaintext + .custom-file, .input-group > .custom-select + .form-control, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .custom-file, @@ -2400,6 +2447,12 @@ input[type="button"].btn-block { .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file { margin-left: -1px; } + .input-group > .form-control:focus, + .input-group > .custom-select:focus, + .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; } + .input-group > .custom-file .custom-file-input:focus { + z-index: 4; } .input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) { border-top-right-radius: 0; @@ -2415,8 +2468,7 @@ input[type="button"].btn-block { .input-group > .custom-file:not(:last-child) .custom-file-label::after { border-top-right-radius: 0; border-bottom-right-radius: 0; } - .input-group > .custom-file:not(:first-child) .custom-file-label, - .input-group > .custom-file:not(:first-child) .custom-file-label::after { + .input-group > .custom-file:not(:first-child) .custom-file-label { border-top-left-radius: 0; border-bottom-left-radius: 0; } @@ -2427,6 +2479,9 @@ input[type="button"].btn-block { .input-group-append .btn { position: relative; z-index: 2; } + .input-group-prepend .btn:focus, + .input-group-append .btn:focus { + z-index: 3; } .input-group-prepend .btn + .btn, .input-group-prepend .btn + .input-group-text, .input-group-prepend .input-group-text + .input-group-text, @@ -2451,16 +2506,50 @@ input[type="button"].btn-block { font-size: 1rem; font-weight: 400; line-height: 1.5; - color: #495057; + color: #464443; text-align: center; white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; } + background-color: #EBE8E7; + border: 1px solid #B3B0AF; + border-radius: 0; } .input-group-text input[type="radio"], .input-group-text input[type="checkbox"] { margin-top: 0; } +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); } + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0; } + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); } + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0; } + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; } + .input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text, .input-group > .input-group-append:not(:last-child) > .btn, @@ -2494,139 +2583,168 @@ input[type="button"].btn-block { z-index: -1; opacity: 0; } .custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - background-color: #1db4ff; } + color: #FFF; + border-color: #25A768; + background-color: #25A768; } .custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } - .custom-control-input:active ~ .custom-control-label::before { - color: #fff; - background-color: #d0efff; } + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } + .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #6ddfa8; } + .custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #FFF; + background-color: #97e8c1; + border-color: #97e8c1; } .custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; } + color: #676463; } .custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; } + background-color: #EBE8E7; } .custom-control-label { - margin-bottom: 0; } + position: relative; + margin-bottom: 0; + vertical-align: top; } .custom-control-label::before { position: absolute; top: 0.25rem; - left: 0; + left: -1.5rem; display: block; width: 1rem; height: 1rem; pointer-events: none; content: ""; - user-select: none; - background-color: #dee2e6; } + background-color: #FFF; + border: #8D8A89 solid 1px; } .custom-control-label::after { position: absolute; top: 0.25rem; - left: 0; + left: -1.5rem; display: block; width: 1rem; height: 1rem; content: ""; - background-repeat: no-repeat; - background-position: center center; - background-size: 50% 50%; } + background: no-repeat 50% / 50% 50%; } .custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; } - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { - background-color: #1db4ff; } + border-radius: 0; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - 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"); } + background-image: url("data:image/svg+xml,%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"); } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - background-color: #1db4ff; } + border-color: #25A768; + background-color: #25A768; } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - 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"); } + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23FFF' d='M0 2h4'/%3e%3c/svg%3e"); } .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(29, 180, 255, 0.5); } + background-color: rgba(37, 167, 104, 0.5); } .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(29, 180, 255, 0.5); } + background-color: rgba(37, 167, 104, 0.5); } .custom-radio .custom-control-label::before { border-radius: 50%; } -.custom-radio .custom-control-input:checked ~ .custom-control-label::before { - background-color: #1db4ff; } - .custom-radio .custom-control-input:checked ~ .custom-control-label::after { - 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"); } + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFF'/%3e%3c/svg%3e"); } .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(29, 180, 255, 0.5); } + background-color: rgba(37, 167, 104, 0.5); } + +.custom-switch { + padding-left: 2.25rem; } + .custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; } + .custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #8D8A89; + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; } } + .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #FFF; + transform: translateX(0.75rem); } + .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(37, 167, 104, 0.5); } .custom-select { display: inline-block; width: 100%; - height: calc(2.25rem + 2px); + height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; line-height: 1.5; - color: #495057; + color: #464443; 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='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; - background-size: 8px 10px; - border: 1px solid #ced4da; - border-radius: 0.25rem; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%232E2D2C' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background-color: #FFF; + border: 1px solid #B3B0AF; + border-radius: 0; appearance: none; } .custom-select:focus { - border-color: #9ddeff; + border-color: #6ddfa8; outline: 0; - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(157, 222, 255, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } .custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; } + color: #464443; + background-color: #FFF; } .custom-select[multiple], .custom-select[size]:not([size="1"]) { height: auto; padding-right: 0.75rem; background-image: none; } .custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; } + color: #676463; + background-color: #EBE8E7; } .custom-select::-ms-expand { - opacity: 0; } + display: none; } .custom-select-sm { - height: calc(1.8125rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 75%; } + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; } .custom-select-lg { - height: calc(2.875rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 125%; } + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; } .custom-file { position: relative; display: inline-block; width: 100%; - height: calc(2.25rem + 2px); + height: calc(1.5em + 0.75rem + 2px); margin-bottom: 0; } .custom-file-input { position: relative; z-index: 2; width: 100%; - height: calc(2.25rem + 2px); + height: calc(1.5em + 0.75rem + 2px); margin: 0; opacity: 0; } .custom-file-input:focus ~ .custom-file-label { - border-color: #9ddeff; - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } - .custom-file-input:focus ~ .custom-file-label::after { - border-color: #9ddeff; } + border-color: #6ddfa8; + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } + .custom-file-input:disabled ~ .custom-file-label { + background-color: #EBE8E7; } .custom-file-input:lang(en) ~ .custom-file-label::after { content: "Browse"; } + .custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); } .custom-file-label { position: absolute; @@ -2634,13 +2752,14 @@ input[type="button"].btn-block { right: 0; left: 0; z-index: 1; - height: calc(2.25rem + 2px); + height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 0.75rem; + font-weight: 400; line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; } + color: #464443; + background-color: #FFF; + border: 1px solid #B3B0AF; + border-radius: 0; } .custom-file-label::after { position: absolute; top: 0; @@ -2648,77 +2767,90 @@ input[type="button"].btn-block { bottom: 0; z-index: 3; display: block; - height: calc(calc(2.25rem + 2px) - 1px * 2); + height: calc(1.5em + 0.75rem); padding: 0.375rem 0.75rem; line-height: 1.5; - color: #495057; + color: #464443; content: "Browse"; - background-color: #e9ecef; - border-left: 1px solid #ced4da; - border-radius: 0 0.25rem 0.25rem 0; } + background-color: #EBE8E7; + border-left: inherit; + border-radius: 0 0 0 0; } .custom-range { width: 100%; - padding-left: 0; + height: calc(1rem + 0.4rem); + padding: 0; background-color: transparent; appearance: none; } .custom-range:focus { outline: none; } + .custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #FFF, 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } + .custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #FFF, 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } + .custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #FFF, 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } .custom-range::-moz-focus-outer { border: 0; } .custom-range::-webkit-slider-thumb { width: 1rem; height: 1rem; margin-top: -0.25rem; - background-color: #1db4ff; + background-color: #25A768; border: 0; border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } - .custom-range::-webkit-slider-thumb:focus { - outline: none; - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } + @media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; } } .custom-range::-webkit-slider-thumb:active { - background-color: #d0efff; } + background-color: #97e8c1; } .custom-range::-webkit-slider-runnable-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; - background-color: #dee2e6; + background-color: #D3D0CF; border-color: transparent; border-radius: 1rem; } .custom-range::-moz-range-thumb { width: 1rem; height: 1rem; - background-color: #1db4ff; + background-color: #25A768; border: 0; border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } - .custom-range::-moz-range-thumb:focus { - outline: none; - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } + @media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; } } .custom-range::-moz-range-thumb:active { - background-color: #d0efff; } + background-color: #97e8c1; } .custom-range::-moz-range-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; - background-color: #dee2e6; + background-color: #D3D0CF; border-color: transparent; border-radius: 1rem; } .custom-range::-ms-thumb { width: 1rem; height: 1rem; - background-color: #1db4ff; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #25A768; border: 0; border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } - .custom-range::-ms-thumb:focus { - outline: none; - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } + @media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; } } .custom-range::-ms-thumb:active { - background-color: #d0efff; } + background-color: #97e8c1; } .custom-range::-ms-track { width: 100%; height: 0.5rem; @@ -2728,12 +2860,32 @@ input[type="button"].btn-block { border-color: transparent; border-width: 0.5rem; } .custom-range::-ms-fill-lower { - background-color: #dee2e6; + background-color: #D3D0CF; border-radius: 1rem; } .custom-range::-ms-fill-upper { margin-right: 15px; - background-color: #dee2e6; + background-color: #D3D0CF; border-radius: 1rem; } + .custom-range:disabled::-webkit-slider-thumb { + background-color: #8D8A89; } + .custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; } + .custom-range:disabled::-moz-range-thumb { + background-color: #8D8A89; } + .custom-range:disabled::-moz-range-track { + cursor: default; } + .custom-range:disabled::-ms-thumb { + background-color: #8D8A89; } + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; } } .nav { display: flex; @@ -2748,39 +2900,41 @@ input[type="button"].btn-block { .nav-link:hover, .nav-link:focus { text-decoration: none; } .nav-link.disabled { - color: #6c757d; } + color: #676463; + pointer-events: none; + cursor: default; } .nav-tabs { - border-bottom: 1px solid #dee2e6; } + border-bottom: 1px solid #D3D0CF; } .nav-tabs .nav-item { margin-bottom: -1px; } .nav-tabs .nav-link { border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } + border-top-left-radius: 0; + border-top-right-radius: 0; } .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: #e9ecef #e9ecef #dee2e6; } + border-color: #EBE8E7 #EBE8E7 #D3D0CF; } .nav-tabs .nav-link.disabled { - color: #6c757d; + color: #676463; background-color: transparent; border-color: transparent; } .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; } + color: #464443; + background-color: #FFF; + border-color: #D3D0CF #D3D0CF #FFF; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .nav-pills .nav-link { - border-radius: 0.25rem; } + border-radius: 0; } .nav-pills .nav-link.active, .nav-pills .show > .nav-link { - color: #fff; - background-color: #1db4ff; } + color: #FFF; + background-color: #25A768; } .nav-fill .nav-item { flex: 1 1 auto; @@ -2851,11 +3005,9 @@ input[type="button"].btn-block { line-height: 1; background-color: transparent; border: 1px solid transparent; - border-radius: 0.25rem; } + border-radius: 0; } .navbar-toggler:hover, .navbar-toggler:focus { text-decoration: none; } - .navbar-toggler:not(:disabled):not(.disabled) { - cursor: pointer; } .navbar-toggler-icon { display: inline-block; @@ -2994,41 +3146,41 @@ input[type="button"].btn-block { display: none; } .navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); } + color: rgba(27, 24, 24, 0.9); } .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); } + color: rgba(27, 24, 24, 0.9); } .navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); } + color: #676463; } .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); } + color: rgba(27, 24, 24, 0.7); } .navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); } + color: rgba(27, 24, 24, 0.3); } .navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); } + color: rgba(27, 24, 24, 0.9); } .navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); } + color: #676463; + border-color: rgba(27, 24, 24, 0.1); } .navbar-light .navbar-toggler-icon { - 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"); } + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23676463' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); } + color: #676463; } .navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); } + color: rgba(27, 24, 24, 0.9); } .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); } + color: rgba(27, 24, 24, 0.9); } .navbar-dark .navbar-brand { - color: #fff; } + color: #FFF; } .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; } + color: #FFF; } .navbar-dark .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.5); } @@ -3041,21 +3193,21 @@ input[type="button"].btn-block { .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active { - color: #fff; } + color: #FFF; } .navbar-dark .navbar-toggler { color: rgba(255, 255, 255, 0.5); border-color: rgba(255, 255, 255, 0.1); } .navbar-dark .navbar-toggler-icon { - 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"); } + background-image: url("data:image/svg+xml,%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"); } .navbar-dark .navbar-text { color: rgba(255, 255, 255, 0.5); } .navbar-dark .navbar-text a { - color: #fff; } + color: #FFF; } .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; } + color: #FFF; } .card { position: relative; @@ -3063,19 +3215,19 @@ input[type="button"].btn-block { flex-direction: column; min-width: 0; word-wrap: break-word; - background-color: #fff; + background-color: #FFF; background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; } + border: 1px solid rgba(27, 24, 24, 0.125); + border-radius: 0; } .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; } + border-top-left-radius: 0; + border-top-right-radius: 0; } .card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .card-body { flex: 1 1 auto; @@ -3100,19 +3252,19 @@ input[type="button"].btn-block { .card-header { padding: 0.75rem 1.25rem; margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); } + background-color: rgba(27, 24, 24, 0.03); + border-bottom: 1px solid rgba(27, 24, 24, 0.125); } .card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } + border-radius: calc(0 - 1px) calc(0 - 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); - border-top: 1px solid rgba(0, 0, 0, 0.125); } + background-color: rgba(27, 24, 24, 0.03); + border-top: 1px solid rgba(27, 24, 24, 0.125); } .card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } + border-radius: 0 0 calc(0 - 1px) calc(0 - 1px); } .card-header-tabs { margin-right: -0.625rem; @@ -3134,17 +3286,17 @@ input[type="button"].btn-block { .card-img { width: 100%; - border-radius: calc(0.25rem - 1px); } + border-radius: calc(0 - 1px); } .card-img-top { width: 100%; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); } + border-top-left-radius: calc(0 - 1px); + border-top-right-radius: calc(0 - 1px); } .card-img-bottom { width: 100%; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); } + border-bottom-right-radius: calc(0 - 1px); + border-bottom-left-radius: calc(0 - 1px); } .card-deck { display: flex; @@ -3178,41 +3330,24 @@ input[type="button"].btn-block { .card-group > .card + .card { margin-left: 0; border-left: 0; } - .card-group > .card:first-child { + .card-group > .card:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - .card-group > .card:first-child .card-img-top, - .card-group > .card:first-child .card-header { + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { border-top-right-radius: 0; } - .card-group > .card:first-child .card-img-bottom, - .card-group > .card:first-child .card-footer { + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { border-bottom-right-radius: 0; } - .card-group > .card:last-child { + .card-group > .card:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } - .card-group > .card:last-child .card-img-top, - .card-group > .card:last-child .card-header { + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { border-top-left-radius: 0; } - .card-group > .card:last-child .card-img-bottom, - .card-group > .card:last-child .card-footer { - border-bottom-left-radius: 0; } - .card-group > .card:only-child { - border-radius: 0.25rem; } - .card-group > .card:only-child .card-img-top, - .card-group > .card:only-child .card-header { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } - .card-group > .card:only-child .card-img-bottom, - .card-group > .card:only-child .card-footer { - 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):not(:only-child) .card-img-top, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { - border-radius: 0; } } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; } } .card-columns .card { margin-bottom: 0.75rem; } @@ -3227,21 +3362,22 @@ input[type="button"].btn-block { display: inline-block; width: 100%; } } -.accordion .card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0; } - -.accordion .card:not(:first-of-type) .card-header:first-child { - border-radius: 0; } - -.accordion .card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - -.accordion .card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0; } +.accordion > .card { + overflow: hidden; } + .accordion > .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; } + .accordion > .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; } + .accordion > .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .accordion > .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; } + .accordion > .card .card-header { + margin-bottom: -1px; } .breadcrumb { display: flex; @@ -3249,15 +3385,15 @@ input[type="button"].btn-block { padding: 0.75rem 1rem; margin-bottom: 1rem; list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; } + background-color: #EBE8E7; + border-radius: 0; } .breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; } .breadcrumb-item + .breadcrumb-item::before { display: inline-block; padding-right: 0.5rem; - color: #6c757d; + color: #676463; content: "/"; } .breadcrumb-item + .breadcrumb-item:hover::before { @@ -3267,13 +3403,13 @@ input[type="button"].btn-block { text-decoration: none; } .breadcrumb-item.active { - color: #6c757d; } + color: #676463; } .pagination { display: flex; padding-left: 0; list-style: none; - border-radius: 0.25rem; } + border-radius: 0; } .page-link { position: relative; @@ -3281,43 +3417,41 @@ input[type="button"].btn-block { padding: 0.5rem 0.75rem; margin-left: -1px; line-height: 1.25; - color: #1db4ff; - background-color: #fff; - border: 1px solid #dee2e6; } + color: #25A768; + background-color: #FFF; + border: 1px solid #D3D0CF; } .page-link:hover { z-index: 2; - color: #008bd0; + color: #176841; text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; } + background-color: #EBE8E7; + border-color: #D3D0CF; } .page-link:focus { z-index: 2; outline: 0; - box-shadow: 0 0 0 0.2rem rgba(29, 180, 255, 0.25); } - .page-link:not(:disabled):not(.disabled) { - cursor: pointer; } + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.25); } .page-item:first-child .page-link { margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; } + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .page-item.active .page-link { z-index: 1; - color: #fff; - background-color: #1db4ff; - border-color: #1db4ff; } + color: #FFF; + background-color: #25A768; + border-color: #25A768; } .page-item.disabled .page-link { - color: #6c757d; + color: #676463; pointer-events: none; cursor: auto; - background-color: #fff; - border-color: #dee2e6; } + background-color: #FFF; + border-color: #D3D0CF; } .pagination-lg .page-link { padding: 0.75rem 1.5rem; @@ -3325,12 +3459,12 @@ input[type="button"].btn-block { line-height: 1.5; } .pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; } + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; } + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .pagination-sm .page-link { padding: 0.25rem 0.5rem; @@ -3338,12 +3472,12 @@ input[type="button"].btn-block { line-height: 1.5; } .pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; } + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; } + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .badge { display: inline-block; @@ -3354,7 +3488,13 @@ input[type="button"].btn-block { text-align: center; white-space: nowrap; vertical-align: baseline; - border-radius: 0.25rem; } + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .badge { + transition: none; } } + a.badge:hover, a.badge:focus { + text-decoration: none; } .badge:empty { display: none; } @@ -3368,74 +3508,90 @@ input[type="button"].btn-block { border-radius: 10rem; } .badge-primary { - color: #fff; - background-color: #1db4ff; } - .badge-primary[href]:hover, .badge-primary[href]:focus { - color: #fff; - text-decoration: none; - background-color: #009ce9; } + color: #FFF; + background-color: #25A768; } + a.badge-primary:hover, a.badge-primary:focus { + color: #FFF; + background-color: #1c7d4e; } + a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(37, 167, 104, 0.5); } .badge-secondary { - color: #fff; - background-color: #0A93EB; } - .badge-secondary[href]:hover, .badge-secondary[href]:focus { - color: #fff; - text-decoration: none; - background-color: #0874ba; } + color: #FFF; + background-color: #676463; } + a.badge-secondary:hover, a.badge-secondary:focus { + color: #FFF; + background-color: #4d4b4a; } + a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(103, 100, 99, 0.5); } .badge-success { - color: #fff; - background-color: #28a745; } - .badge-success[href]:hover, .badge-success[href]:focus { - color: #fff; - text-decoration: none; - background-color: #1e7e34; } + color: #FFF; + background-color: #2BCB96; } + a.badge-success:hover, a.badge-success:focus { + color: #FFF; + background-color: #22a177; } + a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(43, 203, 150, 0.5); } .badge-info { - color: #fff; - background-color: #17a2b8; } - .badge-info[href]:hover, .badge-info[href]:focus { - color: #fff; - text-decoration: none; - background-color: #117a8b; } + color: #FFF; + background-color: #7699bb; } + a.badge-info:hover, a.badge-info:focus { + color: #FFF; + background-color: #5480aa; } + a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(118, 153, 187, 0.5); } .badge-warning { - color: #212529; - background-color: #ffc107; } - .badge-warning[href]:hover, .badge-warning[href]:focus { - color: #212529; - text-decoration: none; - background-color: #d39e00; } + color: #201F1E; + background-color: #D0DB60; } + a.badge-warning:hover, a.badge-warning:focus { + color: #201F1E; + background-color: #c4d236; } + a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(208, 219, 96, 0.5); } .badge-danger { - color: #fff; - background-color: #dc3545; } - .badge-danger[href]:hover, .badge-danger[href]:focus { - color: #fff; - text-decoration: none; - background-color: #bd2130; } + color: #FFF; + background-color: #AA4949; } + a.badge-danger:hover, a.badge-danger:focus { + color: #FFF; + background-color: #863a3a; } + a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(170, 73, 73, 0.5); } .badge-light { - color: #212529; - background-color: #e1e4e8; } - .badge-light[href]:hover, .badge-light[href]:focus { - color: #212529; - text-decoration: none; - background-color: #c4cad2; } + color: #201F1E; + background-color: #EBE8E7; } + a.badge-light:hover, a.badge-light:focus { + color: #201F1E; + background-color: #d4cdcb; } + a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(235, 232, 231, 0.5); } .badge-dark { - color: #fff; - background-color: #2b3e51; } - .badge-dark[href]:hover, .badge-dark[href]:focus { - color: #fff; - text-decoration: none; - background-color: #192530; } + color: #FFF; + background-color: #1B1818; } + a.badge-dark:hover, a.badge-dark:focus { + color: #FFF; + background-color: black; } + a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(27, 24, 24, 0.5); } .jumbotron { padding: 2rem 1rem; margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; } + background-color: #EBE8E7; + border-radius: 0; } @media (min-width: 576px) { .jumbotron { padding: 4rem 2rem; } } @@ -3450,7 +3606,7 @@ input[type="button"].btn-block { padding: 0.75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; - border-radius: 0.25rem; } + border-radius: 0; } .alert-heading { color: inherit; } @@ -3468,76 +3624,76 @@ input[type="button"].btn-block { color: inherit; } .alert-primary { - color: #0f5e85; - background-color: #d2f0ff; - border-color: #c0eaff; } + color: #206242; + background-color: #d3ede1; + border-color: #c2e6d5; } .alert-primary hr { - border-top-color: #a7e2ff; } + border-top-color: #b0dfc9; } .alert-primary .alert-link { - color: #0a3e57; } + color: #133c28; } .alert-secondary { - color: #054c7a; - background-color: #cee9fb; - border-color: #bae1f9; } + color: #43403f; + background-color: #e1e0e0; + border-color: #d4d4d3; } .alert-secondary hr { - border-top-color: #a3d7f7; } + border-top-color: #c7c7c6; } .alert-secondary .alert-link { - color: #032d49; } + color: #292726; } .alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; } + color: #23755a; + background-color: #d5f5ea; + border-color: #c4f0e2; } .alert-success hr { - border-top-color: #b1dfbb; } + border-top-color: #b0ebd8; } .alert-success .alert-link { - color: #0b2e13; } + color: #174e3c; } .alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; } + color: #4a5b6d; + background-color: #e4ebf1; + border-color: #d9e2ec; } .alert-info hr { - border-top-color: #abdde5; } + border-top-color: #c8d5e4; } .alert-info .alert-link { - color: #062c33; } + color: #35424f; } .alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; } + color: #797d3d; + background-color: #f6f8df; + border-color: #f2f5d2; } .alert-warning hr { - border-top-color: #ffe8a1; } + border-top-color: #ecf0bd; } .alert-warning .alert-link { - color: #533f03; } + color: #585b2c; } .alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; } + color: #653131; + background-color: #eedbdb; + border-color: #e7cccc; } .alert-danger hr { - border-top-color: #f1b0b7; } + border-top-color: #dfbbbb; } .alert-danger .alert-link { - color: #491217; } + color: #432020; } .alert-light { - color: #757779; - background-color: #f9fafa; - border-color: #f7f7f9; } + color: #878484; + background-color: #fbfafa; + border-color: #f9f9f8; } .alert-light hr { - border-top-color: #e8e8ee; } + border-top-color: #ededea; } .alert-light .alert-link { - color: #5c5e5f; } + color: #6d6b6b; } .alert-dark { - color: #16202a; - background-color: #d5d8dc; - border-color: #c4c9ce; } + color: #1b1818; + background-color: #d1d1d1; + border-color: #bfbebe; } .alert-dark hr { - border-top-color: #b6bcc2; } + border-top-color: #b2b1b1; } .alert-dark .alert-link { - color: #040709; } + color: black; } @keyframes progress-bar-stripes { from { @@ -3550,19 +3706,19 @@ input[type="button"].btn-block { height: 1rem; overflow: hidden; font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; } + background-color: #EBE8E7; + border-radius: 0; } .progress-bar { display: flex; flex-direction: column; justify-content: center; - color: #fff; + color: #FFF; text-align: center; white-space: nowrap; - background-color: #1db4ff; + background-color: #25A768; transition: width 0.6s ease; } - @media screen and (prefers-reduced-motion: reduce) { + @media (prefers-reduced-motion: reduce) { .progress-bar { transition: none; } } @@ -3572,6 +3728,9 @@ input[type="button"].btn-block { .progress-bar-animated { animation: progress-bar-stripes 1s linear infinite; } + @media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; } } .media { display: flex; @@ -3588,178 +3747,294 @@ input[type="button"].btn-block { .list-group-item-action { width: 100%; - color: #495057; + color: #464443; text-align: inherit; } .list-group-item-action:hover, .list-group-item-action:focus { - color: #495057; + z-index: 1; + color: #464443; text-decoration: none; - background-color: #f8f9fa; } + background-color: #F9F7F7; } .list-group-item-action:active { - color: #212529; - background-color: #e9ecef; } + color: #1B1818; + background-color: #EBE8E7; } .list-group-item { position: relative; display: block; padding: 0.75rem 1.25rem; margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); } + background-color: #FFF; + border: 1px solid rgba(27, 24, 24, 0.125); } .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } + border-top-left-radius: 0; + border-top-right-radius: 0; } .list-group-item:last-child { margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } - .list-group-item:hover, .list-group-item:focus { - z-index: 1; - text-decoration: none; } + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - background-color: #fff; } + color: #676463; + pointer-events: none; + background-color: #FFF; } .list-group-item.active { z-index: 2; - color: #fff; - background-color: #1db4ff; - border-color: #1db4ff; } + color: #FFF; + background-color: #25A768; + border-color: #25A768; } + +.list-group-horizontal { + flex-direction: row; } + .list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 0; } + .list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; } + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 0; } + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } } + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; } + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 0; } + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } } + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; } + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 0; } + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } } + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; } + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 0; } + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } } .list-group-flush .list-group-item { border-right: 0; border-left: 0; border-radius: 0; } + .list-group-flush .list-group-item:last-child { + margin-bottom: -1px; } .list-group-flush:first-child .list-group-item:first-child { border-top: 0; } .list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; border-bottom: 0; } .list-group-item-primary { - color: #0f5e85; - background-color: #c0eaff; } + color: #206242; + background-color: #c2e6d5; } .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #0f5e85; - background-color: #a7e2ff; } + color: #206242; + background-color: #b0dfc9; } .list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #0f5e85; - border-color: #0f5e85; } + color: #FFF; + background-color: #206242; + border-color: #206242; } .list-group-item-secondary { - color: #054c7a; - background-color: #bae1f9; } + color: #43403f; + background-color: #d4d4d3; } .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #054c7a; - background-color: #a3d7f7; } + color: #43403f; + background-color: #c7c7c6; } .list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #054c7a; - border-color: #054c7a; } + color: #FFF; + background-color: #43403f; + border-color: #43403f; } .list-group-item-success { - color: #155724; - background-color: #c3e6cb; } + color: #23755a; + background-color: #c4f0e2; } .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #155724; - background-color: #b1dfbb; } + color: #23755a; + background-color: #b0ebd8; } .list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #155724; - border-color: #155724; } + color: #FFF; + background-color: #23755a; + border-color: #23755a; } .list-group-item-info { - color: #0c5460; - background-color: #bee5eb; } + color: #4a5b6d; + background-color: #d9e2ec; } .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #0c5460; - background-color: #abdde5; } + color: #4a5b6d; + background-color: #c8d5e4; } .list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; } + color: #FFF; + background-color: #4a5b6d; + border-color: #4a5b6d; } .list-group-item-warning { - color: #856404; - background-color: #ffeeba; } + color: #797d3d; + background-color: #f2f5d2; } .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #856404; - background-color: #ffe8a1; } + color: #797d3d; + background-color: #ecf0bd; } .list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #856404; - border-color: #856404; } + color: #FFF; + background-color: #797d3d; + border-color: #797d3d; } .list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; } + color: #653131; + background-color: #e7cccc; } .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #721c24; - background-color: #f1b0b7; } + color: #653131; + background-color: #dfbbbb; } .list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; } + color: #FFF; + background-color: #653131; + border-color: #653131; } .list-group-item-light { - color: #757779; - background-color: #f7f7f9; } + color: #878484; + background-color: #f9f9f8; } .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #757779; - background-color: #e8e8ee; } + color: #878484; + background-color: #ededea; } .list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #757779; - border-color: #757779; } + color: #FFF; + background-color: #878484; + border-color: #878484; } .list-group-item-dark { - color: #16202a; - background-color: #c4c9ce; } + color: #1b1818; + background-color: #bfbebe; } .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #16202a; - background-color: #b6bcc2; } + color: #1b1818; + background-color: #b2b1b1; } .list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #16202a; - border-color: #16202a; } + color: #FFF; + background-color: #1b1818; + border-color: #1b1818; } .close { float: right; font-size: 1.5rem; font-weight: 700; line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; + color: #1B1818; + text-shadow: 0 1px 0 #FFF; opacity: .5; } - .close:hover, .close:focus { - color: #000; - text-decoration: none; + .close:hover { + color: #1B1818; + text-decoration: none; } + .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { opacity: .75; } - .close:not(:disabled):not(.disabled) { - cursor: pointer; } button.close { padding: 0; background-color: transparent; border: 0; - -webkit-appearance: none; } + appearance: none; } + +a.close.disabled { + pointer-events: none; } + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(27, 24, 24, 0.1); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; } + .toast:not(:last-child) { + margin-bottom: 0.75rem; } + .toast.showing { + opacity: 1; } + .toast.show { + display: block; + opacity: 1; } + .toast.hide { + display: none; } + +.toast-header { + display: flex; + align-items: center; + padding: 0.25rem 0.75rem; + color: #676463; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); } + +.toast-body { + padding: 0.75rem; } .modal-open { overflow: hidden; } + .modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } .modal { position: fixed; top: 0; - right: 0; - bottom: 0; left: 0; z-index: 1050; display: none; + width: 100%; + height: 100%; overflow: hidden; outline: 0; } - .modal-open .modal { - overflow-x: hidden; - overflow-y: auto; } .modal-dialog { position: relative; @@ -3768,17 +4043,41 @@ button.close { pointer-events: none; } .modal.fade .modal-dialog { transition: transform 0.3s ease-out; - transform: translate(0, -25%); } - @media screen and (prefers-reduced-motion: reduce) { + transform: translate(0, -50px); } + @media (prefers-reduced-motion: reduce) { .modal.fade .modal-dialog { transition: none; } } .modal.show .modal-dialog { - transform: translate(0, 0); } + transform: none; } + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; } + .modal-dialog-scrollable .modal-header, + .modal-dialog-scrollable .modal-footer { + flex-shrink: 0; } + .modal-dialog-scrollable .modal-body { + overflow-y: auto; } .modal-dialog-centered { display: flex; align-items: center; - min-height: calc(100% - (0.5rem * 2)); } + min-height: calc(100% - 1rem); } + .modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; } + .modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; } + .modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; } + .modal-dialog-centered.modal-dialog-scrollable::before { + content: none; } .modal-content { position: relative; @@ -3786,20 +4085,20 @@ button.close { flex-direction: column; width: 100%; pointer-events: auto; - background-color: #fff; + background-color: #FFF; background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; + border: 1px solid rgba(27, 24, 24, 0.2); + border-radius: 0; outline: 0; } .modal-backdrop { position: fixed; top: 0; - right: 0; - bottom: 0; left: 0; z-index: 1040; - background-color: #000; } + width: 100vw; + height: 100vh; + background-color: #1B1818; } .modal-backdrop.fade { opacity: 0; } .modal-backdrop.show { @@ -3809,12 +4108,12 @@ button.close { display: flex; align-items: flex-start; justify-content: space-between; - padding: 1rem; - border-bottom: 1px solid #e9ecef; - border-top-left-radius: 0.3rem; - border-top-right-radius: 0.3rem; } + padding: 1rem 1rem; + border-bottom: 1px solid #D3D0CF; + border-top-left-radius: 0; + border-top-right-radius: 0; } .modal-header .close { - padding: 1rem; + padding: 1rem 1rem; margin: -1rem -1rem -1rem auto; } .modal-title { @@ -3831,7 +4130,9 @@ button.close { align-items: center; justify-content: flex-end; padding: 1rem; - border-top: 1px solid #e9ecef; } + border-top: 1px solid #D3D0CF; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .modal-footer > :not(:first-child) { margin-left: .25rem; } .modal-footer > :not(:last-child) { @@ -3848,21 +4149,32 @@ button.close { .modal-dialog { max-width: 500px; margin: 1.75rem auto; } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); } .modal-dialog-centered { - min-height: calc(100% - (1.75rem * 2)); } + min-height: calc(100% - 3.5rem); } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); } .modal-sm { max-width: 300px; } } @media (min-width: 992px) { - .modal-lg { + .modal-lg, + .modal-xl { max-width: 800px; } } +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; } } + .tooltip { position: absolute; z-index: 1070; display: block; 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-family: -apple-system, system-ui, "Roboto", sans-serif; font-style: normal; font-weight: 400; line-height: 1.5; @@ -3899,7 +4211,7 @@ button.close { .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { top: 0; border-width: 0.4rem 0.4rem 0; - border-top-color: #000; } + border-top-color: #1B1818; } .bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { padding: 0 0.4rem; } @@ -3910,7 +4222,7 @@ button.close { .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { right: 0; border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; } + border-right-color: #1B1818; } .bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { padding: 0.4rem 0; } @@ -3919,7 +4231,7 @@ button.close { .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { bottom: 0; border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; } + border-bottom-color: #1B1818; } .bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { padding: 0 0.4rem; } @@ -3930,15 +4242,15 @@ button.close { .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { left: 0; border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; } + border-left-color: #1B1818; } .tooltip-inner { max-width: 200px; padding: 0.25rem 0.5rem; - color: #fff; + color: #FFF; text-align: center; - background-color: #000; - border-radius: 0.25rem; } + background-color: #1B1818; + border-radius: 0; } .popover { position: absolute; @@ -3947,7 +4259,7 @@ button.close { z-index: 1060; display: block; max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-family: -apple-system, system-ui, "Roboto", sans-serif; font-style: normal; font-weight: 400; line-height: 1.5; @@ -3963,16 +4275,16 @@ button.close { line-break: auto; font-size: 0.875rem; word-wrap: break-word; - background-color: #fff; + background-color: #FFF; background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; } + border: 1px solid rgba(27, 24, 24, 0.2); + border-radius: 0; } .popover .arrow { position: absolute; display: block; width: 1rem; height: 0.5rem; - margin: 0 0.3rem; } + margin: 0 0; } .popover .arrow::before, .popover .arrow::after { position: absolute; display: block; @@ -3982,57 +4294,45 @@ button.close { .bs-popover-top, .bs-popover-auto[x-placement^="top"] { margin-bottom: 0.5rem; } - .bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { + .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { bottom: calc((0.5rem + 1px) * -1); } - .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, - .bs-popover-top .arrow::after, - .bs-popover-auto[x-placement^="top"] .arrow::after { - border-width: 0.5rem 0.5rem 0; } - .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { - bottom: 0; - border-top-color: rgba(0, 0, 0, 0.25); } - - .bs-popover-top .arrow::after, - .bs-popover-auto[x-placement^="top"] .arrow::after { - bottom: 1px; - border-top-color: #fff; } + .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(27, 24, 24, 0.25); } + .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #FFF; } .bs-popover-right, .bs-popover-auto[x-placement^="right"] { margin-left: 0.5rem; } - .bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { + .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { left: calc((0.5rem + 1px) * -1); width: 0.5rem; height: 1rem; - margin: 0.3rem 0; } - .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, - .bs-popover-right .arrow::after, - .bs-popover-auto[x-placement^="right"] .arrow::after { - border-width: 0.5rem 0.5rem 0.5rem 0; } - .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { - left: 0; - border-right-color: rgba(0, 0, 0, 0.25); } - - .bs-popover-right .arrow::after, - .bs-popover-auto[x-placement^="right"] .arrow::after { - left: 1px; - border-right-color: #fff; } + margin: 0 0; } + .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(27, 24, 24, 0.25); } + .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #FFF; } .bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { margin-top: 0.5rem; } - .bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { + .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { top: calc((0.5rem + 1px) * -1); } - .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, - .bs-popover-bottom .arrow::after, - .bs-popover-auto[x-placement^="bottom"] .arrow::after { - border-width: 0 0.5rem 0.5rem 0.5rem; } - .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { - top: 0; - border-bottom-color: rgba(0, 0, 0, 0.25); } - - .bs-popover-bottom .arrow::after, - .bs-popover-auto[x-placement^="bottom"] .arrow::after { - top: 1px; - border-bottom-color: #fff; } + .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(27, 24, 24, 0.25); } + .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #FFF; } .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { position: absolute; top: 0; @@ -4045,57 +4345,59 @@ button.close { .bs-popover-left, .bs-popover-auto[x-placement^="left"] { margin-right: 0.5rem; } - .bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { + .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { right: calc((0.5rem + 1px) * -1); width: 0.5rem; height: 1rem; - margin: 0.3rem 0; } - .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, - .bs-popover-left .arrow::after, - .bs-popover-auto[x-placement^="left"] .arrow::after { - border-width: 0.5rem 0 0.5rem 0.5rem; } - .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { - right: 0; - border-left-color: rgba(0, 0, 0, 0.25); } - - .bs-popover-left .arrow::after, - .bs-popover-auto[x-placement^="left"] .arrow::after { - right: 1px; - border-left-color: #fff; } + margin: 0 0; } + .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(27, 24, 24, 0.25); } + .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #FFF; } .popover-header { padding: 0.5rem 0.75rem; margin-bottom: 0; font-size: 1rem; - color: inherit; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); } + border-top-left-radius: calc(0 - 1px); + border-top-right-radius: calc(0 - 1px); } .popover-header:empty { display: none; } .popover-body { padding: 0.5rem 0.75rem; - color: #212529; } + color: #1B1818; } .carousel { position: relative; } +.carousel.pointer-event { + touch-action: pan-y; } + .carousel-inner { position: relative; width: 100%; overflow: hidden; } + .carousel-inner::after { + display: block; + clear: both; + content: ""; } .carousel-item { position: relative; display: none; - align-items: center; + float: left; width: 100%; - transition: transform 0.6s ease; + margin-right: -100%; backface-visibility: hidden; - perspective: 1000px; } - @media screen and (prefers-reduced-motion: reduce) { + transition: transform 0.6s ease-in-out; } + @media (prefers-reduced-motion: reduce) { .carousel-item { transition: none; } } @@ -4104,82 +4406,60 @@ button.close { .carousel-item-prev { display: block; } -.carousel-item-next, -.carousel-item-prev { - position: absolute; - top: 0; } - -.carousel-item-next.carousel-item-left, -.carousel-item-prev.carousel-item-right { - transform: translateX(0); } - @supports (transform-style: preserve-3d) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - transform: translate3d(0, 0, 0); } } - -.carousel-item-next, +.carousel-item-next:not(.carousel-item-left), .active.carousel-item-right { transform: translateX(100%); } - @supports (transform-style: preserve-3d) { - .carousel-item-next, - .active.carousel-item-right { - transform: translate3d(100%, 0, 0); } } -.carousel-item-prev, +.carousel-item-prev:not(.carousel-item-right), .active.carousel-item-left { transform: translateX(-100%); } - @supports (transform-style: preserve-3d) { - .carousel-item-prev, - .active.carousel-item-left { - transform: translate3d(-100%, 0, 0); } } .carousel-fade .carousel-item { opacity: 0; - transition-duration: .6s; - transition-property: opacity; } + transition-property: opacity; + transform: none; } .carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; opacity: 1; } .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right { - opacity: 0; } - -.carousel-fade .carousel-item-next, -.carousel-fade .carousel-item-prev, -.carousel-fade .carousel-item.active, -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-prev { - transform: translateX(0); } - @supports (transform-style: preserve-3d) { - .carousel-fade .carousel-item-next, - .carousel-fade .carousel-item-prev, - .carousel-fade .carousel-item.active, + z-index: 0; + opacity: 0; + transition: 0s 0.6s opacity; } + @media (prefers-reduced-motion: reduce) { .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-prev { - transform: translate3d(0, 0, 0); } } + .carousel-fade .active.carousel-item-right { + transition: none; } } .carousel-control-prev, .carousel-control-next { position: absolute; top: 0; bottom: 0; + z-index: 1; display: flex; align-items: center; justify-content: center; width: 15%; - color: #fff; + color: #FFF; text-align: center; - opacity: 0.5; } + opacity: 0.5; + transition: opacity 0.15s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; } } .carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus { - color: #fff; + color: #FFF; text-decoration: none; outline: 0; - opacity: .9; } + opacity: 0.9; } .carousel-control-prev { left: 0; } @@ -4192,19 +4472,18 @@ button.close { display: inline-block; width: 20px; height: 20px; - background: transparent no-repeat center center; - background-size: 100% 100%; } + background: no-repeat 50% / 100% 100%; } .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='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"); } + background-image: url("data:image/svg+xml,%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='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"); } + background-image: url("data:image/svg+xml,%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 { position: absolute; right: 0; - bottom: 10px; + bottom: 0; left: 0; z-index: 15; display: flex; @@ -4214,32 +4493,25 @@ button.close { margin-left: 15%; list-style: none; } .carousel-indicators li { - position: relative; + box-sizing: content-box; flex: 0 1 auto; width: 30px; height: 3px; margin-right: 3px; margin-left: 3px; text-indent: -999px; - background-color: rgba(255, 255, 255, 0.5); } - .carousel-indicators li::before { - position: absolute; - top: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; } - .carousel-indicators li::after { - position: absolute; - bottom: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; } + cursor: pointer; + background-color: #FFF; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; } } .carousel-indicators .active { - background-color: #fff; } + opacity: 1; } .carousel-caption { position: absolute; @@ -4249,9 +4521,48 @@ button.close { z-index: 10; padding-top: 20px; padding-bottom: 20px; - color: #fff; + color: #FFF; text-align: center; } +@keyframes spinner-border { + to { + transform: rotate(360deg); } } + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + animation: spinner-border .75s linear infinite; } + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; } + +@keyframes spinner-grow { + 0% { + transform: scale(0); } + 50% { + opacity: 1; } } + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + animation: spinner-grow .75s linear infinite; } + +.spinner-grow-sm { + width: 1rem; + height: 1rem; } + .align-baseline { vertical-align: baseline !important; } @@ -4271,89 +4582,89 @@ button.close { vertical-align: text-top !important; } .bg-primary { - background-color: #1db4ff !important; } + background-color: #25A768 !important; } a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus { - background-color: #009ce9 !important; } + background-color: #1c7d4e !important; } .bg-secondary { - background-color: #0A93EB !important; } + background-color: #676463 !important; } a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus { - background-color: #0874ba !important; } + background-color: #4d4b4a !important; } .bg-success { - background-color: #28a745 !important; } + background-color: #2BCB96 !important; } a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus { - background-color: #1e7e34 !important; } + background-color: #22a177 !important; } .bg-info { - background-color: #17a2b8 !important; } + background-color: #7699bb !important; } a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus { - background-color: #117a8b !important; } + background-color: #5480aa !important; } .bg-warning { - background-color: #ffc107 !important; } + background-color: #D0DB60 !important; } a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus { - background-color: #d39e00 !important; } + background-color: #c4d236 !important; } .bg-danger { - background-color: #dc3545 !important; } + background-color: #AA4949 !important; } a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus { - background-color: #bd2130 !important; } + background-color: #863a3a !important; } .bg-light { - background-color: #e1e4e8 !important; } + background-color: #EBE8E7 !important; } a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus { - background-color: #c4cad2 !important; } + background-color: #d4cdcb !important; } .bg-dark { - background-color: #2b3e51 !important; } + background-color: #1B1818 !important; } a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus { - background-color: #192530 !important; } + background-color: black !important; } .bg-white { - background-color: #fff !important; } + background-color: #FFF !important; } .bg-transparent { background-color: transparent !important; } .border { - border: 1px solid #dee2e6 !important; } + border: 1px solid #D3D0CF !important; } .border-top { - border-top: 1px solid #dee2e6 !important; } + border-top: 1px solid #D3D0CF !important; } .border-right { - border-right: 1px solid #dee2e6 !important; } + border-right: 1px solid #D3D0CF !important; } .border-bottom { - border-bottom: 1px solid #dee2e6 !important; } + border-bottom: 1px solid #D3D0CF !important; } .border-left { - border-left: 1px solid #dee2e6 !important; } + border-left: 1px solid #D3D0CF !important; } .border-0 { border: 0 !important; } @@ -4371,54 +4682,63 @@ button.bg-dark:focus { border-left: 0 !important; } .border-primary { - border-color: #1db4ff !important; } + border-color: #25A768 !important; } .border-secondary { - border-color: #0A93EB !important; } + border-color: #676463 !important; } .border-success { - border-color: #28a745 !important; } + border-color: #2BCB96 !important; } .border-info { - border-color: #17a2b8 !important; } + border-color: #7699bb !important; } .border-warning { - border-color: #ffc107 !important; } + border-color: #D0DB60 !important; } .border-danger { - border-color: #dc3545 !important; } + border-color: #AA4949 !important; } .border-light { - border-color: #e1e4e8 !important; } + border-color: #EBE8E7 !important; } .border-dark { - border-color: #2b3e51 !important; } + border-color: #1B1818 !important; } .border-white { - border-color: #fff !important; } + border-color: #FFF !important; } + +.rounded-sm { + border-radius: 0 !important; } .rounded { - border-radius: 0.25rem !important; } + border-radius: 0 !important; } .rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; } + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; } .rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; } + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; } .rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; } + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; } .rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; } + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; } + +.rounded-lg { + border-radius: 0 !important; } .rounded-circle { border-radius: 50% !important; } +.rounded-pill { + border-radius: 50rem !important; } + .rounded-0 { border-radius: 0 !important; } @@ -5011,6 +5331,12 @@ button.bg-dark:focus { .float-xl-none { float: none !important; } } +.overflow-auto { + overflow: auto !important; } + +.overflow-hidden { + overflow: hidden !important; } + .position-static { position: static !important; } @@ -5065,13 +5391,13 @@ button.bg-dark:focus { white-space: normal; } .shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } + box-shadow: 0 0.125rem 0.25rem rgba(27, 24, 24, 0.075) !important; } .shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } + box-shadow: 0 0.5rem 1rem rgba(27, 24, 24, 0.15) !important; } .shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } + box-shadow: 0 1rem 3rem rgba(27, 24, 24, 0.175) !important; } .shadow-none { box-shadow: none !important; } @@ -5112,6 +5438,29 @@ button.bg-dark:focus { .mh-100 { max-height: 100% !important; } +.min-vw-100 { + min-width: 100vw !important; } + +.min-vh-100 { + min-height: 100vh !important; } + +.vw-100 { + width: 100vw !important; } + +.vh-100 { + height: 100vh !important; } + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); } + .m-0 { margin: 0 !important; } @@ -5340,6 +5689,101 @@ button.bg-dark:focus { .px-5 { padding-left: 3rem !important; } +.m-n1 { + margin: -0.25rem !important; } + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; } + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; } + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; } + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; } + +.m-n2 { + margin: -0.5rem !important; } + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; } + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; } + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; } + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; } + +.m-n3 { + margin: -1rem !important; } + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; } + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; } + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; } + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; } + +.m-n4 { + margin: -1.5rem !important; } + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; } + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; } + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; } + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; } + +.m-n5 { + margin: -3rem !important; } + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; } + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; } + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; } + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; } + .m-auto { margin: auto !important; } @@ -5528,6 +5972,76 @@ button.bg-dark:focus { .pl-sm-5, .px-sm-5 { padding-left: 3rem !important; } + .m-sm-n1 { + margin: -0.25rem !important; } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; } + .m-sm-n2 { + margin: -0.5rem !important; } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; } + .m-sm-n3 { + margin: -1rem !important; } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; } + .m-sm-n4 { + margin: -1.5rem !important; } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; } + .m-sm-n5 { + margin: -3rem !important; } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; } .m-sm-auto { margin: auto !important; } .mt-sm-auto, @@ -5712,6 +6226,76 @@ button.bg-dark:focus { .pl-md-5, .px-md-5 { padding-left: 3rem !important; } + .m-md-n1 { + margin: -0.25rem !important; } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; } + .m-md-n2 { + margin: -0.5rem !important; } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; } + .m-md-n3 { + margin: -1rem !important; } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; } + .m-md-n4 { + margin: -1.5rem !important; } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; } + .m-md-n5 { + margin: -3rem !important; } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; } .m-md-auto { margin: auto !important; } .mt-md-auto, @@ -5896,6 +6480,76 @@ button.bg-dark:focus { .pl-lg-5, .px-lg-5 { padding-left: 3rem !important; } + .m-lg-n1 { + margin: -0.25rem !important; } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; } + .m-lg-n2 { + margin: -0.5rem !important; } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; } + .m-lg-n3 { + margin: -1rem !important; } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; } + .m-lg-n4 { + margin: -1.5rem !important; } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; } + .m-lg-n5 { + margin: -3rem !important; } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; } .m-lg-auto { margin: auto !important; } .mt-lg-auto, @@ -6080,6 +6734,76 @@ button.bg-dark:focus { .pl-xl-5, .px-xl-5 { padding-left: 3rem !important; } + .m-xl-n1 { + margin: -0.25rem !important; } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; } + .m-xl-n2 { + margin: -0.5rem !important; } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; } + .m-xl-n3 { + margin: -1rem !important; } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; } + .m-xl-n4 { + margin: -1.5rem !important; } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; } + .m-xl-n5 { + margin: -3rem !important; } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; } .m-xl-auto { margin: auto !important; } .mt-xl-auto, @@ -6096,11 +6820,14 @@ button.bg-dark:focus { margin-left: auto !important; } } .text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } + font-family: "Space Mono", monospace !important; } .text-justify { text-align: justify !important; } +.text-wrap { + white-space: normal !important; } + .text-nowrap { white-space: nowrap !important; } @@ -6162,74 +6889,80 @@ button.bg-dark:focus { .font-weight-light { font-weight: 300 !important; } +.font-weight-lighter { + font-weight: lighter !important; } + .font-weight-normal { font-weight: 400 !important; } .font-weight-bold { font-weight: 700 !important; } +.font-weight-bolder { + font-weight: bolder !important; } + .font-italic { font-style: italic !important; } .text-white { - color: #fff !important; } + color: #FFF !important; } .text-primary { - color: #1db4ff !important; } + color: #25A768 !important; } a.text-primary:hover, a.text-primary:focus { - color: #009ce9 !important; } + color: #176841 !important; } .text-secondary { - color: #0A93EB !important; } + color: #676463 !important; } a.text-secondary:hover, a.text-secondary:focus { - color: #0874ba !important; } + color: #403e3e !important; } .text-success { - color: #28a745 !important; } + color: #2BCB96 !important; } a.text-success:hover, a.text-success:focus { - color: #1e7e34 !important; } + color: #1e8c67 !important; } .text-info { - color: #17a2b8 !important; } + color: #7699bb !important; } a.text-info:hover, a.text-info:focus { - color: #117a8b !important; } + color: #4c7399 !important; } .text-warning { - color: #ffc107 !important; } + color: #D0DB60 !important; } a.text-warning:hover, a.text-warning:focus { - color: #d39e00 !important; } + color: #b5c22c !important; } .text-danger { - color: #dc3545 !important; } + color: #AA4949 !important; } a.text-danger:hover, a.text-danger:focus { - color: #bd2130 !important; } + color: #743232 !important; } .text-light { - color: #e1e4e8 !important; } + color: #EBE8E7 !important; } a.text-light:hover, a.text-light:focus { - color: #c4cad2 !important; } + color: #c8c0bd !important; } .text-dark { - color: #2b3e51 !important; } + color: #1B1818 !important; } a.text-dark:hover, a.text-dark:focus { - color: #192530 !important; } + color: black !important; } .text-body { - color: #212529 !important; } + color: #1B1818 !important; } .text-muted { - color: #6c757d !important; } + color: #676463 !important; } .text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; } + color: rgba(27, 24, 24, 0.5) !important; } .text-white-50 { color: rgba(255, 255, 255, 0.5) !important; } @@ -6241,6 +6974,16 @@ a.text-dark:hover, a.text-dark:focus { background-color: transparent; border: 0; } +.text-decoration-none { + text-decoration: none !important; } + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; } + +.text-reset { + color: inherit !important; } + .visible { visibility: visible !important; } @@ -6261,7 +7004,7 @@ a.text-dark:hover, a.text-dark:focus { white-space: pre-wrap !important; } pre, blockquote { - border: 1px solid #adb5bd; + border: 1px solid #8D8A89; page-break-inside: avoid; } thead { display: table-header-group; } @@ -6285,16 +7028,389 @@ a.text-dark:hover, a.text-dark:focus { .navbar { display: none; } .badge { - border: 1px solid #000; } + border: 1px solid #1B1818; } .table { border-collapse: collapse !important; } .table td, .table th { - background-color: #fff !important; } + background-color: #FFF !important; } .table-bordered th, .table-bordered td { - border: 1px solid #dee2e6 !important; } } + border: 1px solid #D3D0CF !important; } + .table-dark { + color: inherit; } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #D3D0CF; } + .table .thead-dark th { + color: inherit; + border-color: #D3D0CF; } } -:root { - --font-family-sans-serif: 'Roboto', sans-serif; - --font-family-monospace: 'Roboto Mono', monospace; } +h1, h2, h3, h4, h5 { + font-family: 'Space Mono', monospace; + font-weight: 700; + color: #1B1818; } + +.landing section, +.xrpl-footer .card-grid, +#main_content_wrapper { + border-bottom: 1px solid #1B1818; } + +.landing section:last-of-type { + border-bottom: none; } + +.card-grid { + display: grid; + gap: 1px; + background-color: #EBE8E7; + padding: 0; } + .card-grid.card-grid-2x2 { + /* left half is a hero area; right half is a 2x2 grid. */ + grid-template-columns: 2fr 1fr 1fr; + grid-template-rows: auto auto; } + .card-grid.card-grid-2x2 .section-hero { + grid-row-end: span 2; } + @media (max-width: 991.98px) { + .card-grid.card-grid-2x2 { + /* Switch to 1-column layout on smaller widths */ + grid-template-columns: 1fr; + grid-template-rows: repeat(5, auto); } } + .card-grid.card-grid-2x1 { + /* left half is a hero area; right half is a 2x1 grid. */ + grid-template-columns: 2fr 1fr 1fr; + grid-template-rows: 1fr; } + .card-grid.card-grid-2x1 .section-hero { + grid-row-end: span 1; } + @media (max-width: 991.98px) { + .card-grid.card-grid-2x1 { + /* Switch to 1-column layout on smaller widths */ + grid-template-columns: 1fr; + grid-template-rows: 1fr; } } + .card-grid.card-grid-2x4 { + /* left half is a hero area; right half is a 2x4 grid. Total grid is 4x4 */ + grid-template-columns: 2fr 1fr 1fr; + grid-template-rows: 1fr 1fr 1fr 1fr; } + .card-grid.card-grid-2x4 .section-hero { + grid-row-end: span 4; } + @media (max-width: 991.98px) { + .card-grid.card-grid-2x4 { + /* Switch to 1-column layout on smaller widths */ + grid-template-columns: 1fr; + grid-template-rows: repeat(5, auto); } + .card-grid.card-grid-2x4 .section-hero { + grid-row-end: span 1; } } + .card-grid.card-grid-4xN { + /* 4 equal columns and any number of auto-sized rows. */ + grid-template-columns: 1fr 1fr 1fr 1fr; + grid-auto-rows: auto; + /* No "hero" blocks expected here. */ } + @media (max-width: 991.98px) { + .card-grid.card-grid-4xN { + /* Switch to 1-column layout on smaller widths */ + grid-template-columns: 1fr; } } + .card-grid.card-grid-3xN { + /* 3 equal columns and any number of auto-sized rows. */ + grid-template-columns: 1fr 1fr 1fr; + grid-auto-rows: auto; + /* No "hero" blocks expected here. */ } + @media (max-width: 991.98px) { + .card-grid.card-grid-3xN { + /* Switch to 1-column layout on smaller widths */ + grid-template-columns: 1fr; } } + .card-grid.card-grid-Nx1 { + /* 1 row of equal sized columns */ + grid-auto-flow: column; + grid-auto-columns: 1fr; + grid-template-rows: auto; + /* No "hero" blocks expected here. */ } + @media (max-width: 991.98px) { + .card-grid.card-grid-Nx1 { + /* Switch to 1-column layout on smaller widths */ + grid-auto-flow: row; + grid-template-columns: 1fr; } } + .card-grid .card { + padding: 40px; + border: 0; } + @media (max-width: 991.98px) { + .card-grid .card { + padding: 20px; } } + +/* Some styles that use the colors defined above ---------------------------- */ +h1 a, +h2 a, +h3 a { + color: #1B1818; + text-decoration: none; } + +h1 a:hover, +h2 a:hover, +h3 a:hover, +.xrpl-footer h5 a:hover { + color: #1B1818; } + +.xrpl-footer h5 a { + color: #1B1818; } + +.landing .curated-links a, +.landing .children-display a, +.landing a.card, +.xrpl-footer a { + color: #676463; } + +.landing .curated-links a:hover, +.landing .children-display a:hover, +.xrpl-footer a:hover { + color: #1B1818; } + +.navbar .navbar-nav .nav-link { + color: #676463; } + +.navbar .navbar-nav .nav-link:hover, +.navbar .navbar-nav .nav-link:active, +.navbar .navbar-nav .active .nav-link, +.navbar .active-parent .nav-link { + color: #1B1818; } + +.navbar.fixed-top { + box-shadow: inset 0 -1px 0 0 #EBE8E7; } + +.flag-vertical { + color: #EBE8E7; } + +.jump-to-top { + background-color: #464443; } + +.devportal-callout.tip { + border-color: #2BCB96; } + +.devportal-callout.tip > strong:first-child:before { + color: #2BCB96; } + +.devportal-callout.note > strong:first-child:before { + color: #7699bb; } + +.devportal-callout.note { + border-color: #7699bb; } + +.devportal-callout.caution { + border-color: #D0DB60; + /* not a typo */ } + +.devportal-callout.caution > strong:first-child:before { + color: #D0DB60; + /* not a typo */ } + +.devportal-callout.warning { + border-color: #AA4949; } + +.devportal-callout.warning > strong:first-child:before { + color: #AA4949; } + +.status.not_enabled { + /* flask icon for "not yet enabled" features */ + color: #D0DB60; } + +#tx-sender-history .list-group-item { + font-size: small; + color: #676463; } + +.xrpl-footer { + border-top: 1px solid #1B1818; + border-bottom: 1px solid #1B1818; } + +.xrpl-footer .container-fluid { + border-bottom: 1px solid #EBE8E7; } + +.header-link:hover { + color: #1B1818; } + +.response-metadata .timestamp { + color: #676463; + position: relative; + top: 16px; } + +/* Tables ------------------------------- */ +th { + border-bottom: 1px solid #1B1818; } + +tr { + border-bottom: 1px solid #EBE8E7; } + +/* Left/right nav color scheme ------------------------------- */ +aside a { + color: #676463; + text-decoration: none; + font-size: 1.05rem; } + +aside .sidenav_cat_title { + color: #1B1818; } + +aside a:hover, +aside .sidenav_cat_title:hover { + color: #25A768; } + +aside a.active, +aside a.active:hover { + color: #25A768; + font-weight: 700; } + +aside a.active-parent { + color: #464443; + font-weight: 700; } + +.sidebar_pagelist { + border-left: 1px solid #EBE8E7; } + +.sidebar_pagelist a, +.right-sidebar a { + display: block; + margin-top: 5px; + margin-left: -17px; + padding: 4px 15px 4px 35px; + text-indent: -20px; + font-size: 0.9rem; } + +.sidebar_pagelist a:hover { + padding-left: 34px; + border-left: 1px solid #25A768; } + +.sidebar_pagelist .active, +.sidebar_pagelist .active:hover { + padding-left: 33px; + border-left: 2px solid #25A768; } + +.sidebar_pagelist .subpage { + margin-left: 0; + margin-top: 0; + padding-left: 35px; + border-left: 1px solid #EBE8E7; } + +.sidebar_pagelist .subpage:hover { + padding-left: 35px; + border-left: 1px solid #25A768; } + +.sidebar_pagelist .active.subpage, +.sidebar_pagelist .active.subpage:hover { + padding-left: 33px; + border-left: 2px solid #25A768; } + +.sidenav_cat_toggler { + background-color: #676463; } + +.sidenav_cat_toggler:hover { + background-color: #25A768; } + +.right-sidebar .card-body { + border-left: 1px solid #EBE8E7; } + +.sidenav_parent a { + color: #1B1818; + display: block; + font-size: 1.1rem; + font-weight: 700; + padding: 15px 16px 15px 10px; } + +.right-sidebar .level-1 a { + color: #1B1818; } + +.right-sidebar .level-3 { + padding-left: 16px; + border-left: 1px solid #EBE8E7; + margin-bottom: 0; + padding-bottom: 5px; } + +.right-sidebar .level-3 a { + margin-top: 0; + padding-bottom: 5px; } + +.right-sidebar a:hover { + text-decoration: none; + border-left: 1px solid #25A768; + padding-left: 34px; } + +/* main content area ----------------------------------- */ +.sidebar-primary .main { + border-left: 1px solid #EBE8E7; + border-right: 1px solid #EBE8E7; } + +.content a.button { + color: #1B1818; + border: 1px solid #D3D0CF; } + +.content a.button:hover { + border: 1px solid #1B1818; } + +.btn-outline-secondary { + color: #1B1818; + border-color: #D3D0CF; } + +#main_content_wrapper .btn-outline-secondary:hover, +#main_content_wrapper .btn-outline-secondary:active, +.button:hover, #request_button:hover { + /* Undo Bootstrap styling */ + color: #1B1818; + background-color: inherit; + border: 1px solid #1B1818; } + +/* Use Cases ---------------------------------------------------------------- */ +.related-tasks-links a { + color: #676463; + text-decoration: none; } + +.related-tasks-links a:hover { + color: #1B1818; } + +.use-case-external-link { + border: 1px solid #D3D0CF; } + +.content .use-case-external-link a { + text-decoration: none; + color: #1B1818; } + +/* Edit on GitHub link ------------------------------------------------------ */ +.github-edit-wrap { + border: 1px solid #B3B0AF; + margin-right: 10px; + margin-left: 10px; } + +.github-edit-wrap:hover { + border-color: #1B1818; } + +.github-edit-wrap .github-edit { + background-image: url(../vendor/github-marks/GitHub-Mark-32px.png); + background-size: 24px 24px; + background-position: left 12px center; + background-repeat: no-repeat; + padding: 8px 16px 8px 48px; + color: #676463; + text-decoration: none; + display: block; + line-height: 17px; + /* Match search box height */ + font-family: "Space Mono", monospace; + font-weight: 700; } + +/* Code Tabs ---------------------------------------------------------------- */ +.multicode { + color: #1B1818; } + +.multicode a.current { + background-color: #EBE8E7; + color: #1B1818; } + +.multicode a, +a.current { + color: #1B1818; } + +.multicode li { + border-color: #D3D0CF; } + +.code_sample pre code { + background-color: #EBE8E7; } + +.multicode a:hover { + color: #1B1818; + border-bottom: 1px solid #1B1818; + padding-bottom: 7px; } diff --git a/assets/vendor/cm-javascript.min.js b/assets/vendor/cm-javascript.min.js deleted file mode 100644 index 0be93bda5a..0000000000 --- a/assets/vendor/cm-javascript.min.js +++ /dev/null @@ -1,2 +0,0 @@ -// TODO actually recognize syntax of TypeScript constructs -CodeMirror.defineMode("javascript",function(e,t){function a(e,t,n){return t.tokenize=n,n(e,t)}function f(e,t){var n=!1,r;while((r=e.next())!=null){if(r==t&&!n)return!1;n=!n&&r=="\\"}return n}function h(e,t,n){return l=e,c=n,t}function p(e,t){var n=e.next();if(n=='"'||n=="'")return a(e,t,d(n));if(n=="."&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return h("number","number");if(/[\[\]{}\(\),;\:\.]/.test(n))return h(n);if(n=="0"&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),h("number","number");if(/\d/.test(n))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),h("number","number");if(n=="/")return e.eat("*")?a(e,t,v):e.eat("/")?(e.skipToEnd(),h("comment","comment")):t.lastType=="operator"||t.lastType=="keyword c"||/^[\[{}\(,;:]$/.test(t.lastType)?(f(e,"/"),e.eatWhile(/[gimy]/),h("regexp","string-2")):(e.eatWhile(u),h("operator",null,e.current()));if(n=="#")return e.skipToEnd(),h("error","error");if(u.test(n))return e.eatWhile(u),h("operator",null,e.current());e.eatWhile(/[\w\$_]/);var r=e.current(),i=o.propertyIsEnumerable(r)&&o[r];return i&&t.lastType!="."?h(i.type,i.style,r):h("variable","variable",r)}function d(e){return function(t,n){return f(t,e)||(n.tokenize=p),h("string","string")}}function v(e,t){var n=!1,r;while(r=e.next()){if(r=="/"&&n){t.tokenize=p;break}n=r=="*"}return h("comment","comment")}function g(e,t,n,r,i,s){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=s,r!=null&&(this.align=r)}function y(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function b(e,t,n,r,s){var o=e.cc;w.state=e,w.stream=s,w.marked=null,w.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);for(;;){var u=o.length?o.pop():i?M:O;if(u(n,r)){while(o.length&&o[o.length-1].lex)o.pop()();return w.marked?w.marked:n=="variable"&&y(e,r)?"variable-2":t}}}function E(){for(var e=arguments.length-1;e>=0;e--)w.cc.push(arguments[e])}function S(){return E.apply(null,arguments),!0}function x(e){function t(t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}var n=w.state;if(n.context){w.marked="def";if(t(n.localVars))return;n.localVars={name:e,next:n.localVars}}else{if(t(n.globalVars))return;n.globalVars={name:e,next:n.globalVars}}}function N(){w.state.context={prev:w.state.context,vars:w.state.localVars},w.state.localVars=T}function C(){w.state.localVars=w.state.context.vars,w.state.context=w.state.context.prev}function k(e,t){var n=function(){var n=w.state,r=n.indented;n.lexical.type=="stat"&&(r=n.lexical.indented),n.lexical=new g(r,w.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function L(){var e=w.state;e.lexical.prev&&(e.lexical.type==")"&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function A(e){return function(t){return t==e?S():e==";"?E():S(arguments.callee)}}function O(e){return e=="var"?S(k("vardef"),V,A(";"),L):e=="keyword a"?S(k("form"),M,O,L):e=="keyword b"?S(k("form"),O,L):e=="{"?S(k("}"),z,L):e==";"?S():e=="if"?S(k("form"),M,O,L,J):e=="function"?S(Z):e=="for"?S(k("form"),A("("),k(")"),K,A(")"),L,O,L):e=="variable"?S(k("stat"),F):e=="switch"?S(k("form"),M,k("}","switch"),A("{"),z,L,L):e=="case"?S(M,A(":")):e=="default"?S(A(":")):e=="catch"?S(k("form"),N,A("("),et,A(")"),O,L,C):E(k("stat"),M,A(";"),L)}function M(e){return D(e,!1)}function _(e){return D(e,!0)}function D(e,t){var n=t?j:B;return m.hasOwnProperty(e)?S(n):e=="function"?S(Z):e=="keyword c"?S(t?H:P):e=="("?S(k(")"),P,A(")"),L,n):e=="operator"?S(t?_:M):e=="["?S(k("]"),U(_,"]"),L,n):e=="{"?S(k("}"),U(q,"}"),L,n):S()}function P(e){return e.match(/[;\}\)\],]/)?E():E(M)}function H(e){return e.match(/[;\}\)\],]/)?E():E(_)}function B(e,t){return e==","?S(M):j(e,t,!1)}function j(e,t,n){var r=n==0?B:j,i=n==0?M:_;if(e=="operator")return/\+\+|--/.test(t)?S(r):t=="?"?S(M,A(":"),i):S(i);if(e==";")return;if(e=="(")return S(k(")","call"),U(_,")"),L,r);if(e==".")return S(I,r);if(e=="[")return S(k("]"),P,A("]"),L,r)}function F(e){return e==":"?S(L,O):E(B,A(";"),L)}function I(e){if(e=="variable")return w.marked="property",S()}function q(e,t){if(e=="variable"){w.marked="property";if(t=="get"||t=="set")return S(R)}else if(e=="number"||e=="string")w.marked=e+" property";if(m.hasOwnProperty(e))return S(A(":"),_)}function R(e){return e==":"?S(M):e!="variable"?S(A(":"),M):(w.marked="property",S(Z))}function U(e,t){function n(r){if(r==","){var i=w.state.lexical;return i.info=="call"&&(i.pos=(i.pos||0)+1),S(e,n)}return r==t?S():S(A(t))}return function(r){return r==t?S():E(e,n)}}function z(e){return e=="}"?S():E(O,z)}function W(e){return e==":"?S(X):E()}function X(e){return e=="variable"?(w.marked="variable-3",S()):E()}function V(e,t){return e=="variable"?(x(t),s?S(W,$):S($)):E()}function $(e,t){if(t=="=")return S(_,$);if(e==",")return S(V)}function J(e,t){if(e=="keyword b"&&t=="else")return S(k("form"),O,L)}function K(e){return e=="var"?S(V,A(";"),G):e==";"?S(G):e=="variable"?S(Q):E(M,A(";"),G)}function Q(e,t){return t=="in"?S(M):S(B,G)}function G(e,t){return e==";"?S(Y):t=="in"?S(M):E(M,A(";"),Y)}function Y(e){e!=")"&&S(M)}function Z(e,t){if(e=="variable")return x(t),S(Z);if(e=="(")return S(k(")"),N,U(et,")"),L,O,C)}function et(e,t){if(e=="variable")return x(t),s?S(W):S()}var n=e.indentUnit,r=t.statementIndent,i=t.json,s=t.typescript,o=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),i=e("operator"),o={type:"atom",style:"atom"},u={"if":e("if"),"while":t,"with":t,"else":n,"do":n,"try":n,"finally":n,"return":r,"break":r,"continue":r,"new":r,"delete":r,"throw":r,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":i,"typeof":i,"instanceof":i,"true":o,"false":o,"null":o,"undefined":o,NaN:o,Infinity:o,"this":e("this")};if(s){var a={type:"variable",style:"variable-3"},f={"interface":e("interface"),"class":e("class"),"extends":e("extends"),constructor:e("constructor"),"public":e("public"),"private":e("private"),"protected":e("protected"),"static":e("static"),"super":e("super"),string:a,number:a,bool:a,any:a};for(var l in f)u[l]=f[l]}return u}(),u=/[+\-*&%=<>!?|~^]/,l,c,m={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0},w={state:null,column:null,marked:null,cc:null},T={name:"this",next:{name:"arguments"}};return L.lex=!0,{startState:function(e){return{tokenize:p,lastType:null,cc:[],lexical:new g((e||0)-n,0,"block",!1),localVars:t.localVars,globalVars:t.globalVars,context:t.localVars&&{vars:t.localVars},indented:0}},token:function(e,t){e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation());if(t.tokenize!=v&&e.eatSpace())return null;var n=t.tokenize(e,t);return l=="comment"?n:(t.lastType=l!="operator"||c!="++"&&c!="--"?l:"incdec",b(t,n,l,c,e))},indent:function(e,i){if(e.tokenize==v)return CodeMirror.Pass;if(e.tokenize!=p)return 0;var s=i&&i.charAt(0),o=e.lexical;for(var u=e.cc.length-1;u>=0;--u){var a=e.cc[u];if(a==L)o=o.prev;else if(a!=J||/^else\b/.test(i))break}o.type=="stat"&&s=="}"&&(o=o.prev),r&&o.type==")"&&o.prev.type=="stat"&&(o=o.prev);var f=o.type,l=s==f;return f=="vardef"?o.indented+(e.lastType=="operator"||e.lastType==","?4:0):f=="form"&&s=="{"?o.indented:f=="form"?o.indented+n:f=="stat"?o.indented+(e.lastType=="operator"||e.lastType==","?r||n:0):o.info=="switch"&&!l&&t.doubleIndentSwitch!=0?o.indented+(/^(?:case|default)\b/.test(i)?n:2*n):o.align?o.column+(l?0:1):o.indented+(l?0:n)},electricChars:":{}",blockCommentStart:i?null:"/*",blockCommentEnd:i?null:"*/",lineComment:i?null:"//",fold:"brace",helperType:i?"json":"javascript",jsonMode:i}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("text/ecmascript","javascript"),CodeMirror.defineMIME("application/javascript","javascript"),CodeMirror.defineMIME("application/ecmascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/x-json",{name:"javascript",json:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0}); \ No newline at end of file diff --git a/assets/vendor/codemirror-js-json-lint.min.js b/assets/vendor/codemirror-js-json-lint.min.js new file mode 100644 index 0000000000..bef786db27 --- /dev/null +++ b/assets/vendor/codemirror-js-json-lint.min.js @@ -0,0 +1 @@ +(function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.CodeMirror=t()})(this,function(){'use strict';function e(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function t(t){for(var e=t.childNodes.length;0a||a>=t)return d+(t-s);d+=a-s,d+=o-d%o,s=a+1}}function u(e,t){for(var n=0;n=t)return n+Math.min(l,t-o);if(o+=r-n,o+=i-o%i,n=r+1,o>=t)return n}}function f(e){for(;Kl.length<=e;)Kl.push(y(Kl)+" ");return Kl[e]}function y(e){return e[e.length-1]}function x(e,t){for(var n=[],o=0;oi?0i?-1:1;;){if(t==i)return t;var o=(t+i)/2,r=0>n?Math.ceil(o):Math.floor(o);if(r==t)return e(r)?t:i;e(r)?i=r:t=r+n}}function M(e,t,n,o){if(!e)return o(t,n,"ltr",0);for(var r=!1,l=0,s;lt||t==n&&s.to==t)&&(o(Math.max(s.from,t),Math.min(s.to,n),1==s.level?"rtl":"ltr",l),r=!0);r||o(t,n,"ltr")}function A(e,t,n){var o;Yl=null;for(var r=0,l;rt)return r;l.to==t&&(l.from!=l.to&&"before"==n?o=r:Yl=r),l.from==t&&(l.from!=l.to&&"before"!=n?o=r:Yl=r)}return null==o?Yl:o}function O(e,t){var i=e.order;return null==i&&(i=e.order=ql(e.text,t)),i}function W(e,t){return e._handlers&&e._handlers[t]||Zl}function D(e,t,i){if(e.removeEventListener)e.removeEventListener(t,i,!1);else if(e.detachEvent)e.detachEvent("on"+t,i);else{var n=e._handlers,o=n&&n[t];if(o){var r=u(o,i);-1=t.offsetWidth&&2ie))}var i=ls?o("span","\u200B"):o("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return i.setAttribute("cm-text",""),i}function $(e){if(null!=ss)return ss;var i=n(e,document.createTextNode("A\u062EA")),o=Rl(i,0,1).getBoundingClientRect(),r=Rl(i,1,2).getBoundingClientRect();return t(e),!!(o&&o.left!=o.right)&&(ss=3>r.right-o.right)}function K(e){if(null!=ts)return ts;var t=n(e,o("span","x")),i=t.getBoundingClientRect(),r=Rl(t,0,1).getBoundingClientRect();return ts=1t||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var o=e;!o.lines;)for(var r=0;;++r){var l=o.children[r],s=l.chunkSize();if(t=e.first&&tpe(e,t)?t:e}function ge(e,t){return 0>pe(e,t)?e:t}function fe(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function me(e,t){if(t.linei?ae(i,ee(e,i).text.length):ye(t,ee(e,t.line).text.length)}function ye(e,t){var i=e.ch;return null==i||i>t?ae(e.line,t):0>i?ae(e.line,0):e}function xe(e,t){for(var n=[],o=0;oe&&l.splice(a,1,e,l[a+1],n),a+=2,p=Math.min(e,n);if(t)if(o.opaque)l.splice(i,a-i,e,"overlay "+t),a=i+2;else for(;ie.options.maxHighlightLength&&Z(e.doc.mode,n.state),r=ve(e,t,n);o&&(n.state=o),t.stateAfter=n.save(!o),t.styles=r.styles,r.classes?t.styleClasses=r.classes:t.styleClasses&&(t.styleClasses=null),i===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function Ce(e,t,i){var n=e.doc,o=e.display;if(!n.mode.startState)return new as(n,!0,t);var r=Me(e,t,i),l=r>n.first&&ee(n,r-1).stateAfter,s=l?as.fromSaved(n,l,r):new as(n,Q(n.mode),r);return n.iter(r,t,function(i){we(e,i.text,s);var n=s.line;i.stateAfter=n==t-1||0==n%5||n>=o.viewFrom&&nr;r++){o&&(o[0]=J(e,n).mode);var l=e.token(t,n);if(t.pos>t.start)return l}throw new Error("Mode "+e.name+" failed to advance stream.")}function Le(e,t,i,n){var o=e.doc,r=o.mode,l;t=me(o,t);var s=ee(o,t.line),d=Ce(e,t.line,i),a=new rs(s.text,e.options.tabSize,d),p;for(n&&(p=[]);(n||a.pose.options.maxHighlightLength?(s=!1,l&&we(e,t,n,p.pos),p.pos=t.length,h=null):h=Te(Se(i,p,n.state,c),r),c){var u=c[0].name;u&&(h="m-"+(h?u+" "+h:u))}if(!s||a!=h){for(;do;--r){if(r<=n.first)return n.first;var d=ee(n,r-1),a=d.stateAfter;if(a&&(!i||r+(a instanceof ds?a.lookAhead:0)<=n.modeFrontier))return r;var p=h(d.text,null,e.options.tabSize);(null==s||l>p)&&(s=r-1,l=p)}return s}function Ae(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontieri;n--)if(o=ee(e,n).stateAfter,o&&(!(o instanceof ds)||n+o.lookAhead=t:l.to>t);(o||(o=[])).push(new De(s,l.from,a?null:l.to))}}return o}function Ie(e,t,n){var o;if(e)for(var r=0;r=t:l.to>t);if(d||l.from==t&&"bookmark"==s.type&&(!n||l.marker.insertLeft)){var a=null==l.from||(s.inclusiveLeft?l.from<=t:l.frompe(c.to,d.from)||0g)&&(s.inclusiveLeft||g)||h.push({from:c.from,to:d.from}),!(0$e(o,r.marker))&&(o=r.marker);return o}function Xe(e){return Ke(e,!0)}function _e(e){return Ke(e,!1)}function Ye(e,t){var n=hs&&e.markedSpans,o;if(n)for(var r=0,l;rt)&&(!o||0>$e(o,l.marker))&&(o=l.marker);return o}function qe(e,t,n,o,r){var l=ee(e,t),s=hs&&l.markedSpans;if(s)for(var d=0,a;d=h||0>=c&&0<=h)&&(0>=c&&(a.marker.inclusiveRight&&r.inclusiveLeft?0<=pe(p.to,n):0=pe(p.from,o):0>pe(p.from,o))))return!0}}function Ze(e){for(var t;t=Xe(e);)e=t.find(-1,!0).line;return e}function Je(e){for(var t;t=_e(e);)e=t.find(1,!0).line;return e}function Qe(e){for(var t,i;t=_e(e);)e=t.find(1,!0).line,(i||(i=[])).push(e);return i}function et(e,t){var i=ee(e,t),n=Ze(i);return i==n?t:re(n)}function tt(e,t){if(t>e.lastLine())return t;var i=ee(e,t),n;if(!it(e,i))return t;for(;n=_e(i);)i=n.find(1,!0).line;return re(i)+1}function it(e,t){var n=hs&&t.markedSpans;if(n)for(var o=void 0,r=0;rt.maxLineLength&&(t.maxLineLength=i,t.maxLine=e)})}function st(e,t,i,n){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),je(e),Ge(e,i);var o=n?n(e):1;o!=e.height&&oe(e,o)}function dt(e){e.parent=null,je(e)}function pt(e,t){if(!e||/^\s*$/.test(e))return null;var i=t.addModeClass?fs:gs;return i[e]||(i[e]=e.replace(/\S+/g,"cm-$&"))}function ct(e,t){var n=r("span",null,null,at?"padding-right: .1px":null),o={pre:r("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var l=0;l<=(t.rest?t.rest.length:0);l++){var s=l?t.rest[l-1]:t.line,d=void 0;o.pos=0,o.addToken=ut,$(e.display.measure)&&(d=O(s,e.doc.direction))&&(o.addToken=ft(o.addToken,d)),o.map=[];var p=t!=e.display.externalMeasured&&re(s);yt(s,o,be(e,s,p)),s.styleClasses&&(s.styleClasses.bgClass&&(o.bgClass=a(s.styleClasses.bgClass,o.bgClass||"")),s.styleClasses.textClass&&(o.textClass=a(s.styleClasses.textClass,o.textClass||""))),0==o.map.length&&o.map.push(0,0,o.content.appendChild(U(e.display.measure))),0==l?(t.measure.map=o.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(o.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(at){var c=o.content.lastChild;(/\bcm-tab\b/.test(c.className)||c.querySelector&&c.querySelector(".cm-tab"))&&(o.content.className="cm-tab-wrap-hack")}return H(e,"renderLine",e,t.line,o.pre),o.pre.className&&(o.textClass=a(o.pre.className,o.textClass||"")),o}function ht(e){var t=o("span","\u2022","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function ut(e,t,i,n,r,l,s){if(t){var d=e.splitSpaces?gt(t,e.trailingSpace):t,a=e.cm.state.specialChars,p=!1,c;if(!a.test(t))e.col+=t.length,c=document.createTextNode(d),e.map.push(e.pos,e.pos+t.length,c),kl&&9>ie&&(p=!0),e.pos+=t.length;else{c=document.createDocumentFragment();for(var h=0;;){a.lastIndex=h;var u=a.exec(t),g=u?u.index-h:t.length-h;if(g){var m=document.createTextNode(d.slice(h,h+g));kl&&9>ie?c.appendChild(o("span",[m])):c.appendChild(m),e.map.push(e.pos,e.pos+g,m),e.col+=g,e.pos+=g}if(!u)break;h+=g+1;var y=void 0;if("\t"==u[0]){var x=e.cm.options.tabSize,v=x-e.col%x;y=c.appendChild(o("span",f(v),"cm-tab")),y.setAttribute("role","presentation"),y.setAttribute("cm-text","\t"),e.col+=v}else"\r"==u[0]||"\n"==u[0]?(y=c.appendChild(o("span","\r"==u[0]?"\u240D":"\u2424","cm-invalidchar")),y.setAttribute("cm-text",u[0]),e.col+=1):(y=e.cm.options.specialCharPlaceholder(u[0]),y.setAttribute("cm-text",u[0]),kl&&9>ie?c.appendChild(o("span",[y])):c.appendChild(y),e.col+=1);e.map.push(e.pos,e.pos+1,y),e.pos++}}if(e.trailingSpace=32==d.charCodeAt(t.length-1),i||n||r||p||l){var b=i||"";n&&(b+=n),r&&(b+=r);var C=o("span",[c],b,l);if(s)for(var w in s)s.hasOwnProperty(w)&&"style"!=w&&"class"!=w&&C.setAttribute(w,s[w]);return e.content.appendChild(C)}e.content.appendChild(c)}}function gt(e,t){if(1p&&h.from<=p));u++);if(h.to>=c)return e(n,o,r,l,s,d,a);e(n,o.slice(0,h.to-p),r,l,null,d,a),l=null,o=o.slice(h.to-p),p=h.to}}}function mt(e,t,i,n){var o=!n&&i.widgetNode;o&&e.map.push(e.pos,e.pos+t,o),!n&&e.cm.display.input.needsContentAttribute&&(!o&&(o=e.content.appendChild(document.createElement("span"))),o.setAttribute("cm-marker",i.id)),o&&(e.cm.display.input.setUneditable(o),e.content.appendChild(o)),e.pos+=t,e.trailingSpace=!1}function yt(e,t,n){var o=e.markedSpans,r=e.text,l=0;if(!o){for(var s=1;sa||L.collapsed&&S.to==a&&S.from==a)){if(null!=S.to&&S.to!=a&&h>S.to&&(h=S.to,y=""),L.className&&(f+=" "+L.className),L.css&&(g=(g?g+";":"")+L.css),L.startStyle&&S.from==a&&(x+=" "+L.startStyle),L.endStyle&&S.to==h&&(w||(w=[])).push(L.endStyle,S.to),L.title&&((b||(b={})).title=L.title),L.attributes)for(var m in L.attributes)(b||(b={}))[m]=L.attributes[m];L.collapsed&&(!v||0>$e(v.marker,L))&&(v=S)}else S.from>a&&h>S.from&&(h=S.from)}if(w)for(var T=0;T=d)break;for(var M=Math.min(d,h);;){if(c){var A=a+c.length;if(!v){var O=A>M?c.slice(0,M-a):c;t.addToken(t,O,u?u+f:f,x,a+O.length==h?y:"",g,b)}if(A>=M){c=c.slice(M-a),a=M;break}a=A,x=""}c=r.slice(l,l=n[p++]),u=pt(n[p++],t.cm.options)}}}function xt(e,t,i){this.line=t,this.rest=Qe(t),this.size=this.rest?re(y(this.rest))-i+1:1,this.node=this.text=null,this.hidden=it(e,t)}function vt(e,t,i){for(var n=[],o=t,r,l;oie&&(e.node.style.zIndex=2)),e.node}function Nt(e,t){var i=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(i&&(i+=" CodeMirror-linebackground"),t.background)i?t.background.className=i:(t.background.parentNode.removeChild(t.background),t.background=null);else if(i){var n=Tt(t);t.background=n.insertBefore(o("div",null,i),n.firstChild),e.display.input.setUneditable(t.background)}}function Mt(e,t){var i=e.display.externalMeasured;return i&&i.line==t.line?(e.display.externalMeasured=null,t.measure=i.measure,i.built):ct(e,t)}function At(e,t){var i=t.text.className,n=Mt(e,t);t.text==t.node&&(t.node=n.pre),t.text.parentNode.replaceChild(n.pre,t.text),t.text=n.pre,n.bgClass!=t.bgClass||n.textClass!=t.textClass?(t.bgClass=n.bgClass,t.textClass=n.textClass,Ot(e,t)):i&&(t.text.className=i)}function Ot(e,t){Nt(e,t),t.line.wrapClass?Tt(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var i=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=i||""}function Wt(e,t,i,n){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var r=Tt(t);t.gutterBackground=o("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?n.fixedPos:-n.gutterTotalWidth)+"px; width: "+n.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),r.insertBefore(t.gutterBackground,t.text)}var l=t.line.gutterMarkers;if(e.options.lineNumbers||l){var s=Tt(t),d=t.gutter=o("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?n.fixedPos:-n.gutterTotalWidth)+"px");if(e.display.input.setUneditable(d),s.insertBefore(d,t.text),t.line.gutterClass&&(d.className+=" "+t.line.gutterClass),!e.options.lineNumbers||l&&l["CodeMirror-linenumbers"]||(t.lineNumber=d.appendChild(o("div",de(e.options,i),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+n.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),l)for(var a=0;an)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}function Xt(e,t){t=Ze(t);var i=re(t),o=e.display.externalMeasured=new xt(e.doc,t,i);o.lineN=i;var r=o.built=ct(e,o);return o.text=r.pre,n(e.display.lineMeasure,r.pre),o}function _t(e,t,i,n){return Zt(e,qt(e,t),i,n)}function Yt(e,t){if(t>=e.display.viewFrom&&t=i.lineN&&tt)&&(s=p-a,l=s-1,t>=p&&(d="right")),null!=l){if(r=e[o+2],a==p&&n==(r.insertLeft?"left":"right")&&(d=n),"left"==n&&0==l)for(;o&&e[o-2]==e[o-3]&&e[o-1].insertLeft;)r=e[(o-=3)+2],d="left";if("right"==n&&l==p-a)for(;oc;c++){for(;s&&L(t.line.text.charAt(r.coverStart+s));)--s;for(;r.coverStart+die&&0==s&&d==r.coverEnd-r.coverStart?l.parentNode.getBoundingClientRect():Qt(Rl(l,s,d).getClientRects(),o),p.left||p.right||0==s)break;d=s,--s,a="right"}kl&&11>ie&&(p=ti(e.display.measure,p))}else{0ie&&!s&&(!p||!p.left&&!p.right)){var u=l.parentNode.getClientRects()[0];p=u?{left:u.left,right:u.left+wi(e.display),top:u.top,bottom:u.bottom}:xs}for(var g=p.top-t.rect.top,f=p.bottom-t.rect.top,m=t.view.measure.heights,y=0;y=n.text.length?(a=n.text.length,p="before"):0>=a&&(a=0,p="after"),!d)return l("before"==p?a-1:a,"before"==p);var c=A(d,a,p),h=Yl,u=s(a,c,"before"==p);return null!=h&&(u.other=s(a,h,"before"!=p)),u}function hi(e,t){var i=0;t=me(e.doc,t),e.options.lineWrapping||(i=wi(e.display)*t.ch);var n=ee(e.doc,t.line),o=ot(n)+Rt(e.display);return{left:i,right:i,top:o,bottom:o+n.height}}function ui(e,t,i,n,o){var r=ae(e,t,i);return r.xRel=o,n&&(r.outside=!0),r}function gi(e,t,i){var n=e.doc;if(i+=e.display.viewOffset,0>i)return ui(n.first,0,null,!0,-1);var o=le(n,i),r=n.first+n.size-1;if(o>r)return ui(n.first+n.size-1,ee(n,r).text.length,null,!0,1);0>t&&(t=0);for(var l=ee(n,o);;){var s=xi(e,l,o,t,i),d=Ye(l,s.ch+(0n},r,o),{begin:r,end:o}}function mi(e,t,i,n){i||(i=qt(e,t));var o=di(e,t,Zt(e,i,n),"line").top;return fi(e,t,i,o)}function yi(e,t,i,n){return!(e.bottom<=i)&&(!!(e.top>i)||(n?e.left:e.right)>t)}function xi(e,t,i,n,o){o-=ot(t);var r=qt(e,t),l=si(t),s=0,d=t.text.length,a=!0,p=O(t,e.doc.direction);if(p){var c=(e.options.lineWrapping?bi:vi)(e,t,i,r,p,n,o);a=1!=c.level,s=a?c.from:c.to-1,d=a?c.to:c.from-1}var h=null,u=null,g=N(function(t){var i=Zt(e,r,t);return(i.top+=l,i.bottom+=l,!!yi(i,n,o,!1))&&(i.top<=o&&i.left<=n&&(h=t,u=i),!0)},s,d),f=!1,m,x;if(u){var v=n-u.left=C.bottom}return g=T(t.text,g,1),ui(i,g,x,f,n-m)}function vi(e,t,n,o,r,l,s){var i=N(function(d){var i=r[d],a=1!=i.level;return yi(ci(e,ae(n,a?i.to:i.from,a?"before":"after"),"line",t,o),l,s,!0)},0,r.length-1),d=r[i];if(0s&&(d=r[i-1])}return d}function bi(e,t,n,o,r,l,s){var d=fi(e,t,o,s),a=d.begin,c=d.end;/\s/.test(t.text.charAt(c-1))&&c--;for(var h=null,u=null,g=0,f;g=c||f.to<=a)){var m=1!=f.level,y=Zt(e,o,m?Math.min(c,f.to)-1:Math.max(a,f.from)).right,x=yx)&&(h=f,u=x)}return h||(h=r[r.length-1]),h.fromc&&(h={from:h.from,to:c,level:h.level}),h}function Ci(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==bs){bs=o("pre");for(var r=0;49>r;++r)bs.appendChild(document.createTextNode("x")),bs.appendChild(o("br"));bs.appendChild(document.createTextNode("x"))}n(e.measure,bs);var l=bs.offsetHeight/50;return 3=e.display.viewTo)return null;if(t-=e.display.viewFrom,0>t)return null;for(var o=e.display.view,r=0;rt)return r}function Ai(e,t,i,n){null==t&&(t=e.doc.first),null==i&&(i=e.doc.first+e.doc.size),n||(n=0);var o=e.display;if(n&&it)&&(o.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=o.viewTo)hs&&et(e.doc,t)o.viewFrom?Wi(e):(o.viewFrom+=n,o.viewTo+=n);else if(t<=o.viewFrom&&i>=o.viewTo)Wi(e);else if(t<=o.viewFrom){var r=Di(e,i,i+n,1);r?(o.view=o.view.slice(r.index),o.viewFrom=r.lineN,o.viewTo+=n):Wi(e)}else if(i>=o.viewTo){var l=Di(e,t,t,-1);l?(o.view=o.view.slice(0,l.index),o.viewTo=l.lineN):Wi(e)}else{var s=Di(e,t,t,-1),d=Di(e,i,i+n,1);s&&d?(o.view=o.view.slice(0,s.index).concat(vt(e,s.lineN,d.lineN)).concat(o.view.slice(d.index)),o.viewTo+=n):Wi(e)}var a=o.externalMeasured;a&&(i=o.lineN&&t=n.viewTo)){var r=n.view[Mi(e,t)];if(null!=r.node){var l=r.changes||(r.changes=[]);-1==u(l,i)&&l.push(i)}}}function Wi(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function Di(e,t,o,r){var l=Mi(e,t),s=e.display.view,d;if(!hs||o==e.doc.first+e.doc.size)return{index:l,lineN:o};for(var a=e.display.viewFrom,p=0;pr?0:s.length-1))return null;o+=r*s[l-(0>r?1:0)].size,l+=r}return{index:l,lineN:o}}function Hi(e,t,i){var n=e.display,o=n.view;0==o.length||t>=n.viewTo||i<=n.viewFrom?(n.view=vt(e,t,i),n.viewFrom=t):(n.viewFrom>t?n.view=vt(e,t,n.viewFrom).concat(n.view):n.viewFromi&&(n.view=n.view.slice(0,Mi(e,i)))),n.viewTo=i}function Fi(e){for(var t=e.display.view,n=0,o=0,r;o=e.display.viewTo||d.to().linet&&(t=0),t=Math.round(t),n=Math.round(n),d.appendChild(o("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==i?c-e:i)+"px;\n height: "+(n-t)+"px"))}function r(t,o,r){function l(i,n){return pi(e,ae(t,i),"div",a,n)}function d(t,i,n){var o=mi(e,a,null,t),r="ltr"==i==("after"==n)?"left":"right",s="after"==n?o.begin:o.end-(/\s/.test(a.text.charAt(o.end-1))?2:1);return l(s,r)[r]}var a=ee(s,t),u=a.text.length,g=O(a,s.direction),f,m;return M(g,o||0,null==r?u:r,function(e,t,s,a){var i="ltr"==s,y=l(e,i?"left":"right"),x=l(t-1,i?"right":"left"),v=null==o&&0==e,b=null==r&&t==u,C=0==a,w=!g||a==g.length-1;if(3>=x.top-y.top){var k=(h?v:b)&&C,S=(h?b:v)&&w,L=k?p:(i?y:x).left,T=S?c:(i?x:y).right;n(L,y.top,T-L,y.bottom)}else{var N,M,A,O;i?(N=h&&v&&C?p:y.left,M=h?c:d(e,s,"before"),A=h?p:d(t,s,"after"),O=h&&b&&w?c:x.right):(N=h?d(e,s,"before"):p,M=!h&&v&&C?c:y.right,A=!h&&b&&w?p:x.left,O=h?d(t,s,"after"):c),n(N,y.top,M-N,y.bottom),y.bottomzi(y,f))&&(f=y),0>zi(x,f)&&(f=x),(!m||0>zi(y,m))&&(m=y),0>zi(x,m)&&(m=x)}),{start:f,end:m}}var l=e.display,s=e.doc,d=document.createDocumentFragment(),a=jt(e.display),p=a.left,c=Math.max(l.sizerWidth,Vt(e)-l.sizer.offsetLeft)-a.right,h="ltr"==s.direction,u=t.from(),g=t.to();if(u.line==g.line)r(u.line,u.ch,g.ch);else{var f=ee(s,u.line),m=ee(s,g.line),y=Ze(f)==Ze(m),x=r(u.line,u.ch,y?f.text.length+1:null).end,v=r(g.line,y?0:null,g.ch).start;y&&(x.tope.options.cursorBlinkRate&&(t.cursorDiv.style.visibility="hidden")}}function ji(e){e.state.focused||(e.display.input.focus(),Vi(e))}function Gi(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,Ui(e))},100)}function Vi(t,i){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1),"nocursor"==t.options.readOnly||(!t.state.focused&&(H(t,"focus",t,i),t.state.focused=!0,d(t.display.wrapper,"CodeMirror-focused"),!t.curOp&&t.display.selForContextMenu!=t.doc.sel&&(t.display.input.reset(),at&&setTimeout(function(){return t.display.input.reset(!0)},20)),t.display.input.receivedFocus()),Bi(t))}function Ui(t,i){t.state.delayingBlurEvent||(t.state.focused&&(H(t,"blur",t,i),t.state.focused=!1,zl(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout(function(){t.state.focused||(t.display.shift=!1)},150))}function $i(e){for(var t=e.display,n=t.lineDiv.offsetTop,o=0;oie){var a=r.node.offsetTop+r.node.offsetHeight;s=a-n,n=a}else{var p=r.node.getBoundingClientRect();s=p.bottom-p.top,!l&&r.text.firstChild&&(d=r.text.firstChild.getBoundingClientRect().right-p.left-1)}var c=r.line.height-s;if((.005c)&&(oe(r.line,s),Ki(r.line),r.rest))for(var h=0;he.display.sizerWidth){var u=Math.ceil(d/wi(e.display));u>e.display.maxLineLength&&(e.display.maxLineLength=u,e.display.maxLine=r.line,e.display.maxLineChanged=!0)}}}}function Ki(e){if(e.widgets)for(var t=0;t=l&&(r=le(t,ot(ee(t,d))-e.wrapper.clientHeight),l=d)}return{from:r,to:Math.max(l,r+1)}}function _i(e,t){if(!F(e,"scrollCursorIntoView")){var i=e.display,n=i.sizer.getBoundingClientRect(),r=null;if(0>t.top+n.top?r=!0:t.bottom+n.top>(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null!=r&&!Ml){var l=o("div","\u200B",null,"position: absolute;\n top: "+(t.top-i.viewOffset-Rt(e.display))+"px;\n height: "+(t.bottom-t.top+Gt(e)+i.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(r),e.display.lineSpace.removeChild(l)}}}function Yi(e,t,i,n){null==n&&(n=0);var o;e.options.lineWrapping||t!=i||(t=t.ch?ae(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t,i="before"==t.sticky?ae(t.line,t.ch+1,"before"):t);for(var r=0;5>r;r++){var l=!1,s=ci(e,t),d=i&&i!=t?ci(e,i):s;o={left:Math.min(s.left,d.left),top:Math.min(s.top,d.top)-n,right:Math.max(s.left,d.left),bottom:Math.max(s.bottom,d.bottom)+n};var a=Zi(e,o),p=e.doc.scrollTop,c=e.doc.scrollLeft;if(null!=a.scrollTop&&(ln(e,a.scrollTop),1t.top&&(t.top=0);var o=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:i.scroller.scrollTop,r=Ut(e),l={};t.bottom-t.top>r&&(t.bottom=t.top+r);var s=e.doc.height+Bt(i),d=t.tops-n;if(t.topo+r){var p=Math.min(t.top,(a?s:t.bottom)-r);p!=o&&(l.scrollTop=p)}var c=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:i.scroller.scrollLeft,h=Vt(e)-(e.options.fixedGutter?i.gutters.offsetWidth:0),u=t.right-t.left>h;return u&&(t.right=t.left+h),10>t.left?l.scrollLeft=0:t.lefth+c-3&&(l.scrollLeft=t.right+(u?0:10)-h),l}function Ji(e,t){null==t||(nn(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Qi(e){nn(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function en(e,t,i){(null!=t||null!=i)&&nn(e),null!=t&&(e.curOp.scrollLeft=t),null!=i&&(e.curOp.scrollTop=i)}function tn(e,t){nn(e),e.curOp.scrollToPos=t}function nn(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var i=hi(e,t.from),n=hi(e,t.to);rn(e,i,n,t.margin)}}function rn(e,t,i,n){var o=Zi(e,{left:Math.min(t.left,i.left),top:Math.min(t.top,i.top)-n,right:Math.max(t.right,i.right),bottom:Math.max(t.bottom,i.bottom)+n});en(e,o.scrollLeft,o.scrollTop)}function ln(e,t){2>Math.abs(e.doc.scrollTop-t)||(!vl&&Dn(e,{top:t}),sn(e,t,!0),vl&&Dn(e),Ln(e,100))}function sn(e,t,i){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t),(e.display.scroller.scrollTop!=t||i)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function dn(e,t,i,n){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),(i?t==e.doc.scrollLeft:2>Math.abs(e.doc.scrollLeft-t))&&!n||(e.doc.scrollLeft=t,En(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function an(e){var t=e.display,i=t.gutters.offsetWidth,n=Math.round(e.doc.height+Bt(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?i:0,docHeight:n,scrollHeight:n+Gt(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:i}}function pn(e,t){t||(t=an(e));var n=e.display.barWidth,o=e.display.barHeight;cn(e,t);for(var r=0;4>r&&n!=e.display.barWidth||o!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&$i(e),cn(e,an(e)),n=e.display.barWidth,o=e.display.barHeight}function cn(e,t){var i=e.display,n=i.scrollbars.update(t);i.sizer.style.paddingRight=(i.barWidth=n.right)+"px",i.sizer.style.paddingBottom=(i.barHeight=n.bottom)+"px",i.heightForcer.style.borderBottom=n.bottom+"px solid transparent",n.right&&n.bottom?(i.scrollbarFiller.style.display="block",i.scrollbarFiller.style.height=n.bottom+"px",i.scrollbarFiller.style.width=n.right+"px"):i.scrollbarFiller.style.display="",n.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(i.gutterFiller.style.display="block",i.gutterFiller.style.height=n.bottom+"px",i.gutterFiller.style.width=t.gutterWidth+"px"):i.gutterFiller.style.display=""}function hn(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&zl(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new ws[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),Jl(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,i){"horizontal"==i?dn(e,t):ln(e,t)},e),e.display.scrollbars.addClass&&d(e.display.wrapper,e.display.scrollbars.addClass)}function un(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++ks},bt(e.curOp)}function gn(e){var t=e.curOp;t&&wt(t,function(e){for(var t=0;t=i.viewTo)||i.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new Ss(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function yn(e){e.updatedDisplay=e.mustUpdate&&On(e.cm,e.update)}function xn(e){var t=e.cm,i=t.display;e.updatedDisplay&&$i(t),e.barMeasure=an(t),i.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=_t(t,i.maxLine,i.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(i.scroller.clientWidth,i.sizer.offsetLeft+e.adjustWidthTo+Gt(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,i.sizer.offsetLeft+e.adjustWidthTo-Vt(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=i.input.prepareSelection())}function vn(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft=e.display.viewTo)){var n=+new Date+e.options.workTime,o=Ce(e,t.highlightFrontier),r=[];t.iter(o.line,Math.min(t.first+t.size,e.display.viewTo+500),function(l){if(o.line>=e.display.viewFrom){var s=l.styles,d=l.text.length>e.options.maxHighlightLength?Z(t.mode,o.state):null,a=ve(e,l,o,!0);d&&(o.state=d),l.styles=a.styles;var p=l.styleClasses,c=a.classes;c?l.styleClasses=c:p&&(l.styleClasses=null);for(var h=!s||s.length!=l.styles.length||p!=c&&(!p||!c||p.bgClass!=c.bgClass||p.textClass!=c.textClass),u=0;!h&&un?(Ln(e,e.options.workDelay),!0):void 0}),t.highlightFrontier=o.line,t.modeFrontier=Math.max(t.modeFrontier,o.line),r.length&&Cn(e,function(){for(var t=0;t=n.viewFrom&&i.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==Fi(e))return!1;In(e)&&(Wi(e),i.dims=ki(e));var r=o.first+o.size,l=Math.max(i.visible.from-e.options.viewportMargin,o.first),s=Math.min(r,i.visible.to+e.options.viewportMargin);n.viewFroml-n.viewFrom&&(l=Math.max(o.first,n.viewFrom)),n.viewTo>s&&20>n.viewTo-s&&(s=Math.min(r,n.viewTo)),hs&&(l=et(e.doc,l),s=tt(e.doc,s));var d=l!=n.viewFrom||s!=n.viewTo||n.lastWrapHeight!=i.wrapperHeight||n.lastWrapWidth!=i.wrapperWidth;Hi(e,l,s),n.viewOffset=ot(ee(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var a=Fi(e);if(!d&&0==a&&!i.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var p=Mn(e);return 4=e.display.viewFrom&&t.visible.to<=e.display.viewTo))break;if(!On(e,t))break;$i(e);var o=an(e);Pi(e),pn(e,o),Pn(e,o),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Dn(e,t){var i=new Ss(e,t);if(On(e,i)){$i(e),Wn(e,i);var n=an(e);Pi(e),pn(e,n),Pn(e,n),i.finish()}}function Hn(e,n,o){function r(t){var i=t.nextSibling;return at&&Dl&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),i}for(var l=e.display,s=e.options.lineNumbers,d=l.lineDiv,a=d.firstChild,p=l.view,c=l.viewFrom,h=0,g;hie&&(l.gutters.style.zIndex=-1,l.scroller.style.paddingRight=0),at||vl&&Wl||(l.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(l.wrapper):e(l.wrapper)),l.viewFrom=l.viewTo=t.first,l.reportedViewFrom=l.reportedViewTo=t.first,l.view=[],l.renderedView=null,l.externalMeasured=null,l.viewOffset=0,l.lastWrapHeight=l.lastWrapWidth=0,l.updateLineNumbers=null,l.nativeBarWidth=l.barHeight=l.barWidth=0,l.scrollbarsClipped=!1,l.lineNumWidth=l.lineNumInnerWidth=l.lineNumChars=null,l.alignWidgets=!1,l.cachedCharWidth=l.cachedTextHeight=l.cachedPaddingH=null,l.maxLine=null,l.maxLineLength=0,l.maxLineChanged=!1,l.wheelDX=l.wheelDY=l.wheelStartX=l.wheelStartY=null,l.shift=!1,l.selForContextMenu=null,l.activeTouch=null,l.gutterSpecs=zn(n.gutters,n.lineNumbers),Rn(l),i.init(l)}function Gn(t){var e=t.wheelDeltaX,i=t.wheelDeltaY;return null==e&&t.detail&&t.axis==t.HORIZONTAL_AXIS&&(e=t.detail),null==i&&t.detail&&t.axis==t.VERTICAL_AXIS?i=t.detail:null==i&&(i=t.wheelDelta),{x:e,y:i}}function Vn(t){var e=Gn(t);return e.x*=Ts,e.y*=Ts,e}function Un(t,n){var e=Gn(n),o=e.x,r=e.y,l=t.display,s=l.scroller,d=s.scrollWidth>s.clientWidth,a=s.scrollHeight>s.clientHeight;if(o&&d||r&&a){if(r&&Dl&&at)outer:for(var p=n.target,c=l.view;p!=s;p=p.parentNode)for(var h=0;hu?g=Math.max(0,g+u-50):f=Math.min(t.doc.height,f+u+50),Dn(t,{top:g,bottom:f})}20>Ls&&(null==l.wheelStartX?(l.wheelStartX=s.scrollLeft,l.wheelStartY=s.scrollTop,l.wheelDX=o,l.wheelDY=r,setTimeout(function(){if(null!=l.wheelStartX){var e=s.scrollLeft-l.wheelStartX,t=s.scrollTop-l.wheelStartY,i=t&&l.wheelDY&&t/l.wheelDY||e&&l.wheelDX&&e/l.wheelDX;l.wheelStartX=l.wheelStartY=null,i&&(Ts=(Ts*Ls+i)/(Ls+1),++Ls)}},200)):(l.wheelDX+=o,l.wheelDY+=r))}}function $n(e,t,n){var o=e&&e.options.selectionsMayTouch,r=t[n];t.sort(function(e,t){return pe(e.from(),t.from())}),n=u(t,r);for(var l=1;lpe(e,t.from))return e;if(0>=pe(e,t.to))return Xn(t);var i=e.line+t.text.length-(t.to.line-t.from.line)-1,n=e.ch;return e.line==t.to.line&&(n+=Xn(t).ch-t.to.ch),ae(i,n)}function Yn(e,t){for(var n=[],o=0,r;ope(c.head,c.anchor);o[s]=new Ms(h?p:a,h?a:p)}else o[s]=new Ms(a,a)}return new Ns(o,e.sel.primIndex)}function Jn(e){e.doc.mode=Y(e.options,e.doc.modeOption),Qn(e)}function Qn(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,Ln(e,100),e.state.modeGen++,e.curOp&&Ai(e)}function eo(e,t){return 0==t.from.ch&&0==t.to.ch&&""==y(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function io(e,t,i,n){function o(e){return i?i[e]:null}function r(e,i,o){st(e,i,o,n),kt(e,"change",e,t)}function l(e,t){for(var r=[],l=e;lr-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(l=co(o,o.lastOp==n)))s=y(l.changes),0==pe(t.from,t.to)&&0==pe(t.from,s.to)?s.to=Xn(t):l.changes.push(ao(e,t));else{var d=y(o.done);for(d&&d.ranges||fo(e.sel,o.done),l={changes:[ao(e,t)],generation:o.generation},o.done.push(l);o.done.length>o.undoDepth;)o.done.shift(),o.done[0].ranges||o.done.shift()}o.done.push(i),o.generation=++o.maxGeneration,o.lastModTime=o.lastSelTime=r,o.lastOp=o.lastSelOp=n,o.lastOrigin=o.lastSelOrigin=t.origin,s||H(e,"historyAdded")}function uo(e,t,i,n){var o=t.charAt(0);return"*"==o||"+"==o&&i.ranges.length==n.ranges.length&&i.somethingSelected()==n.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function go(e,t,i,n){var o=e.history,r=n&&n.origin;i==o.lastSelOp||r&&o.lastSelOrigin==r&&(o.lastModTime==o.lastSelTime&&o.lastOrigin==r||uo(e,r,y(o.done),t))?o.done[o.done.length-1]=t:fo(t,o.done),o.lastSelTime=+new Date,o.lastSelOrigin=r,o.lastSelOp=i,n&&!1!==n.clearRedo&&po(o.undone)}function fo(e,t){var i=y(t);i&&i.ranges&&i.equals(e)||t.push(e)}function mo(e,t,i,o){var r=t["spans_"+e.id],l=0;e.iter(Math.max(e.first,i),Math.min(e.first+e.size,o),function(i){i.markedSpans&&((r||(r=t["spans_"+e.id]={}))[l]=i.markedSpans),++l})}function yo(e){if(!e)return null;for(var t=0,n;tpe(t,o);r==0>pe(i,o)?r!=0>pe(t,i)&&(t=i):(o=t,t=i)}return new Ms(o,t)}return new Ms(i||t,t)}function wo(e,t,i,n,o){null==o&&(o=e.cm&&(e.cm.display.shift||e.extend)),Mo(e,new Ns([Co(e.sel.primary(),t,i,o)],0),n)}function ko(e,t,n){for(var o=[],r=e.cm&&(e.cm.display.shift||e.extend),l=0;lpe(t.primary().head,e.sel.primary().head)?-1:1);Oo(e,Do(e,t,n,!0)),!(i&&!1===i.scroll)&&e.cm&&Qi(e.cm)}function Oo(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,P(e.cm)),kt(e,"cursorActivity",e))}function Wo(e){Oo(e,Do(e,e.sel,null,!1))}function Do(e,t,n,o){for(var r=0,l;r=t.ch:d.to>t.ch))){if(r&&(H(a,"beforeCursorEnter"),a.explicitlyCleared))if(!l.markedSpans)break;else{--s;continue}if(!a.atomic)continue;if(n){var p=a.find(0>o?1:-1),c=void 0;if((0>o?a.inclusiveRight:a.inclusiveLeft)&&(p=Po(e,p,-o,p&&p.line==t.line?l:null)),p&&p.line==t.line&&(c=pe(p,n))&&(0>o?0>c:0o?-1:1);return(0>o?a.inclusiveLeft:a.inclusiveRight)&&(h=Po(e,h,o,h.line==t.line?l:null)),h?Ho(e,h,t,o,r):null}}return t}function Fo(e,t,i,n,o){var r=n||1,l=Ho(e,t,i,r,o)||!o&&Ho(e,t,i,r,!0)||Ho(e,t,i,-r,o)||!o&&Ho(e,t,i,-r,!0);return l?l:(e.cantEdit=!0,ae(e.first,0))}function Po(e,t,i,n){return 0>i&&0==t.ch?t.line>e.first?me(e,ae(t.line-1)):null:0e.lastLine())){if(t.from.liner&&(t={from:t.from,to:ae(r,ee(e,r).text.length),text:[t.text[0]],origin:t.origin}),t.removed=te(e,t.from,t.to),i||(i=Yn(e,t)),e.cm?Vo(e.cm,t,n):io(e,t,n),Ao(e,i,Vl)}}function Vo(e,t,i){var n=e.doc,o=e.display,r=t.from,l=t.to,s=!1,d=r.line;e.options.lineWrapping||(d=re(Ze(ee(n,r.line))),n.iter(d,l.line+1,function(e){if(e==o.maxLine)return s=!0,!0})),-1o.maxLineLength&&(o.maxLine=e,o.maxLineLength=t,o.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0)),Ae(n,r.line),Ln(e,400);var a=t.text.length-(l.line-r.line)-1;t.full?Ai(e):r.line!=l.line||1!=t.text.length||eo(e.doc,t)?Ai(e,r.line,l.line+1,a):Oi(e,r.line,"text");var p=E(e,"changes"),c=E(e,"change");if(c||p){var h={from:r,to:l,text:t.text,removed:t.removed,origin:t.origin};c&&kt(e,"change",e,h),p&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(h)}e.display.selForContextMenu=null}function Uo(e,t,i,n,o){var r;n||(n=i),0>pe(n,i)&&(r=[n,i],i=r[0],n=r[1]),"string"==typeof t&&(t=e.splitLines(t)),zo(e,{from:i,to:n,text:t,origin:o})}function $o(e,t,i,n){i+new Date-Ps))return void j(i);if(!(F(t,i)||zt(t.display,i))&&(i.dataTransfer.setData("Text",t.getSelection()),i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setDragImage&&!Tl)){var e=o("img",null,null,"position: fixed; left: 0; top: 0;");e.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",Ll&&(e.width=e.height=1,t.display.wrapper.appendChild(e),e._top=e.offsetTop),i.dataTransfer.setDragImage(e,0,0),Ll&&e.parentNode.removeChild(e)}}function lr(t,i){var e=Ni(t,i);if(e){var r=document.createDocumentFragment();Ii(t,e,r),t.display.dragCursor||(t.display.dragCursor=o("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),n(t.display.dragCursor,r)}}function sr(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function dr(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),n=[],o=0,r;o=pe(l.from,y(o).to);){var s=o.pop();if(0>pe(s.from,l.from)){l.from=s.from;break}}o.push(l)}Cn(e,function(){for(var t=o.length-1;0<=t;t--)Uo(e.doc,"",o[t].from,o[t].to,"+delete");Qi(e)})}function br(e,t,i){var n=T(e.text,t+i,i);return 0>n||n>e.text.length?null:n}function Cr(e,t,i){var n=br(e,t.ch,i);return null==n?null:new ae(t.line,n,0>i?"after":"before")}function wr(e,t,i,n,o){if(e){var r=O(i,t.doc.direction);if(r){var l=0>o?y(r):r[0],s=0>o==(1==l.level),d=s?"after":"before",a;if(0o?i.text.length-1:0;var c=Zt(t,p,a).top;a=N(function(e){return Zt(t,p,e).top==c},0>o==(1==l.level)?l.from:l.to-1,a),"before"==d&&(a=br(i,a,1))}else a=0>o?l.to:l.from;return new ae(n,a,d)}}return new ae(n,0>o?i.text.length:0,0>o?"before":"after")}function kr(e,t,i,n){var o=O(t,e.doc.direction);if(!o)return Cr(t,i,n);i.ch>=t.text.length?(i.ch=t.text.length,i.sticky="before"):0>=i.ch&&(i.ch=0,i.sticky="after");var r=A(o,i.ch,i.sticky),l=o[r];if("ltr"==e.doc.direction&&0==l.level%2&&(0i.ch:l.fromn,h=s(i,c?1:-1);if(null!=h&&(c?h<=l.to&&h<=a.end:h>=l.from&&h>=a.begin)){var u=c?"before":"after";return new ae(i.line,h,u)}}var g=function(e,t,n){for(var r=function(e,t){return t?new ae(i.line,s(e,1),"before"):new ae(i.line,e,"after")};0<=e&&eie&&27==t.keyCode&&(t.returnValue=!1);var i=t.keyCode;e.display.shift=16==i||t.shiftKey;var n=Wr(e,t);Ll&&(Us=n?i:null,!n&&88==i&&!es&&(Dl?t.metaKey:t.ctrlKey)&&e.replaceSelection("",null,"cut")),18!=i||/\bCodeMirror-crosshair\b/.test(e.display.lineDiv.className)||Fr(e)}}function Fr(e){function t(n){18!=n.keyCode&&n.altKey||(zl(i,"CodeMirror-crosshair"),D(document,"keyup",t),D(document,"mouseover",t))}var i=e.display.lineDiv;d(i,"CodeMirror-crosshair"),Jl(document,"keyup",t),Jl(document,"mouseover",t)}function Pr(t){16==t.keyCode&&(this.doc.sel.shift=!1),F(this,t)}function Er(t){var e=this;if(!(zt(e.display,t)||F(e,t)||t.ctrlKey&&!t.altKey||Dl&&t.metaKey)){var i=t.keyCode,n=t.charCode;if(Ll&&i==Us)return Us=null,void z(t);if(!(Ll&&(!t.which||10>t.which)&&Wr(e,t))){var o=String.fromCharCode(null==n?i:n);"\b"==o||Dr(e,t,o)||e.display.input.onKeyPress(t)}}}function Ir(e,t){var i=+new Date;return qs&&qs.compare(i,e,t)?(Ys=qs=null,"triple"):Ys&&Ys.compare(i,e,t)?(qs=new $s(i,e,t),Ys=null,"double"):(Ys=new $s(i,e,t),qs=null,"single")}function zr(t){var e=this,i=e.display;if(!(F(e,t)||i.activeTouch&&i.input.supportsTouch())){if(i.input.ensurePolled(),i.shift=t.shiftKey,zt(i,t))return void(at||(i.scroller.draggable=!1,setTimeout(function(){return i.scroller.draggable=!0},100)));if(!Xr(e,t)){var n=Ni(e,t),o=V(t),r=n?Ir(n,o):"single";window.focus(),1==o&&e.state.selectingText&&e.state.selectingText(t),n&&Rr(e,o,n,r,t)||(1==o?n?jr(e,n,r,t):G(t)==i.scroller&&z(t):2==o?(n&&wo(e.doc,n),setTimeout(function(){return i.input.focus()},20)):3==o&&(Il?e.display.input.onContextMenu(t):Gi(e)))}}}function Rr(e,t,i,n,o){var r="Click";return"double"==n?r="Double"+r:"triple"==n&&(r="Triple"+r),r=(1==t?"Left":2==t?"Middle":"Right")+r,Ar(e,mr(r,o),o,function(t){if("string"==typeof t&&(t=Gs[t]),!t)return!1;var n=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n=t(e,i)!=Gl}finally{e.state.suppressEdits=!1}return n})}function Br(e,t,i){var n=e.getOption("configureMouse"),o=n?n(e,t,i):{};if(null==o.unit){var r=Hl?i.shiftKey&&i.metaKey:i.altKey;o.unit=r?"rectangle":"single"==t?"char":"double"==t?"word":"line"}return(null==o.extend||e.doc.extend)&&(o.extend=e.doc.extend||i.shiftKey),null==o.addNew&&(o.addNew=Dl?i.metaKey:i.ctrlKey),null==o.moveOnDrag&&(o.moveOnDrag=Dl?!i.altKey:!i.ctrlKey),o}function jr(e,t,i,n){kl?setTimeout(p(ji,e),0):e.curOp.focus=s();var o=Br(e,i,n),r=e.doc.sel,l;e.options.dragDrop&&m&&!e.isReadOnly()&&"single"==i&&-1<(l=r.contains(t))&&(0>pe((l=r.ranges[l]).from(),t)||0t.xRel)?Gr(e,n,t,o):Ur(e,n,t,o)}function Gr(t,e,i,n){var o=t.display,r=!1,l=wn(t,function(a){at&&(o.scroller.draggable=!1),t.state.draggingText=!1,D(o.wrapper.ownerDocument,"mouseup",l),D(o.wrapper.ownerDocument,"mousemove",s),D(o.scroller,"dragstart",d),D(o.scroller,"drop",l),r||(z(a),!n.addNew&&wo(t.doc,i,null,null,n.extend),at||kl&&9==ie?setTimeout(function(){o.wrapper.ownerDocument.body.focus(),o.input.focus()},20):o.input.focus())}),s=function(t){r=r||10<=Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)},d=function(){return r=!0};at&&(o.scroller.draggable=!0),t.state.draggingText=l,l.copy=!n.moveOnDrag,o.scroller.dragDrop&&o.scroller.dragDrop(),Jl(o.wrapper.ownerDocument,"mouseup",l),Jl(o.wrapper.ownerDocument,"mousemove",s),Jl(o.scroller,"dragstart",d),Jl(o.scroller,"drop",l),Gi(t),setTimeout(function(){return o.input.focus()},20)}function Vr(e,t,i){if("char"==i)return new Ms(t,t);if("word"==i)return e.findWordAt(t);if("line"==i)return new Ms(ae(t.line,0),me(e.doc,ae(t.line+1,0)));var n=i(e,t);return new Ms(n.from,n.to)}function Ur(t,e,i,n){function o(e){if(0!=pe(y,e))if(y=e,"rectangle"==n.unit){for(var o=[],r=t.options.tabSize,l=h(ee(a,i.line).text,i.ch,r),s=h(ee(a,e.line).text,e.ch,r),d=Math.min(l,s),c=Math.max(l,s),m=Math.min(i.line,e.line),x=Math.min(t.lastLine(),Math.max(i.line,e.line));m<=x;m++){var v=ee(a,m).text,b=g(v,d,r);d==c?o.push(new Ms(ae(m,b),ae(m,b))):v.length>b&&o.push(new Ms(ae(m,b),ae(m,g(v,c,r))))}o.length||o.push(new Ms(i,i)),Mo(a,$n(t,p.ranges.slice(0,f).concat(o),f),{origin:"*mouse",scroll:!1}),t.scrollIntoView(e)}else{var C=u,w=Vr(t,e,n.unit),k=C.anchor,S;0=p.to||l.linex.bottom?20:0;c&&setTimeout(wn(t,function(){v!=e||(d.scroller.scrollTop+=c,r(i))}),50)}}function l(i){t.state.selectingText=!1,v=1/0,i&&(z(i),d.input.focus()),D(d.wrapper.ownerDocument,"mousemove",b),D(d.wrapper.ownerDocument,"mouseup",C),a.history.lastSelOrigin=null}var d=t.display,a=t.doc;z(e);var p=a.sel,c=p.ranges,u,f;if(n.addNew&&!n.extend?(f=a.sel.contains(i),u=-1c:0=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;o&&z(n);var s=t.display,d=s.lineDiv.getBoundingClientRect();if(l>d.bottom||!E(t,e))return B(n);l-=d.top-s.viewOffset;for(var a=0,p;a=r){var c=le(t.doc,l),h=t.display.gutterSpecs[a];return H(t,e,t,c,h.className,n),B(n)}}function Xr(t,i){return Kr(t,i,"gutterClick",!0)}function _r(t,i){zt(t.display,i)||Yr(t,i)||F(t,i,"contextmenu")||!Il&&t.display.input.onContextMenu(i)}function Yr(t,i){return!!E(t,"gutterContextMenu")&&Kr(t,i,"gutterContextMenu",!1)}function qr(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),oi(e)}function Zr(e,t,i){if(!t!=!(i&&i!=Ks)){var n=e.display.dragFunctions,o=t?Jl:D;o(e.display.scroller,"dragstart",n.start),o(e.display.scroller,"dragenter",n.enter),o(e.display.scroller,"dragover",n.over),o(e.display.scroller,"dragleave",n.leave),o(e.display.scroller,"drop",n.drop)}}function Jr(e){e.options.lineWrapping?(d(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(zl(e.display.wrapper,"CodeMirror-wrap"),lt(e)),Ti(e),Ai(e),oi(e),setTimeout(function(){return pn(e)},100)}function Qr(e,t){var n=this;if(!(this instanceof Qr))return new Qr(e,t);this.options=t=t?c(t):{},c(Xs,t,!1);var o=t.value;"string"==typeof o?o=new Fs(o,t.mode,null,t.lineSeparator,t.direction):t.mode&&(o.modeOption=t.mode),this.doc=o;var r=new Qr.inputStyles[t.inputStyle](this),l=this.display=new jn(e,o,r,t);for(var s in l.wrapper.CodeMirror=this,qr(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),hn(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new jl,keySeq:null,specialChars:null},t.autofocus&&!Wl&&l.input.focus(),kl&&11>ie&&setTimeout(function(){return n.display.input.reset(!0)},20),el(this),ar(),un(this),this.curOp.forceUpdate=!0,oo(this,o),t.autofocus&&!Wl||this.hasFocus()?setTimeout(p(Vi,this),20):Ui(this),_s)_s.hasOwnProperty(s)&&_s[s](this,t[s],Ks);In(this),t.finishInit&&t.finishInit(this);for(var d=0;d=e.radiusX&&1>=e.radiusY}function o(e,t){if(null==t.left)return!0;var i=t.left-e.left,n=t.top-e.top;return 400ie?Jl(r.scroller,"dblclick",wn(t,function(i){if(!F(t,i)){var e=Ni(t,i);if(!(!e||Xr(t,i)||zt(t.display,i))){z(i);var n=t.findWordAt(e);wo(t.doc,n.anchor,n.head)}}})):Jl(r.scroller,"dblclick",function(i){return F(t,i)||z(i)}),Jl(r.scroller,"contextmenu",function(i){return _r(t,i)});var l={end:0},s;Jl(r.scroller,"touchstart",function(i){if(!F(t,i)&&!n(i)&&!Xr(t,i)){r.input.ensurePolled(),clearTimeout(s);var e=+new Date;r.activeTouch={start:e,moved:!1,prev:300>=e-l.end?l:null},1==i.touches.length&&(r.activeTouch.left=i.touches[0].pageX,r.activeTouch.top=i.touches[0].pageY)}}),Jl(r.scroller,"touchmove",function(){r.activeTouch&&(r.activeTouch.moved=!0)}),Jl(r.scroller,"touchend",function(n){var e=r.activeTouch;if(e&&!zt(r,n)&&null!=e.left&&!e.moved&&300>new Date-e.start){var l=t.coordsChar(r.activeTouch,"page"),s;s=!e.prev||o(e,e.prev)?new Ms(l,l):!e.prev.prev||o(e,e.prev.prev)?t.findWordAt(l):new Ms(ae(l.line,0),me(t.doc,ae(l.line+1,0))),t.setSelection(s.anchor,s.head),t.focus(),z(n)}i()}),Jl(r.scroller,"touchcancel",i),Jl(r.scroller,"scroll",function(){r.scroller.clientHeight&&(ln(t,r.scroller.scrollTop),dn(t,r.scroller.scrollLeft,!0),H(t,"scroll",t))}),Jl(r.scroller,"mousewheel",function(i){return Un(t,i)}),Jl(r.scroller,"DOMMouseScroll",function(i){return Un(t,i)}),Jl(r.wrapper,"scroll",function(){return r.wrapper.scrollTop=r.wrapper.scrollLeft=0}),r.dragFunctions={enter:function(i){F(t,i)||j(i)},over:function(i){F(t,i)||(lr(t,i),j(i))},start:function(i){return rr(t,i)},drop:wn(t,or),leave:function(i){F(t,i)||sr(t)}};var d=r.input.getField();Jl(d,"keyup",function(i){return Pr.call(t,i)}),Jl(d,"keydown",wn(t,Hr)),Jl(d,"keypress",wn(t,Er)),Jl(d,"focus",function(i){return Vi(t,i)}),Jl(d,"blur",function(i){return Ui(t,i)})}function tl(e,t,n,o){var r=e.doc,l;null==n&&(n="add"),"smart"==n&&(r.mode.indent?l=Ce(e,t).state:n="prev");var s=e.options.tabSize,d=ee(r,t),a=h(d.text,null,s);d.stateAfter&&(d.stateAfter=null);var p=d.text.match(/^\s*/)[0],c;if(!o&&!/\S/.test(d.text))c=0,n="not";else if("smart"==n&&(c=r.mode.indent(l,d.text.slice(p.length),d.text),c==Gl||150r.first?c=h(ee(r,t-1).text,null,s):c=0:"add"==n?c=a+e.options.indentUnit:"subtract"==n?c=a-e.options.indentUnit:"number"==typeof n&&(c=a+n),c=Math.max(0,c);var u="",g=0;if(e.options.indentWithTabs)for(var m=Math.floor(c/s);m;--m)g+=s,u+="\t";if(gs,a=on(t),p=null;if(d&&1s?"cut":"+input")};zo(e.doc,v),kt(e,"inputRead",e,v)}t&&!d&&rl(e,t),Qi(e),2>e.curOp.updateInput&&(e.curOp.updateInput=h),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function ol(t,e){var i=t.clipboardData&&t.clipboardData.getData("Text");if(i)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||Cn(e,function(){return nl(e,i,0,null,"paste")}),!0}function rl(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,o=n.ranges.length-1,r;0<=o;o--)if(r=n.ranges[o],!(100=e.first+e.size)&&(t=new ae(n,t.ch,t.sticky),a=ee(e,n))}function l(n){var l;if(l=o?kr(e.cm,a,t,i):Cr(a,t,i),null!=l)t=l;else if(!n&&r())t=wr(o,e.cm,a,t.line,i);else return!1;return!0}var s=t,d=i,a=ee(e,t.line);if("char"==n)l();else if("column"==n)l(!0);else if("word"==n||"group"==n)for(var p=null,c="group"==n,h=e.cm&&e.cm.getHelper(t,"wordChars"),u=!0;;u=!1){if(0>i&&!l(!u))break;var g=a.text.charAt(t.ch)||"\n",f=k(g,h)?"w":c&&"\n"==g?"n":!c||/\s/.test(g)?null:"p";if(!c||u||f||(f="s"),p&&p!=f){0>i&&(i=1,l(),t.sticky="after");break}if(f&&(p=f),0i?0>=l:l>=o.height){a.hitSide=!0;break}l+=5*i}return a}function cl(e,t){var i=Yt(e,t.line);if(!i||i.hidden)return null;var n=ee(e.doc,t.line),o=Kt(i,n,t.line),r=O(n,e.doc.direction),l="left";if(r){var s=A(r,t.ch);l=s%2?"right":"left"}var d=Jt(o.map,t.ch,l);return d.offset="right"==d.collapse?d.end:d.start,d}function hl(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function ul(e,t){return t&&(e.bad=!0),e}function gl(e,t,i,n,o){function r(e){return function(t){return t.id==e}}function l(){p&&(a+=c,h&&(a+=c),p=h=!1)}function s(e){e&&(l(),a+=e)}function d(t){if(1==t.nodeType){var a=t.getAttribute("cm-text");if(a)return void s(a);var u=t.getAttribute("cm-marker"),g;if(u){var f=e.findMarks(ae(n,0),ae(o+1,0),r(+u));return void(f.length&&(g=f[0].find(0))&&s(te(e.doc,g.from,g.to).join(c)))}if("false"==t.getAttribute("contenteditable"))return;var m=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;m&&l();for(var y=0;yr?p.map:c[r];for(var s=0,d;sr?e.line:e.rest[r]),h=l[s]+o;return(0>o||d!=t)&&(h=l[s+(o?1:0)]),ae(a,h)}}}var o=e.text.firstChild,r=!1;if(!t||!l(o,t))return ul(ae(re(e.line),0),!0);if(t==o&&(r=!0,t=o.childNodes[i],i=0,!t)){var s=e.rest?y(e.rest):e.line;return ul(ae(re(s),s.text.length),r)}var d=3==t.nodeType?t:null,a=t;for(d||1!=t.childNodes.length||3!=t.firstChild.nodeType||(d=t.firstChild,i&&(i=d.nodeValue.length));a.parentNode!=o;)a=a.parentNode;var p=e.measure,c=p.maps,h=n(d,a,i);if(h)return ul(h,r);for(var u=a.nextSibling,g=d?d.nodeValue.length-i:0;u;u=u.nextSibling){if(h=n(u,u.firstChild,0),h)return ul(ae(h.line,h.ch-g),r);g+=u.textContent.length}for(var f=a.previousSibling,m=i;f;f=f.previousSibling){if(h=n(f,f.firstChild,-1),h)return ul(ae(h.line,h.ch+m),r);m+=f.textContent.length}}var yl=navigator.userAgent,xl=navigator.platform,vl=/gecko\/\d/i.test(yl),bl=/MSIE \d/.test(yl),Cl=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(yl),wl=/Edge\/(\d+)/.exec(yl),kl=bl||Cl||wl,ie=kl&&(bl?document.documentMode||6:+(wl||Cl)[1]),at=!wl&&/WebKit\//.test(yl),to=at&&/Qt\/\d+\.\d+/.test(yl),Sl=!wl&&/Chrome\//.test(yl),Ll=/Opera\//.test(yl),Tl=/Apple Computer/.test(navigator.vendor),Nl=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(yl),Ml=/PhantomJS/.test(yl),Al=!wl&&/AppleWebKit/.test(yl)&&/Mobile\/\w+/.test(yl),Ol=/Android/.test(yl),Wl=Al||Ol||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(yl),Dl=Al||/Mac/.test(xl),Hl=/\bCrOS\b/.test(yl),Fl=/win/i.test(xl),Pl=Ll&&yl.match(/Version\/(\d*\.\d*)/);Pl&&(Pl=+Pl[1]),Pl&&15<=Pl&&(Ll=!1,at=!0);var El=Dl&&(to||Ll&&(null==Pl||12.11>Pl)),Il=vl||kl&&9<=ie,zl=function(t,i){var n=t.className,o=e(i).exec(n);if(o){var r=n.slice(o.index+o[0].length);t.className=n.slice(0,o.index)+(r?o[1]+r:"")}},Rl;Rl=document.createRange?function(e,t,i,n){var o=document.createRange();return o.setEnd(n||e,i),o.setStart(e,t),o}:function(e,t,i){var n=document.body.createTextRange();try{n.moveToElementText(e.parentNode)}catch(t){return n}return n.collapse(!0),n.moveEnd("character",i),n.moveStart("character",t),n};var Bl=function(e){e.select()};Al?Bl=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:kl&&(Bl=function(e){try{e.select()}catch(e){}});var jl=function(){this.id=null};jl.prototype.set=function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)};var Gl={toString:function(){return"CodeMirror.Pass"}},Vl={scroll:!1},Ul={origin:"*mouse"},$l={origin:"+move"},Kl=[""],Xl=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,_l=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,Yl=null,ql=function(){function e(e){return 247>=e?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(e):1424<=e&&1524>=e?"R":1536<=e&&1785>=e?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(e-1536):1774<=e&&2220>=e?"r":8192<=e&&8203>=e?"w":8204==e?"b":"L"}function t(e,t,i){this.level=e,this.from=t,this.to=i}var n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,o=/[stwN]/,r=/[LRr]/,l=/[Lb1n]/,s=/[1n]/;return function(d,a){var p="ltr"==a?"L":"R";if(0==d.length||"ltr"==a&&!n.test(d))return!1;for(var c=d.length,h=[],u=0;uie)return!1;var e=o("div");return"draggable"in e||"dragDrop"in e}(),on=3=="\n\nb".split(/\n/).length?function(e){return e.split(/\r\n?|\n/)}:function(e){for(var t=0,i=[],n=e.length,o;t<=n;){o=e.indexOf("\n",t),-1==o&&(o=e.length);var r=e.slice(t,"\r"==e.charAt(o-1)?o-1:o),l=r.indexOf("\r");-1==l?(i.push(r),t=o+1):(i.push(r.slice(0,l)),t+=l+1)}return i},Ql=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(t){}return!!(t&&t.parentElement()==e)&&0!=t.compareEndPoints("StartToEnd",t)},es=function(){var t=o("div");return!!("oncopy"in t)||(t.setAttribute("oncopy","return;"),"function"==typeof t.oncopy)}(),ts=null,is={},ns={},os={},rs=function(e,t,i){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=i},ls,ss;rs.prototype.eol=function(){return this.pos>=this.string.length},rs.prototype.sol=function(){return this.pos==this.lineStart},rs.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},rs.prototype.next=function(){if(this.post},rs.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},rs.prototype.skipToEnd=function(){this.pos=this.string.length},rs.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(-1this.maxLookAhead&&(this.maxLookAhead=e),t},as.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},as.prototype.nextLine=function(){this.line++,0ie&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")},bs;vs.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,i=e.scrollHeight>e.clientHeight+1,n=e.nativeBarWidth;if(i){this.vert.style.display="block",this.vert.style.bottom=t?n+"px":"0";var o=e.viewHeight-(t?n:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+o)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=i?n+"px":"0",this.horiz.style.left=e.barLeft+"px";var r=e.viewWidth-e.barLeft-(i?n:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+r)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&0=pe(e,o.to()))return n;return-1};var Ms=function(e,t){this.anchor=e,this.head=t};Ms.prototype.from=function(){return ge(this.anchor,this.head)},Ms.prototype.to=function(){return ue(this.anchor,this.head)},Ms.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Yo.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,o;nthis.size-t&&(1=this.children.length)){var e=this;do{var t=e.children.splice(e.children.length-5,5),i=new qo(t);if(!e.parent){var n=new qo(e.children);n.parent=e,e.children=[n,i],e=n}else{e.size-=i.size,e.height-=i.height;var o=u(e.parent.children,e);e.parent.children.splice(o+1,0,i)}i.parent=e.parent}while(10e.display.maxLineLength&&(e.display.maxLine=p,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=o&&e&&this.collapsed&&Ai(e,o,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Wo(e.doc)),e&&kt(e,"markerCleared",e,this,o,r),t&&gn(e),this.parent&&this.parent.clear()}},Ws.prototype.find=function(e,t){null==e&&"bookmark"==this.type&&(e=1);for(var n=0,o,r;n=e.ch)&&t.push(r.marker.parent||r.marker);return t},findMarks:function(e,t,n){e=me(this,e),t=me(this,t);var o=[],r=e.line;return this.iter(e.line,t.line+1,function(l){var s=l.markedSpans;if(s)for(var d=0,a;d=a.to||null==a.from&&r!=e.line||null!=a.from&&r==t.line&&a.from>=t.ch||n&&!n(a.marker)||o.push(a.marker.parent||a.marker);++r}),o},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var o=0;oe?(n=e,!0):void(e-=r,++t)}),me(this,ae(t,n))},indexFromPos:function(e){e=me(this,e);var t=e.ch;if(e.linee.ch)return 0;var i=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+i}),t},copy:function(e){var t=new Fs(ne(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,i=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.tozs;zs++)Is[zs+48]=Is[zs+96]=zs+"";for(var Rs=65;90>=Rs;Rs++)Is[Rs]=String.fromCharCode(Rs);for(var Bs=1;12>=Bs;Bs++)Is[Bs+111]=Is[Bs+63235]="F"+Bs;var js={};js.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},js.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},js.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},js.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},js["default"]=Dl?js.macDefault:js.pcDefault;var Gs={selectAll:Eo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),Vl)},killLine:function(e){return vr(e,function(t){if(t.empty()){var i=ee(e.doc,t.head.line).text.length;return t.head.ch==i&&t.head.linee.doc.first){var s=ee(e.doc,r.line-1).text;s&&(r=new ae(r.line,1),e.replaceRange(l.charAt(0)+e.doc.lineSeparator()+s.charAt(s.length-1),ae(r.line-1,s.length-1),r,"+transpose"))}n.push(new Ms(r,r))}e.setSelections(n)})},newlineAndIndent:function(e){return Cn(e,function(){for(var t=e.listSelections(),n=t.length-1;0<=n;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var o=0;oe&&0==pe(t,this.pos)&&i==this.button};var Ks={toString:function(){return"CodeMirror.Init"}},Xs={},_s={},Ys,qs;Qr.defaults=Xs,Qr.optionHandlers=_s;var Zs=[];Qr.defineInitHook=function(e){return Zs.push(e)};var Js=null,Qs=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new jl,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Qs.prototype.init=function(e){function t(t){if(!F(o,t)){if(o.somethingSelected())il({lineWise:!1,text:o.getSelections()}),"cut"==t.type&&o.replaceSelection("",null,"cut");else{if(!o.options.lineWiseCopyCut)return;var e=ll(o);il({lineWise:!0,text:e.text}),"cut"==t.type&&o.operation(function(){o.setSelections(e.ranges,0,Vl),o.replaceSelection("",null,"cut")})}if(t.clipboardData){t.clipboardData.clearData();var i=Js.text.join("\n");if(t.clipboardData.setData("Text",i),t.clipboardData.getData("Text")==i)return void t.preventDefault()}var l=dl(),s=l.firstChild;o.display.lineSpace.insertBefore(l,o.display.lineSpace.firstChild),s.value=Js.text.join("\n");var d=document.activeElement;Bl(s),setTimeout(function(){o.display.lineSpace.removeChild(l),d.focus(),d==r&&n.showPrimarySelection()},50)}}var i=this,n=this,o=n.cm,r=n.div=e.lineDiv;sl(r,o.options.spellcheck,o.options.autocorrect,o.options.autocapitalize),Jl(r,"paste",function(t){F(o,t)||ol(t,o)||11>=ie&&setTimeout(wn(o,function(){return i.updateFromDOM()}),20)}),Jl(r,"compositionstart",function(t){i.composing={data:t.data,done:!1}}),Jl(r,"compositionupdate",function(t){i.composing||(i.composing={data:t.data,done:!1})}),Jl(r,"compositionend",function(t){i.composing&&(t.data!=i.composing.data&&i.readFromDOMSoon(),i.composing.done=!0)}),Jl(r,"touchstart",function(){return n.forceCompositionEnd()}),Jl(r,"input",function(){i.composing||i.readFromDOMSoon()}),Jl(r,"copy",t),Jl(r,"cut",t)},Qs.prototype.prepareSelection=function(){var e=Ei(this.cm,!1);return e.focus=this.cm.state.focused,e},Qs.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Qs.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Qs.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,i=t.doc.sel.primary(),n=i.from(),o=i.to();if(t.display.viewTo==t.display.viewFrom||n.line>=t.display.viewTo||o.line=t.display.viewFrom&&cl(t,n)||{node:s[0].measure.map[2],offset:0},a=o.linee.firstLine()&&(n=ae(n.line-1,ee(e.doc,n.line-1).length)),o.ch==ee(e.doc,o.line).text.length&&o.linet.viewTo-1)return!1;var r,l,s;n.line==t.viewFrom||0==(r=Mi(e,n.line))?(l=re(t.view[0].line),s=t.view[0].node):(l=re(t.view[r].line),s=t.view[r-1].node.nextSibling);var d=Mi(e,o.line),a,p;if(d==t.view.length-1?(a=t.viewTo-1,p=t.lineDiv.lastChild):(a=re(t.view[d+1].line)-1,p=t.view[d+1].node.previousSibling),!s)return!1;for(var c=e.doc.splitLines(gl(e,s,p,l,a)),h=te(e.doc,ae(l,0),ae(a,ee(e.doc,a).text.length));1n.ch&&v.charCodeAt(v.length-g-1)==b.charCodeAt(b.length-g-1);)u--,g++;c[c.length-1]=v.slice(0,v.length-g).replace(/^\u200b+/,""),c[0]=c[0].slice(u).replace(/\u200b+$/,"");var w=ae(l,u),k=ae(a,h.length?y(h).length-g:0);if(1ie&&l.scrollbars.setScrollTop(l.scroller.scrollTop=d),null!=s.selectionStart)){(!kl||kl&&9>ie)&&e();var t=0,a=function(){l.selForContextMenu==r.doc.sel&&0==s.selectionStart&&0t++?l.detectingSelectAll=setTimeout(a,500):(l.selForContextMenu=null,l.input.reset())};l.detectingSelectAll=setTimeout(a,200)}}var o=this,r=o.cm,l=r.display,s=o.textarea;o.contextMenuPending&&o.contextMenuPending();var i=Ni(r,t),d=l.scroller.scrollTop;if(i&&!Ll){var a=r.options.resetSelectionOnContextMenu;a&&-1==r.doc.sel.contains(i)&&wn(r,Mo)(r.doc,Kn(i),Vl);var p=s.style.cssText,c=o.wrapper.style.cssText,h=o.wrapper.offsetParent.getBoundingClientRect();o.wrapper.style.cssText="position: static",s.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-h.top-5)+"px; left: "+(t.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(kl?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var u;if(at&&(u=window.scrollY),l.input.focus(),at&&window.scrollTo(null,u),l.input.reset(),r.somethingSelected()||(s.value=o.prevInput=" "),o.contextMenuPending=n,l.selForContextMenu=r.doc.sel,clearTimeout(l.detectingSelectAll),kl&&9<=ie&&e(),Il){j(t);var g=function(){D(window,"mouseup",g),setTimeout(n,20)};Jl(window,"mouseup",g)}else setTimeout(n,50)}},ed.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e},ed.prototype.setUneditable=function(){},ed.prototype.needsContentAttribute=!1,function(e){function t(t,n,o,r){e.defaults[t]=n,o&&(i[t]=r?function(e,t,i){i!=Ks&&o(e,t,i)}:o)}var i=e.optionHandlers;e.defineOption=t,e.Init=Ks,t("value","",function(e,t){return e.setValue(t)},!0),t("mode",null,function(e,t){e.doc.modeOption=t,Jn(e)},!0),t("indentUnit",2,Jn,!0),t("indentWithTabs",!1),t("smartIndent",!0),t("tabSize",4,function(e){Qn(e),oi(e),Ai(e)},!0),t("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,!!t){var n=[],o=e.doc.first;e.doc.iter(function(e){for(var i=0,r;;){if(r=e.text.indexOf(t,i),-1==r)break;i=r+t.length,n.push(ae(o,r))}o++});for(var r=n.length-1;0<=r;r--)Uo(e.doc,t,n[r],ae(n[r].line,n[r].ch+t.length))}}),t("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(e,t,i){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),i!=Ks&&e.refresh()}),t("specialCharPlaceholder",ht,function(e){return e.refresh()},!0),t("electricChars",!0),t("inputStyle",Wl?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),t("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),t("autocorrect",!1,function(e,t){return e.getInputField().autocorrect=t},!0),t("autocapitalize",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),t("rtlMoveVisually",!Fl),t("wholeLineUpdateBefore",!0),t("theme","default",function(e){qr(e),Bn(e)},!0),t("keyMap","default",function(e,t,i){var n=xr(t),o=i!=Ks&&xr(i);o&&o.detach&&o.detach(e,n),n.attach&&n.attach(e,o||null)}),t("extraKeys",null),t("configureMouse",null),t("lineWrapping",!1,Jr,!0),t("gutters",[],function(e,t){e.display.gutterSpecs=zn(t,e.options.lineNumbers),Bn(e)},!0),t("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?Si(e.display)+"px":"0",e.refresh()},!0),t("coverGutterNextToScrollbar",!1,function(e){return pn(e)},!0),t("scrollbarStyle","native",function(e){hn(e),pn(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),t("lineNumbers",!1,function(e,t){e.display.gutterSpecs=zn(e.options.gutters,t),Bn(e)},!0),t("firstLineNumber",1,Bn,!0),t("lineNumberFormatter",function(e){return e},Bn,!0),t("showCursorWhenSelecting",!1,Pi,!0),t("resetSelectionOnContextMenu",!0),t("lineWiseCopyCut",!0),t("pasteLinesPerSelection",!0),t("selectionsMayTouch",!1),t("readOnly",!1,function(e,t){"nocursor"==t&&(Ui(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),t("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),t("dragDrop",!0,Zr),t("allowDropFileTypes",null),t("cursorBlinkRate",530),t("cursorScrollMargin",0),t("cursorHeight",1,Pi,!0),t("singleCursorHeightPerLine",!0,Pi,!0),t("workTime",100),t("workDelay",100),t("flattenSpans",!0,Qn,!0),t("addModeClass",!1,Qn,!0),t("pollInterval",100),t("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),t("historyEventDelay",1250),t("viewportMargin",10,function(e){return e.refresh()},!0),t("maxHighlightLength",1e4,Qn,!0),t("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),t("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),t("autofocus",null),t("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0),t("phrases",null)}(Qr),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,i){var n=this.options,o=n[e];n[e]==i&&"mode"!=e||(n[e]=i,t.hasOwnProperty(e)&&wn(this,t[e])(this,i,o),H(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](xr(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(tl(this,r.head.line,e,!0),n=r.head.line,o==this.doc.sel.primIndex&&Qi(this))}),getTokenAt:function(e,t){return Le(this,e,t)},getLineTokens:function(e,t){return Le(this,ae(e),t,!0)},getTokenTypeAt:function(e){e=me(this.doc,e);var t=be(this,ee(this.doc,e.line)),i=0,n=(t.length-1)/2,o=e.ch,r;if(0==o)r=t[2];else for(;;){var l=i+n>>1;if((l?t[2*l-1]:0)>=o)n=l;else if(t[2*l+1]s?r:0==s?null:r.slice(0,s-1)},getModeAt:function(t){var i=this.doc.mode;return i.innerMode?e.innerMode(i,this.getTokenAt(t).state).mode:i},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var o=[];if(!n.hasOwnProperty(t))return o;var r=n[t],l=this.getModeAt(e);if("string"==typeof l[t])r[l[t]]&&o.push(r[l[t]]);else if(l[t])for(var s=0,d;sr&&(e=r,n=!0),o=ee(this.doc,e)}else o=e;return di(this,o,{top:0,left:0},t||"page",i||n).top+(n?this.doc.height-ot(o):0)},defaultTextHeight:function(){return Ci(this.display)},defaultCharWidth:function(){return wi(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,i,n,o){var r=this.display;e=ci(this,me(this.doc,e));var l=e.bottom,s=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),r.sizer.appendChild(t),"over"==n)l=e.top;else if("above"==n||"near"==n){var d=Math.max(r.wrapper.clientHeight,this.doc.height),a=Math.max(r.sizer.clientWidth,r.lineSpace.clientWidth);("above"==n||e.bottom+t.offsetHeight>d)&&e.top>t.offsetHeight?l=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=d&&(l=e.bottom),s+t.offsetWidth>a&&(s=a-t.offsetWidth)}t.style.top=l+"px",t.style.left=t.style.right="","right"==o?(s=r.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==o?s=0:"middle"==o&&(s=(r.sizer.clientWidth-t.offsetWidth)/2),t.style.left=s+"px"),i&&qi(this,{left:s,top:l,right:s+t.offsetWidth,bottom:l+t.offsetHeight})},triggerOnKeyDown:kn(Hr),triggerOnKeyPress:kn(Er),triggerOnKeyUp:Pr,triggerOnMouseDown:kn(zr),execCommand:function(e){if(Gs.hasOwnProperty(e))return Gs[e].call(null,this)},triggerElectric:kn(function(e){rl(this,e)}),findPosH:function(e,t,n,o){var r=1;0>t&&(r=-1,t=-t);for(var l=me(this.doc,e),s=0;se?n.from():n.to()},$l)}),deleteH:kn(function(e,t){var i=this.doc.sel,n=this.doc;i.somethingSelected()?n.replaceSelection("",null,"+delete"):vr(this,function(i){var o=al(n,i.head,e,t,!1);return 0>e?{from:o,to:i.head}:{from:i.head,to:o}})}),findPosV:function(e,t,n,o){var r=1,l=o;0>t&&(r=-1,t=-t);for(var s=me(this.doc,e),d=0,a;de?i.from():i.to();var s=ci(n,i.head,"div");null!=i.goalColumn&&(s.left=i.goalColumn),r.push(s.left);var d=pl(n,s,e,t);return"page"==t&&i==o.sel.primary()&&Ji(n,pi(n,d,"div").top-s.top),d},$l),r.length)for(var s=0;su(td,id)&&(Qr.prototype[id]=function(e){return function(){return e.apply(this.doc,arguments)}}(Fs.prototype[id]));return I(Fs),Qr.inputStyles={textarea:ed,contenteditable:Qs},Qr.defineMode=function(e){Qr.defaults.mode||"null"==e||(Qr.defaults.mode=e),X.apply(this,arguments)},Qr.defineMIME=function(e,t){ns[e]=t},Qr.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Qr.defineMIME("text/plain","null"),Qr.defineExtension=function(e,t){Qr.prototype[e]=t},Qr.defineDocExtension=function(e,t){Fs.prototype[e]=t},Qr.fromTextArea=function(e,t){function i(){e.value=d.getValue()}if(t=t?c(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=s();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}var o;if(e.form&&(Jl(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var r=e.form;o=r.submit;try{var l=r.submit=function(){i(),r.submit=o,r.submit(),r.submit=l}}catch(t){}}t.finishInit=function(t){t.save=i,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,i(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display="",e.form&&(D(e.form,"submit",i),"function"==typeof e.form.submit&&(e.form.submit=o))}},e.style.display="none";var d=Qr(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return d},function(e){e.off=D,e.on=Jl,e.wheelEventPixels=Vn,e.Doc=Fs,e.splitLines=on,e.countColumn=h,e.findColumn=g,e.isWordChar=w,e.Pass=Gl,e.signal=H,e.Line=us,e.changeEnd=Xn,e.scrollbarModel=ws,e.Pos=ae,e.cmpPos=pe,e.modes=is,e.mimeModes=ns,e.resolveMode=_,e.getMode=Y,e.modeExtensions=os,e.extendMode=q,e.copyState=Z,e.startState=Q,e.innerMode=J,e.commands=Gs,e.keyMap=js,e.keyName=yr,e.isModifierKey=fr,e.lookupKey=gr,e.normalizeKeyMap=ur,e.StringStream=rs,e.SharedTextMarker=Ds,e.TextMarker=Ws,e.LineWidget=As,e.e_preventDefault=z,e.e_stopPropagation=R,e.e_stop=j,e.addClass=d,e.contains=l,e.rmClass=zl,e.keyNames=Is}(Qr),Qr.version="5.47.1",Qr});(function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(e){"use strict";e.defineMode("javascript",function(t,n){function o(e){for(var t=!1,i=!1,n;null!=(n=e.next());){if(!t){if("/"==n&&!i)return;"["==n?i=!0:i&&"]"==n&&(i=!1)}t=!t&&"\\"==n}}function r(e,t,i){return Ze=e,Je=i,t}function l(e,t){var i=e.next();if("\""==i||"'"==i)return t.tokenize=s(i),t.tokenize(e,t);if("."==i&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return r("number","number");if("."==i&&e.match(".."))return r("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return r(i);if("="==i&&e.eat(">"))return r("=>","operator");if("0"==i&&e.match(/^(?:x[\da-f]+|o[0-7]+|b[01]+)n?/i))return r("number","number");if(/\d/.test(i))return e.match(/^\d*(?:n|(?:\.\d*)?(?:[eE][+\-]?\d+)?)?/),r("number","number");if("/"==i)return e.eat("*")?(t.tokenize=d,d(e,t)):e.eat("/")?(e.skipToEnd(),r("comment","comment")):Re(e,t,1)?(o(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),r("regexp","string-2")):(e.eat("="),r("operator","operator",e.current()));if("`"==i)return t.tokenize=a,a(e,t);if("#"==i)return e.skipToEnd(),r("error","error");if(Xe.test(i))return">"==i&&t.lexical&&">"==t.lexical.type||(e.eat("=")?("!"==i||"="==i)&&e.eat("="):/[<>*+\-]/.test(i)&&(e.eat(i),">"==i&&e.eat(i))),r("operator","operator",e.current());if($e.test(i)){e.eatWhile($e);var n=e.current();if("."!=t.lastType){if(Ke.propertyIsEnumerable(n)){var l=Ke[n];return r(l.type,l.style,n)}if("async"==n&&e.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/,!1))return r("async","keyword",n)}return r("variable","variable",n)}}function s(e){return function(t,i){var n=!1,o;if(Ge&&"@"==t.peek()&&t.match(_e))return i.tokenize=l,r("jsonld-keyword","meta");for(;null!=(o=t.next())&&(o!=e||n);)n=!n&&"\\"==o;return n||(i.tokenize=l),r("string","string")}}function d(e,t){for(var i=!1,n;n=e.next();){if("/"==n&&i){t.tokenize=l;break}i="*"==n}return r("comment","comment")}function a(e,t){for(var i=!1,n;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=l;break}i=!i&&"\\"==n}return r("quasi","string-2",e.current())}function p(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var i=e.string.indexOf("=>",e.start);if(!(0>i)){if(Ue){var n=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,i));n&&(i=n.index)}for(var o=0,r=!1,l=i-1;0<=l;--l){var s=e.string.charAt(l),d="([{}])".indexOf(s);if(0<=d&&3>d){if(!o){++l;break}if(0==--o){"("==s&&(r=!0);break}}else if(3<=d&&6>d)++o;else if($e.test(s))r=!0;else{if(/["'\/]/.test(s))return;if(r&&!o){++l;break}}}r&&!o&&(t.fatArrowAt=l)}}function c(e,t,i,n,o,r){this.indented=e,this.column=t,this.type=i,this.prev=o,this.info=r,null!=n&&(this.align=n)}function h(e,t){for(var i=e.localVars;i;i=i.next)if(i.name==t)return!0;for(var n=e.context;n;n=n.prev)for(var i=n.vars;i;i=i.next)if(i.name==t)return!0}function u(e,t,i,n,o){var r=e.cc;for(qe.state=e,qe.stream=o,qe.marked=null,qe.cc=r,qe.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var l=r.length?r.pop():Ve?O:M;if(l(i,n)){for(;r.length&&r[r.length-1].lex;)r.pop()();return qe.marked?qe.marked:"variable"==i&&h(e,n)?"variable-2":t}}}function g(){for(var e=arguments.length-1;0<=e;e--)qe.cc.push(arguments[e])}function f(){return g.apply(null,arguments),!0}function m(e,t){for(var i=t;i;i=i.next)if(i.name==e)return!0;return!1}function y(e){var t=qe.state;if(qe.marked="def",t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=x(e,t.context);if(null!=i)return void(t.context=i)}else if(!m(e,t.localVars))return void(t.localVars=new C(e,t.localVars));n.globalVars&&!m(e,t.globalVars)&&(t.globalVars=new C(e,t.globalVars))}function x(e,t){if(!t)return null;if(t.block){var i=x(e,t.prev);return i?i==t.prev?t:new b(i,t.vars,!0):null}return m(e,t.vars)?t:new b(t.prev,new C(e,t.vars),!1)}function v(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function b(e,t,i){this.prev=e,this.vars=t,this.block=i}function C(e,t){this.name=e,this.next=t}function w(){qe.state.context=new b(qe.state.context,qe.state.localVars,!1),qe.state.localVars=i}function k(){qe.state.context=new b(qe.state.context,qe.state.localVars,!0),qe.state.localVars=null}function S(){qe.state.localVars=qe.state.context.vars,qe.state.context=qe.state.context.prev}function L(e,t){var i=function(){var i=qe.state,n=i.indented;if("stat"==i.lexical.type)n=i.lexical.indented;else for(var o=i.lexical;o&&")"==o.type&&o.align;o=o.prev)n=o.indented;i.lexical=new c(n,qe.stream.column(),e,null,i.lexical,t)};return i.lex=!0,i}function T(){var e=qe.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function N(e){function t(i){return i==e?f():";"==e||"}"==i||")"==i||"]"==i?g():f(t)}return t}function M(e,t){return"var"==e?f(L("vardef",t),ae,N(";"),T):"keyword a"==e?f(L("form"),D,M,T):"keyword b"==e?f(L("form"),M,T):"keyword d"==e?qe.stream.match(/^\s*$/,!1)?f():f(L("stat"),F,N(";"),T):"debugger"==e?f(N(";")):"{"==e?f(L("}"),k,Z,T,S):";"==e?f():"if"==e?("else"==qe.state.lexical.info&&qe.state.cc[qe.state.cc.length-1]==T&&qe.state.cc.pop()(),f(L("form"),D,M,T,fe)):"function"==e?f(ve):"for"==e?f(L("form"),me,M,T):"class"==e||Ue&&"interface"==t?(qe.marked="keyword",f(L("form","class"==e?e:t),Se,T)):"variable"==e?Ue&&"declare"==t?(qe.marked="keyword",f(M)):Ue&&("module"==t||"enum"==t||"type"==t)&&qe.stream.match(/^\s*\w/,!1)?(qe.marked="keyword","enum"==t?f(Ee):"type"==t?f(Ce,N("operator"),te,N(";")):f(L("form"),pe,N("{"),L("}"),Z,T,T)):Ue&&"namespace"==t?(qe.marked="keyword",f(L("form"),O,M,T)):Ue&&"abstract"==t?(qe.marked="keyword",f(M)):f(L("stat"),U):"switch"==e?f(L("form"),D,N("{"),L("}","switch"),k,Z,T,T,S):"case"==e?f(O,N(":")):"default"==e?f(N(":")):"catch"==e?f(L("form"),w,A,M,T,S):"export"==e?f(L("stat"),Me,T):"import"==e?f(L("stat"),Oe,T):"async"==e?f(M):"@"==t?f(O,M):g(L("stat"),O,N(";"),T)}function A(e){if("("==e)return f(we,N(")"))}function O(e,t){return H(e,t,!1)}function W(e,t){return H(e,t,!0)}function D(e){return"("==e?f(L(")"),O,N(")"),T):g()}function H(e,t,i){if(qe.state.fatArrowAt==qe.stream.start){var n=i?B:R;if("("==e)return f(w,L(")"),Y(we,")"),T,N("=>"),n,S);if("variable"==e)return g(w,pe,N("=>"),n,S)}var o=i?E:P;return Ye.hasOwnProperty(e)?f(o):"function"==e?f(ve,o):"class"==e||Ue&&"interface"==t?(qe.marked="keyword",f(L("form"),ke,T)):"keyword c"==e||"async"==e?f(i?W:O):"("==e?f(L(")"),F,N(")"),T,o):"operator"==e||"spread"==e?f(i?W:O):"["==e?f(L("]"),Pe,T,o):"{"==e?q(K,"}",null,o):"quasi"==e?g(I,o):"new"==e?f(j(i)):"import"==e?f(O):f()}function F(e){return e.match(/[;\}\)\],]/)?g():g(O)}function P(e,t){return","==e?f(O):E(e,t,!1)}function E(e,t,i){var n=!1==i?P:E,o=!1==i?O:W;return"=>"==e?f(w,i?B:R,S):"operator"==e?/\+\+|--/.test(t)||Ue&&"!"==t?f(n):Ue&&"<"==t&&qe.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?f(L(">"),Y(te,">"),T,n):"?"==t?f(O,N(":"),o):f(o):"quasi"==e?g(I,n):";"==e?void 0:"("==e?q(W,")","call",n):"."==e?f($,n):"["==e?f(L("]"),F,N("]"),T,n):Ue&&"as"==t?(qe.marked="keyword",f(te,n)):"regexp"==e?(qe.state.lastType=qe.marked="operator",qe.stream.backUp(qe.stream.pos-qe.stream.start-1),f(o)):void 0}function I(e,t){return"quasi"==e?"${"==t.slice(t.length-2)?f(O,z):f(I):g()}function z(e){if("}"==e)return qe.marked="string-2",qe.state.tokenize=a,f(I)}function R(e){return p(qe.stream,qe.state),g("{"==e?M:O)}function B(e){return p(qe.stream,qe.state),g("{"==e?M:W)}function j(e){return function(t){return"."==t?f(e?V:G):"variable"==t&&Ue?f(le,e?E:P):g(e?W:O)}}function G(e,t){if("target"==t)return qe.marked="keyword",f(P)}function V(e,t){if("target"==t)return qe.marked="keyword",f(E)}function U(e){return":"==e?f(T,M):g(P,N(";"),T)}function $(e){if("variable"==e)return qe.marked="property",f()}function K(e,t){if("async"==e)return qe.marked="property",f(K);if("variable"==e||"keyword"==qe.style){if(qe.marked="property","get"==t||"set"==t)return f(X);var i;return Ue&&qe.state.fatArrowAt==qe.stream.start&&(i=qe.stream.match(/^\s*:\s*/,!1))&&(qe.state.fatArrowAt=qe.stream.pos+i[0].length),f(_)}return"number"==e||"string"==e?(qe.marked=Ge?"property":qe.style+" property",f(_)):"jsonld-keyword"==e?f(_):Ue&&v(t)?(qe.marked="keyword",f(K)):"["==e?f(O,J,N("]"),_):"spread"==e?f(W,_):"*"==t?(qe.marked="keyword",f(K)):":"==e?g(_):void 0}function X(e){return"variable"==e?(qe.marked="property",f(ve)):g(_)}function _(e){return":"==e?f(W):"("==e?g(ve):void 0}function Y(e,t,i){function n(o,r){if(i?-1"),te):void 0}function ie(e){if("=>"==e)return f(te)}function ne(e,t){return"variable"==e||"keyword"==qe.style?(qe.marked="property",f(ne)):"?"==t||"number"==e||"string"==e?f(ne):":"==e?f(te):"["==e?f(N("variable"),J,N("]"),ne):"("==e?g(be,ne):void 0}function oe(e,t){return"variable"==e&&qe.stream.match(/^\s*[?:]/,!1)||"?"==t?f(oe):":"==e?f(te):"spread"==e?f(oe):g(te)}function re(e,t){return"<"==t?f(L(">"),Y(te,">"),T,re):"|"==t||"."==e||"&"==t?f(te):"["==e?f(te,N("]"),re):"extends"==t||"implements"==t?(qe.marked="keyword",f(te)):"?"==t?f(te,N(":"),te):void 0}function le(e,t){if("<"==t)return f(L(">"),Y(te,">"),T,re)}function se(){return g(te,de)}function de(e,t){if("="==t)return f(te)}function ae(e,t){return"enum"==t?(qe.marked="keyword",f(Ee)):g(pe,J,ue,ge)}function pe(e,t){return Ue&&v(t)?(qe.marked="keyword",f(pe)):"variable"==e?(y(t),f()):"spread"==e?f(pe):"["==e?q(he,"]"):"{"==e?q(ce,"}"):void 0}function ce(e,t){return"variable"!=e||qe.stream.match(/^\s*:/,!1)?("variable"==e&&(qe.marked="property"),"spread"==e?f(pe):"}"==e?g():"["==e?f(O,N("]"),N(":"),ce):f(N(":"),pe,ue)):(y(t),f(ue))}function he(){return g(pe,ue)}function ue(e,t){if("="==t)return f(W)}function ge(e){if(","==e)return f(ae)}function fe(e,t){if("keyword b"==e&&"else"==t)return f(L("form","else"),M,T)}function me(e,t){return"await"==t?f(me):"("==e?f(L(")"),ye,T):void 0}function ye(e){return"var"==e?f(ae,xe):"variable"==e?f(xe):g(xe)}function xe(e,t){return")"==e?f():";"==e?f(xe):"in"==t||"of"==t?(qe.marked="keyword",f(O,xe)):g(O,xe)}function ve(e,t){return"*"==t?(qe.marked="keyword",f(ve)):"variable"==e?(y(t),f(ve)):"("==e?f(w,L(")"),Y(we,")"),T,Q,M,S):Ue&&"<"==t?f(L(">"),Y(se,">"),T,ve):void 0}function be(e,t){return"*"==t?(qe.marked="keyword",f(be)):"variable"==e?(y(t),f(be)):"("==e?f(w,L(")"),Y(we,")"),T,Q,S):Ue&&"<"==t?f(L(">"),Y(se,">"),T,be):void 0}function Ce(e,t){return"keyword"==e||"variable"==e?(qe.marked="type",f(Ce)):"<"==t?f(L(">"),Y(se,">"),T):void 0}function we(e,t){return"@"==t&&f(O,we),"spread"==e?f(we):Ue&&v(t)?(qe.marked="keyword",f(we)):Ue&&"this"==e?f(J,ue):g(pe,J,ue)}function ke(e,t){return"variable"==e?Se(e,t):Le(e,t)}function Se(e,t){if("variable"==e)return y(t),f(Le)}function Le(e,t){return"<"==t?f(L(">"),Y(se,">"),T,Le):"extends"==t||"implements"==t||Ue&&","==e?("implements"==t&&(qe.marked="keyword"),f(Ue?te:O,Le)):"{"==e?f(L("}"),Te,T):void 0}function Te(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||Ue&&v(t))&&qe.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(qe.marked="keyword",f(Te)):"variable"==e||"keyword"==qe.style?(qe.marked="property",f(Ue?Ne:ve,Te)):"number"==e||"string"==e?f(Ue?Ne:ve,Te):"["==e?f(O,J,N("]"),Ue?Ne:ve,Te):"*"==t?(qe.marked="keyword",f(Te)):Ue&&"("==e?g(be,Te):";"==e||","==e?f(Te):"}"==e?f():"@"==t?f(O,Te):void 0}function Ne(e,t){if("?"==t)return f(Ne);if(":"==e)return f(te,ue);if("="==t)return f(W);var i=qe.state.lexical.prev,n=i&&"interface"==i.info;return g(n?be:ve)}function Me(e,t){return"*"==t?(qe.marked="keyword",f(Fe,N(";"))):"default"==t?(qe.marked="keyword",f(O,N(";"))):"{"==e?f(Y(Ae,"}"),Fe,N(";")):g(M)}function Ae(e,t){return"as"==t?(qe.marked="keyword",f(N("variable"))):"variable"==e?g(W,Ae):void 0}function Oe(e){return"string"==e?f():"("==e?g(O):g(We,De,Fe)}function We(e,t){return"{"==e?q(We,"}"):("variable"==e&&y(t),"*"==t&&(qe.marked="keyword"),f(He))}function De(e){if(","==e)return f(We,De)}function He(e,t){if("as"==t)return qe.marked="keyword",f(We)}function Fe(e,t){if("from"==t)return qe.marked="keyword",f(O)}function Pe(e){return"]"==e?f():g(Y(W,"]"))}function Ee(){return g(L("form"),pe,N("{"),L("}"),Y(Ie,"}"),T,T)}function Ie(){return g(pe,ue)}function ze(e,t){return"operator"==e.lastType||","==e.lastType||Xe.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}function Re(e,t,i){return t.tokenize==l&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(i||0)))}var Be=t.indentUnit,je=n.statementIndent,Ge=n.jsonld,Ve=n.json||Ge,Ue=n.typescript,$e=n.wordCharacters||/[\w$\xa1-\uffff]/,Ke=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),i=e("keyword b"),n=e("keyword c"),o=e("keyword d"),r=e("operator"),l={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:i,do:i,try:i,finally:i,return:o,break:o,continue:o,new:e("new"),delete:n,void:n,throw:n,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:r,typeof:r,instanceof:r,true:l,false:l,null:l,undefined:l,NaN:l,Infinity:l,this:e("this"),class:e("class"),super:e("atom"),yield:n,export:e("export"),import:e("import"),extends:n,await:n}}(),Xe=/[+\-*&%=<>!?|~^@]/,_e=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ye={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},qe={state:null,column:null,marked:null,cc:null},i=new C("this",new C("arguments",null)),Ze,Je;return S.lex=!0,T.lex=!0,{startState:function(e){var t={tokenize:l,lastType:"sof",cc:[],lexical:new c((e||0)-Be,0,"block",!1),localVars:n.localVars,context:n.localVars&&new b(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(!t.lexical.hasOwnProperty("align")&&(t.lexical.align=!1),t.indented=e.indentation(),p(e,t)),t.tokenize!=d&&e.eatSpace())return null;var i=t.tokenize(e,t);return"comment"==Ze?i:(t.lastType="operator"==Ze&&("++"==Je||"--"==Je)?"incdec":Ze,u(t,i,Ze,Je,e))},indent:function(t,o){if(t.tokenize==d)return e.Pass;if(t.tokenize!=l)return 0;var r=o&&o.charAt(0),s=t.lexical,a;if(!/^\s*else\b/.test(o))for(var p=t.cc.length-1,h;0<=p;--p)if(h=t.cc[p],h==T)s=s.prev;else if(h!=fe)break;for(;("stat"==s.type||"form"==s.type)&&("}"==r||(a=t.cc[t.cc.length-1])&&(a==P||a==E)&&!/^[,\.=+\-*:?[\(]/.test(o));)s=s.prev;je&&")"==s.type&&"stat"==s.prev.type&&(s=s.prev);var u=s.type,g=r==u;return"vardef"==u?s.indented+("operator"==t.lastType||","==t.lastType?s.info.length+1:0):"form"==u&&"{"==r?s.indented:"form"==u?s.indented+Be:"stat"==u?s.indented+(ze(t,o)?je||Be:0):"switch"!=s.info||g||!1==n.doubleIndentSwitch?s.align?s.column+(g?0:1):s.indented+(g?0:Be):s.indented+(/^(?:case|default)\b/.test(o)?Be:2*Be)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Ve?null:"/*",blockCommentEnd:Ve?null:"*/",blockCommentContinue:Ve?null:" * ",lineComment:Ve?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Ve?"json":"javascript",jsonldMode:Ge,jsonMode:Ve,expressionAllowed:Re,skipExpression:function(e){var t=e.cc[e.cc.length-1];(t==O||t==W)&&e.cc.pop()}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})});(function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(t){"use strict";function i(i,e){function n(i){return o.parentNode?void(o.style.top=Math.max(0,i.clientY-o.offsetHeight-5)+"px",o.style.left=i.clientX+5+"px"):t.off(document,"mousemove",n)}var o=document.createElement("div");return o.className="CodeMirror-lint-tooltip",o.appendChild(e.cloneNode(!0)),document.body.appendChild(o),t.on(document,"mousemove",n),n(i),null!=o.style.opacity&&(o.style.opacity=1),o}function n(e){e.parentNode&&e.parentNode.removeChild(e)}function e(e){e.parentNode&&(null==e.style.opacity&&n(e),e.style.opacity=0,setTimeout(function(){n(e)},600))}function o(n,o,r){function l(){t.off(r,"mouseout",l),s&&(e(s),s=null)}var s=i(n,o),d=setInterval(function(){if(s)for(var e=r;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){l();break}}return s?void 0:clearInterval(d)},400);t.on(r,"mouseout",l)}function r(t,e,i){this.marked=[],this.options=e,this.timeout=null,this.hasGutter=i,this.onMouseOver=function(i){y(t,i)},this.waitingFor=0}function l(e,t){return t instanceof Function?{getAnnotations:t}:(t&&!0!==t||(t={}),t)}function s(e){var t=e.state.lint;t.hasGutter&&e.clearGutter("CodeMirror-lint-markers");for(var n=0;ne.maxLineLength&&(e.maxLineLength=n,e.maxLine=t)})}function h(t){for(var e=!1,r=0;re.scroller.clientWidth+1,l=i>e.scroller.clientHeight+1;l?(e.scrollbarV.style.display="block",e.scrollbarV.style.bottom=o?ui(e.measure)+"px":"0",e.scrollbarV.firstChild.style.height=i-e.scroller.clientHeight+e.scrollbarV.clientHeight+"px"):(e.scrollbarV.style.display="",e.scrollbarV.firstChild.style.height="0"),o?(e.scrollbarH.style.display="block",e.scrollbarH.style.right=l?ui(e.measure)+"px":"0",e.scrollbarH.firstChild.style.width=e.scroller.scrollWidth-e.scroller.clientWidth+e.scrollbarH.clientWidth+"px"):(e.scrollbarH.style.display="",e.scrollbarH.firstChild.style.width="0"),o&&l?(e.scrollbarFiller.style.display="block",e.scrollbarFiller.style.height=e.scrollbarFiller.style.width=ui(e.measure)+"px"):e.scrollbarFiller.style.display="",o&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(e.gutterFiller.style.display="block",e.gutterFiller.style.height=ui(e.measure)+"px",e.gutterFiller.style.width=e.gutters.offsetWidth+"px"):e.gutterFiller.style.display="",Oi&&0===ui(e.measure)&&(e.scrollbarV.style.minWidth=e.scrollbarH.style.minHeight=Ei?"18px":"12px")}function p(t,e,r){var n=t.scroller.scrollTop,i=t.wrapper.clientHeight;"number"==typeof r?n=r:r&&(n=r.top,i=r.bottom-r.top),n=Math.floor(n-I(t));var o=Math.ceil(n+i);return{from:mn(e,n),to:mn(e,o)}}function g(t){var e=t.display;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var r=y(e)-e.scroller.scrollLeft+t.doc.scrollLeft,n=e.gutters.offsetWidth,i=r+"px",o=e.lineDiv.firstChild;o;o=o.nextSibling)if(o.alignable)for(var l=0,s=o.alignable;l=t.display.showingFrom&&s.to<=t.display.showingTo));)e=[];return i&&(Bn(t,"update",t),(t.display.showingFrom!=o||t.display.showingTo!=l)&&Bn(t,"viewportChange",t,t.display.showingFrom,t.display.showingTo)),i}function x(t,e,r,n){var i=t.display,o=t.doc;if(!i.wrapper.clientWidth)return i.showingFrom=i.showingTo=o.first,i.viewOffset=0,void 0;if(!(!n&&0==e.length&&r.from>i.showingFrom&&r.tof&&i.showingTo-f<20&&(f=Math.min(u,i.showingTo)),Yi)for(c=gn(Fr(o,fn(o,c)));u>f&&Rr(o,fn(o,f));)++f;var h=[{from:Math.max(i.showingFrom,o.first),to:Math.min(i.showingTo,u)}];if(h=h[0].from>=h[0].to?[]:L(h,e),Yi)for(var a=0;ap.from)){h.splice(a--,1);break}p.to=g}for(var v=0,a=0;af&&(p.to=f),p.from>=p.to?h.splice(a--,1):v+=p.to-p.from}if(!n&&v==f-c&&c==i.showingFrom&&f==i.showingTo)return w(t),void 0;h.sort(function(t,e){return t.from-e.from});try{var y=document.activeElement}catch(b){}.7*(f-c)>v&&(i.lineDiv.style.display="none"),S(t,c,f,h,s),i.lineDiv.style.display="",y&&document.activeElement!=y&&y.offsetHeight&&y.focus();var x=c!=i.showingFrom||f!=i.showingTo||i.lastSizeC!=i.wrapper.clientHeight;return x&&(i.lastSizeC=i.wrapper.clientHeight,W(t,400)),i.showingFrom=c,i.showingTo=f,C(t),w(t),!0}}function C(t){for(var e,r=t.display,n=r.lineDiv.offsetTop,i=r.lineDiv.firstChild;i;i=i.nextSibling)if(i.lineObj){if(Si){var o=i.offsetTop+i.offsetHeight;e=o-n,n=o}else{var l=si(i);e=l.bottom-l.top}var s=i.lineObj.height-e;if(2>e&&(e=ee(r)),s>.001||-.001>s){pn(i.lineObj,e);var a=i.lineObj.widgets;if(a)for(var u=0;ur;++r){for(var i=e[r],o=[],l=i.diff||0,s=0,a=t.length;a>s;++s){var u=t[s];i.to<=u.from&&i.diff?o.push({from:u.from+l,to:u.to+l}):i.to<=u.from||i.from>=u.to?o.push(u):(i.from>u.from&&o.push({from:u.from,to:i.from}),i.toh){for(;c.lineObj!=e;)c=o(c);a&&h>=i&&c.lineNumber&&li(c.lineNumber,v(t.options,h)),c=c.nextSibling}else{if(e.widgets)for(var m,y=0,b=c;b&&20>y;++y,b=b.nextSibling)if(b.lineObj==e&&/div/i.test(b.nodeName)){m=b;break}var x=M(t,e,h,l,m);if(x!=m)u.insertBefore(x,c);else{for(;c!=m;)c=o(c);c=c.nextSibling}x.lineObj=e}++h});c;)c=o(c)}function M(t,e,r,n,i){var o,l=Qr(t,e),s=e.gutterMarkers,a=t.display;if(!(t.options.lineNumbers||s||e.bgClass||e.wrapClass||e.widgets))return l;if(i){i.alignable=null;for(var u,c=!0,f=0,h=null,d=i.firstChild;d;d=u)if(u=d.nextSibling,/\bCodeMirror-linewidget\b/.test(d.className)){for(var p=0;pe&&(e=0),l.appendChild(ni("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px; top: "+e+"px; width: "+(null==r?s-t:r)+"px; height: "+(n-e)+"px"))}function r(r,n,o){function l(e,n){return Z(t,Ue(r,e),"div",f,n)}var u,c,f=fn(i,r),h=f.text.length;return fi(yn(f),n||0,null==o?h:o,function(t,r,i){var f,d,p,g=l(t,"left");if(t==r)f=g,d=p=g.left;else{if(f=l(r-1,"right"),"rtl"==i){var m=g;g=f,f=m}d=g.left,p=f.right}null==n&&0==t&&(d=a),f.top-g.top>3&&(e(d,g.top,null,g.bottom),d=a,g.bottomc.bottom||f.bottom==c.bottom&&f.right>c.right)&&(c=f),a+1>d&&(d=a),e(d,f.top,p-d,f.bottom)}),{start:u,end:c}}var n=t.display,i=t.doc,o=t.doc.sel,l=document.createDocumentFragment(),s=n.lineSpace.offsetWidth,a=F(t.display);if(o.from.line==o.to.line)r(o.from.line,o.from.ch,o.to.ch);else{var u=fn(i,o.from.line),c=fn(i,o.to.line),f=Fr(i,u)==Fr(i,c),h=r(o.from.line,o.from.ch,f?u.text.length:null).end,d=r(o.to.line,f?0:null,o.to.ch).start;f&&(h.top0&&(e.blinker=setInterval(function(){e.cursor.style.visibility=e.otherCursor.style.visibility=(r=!r)?"":"hidden"},t.options.cursorBlinkRate))}}function W(t,e){t.doc.mode.startState&&t.doc.frontier=t.display.showingTo)){var r,n=+new Date+t.options.workTime,i=mr(e.mode,z(t,e.frontier)),o=[];e.iter(e.frontier,Math.min(e.first+e.size,t.display.showingTo+500),function(l){if(e.frontier>=t.display.showingFrom){var s=l.styles;l.styles=$r(t,l,i);for(var a=!s||s.length!=l.styles.length,u=0;!a&&un?(W(t,t.options.workDelay),!0):void 0}),o.length&&oe(t,function(){for(var t=0;ta;--s){if(s<=o.first)return o.first;var u=fn(o,s-1);if(u.stateAfter&&(!r||s<=o.frontier))return s;var c=_n(u.text,null,t.options.tabSize);(null==i||n>c)&&(i=s-1,n=c)}return i}function z(t,e,r){var n=t.doc,i=t.display;if(!n.mode.startState)return!0;var o=E(t,e,r),l=o>n.first&&fn(n,o-1).stateAfter;return l=l?mr(n.mode,l):vr(n.mode),n.iter(o,e,function(r){qr(t,r,l);var s=o==e-1||0==o%5||o>=i.showingFrom&&oo&&0==l&&(o=1)}return i=l>r?"left":r>l?"right":i,"left"==i&&s.leftSide?s=s.leftSide:"right"==i&&s.rightSide&&(s=s.rightSide),{left:r>l?s.right:s.left,right:l>r?s.left:s.right,top:s.top,bottom:s.bottom}}function B(t,e){for(var r=t.display.measureLineCache,n=0;nv&&(r=v),0>e&&(e=0);for(var n=g.length-2;n>=0;n-=2){var i=g[n],o=g[n+1];if(!(i>r||e>o)&&(e>=i&&o>=r||i>=e&&r>=o||Math.min(r,o)-Math.max(e,i)>=r-e>>1)){g[n]=Math.min(e,i),g[n+1]=Math.max(r,o);break}}return 0>n&&(n=g.length,g.push(e,r)),{left:t.left-p.left,right:t.right-p.left,top:n,bottom:null}}function n(t){t.bottom=g[t.top+1],t.top=g[t.top]}var i=t.display,o=Qn(e.text.length),l=Qr(t,e,o,!0);if(ki&&!Si&&!t.options.lineWrapping&&l.childNodes.length>100){for(var s=document.createDocumentFragment(),a=10,u=l.childNodes.length,c=0,f=Math.ceil(u/a);f>c;++c){for(var h=ni("div",null,null,"display: inline-block"),d=0;a>d&&u;++d)h.appendChild(l.firstChild),--u;s.appendChild(h)}l.appendChild(s)}oi(i.measure,l);var p=si(i.lineDiv),g=[],m=Qn(e.text.length),v=l.offsetHeight;Mi&&i.measure.first!=l&&oi(i.measure,l);for(var y,c=0;c1&&(x=m[c]=r(C[0]),x.rightSide=r(C[C.length-1]))}x||(x=m[c]=r(si(b))),y.measureRight&&(x.right=si(y.measureRight).left),y.leftSide&&(x.leftSide=r(si(y.leftSide)))}ii(t.display.measure);for(var y,c=0;cr.from?o(t-1):o(t,n)}n=n||fn(t.doc,e.line),i||(i=V(t,n));var s=yn(n),a=e.ch;if(!s)return o(a);var u=bi(s,a),c=l(a,u);return null!=zo&&(c.other=l(a,zo)),c}function J(t,e,r,n){var i=new Ue(t,e);return i.xRel=n,r&&(i.outside=!0),i}function Q(t,e,r){var n=t.doc;if(r+=t.display.viewOffset,0>r)return J(n.first,0,!0,-1);var i=mn(n,r),o=n.first+n.size-1;if(i>o)return J(n.first+n.size-1,fn(n,o).text.length,!0,1);for(0>e&&(e=0);;){var l=fn(n,i),s=te(t,l,i,e,r),a=Pr(l),u=a&&a.find();if(!a||!(s.ch>u.from.ch||s.ch==u.from.ch&&s.xRel>0))return s;i=u.to.line}}function te(t,e,r,n,i){function o(n){var i=q(t,Ue(r,n),"line",e,u);return s=!0,l>i.bottom?i.left-a:lm)return J(r,d,v,1);for(;;){if(c?d==h||d==Ci(e,h,1):1>=d-h){for(var y=p>n||m-n>=n-p?h:d,b=n-(y==h?p:m);To.test(e.text.charAt(y));)++y;var x=J(r,y,y==h?g:v,0>b?-1:b?1:0);return x}var C=Math.ceil(f/2),w=h+C;if(c){w=h;for(var L=0;C>L;++L)w=Ci(e,w,1)}var k=o(w);k>n?(d=w,m=k,(v=s)&&(m+=1e3),f=C):(h=w,p=k,g=s,f-=C)}}function ee(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==Gi){Gi=ni("pre");for(var e=0;49>e;++e)Gi.appendChild(document.createTextNode("x")),Gi.appendChild(ni("br"));Gi.appendChild(document.createTextNode("x"))}oi(t.measure,Gi);var r=Gi.offsetHeight/50;return r>3&&(t.cachedTextHeight=r),ii(t.measure),r||1}function re(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=ni("span","x"),r=ni("pre",[e]);oi(t.measure,r);var n=e.offsetWidth;return n>2&&(t.cachedCharWidth=n),n||10}function ne(t){t.curOp={changes:[],forceUpdate:!1,updateInput:null,userSelChange:null,textChanged:null,selectionChanged:!1,cursorActivity:!1,updateMaxLine:!1,updateScrollPos:!1,id:++ji},wo++||(Co=[])}function ie(t){var e=t.curOp,r=t.doc,n=t.display;if(t.curOp=null,e.updateMaxLine&&f(t),n.maxLineChanged&&!t.options.lineWrapping&&n.maxLine){var i=U(t,n.maxLine);n.sizer.style.minWidth=Math.max(0,i+3+Lo)+"px",n.maxLineChanged=!1;var o=Math.max(0,n.sizer.offsetLeft+n.sizer.offsetWidth-n.scroller.clientWidth);os&&r.charCodeAt(s)==o.charCodeAt(s);)++s;var u=i.from,c=i.to;s1e3||o.indexOf("\n")>-1?e.value=t.display.prevInput="":t.display.prevInput=o,l&&ie(t),t.state.pasteIncoming=!1,!0}function he(t,e){var r,n,i=t.doc;if(Xe(i.sel.from,i.sel.to))e&&(t.display.prevInput=t.display.input.value="",ki&&!Mi&&(t.display.inputHasSelection=null));else{t.display.prevInput="",r=Oo&&(i.sel.to.line-i.sel.from.line>100||(n=t.getSelection()).length>1e3);var o=r?"-":n||t.getSelection();t.display.input.value=o,t.state.focused&&$n(t.display.input),ki&&!Mi&&(t.display.inputHasSelection=o)}t.display.inaccurateSelection=r}function de(t){"nocursor"==t.options.readOnly||Pi&&document.activeElement==t.display.input||t.display.input.focus()}function pe(t){return t.options.readOnly||t.doc.cantEdit}function ge(t){function e(){t.state.focused&&setTimeout(ti(de,t),0)}function r(){null==s&&(s=setTimeout(function(){s=null,l.cachedCharWidth=l.cachedTextHeight=No=null,X(t),se(t,ti(ae,t))},100))}function n(){for(var t=l.wrapper.parentNode;t&&t!=document.body;t=t.parentNode);t?setTimeout(n,5e3):Fn(window,"resize",r)}function i(e){Gn(t,e)||t.options.onDragEvent&&t.options.onDragEvent(t,Hn(e))||En(e)}function o(){l.inaccurateSelection&&(l.prevInput="",l.inaccurateSelection=!1,l.input.value=t.getSelection(),$n(l.input))}var l=t.display;Pn(l.scroller,"mousedown",oe(t,ye)),ki?Pn(l.scroller,"dblclick",oe(t,function(e){if(!Gn(t,e)){var r=ve(t,e);if(r&&!be(t,e)&&!me(t.display,e)){Dn(e);var n=dr(fn(t.doc,r.line).text,r);Je(t.doc,n.from,n.to)}}})):Pn(l.scroller,"dblclick",function(e){Gn(t,e)||Dn(e)}),Pn(l.lineSpace,"selectstart",function(t){me(l,t)||Dn(t)}),Xi||Pn(l.scroller,"contextmenu",function(e){Oe(t,e)}),Pn(l.scroller,"scroll",function(){l.scroller.clientHeight&&(we(t,l.scroller.scrollTop),Le(t,l.scroller.scrollLeft,!0),Rn(t,"scroll",t))}),Pn(l.scrollbarV,"scroll",function(){l.scroller.clientHeight&&we(t,l.scrollbarV.scrollTop)}),Pn(l.scrollbarH,"scroll",function(){l.scroller.clientHeight&&Le(t,l.scrollbarH.scrollLeft)}),Pn(l.scroller,"mousewheel",function(e){ke(t,e)}),Pn(l.scroller,"DOMMouseScroll",function(e){ke(t,e)}),Pn(l.scrollbarH,"mousedown",e),Pn(l.scrollbarV,"mousedown",e),Pn(l.wrapper,"scroll",function(){l.wrapper.scrollTop=l.wrapper.scrollLeft=0});var s;Pn(window,"resize",r),setTimeout(n,5e3),Pn(l.input,"keyup",oe(t,function(e){Gn(t,e)||t.options.onKeyEvent&&t.options.onKeyEvent(t,Hn(e))||16==e.keyCode&&(t.doc.sel.shift=!1)})),Pn(l.input,"input",ti(ce,t)),Pn(l.input,"keydown",oe(t,Ne)),Pn(l.input,"keypress",oe(t,He)),Pn(l.input,"focus",ti(De,t)),Pn(l.input,"blur",ti(We,t)),t.options.dragDrop&&(Pn(l.scroller,"dragstart",function(e){Ce(t,e)}),Pn(l.scroller,"dragenter",i),Pn(l.scroller,"dragover",i),Pn(l.scroller,"drop",oe(t,xe))),Pn(l.scroller,"paste",function(e){me(l,e)||(de(t),ce(t))}),Pn(l.input,"paste",function(){if(Ti&&!t.state.fakedLastChar&&!(new Date-t.state.lastMiddleDown<200)){var e=l.input.selectionStart,r=l.input.selectionEnd;l.input.value+="$",l.input.selectionStart=e,l.input.selectionEnd=r,t.state.fakedLastChar=!0}t.state.pasteIncoming=!0,ce(t)}),Pn(l.input,"cut",o),Pn(l.input,"copy",o),Wi&&Pn(l.sizer,"mouseup",function(){document.activeElement==l.input&&l.input.blur(),de(t)})}function me(t,e){for(var r=zn(e);r!=t.wrapper;r=r.parentNode)if(!r||r.ignoreEvents||r.parentNode==t.sizer&&r!=t.mover)return!0}function ve(t,e,r){var n=t.display;if(!r){var i=zn(e);if(i==n.scrollbarH||i==n.scrollbarH.firstChild||i==n.scrollbarV||i==n.scrollbarV.firstChild||i==n.scrollbarFiller||i==n.gutterFiller)return null}var o,l,s=si(n.lineSpace);try{o=e.clientX,l=e.clientY}catch(e){return null}return Q(t,o-s.left,l-s.top)}function ye(t){function e(t){if(!Xe(v,t)){if(v=t,"single"==c)return Je(i.doc,$e(l,a),t),void 0;if(g=$e(l,g),m=$e(l,m),"double"==c){var e=dr(fn(l,t.line).text,t);_e(t,g)?Je(i.doc,e.from,m):Je(i.doc,g,e.to)}else"triple"==c&&(_e(t,g)?Je(i.doc,m,$e(l,Ue(t.line,0))):Je(i.doc,g,$e(l,Ue(t.line+1,0))))}}function r(t){var n=++b,s=ve(i,t,!0);if(s)if(Xe(s,h)){var a=t.clientYy.bottom?20:0;a&&setTimeout(oe(i,function(){b==n&&(o.scroller.scrollTop+=a,r(t))}),50)}else{i.state.focused||De(i),h=s,e(s);var u=p(o,l);(s.line>=u.to||s.lineu-400&&Xe(Ki.pos,a))c="triple",Dn(t),setTimeout(ti(de,i),20),pr(i,a.line);else if(Vi&&Vi.time>u-400&&Xe(Vi.pos,a)){c="double",Ki={time:u,pos:a},Dn(t);var f=dr(fn(l,a.line).text,a);Je(i.doc,f.from,f.to)}else Vi={time:u,pos:a};var h=a;if(i.options.dragDrop&&Ao&&!pe(i)&&!Xe(s.from,s.to)&&!_e(a,s.from)&&!_e(s.to,a)&&"single"==c){var d=oe(i,function(e){Ti&&(o.scroller.draggable=!1),i.state.draggingText=!1,Fn(document,"mouseup",d),Fn(o.scroller,"drop",d),Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)<10&&(Dn(e),Je(i.doc,a),de(i))});return Ti&&(o.scroller.draggable=!0),i.state.draggingText=d,o.scroller.dragDrop&&o.scroller.dragDrop(),Pn(document,"mouseup",d),Pn(o.scroller,"drop",d),void 0}Dn(t),"single"==c&&Je(i.doc,$e(l,a));var g=s.from,m=s.to,v=a,y=si(o.wrapper),b=0,x=oe(i,function(t){ki||In(t)?r(t):n(t)}),C=oe(i,n);Pn(document,"mousemove",x),Pn(document,"mouseup",C)}}}function be(t,e){var r=t.display;try{var n=e.clientX,i=e.clientY}catch(e){return!1}if(n>=Math.floor(si(r.gutters).right))return!1;if(Dn(e),!Kn(t,"gutterClick"))return!0;var o=si(r.lineDiv);if(i>o.bottom)return!0;i-=o.top-r.viewOffset;for(var l=0;l=n){var a=mn(t.doc,i),u=t.options.gutters[l];Bn(t,"gutterClick",t,a,u,e);break}}return!0}function xe(t){var e=this;if(!(Gn(e,t)||me(e.display,t)||e.options.onDragEvent&&e.options.onDragEvent(e,Hn(t)))){Dn(t),ki&&($i=+new Date);var r=ve(e,t,!0),n=t.dataTransfer.files;if(r&&!pe(e))if(n&&n.length&&window.FileReader&&window.File)for(var i=n.length,o=Array(i),l=0,s=function(t,n){var s=new FileReader;s.onload=function(){o[n]=s.result,++l==i&&(r=$e(e.doc,r),Pe(e.doc,{from:r,to:r,text:Do(o.join("\n")),origin:"paste"},"around"))},s.readAsText(t)},a=0;i>a;++a)s(n[a],a);else{if(e.state.draggingText&&!_e(r,e.doc.sel.from)&&!_e(e.doc.sel.to,r))return e.state.draggingText(t),setTimeout(ti(de,e),20),void 0;try{var o=t.dataTransfer.getData("Text");if(o){var u=e.doc.sel.from,c=e.doc.sel.to;tr(e.doc,r,r),e.state.draggingText&&Ke(e.doc,"",u,c,"paste"),e.replaceSelection(o,null,"paste"),de(e),De(e)}}catch(t){}}}}function Ce(t,e){if(ki&&(!t.state.draggingText||+new Date-$i<100))return En(e),void 0;if(!Gn(t,e)&&!me(t.display,e)){var r=t.getSelection();if(e.dataTransfer.setData("Text",r),e.dataTransfer.setDragImage&&!Di){var n=ni("img",null,null,"position: fixed; left: 0; top: 0;");Hi&&(n.width=n.height=1,t.display.wrapper.appendChild(n),n._top=n.offsetTop),e.dataTransfer.setDragImage(n,0,0),Hi&&n.parentNode.removeChild(n)}}}function we(t,e){Math.abs(t.doc.scrollTop-e)<2||(t.doc.scrollTop=e,Li||b(t,[],e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e),t.display.scrollbarV.scrollTop!=e&&(t.display.scrollbarV.scrollTop=e),Li&&b(t,[]),W(t,100))}function Le(t,e,r){(r?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)||(e=Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth),t.doc.scrollLeft=e,g(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbarH.scrollLeft!=e&&(t.display.scrollbarH.scrollLeft=e))}function ke(t,e){var r=e.wheelDeltaX,n=e.wheelDeltaY;null==r&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(r=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta);var i=t.display,o=i.scroller;if(r&&o.scrollWidth>o.clientWidth||n&&o.scrollHeight>o.clientHeight){if(n&&Fi&&Ti)for(var l=e.target;l!=o;l=l.parentNode)if(l.lineObj){t.display.currentWheelTarget=l;break}if(r&&!Li&&!Hi&&null!=qi)return n&&we(t,Math.max(0,Math.min(o.scrollTop+n*qi,o.scrollHeight-o.clientHeight))),Le(t,Math.max(0,Math.min(o.scrollLeft+r*qi,o.scrollWidth-o.clientWidth))),Dn(e),i.wheelStartX=null,void 0;if(n&&null!=qi){var s=n*qi,a=t.doc.scrollTop,u=a+i.wrapper.clientHeight;0>s?a=Math.max(0,a+s-50):u=Math.min(t.doc.height,u+s+50),b(t,[],{top:a,bottom:u})}20>Zi&&(null==i.wheelStartX?(i.wheelStartX=o.scrollLeft,i.wheelStartY=o.scrollTop,i.wheelDX=r,i.wheelDY=n,setTimeout(function(){if(null!=i.wheelStartX){var t=o.scrollLeft-i.wheelStartX,e=o.scrollTop-i.wheelStartY,r=e&&i.wheelDY&&e/i.wheelDY||t&&i.wheelDX&&t/i.wheelDX;i.wheelStartX=i.wheelStartY=null,r&&(qi=(qi*Zi+r)/(Zi+1),++Zi)}},200)):(i.wheelDX+=r,i.wheelDY+=n))}}function Se(t,e,r){if("string"==typeof e&&(e=co[e],!e))return!1;t.display.pollingFast&&fe(t)&&(t.display.pollingFast=!1);var n=t.doc,i=n.sel.shift,o=!1;try{pe(t)&&(t.state.suppressEdits=!0),r&&(n.sel.shift=!1),o=e(t)!=ko}finally{n.sel.shift=i,t.state.suppressEdits=!1}return o}function Me(t){var e=t.state.keyMaps.slice(0);return t.options.extraKeys&&e.push(t.options.extraKeys),e.push(t.options.keyMap),e}function Te(t,e){var r=yr(t.options.keyMap),n=r.auto;clearTimeout(Ji),n&&!xr(e)&&(Ji=setTimeout(function(){yr(t.options.keyMap)==r&&(t.options.keyMap=n.call?n.call(null,t):n,l(t))},50));var i=Cr(e,!0),o=!1;if(!i)return!1;var s=Me(t);return o=e.shiftKey?br("Shift-"+i,s,function(e){return Se(t,e,!0)})||br(i,s,function(e){return("string"==typeof e?/^go[A-Z]/.test(e):e.motion)?Se(t,e):void 0}):br(i,s,function(e){return Se(t,e)}),o&&(Dn(e),D(t),Mi&&(e.oldKeyCode=e.keyCode,e.keyCode=0),Bn(t,"keyHandled",t,i,e)),o}function Ae(t,e,r){var n=br("'"+r+"'",Me(t),function(e){return Se(t,e,!0)});return n&&(Dn(e),D(t),Bn(t,"keyHandled",t,"'"+r+"'",e)),n}function Ne(t){var e=this;if(e.state.focused||De(e),!(Gn(e,t)||e.options.onKeyEvent&&e.options.onKeyEvent(e,Hn(t)))){ki&&27==t.keyCode&&(t.returnValue=!1);var r=t.keyCode;e.doc.sel.shift=16==r||t.shiftKey;var n=Te(e,t);Hi&&(to=n?r:null,!n&&88==r&&!Oo&&(Fi?t.metaKey:t.ctrlKey)&&e.replaceSelection(""))}}function He(t){var e=this;if(!(Gn(e,t)||e.options.onKeyEvent&&e.options.onKeyEvent(e,Hn(t)))){var r=t.keyCode,n=t.charCode;if(Hi&&r==to)return to=null,Dn(t),void 0;if(!(Hi&&(!t.which||t.which<10)||Wi)||!Te(e,t)){var i=String.fromCharCode(null==n?r:n);this.options.electricChars&&this.doc.mode.electricChars&&this.options.smartIndent&&!pe(this)&&this.doc.mode.electricChars.indexOf(i)>-1&&setTimeout(oe(e,function(){ur(e,e.doc.sel.to.line,"smart")}),75),Ae(e,t,i)||(ki&&!Mi&&(e.display.inputHasSelection=null),ce(e))}}}function De(t){"nocursor"!=t.options.readOnly&&(t.state.focused||(Rn(t,"focus",t),t.state.focused=!0,-1==t.display.wrapper.className.search(/\bCodeMirror-focused\b/)&&(t.display.wrapper.className+=" CodeMirror-focused"),t.curOp||(he(t,!0),Ti&&setTimeout(ti(he,t,!0),0))),ue(t),D(t))}function We(t){t.state.focused&&(Rn(t,"blur",t),t.state.focused=!1,t.display.wrapper.className=t.display.wrapper.className.replace(" CodeMirror-focused","")),clearInterval(t.display.blinker),setTimeout(function(){t.state.focused||(t.doc.sel.shift=!1)},150)}function Oe(t,e){function r(){if(null!=i.input.selectionStart){var t=i.input.value=" "+(Xe(o.from,o.to)?"":i.input.value);i.prevInput=" ",i.input.selectionStart=1,i.input.selectionEnd=t.length}}function n(){if(i.inputDiv.style.position="relative",i.input.style.cssText=a,Mi&&(i.scrollbarV.scrollTop=i.scroller.scrollTop=s),ue(t),null!=i.input.selectionStart){(!ki||Mi)&&r(),clearTimeout(Qi);var e=0,n=function(){" "==i.prevInput&&0==i.input.selectionStart?oe(t,co.selectAll)(t):e++<10?Qi=setTimeout(n,500):he(t)};Qi=setTimeout(n,200)}}if(!Gn(t,e,"contextmenu")){var i=t.display,o=t.doc.sel;if(!me(i,e)){var l=ve(t,e),s=i.scroller.scrollTop;if(l&&!Hi){(Xe(o.from,o.to)||_e(l,o.from)||!_e(l,o.to))&&oe(t,tr)(t.doc,l,l);var a=i.input.style.cssText;if(i.inputDiv.style.position="absolute",i.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(e.clientY-5)+"px; left: "+(e.clientX-5)+"px; z-index: 1000; background: white; outline: none;"+"border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);",de(t),he(t,!0),Xe(o.from,o.to)&&(i.input.value=i.prevInput=" "),ki&&!Mi&&r(),Xi){En(e);var u=function(){Fn(window,"mouseup",u),setTimeout(n,20)};Pn(window,"mouseup",u)}else setTimeout(n,50)}}}}function Ee(t,e,r){if(!_e(e.from,r))return $e(t,r);var n=e.text.length-1-(e.to.line-e.from.line);if(r.line>e.to.line+n){var i=r.line-n,o=t.first+t.size-1;return i>o?Ue(o,fn(t,o).text.length):Ze(r,fn(t,i).text.length)}if(r.line==e.to.line+n)return Ze(r,jn(e.text).length+(1==e.text.length?e.from.ch:0)+fn(t,e.to.line).text.length-e.to.ch);var l=r.line-e.from.line;return Ze(r,e.text[l].length+(l?0:e.from.ch))}function ze(t,e,r){if(r&&"object"==typeof r)return{anchor:Ee(t,e,r.anchor),head:Ee(t,e,r.head)};if("start"==r)return{anchor:e.from,head:e.from};var n=eo(e);if("around"==r)return{anchor:e.from,head:n};if("end"==r)return{anchor:n,head:n};var i=function(t){if(_e(t,e.from))return t;if(!_e(e.to,t))return n;var r=t.line+e.text.length-(e.to.line-e.from.line)-1,i=t.ch;return t.line==e.to.line&&(i+=n.ch-e.to.ch),Ue(r,i)};return{anchor:i(t.sel.anchor),head:i(t.sel.head)}}function Ie(t,e,r){var n={canceled:!1,from:e.from,to:e.to,text:e.text,origin:e.origin,cancel:function(){this.canceled=!0}};return r&&(n.update=function(e,r,n,i){e&&(this.from=$e(t,e)),r&&(this.to=$e(t,r)),n&&(this.text=n),void 0!==i&&(this.origin=i)}),Rn(t,"beforeChange",t,n),t.cm&&Rn(t.cm,"beforeChange",t.cm,n),n.canceled?null:{from:n.from,to:n.to,text:n.text,origin:n.origin}}function Pe(t,e,r,n){if(t.cm){if(!t.cm.curOp)return oe(t.cm,Pe)(t,e,r,n);if(t.cm.state.suppressEdits)return}if(!(Kn(t,"beforeChange")||t.cm&&Kn(t.cm,"beforeChange"))||(e=Ie(t,e,!0))){var i=_i&&!n&&Er(t,e.from,e.to);if(i){for(var o=i.length-1;o>=1;--o)Fe(t,{from:i[o].from,to:i[o].to,text:[""]});i.length&&Fe(t,{from:i[0].from,to:i[0].to,text:e.text},r)}else Fe(t,e,r)}}function Fe(t,e,r){var n=ze(t,e,r);wn(t,e,n,t.cm?t.cm.curOp.id:0/0),Ge(t,e,n,Wr(t,e));var i=[];un(t,function(t,r){r||-1!=Zn(i,t.history)||(An(t.history,e),i.push(t.history)),Ge(t,e,null,Wr(t,e))})}function Re(t,e){if(!t.cm||!t.cm.state.suppressEdits){var r=t.history,n=("undo"==e?r.done:r.undone).pop();if(n){var i={changes:[],anchorBefore:n.anchorAfter,headBefore:n.headAfter,anchorAfter:n.anchorBefore,headAfter:n.headBefore,generation:r.generation};("undo"==e?r.undone:r.done).push(i),r.generation=n.generation||++r.maxGeneration;for(var o=Kn(t,"beforeChange")||t.cm&&Kn(t.cm,"beforeChange"),l=n.changes.length-1;l>=0;--l){var s=n.changes[l];if(s.origin=e,o&&!Ie(t,s,!1))return("undo"==e?r.done:r.undone).length=0,void 0;i.changes.push(Cn(t,s));var a=l?ze(t,s,null):{anchor:n.anchorBefore,head:n.headBefore};Ge(t,s,a,Or(t,s));var u=[];un(t,function(t,e){e||-1!=Zn(u,t.history)||(An(t.history,s),u.push(t.history)),Ge(t,s,null,Or(t,s))})}}}}function Be(t,e){function r(t){return Ue(t.line+e,t.ch)}t.first+=e,t.cm&&ae(t.cm,t.first,t.first,e),t.sel.head=r(t.sel.head),t.sel.anchor=r(t.sel.anchor),t.sel.from=r(t.sel.from),t.sel.to=r(t.sel.to)}function Ge(t,e,r,n){if(t.cm&&!t.cm.curOp)return oe(t.cm,Ge)(t,e,r,n);if(e.to.linet.lastLine())){if(e.from.lineo&&(e={from:e.from,to:Ue(o,fn(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=hn(t,e.from,e.to),r||(r=ze(t,e,null)),t.cm?Ve(t.cm,e,n,r):ln(t,e,n,r)}}function Ve(t,e,r,n){var o=t.doc,l=t.display,s=e.from,a=e.to,u=!1,f=s.line;t.options.lineWrapping||(f=gn(Fr(o,fn(o,s.line))),o.iter(f,a.line+1,function(t){return t==l.maxLine?(u=!0,!0):void 0})),_e(o.sel.head,e.from)||_e(e.to,o.sel.head)||(t.curOp.cursorActivity=!0),ln(o,e,r,n,i(t)),t.options.lineWrapping||(o.iter(f,s.line+e.text.length,function(t){var e=c(o,t);e>l.maxLineLength&&(l.maxLine=t,l.maxLineLength=e,l.maxLineChanged=!0,u=!1)}),u&&(t.curOp.updateMaxLine=!0)),o.frontier=Math.min(o.frontier,s.line),W(t,400);var h=e.text.length-(a.line-s.line)-1;if(ae(t,s.line,a.line+1,h),Kn(t,"change")){var d={from:s,to:a,text:e.text,removed:e.removed,origin:e.origin};if(t.curOp.textChanged){for(var p=t.curOp.textChanged;p.next;p=p.next);p.next=d}else t.curOp.textChanged=d}}function Ke(t,e,r,n,i){if(n||(n=r),_e(n,r)){var o=n;n=r,r=o}"string"==typeof e&&(e=Do(e)),Pe(t,{from:r,to:n,text:e,origin:i},null)}function Ue(t,e){return this instanceof Ue?(this.line=t,this.ch=e,void 0):new Ue(t,e)}function Xe(t,e){return t.line==e.line&&t.ch==e.ch}function _e(t,e){return t.liner?Ue(r,fn(t,r).text.length):Ze(e,fn(t,e.line).text.length)}function Ze(t,e){var r=t.ch;return null==r||r>e?Ue(t.line,e):0>r?Ue(t.line,0):t}function qe(t,e){return e>=t.first&&e=o.ch:u.to>o.ch))){if(n&&(Rn(c,"beforeCursorEnter"),c.explicitlyCleared)){if(s.markedSpans){--a;continue}break}if(!c.atomic)continue;var f=c.find()[0>l?"from":"to"];if(Xe(f,o)&&(f.ch+=l,f.ch<0?f=f.line>t.first?$e(t,Ue(f.line-1)):null:f.ch>s.text.length&&(f=f.line(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!zi){var o="none"==r.cursor.style.display;o&&(r.cursor.style.display="",r.cursor.style.left=e.left+"px",r.cursor.style.top=e.top-r.viewOffset+"px"),r.cursor.scrollIntoView(i),o&&(r.cursor.style.display="none")}}}function ir(t,e,r){for(null==r&&(r=0);;){var n=!1,i=q(t,e),o=lr(t,i.left,i.top-r,i.left,i.bottom+r),l=t.doc.scrollTop,s=t.doc.scrollLeft;if(null!=o.scrollTop&&(we(t,o.scrollTop),Math.abs(t.doc.scrollTop-l)>1&&(n=!0)),null!=o.scrollLeft&&(Le(t,o.scrollLeft),Math.abs(t.doc.scrollLeft-s)>1&&(n=!0)),!n)return i}}function or(t,e,r,n,i){var o=lr(t,e,r,n,i);null!=o.scrollTop&&we(t,o.scrollTop),null!=o.scrollLeft&&Le(t,o.scrollLeft)}function lr(t,e,r,n,i){var o=t.display,l=ee(t.display);0>r&&(r=0);var s=o.scroller.clientHeight-Lo,a=o.scroller.scrollTop,u={},c=t.doc.height+P(o),f=l>r,h=i>c-l;if(a>r)u.scrollTop=f?0:r;else if(i>a+s){var d=Math.min(r,(h?c:i)-s);d!=a&&(u.scrollTop=d)}var p=o.scroller.clientWidth-Lo,g=o.scroller.scrollLeft;e+=o.gutters.offsetWidth,n+=o.gutters.offsetWidth;var m=o.gutters.offsetWidth,v=m+10>e;return g+m>e||v?(v&&(e=0),u.scrollLeft=Math.max(0,e-10-m)):n>p+g-3&&(u.scrollLeft=n+10-p),u}function sr(t,e,r){t.curOp.updateScrollPos={scrollLeft:null==e?t.doc.scrollLeft:e,scrollTop:null==r?t.doc.scrollTop:r}}function ar(t,e,r){var n=t.curOp.updateScrollPos||(t.curOp.updateScrollPos={scrollLeft:t.doc.scrollLeft,scrollTop:t.doc.scrollTop}),i=t.display.scroller;n.scrollTop=Math.max(0,Math.min(i.scrollHeight-i.clientHeight,n.scrollTop+r)),n.scrollLeft=Math.max(0,Math.min(i.scrollWidth-i.clientWidth,n.scrollLeft+e))}function ur(t,e,r,n){var i=t.doc;if(null==r&&(r="add"),"smart"==r)if(t.doc.mode.indent)var o=z(t,e);else r="prev";var l,s=t.options.tabSize,a=fn(i,e),u=_n(a.text,null,s),c=a.text.match(/^\s*/)[0];if("smart"==r&&(l=t.doc.mode.indent(o,a.text.slice(c.length),a.text),l==ko)){if(!n)return;r="prev"}"prev"==r?l=e>i.first?_n(fn(i,e-1).text,null,s):0:"add"==r?l=u+t.options.indentUnit:"subtract"==r?l=u-t.options.indentUnit:"number"==typeof r&&(l=u+r),l=Math.max(0,l);var f="",h=0;if(t.options.indentWithTabs)for(var d=Math.floor(l/s);d;--d)h+=s,f+=" ";l>h&&(f+=Yn(l-h)),f!=c&&Ke(t.doc,f,Ue(e,0),Ue(e,c.length),"+input"),a.stateAfter=null}function cr(t,e,r){var n=e,i=e,o=t.doc;return"number"==typeof e?i=fn(o,je(o,e)):n=gn(e),null==n?null:r(i,n)?(ae(t,n,n+1),i):null}function fr(t,e,r,n,i){function o(){var e=s+r;return e=t.first+t.size?f=!1:(s=e,c=fn(t,e))}function l(t){var e=(i?Ci:wi)(c,a,r,!0);if(null==e){if(t||!o())return f=!1;a=i?(0>r?gi:pi)(c):0>r?c.text.length:0}else a=e;return!0}var s=e.line,a=e.ch,u=r,c=fn(t,s),f=!0;if("char"==n)l();else if("column"==n)l(!0);else if("word"==n||"group"==n)for(var h=null,d="group"==n,p=!0;!(0>r)||l(!p);p=!1){var g=c.text.charAt(a)||"\n",m=ei(g)?"w":d?/\s/.test(g)?null:"p":null;if(h&&h!=m){0>r&&(r=1,l());break}if(m&&(h=m),r>0&&!l(!p))break}var v=rr(t,Ue(s,a),u,!0);return f||(v.hitSide=!0),v}function hr(t,e,r,n){var i,o=t.doc,l=e.left;if("page"==n){var s=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);i=e.top+r*(s-(0>r?1.5:.5)*ee(t.display))}else"line"==n&&(i=r>0?e.bottom+3:e.top-3);for(;;){var a=Q(t,l,i);if(!a.outside)break;if(0>r?0>=i:i>=o.height){a.hitSide=!0;break}i+=5*r}return a}function dr(t,e){var r=e.ch,n=e.ch;if(t){(e.xRel<0||n==t.length)&&r?--r:++n;for(var i=t.charAt(r),o=ei(i)?ei:/\s/.test(i)?function(t){return/\s/.test(t)}:function(t){return!/\s/.test(t)&&!ei(t)};r>0&&o(t.charAt(r-1));)--r;for(;nl;++l){var a=n(o[l]);if(a)return a}return!1}for(var i=0;i=e:o.to>e);(n||(n=[])).push({from:o.from,to:a?null:o.to,marker:l})}}return n}function Dr(t,e,r){if(t)for(var n,i=0;i=e:o.to>e);if(s||"bookmark"==l.type&&o.from==e&&(!r||o.marker.insertLeft)){var a=null==o.from||(l.inclusiveLeft?o.from<=e:o.from0&&s)for(var f=0;ff;++f)p.push(g);p.push(a)}return p}function Or(t,e){var r=kn(t,e),n=Wr(t,e);if(!r)return n;if(!n)return r;for(var i=0;ie)&&(!r||r.widtht.options.maxHighlightLength?(o=!1,u.pos=Math.min(e.length,u.start+5e4),l=null):l=r.token(u,n),o&&a==l||(ss;){var i=n[l];i>t&&n.splice(l,1,t,n[l+1],i),l+=2,s=Math.min(t,i)}if(e)if(o.opaque)n.splice(r,l-r,t,e),l=r+2;else for(;l>r;r+=2){var a=n[r+1];n[r+1]=a?a+" "+e:e}})}return n}function Zr(t,e){return e.styles&&e.styles[0]==t.state.modeGen||(e.styles=$r(t,e,e.stateAfter=z(t,gn(e)))),e.styles}function qr(t,e,r){var n=t.doc.mode,i=new wr(e.text,t.options.tabSize);for(""==e.text&&n.blankLine&&n.blankLine(r);!i.eol()&&i.pos<=t.options.maxHighlightLength;)n.token(i,r),i.start=i.pos}function Jr(t){return t?go[t]||(go[t]="cm-"+t.replace(/ +/g," cm-")):null}function Qr(t,e,r,n){for(var i,o=e,l=!0;i=Ir(o);)o=fn(t.doc,i.find().from.line);var s={pre:ni("pre"),col:0,pos:0,measure:null,measuredSomething:!1,cm:t,copyWidgets:n};o.textClass&&(s.pre.className=o.textClass);do{o.text&&(l=!1),s.measure=o==e&&r,s.pos=0,s.addToken=s.measure?en:tn,(ki||Ti)&&t.getOption("lineWrapping")&&(s.addToken=rn(s.addToken));var a=on(o,s,Zr(t,o));r&&o==e&&!s.measuredSomething&&(r[0]=s.pre.appendChild(ci(t.display.measure)),s.measuredSomething=!0),a&&(o=fn(t.doc,a.to.line))}while(a);!r||s.measuredSomething||r[0]||(r[0]=s.pre.appendChild(l?ni("span"," "):ci(t.display.measure))),s.pre.firstChild||Rr(t.doc,e)||s.pre.appendChild(document.createTextNode(" "));var u;if(r&&ki&&(u=yn(o))){var c=u.length-1;u[c].from==u[c].to&&--c;var f=u[c],h=u[c-1];if(f.from+1==f.to&&h&&f.level=""&&"">s&&ld)?(null!=b.to&&m>b.to&&(m=b.to,a=""),x.className&&(s+=" "+x.className),x.startStyle&&b.from==d&&(u+=" "+x.startStyle),x.endStyle&&b.to==m&&(a+=" "+x.endStyle),x.title&&!c&&(c=x.title),x.collapsed&&(!f||f.marker.sized&&m>b.from&&(m=b.from),"bookmark"==x.type&&b.from==d&&x.replacedWith&&v.push(x)}if(f&&(f.from||0)==d&&(nn(e,(null==f.to?h:f.to)-d,f.marker,null==f.from),null==f.to))return f.marker.find();if(!f&&v.length)for(var y=0;y=h)break;for(var C=Math.min(h,m);;){if(g){var w=d+g.length;if(!f){var L=w>C?g.slice(0,C-d):g;e.addToken(e,L,l?l+s:s,u,d+L.length==m?a:"",c)}if(w>=C){g=g.slice(C-d),d=C;break}d=w,u=""}g=i.slice(o,o=r[p++]),l=Jr(r[p++])}}else for(var p=1;pg;++g)v.push(new po(u[g],o(g),i));l(f,f.text,d),p&&t.remove(s.line,p),v.length&&t.insert(s.line,v)}else if(c==f)if(1==u.length)l(c,c.text.slice(0,s.ch)+h+c.text.slice(a.ch),d);else{for(var v=[],g=1,m=u.length-1;m>g;++g)v.push(new po(u[g],o(g),i));v.push(new po(h+c.text.slice(a.ch),d,i)),l(c,c.text.slice(0,s.ch)+u[0],o(0)),t.insert(s.line+1,v)}else if(1==u.length)l(c,c.text.slice(0,s.ch)+u[0]+f.text.slice(a.ch),o(0)),t.remove(s.line+1,p);else{l(c,c.text.slice(0,s.ch)+u[0],o(0)),l(f,h+f.text.slice(a.ch),d);for(var g=1,m=u.length-1,v=[];m>g;++g)v.push(new po(u[g],o(g),i));p>1&&t.remove(s.line+1,p-1),t.insert(s.line+1,v)}Bn(t,"change",t,e),tr(t,n.anchor,n.head,null,!0)}function sn(t){this.lines=t,this.parent=null;for(var e=0,r=t.length,n=0;r>e;++e)t[e].parent=this,n+=t[e].height;this.height=n}function an(t){this.children=t;for(var e=0,r=0,n=0,i=t.length;i>n;++n){var o=t[n];e+=o.chunkSize(),r+=o.height,o.parent=this}this.size=e,this.height=r,this.parent=null}function un(t,e,r){function n(t,i,o){if(t.linked)for(var l=0;le){t=n;break}e-=i}return t.lines[e]}function hn(t,e,r){var n=[],i=e.line;return t.iter(e.line,r.line+1,function(t){var o=t.text;i==r.line&&(o=o.slice(0,r.ch)),i==e.line&&(o=o.slice(e.ch)),n.push(o),++i}),n}function dn(t,e,r){var n=[];return t.iter(e,r,function(t){n.push(t.text)}),n}function pn(t,e){for(var r=e-t.height,n=t;n;n=n.parent)n.height+=r}function gn(t){if(null==t.parent)return null;for(var e=t.parent,r=Zn(e.lines,t),n=e.parent;n;e=n,n=n.parent)for(var i=0;n.children[i]!=e;++i)r+=n.children[i].chunkSize();return r+e.first}function mn(t,e){var r=t.first;t:do{for(var n=0,i=t.children.length;i>n;++n){var o=t.children[n],l=o.height;if(l>e){t=o;continue t}e-=l,r+=o.chunkSize()}return r}while(!t.lines);for(var n=0,i=t.lines.length;i>n;++n){var s=t.lines[n],a=s.height;if(a>e)break;e-=a}return r+n}function vn(t,e){e=Fr(t.doc,e);for(var r=0,n=e.parent,i=0;io-t.cm.options.historyEventDelay||"*"==e.origin.charAt(0)))){var s=jn(l.changes);Xe(e.from,e.to)&&Xe(e.from,s.to)?s.to=eo(e):l.changes.push(Cn(t,e)),l.anchorAfter=r.anchor,l.headAfter=r.head}else for(l={changes:[Cn(t,e)],generation:i.generation,anchorBefore:t.sel.anchor,headBefore:t.sel.head,anchorAfter:r.anchor,headAfter:r.head},i.done.push(l),i.generation=++i.maxGeneration;i.done.length>i.undoDepth;)i.done.shift();i.lastTime=o,i.lastOp=n,i.lastOrigin=e.origin}function Ln(t){if(!t)return null;for(var e,r=0;r-1&&(jn(l)[c]=u[c],delete u[c])}}return n}function Mn(t,e,r,n){r0}function Un(t){t.prototype.on=function(t,e){Pn(this,t,e)},t.prototype.off=function(t,e){Fn(this,t,e)}}function Xn(){this.id=null}function _n(t,e,r,n,i){null==e&&(e=t.search(/[^\s\u00a0]/),-1==e&&(e=t.length));for(var o=n||0,l=i||0;e>o;++o)" "==t.charAt(o)?l+=r-l%r:++l;return l}function Yn(t){for(;So.length<=t;)So.push(jn(So)+" ");return So[t]}function jn(t){return t[t.length-1]}function $n(t){if(Ii)t.selectionStart=0,t.selectionEnd=t.value.length;else try{t.select()}catch(e){}}function Zn(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;n>r;++r)if(t[r]==e)return r;return-1}function qn(t,e){function r(){}r.prototype=t;var n=new r;return e&&Jn(e,n),n}function Jn(t,e){e||(e={});for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function Qn(t){for(var e=[],r=0;t>r;++r)e.push(void 0);return e}function ti(t){var e=Array.prototype.slice.call(arguments,1);return function(){return t.apply(null,e)}}function ei(t){return/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||Mo.test(t))}function ri(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}function ni(t,e,r,n){var i=document.createElement(t);if(r&&(i.className=r),n&&(i.style.cssText=n),"string"==typeof e)li(i,e);else if(e)for(var o=0;o0;--e)t.removeChild(t.firstChild);return t}function oi(t,e){return ii(t).appendChild(e)}function li(t,e){Mi?(t.innerHTML="",t.appendChild(document.createTextNode(e))):t.textContent=e}function si(t){return t.getBoundingClientRect()}function ai(){return!1}function ui(t){if(null!=No)return No;var e=ni("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");return oi(t,e),e.offsetWidth&&(No=e.offsetHeight-e.clientHeight),No||0}function ci(t){if(null==Ho){var e=ni("span","​");oi(t,ni("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(Ho=e.offsetWidth<=1&&e.offsetHeight>2&&!Si)}return Ho?ni("span","​"):ni("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")}function fi(t,e,r,n){if(!t)return n(e,r,"ltr");for(var i=!1,o=0;oe||e==r&&l.to==e)&&(n(Math.max(l.from,e),Math.min(l.to,r),1==l.level?"rtl":"ltr"),i=!0)}i||n(e,r,"ltr")}function hi(t){return t.level%2?t.to:t.from}function di(t){return t.level%2?t.from:t.to}function pi(t){var e=yn(t);return e?hi(e[0]):0}function gi(t){var e=yn(t);return e?di(jn(e)):t.text.length}function mi(t,e){var r=fn(t.doc,e),n=Fr(t.doc,r);n!=r&&(e=gn(n));var i=yn(n),o=i?i[0].level%2?gi(n):pi(n):0;return Ue(e,o)}function vi(t,e){for(var r,n;r=Pr(n=fn(t.doc,e));)e=r.find().to.line;var i=yn(n),o=i?i[0].level%2?pi(n):gi(n):n.text.length;return Ue(e,o)}function yi(t,e,r){var n=t[0].level;return e==n?!0:r==n?!1:r>e}function bi(t,e){for(var r,n=0;ne)return zo=null,n;if(i.from==e||i.to==e){if(null!=r)return yi(t,i.level,t[r].level)?(zo=r,n):(zo=n,r);r=n}}return zo=null,r}function xi(t,e,r,n){if(!n)return e+r;do e+=r;while(e>0&&To.test(t.text.charAt(e)));return e}function Ci(t,e,r,n){var i=yn(t);if(!i)return wi(t,e,r,n);for(var o=bi(i,e),l=i[o],s=xi(t,e,l.level%2?-r:r,n);;){if(s>l.from&&s0==l.level%2?l.to:l.from);if(l=i[o+=r],!l)return null;s=r>0==l.level%2?xi(t,l.to,-1,n):xi(t,l.from,1,n)}}function wi(t,e,r,n){var i=e+r;if(n)for(;i>0&&To.test(t.text.charAt(i));)i+=r;return 0>i||i>t.text.length?null:i}var Li=/gecko\/\d/i.test(navigator.userAgent),ki=/MSIE \d/.test(navigator.userAgent),Si=ki&&(null==document.documentMode||document.documentMode<8),Mi=ki&&(null==document.documentMode||document.documentMode<9),Ti=/WebKit\//.test(navigator.userAgent),Ai=Ti&&/Qt\/\d+\.\d+/.test(navigator.userAgent),Ni=/Chrome\//.test(navigator.userAgent),Hi=/Opera\//.test(navigator.userAgent),Di=/Apple Computer/.test(navigator.vendor),Wi=/KHTML\//.test(navigator.userAgent),Oi=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent),Ei=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),zi=/PhantomJS/.test(navigator.userAgent),Ii=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),Pi=Ii||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),Fi=Ii||/Mac/.test(navigator.platform),Ri=/win/i.test(navigator.platform),Bi=Hi&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);Bi&&(Bi=Number(Bi[1])),Bi&&Bi>=15&&(Hi=!1,Ti=!0);var Gi,Vi,Ki,Ui=Fi&&(Ai||Hi&&(null==Bi||12.11>Bi)),Xi=Li||ki&&!Mi,_i=!1,Yi=!1,ji=0,$i=0,Zi=0,qi=null;ki?qi=-.53:Li?qi=15:Ni?qi=-.7:Di&&(qi=-1/3);var Ji,Qi,to=null,eo=t.changeEnd=function(t){return t.text?Ue(t.from.line+t.text.length-1,jn(t.text).length+(1==t.text.length?t.from.ch:0)):t.to};t.Pos=Ue,t.prototype={constructor:t,focus:function(){window.focus(),de(this),De(this),ce(this)},setOption:function(t,e){var r=this.options,n=r[t];(r[t]!=e||"mode"==t)&&(r[t]=e,ro.hasOwnProperty(t)&&oe(this,ro[t])(this,e,n))},getOption:function(t){return this.options[t]},getDoc:function(){return this.doc},addKeyMap:function(t,e){this.state.keyMaps[e?"push":"unshift"](t)},removeKeyMap:function(t){for(var e=this.state.keyMaps,r=0;r=n;++n)ur(this,n,t)}),getTokenAt:function(t,e){var r=this.doc;t=$e(r,t);for(var n=z(this,t.line,e),i=this.doc.mode,o=fn(r,t.line),l=new wr(o.text,this.options.tabSize);l.pos>1;if((o?e[2*o-1]:0)>=i)n=o;else{if(!(e[2*o+1]n&&(t=n,r=!0);var i=fn(this.doc,t);return j(this,fn(this.doc,t),{top:0,left:0},e||"page").top+(r?i.height:0)},defaultTextHeight:function(){return ee(this.display)},defaultCharWidth:function(){return re(this.display)},setGutterMarker:oe(null,function(t,e,r){return cr(this,t,function(t){var n=t.gutterMarkers||(t.gutterMarkers={});return n[e]=r,!r&&ri(n)&&(t.gutterMarkers=null),!0})}),clearGutter:oe(null,function(t){var e=this,r=e.doc,n=r.first;r.iter(function(r){r.gutterMarkers&&r.gutterMarkers[t]&&(r.gutterMarkers[t]=null,ae(e,n,n+1),ri(r.gutterMarkers)&&(r.gutterMarkers=null)),++n})}),addLineClass:oe(null,function(t,e,r){return cr(this,t,function(t){var n="text"==e?"textClass":"background"==e?"bgClass":"wrapClass";if(t[n]){if(new RegExp("(?:^|\\s)"+r+"(?:$|\\s)").test(t[n]))return!1;t[n]+=" "+r}else t[n]=r;return!0})}),removeLineClass:oe(null,function(t,e,r){return cr(this,t,function(t){var n="text"==e?"textClass":"background"==e?"bgClass":"wrapClass",i=t[n];if(!i)return!1;if(null==r)t[n]=null;else{var o=i.match(new RegExp("(?:^|\\s+)"+r+"(?:$|\\s+)"));if(!o)return!1;var l=o.index+o[0].length;t[n]=i.slice(0,o.index)+(o.index&&l!=i.length?" ":"")+i.slice(l)||null}return!0})}),addLineWidget:oe(null,function(t,e,r){return Xr(this,t,e,r)}),removeLineWidget:function(t){t.clear()},lineInfo:function(t){if("number"==typeof t){if(!qe(this.doc,t))return null;var e=t;if(t=fn(this.doc,t),!t)return null}else{var e=gn(t);if(null==e)return null}return{line:e,handle:t,text:t.text,gutterMarkers:t.gutterMarkers,textClass:t.textClass,bgClass:t.bgClass,wrapClass:t.wrapClass,widgets:t.widgets}},getViewport:function(){return{from:this.display.showingFrom,to:this.display.showingTo}},addWidget:function(t,e,r,n,i){var o=this.display;t=q(this,$e(this.doc,t));var l=t.bottom,s=t.left;if(e.style.position="absolute",o.sizer.appendChild(e),"over"==n)l=t.top;else if("above"==n||"near"==n){var a=Math.max(o.wrapper.clientHeight,this.doc.height),u=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==n||t.bottom+e.offsetHeight>a)&&t.top>e.offsetHeight?l=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=a&&(l=t.bottom),s+e.offsetWidth>u&&(s=u-e.offsetWidth)}e.style.top=l+"px",e.style.left=e.style.right="","right"==i?(s=o.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==i?s=0:"middle"==i&&(s=(o.sizer.clientWidth-e.offsetWidth)/2),e.style.left=s+"px"),r&&or(this,s,l,s+e.offsetWidth,l+e.offsetHeight)},triggerOnKeyDown:oe(null,Ne),execCommand:function(t){return co[t](this)},findPosH:function(t,e,r,n){var i=1;0>e&&(i=-1,e=-e);for(var o=0,l=$e(this.doc,t);e>o&&(l=fr(this.doc,l,i,r,n),!l.hitSide);++o);return l},moveH:oe(null,function(t,e){var r,n=this.doc.sel;r=n.shift||n.extend||Xe(n.from,n.to)?fr(this.doc,n.head,t,e,this.options.rtlMoveVisually):0>t?n.from:n.to,Je(this.doc,r,r,t)}),deleteH:oe(null,function(t,e){var r=this.doc.sel;Xe(r.from,r.to)?Ke(this.doc,"",r.from,fr(this.doc,r.head,t,e,!1),"+delete"):Ke(this.doc,"",r.from,r.to,"+delete"),this.curOp.userSelChange=!0}),findPosV:function(t,e,r,n){var i=1,o=n;0>e&&(i=-1,e=-e);for(var l=0,s=$e(this.doc,t);e>l;++l){var a=q(this,s,"div");if(null==o?o=a.left:a.left=o,s=hr(this,a,i,r),s.hitSide)break}return s},moveV:oe(null,function(t,e){var r=this.doc.sel,n=q(this,r.head,"div");null!=r.goalColumn&&(n.left=r.goalColumn);var i=hr(this,n,t,e);"page"==e&&ar(this,0,Z(this,i,"div").top-n.top),Je(this.doc,i,i,t),r.goalColumn=n.left}),toggleOverwrite:function(t){(null==t||t!=this.state.overwrite)&&((this.state.overwrite=!this.state.overwrite)?this.display.cursor.className+=" CodeMirror-overwrite":this.display.cursor.className=this.display.cursor.className.replace(" CodeMirror-overwrite",""))},hasFocus:function(){return this.state.focused},scrollTo:oe(null,function(t,e){sr(this,t,e)}),getScrollInfo:function(){var t=this.display.scroller,e=Lo;return{left:t.scrollLeft,top:t.scrollTop,height:t.scrollHeight-e,width:t.scrollWidth-e,clientHeight:t.clientHeight-e,clientWidth:t.clientWidth-e}},scrollIntoView:oe(null,function(t,e){"number"==typeof t&&(t=Ue(t,0)),e||(e=0);var r=t;t&&null==t.line||(this.curOp.scrollToPos=t?$e(this.doc,t):this.doc.sel.head,this.curOp.scrollToPosMargin=e,r=q(this,this.curOp.scrollToPos));var n=lr(this,r.left,r.top-e,r.right,r.bottom+e);sr(this,n.scrollLeft,n.scrollTop)}),setSize:oe(null,function(t,e){function r(t){return"number"==typeof t||/^\d+$/.test(String(t))?t+"px":t}null!=t&&(this.display.wrapper.style.width=r(t)),null!=e&&(this.display.wrapper.style.height=r(e)),this.options.lineWrapping&&(this.display.measureLineCache.length=this.display.measureLineCachePos=0),this.curOp.forceUpdate=!0}),operation:function(t){return se(this,t)},refresh:oe(null,function(){X(this),sr(this,this.doc.scrollLeft,this.doc.scrollTop),ae(this)}),swapDoc:oe(null,function(t){var e=this.doc;return e.cm=null,cn(this,t),X(this),he(this,!0),sr(this,t.scrollLeft,t.scrollTop),e}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Un(t);var ro=t.optionHandlers={},no=t.defaults={},io=t.Init={toString:function(){return"CodeMirror.Init"}};gr("value","",function(t,e){t.setValue(e)},!0),gr("mode",null,function(t,e){t.doc.modeOption=e,r(t)},!0),gr("indentUnit",2,r,!0),gr("indentWithTabs",!1),gr("smartIndent",!0),gr("tabSize",4,function(t){r(t),X(t),ae(t)},!0),gr("electricChars",!0),gr("rtlMoveVisually",!Ri),gr("theme","default",function(t){s(t),a(t)},!0),gr("keyMap","default",l),gr("extraKeys",null),gr("onKeyEvent",null),gr("onDragEvent",null),gr("lineWrapping",!1,n,!0),gr("gutters",[],function(t){h(t.options),a(t)},!0),gr("fixedGutter",!0,function(t,e){t.display.gutters.style.left=e?y(t.display)+"px":"0",t.refresh()},!0),gr("coverGutterNextToScrollbar",!1,d,!0),gr("lineNumbers",!1,function(t){h(t.options),a(t)},!0),gr("firstLineNumber",1,a,!0),gr("lineNumberFormatter",function(t){return t},a,!0),gr("showCursorWhenSelecting",!1,A,!0),gr("readOnly",!1,function(t,e){"nocursor"==e?(We(t),t.display.input.blur()):e||he(t,!0)}),gr("dragDrop",!0),gr("cursorBlinkRate",530),gr("cursorScrollMargin",0),gr("cursorHeight",1),gr("workTime",100),gr("workDelay",100),gr("flattenSpans",!0),gr("pollInterval",100),gr("undoDepth",40,function(t,e){t.doc.history.undoDepth=e}),gr("historyEventDelay",500),gr("viewportMargin",10,function(t){t.refresh()},!0),gr("maxHighlightLength",1e4,function(t){r(t),t.refresh()},!0),gr("moveInputWithCursor",!0,function(t,e){e||(t.display.inputDiv.style.top=t.display.inputDiv.style.left=0)}),gr("tabindex",null,function(t,e){t.display.input.tabIndex=e||""}),gr("autofocus",null);var oo=t.modes={},lo=t.mimeModes={};t.defineMode=function(e,r){if(t.defaults.mode||"null"==e||(t.defaults.mode=e),arguments.length>2){r.dependencies=[];for(var n=2;n0&&e.ch=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.pose},eatSpace:function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},skipToEnd:function(){this.pos=this.string.length},skipTo:function(t){var e=this.string.indexOf(t,this.pos);return e>-1?(this.pos=e,!0):void 0},backUp:function(t){this.pos-=t},column:function(){return this.lastColumnPos0?null:(n&&e!==!1&&(this.pos+=n[0].length),n)}var i=function(t){return r?t.toLowerCase():t},o=this.string.substr(this.pos,t.length);return i(o)==i(t)?(e!==!1&&(this.pos+=t.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)}},t.StringStream=wr,t.TextMarker=Lr,Un(Lr),Lr.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,e=t&&!t.curOp;if(e&&ne(t),Kn(this,"clear")){var r=this.find();r&&Bn(this,"clear",r.from,r.to)}for(var n=null,i=null,o=0;ot.display.maxLineLength&&(t.display.maxLine=a,t.display.maxLineLength=u,t.display.maxLineChanged=!0)}null!=n&&t&&ae(t,n,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&er(t)),e&&ie(t)}},Lr.prototype.find=function(){for(var t,e,r=0;r=e.display.showingFrom&&t.liner;++r){var i=this.lines[r];this.height-=i.height,Yr(i),Bn(i,"delete")}this.lines.splice(t,e)},collapse:function(t){t.splice.apply(t,[t.length,0].concat(this.lines))},insertInner:function(t,e,r){this.height+=r,this.lines=this.lines.slice(0,t).concat(e).concat(this.lines.slice(t));for(var n=0,i=e.length;i>n;++n)e[n].parent=this},iterN:function(t,e,r){for(var n=t+e;n>t;++t)if(r(this.lines[t]))return!0}},an.prototype={chunkSize:function(){return this.size},removeInner:function(t,e){this.size-=e;for(var r=0;rt){var o=Math.min(e,i-t),l=n.height;if(n.removeInner(t,o),this.height-=l-n.height,i==o&&(this.children.splice(r--,1),n.parent=null),0==(e-=o))break;t=0}else t-=i}if(this.size-e<25){var s=[];this.collapse(s),this.children=[new sn(s)],this.children[0].parent=this}},collapse:function(t){for(var e=0,r=this.children.length;r>e;++e)this.children[e].collapse(t)},insertInner:function(t,e,r){this.size+=e.length,this.height+=r; -for(var n=0,i=this.children.length;i>n;++n){var o=this.children[n],l=o.chunkSize();if(l>=t){if(o.insertInner(t,e,r),o.lines&&o.lines.length>50){for(;o.lines.length>50;){var s=o.lines.splice(o.lines.length-25,25),a=new sn(s);o.height-=a.height,this.children.splice(n+1,0,a),a.parent=this}this.maybeSpill()}break}t-=l}},maybeSpill:function(){if(!(this.children.length<=10)){var t=this;do{var e=t.children.splice(t.children.length-5,5),r=new an(e);if(t.parent){t.size-=r.size,t.height-=r.height;var n=Zn(t.parent.children,t);t.parent.children.splice(n+1,0,r)}else{var i=new an(t.children);i.parent=t,t.children=[i,r],t=i}r.parent=t.parent}while(t.children.length>10);t.parent.maybeSpill()}},iterN:function(t,e,r){for(var n=0,i=this.children.length;i>n;++n){var o=this.children[n],l=o.chunkSize();if(l>t){var s=Math.min(e,l-t);if(o.iterN(t,s,r))return!0;if(0==(e-=s))break;t=0}else t-=l}}};var vo=0,yo=t.Doc=function(t,e,r){if(!(this instanceof yo))return new yo(t,e,r);null==r&&(r=0),an.call(this,[new sn([new po("",null)])]),this.first=r,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.history=bn(),this.cleanGeneration=1,this.frontier=r;var n=Ue(r,0);this.sel={from:n,to:n,head:n,anchor:n,shift:!1,extend:!1,goalColumn:null},this.id=++vo,this.modeOption=e,"string"==typeof t&&(t=Do(t)),ln(this,{from:n,to:n,text:t},null,{head:n,anchor:n})};yo.prototype=qn(an.prototype,{constructor:yo,iter:function(t,e,r){r?this.iterN(t-this.first,e-t,r):this.iterN(this.first,this.first+this.size,t)},insert:function(t,e){for(var r=0,n=0,i=e.length;i>n;++n)r+=e[n].height;this.insertInner(t-this.first,e,r)},remove:function(t,e){this.removeInner(t-this.first,e)},getValue:function(t){var e=dn(this,this.first,this.first+this.size);return t===!1?e:e.join(t||"\n")},setValue:function(t){var e=Ue(this.first,0),r=this.first+this.size-1;Pe(this,{from:e,to:Ue(r,fn(this,r).text.length),text:Do(t),origin:"setValue"},{head:e,anchor:e},!0)},replaceRange:function(t,e,r,n){e=$e(this,e),r=r?$e(this,r):e,Ke(this,t,e,r,n)},getRange:function(t,e,r){var n=hn(this,$e(this,t),$e(this,e));return r===!1?n:n.join(r||"\n")},getLine:function(t){var e=this.getLineHandle(t);return e&&e.text},setLine:function(t,e){qe(this,t)&&Ke(this,e,Ue(t,0),$e(this,Ue(t)))},removeLine:function(t){t?Ke(this,"",$e(this,Ue(t-1)),$e(this,Ue(t))):Ke(this,"",Ue(0,0),$e(this,Ue(1,0)))},getLineHandle:function(t){return qe(this,t)?fn(this,t):void 0},getLineNumber:function(t){return gn(t)},getLineHandleVisualStart:function(t){return"number"==typeof t&&(t=fn(this,t)),Fr(this,t)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(t){return $e(this,t)},getCursor:function(t){var e,r=this.sel;return e=null==t||"head"==t?r.head:"anchor"==t?r.anchor:"end"==t||t===!1?r.to:r.from,Ye(e)},somethingSelected:function(){return!Xe(this.sel.head,this.sel.anchor)},setCursor:le(function(t,e,r){var n=$e(this,"number"==typeof t?Ue(t,e||0):t);r?Je(this,n):tr(this,n,n)}),setSelection:le(function(t,e,r){tr(this,$e(this,t),$e(this,e||t),r)}),extendSelection:le(function(t,e,r){Je(this,$e(this,t),e&&$e(this,e),r)}),getSelection:function(t){return this.getRange(this.sel.from,this.sel.to,t)},replaceSelection:function(t,e,r){Pe(this,{from:this.sel.from,to:this.sel.to,text:Do(t),origin:r},e||"around")},undo:le(function(){Re(this,"undo")}),redo:le(function(){Re(this,"redo")}),setExtending:function(t){this.sel.extend=t},historySize:function(){var t=this.history;return{undo:t.done.length,redo:t.undone.length}},clearHistory:function(){this.history=bn(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration()},changeGeneration:function(){return this.history.lastOp=this.history.lastOrigin=null,this.history.generation},isClean:function(t){return this.history.generation==(t||this.cleanGeneration)},getHistory:function(){return{done:Sn(this.history.done),undone:Sn(this.history.undone)}},setHistory:function(t){var e=this.history=bn(this.history.maxGeneration);e.done=t.done.slice(0),e.undone=t.undone.slice(0)},markText:function(t,e,r){return kr(this,$e(this,t),$e(this,e),r,"range")},setBookmark:function(t,e){var r={replacedWith:e&&(null==e.nodeType?e.widget:e),insertLeft:e&&e.insertLeft};return t=$e(this,t),kr(this,t,t,r,"bookmark")},findMarksAt:function(t){t=$e(this,t);var e=[],r=fn(this,t.line).markedSpans;if(r)for(var n=0;n=t.ch)&&e.push(i.marker.parent||i.marker)}return e},getAllMarks:function(){var t=[];return this.iter(function(e){var r=e.markedSpans;if(r)for(var n=0;nt?(e=t,!0):(t-=i,++r,void 0)}),$e(this,Ue(r,e))},indexFromPos:function(t){t=$e(this,t);var e=t.ch;return t.linee&&(e=t.from),null!=t.to&&t.to1&&45==t.charCodeAt(e-1)){if(/\w/.test(t.charAt(e-2))&&/[^\-?\.]/.test(t.charAt(e)))return!0;if(e>2&&/[\d\.,]/.test(t.charAt(e-2))&&/[\d\.,]/.test(t.charAt(e)))return!1}return/[~!#%&*)=+}\]|\"\.>,:;][({[<]|-[^\-?\.\u2010-\u201f\u2026]|\?[\w~`@#$%\^&*(_=+{[|><]|…[\w~`@#$%\^&*(_=+{[><]/.test(t.slice(e-1,e+1))});var No,Ho,Do=3!="\n\nb".split(/\n/).length?function(t){for(var e=0,r=[],n=t.length;n>=e;){var i=t.indexOf("\n",e);-1==i&&(i=t.length);var o=t.slice(e,"\r"==t.charAt(i-1)?i-1:i),l=o.indexOf("\r");-1!=l?(r.push(o.slice(0,l)),e+=l+1):(r.push(o),e=i+1)}return r}:function(t){return t.split(/\r\n?|\n/)};t.splitLines=Do;var Wo=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(e){return!1}}:function(t){try{var e=t.ownerDocument.selection.createRange()}catch(r){}return e&&e.parentElement()==t?0!=e.compareEndPoints("StartToEnd",e):!1},Oo=function(){var t=ni("div");return"oncopy"in t?!0:(t.setAttribute("oncopy","return;"),"function"==typeof t.oncopy)}(),Eo={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};t.keyNames=Eo,function(){for(var t=0;10>t;t++)Eo[t+48]=String(t);for(var t=65;90>=t;t++)Eo[t]=String.fromCharCode(t);for(var t=1;12>=t;t++)Eo[t+111]=Eo[t+63235]="F"+t}();var zo,Io=function(){function t(t){return 255>=t?e.charAt(t):t>=1424&&1524>=t?"R":t>=1536&&1791>=t?r.charAt(t-1536):t>=1792&&2220>=t?"r":"L"}var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLL",r="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmmrrrrrrrrrrrrrrrrrr",n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,l=/[Lb1n]/,s=/[1n]/,a="L";return function(e){if(!n.test(e))return!1;for(var r,u=e.length,c=[],f=0;u>f;++f)c.push(r=t(e.charCodeAt(f)));for(var f=0,h=a;u>f;++f){var r=c[f];"m"==r?c[f]=h:h=r}for(var f=0,d=a;u>f;++f){var r=c[f];"1"==r&&"r"==d?c[f]="n":o.test(r)&&(d=r,"r"==r&&(c[f]="R"))}for(var f=1,h=c[0];u-1>f;++f){var r=c[f];"+"==r&&"1"==h&&"1"==c[f+1]?c[f]="1":","!=r||h!=c[f+1]||"1"!=h&&"n"!=h||(c[f]=h),h=r}for(var f=0;u>f;++f){var r=c[f];if(","==r)c[f]="N";else if("%"==r){for(var p=f+1;u>p&&"%"==c[p];++p);for(var g=f&&"!"==c[f-1]||u-1>p&&"1"==c[p]?"1":"N",m=f;p>m;++m)c[m]=g;f=p-1}}for(var f=0,d=a;u>f;++f){var r=c[f];"L"==d&&"1"==r?c[f]="L":o.test(r)&&(d=r)}for(var f=0;u>f;++f)if(i.test(c[f])){for(var p=f+1;u>p&&i.test(c[p]);++p);for(var v="L"==(f?c[f-1]:a),y="L"==(u-1>p?c[p]:a),g=v||y?"L":"R",m=f;p>m;++m)c[m]=g;f=p-1}for(var b,x=[],f=0;u>f;)if(l.test(c[f])){var C=f;for(++f;u>f&&l.test(c[f]);++f);x.push({from:C,to:f,level:0})}else{var w=f,L=x.length;for(++f;u>f&&"L"!=c[f];++f);for(var m=w;f>m;)if(s.test(c[m])){m>w&&x.splice(L,0,{from:w,to:m,level:1});var k=m;for(++m;f>m&&s.test(c[m]);++m);x.splice(L,0,{from:k,to:m,level:2}),w=m}else++m;f>w&&x.splice(L,0,{from:w,to:f,level:1})}return 1==x[0].level&&(b=e.match(/^\s+/))&&(x[0].from=b[0].length,x.unshift({from:0,to:b[0].length,level:0})),1==jn(x).level&&(b=e.match(/\s+$/))&&(jn(x).to-=b[0].length,x.push({from:u-b[0].length,to:u,level:0})),x[0].level!=jn(x).level&&x.push({from:u,to:u,level:x[0].level}),x}}();return t.version="3.16.1",t}(); \ No newline at end of file diff --git a/assets/vendor/jsonlint.js b/assets/vendor/jsonlint.js new file mode 100644 index 0000000000..598c18c2a6 --- /dev/null +++ b/assets/vendor/jsonlint.js @@ -0,0 +1,432 @@ +/* Jison generated parser */ +var jsonlint = (function(){ +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"JSONString":3,"STRING":4,"JSONNumber":5,"NUMBER":6,"JSONNullLiteral":7,"NULL":8,"JSONBooleanLiteral":9,"TRUE":10,"FALSE":11,"JSONText":12,"JSONValue":13,"EOF":14,"JSONObject":15,"JSONArray":16,"{":17,"}":18,"JSONMemberList":19,"JSONMember":20,":":21,",":22,"[":23,"]":24,"JSONElementList":25,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"}, +productions_: [0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]], +performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { + +var $0 = $$.length - 1; +switch (yystate) { +case 1: // replace escaped characters with actual character + this.$ = yytext.replace(/\\(\\|")/g, "$"+"1") + .replace(/\\n/g,'\n') + .replace(/\\r/g,'\r') + .replace(/\\t/g,'\t') + .replace(/\\v/g,'\v') + .replace(/\\f/g,'\f') + .replace(/\\b/g,'\b'); + +break; +case 2:this.$ = Number(yytext); +break; +case 3:this.$ = null; +break; +case 4:this.$ = true; +break; +case 5:this.$ = false; +break; +case 6:return this.$ = $$[$0-1]; +break; +case 13:this.$ = {}; +break; +case 14:this.$ = $$[$0-1]; +break; +case 15:this.$ = [$$[$0-2], $$[$0]]; +break; +case 16:this.$ = {}; this.$[$$[$0][0]] = $$[$0][1]; +break; +case 17:this.$ = $$[$0-2]; $$[$0-2][$$[$0][0]] = $$[$0][1]; +break; +case 18:this.$ = []; +break; +case 19:this.$ = $$[$0-1]; +break; +case 20:this.$ = [$$[$0]]; +break; +case 21:this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); +break; +} +}, +table: [{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}], +defaultActions: {16:[2,6]}, +parseError: function parseError(str, hash) { + throw new Error(str); +}, +parse: function parse(input) { + var self = this, + stack = [0], + vstack = [null], // semantic value stack + lstack = [], // location stack + table = this.table, + yytext = '', + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + + //this.reductionCount = this.shiftCount = 0; + + this.lexer.setInput(input); + this.lexer.yy = this.yy; + this.yy.lexer = this.lexer; + if (typeof this.lexer.yylloc == 'undefined') + this.lexer.yylloc = {}; + var yyloc = this.lexer.yylloc; + lstack.push(yyloc); + + if (typeof this.yy.parseError === 'function') + this.parseError = this.yy.parseError; + + function popStack (n) { + stack.length = stack.length - 2*n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + + function lex() { + var token; + token = self.lexer.lex() || 1; // $end = 1 + // if token isn't its numeric value, convert + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + } + + var symbol, preErrorSymbol, state, action, a, r, yyval={},p,len,newState, expected; + while (true) { + // retreive state number from top of stack + state = stack[stack.length-1]; + + // use default actions if available + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol == null) + symbol = lex(); + // read action for current state and first input + action = table[state] && table[state][symbol]; + } + + // handle parse error + _handle_error: + if (typeof action === 'undefined' || !action.length || !action[0]) { + + if (!recovering) { + // Report error + expected = []; + for (p in table[state]) if (this.terminals_[p] && p > 2) { + expected.push("'"+this.terminals_[p]+"'"); + } + var errStr = ''; + if (this.lexer.showPosition) { + errStr = 'Parse error on line '+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(', ') + ", got '" + this.terminals_[symbol]+ "'"; + } else { + errStr = 'Parse error on line '+(yylineno+1)+": Unexpected " + + (symbol == 1 /*EOF*/ ? "end of input" : + ("'"+(this.terminals_[symbol] || symbol)+"'")); + } + this.parseError(errStr, + {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + + // just recovered from another error + if (recovering == 3) { + if (symbol == EOF) { + throw new Error(errStr || 'Parsing halted.'); + } + + // discard current lookahead and grab another + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + symbol = lex(); + } + + // try to recover from error + while (1) { + // check for error recovery rule in this state + if ((TERROR.toString()) in table[state]) { + break; + } + if (state == 0) { + throw new Error(errStr || 'Parsing halted.'); + } + popStack(1); + state = stack[stack.length-1]; + } + + preErrorSymbol = symbol; // save the lookahead token + symbol = TERROR; // insert generic error symbol as new lookahead + state = stack[stack.length-1]; + action = table[state] && table[state][TERROR]; + recovering = 3; // allow 3 real symbols to be shifted before reporting a new error + } + + // this shouldn't happen, unless resolve defaults are off + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol); + } + + switch (action[0]) { + + case 1: // shift + //this.shiftCount++; + + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); // push state + symbol = null; + if (!preErrorSymbol) { // normal execution/no error + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { // error just occurred, resume old lookahead f/ before error + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + + case 2: // reduce + //this.reductionCount++; + + len = this.productions_[action[1]][1]; + + // perform semantic action + yyval.$ = vstack[vstack.length-len]; // default to $$ = $1 + // default location, uses first token for firsts, last for lasts + yyval._$ = { + first_line: lstack[lstack.length-(len||1)].first_line, + last_line: lstack[lstack.length-1].last_line, + first_column: lstack[lstack.length-(len||1)].first_column, + last_column: lstack[lstack.length-1].last_column + }; + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + + if (typeof r !== 'undefined') { + return r; + } + + // pop off stack + if (len) { + stack = stack.slice(0,-1*len*2); + vstack = vstack.slice(0, -1*len); + lstack = lstack.slice(0, -1*len); + } + + stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce) + vstack.push(yyval.$); + lstack.push(yyval._$); + // goto new state = table[STATE][NONTERMINAL] + newState = table[stack[stack.length-2]][stack[stack.length-1]]; + stack.push(newState); + break; + + case 3: // accept + return true; + } + + } + + return true; +}}; +/* Jison generated lexer */ +var lexer = (function(){ +var lexer = ({EOF:1, +parseError:function parseError(str, hash) { + if (this.yy.parseError) { + this.yy.parseError(str, hash); + } else { + throw new Error(str); + } + }, +setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + return this; + }, +input:function () { + var ch = this._input[0]; + this.yytext+=ch; + this.yyleng++; + this.match+=ch; + this.matched+=ch; + var lines = ch.match(/\n/); + if (lines) this.yylineno++; + this._input = this._input.slice(1); + return ch; + }, +unput:function (ch) { + this._input = ch + this._input; + return this; + }, +more:function () { + this._more = true; + return this; + }, +less:function (n) { + this._input = this.match.slice(n) + this._input; + }, +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/\n.*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-1 : this.yylloc.last_column + match[0].length} + this.yytext += match[0]; + this.match += match[0]; + this.yyleng = this.yytext.length; + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, +lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, +begin:function begin(condition) { + this.conditionStack.push(condition); + }, +popState:function popState() { + return this.conditionStack.pop(); + }, +_currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, +topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, +pushState:function begin(condition) { + this.begin(condition); + }}); +lexer.options = {}; +lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + +var YYSTATE=YY_START +switch($avoiding_name_collisions) { +case 0:/* skip whitespace */ +break; +case 1:return 6 +break; +case 2:yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2); return 4 +break; +case 3:return 17 +break; +case 4:return 18 +break; +case 5:return 23 +break; +case 6:return 24 +break; +case 7:return 22 +break; +case 8:return 21 +break; +case 9:return 10 +break; +case 10:return 11 +break; +case 11:return 8 +break; +case 12:return 14 +break; +case 13:return 'INVALID' +break; +} +}; +lexer.rules = [/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/]; +lexer.conditions = {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"inclusive":true}}; + + +; +return lexer;})() +parser.lexer = lexer; +return parser; +})(); +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = jsonlint; +exports.parse = function () { return jsonlint.parse.apply(jsonlint, arguments); } +exports.main = function commonjsMain(args) { + if (!args[1]) + throw new Error('Usage: '+args[0]+' FILE'); + if (typeof process !== 'undefined') { + var source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), "utf8"); + } else { + var cwd = require("file").path(require("file").cwd()); + var source = cwd.join(args[1]).read({charset: "utf-8"}); + } + return exports.parser.parse(source); +} +if (typeof module !== 'undefined' && require.main === module) { + exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require("system").args); +} +} \ No newline at end of file diff --git a/content/_code-samples/tx-serialization/serialize.py b/content/_code-samples/tx-serialization/serialize.py index ecc51fb6c2..ca1311c07f 100755 --- a/content/_code-samples/tx-serialization/serialize.py +++ b/content/_code-samples/tx-serialization/serialize.py @@ -207,7 +207,7 @@ def currency_code_to_bytes(code_string, xrp_ok=False): code_ascii = code_string.encode("ASCII") logger.debug("Currency code ASCII: %s"%code_ascii.hex()) - # standard currency codes: https://developers.ripple.com/currency-formats.html#standard-currency-codes + # standard currency codes: https://xrpl.org/currency-formats.html#standard-currency-codes # 8 bits type code (0x00) # 88 bits reserved (0's) # 24 bits ASCII diff --git a/content/concepts/consensus-network/amendments.md b/content/concepts/consensus-network/amendments/amendments.md similarity index 100% rename from content/concepts/consensus-network/amendments.md rename to content/concepts/consensus-network/amendments/amendments.md diff --git a/content/news/known-amendments.md b/content/concepts/consensus-network/amendments/known-amendments.md similarity index 99% rename from content/news/known-amendments.md rename to content/concepts/consensus-network/amendments/known-amendments.md index 955a9e8f9c..4ddcc43f1f 100644 --- a/content/news/known-amendments.md +++ b/content/concepts/consensus-network/amendments/known-amendments.md @@ -37,8 +37,8 @@ The following is a comprehensive list of all known amendments and their status o | [TrustSetAuth][] | v0.30.0 | [Enabled: 2016-07-19](https://xrpcharts.ripple.com/#/transactions/0E589DE43C38AED63B64FF3DA87D349A038F1821212D370E403EB304C76D70DF "BADGE_GREEN") | | [MultiSign][] | v0.31.0 | [Enabled: 2016-06-27](https://xrpcharts.ripple.com/#/transactions/168F8B15F643395E59B9977FC99D6310E8708111C85659A9BAF8B9222EEAC5A7 "BADGE_GREEN") | | [FeeEscalation][] | v0.31.0 | [Enabled: 2016-05-19](https://xrpcharts.ripple.com/#/transactions/5B1F1E8E791A9C243DD728680F108FEF1F28F21BA3B202B8F66E7833CA71D3C3 "BADGE_GREEN") | -| [FlowV2][] | v0.32.1 | [Vetoed: Removed in v0.33.0](https://developers.ripple.com/blog/2016/flowv2-vetoed.html "BADGE_RED") | -| [SusPay][] | v0.31.0 | [Vetoed: Removed in v0.60.0](https://developers.ripple.com/blog/2017/ticksize-voting.html#upcoming-features "BADGE_RED") | +| [FlowV2][] | v0.32.1 | [Vetoed: Removed in v0.33.0](https://xrpl.org/blog/2016/flowv2-vetoed.html "BADGE_RED") | +| [SusPay][] | v0.31.0 | [Vetoed: Removed in v0.60.0](https://xrpl.org/blog/2017/ticksize-voting.html#upcoming-features "BADGE_RED") | **Note:** In many cases, an incomplete version of the code for an amendment is present in previous versions of the software. The "Introduced" version in the table above is the first stable version. The value "TBD" indicates that the amendment is not yet considered stable. @@ -340,7 +340,7 @@ With this amendment enabled, the XRP Ledger removes these dry offers when they'r |:-----------------------------------------------------------------|:----------| | 740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11 | Enabled | -Replaces the payment processing engine with a more robust and efficient rewrite called the Flow engine. The new version of the payment processing engine is intended to follow the same rules as the old one, but occasionally produces different results due to floating point rounding. This Amendment supersedes the [FlowV2](https://developers.ripple.com/blog/2016/flowv2-vetoed.html) amendment. +Replaces the payment processing engine with a more robust and efficient rewrite called the Flow engine. The new version of the payment processing engine is intended to follow the same rules as the old one, but occasionally produces different results due to floating point rounding. This Amendment supersedes the [FlowV2](https://xrpl.org/blog/2016/flowv2-vetoed.html) amendment. The Flow Engine also makes it easier to improve and expand the payment engine with further Amendments. @@ -366,7 +366,7 @@ Streamlines the offer crossing logic in the XRP Ledger's decentralized exchange. |:-----------------------------------------------------------------|:----------| | 5CC22CFF2864B020BD79E0E1F048F63EF3594F95E650E43B3F837EF1DF5F4B26 | Vetoed | -This is a previous version of the [Flow](#flow) amendment. It was [rejected due to a bug](https://developers.ripple.com/blog/2016/flowv2-vetoed.html) and removed in version 0.33.0. +This is a previous version of the [Flow](#flow) amendment. It was [rejected due to a bug](https://xrpl.org/blog/2016/flowv2-vetoed.html) and removed in version 0.33.0. ## MultiSign diff --git a/content/concepts/decentralized-exchange/autobridging.md b/content/concepts/decentralized-exchange/autobridging.md index fff76ddf94..8347922edc 100644 --- a/content/concepts/decentralized-exchange/autobridging.md +++ b/content/concepts/decentralized-exchange/autobridging.md @@ -8,6 +8,6 @@ Auto-bridging happens automatically on any OfferCreate transaction. [Payment tra ## See Also -- [Dev Blog: Introducing Autobridging](https://developers.ripple.com/blog/2014/introducing-offer-autobridging.html) +- [Dev Blog: Introducing Autobridging](https://xrpl.org/blog/2014/introducing-offer-autobridging.html) - [Offer Preference](offers.html#offer-preference) diff --git a/content/concepts/decentralized-exchange/ticksize.md b/content/concepts/decentralized-exchange/ticksize.md index c397bfb18f..66ed58168d 100644 --- a/content/concepts/decentralized-exchange/ticksize.md +++ b/content/concepts/decentralized-exchange/ticksize.md @@ -12,7 +12,7 @@ When an issuer enables, disables, or changes the `TickSize`, Offers that were pl ## See Also -- [Dev Blog: Introducing the TickSize Amendment](https://developers.ripple.com/blog/2017/ticksize-voting.html#ticksize-amendment-overview) +- [Dev Blog: Introducing the TickSize Amendment](https://xrpl.org/blog/2017/ticksize-voting.html#ticksize-amendment-overview) - [AccountSet transaction][] diff --git a/content/concepts/introduction/intro-to-consensus.md b/content/concepts/introduction/intro-to-consensus.md index 17513e6957..01fada4ca2 100644 --- a/content/concepts/introduction/intro-to-consensus.md +++ b/content/concepts/introduction/intro-to-consensus.md @@ -55,7 +55,7 @@ For a longer exploration of how the XRP Ledger Consensus Protocol responds to va - [Consensus Network Concepts](consensus-network.html) for several articles describing the mechanics of the XRP Ledger Consensus Protocol in greater depth. - [Run `rippled` as a Validator](run-rippled-as-a-validator.html) for instructions on running your own validator. -- [Decentralization Strategy Update (Ripple Dev Blog)](https://developers.ripple.com/blog/2017/decent-strategy-update.html) for a description of Ripple's goals and plans for decentralizing the XRP Ledger. +- [Decentralization Strategy Update (Ripple Dev Blog)](https://xrpl.org/blog/2017/decent-strategy-update.html) for a description of Ripple's goals and plans for decentralizing the XRP Ledger. diff --git a/content/concepts/introduction/xrp-ledger-overview.md b/content/concepts/introduction/xrp-ledger-overview.md index 8995ef9d8c..a5dedb5a77 100644 --- a/content/concepts/introduction/xrp-ledger-overview.md +++ b/content/concepts/introduction/xrp-ledger-overview.md @@ -28,7 +28,7 @@ This combines qualities of physical and centralized digital money. Prior to the **Note:** Users of the XRP Ledger _can_ freeze non-XRP currencies issued in the XRP Ledger. For more information, see the [Freeze documentation](freezes.html). -The XRP Ledger's system of trusted validators uses a small amount of human interaction to achieve better distribution of authority than other decentralized systems. Fully-automated systems for reaching consensus from an unknown set of participants are vulnerable to concentrations of voting power. For example, Bitcoin mining is disproportionately concentrated in places with cheap electricity. As Ripple curates a list of distinct validators operated by different entities in different jurisdictions, the XRP Ledger can become more resistant to censorship and outside pressures than proof-of-work mining. For more information on Ripple's plan to decentralize the recommended set of validators, see the [Decentralization Strategy Update](https://developers.ripple.com/blog/2017/decent-strategy-update.html). +The XRP Ledger's system of trusted validators uses a small amount of human interaction to achieve better distribution of authority than other decentralized systems. Fully-automated systems for reaching consensus from an unknown set of participants are vulnerable to concentrations of voting power. For example, Bitcoin mining is disproportionately concentrated in places with cheap electricity. As Ripple curates a list of distinct validators operated by different entities in different jurisdictions, the XRP Ledger can become more resistant to censorship and outside pressures than proof-of-work mining. For more information on Ripple's plan to decentralize the recommended set of validators, see the [Decentralization Strategy Update](https://xrpl.org/blog/2017/decent-strategy-update.html). For more information about the XRP Ledger's ability to detect censorship, see [Transaction Censorship Detection](transaction-censorship-detection.html). @@ -87,7 +87,7 @@ A sample of advanced features in the XRP Ledger: - [Escrow](escrow.html) locks up XRP until a declared time passes or cryptographic condition is met. - [DepositAuth](depositauth.html) lets users decide who can send them money and who can't. - A [Decentralized Exchange](#on-ledger-decentralized-exchange) lets users trade obligations and XRP on-ledger. -- [Invariant Checking](https://developers.ripple.com/blog/2017/invariant-checking.html) provides an independent layer of protections against bugs in transaction execution. +- [Invariant Checking](https://xrpl.org/blog/2017/invariant-checking.html) provides an independent layer of protections against bugs in transaction execution. - [Amendments](amendments.html) provide smooth upgrades to the existing feature set, so the technology can continue to evolve without fracturing the ecosystem or causing uncertainty around times of transition. diff --git a/content/concepts/introduction/xrp.md b/content/concepts/introduction/xrp.md index b5f96bad6b..b28022249d 100644 --- a/content/concepts/introduction/xrp.md +++ b/content/concepts/introduction/xrp.md @@ -2,7 +2,7 @@ **XRP** is the native cryptocurrency of the XRP Ledger. All [accounts](accounts.html) in the XRP Ledger can send XRP among one another and must hold a minimum amount of XRP as a [reserve](reserves.html). XRP can be sent directly from any XRP Ledger address to any other, without needing a gateway or liquidity provider. This helps make XRP a convenient bridge currency. -Some advanced features of the XRP Ledger, such as [Escrow](escrow.html) and [Payment Channels](use-payment-channels.html), only work with XRP. Order book [autobridging](https://developers.ripple.com/blog/2014/introducing-offer-autobridging.html) uses XRP to deepen liquidity in the decentralized exchange by merging order books of two issued currencies with XRP order books to create synthetic combined order books. (For example, autobridging matches USD:XRP and XRP:EUR orders to augment USD:EUR order books.) +Some advanced features of the XRP Ledger, such as [Escrow](escrow.html) and [Payment Channels](use-payment-channels.html), only work with XRP. Order book [autobridging](https://xrpl.org/blog/2014/introducing-offer-autobridging.html) uses XRP to deepen liquidity in the decentralized exchange by merging order books of two issued currencies with XRP order books to create synthetic combined order books. (For example, autobridging matches USD:XRP and XRP:EUR orders to augment USD:EUR order books.) XRP also serves as a protective measure against spamming the network. All XRP Ledger addresses need a small amount of XRP to pay the costs of maintaining the XRP Ledger. The [transaction cost](transaction-cost.html) and [reserve](reserves.html) are neutral fees denominated in XRP and not paid to any party. In the ledger's data format, XRP is stored in [AccountRoot objects](accountroot.html). diff --git a/content/news/news.md b/content/news/news.md deleted file mode 100644 index 0f7125f8d9..0000000000 --- a/content/news/news.md +++ /dev/null @@ -1,25 +0,0 @@ -# News - - - -Get the latest XRP Ledger news and release information. - - - - - -* **[Known Amendments](known-amendments.html)** - - Amendments provide a way to introduce breaking changes to the decentralized XRP Ledger network without causing disruptions. Get the comprehensive list of [all known amendments](known-amendments.html) and their statuses on the production XRP Ledger. - -* **[Ripple Dev Blog](/blog/)** - - Visit the Dev Blog for the latest news and stories about the XRP Ledger and `rippled`. - -* **[Ripple GitHub Organization](https://github.com/ripple)** - - Visit the Ripple GitHub Organization to access open-source projects, including `rippled`, `ripple-lib`, and `ripple-libpp`. - -* **[Interledger](https://interledger.org/)** - - Learn about Interledger, an open protocol suite for sending payments across different ledgers. The open architecture and minimal protocol enable interoperability for any value transfer system. diff --git a/content/tutorials/get-started/monitor-incoming-payments-with-websocket.md b/content/tutorials/get-started/monitor-incoming-payments-with-websocket.md index 6192edc606..469b9ac184 100644 --- a/content/tutorials/get-started/monitor-incoming-payments-with-websocket.md +++ b/content/tutorials/get-started/monitor-incoming-payments-with-websocket.md @@ -4,7 +4,7 @@ This tutorial shows how to monitor for incoming payments using the [WebSocket `r WebSocket follows a model where the client and server establish one connection, then send messages both ways through the same connection, which remains open until explicitly closed (or until the connection fails). This is in contrast to the HTTP-based API model (including JSON-RPC and RESTful APIs), where the client opens and closes a new connection for each request.[¹](#footnote-1) -**Tip:** The examples in this page use JavaScript so that the examples can run natively in a web browser. If you are developing in JavaScript, you can also use the [RippleAPI library for JavaScript](https://developers.ripple.com/rippleapi-reference.html) to simplify some tasks. This tutorial shows how to monitor for transactions _without_ using RippleAPI so that you can translate the steps to other programming languages that don't have RippleAPI. +**Tip:** The examples in this page use JavaScript so that the examples can run natively in a web browser. If you are developing in JavaScript, you can also use the [RippleAPI library for JavaScript](https://xrpl.org/rippleapi-reference.html) to simplify some tasks. This tutorial shows how to monitor for transactions _without_ using RippleAPI so that you can translate the steps to other programming languages that don't have RippleAPI. ## Prerequisites @@ -70,7 +70,7 @@ Example: Connection status: Not connected - +
    Console:
    (Log is empty)
    {{ end_step() }} diff --git a/content/tutorials/manage-the-rippled-server/installation/build-run-rippled-ubuntu.md b/content/tutorials/manage-the-rippled-server/installation/build-run-rippled-ubuntu.md index ce3beafeba..ed7b6e7683 100644 --- a/content/tutorials/manage-the-rippled-server/installation/build-run-rippled-ubuntu.md +++ b/content/tutorials/manage-the-rippled-server/installation/build-run-rippled-ubuntu.md @@ -138,7 +138,7 @@ Complete the following configurations that are required for `rippled` to start u cp cfg/validators-example.txt ~/.config/ripple/validators.txt - **Warning:** Ripple has designed a [decentralization plan](https://developers.ripple.com/blog/2017/decent-strategy-update.html) with maximum safety in mind. During the transition, you *should not* modify the `validators.txt` file except as recommended by Ripple. Even minor modifications to your validator settings could cause your server to diverge from the rest of the network and report out of date, incomplete, or inaccurate data. Acting on such data can cause you to lose money. + **Warning:** Ripple has designed a [decentralization plan](https://xrpl.org/blog/2017/decent-strategy-update.html) with maximum safety in mind. During the transition, you *should not* modify the `validators.txt` file except as recommended by Ripple. Even minor modifications to your validator settings could cause your server to diverge from the rest of the network and report out of date, incomplete, or inaccurate data. Acting on such data can cause you to lose money. ## 3. Run `rippled` diff --git a/content/tutorials/manage-the-rippled-server/installation/capacity-planning.md b/content/tutorials/manage-the-rippled-server/installation/capacity-planning.md index e422007a22..75fb8da721 100644 --- a/content/tutorials/manage-the-rippled-server/installation/capacity-planning.md +++ b/content/tutorials/manage-the-rippled-server/installation/capacity-planning.md @@ -108,7 +108,7 @@ The example `rippled-example.cfg` file sets the logging verbosity to `warning` i ## Network and Hardware -Each `rippled` server in the XRP Ledger network performs all of the transaction processing work of the network. Therefore, the baseline hardware for production `rippled` servers should be similar to that used in Ripple's [performance testing](https://developers.ripple.com/blog/2017/high-scalability-xrp-ledger.html). +Each `rippled` server in the XRP Ledger network performs all of the transaction processing work of the network. Therefore, the baseline hardware for production `rippled` servers should be similar to that used in Ripple's [performance testing](https://xrpl.org/blog/2017/high-scalability-xrp-ledger.html). Ensuring that your `rippled` server meets these network and hardware requirements helps achieve consistent, good performance across the XRP Ledger network. diff --git a/content/tutorials/use-simple-xrp-payments/send-xrp.md b/content/tutorials/use-simple-xrp-payments/send-xrp.md index def97c4afb..adc55f5223 100644 --- a/content/tutorials/use-simple-xrp-payments/send-xrp.md +++ b/content/tutorials/use-simple-xrp-payments/send-xrp.md @@ -16,13 +16,12 @@ This tutorial explains how to send a simple XRP Payment using RippleAPI for Java {{ start_step("Generate") }} - +
    {{ end_step() }} - - - + @@ -55,12 +48,12 @@
    @@ -94,7 +91,7 @@ {% endif %} -
    +
    {% block breadcrumbs %} {% include 'template-breadcrumbs.html' %} {% endblock %} diff --git a/tool/template-breadcrumbs.html b/tool/template-breadcrumbs.html index 2dd6d6d189..f0d53077c6 100644 --- a/tool/template-breadcrumbs.html +++ b/tool/template-breadcrumbs.html @@ -1,4 +1,4 @@ -
    diff --git a/tool/template-home.html b/tool/template-home.html index 5fb4878d22..f64c72529d 100644 --- a/tool/template-home.html +++ b/tool/template-home.html @@ -16,280 +16,293 @@ {% block breadcrumbs %}{% endblock %} {% block main %} -
    -

    Learn. Experiment. Integrate. Contribute.

    -
    -
    -

    The XRP Ledger is built on open-source technology that anyone can use.

    -

    Use the tools and information provided here to integrate with and contribute to the open-source platform.

    -

    Want more? Get updates about XRP Ledger webinars, releases, and documentation! Sign up!

    +
    +
    +
    +

    Powering the Internet of Value.

    +
    +

    The XRP Ledger is open-source technology that anyone can use.

    +

    Use the tools and information provided here to integrate with and contribute to the open-source platform.

    +
    Want more?
    +

    Get updates about XRP Ledger webinars, releases, and documentation!

    +
    + Sign up! +
    +
    + + {% set flag_n = cycler(* range(1,99)) %} +
    +
    +

    Get Started with XRP Ledger APIs

    +
    +
    +

    Get started with the APIs and libraries available for interacting with the XRP Ledger.

    +
    + +
    {{"%02d"|format(flag_n.next())}}
    +
    + +
    + + + +
    {{"%02d"|format(flag_n.next())}}
    +
    + +
    + + + +
    {{"%02d"|format(flag_n.next())}}
    +
    + +
    + +
    +

    Use the XRPL Explorer to view a stream of ledger activity and see validator statuses.

    +
    + +
    {{"%02d"|format(flag_n.next())}}
    + #}--> +
    + +
    + +
    +
    + +
    +
    +

    Visit the blog for the latest XRP Ledger info, including Release Notes, Amendments to the XRP Ledger protocol, Feature articles from XRP experts, and more.

    +
    +
    +
    -
    -
    - -
    -
    -

    (reference book icon) Go to the References

    -
    - - -
    - - - -
    -
    -

    (map icon) View Use Cases

    -
    -
    - {% set parent_page = pages|selectattr("name", 'defined_and_equalto', "Use Cases")|first %} - {% set depth = 1 %} - {% include 'template-page-children.html' %} -
    - -
    - -
    - -
    - -
    -
    - -
    -
    -

    New and Updated Documentation

    -
    -
    - -
    -
    - -
    -
    -

    Known Amendments

    -
    -
    -

    Amendments introduce new features to the decentralized XRP Ledger without causing disruptions.

    - -
    -
    - -
    -
    - -
    -

    XRP Ledger: A decentralized cryptographic ledger

    - -
    - -
    - -
    -

    Built on the XRP Ledger

    +
    +
    +

    Start BUIDLing

    -

    Learn about just a few of the types of integrations developers have built on the XRP Ledger.

    -

    Get updates about XRP Ledger use cases, webinars, and releases. Sign up!

    +

    Use these tutorials to get step-by-step guidance to perform common tasks with the XRP Ledger.

    +
    -
    -
    + {% set flag_n = cycler(* range(1,99)) %} +
    + +
    +

    Run a digital asset exchange? Follow these steps to add XRP.

    +
    + +
    {{"%02d"|format(flag_n.next())}}
    +
    -
    -
    -

    Exchanges and Gateways

    -
    - (currency exchange icon) -
    -

    Integrate your Exchange or Gateway with the XRP Ledger to enable your users to buy and sell XRP and issued currencies.

    -
    - -
    +
    + +
    +

    Learn how to send test payments right from your browser.

    +
    + +
    {{"%02d"|format(flag_n.next())}}
    +
    -
    -
    -

    Market Makers

    -
    - (market maker icon) -
    -

    Integrate with the XRP Ledger to place offers algorithmically or through your own trading interface, providing liquidity between different gateways and their users.

    -
    - -
    +
    + +
    +

    Install, configure, and manage the core server that powers the XRP Ledger.

    +
    + +
    {{"%02d"|format(flag_n.next())}}
    +
    -
    -
    -

    Wallets

    -
    - (wallet icon) -
    -

    Build a wallet app on the XRP Ledger to enable your users to send and trade XRP and other currencies issued by a gateway you trust.

    -
    - -
    +
    + + + +
    {{"%02d"|format(flag_n.next())}}
    +
    -
    -
    +
    -
    - - {% endblock %} diff --git a/tool/template-landing-children.html b/tool/template-landing-children.html index 4f74414cad..c4a59a2b83 100644 --- a/tool/template-landing-children.html +++ b/tool/template-landing-children.html @@ -3,13 +3,13 @@ {% block main %} {% if content %} -
    +
    {{ content }}
    -
    +

    Children of this page:

    {% set show_blurbs = True %} {% set depth= 1 %} @@ -17,7 +17,7 @@
    {% else %} -
    +

    {{ currentpage.name }}

    {{ currentpage.blurb }}

    diff --git a/tool/template-landing-docs.html b/tool/template-landing-docs.html index 8073d8aef1..a89955af4c 100644 --- a/tool/template-landing-docs.html +++ b/tool/template-landing-docs.html @@ -3,21 +3,22 @@ {% block mainclasses %}landing{% endblock %} {% block main %} -
    +

    XRP Ledger Documentation

    Dive into our documentation and start integrating with the XRP Ledger.

    +

    Browse by category, or skip straight to the full documentation index.

    -
    -
    +
    {% set doc_types = [] %} + {% set flag_n = cycler(* range(1,99)) %} {% for page in pages %} {% if page.doc_type is defined and page.doc_type not in doc_types %} {% set doc_type_top = pages|selectattr('doc_type', 'defined_and_equalto', page.doc_type)|first %}
    -
    -

    {{doc_type_top.name}}

    +
    {% if page.blurb is defined %} @@ -29,68 +30,19 @@
    +
    {{"%02d"|format(flag_n.next())}}
    {% set _ = doc_types.append(page.doc_type) %} {% endif %} {% endfor %} -
    -
    - - - - -
    -
    -

    Recently Updated

    -
    -
    - -
    -
    - -
    -
    +

    Full Documentation Index

    diff --git a/tool/template-landing-references.html b/tool/template-landing-references.html index 4742042219..518a3ca502 100644 --- a/tool/template-landing-references.html +++ b/tool/template-landing-references.html @@ -3,90 +3,67 @@ {% block mainclasses %}landing{% endblock %} {% block main %} -
    +

    References

    {{currentpage.blurb}}

    +

    Or, skip ahead to the Full Reference Index.

    -
    -

    rippled API Reference

    -

    Use the rippled API to communicate with a rippled server, the core peer-to-peer server that manages the XRP Ledger.

    -
    - {% for page in pages|selectattr("supercategory", 'defined_and_equalto', "rippled API")|list %} - {% if loop.index != 1 and page == pages|selectattr("category", 'defined_and_equalto', page.category)|first %} -
    -
    -

    {{page.name}}

    -
    -
    -

    {{page.blurb}}

    - {% if page.curated_anchors is defined %} - - {% else %} - {% set depth = 1 %} - {% set parent_page = page %} - {% include 'template-page-children.html' %} - {% endif %} -
    - -
    + {% set flag_n = cycler(* range(1,99)) %} +
    + {# hardcoded rippled API block first since it's the only one with a supercategory #} + {% set page = pages|selectattr("supercategory", 'defined_and_equalto', "rippled API")|first %} +
    + +
    +

    {{page.blurb}}

    + {% set depth = 1 %} + {% set parent_page = page %} + {% include 'template-page-children.html' %} +
    +
    {{"%02d"|format(flag_n.next())}}
    +
    - {# go to new row after admin methods #} - {% if page.html == "admin-rippled-methods.html" %} -
    -
    - {% endif %} - {% endif %} - {% endfor %} + {% for page in pages|selectattr("doc_type", 'defined_and_equalto', "References")|selectattr("supercategory", "undefined_or_ne", "rippled API") %} + {% if loop.index != 1 and page == pages|selectattr("category", 'defined_and_equalto', page.category)|first %} +
    + +
    +

    {{page.blurb}}

    + {% if page.curated_anchors is defined %} + + {% endif %} -
    + {% set depth = 1 %} + {% set parent_page = page %} + {% include 'template-page-children.html' %} +
    +
    {{"%02d"|format(flag_n.next())}}
    +
    + {% endif %} + {% endfor %}
    -
    - -

    Other XRP Ledger Interfaces

    -

    Here are a few other ways to interact with the XRP Ledger.

    -
    - - {% for page in pages|selectattr("doc_type", 'defined_and_equalto', "References")|selectattr("supercategory", "undefined_or_ne", "rippled API") %} - {% if loop.index != 1 and page == pages|selectattr("category", 'defined_and_equalto', page.category)|first %} -
    - -
    -

    {{page.blurb}}

    - {% if page.curated_anchors is defined %} - - {% endif %} - - {% set depth = 1 %} - {% set parent_page = page %} - {% include 'template-page-children.html' %} -
    -
    - {% endif %} - {% endfor %} - -
    - +
    +

    Full Reference Index

    +
    +
    + {% set parent_page = currentpage %} + {% set depth = 5 %} + {% include 'template-page-children.html' %} +
    +
    {% endblock %} diff --git a/tool/template-page-children.html b/tool/template-page-children.html index ccabb35087..3c82b22681 100644 --- a/tool/template-page-children.html +++ b/tool/template-page-children.html @@ -4,6 +4,10 @@ {% if depth is undefined %} {% set depth = 5 %} {% endif %} +{% if count is undefined %} + {# count controls how many direct children to print at each level #} + {% set count = 9999 %} +{% endif %} {% if show_blurbs is undefined %} {% set show_blurbs = False %} @@ -35,14 +39,18 @@ {% set childpages = pages|selectattr(parent_level, 'defined_and_equalto', parent_page[parent_level])|list %} {% endif %} -{% macro print_children(parent, thosepages, indent_level, next_level_field, depth_limit) %} +{% macro print_children(parent, thosepages, indent_level, next_level_field, depth_limit, count_limit) %} {% set printed_next_levels = [] %} + {% set ns=namespace(count_printed = 0) %} {% for onepage in thosepages %} {% if onepage == parent %}{# pass #} {% elif onepage.template == "template-redirect.html" %}{# don't list redirects #} {% elif next_level_field == None or (onepage[next_level_field] is undefined and next_level_field != "supercategory") %} {# direct child, print it! #} -
  • {{onepage.name}}{% if show_blurbs and onepage.blurb is defined and indent_level == 1%}

    {{onepage.blurb}}

    {% endif %}
  • + {% if ns.count_printed < count_limit %} +
  • {{onepage.name}}{% if show_blurbs and onepage.blurb is defined and indent_level == 1%}

    {{onepage.blurb}}

    {% endif %}
  • + {% set ns.count_printed = ns.count_printed + 1 %} + {% endif %} {% elif onepage[next_level_field] is undefined and next_level_field == "supercategory" %} {# special case, might need to skip "supercategory" #} @@ -51,52 +59,61 @@ {# possible direct child or grandchild due to skipped level #} {% if onepage.category not in printed_next_levels %} - {% set next_level_children = thosepages|selectattr("category", - 'defined_and_equalto', onepage.category)|list %} - {% set next_level_parent = next_level_children|first %} -
  • {{next_level_parent.name}}{% if show_blurbs and next_level_parent.blurb is defined and indent_level == 1 %}

    {{next_level_parent.blurb}}

    {% endif %}
  • - {% if indent_level+1 <= depth_limit and next_level_field != None %} - {# Recurse! #} - {% set field_after = "subcategory" %} - {{ print_children(next_level_parent, next_level_children, indent_level+1, field_after, depth_limit) }} + {% if ns.count_printed < count_limit %} + {% set next_level_children = thosepages|selectattr("category", + 'defined_and_equalto', onepage.category)|list %} + {% set next_level_parent = next_level_children|first %} +
  • {{next_level_parent.name}}{% if show_blurbs and next_level_parent.blurb is defined and indent_level == 1 %}

    {{next_level_parent.blurb}}

    {% endif %}
  • + {% if indent_level+1 <= depth_limit and next_level_field != None %} + {# Recurse! #} + {% set field_after = "subcategory" %} + {{ print_children(next_level_parent, next_level_children, indent_level+1, field_after, depth_limit, count_limit) }} + {% endif %} + {% set _ = printed_next_levels.append(onepage.category) %} + {% set ns.count_printed = ns.count_printed + 1 %} {% endif %} - {% set _ = printed_next_levels.append(onepage.category) %} {% endif %} {% else %} - -
  • {{onepage.html}}{% if show_blurbs and onepage.blurb is defined and indent_level == 1 %}

    {{onepage.blurb}}

    {% endif %}
  • + {% if ns.count_printed < count_limit %} + +
  • {{onepage.html}}{% if show_blurbs and onepage.blurb is defined and indent_level == 1 %}

    {{onepage.blurb}}

    {% endif %}
  • + {% set ns.count_printed = ns.count_printed + 1 %} + {% endif %} {% endif %} {% elif onepage[next_level_field] is defined %} {# might be a grandchild or lower #} {% if onepage[next_level_field] not in printed_next_levels %} - {% set next_level_children = thosepages|selectattr(next_level_field,'defined')|selectattr(next_level_field, - 'defined_and_equalto', onepage[next_level_field])|list %} - {% set next_level_parent = next_level_children|first %} -
  • {{next_level_parent.name}}{% if show_blurbs and next_level_parent.blurb is defined and indent_level == 1 %}

    {{next_level_parent.blurb}}

    {% endif %}
  • - {% if (indent_level+1 <= depth_limit and next_level_field != None) - or (next_level_field == "supercategory" and depth_limit == 1.5) %} - {# Recurse! #} + {% if ns.count_printed < count_limit %} + {% set next_level_children = thosepages|selectattr(next_level_field,'defined')|selectattr(next_level_field, + 'defined_and_equalto', onepage[next_level_field])|list %} + {% set next_level_parent = next_level_children|first %} +
  • {{next_level_parent.name}}{% if show_blurbs and next_level_parent.blurb is defined and indent_level == 1 %}

    {{next_level_parent.blurb}}

    {% endif %}
  • + {% if (indent_level+1 <= depth_limit and next_level_field != None) + or (next_level_field == "supercategory" and depth_limit == 1.5) %} + {# Recurse! #} - {# figure out what level to use next #} - {% if next_level_field == "subcategory" %} - {% set field_after = None %} - {% elif next_level_field == "category" %} - {% set field_after = "subcategory" %} - {% elif next_level_field == "supercategory" %} - {% set field_after = "category" %} - {% elif next_level_field == "doc_type" %} - {% set field_after = "supercategory" %} - {% elif next_level_field == "funnel" %} - {% set field_after = "doc_type" %} - {% else %} - + {# figure out what level to use next #} + {% if next_level_field == "subcategory" %} + {% set field_after = None %} + {% elif next_level_field == "category" %} + {% set field_after = "subcategory" %} + {% elif next_level_field == "supercategory" %} + {% set field_after = "category" %} + {% elif next_level_field == "doc_type" %} + {% set field_after = "supercategory" %} + {% elif next_level_field == "funnel" %} + {% set field_after = "doc_type" %} + {% else %} + + {% endif %} + + {{ print_children(next_level_parent, next_level_children, indent_level+1, field_after, depth_limit, count_limit) }} {% endif %} - - {{ print_children(next_level_parent, next_level_children, indent_level+1, field_after, depth_limit) }} + {% set _ = printed_next_levels.append(onepage[next_level_field]) %} + {% set ns.count_printed = ns.count_printed + 1 %} {% endif %} - {% set _ = printed_next_levels.append(onepage[next_level_field]) %} {% endif %} {% endif %} {% endfor %} @@ -109,6 +126,6 @@
      - {{ print_children(parent_page, childpages, 1, level_2, depth) }} + {{ print_children(parent_page, childpages, 1, level_2, depth, count) }}
    diff --git a/tool/template-redirect.html b/tool/template-redirect.html index 6a00edcee4..bc9ec162ff 100644 --- a/tool/template-redirect.html +++ b/tool/template-redirect.html @@ -6,7 +6,7 @@ {% block main %} -
    +

    This page has been moved! You should be redirected automatically. If not, click here to go to the new {{currentpage.name}} page.

    diff --git a/tool/template-rest-api-tool.html b/tool/template-rest-api-tool.html index 6645bd9d22..6d340d95c5 100644 --- a/tool/template-rest-api-tool.html +++ b/tool/template-rest-api-tool.html @@ -1,12 +1,18 @@ {% extends "template-base.html" %} {% block right_sidebar %} -
      +
      +
      +

      API Methods

      +
      + +
      +
      {% endblock %} {% block main %} -
      +
      @@ -25,13 +31,13 @@

      Response

      - +
      @@ -51,7 +57,7 @@ - + diff --git a/tool/template-ripple-txt-validator.html b/tool/template-ripple-txt-validator.html index 44e213bae7..56a05232fd 100644 --- a/tool/template-ripple-txt-validator.html +++ b/tool/template-ripple-txt-validator.html @@ -1,7 +1,7 @@ {% extends "template-base.html" %} {% block main %} -
      +

      ripple.txt Validator

      If you run a business that connects to the XRP Ledger, serving a ripple.txt file from your domain can help clarify which XRP Ledger addresses you own and use, and which validating server(s) you run.

      diff --git a/tool/template-sidebar_nav.html b/tool/template-sidebar_nav.html index 2d51d3662c..33c8e74336 100644 --- a/tool/template-sidebar_nav.html +++ b/tool/template-sidebar_nav.html @@ -4,25 +4,25 @@ {% if currentpage.supercategory is defined %}
      {% if currentpage == (pages|selectattr('supercategory', 'defined_and_equalto', currentpage.supercategory)|first) %} - {{ currentpage.supercategory }} + {{ currentpage.supercategory }} {% else %} - {{ currentpage.supercategory }} + {{ currentpage.supercategory }} {% endif %}
      {% elif currentpage.doc_type is defined %}
      {% if currentpage == (pages|selectattr('doc_type', 'defined_and_equalto', currentpage.doc_type)|first) %} - {{ currentpage.doc_type }} + {{ currentpage.doc_type }} {% else %} - {{ currentpage.doc_type }} + {{ currentpage.doc_type }} {% endif %}
      {% elif currentpage.funnel is defined %}
      {% if currentpage == (pages|selectattr('funnel', 'defined_and_equalto', currentpage.funnel)|first) %} - {{ currentpage.funnel }} + {{ currentpage.funnel }} {% else %} - {{ currentpage.funnel }} + {{ currentpage.funnel }} {% endif %}
      {% endif %} @@ -34,7 +34,7 @@ {% set funnelpages = pages|selectattr("funnel", 'defined_and_equalto', currentpage.funnel)|list %}
      -
      +