Changeset 2334486
- Timestamp:
- 07/02/2020 07:53:06 PM (6 years ago)
- Location:
- wc-robokassa
- Files:
-
- 93 added
- 2 deleted
- 10 edited
-
tags/3.1.0 (added)
-
tags/3.1.0/assets (added)
-
tags/3.1.0/assets/css (added)
-
tags/3.1.0/assets/css/main.css (added)
-
tags/3.1.0/assets/css/main.css.map (added)
-
tags/3.1.0/assets/img (added)
-
tags/3.1.0/assets/img/robokassa.png (added)
-
tags/3.1.0/assets/img/wc-robokassa-premium-icon.png (added)
-
tags/3.1.0/includes (added)
-
tags/3.1.0/includes/class-wc-robokassa-api.php (added)
-
tags/3.1.0/includes/class-wc-robokassa-logger.php (added)
-
tags/3.1.0/includes/class-wc-robokassa-method.php (added)
-
tags/3.1.0/includes/class-wc-robokassa.php (added)
-
tags/3.1.0/includes/functions-wc-robokassa.php (added)
-
tags/3.1.0/languages (added)
-
tags/3.1.0/languages/wc-robokassa-ru_RU.mo (added)
-
tags/3.1.0/languages/wc-robokassa-ru_RU.po (added)
-
tags/3.1.0/languages/wc-robokassa.pot (added)
-
tags/3.1.0/license.txt (added)
-
tags/3.1.0/readme.txt (added)
-
tags/3.1.0/uninstall.php (added)
-
tags/3.1.0/wc-robokassa.php (added)
-
tags/3.1.0/wpml-config.xml (added)
-
trunk/assets/css/main.css (modified) (1 diff)
-
trunk/assets/css/main.css.map (deleted)
-
trunk/assets/img/robokassa_bank_alfabank.png (added)
-
trunk/assets/img/robokassa_bank_bank_inteza.png (added)
-
trunk/assets/img/robokassa_bank_bank_min.png (added)
-
trunk/assets/img/robokassa_bank_card.png (added)
-
trunk/assets/img/robokassa_bank_card_halva.png (added)
-
trunk/assets/img/robokassa_bank_card_samsung_pay.png (added)
-
trunk/assets/img/robokassa_emoney_qiwi_wallet.png (added)
-
trunk/assets/img/robokassa_emoney_w1.png (added)
-
trunk/assets/img/robokassa_emoney_wmr.png (added)
-
trunk/assets/img/robokassa_emoney_yandex_money.png (added)
-
trunk/assets/img/robokassa_mobile_phone_beeline.png (added)
-
trunk/assets/img/robokassa_mobile_phone_megafon.png (added)
-
trunk/assets/img/robokassa_mobile_phone_mts.png (added)
-
trunk/assets/img/robokassa_mobile_phone_tattelecom.png (added)
-
trunk/assets/img/robokassa_mobile_phone_tele2.png (added)
-
trunk/assets/img/robokassa_other_store_euroset.png (added)
-
trunk/assets/img/robokassa_other_store_svyaznoy.png (added)
-
trunk/assets/img/robokassa_terminals_terminals_elecsnet.png (added)
-
trunk/assets/img/wc-robokassa-premium-icon.png (deleted)
-
trunk/includes/class-wc-robokassa-logger.php (modified) (4 diffs)
-
trunk/includes/class-wc-robokassa-method.php (modified) (66 diffs)
-
trunk/includes/class-wc-robokassa-sub-method.php (added)
-
trunk/includes/class-wc-robokassa-tecodes-instance.php (added)
-
trunk/includes/class-wc-robokassa-tecodes-storage-code.php (added)
-
trunk/includes/class-wc-robokassa-tecodes.php (added)
-
trunk/includes/class-wc-robokassa.php (modified) (22 diffs)
-
trunk/includes/functions-wc-robokassa.php (modified) (1 diff)
-
trunk/includes/submethods (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-alfabank-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-bank-avb-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-bank-bin-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-bank-fbid-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-bank-inteza-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-bank-min-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-bank-sov-com-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-bank-trust-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bank-vtb4-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bankcard-bank-card-apple-pay-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bankcard-bank-card-halva-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bankcard-bank-card-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-bankcard-bank-card-samsung-pay-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-emoney-elecsnet-wallet-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-emoney-qiwi-wallet-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-emoney-w1-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-emoney-wmr-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-emoney-yandex-money-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-mobile-phone-beeline-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-mobile-phone-megafon-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-mobile-phone-mts-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-mobile-phone-tattelecom-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-mobile-phone-tele2-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-other-biocoin-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-other-store-euroset-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-other-store-svyaznoy-method.php (added)
-
trunk/includes/submethods/class-wc-robokassa-terminals-terminals-elecsnet-method.php (added)
-
trunk/includes/tecodes-local (added)
-
trunk/includes/tecodes-local/bootstrap.php (added)
-
trunk/includes/tecodes-local/class-tecodes-local-http.php (added)
-
trunk/includes/tecodes-local/class-tecodes-local-instance.php (added)
-
trunk/includes/tecodes-local/class-tecodes-local.php (added)
-
trunk/includes/tecodes-local/http (added)
-
trunk/includes/tecodes-local/http/class-tecodes-local-http-basic-auth.php (added)
-
trunk/includes/tecodes-local/http/class-tecodes-local-http-exception.php (added)
-
trunk/includes/tecodes-local/http/class-tecodes-local-http-oauth.php (added)
-
trunk/includes/tecodes-local/http/class-tecodes-local-http-options.php (added)
-
trunk/includes/tecodes-local/http/class-tecodes-local-http-request.php (added)
-
trunk/includes/tecodes-local/http/class-tecodes-local-http-response.php (added)
-
trunk/includes/tecodes-local/interface (added)
-
trunk/includes/tecodes-local/interface/interface-tecodes-local-code.php (added)
-
trunk/includes/tecodes-local/interface/interface-tecodes-local-http.php (added)
-
trunk/includes/tecodes-local/interface/interface-tecodes-local-instance.php (added)
-
trunk/includes/tecodes-local/interface/interface-tecodes-local-storage-code.php (added)
-
trunk/includes/tecodes-local/interface/interface-tecodes-local.php (added)
-
trunk/includes/tecodes-local/storage (added)
-
trunk/includes/tecodes-local/storage/class-tecodes-local-storage-code.php (added)
-
trunk/languages/wc-robokassa-ru_RU.mo (modified) (previous)
-
trunk/languages/wc-robokassa-ru_RU.po (modified) (44 diffs)
-
trunk/languages/wc-robokassa.pot (modified) (35 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/wc-robokassa.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
wc-robokassa/trunk/assets/css/main.css
r2292827 r2334486 1 .btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.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}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.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 .2rem rgba(38,143,255,0.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.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 .2rem rgba(130,138,145,0.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.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}.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 .2rem rgba(72,180,97,0.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.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}.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 .2rem rgba(58,176,195,0.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning:focus,.btn-warning.focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.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}.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 .2rem rgba(222,170,12,0.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.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}.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 .2rem rgba(225,83,97,0.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light:focus,.btn-light.focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.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 .2rem rgba(216,217,219,0.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.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 .2rem rgba(82,88,93,0.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;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:#007bff;border-color:#007bff}.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 .2rem rgba(0,123,255,0.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;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:#6c757d;border-color:#6c757d}.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 .2rem rgba(108,117,125,0.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;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}.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 .2rem rgba(40,167,69,0.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;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}.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 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;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}.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 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;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}.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 .2rem rgba(220,53,69,0.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;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:#f8f9fa;border-color:#f8f9fa}.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 .2rem rgba(248,249,250,0.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;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:#343a40;border-color:#343a40}.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 .2rem rgba(52,58,64,0.5)}.btn-link{font-weight:400;color:#28678e;text-decoration:none}.btn-link:hover{color:#000;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.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}@media (prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#0062cc}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#545b62}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#1e7e34}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#117a8b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:hover,a.badge-warning:focus{color:#212529;background-color:#d39e00}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#bd2130}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:hover,a.badge-light:focus{color:#212529;background-color:#dae0e5}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#007bff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#0062cc !important}.bg-secondary{background-color:#6c757d !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#545b62 !important}.bg-success{background-color:#28a745 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#1e7e34 !important}.bg-info{background-color:#17a2b8 !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#117a8b !important}.bg-warning{background-color:#ffc107 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#d39e00 !important}.bg-danger{background-color:#dc3545 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#bd2130 !important}.bg-light{background-color:#f8f9fa !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#dae0e5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#007bff !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#28a745 !important}.border-info{border-color:#17a2b8 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.8571428571%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.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:transparent}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.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}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.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,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.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,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.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,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.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,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.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}.text-primary{color:#007bff !important}a.text-primary:hover,a.text-primary:focus{color:#0056b3 !important}.text-secondary{color:#6c757d !important}a.text-secondary:hover,a.text-secondary:focus{color:#494f54 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#f8f9fa !important}a.text-light:hover,a.text-light:focus{color:#cbd3da !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;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}.invisible{visibility:hidden !important}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.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;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;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 0%;min-width:0;margin-bottom:0}.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,.input-group>.custom-file+.form-control,.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;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.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{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.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,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.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:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + .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:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.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,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.container{width:100%;padding-right:5px;padding-left:5px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{width:100%;padding-right:5px;padding-left:5px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-13,.col-14,.col-15,.col-16,.col-17,.col-18,.col-19,.col-20,.col-21,.col-22,.col-23,.col-24,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-13,.col-sm-14,.col-sm-15,.col-sm-16,.col-sm-17,.col-sm-18,.col-sm-19,.col-sm-20,.col-sm-21,.col-sm-22,.col-sm-23,.col-sm-24,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-13,.col-md-14,.col-md-15,.col-md-16,.col-md-17,.col-md-18,.col-md-19,.col-md-20,.col-md-21,.col-md-22,.col-md-23,.col-md-24,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-13,.col-lg-14,.col-lg-15,.col-lg-16,.col-lg-17,.col-lg-18,.col-lg-19,.col-lg-20,.col-lg-21,.col-lg-22,.col-lg-23,.col-lg-24,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-13,.col-xl-14,.col-xl-15,.col-xl-16,.col-xl-17,.col-xl-18,.col-xl-19,.col-xl-20,.col-xl-21,.col-xl-22,.col-xl-23,.col-xl-24,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:5px;padding-left:5px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-3{flex:0 0 12.5%;max-width:12.5%}.col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-6{flex:0 0 25%;max-width:25%}.col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-9{flex:0 0 37.5%;max-width:37.5%}.col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-12{flex:0 0 50%;max-width:50%}.col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-15{flex:0 0 62.5%;max-width:62.5%}.col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-18{flex:0 0 75%;max-width:75%}.col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-21{flex:0 0 87.5%;max-width:87.5%}.col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-24{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:25}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-13{order:13}.order-14{order:14}.order-15{order:15}.order-16{order:16}.order-17{order:17}.order-18{order:18}.order-19{order:19}.order-20{order:20}.order-21{order:21}.order-22{order:22}.order-23{order:23}.order-24{order:24}.offset-1{margin-left:4.1666666667%}.offset-2{margin-left:8.3333333333%}.offset-3{margin-left:12.5%}.offset-4{margin-left:16.6666666667%}.offset-5{margin-left:20.8333333333%}.offset-6{margin-left:25%}.offset-7{margin-left:29.1666666667%}.offset-8{margin-left:33.3333333333%}.offset-9{margin-left:37.5%}.offset-10{margin-left:41.6666666667%}.offset-11{margin-left:45.8333333333%}.offset-12{margin-left:50%}.offset-13{margin-left:54.1666666667%}.offset-14{margin-left:58.3333333333%}.offset-15{margin-left:62.5%}.offset-16{margin-left:66.6666666667%}.offset-17{margin-left:70.8333333333%}.offset-18{margin-left:75%}.offset-19{margin-left:79.1666666667%}.offset-20{margin-left:83.3333333333%}.offset-21{margin-left:87.5%}.offset-22{margin-left:91.6666666667%}.offset-23{margin-left:95.8333333333%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-sm-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-3{flex:0 0 12.5%;max-width:12.5%}.col-sm-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-sm-6{flex:0 0 25%;max-width:25%}.col-sm-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-sm-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-9{flex:0 0 37.5%;max-width:37.5%}.col-sm-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-sm-12{flex:0 0 50%;max-width:50%}.col-sm-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-sm-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-15{flex:0 0 62.5%;max-width:62.5%}.col-sm-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-sm-18{flex:0 0 75%;max-width:75%}.col-sm-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-sm-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-21{flex:0 0 87.5%;max-width:87.5%}.col-sm-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-sm-24{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:25}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.order-sm-13{order:13}.order-sm-14{order:14}.order-sm-15{order:15}.order-sm-16{order:16}.order-sm-17{order:17}.order-sm-18{order:18}.order-sm-19{order:19}.order-sm-20{order:20}.order-sm-21{order:21}.order-sm-22{order:22}.order-sm-23{order:23}.order-sm-24{order:24}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:4.1666666667%}.offset-sm-2{margin-left:8.3333333333%}.offset-sm-3{margin-left:12.5%}.offset-sm-4{margin-left:16.6666666667%}.offset-sm-5{margin-left:20.8333333333%}.offset-sm-6{margin-left:25%}.offset-sm-7{margin-left:29.1666666667%}.offset-sm-8{margin-left:33.3333333333%}.offset-sm-9{margin-left:37.5%}.offset-sm-10{margin-left:41.6666666667%}.offset-sm-11{margin-left:45.8333333333%}.offset-sm-12{margin-left:50%}.offset-sm-13{margin-left:54.1666666667%}.offset-sm-14{margin-left:58.3333333333%}.offset-sm-15{margin-left:62.5%}.offset-sm-16{margin-left:66.6666666667%}.offset-sm-17{margin-left:70.8333333333%}.offset-sm-18{margin-left:75%}.offset-sm-19{margin-left:79.1666666667%}.offset-sm-20{margin-left:83.3333333333%}.offset-sm-21{margin-left:87.5%}.offset-sm-22{margin-left:91.6666666667%}.offset-sm-23{margin-left:95.8333333333%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-md-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-3{flex:0 0 12.5%;max-width:12.5%}.col-md-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-md-6{flex:0 0 25%;max-width:25%}.col-md-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-md-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-9{flex:0 0 37.5%;max-width:37.5%}.col-md-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-md-12{flex:0 0 50%;max-width:50%}.col-md-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-md-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-15{flex:0 0 62.5%;max-width:62.5%}.col-md-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-md-18{flex:0 0 75%;max-width:75%}.col-md-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-md-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-21{flex:0 0 87.5%;max-width:87.5%}.col-md-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-md-24{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:25}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.order-md-13{order:13}.order-md-14{order:14}.order-md-15{order:15}.order-md-16{order:16}.order-md-17{order:17}.order-md-18{order:18}.order-md-19{order:19}.order-md-20{order:20}.order-md-21{order:21}.order-md-22{order:22}.order-md-23{order:23}.order-md-24{order:24}.offset-md-0{margin-left:0}.offset-md-1{margin-left:4.1666666667%}.offset-md-2{margin-left:8.3333333333%}.offset-md-3{margin-left:12.5%}.offset-md-4{margin-left:16.6666666667%}.offset-md-5{margin-left:20.8333333333%}.offset-md-6{margin-left:25%}.offset-md-7{margin-left:29.1666666667%}.offset-md-8{margin-left:33.3333333333%}.offset-md-9{margin-left:37.5%}.offset-md-10{margin-left:41.6666666667%}.offset-md-11{margin-left:45.8333333333%}.offset-md-12{margin-left:50%}.offset-md-13{margin-left:54.1666666667%}.offset-md-14{margin-left:58.3333333333%}.offset-md-15{margin-left:62.5%}.offset-md-16{margin-left:66.6666666667%}.offset-md-17{margin-left:70.8333333333%}.offset-md-18{margin-left:75%}.offset-md-19{margin-left:79.1666666667%}.offset-md-20{margin-left:83.3333333333%}.offset-md-21{margin-left:87.5%}.offset-md-22{margin-left:91.6666666667%}.offset-md-23{margin-left:95.8333333333%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-lg-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-3{flex:0 0 12.5%;max-width:12.5%}.col-lg-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-lg-6{flex:0 0 25%;max-width:25%}.col-lg-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-lg-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-9{flex:0 0 37.5%;max-width:37.5%}.col-lg-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-lg-12{flex:0 0 50%;max-width:50%}.col-lg-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-lg-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-15{flex:0 0 62.5%;max-width:62.5%}.col-lg-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-lg-18{flex:0 0 75%;max-width:75%}.col-lg-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-lg-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-21{flex:0 0 87.5%;max-width:87.5%}.col-lg-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-lg-24{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:25}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.order-lg-13{order:13}.order-lg-14{order:14}.order-lg-15{order:15}.order-lg-16{order:16}.order-lg-17{order:17}.order-lg-18{order:18}.order-lg-19{order:19}.order-lg-20{order:20}.order-lg-21{order:21}.order-lg-22{order:22}.order-lg-23{order:23}.order-lg-24{order:24}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:4.1666666667%}.offset-lg-2{margin-left:8.3333333333%}.offset-lg-3{margin-left:12.5%}.offset-lg-4{margin-left:16.6666666667%}.offset-lg-5{margin-left:20.8333333333%}.offset-lg-6{margin-left:25%}.offset-lg-7{margin-left:29.1666666667%}.offset-lg-8{margin-left:33.3333333333%}.offset-lg-9{margin-left:37.5%}.offset-lg-10{margin-left:41.6666666667%}.offset-lg-11{margin-left:45.8333333333%}.offset-lg-12{margin-left:50%}.offset-lg-13{margin-left:54.1666666667%}.offset-lg-14{margin-left:58.3333333333%}.offset-lg-15{margin-left:62.5%}.offset-lg-16{margin-left:66.6666666667%}.offset-lg-17{margin-left:70.8333333333%}.offset-lg-18{margin-left:75%}.offset-lg-19{margin-left:79.1666666667%}.offset-lg-20{margin-left:83.3333333333%}.offset-lg-21{margin-left:87.5%}.offset-lg-22{margin-left:91.6666666667%}.offset-lg-23{margin-left:95.8333333333%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-xl-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-3{flex:0 0 12.5%;max-width:12.5%}.col-xl-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-xl-6{flex:0 0 25%;max-width:25%}.col-xl-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-xl-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-9{flex:0 0 37.5%;max-width:37.5%}.col-xl-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-xl-12{flex:0 0 50%;max-width:50%}.col-xl-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-xl-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-15{flex:0 0 62.5%;max-width:62.5%}.col-xl-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-xl-18{flex:0 0 75%;max-width:75%}.col-xl-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-xl-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-21{flex:0 0 87.5%;max-width:87.5%}.col-xl-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-xl-24{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:25}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.order-xl-13{order:13}.order-xl-14{order:14}.order-xl-15{order:15}.order-xl-16{order:16}.order-xl-17{order:17}.order-xl-18{order:18}.order-xl-19{order:19}.order-xl-20{order:20}.order-xl-21{order:21}.order-xl-22{order:22}.order-xl-23{order:23}.order-xl-24{order:24}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:4.1666666667%}.offset-xl-2{margin-left:8.3333333333%}.offset-xl-3{margin-left:12.5%}.offset-xl-4{margin-left:16.6666666667%}.offset-xl-5{margin-left:20.8333333333%}.offset-xl-6{margin-left:25%}.offset-xl-7{margin-left:29.1666666667%}.offset-xl-8{margin-left:33.3333333333%}.offset-xl-9{margin-left:37.5%}.offset-xl-10{margin-left:41.6666666667%}.offset-xl-11{margin-left:45.8333333333%}.offset-xl-12{margin-left:50%}.offset-xl-13{margin-left:54.1666666667%}.offset-xl-14{margin-left:58.3333333333%}.offset-xl-15{margin-left:62.5%}.offset-xl-16{margin-left:66.6666666667%}.offset-xl-17{margin-left:70.8333333333%}.offset-xl-18{margin-left:75%}.offset-xl-19{margin-left:79.1666666667%}.offset-xl-20{margin-left:83.3333333333%}.offset-xl-21{margin-left:87.5%}.offset-xl-22{margin-left:91.6666666667%}.offset-xl-23{margin-left:95.8333333333%}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:1.3em}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-0.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.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:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.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:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.woocommerce table.form-table{background-color:#ffffff}.woocommerce table.form-table input.regular-input{width:100% !important}.woocommerce table.form-table select{width:100% !important}.woocommerce table.form-table input.disabled,.woocommerce table.form-table input:disabled{color:#000 !important;background-color:#e5e5e5 !important}.woocommerce table.form-table #woocommerce_robokassa_result_url,.woocommerce table.form-table #woocommerce_robokassa_success_url,.woocommerce table.form-table #woocommerce_robokassa_fail_url{display:none !important}.woocommerce table.form-table .robokassa_urls{color:#000 !important;background-color:#e5e5e5 !important;padding:10px;margin-top:-15px}.woocommerce table.form-table th{padding-left:10px !important;padding-right:10px !important}.form-table td{padding:10px !important;padding-bottom:0 !important}.col-md-17{background-color:#f7f7f7;padding-bottom:10px}.col-md-17 p{padding:2px}.wc-settings-sub-title{margin-top:0.5rem;padding:2px;font-weight:400;font-size:1.5em !important}.list-group-item{padding:10px}.list-group-item a{font-size:14px} 2 /*# sourceMappingURL=main.css.map */ 1 .btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.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 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.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 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.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}.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 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.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}.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 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning:focus,.btn-warning.focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.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}.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 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.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}.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 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light:focus,.btn-light.focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.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 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.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 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;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:#007bff;border-color:#007bff}.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 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;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:#6c757d;border-color:#6c757d}.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 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;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}.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 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;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}.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 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;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}.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 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;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}.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 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;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:#f8f9fa;border-color:#f8f9fa}.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 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;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:#343a40;border-color:#343a40}.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 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#28678e;text-decoration:none}.btn-link:hover{color:#000;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#0062cc}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#545b62}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#1e7e34}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#117a8b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:hover,a.badge-warning:focus{color:#212529;background-color:#d39e00}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#bd2130}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:hover,a.badge-light:focus{color:#212529;background-color:#dae0e5}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#007bff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#0062cc !important}.bg-secondary{background-color:#6c757d !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#545b62 !important}.bg-success{background-color:#28a745 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#1e7e34 !important}.bg-info{background-color:#17a2b8 !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#117a8b !important}.bg-warning{background-color:#ffc107 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#d39e00 !important}.bg-danger{background-color:#dc3545 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#bd2130 !important}.bg-light{background-color:#f8f9fa !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#dae0e5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#007bff !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#28a745 !important}.border-info{border-color:#17a2b8 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.8571428571%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.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}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-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}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-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,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-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,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-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,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-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,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.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}.text-primary{color:#007bff !important}a.text-primary:hover,a.text-primary:focus{color:#0056b3 !important}.text-secondary{color:#6c757d !important}a.text-secondary:hover,a.text-secondary:focus{color:#494f54 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#f8f9fa !important}a.text-light:hover,a.text-light:focus{color:#cbd3da !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;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}.invisible{visibility:hidden !important}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.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;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;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 0%;min-width:0;margin-bottom:0}.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,.input-group>.custom-file+.form-control,.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;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.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{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.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,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.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:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.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:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.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,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.container{width:100%;padding-right:5px;padding-left:5px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container{max-width:540px}}@media(min-width: 768px){.container{max-width:720px}}@media(min-width: 992px){.container{max-width:960px}}@media(min-width: 1200px){.container{max-width:1140px}}.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:5px;padding-left:5px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-24,.col-xl-23,.col-xl-22,.col-xl-21,.col-xl-20,.col-xl-19,.col-xl-18,.col-xl-17,.col-xl-16,.col-xl-15,.col-xl-14,.col-xl-13,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-24,.col-lg-23,.col-lg-22,.col-lg-21,.col-lg-20,.col-lg-19,.col-lg-18,.col-lg-17,.col-lg-16,.col-lg-15,.col-lg-14,.col-lg-13,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-24,.col-md-23,.col-md-22,.col-md-21,.col-md-20,.col-md-19,.col-md-18,.col-md-17,.col-md-16,.col-md-15,.col-md-14,.col-md-13,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-24,.col-sm-23,.col-sm-22,.col-sm-21,.col-sm-20,.col-sm-19,.col-sm-18,.col-sm-17,.col-sm-16,.col-sm-15,.col-sm-14,.col-sm-13,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-24,.col-23,.col-22,.col-21,.col-20,.col-19,.col-18,.col-17,.col-16,.col-15,.col-14,.col-13,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:5px;padding-left:5px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-3{flex:0 0 12.5%;max-width:12.5%}.col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-6{flex:0 0 25%;max-width:25%}.col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-9{flex:0 0 37.5%;max-width:37.5%}.col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-12{flex:0 0 50%;max-width:50%}.col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-15{flex:0 0 62.5%;max-width:62.5%}.col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-18{flex:0 0 75%;max-width:75%}.col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-21{flex:0 0 87.5%;max-width:87.5%}.col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-24{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:25}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-13{order:13}.order-14{order:14}.order-15{order:15}.order-16{order:16}.order-17{order:17}.order-18{order:18}.order-19{order:19}.order-20{order:20}.order-21{order:21}.order-22{order:22}.order-23{order:23}.order-24{order:24}.offset-1{margin-left:4.1666666667%}.offset-2{margin-left:8.3333333333%}.offset-3{margin-left:12.5%}.offset-4{margin-left:16.6666666667%}.offset-5{margin-left:20.8333333333%}.offset-6{margin-left:25%}.offset-7{margin-left:29.1666666667%}.offset-8{margin-left:33.3333333333%}.offset-9{margin-left:37.5%}.offset-10{margin-left:41.6666666667%}.offset-11{margin-left:45.8333333333%}.offset-12{margin-left:50%}.offset-13{margin-left:54.1666666667%}.offset-14{margin-left:58.3333333333%}.offset-15{margin-left:62.5%}.offset-16{margin-left:66.6666666667%}.offset-17{margin-left:70.8333333333%}.offset-18{margin-left:75%}.offset-19{margin-left:79.1666666667%}.offset-20{margin-left:83.3333333333%}.offset-21{margin-left:87.5%}.offset-22{margin-left:91.6666666667%}.offset-23{margin-left:95.8333333333%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-sm-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-3{flex:0 0 12.5%;max-width:12.5%}.col-sm-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-sm-6{flex:0 0 25%;max-width:25%}.col-sm-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-sm-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-9{flex:0 0 37.5%;max-width:37.5%}.col-sm-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-sm-12{flex:0 0 50%;max-width:50%}.col-sm-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-sm-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-15{flex:0 0 62.5%;max-width:62.5%}.col-sm-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-sm-18{flex:0 0 75%;max-width:75%}.col-sm-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-sm-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-21{flex:0 0 87.5%;max-width:87.5%}.col-sm-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-sm-24{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:25}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.order-sm-13{order:13}.order-sm-14{order:14}.order-sm-15{order:15}.order-sm-16{order:16}.order-sm-17{order:17}.order-sm-18{order:18}.order-sm-19{order:19}.order-sm-20{order:20}.order-sm-21{order:21}.order-sm-22{order:22}.order-sm-23{order:23}.order-sm-24{order:24}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:4.1666666667%}.offset-sm-2{margin-left:8.3333333333%}.offset-sm-3{margin-left:12.5%}.offset-sm-4{margin-left:16.6666666667%}.offset-sm-5{margin-left:20.8333333333%}.offset-sm-6{margin-left:25%}.offset-sm-7{margin-left:29.1666666667%}.offset-sm-8{margin-left:33.3333333333%}.offset-sm-9{margin-left:37.5%}.offset-sm-10{margin-left:41.6666666667%}.offset-sm-11{margin-left:45.8333333333%}.offset-sm-12{margin-left:50%}.offset-sm-13{margin-left:54.1666666667%}.offset-sm-14{margin-left:58.3333333333%}.offset-sm-15{margin-left:62.5%}.offset-sm-16{margin-left:66.6666666667%}.offset-sm-17{margin-left:70.8333333333%}.offset-sm-18{margin-left:75%}.offset-sm-19{margin-left:79.1666666667%}.offset-sm-20{margin-left:83.3333333333%}.offset-sm-21{margin-left:87.5%}.offset-sm-22{margin-left:91.6666666667%}.offset-sm-23{margin-left:95.8333333333%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-md-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-3{flex:0 0 12.5%;max-width:12.5%}.col-md-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-md-6{flex:0 0 25%;max-width:25%}.col-md-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-md-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-9{flex:0 0 37.5%;max-width:37.5%}.col-md-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-md-12{flex:0 0 50%;max-width:50%}.col-md-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-md-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-15{flex:0 0 62.5%;max-width:62.5%}.col-md-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-md-18{flex:0 0 75%;max-width:75%}.col-md-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-md-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-21{flex:0 0 87.5%;max-width:87.5%}.col-md-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-md-24{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:25}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.order-md-13{order:13}.order-md-14{order:14}.order-md-15{order:15}.order-md-16{order:16}.order-md-17{order:17}.order-md-18{order:18}.order-md-19{order:19}.order-md-20{order:20}.order-md-21{order:21}.order-md-22{order:22}.order-md-23{order:23}.order-md-24{order:24}.offset-md-0{margin-left:0}.offset-md-1{margin-left:4.1666666667%}.offset-md-2{margin-left:8.3333333333%}.offset-md-3{margin-left:12.5%}.offset-md-4{margin-left:16.6666666667%}.offset-md-5{margin-left:20.8333333333%}.offset-md-6{margin-left:25%}.offset-md-7{margin-left:29.1666666667%}.offset-md-8{margin-left:33.3333333333%}.offset-md-9{margin-left:37.5%}.offset-md-10{margin-left:41.6666666667%}.offset-md-11{margin-left:45.8333333333%}.offset-md-12{margin-left:50%}.offset-md-13{margin-left:54.1666666667%}.offset-md-14{margin-left:58.3333333333%}.offset-md-15{margin-left:62.5%}.offset-md-16{margin-left:66.6666666667%}.offset-md-17{margin-left:70.8333333333%}.offset-md-18{margin-left:75%}.offset-md-19{margin-left:79.1666666667%}.offset-md-20{margin-left:83.3333333333%}.offset-md-21{margin-left:87.5%}.offset-md-22{margin-left:91.6666666667%}.offset-md-23{margin-left:95.8333333333%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-lg-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-3{flex:0 0 12.5%;max-width:12.5%}.col-lg-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-lg-6{flex:0 0 25%;max-width:25%}.col-lg-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-lg-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-9{flex:0 0 37.5%;max-width:37.5%}.col-lg-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-lg-12{flex:0 0 50%;max-width:50%}.col-lg-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-lg-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-15{flex:0 0 62.5%;max-width:62.5%}.col-lg-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-lg-18{flex:0 0 75%;max-width:75%}.col-lg-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-lg-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-21{flex:0 0 87.5%;max-width:87.5%}.col-lg-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-lg-24{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:25}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.order-lg-13{order:13}.order-lg-14{order:14}.order-lg-15{order:15}.order-lg-16{order:16}.order-lg-17{order:17}.order-lg-18{order:18}.order-lg-19{order:19}.order-lg-20{order:20}.order-lg-21{order:21}.order-lg-22{order:22}.order-lg-23{order:23}.order-lg-24{order:24}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:4.1666666667%}.offset-lg-2{margin-left:8.3333333333%}.offset-lg-3{margin-left:12.5%}.offset-lg-4{margin-left:16.6666666667%}.offset-lg-5{margin-left:20.8333333333%}.offset-lg-6{margin-left:25%}.offset-lg-7{margin-left:29.1666666667%}.offset-lg-8{margin-left:33.3333333333%}.offset-lg-9{margin-left:37.5%}.offset-lg-10{margin-left:41.6666666667%}.offset-lg-11{margin-left:45.8333333333%}.offset-lg-12{margin-left:50%}.offset-lg-13{margin-left:54.1666666667%}.offset-lg-14{margin-left:58.3333333333%}.offset-lg-15{margin-left:62.5%}.offset-lg-16{margin-left:66.6666666667%}.offset-lg-17{margin-left:70.8333333333%}.offset-lg-18{margin-left:75%}.offset-lg-19{margin-left:79.1666666667%}.offset-lg-20{margin-left:83.3333333333%}.offset-lg-21{margin-left:87.5%}.offset-lg-22{margin-left:91.6666666667%}.offset-lg-23{margin-left:95.8333333333%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.col-xl-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-3{flex:0 0 12.5%;max-width:12.5%}.col-xl-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.col-xl-6{flex:0 0 25%;max-width:25%}.col-xl-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.col-xl-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-9{flex:0 0 37.5%;max-width:37.5%}.col-xl-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.col-xl-12{flex:0 0 50%;max-width:50%}.col-xl-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.col-xl-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-15{flex:0 0 62.5%;max-width:62.5%}.col-xl-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.col-xl-18{flex:0 0 75%;max-width:75%}.col-xl-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.col-xl-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-21{flex:0 0 87.5%;max-width:87.5%}.col-xl-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.col-xl-24{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:25}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.order-xl-13{order:13}.order-xl-14{order:14}.order-xl-15{order:15}.order-xl-16{order:16}.order-xl-17{order:17}.order-xl-18{order:18}.order-xl-19{order:19}.order-xl-20{order:20}.order-xl-21{order:21}.order-xl-22{order:22}.order-xl-23{order:23}.order-xl-24{order:24}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:4.1666666667%}.offset-xl-2{margin-left:8.3333333333%}.offset-xl-3{margin-left:12.5%}.offset-xl-4{margin-left:16.6666666667%}.offset-xl-5{margin-left:20.8333333333%}.offset-xl-6{margin-left:25%}.offset-xl-7{margin-left:29.1666666667%}.offset-xl-8{margin-left:33.3333333333%}.offset-xl-9{margin-left:37.5%}.offset-xl-10{margin-left:41.6666666667%}.offset-xl-11{margin-left:45.8333333333%}.offset-xl-12{margin-left:50%}.offset-xl-13{margin-left:54.1666666667%}.offset-xl-14{margin-left:58.3333333333%}.offset-xl-15{margin-left:62.5%}.offset-xl-16{margin-left:66.6666666667%}.offset-xl-17{margin-left:70.8333333333%}.offset-xl-18{margin-left:75%}.offset-xl-19{margin-left:79.1666666667%}.offset-xl-20{margin-left:83.3333333333%}.offset-xl-21{margin-left:87.5%}.offset-xl-22{margin-left:91.6666666667%}.offset-xl-23{margin-left:95.8333333333%}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:1.3em}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"— "}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-0.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.card-header-tabs{margin-right:-0.625rem;margin-bottom:-0.75rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.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:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.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:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.woocommerce table.form-table{background-color:#fff}.woocommerce table.form-table input.regular-input{width:100% !important}.woocommerce table.form-table select{width:100% !important}.woocommerce table.form-table input.disabled,.woocommerce table.form-table input:disabled{color:#000 !important;background-color:#e5e5e5 !important}.woocommerce table.form-table #woocommerce_robokassa_result_url,.woocommerce table.form-table #woocommerce_robokassa_success_url,.woocommerce table.form-table #woocommerce_robokassa_fail_url{display:none !important}.woocommerce table.form-table .robokassa_urls{color:#000 !important;background-color:#e5e5e5 !important;padding:10px;margin-top:-15px}.woocommerce table.form-table th{padding-left:10px !important;padding-right:10px !important}.form-table td{padding:10px !important;padding-bottom:0 !important}.col-md-17{background-color:#f7f7f7;padding-bottom:10px}.col-md-17 p{padding:2px}.wc-settings-sub-title{margin-top:.5rem;padding:2px;font-weight:400;font-size:1.5em !important}.list-group-item{padding:10px}.list-group-item a{font-size:14px}/*# sourceMappingURL=main.css.map */ -
wc-robokassa/trunk/includes/class-wc-robokassa-logger.php
r2292827 r2334486 53 53 54 54 /** 55 * WC_ Gatework_Logger constructor55 * WC_Robokassa_Logger constructor 56 56 * 57 57 * @param $path … … 215 215 * Save to file 216 216 * 217 * @throws218 *219 217 * @param $level 220 218 * @param $message … … 222 220 * 223 221 * @return bool 222 * @throws Exception 224 223 */ 225 224 public function add($level, $message, $object = null) … … 255 254 $content['object'] = $object ? 'true' : 'false'; 256 255 } 257 else 256 elseif(!is_null($object) && $object !== '') 258 257 { 259 258 $content['object'] = $object; 260 259 } 261 260 262 $content = implode(' -|- ', $content);261 $content = implode(' |- ', $content); 263 262 264 263 $file = $this->get_path() . DIRECTORY_SEPARATOR . $this->get_name(); -
wc-robokassa/trunk/includes/class-wc-robokassa-method.php
r2292827 r2334486 21 21 * @var array 22 22 */ 23 public $currency_all = array24 (23 public $currency_all = 24 [ 25 25 'RUB', 'USD', 'EUR', 'KZT' 26 );26 ]; 27 27 28 28 /** … … 138 138 */ 139 139 protected $receipt_items_limit = 100; 140 141 /** 142 * Commission pay by merchant 143 * 144 * @var bool 145 */ 146 protected $commission_merchant = false; 147 148 /** 149 * Commission calculate by cbr 150 * 151 * @var bool 152 */ 153 protected $commission_merchant_by_cbr = false; 154 155 /** 156 * Rates merchant 157 * 158 * @var bool 159 */ 160 protected $rates_merchant = false; 161 162 /** 163 * Available only for shipping 164 * 165 * @var array|false 166 */ 167 protected $available_shipping = false; 168 169 /** 170 * @var bool 171 */ 172 protected $submethods_check_available = false; 140 173 141 174 /** … … 172 205 * Save options 173 206 */ 174 $this->process_options(); 207 if(current_user_can('manage_options') && is_admin()) 208 { 209 $this->process_options(); 210 } 175 211 176 212 /** … … 182 218 } 183 219 184 /** 185 * Receipt page 186 */ 187 add_action('woocommerce_receipt_' . $this->id, array($this, 'receipt_page'), 10); 188 189 /** 190 * Auto redirect 191 */ 192 add_action('wc_robokassa_input_payment_notifications', array($this, 'wc_robokassa_input_payment_notifications_redirect_by_form'), 20); 193 194 /** 195 * Payment listener/API hook 196 */ 197 add_action('woocommerce_api_wc_' . $this->id, array($this, 'input_payment_notifications'), 10); 220 if(false === is_admin()) 221 { 222 /** 223 * Receipt page 224 */ 225 add_action('woocommerce_receipt_' . $this->id, array($this, 'receipt_page'), 10); 226 227 /** 228 * Auto redirect 229 */ 230 add_action('wc_robokassa_input_payment_notifications', array($this, 'input_payment_notifications_redirect_by_form'), 20); 231 232 /** 233 * Payment listener/API hook 234 */ 235 add_action('woocommerce_api_wc_' . $this->id, array($this, 'input_payment_notifications'), 10); 236 } 198 237 } 199 238 … … 203 242 public function process_options() 204 243 { 205 wc_robokassa_logger()->info('process_options: start'); 206 207 if(current_user_can('manage_options') && is_admin()) 208 { 209 wc_robokassa_logger()->info('process_options: manage_options success'); 210 211 /** 212 * Options save 213 */ 214 add_action('woocommerce_update_options_payment_gateways_' . $this->id, array( 215 $this, 216 'process_admin_options' 217 ), 10); 218 219 /** 220 * Update last version 221 */ 222 add_action('woocommerce_update_options_payment_gateways_' . $this->id, array( 223 $this, 224 'wc_robokassa_last_settings_update_version' 225 ), 10); 226 } 227 228 wc_robokassa_logger()->info('process_options: end'); 244 /** 245 * Options save 246 */ 247 add_action('woocommerce_update_options_payment_gateways_' . $this->id, array( 248 $this, 249 'process_admin_options' 250 ), 10); 251 252 /** 253 * Update last version 254 */ 255 add_action('woocommerce_update_options_payment_gateways_' . $this->id, array( 256 $this, 257 'wc_robokassa_last_settings_update_version' 258 ), 10); 229 259 } 230 260 … … 234 264 public function init_logger() 235 265 { 236 if($this->get_option('logger') !== '') 237 { 238 wc_robokassa_logger()->set_level($this->get_option('logger')); 266 if($this->get_option('logger', '') !== '') 267 { 268 $level = $this->get_option('logger'); 269 270 wc_robokassa_logger()->set_level($level); 239 271 240 272 $file_name = WC_Robokassa()->get_logger_filename(); … … 249 281 public function init_filters() 250 282 { 251 wc_robokassa_logger()->info('init_filters: start'); 252 283 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_tecodes'), 5); 253 284 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_main'), 10); 254 285 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_test_payments'), 20); 255 286 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_interface'), 30); 256 287 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_ofd'), 40); 288 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_sub_methods'), 45); 257 289 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_order_notes'), 45); 258 290 add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_technical'), 50); 259 260 wc_robokassa_logger()->info('init_filters: end');261 291 } 262 292 … … 266 296 public function init_actions() 267 297 { 268 wc_robokassa_logger()->info('init_actions: start');269 270 298 /** 271 299 * Payment fields description show … … 276 304 * Payment fields test mode show 277 305 */ 278 add_action('wc_robokassa_payment_fields_after_show', array($this, 'payment_fields_test_mode_show'), 10); 306 if($this->get_test() === 'yes' && $this->get_option('test_mode_checkout_notice', 'no') === 'yes') 307 { 308 add_action('wc_robokassa_payment_fields_after_show', array($this, 'payment_fields_test_mode_show'), 10); 309 } 279 310 280 311 /** … … 282 313 */ 283 314 add_action('wc_robokassa_receipt_page_show', array($this, 'wc_robokassa_receipt_page_show_form'), 10); 284 285 wc_robokassa_logger()->info('init_actions: end');286 315 } 287 316 … … 291 320 public function wc_robokassa_last_settings_update_version() 292 321 { 293 wc_robokassa_logger()->info('wc_robokassa_last_settings_update_version: start');294 295 322 $result = update_option('wc_robokassa_last_settings_update_version', WC_ROBOKASSA_VERSION); 296 323 … … 301 328 else 302 329 { 303 wc_robokassa_logger()->notice('wc_robokassa_last_settings_update_version: not updated'); 304 } 305 306 wc_robokassa_logger()->info('wc_robokassa_last_settings_update_version: end'); 330 wc_robokassa_logger()->warning('wc_robokassa_last_settings_update_version: not updated'); 331 } 307 332 } 308 333 … … 312 337 public function init_options() 313 338 { 314 wc_robokassa_logger()->info('init_options: start');315 316 339 /** 317 340 * Gateway not enabled? 318 341 */ 319 if($this->get_option('enabled' ) !== 'yes')342 if($this->get_option('enabled', 'no') !== 'yes') 320 343 { 321 344 $this->enabled = false; … … 325 348 * Page skipping enabled? 326 349 */ 327 if($this->get_option('page_skipping' ) === 'yes')350 if($this->get_option('page_skipping', 'no') === 'yes') 328 351 { 329 352 $this->set_page_skipping('yes'); … … 333 356 * Title for user interface 334 357 */ 335 $this->title = $this->get_option('title' );358 $this->title = $this->get_option('title', ''); 336 359 337 360 /** 338 361 * Set description 339 362 */ 340 $this->description = $this->get_option('description' );363 $this->description = $this->get_option('description', ''); 341 364 342 365 /** 343 366 * Testing? 344 367 */ 345 $this->set_test($this->get_option('test' ));368 $this->set_test($this->get_option('test', 'yes')); 346 369 347 370 /** … … 353 376 * Automatic language 354 377 */ 355 if($this->get_option('language_auto' ) === 'yes')378 if($this->get_option('language_auto', 'no') === 'yes') 356 379 { 357 380 $lang = get_locale(); … … 375 398 * Ofd 376 399 */ 377 if($this->get_option('ofd_status' ) === 'yes')400 if($this->get_option('ofd_status', 'no') === 'yes') 378 401 { 379 402 $this->set_ofd_status(true); … … 383 406 * Ofd sno 384 407 */ 385 $ofd_sno_code = $this->get_option('ofd_sno' );408 $ofd_sno_code = $this->get_option('ofd_sno', ''); 386 409 if($ofd_sno_code !== '') 387 410 { … … 419 442 * Ofd nds 420 443 */ 421 $ofd_nds_code = $this->get_option('ofd_nds' );444 $ofd_nds_code = $this->get_option('ofd_nds', ''); 422 445 if($ofd_nds_code !== '') 423 446 { … … 455 478 * Set ofd_payment_method 456 479 */ 457 if($this->get_option('ofd_payment_method' ) !== '')480 if($this->get_option('ofd_payment_method', '') !== '') 458 481 { 459 482 $this->set_ofd_payment_method($this->get_option('ofd_payment_method')); … … 463 486 * Set ofd_payment_object 464 487 */ 465 if($this->get_option('ofd_payment_object' ) !== '')488 if($this->get_option('ofd_payment_object', '') !== '') 466 489 { 467 490 $this->set_ofd_payment_object($this->get_option('ofd_payment_object')); … … 471 494 * Set shop pass 1 472 495 */ 473 if($this->get_option('shop_pass_1' ) !== '')496 if($this->get_option('shop_pass_1', '') !== '') 474 497 { 475 498 $this->set_shop_pass_1($this->get_option('shop_pass_1')); … … 479 502 * Set shop pass 2 480 503 */ 481 if($this->get_option('shop_pass_2' ) !== '')504 if($this->get_option('shop_pass_2', '') !== '') 482 505 { 483 506 $this->set_shop_pass_2($this->get_option('shop_pass_2')); … … 487 510 * Load shop login 488 511 */ 489 $this->set_shop_login($this->get_option('shop_login' ));512 $this->set_shop_login($this->get_option('shop_login', '')); 490 513 491 514 /** … … 497 520 * Set shop pass 1 for testing 498 521 */ 499 if($this->get_option('test_shop_pass_1' ) !== '')522 if($this->get_option('test_shop_pass_1', '') !== '') 500 523 { 501 524 $this->set_test_shop_pass_1($this->get_option('test_shop_pass_1')); … … 505 528 * Set shop pass 2 for testing 506 529 */ 507 if($this->get_option('test_shop_pass_2' ) !== '')530 if($this->get_option('test_shop_pass_2', '') !== '') 508 531 { 509 532 $this->set_test_shop_pass_2($this->get_option('test_shop_pass_2')); … … 518 541 * Set icon 519 542 */ 520 if($this->get_option('enable_icon') === 'yes') 521 { 522 $this->icon = apply_filters('woocommerce_icon_robokassa', WC_ROBOKASSA_URL . 'assets/img/robokassa.png'); 523 } 524 525 wc_robokassa_logger()->info('init_options: success'); 543 if($this->get_option('enable_icon', 'no') === 'yes') 544 { 545 $this->icon = apply_filters('woocommerce_icon_robokassa', WC_ROBOKASSA_URL . 'assets/img/robokassa.png', $this->id); 546 } 547 548 if($this->get_option('commission_merchant', 'no') === 'yes') 549 { 550 $this->set_commission_merchant(true); 551 552 if($this->get_option('commission_merchant_by_cbr', 'no') === 'yes') 553 { 554 $this->set_commission_merchant_by_cbr(true); 555 } 556 } 557 558 if($this->get_option('rates_merchant', 'no') === 'yes') 559 { 560 $this->set_rates_merchant(true); 561 } 562 563 if($this->get_option('sub_methods_check_available', 'no') === 'yes') 564 { 565 $this->set_submethods_check_available(true); 566 } 567 568 $available_shipping = $this->get_option('available_shipping', ''); 569 if(is_array($available_shipping)) 570 { 571 $this->set_available_shipping($available_shipping); 572 } 526 573 } 527 574 … … 897 944 public function init_form_fields() 898 945 { 899 $this->form_fields = apply_filters('wc_robokassa_init_form_fields', array()); 946 $this->form_fields = apply_filters('wc_robokassa_init_form_fields', []); 947 } 948 949 /** 950 * Add fields for tecodes settings 951 * 952 * @param $fields 953 * 954 * @return array 955 */ 956 public function init_form_fields_tecodes($fields) 957 { 958 if(WC_Robokassa()->tecodes()->is_valid()) 959 { 960 return $fields; 961 } 962 963 $buy_url = esc_url('https://mofsy.ru/market/wc-robokassa-code'); 964 965 $fields['tecodes'] = array 966 ( 967 'title' => __('Activation', 'wc-robokassa'), 968 'type' => 'title', 969 'class' => WC_Robokassa()->tecodes()->is_valid() ? '' : 'bg-warning p-2 mt-1', 970 'description' => __('The code can be obtained from the plugin website:', 'wc-robokassa') . ' <a target="_blank" href="' . $buy_url . '">' . $buy_url . '</a>. ' . __('This section will disappear after enter a valid code before the expiration of the entered code, or its cancellation.', 'wc-robokassa'), 971 ); 972 973 $fields['tecodes_code'] = array 974 ( 975 'title' => __('Input code', 'wc-robokassa'), 976 'type' => 'tecodes_text', 977 'class' => 'p-2', 978 'description' => __('If enter the correct code, the current environment will be activated. Enter the code only on the actual workstation.', 'wc-robokassa'), 979 'default' => '' 980 ); 981 982 return $fields; 983 } 984 985 /** 986 * Generate Tecodes Text Input HTML 987 * 988 * @param string $key Field key. 989 * @param array $data Field data. 990 * 991 * @return string 992 */ 993 public function generate_tecodes_text_html($key, $data) 994 { 995 $field_key = $this->get_field_key($key); 996 $defaults = array 997 ( 998 'title' => '', 999 'disabled' => false, 1000 'class' => '', 1001 'css' => '', 1002 'placeholder' => '', 1003 'type' => 'text', 1004 'desc_tip' => false, 1005 'description' => '', 1006 'custom_attributes' => array(), 1007 ); 1008 1009 $data = wp_parse_args($data, $defaults); 1010 1011 ob_start(); 1012 ?> 1013 <tr valign="top"> 1014 <td colspan="2" class="forminp"> 1015 <fieldset> 1016 <div class="row"> 1017 <div class="col-20 p-0"> 1018 <legend class="screen-reader-text"><span><?php echo wp_kses_post($data['title']); ?></span></legend> 1019 <input class="input-text regular-input <?php echo esc_attr($data['class']); ?>" 1020 type="<?php echo esc_attr($data['type']); ?>" name="<?php echo esc_attr($field_key); ?>" 1021 id="<?php echo esc_attr($field_key); ?>" style="<?php echo esc_attr($data['css']); ?>" 1022 value="<?php echo esc_attr($this->get_option($key)); ?>" 1023 placeholder="<?php echo esc_attr($data['placeholder']); ?>" <?php disabled($data['disabled'], true); ?> <?php echo $this->get_custom_attribute_html($data); // WPCS: XSS ok. 1024 ?> /> 1025 <?php echo $this->get_description_html($data); // WPCS: XSS ok.?> 1026 </div> 1027 <div class="col-4 p-0"> 1028 <button style="float: right;margin: 0px;height: 90%; width: 90%;" name="save" class="button-primary woocommerce-save-button" type="submit" value="<?php _e('Activate', 'wc-robokassa') ?>"><?php _e('Activate', 'wc-robokassa') ?></button> 1029 </div> 1030 </div> 1031 </fieldset> 1032 </td> 1033 </tr> 1034 <?php 1035 1036 return ob_get_clean(); 900 1037 } 901 1038 … … 1022 1159 'title' => __('Test mode', 'wc-robokassa'), 1023 1160 'type' => 'checkbox', 1024 'label' => __(' Enable test mode?', 'wc-robokassa'),1161 'label' => __('Select the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'), 1025 1162 'description' => __('When you activate the test mode, no funds will be debited. In this case, the payment gateway will only be displayed when you log in with an administrator account. This is done in order to protect you from false orders.', 'wc-robokassa'), 1026 1163 'default' => 'yes' … … 1060 1197 ); 1061 1198 1062 $fields['test_ checkout_notice'] = array1063 ( 1064 'title' => __('T he notification is displayedon the test mode', 'wc-robokassa'),1199 $fields['test_mode_checkout_notice'] = array 1200 ( 1201 'title' => __('Test notification display on the test mode', 'wc-robokassa'), 1065 1202 'type' => 'checkbox', 1066 'label' => __(' Enable', 'wc-robokassa'),1203 'label' => __('Select the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'), 1067 1204 'description' => __('A notification about the activated test mode will be displayed when the payment.', 'wc-robokassa'), 1068 1205 'default' => 'yes' 1206 ); 1207 1208 return $fields; 1209 } 1210 1211 /** 1212 * Add settings for sub methods 1213 * 1214 * @param $fields 1215 * 1216 * @return array 1217 */ 1218 public function init_form_fields_sub_methods($fields) 1219 { 1220 $fields['title_sub_methods'] = array 1221 ( 1222 'title' => __('Sub methods', 'wc-robokassa'), 1223 'type' => 'title', 1224 'description' => __('General settings for the sub methods of payment.', 'wc-robokassa'), 1225 ); 1226 1227 $fields['sub_methods'] = array 1228 ( 1229 'title' => __('Enable sub methods', 'wc-robokassa'), 1230 'type' => 'checkbox', 1231 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1232 'description' => __('Use of all mechanisms add a child of payment methods.', 'wc-robokassa'), 1233 'default' => 'no' 1234 ); 1235 1236 $fields['sub_methods_check_available'] = array 1237 ( 1238 'title' => __('Check available via the API', 'wc-robokassa'), 1239 'type' => 'checkbox', 1240 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1241 'description' => __('Check whether child methods are currently available for payment.', 'wc-robokassa'), 1242 'default' => 'no' 1243 ); 1244 1245 $fields['rates_merchant'] = array 1246 ( 1247 'title' => __('Show the total amount including the fee', 'wc-robokassa'), 1248 'type' => 'checkbox', 1249 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1250 'description' => __('If you enable this option, the exact amount payable, including fees, will be added to the payment method headers.', 'wc-robokassa'), 1251 'default' => 'no' 1069 1252 ); 1070 1253 … … 1090 1273 $fields['enable_icon'] = array 1091 1274 ( 1092 'title' => __('Show gatewayicon?', 'wc-robokassa'),1275 'title' => __('Show icon?', 'wc-robokassa'), 1093 1276 'type' => 'checkbox', 1094 'label' => __('S how', 'wc-robokassa'),1277 'label' => __('Select the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'), 1095 1278 'default' => 'yes', 1096 1279 'description' => __('Next to the name of the payment method will display the logo Robokassa.', 'wc-robokassa'), … … 1123 1306 'title' => __('Skip the received order page?', 'wc-robokassa'), 1124 1307 'type' => 'checkbox', 1125 'label' => __(' Enable', 'wc-robokassa'),1308 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1126 1309 'description' => __('This setting is used to reduce actions when users switch to payment.', 'wc-robokassa'), 1127 1310 'default' => 'no' … … 1175 1358 'title' => __('The transfer of goods', 'wc-robokassa'), 1176 1359 'type' => 'checkbox', 1177 'label' => __(' Enable', 'wc-robokassa'),1360 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1178 1361 'description' => __('When you select the option, a check will be generated and sent to the tax and customer. When used, you must set up the VAT of the items sold. VAT is calculated according to the legislation of the Russian Federation. There may be differences in the amount of VAT with the amount calculated by the store.', 'wc-robokassa'), 1179 1362 'default' => 'no' … … 1284 1467 'title' => __('Errors when verifying the signature of requests', 'wc-robokassa'), 1285 1468 'type' => 'checkbox', 1286 'label' => __(' Enable', 'wc-robokassa'),1469 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1287 1470 'description' => __('Recording a errors when verifying the signature of requests from Robokassa.', 'wc-robokassa'), 1288 1471 'default' => 'no' … … 1293 1476 'title' => __('Process payments', 'wc-robokassa'), 1294 1477 'type' => 'checkbox', 1295 'label' => __(' Enable', 'wc-robokassa'),1478 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1296 1479 'description' => __('Recording information about the beginning of the payment process by the user.', 'wc-robokassa'), 1297 1480 'default' => 'no' … … 1302 1485 'title' => __('Successful payments', 'wc-robokassa'), 1303 1486 'type' => 'checkbox', 1304 'label' => __(' Enable', 'wc-robokassa'),1487 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1305 1488 'description' => __('Recording information about received requests with successful payment.', 'wc-robokassa'), 1306 1489 'default' => 'no' … … 1311 1494 'title' => __('Background requests', 'wc-robokassa'), 1312 1495 'type' => 'checkbox', 1313 'label' => __(' Enable', 'wc-robokassa'),1496 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1314 1497 'description' => __('Recording information about the background queries about transactions from Robokassa.', 'wc-robokassa'), 1315 1498 'default' => 'no' … … 1320 1503 'title' => __('Failed requests', 'wc-robokassa'), 1321 1504 'type' => 'checkbox', 1322 'label' => __(' Enable', 'wc-robokassa'),1505 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1323 1506 'description' => __('Recording information about the clients return to the canceled payment page.', 'wc-robokassa'), 1324 1507 'default' => 'no' … … 1329 1512 'title' => __('Success requests', 'wc-robokassa'), 1330 1513 'type' => 'checkbox', 1331 'label' => __(' Enable', 'wc-robokassa'),1514 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1332 1515 'description' => __('Recording information about the clients return to the success payment page.', 'wc-robokassa'), 1333 1516 'default' => 'no' … … 1353 1536 ); 1354 1537 1538 $logger_path = wc_robokassa_logger()->get_path() . '/' . wc_robokassa_logger()->get_name(); 1539 1355 1540 $fields['logger'] = array 1356 1541 ( 1357 1542 'title' => __('Logging', 'wc-robokassa'), 1358 1543 'type' => 'select', 1359 'description' => __('You can enable gateway logging, specify the level of error that you want to benefit from logging. All sensitive data in the report are deleted. By default, the error rate should not be less than ERROR.', 'wc-robokassa') ,1544 'description' => __('You can enable gateway logging, specify the level of error that you want to benefit from logging. All sensitive data in the report are deleted. By default, the error rate should not be less than ERROR.', 'wc-robokassa') . '<br/>' . __('Current file: ', 'wc-robokassa') . '<b>' . $logger_path . '</b>', 1360 1545 'default' => '400', 1361 1546 'options' => array … … 1377 1562 'title' => __('Cart clearing', 'wc-robokassa'), 1378 1563 'type' => 'checkbox', 1379 'label' => __(' Enable', 'wc-robokassa'),1564 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1380 1565 'description' => __('Clean the customers cart if payment is successful? If so, the shopping cart will be cleaned. If not, the goods already purchased will most likely remain in the shopping cart.', 'wc-robokassa'), 1381 1566 'default' => 'no', … … 1386 1571 'title' => __('Mark order as cancelled?', 'wc-robokassa'), 1387 1572 'type' => 'checkbox', 1388 'label' => __(' Enable', 'wc-robokassa'),1573 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1389 1574 'description' => __('Change the status of the order to canceled when the user cancels the payment. The status changes when the user returns to the cancelled payment page.', 'wc-robokassa'), 1390 1575 'default' => 'no', 1391 1576 ); 1392 1577 1578 if(version_compare(wc_robokassa_get_wc_version(), '3.2.0', '>=')) 1579 { 1580 $options = array(); 1581 1582 try 1583 { 1584 $data_store = WC_Data_Store::load('shipping-zone'); 1585 } 1586 catch(Exception $e) 1587 { 1588 return $fields; 1589 } 1590 1591 $raw_zones = $data_store->get_zones(); 1592 1593 foreach($raw_zones as $raw_zone) 1594 { 1595 $zones[] = new WC_Shipping_Zone($raw_zone); 1596 } 1597 1598 $zones[] = new WC_Shipping_Zone(0); 1599 1600 foreach(WC()->shipping()->load_shipping_methods() as $method) 1601 { 1602 $options[$method->get_method_title()] = array(); 1603 1604 // Translators: %1$s shipping method name. 1605 $options[$method->get_method_title()][$method->id] = sprintf(__('Any "%1$s" method', 'woocommerce'), $method->get_method_title()); 1606 1607 foreach($zones as $zone) 1608 { 1609 $shipping_method_instances = $zone->get_shipping_methods(); 1610 1611 foreach($shipping_method_instances as $shipping_method_instance_id => $shipping_method_instance) 1612 { 1613 if($shipping_method_instance->id !== $method->id) 1614 { 1615 continue; 1616 } 1617 1618 $option_id = $shipping_method_instance->get_rate_id(); 1619 1620 // Translators: %1$s shipping method title, %2$s shipping method id. 1621 $option_instance_title = sprintf(__('%1$s (#%2$s)', 'woocommerce'), $shipping_method_instance->get_title(), $shipping_method_instance_id); 1622 1623 // Translators: %1$s zone name, %2$s shipping method instance name. 1624 $option_title = sprintf(__('%1$s – %2$s', 'woocommerce'), $zone->get_id() ? $zone->get_zone_name() : __('Other locations', 'woocommerce'), $option_instance_title); 1625 1626 $options[$method->get_method_title()][$option_id] = $option_title; 1627 } 1628 } 1629 } 1630 1631 $fields['available_shipping'] = array 1632 ( 1633 'title' => __('Enable for shipping methods', 'wc-robokassa'), 1634 'type' => 'multiselect', 1635 'class' => 'wc-enhanced-select', 1636 'css' => 'width: 400px;', 1637 'default' => '', 1638 'description' => __('If only available for certain methods, set it up here. Leave blank to enable for all methods.', 'wc-robokassa'), 1639 'options' => $options, 1640 'custom_attributes' => array 1641 ( 1642 'data-placeholder' => __('Select shipping methods', 'wc-robokassa'), 1643 ), 1644 ); 1645 } 1646 1647 $fields['commission_merchant'] = array 1648 ( 1649 'title' => __('Payment of the commission for the buyer', 'wc-robokassa'), 1650 'type' => 'checkbox', 1651 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1652 'description' => __('When you enable this feature, the store will pay all customer Commission costs. Works only when you select a payment method on the site and for stores individuals.', 'wc-robokassa'), 1653 'default' => 'no' 1654 ); 1655 1656 $fields['commission_merchant_by_cbr'] = array 1657 ( 1658 'title' => __('Preliminary conversion of order currency into roubles for commission calculation', 'wc-robokassa'), 1659 'type' => 'checkbox', 1660 'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'), 1661 'description' => __('If the calculation of the customer commission is included and the order is not in roubles, the order will be converted to roubles based on data from the Central Bank of Russia. 1662 This is required due to poor Robokassa API.', 'wc-robokassa'), 1663 'default' => 'no' 1664 ); 1665 1393 1666 return $fields; 1394 1667 } … … 1434 1707 1435 1708 /** 1709 * @return array 1710 */ 1711 public function get_available_shipping() 1712 { 1713 return $this->available_shipping; 1714 } 1715 1716 /** 1717 * @param array $available_shipping 1718 */ 1719 public function set_available_shipping($available_shipping) 1720 { 1721 $this->available_shipping = $available_shipping; 1722 } 1723 1724 /** 1436 1725 * Check available in front 1437 1726 */ … … 1445 1734 if($this->is_support_currency() === false) 1446 1735 { 1736 wc_robokassa_logger()->alert('is_available_front: is_support_currency'); 1737 return false; 1738 } 1739 1740 if($this->is_commission_merchant()) 1741 { 1742 wc_robokassa_logger()->alert('is_available_front: is_commission_merchant'); 1447 1743 return false; 1448 1744 } … … 1470 1766 { 1471 1767 wp_enqueue_style('robokassa-admin-styles', WC_ROBOKASSA_URL . 'assets/css/main.css'); 1768 1472 1769 add_filter('wc_robokassa_widget_status_color', array($this, 'admin_right_widget_status_content_color'), 20); 1770 add_action('wc_robokassa_widget_status_content', array($this, 'admin_right_widget_status_content_tecodes'), 10); 1473 1771 add_action('wc_robokassa_widget_status_content', array($this, 'admin_right_widget_status_content_logger'), 10); 1474 1772 add_action('wc_robokassa_widget_status_content', array($this, 'admin_right_widget_status_content_api'), 20); … … 1509 1807 { 1510 1808 // hook 1511 do_action('wc_ robokassa_payment_fields_before_show');1809 do_action('wc_' . $this->id . '_payment_fields_before_show'); 1512 1810 1513 1811 // hook 1514 do_action('wc_ robokassa_payment_fields_show');1812 do_action('wc_' . $this->id . '_payment_fields_show'); 1515 1813 1516 1814 // hook 1517 do_action('wc_ robokassa_payment_fields_after_show');1815 do_action('wc_' . $this->id . '_payment_fields_after_show'); 1518 1816 } 1519 1817 … … 1536 1834 public function payment_fields_test_mode_show() 1537 1835 { 1538 if($this->get_test() === 'yes' && $this->get_option('test_checkout_notice') === 'yes') 1539 { 1540 echo '<div style="padding:5px; border-radius:20px; background-color: #ff8982;text-align: center;">'; 1541 echo __('TEST mode is active. Payment will not be charged. After checking, disable this mode.', 'wc-robokassa'); 1542 echo '</div>'; 1543 } 1836 echo '<div style="padding:5px; border-radius:20px; background-color: #ff8982;text-align: center;">'; 1837 echo __('TEST mode is active. Payment will not be charged. After checking, disable this mode.', 'wc-robokassa'); 1838 echo '</div>'; 1544 1839 } 1545 1840 … … 1609 1904 1610 1905 /** 1906 * Validate tecodes code 1907 * @param string $key 1908 * @param string $value 1909 * 1910 * @return string 1911 * 1912 * @throws Exception 1913 */ 1914 public function validate_tecodes_code_field($key, $value) 1915 { 1916 if($value === '') 1917 { 1918 return ''; 1919 } 1920 1921 WC_Robokassa()->tecodes()->set_code($value); 1922 WC_Robokassa()->tecodes()->validate(); 1923 1924 if(!WC_Robokassa()->tecodes()->is_valid()) 1925 { 1926 $errors = WC_Robokassa()->tecodes()->get_errors(); 1927 1928 if(is_array($errors)) 1929 { 1930 foreach(WC_Robokassa()->tecodes()->get_errors() as $error_key => $error) 1931 { 1932 WC_Admin_Settings::add_error($error); 1933 } 1934 } 1935 } 1936 1937 return ''; 1938 } 1939 1940 /** 1611 1941 * Receipt page 1612 1942 * … … 1618 1948 { 1619 1949 // hook 1620 do_action('wc_ robokassa_receipt_page_before_show', $order);1950 do_action('wc_' . $this->id . '_receipt_page_before_show', $order); 1621 1951 1622 1952 // hook 1623 do_action('wc_ robokassa_receipt_page_show', $order);1953 do_action('wc_' . $this->id . '_receipt_page_show', $order); 1624 1954 1625 1955 // hook 1626 do_action('wc_ robokassa_receipt_page_after_show', $order);1956 do_action('wc_' . $this->id . '_receipt_page_after_show', $order); 1627 1957 } 1628 1958 … … 1657 1987 wc_robokassa_logger()->debug('generate_form: $order', $order); 1658 1988 1659 $args = array();1989 $args = []; 1660 1990 $args['MerchantLogin'] = $this->get_shop_login(); 1661 1991 … … 1720 2050 * Receipt 1721 2051 */ 1722 $receipt_ result= '';2052 $receipt_json = ''; 1723 2053 if($this->is_ofd_status() === true) 1724 2054 { … … 1728 2058 $receipt['items'] = $this->generate_receipt_items($order); 1729 2059 1730 $receipt_ result = json_encode($receipt);1731 1732 wc_robokassa_logger()->debug('generate_form: $receipt_result', $receipt_ result);2060 $receipt_json = urlencode(json_encode($receipt, 256)); 2061 2062 wc_robokassa_logger()->debug('generate_form: $receipt_result', $receipt_json); 1733 2063 } 1734 2064 … … 1737 2067 */ 1738 2068 $receipt_signature = ''; 1739 if($receipt_result != '') 1740 { 1741 $receipt_signature = ':'.$receipt_result; 1742 1743 $args['Receipt'] = $receipt_result; 2069 if($receipt_json != '') 2070 { 2071 $receipt_signature = ':' . $receipt_json; 2072 $args['Receipt'] = $receipt_json; 1744 2073 } 1745 2074 1746 2075 if(array_key_exists('OutSumCurrency', $args)) 1747 2076 { 1748 $signature_payload = $args['MerchantLogin'] .':'.$args['OutSum'].':'.$args['InvId'].$receipt_signature.':'.$args['OutSumCurrency'].':'.$signature_pass;2077 $signature_payload = $args['MerchantLogin'] . ':' . $args['OutSum'] . ':' . $args['InvId'] . ':' . $args['OutSumCurrency'] . $receipt_signature . ':' . $signature_pass; 1749 2078 } 1750 2079 else 1751 2080 { 1752 $signature_payload = $args['MerchantLogin'] .':'.$args['OutSum'].':'.$args['InvId'].$receipt_signature.':'.$signature_pass;2081 $signature_payload = $args['MerchantLogin'] . ':' . $args['OutSum'] . ':' . $args['InvId'] . $receipt_signature . ':' . $signature_pass; 1753 2082 } 1754 2083 $args['SignatureValue'] = $this->get_signature($signature_payload, $signature_method); … … 1768 2097 */ 1769 2098 $args = apply_filters('wc_robokassa_payment_form_args', $args); 2099 2100 wc_robokassa_logger()->debug('generate_form: final $args', $args); 1770 2101 1771 2102 /** … … 1930 2261 { 1931 2262 case 'ripemd160': 1932 $signature = strtoupper(hash('ripemd160', $string));2263 $signature = hash('ripemd160', $string); 1933 2264 break; 1934 2265 1935 2266 case 'sha1': 1936 $signature = s trtoupper(sha1($string));2267 $signature = sha1($string); 1937 2268 break; 1938 2269 1939 2270 case 'sha256': 1940 $signature = strtoupper(hash('sha256', $string));2271 $signature = hash('sha256', $string); 1941 2272 break; 1942 2273 1943 2274 case 'sha384': 1944 $signature = strtoupper(hash('sha384', $string));2275 $signature = hash('sha384', $string); 1945 2276 break; 1946 2277 1947 2278 case 'sha512': 1948 $signature = strtoupper(hash('sha512', $string));2279 $signature = hash('sha512', $string); 1949 2280 break; 1950 2281 1951 2282 default: 1952 $signature = strtoupper(md5($string));1953 } 1954 1955 return $signature;2283 $signature = md5($string); 2284 } 2285 2286 return strtoupper($signature); 1956 2287 } 1957 2288 … … 1963 2294 * @return string 1964 2295 */ 1965 public function get_url_auto_redirect($order_id) // todo: more options2296 public function get_url_auto_redirect($order_id) 1966 2297 { 1967 2298 return get_site_url( null, '/?wc-api=wc_' . $this->id . '&action=redirect&order_id=' . $order_id); … … 1970 2301 /** 1971 2302 * Автоматический редирект на робокассу методом автоматической отправки формы 1972 */ 1973 public function wc_robokassa_input_payment_notifications_redirect_by_form() 2303 * 2304 * @since 4.0.0 2305 */ 2306 public function input_payment_notifications_redirect_by_form() 1974 2307 { 1975 2308 if(false == isset($_GET['action'])) … … 2219 2552 2220 2553 /** 2554 * Is rates merchant 2555 * 2556 * @return bool 2557 */ 2558 public function is_rates_merchant() 2559 { 2560 return $this->rates_merchant; 2561 } 2562 2563 /** 2564 * Set rates merchant 2565 * 2566 * @param bool $rates_merchant 2567 */ 2568 public function set_rates_merchant($rates_merchant) 2569 { 2570 $this->rates_merchant = $rates_merchant; 2571 } 2572 2573 /** 2574 * @return bool 2575 */ 2576 public function is_commission_merchant() 2577 { 2578 return $this->commission_merchant; 2579 } 2580 2581 /** 2582 * @param bool $commission_merchant 2583 */ 2584 public function set_commission_merchant($commission_merchant) 2585 { 2586 $this->commission_merchant = $commission_merchant; 2587 } 2588 2589 /** 2590 * @return bool 2591 */ 2592 public function is_commission_merchant_by_cbr() 2593 { 2594 return $this->commission_merchant_by_cbr; 2595 } 2596 2597 /** 2598 * @param bool $commission_merchant_by_cbr 2599 */ 2600 public function set_commission_merchant_by_cbr($commission_merchant_by_cbr) 2601 { 2602 $this->commission_merchant_by_cbr = $commission_merchant_by_cbr; 2603 } 2604 2605 /** 2606 * Set submethods check available 2607 * 2608 * @param bool $submethods_check_available 2609 */ 2610 public function set_submethods_check_available($submethods_check_available) 2611 { 2612 $this->submethods_check_available = $submethods_check_available; 2613 } 2614 2615 /** 2616 * @return bool 2617 */ 2618 public function is_submethods_check_available() 2619 { 2620 return $this->submethods_check_available; 2621 } 2622 2623 /** 2221 2624 * Check if the gateway is available for use 2222 2625 * … … 2227 2630 public function is_available() 2228 2631 { 2229 wc_robokassa_logger()->info('is_available: start'); 2230 2231 $is_available = parent::is_available(); 2632 $is_available = $this->enabled; 2633 2634 if(WC()->cart && 0 < $this->get_order_total() && 0 < $this->max_amount && $this->max_amount < $this->get_order_total()) 2635 { 2636 $is_available = false; 2637 } 2232 2638 2233 2639 wc_robokassa_logger()->debug('is_available: parent $is_available', $is_available); 2640 2641 if(is_array($this->get_available_shipping()) && !empty($this->get_available_shipping()) && version_compare(wc_robokassa_get_wc_version(), '3.2.0', '>=')) 2642 { 2643 $order = null; 2644 $needs_shipping = false; 2645 2646 // Test if shipping is needed first 2647 if(WC()->cart && WC()->cart->needs_shipping()) 2648 { 2649 $needs_shipping = true; 2650 } 2651 elseif(is_page(wc_get_page_id('checkout')) && 0 < get_query_var('order-pay')) 2652 { 2653 $order_id = absint(get_query_var('order-pay')); 2654 $order = wc_get_order($order_id); 2655 2656 // Test if order needs shipping 2657 if(0 < count($order->get_items())) 2658 { 2659 foreach($order->get_items() as $item) 2660 { 2661 $_product = $item->get_product(); 2662 if($_product && $_product->needs_shipping()) 2663 { 2664 $needs_shipping = true; 2665 break; 2666 } 2667 } 2668 } 2669 } 2670 2671 $needs_shipping = apply_filters('woocommerce_cart_needs_shipping', $needs_shipping); 2672 2673 // Only apply if all packages are being shipped via chosen method 2674 if($needs_shipping && !empty($this->get_available_shipping())) 2675 { 2676 $order_shipping_items = is_object($order) ? $order->get_shipping_methods() : false; 2677 $chosen_shipping_methods_session = WC()->session->get('chosen_shipping_methods'); 2678 2679 if($order_shipping_items) 2680 { 2681 $canonical_rate_ids = $this->get_canonical_order_shipping_item_rate_ids($order_shipping_items); 2682 } 2683 else 2684 { 2685 $canonical_rate_ids = $this->get_canonical_package_rate_ids($chosen_shipping_methods_session); 2686 } 2687 2688 if(!count($this->get_matching_rates($canonical_rate_ids))) 2689 { 2690 $is_available = false; 2691 } 2692 } 2693 } 2234 2694 2235 2695 /** … … 2241 2701 2242 2702 wc_robokassa_logger()->debug('is_available: $is_available', $is_available); 2243 wc_robokassa_logger()->info('is_available: end');2244 2703 2245 2704 return $is_available; … … 2263 2722 2264 2723 /** 2724 * Widget status: Tecodes 2725 * 2726 * @param $content 2727 * 2728 * @return string 2729 */ 2730 public function admin_right_widget_status_content_tecodes($content) 2731 { 2732 if(WC_Robokassa()->tecodes()->is_valid()) 2733 { 2734 return ''; 2735 } 2736 2737 $message = __('The activation was not success. It may be difficult to release new updates.', 'wc-robokassa'); 2738 $color = 'bg-warning'; 2739 2740 $content .= '<li class="list-group-item mb-0 ' . $color . '">' . $message . '</li>'; 2741 2742 return $content; 2743 } 2744 2745 /** 2265 2746 * Widget status: API 2266 2747 * … … 2272 2753 { 2273 2754 $message = __('disconnected', 'wc-robokassa'); 2274 $color = ' bg-danger';2755 $color = 'text-white bg-danger'; 2275 2756 2276 2757 if(false !== $this->check_robokassa_api()) … … 2305 2786 } 2306 2787 2307 $content .= '<li class="list-group-item text-whitemb-0 ' . $color . '">'2788 $content .= '<li class="list-group-item mb-0 ' . $color . '">' 2308 2789 . __('Test mode: ', 'wc-robokassa') . $message . 2309 2790 '</li>'; … … 2344 2825 public function admin_right_widget_status_content_logger($content) 2345 2826 { 2346 if( $this->get_option('logger') < 200)2827 if(wc_robokassa_logger()->get_level() < 200) 2347 2828 { 2348 2829 $content .= '<li class="list-group-item mb-0 text-white bg-warning">' … … 2388 2869 $color = 'bg-warning'; 2389 2870 } 2390 elseif( $this->get_option('logger') < 200)2871 elseif(wc_robokassa_logger()->get_level() < 200) 2391 2872 { 2392 2873 $color = 'bg-warning'; 2393 2874 } 2394 2875 2876 if(!WC_Robokassa()->tecodes()->is_valid()) 2877 { 2878 $color = 'bg-warning'; 2879 } 2880 2395 2881 if(false === $this->check_robokassa_api() || false === $this->is_support_currency()) 2396 2882 { … … 2400 2886 return $color; 2401 2887 } 2888 2889 /** 2890 * Converts the chosen rate IDs generated by Shipping Methods to a canonical 'method_id:instance_id' format 2891 * 2892 * @since 0.9.0 2893 * 2894 * @param array $order_shipping_items Array of WC_Order_Item_Shipping objects 2895 * @return array $canonical_rate_ids Rate IDs in a canonical format 2896 */ 2897 protected function get_canonical_order_shipping_item_rate_ids($order_shipping_items) 2898 { 2899 $canonical_rate_ids = array(); 2900 2901 foreach($order_shipping_items as $order_shipping_item) 2902 { 2903 $canonical_rate_ids[] = $order_shipping_item->get_method_id() . ':' . $order_shipping_item->get_instance_id(); 2904 } 2905 2906 return $canonical_rate_ids; 2907 } 2908 2909 /** 2910 * Converts the chosen rate IDs generated by Shipping Methods to a canonical 'method_id:instance_id' format 2911 * 2912 * @since 0.9.0 2913 * 2914 * @param array $chosen_package_rate_ids Rate IDs as generated by shipping methods. 2915 * Can be anything if a shipping method doesn't honor WC conventions. 2916 * 2917 * @return array $canonical_rate_ids Rate IDs in a canonical format. 2918 */ 2919 protected function get_canonical_package_rate_ids($chosen_package_rate_ids) 2920 { 2921 $shipping_packages = WC()->shipping()->get_packages(); 2922 $canonical_rate_ids = array(); 2923 2924 if(!empty($chosen_package_rate_ids) && is_array($chosen_package_rate_ids)) 2925 { 2926 foreach($chosen_package_rate_ids as $package_key => $chosen_package_rate_id) 2927 { 2928 if(!empty($shipping_packages[$package_key]['rates'][$chosen_package_rate_id])) 2929 { 2930 $chosen_rate = $shipping_packages[$package_key]['rates'][$chosen_package_rate_id]; 2931 $canonical_rate_ids[] = $chosen_rate->get_method_id() . ':' . $chosen_rate->get_instance_id(); 2932 } 2933 } 2934 } 2935 2936 return $canonical_rate_ids; 2937 } 2938 2939 /** 2940 * Indicates whether a rate exists in an array of canonically-formatted rate IDs that activates this gateway. 2941 * 2942 * @since 0.9.0 2943 * 2944 * @param array $rate_ids Rate ids to check 2945 * 2946 * @return mixed 2947 */ 2948 protected function get_matching_rates($rate_ids) 2949 { 2950 // First, match entries in 'method_id:instance_id' format. Then, match entries in 'method_id' format by stripping off the instance ID from the candidates. 2951 return array_unique(array_merge 2952 ( 2953 array_intersect($this->get_available_shipping(), $rate_ids), 2954 array_intersect($this->get_available_shipping(), array_unique(array_map('wc_get_string_before_colon', $rate_ids))) 2955 )); 2956 } 2402 2957 } -
wc-robokassa/trunk/includes/class-wc-robokassa.php
r2292827 r2334486 28 28 * @var Wc_Robokassa_Api 29 29 */ 30 p ublic$robokassa_api = false;30 protected $robokassa_api = false; 31 31 32 32 /** … … 35 35 * @var 36 36 */ 37 p ublic$wc_version = '';37 protected $wc_version = ''; 38 38 39 39 /** … … 42 42 * @var string 43 43 */ 44 p ublic$wc_currency = 'RUB';44 protected $wc_currency = 'RUB'; 45 45 46 46 /** … … 66 66 67 67 /** 68 * Available currencies 69 * 70 * @var array 71 */ 72 private $robokassa_available_currencies = array(); 73 74 /** 75 * Current rates by robokassa 76 * 77 * @var array 78 */ 79 private $robokassa_rates_merchant = array(); 80 81 /** 82 * Current currency rates by CBR 83 * @var array 84 */ 85 private $currency_rates_by_cbr = array(); 86 87 /** 88 * Tecodes 89 * 90 * @var null|Tecodes_Local 91 */ 92 private $tecodes = null; 93 94 /** 68 95 * WC_Robokassa constructor 69 96 */ … … 73 100 do_action('wc_robokassa_loading'); 74 101 102 wc_robokassa_plugin_text_domain(); 103 75 104 $this->init_includes(); 76 105 $this->init_hooks(); … … 98 127 * Init required files 99 128 */ 100 p ublicfunction init_includes()129 private function init_includes() 101 130 { 102 131 /** … … 107 136 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-api.php'; 108 137 require_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-method.php'; 138 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-sub-method.php'; 139 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/tecodes-local/bootstrap.php'; 140 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-tecodes.php'; 141 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-tecodes-instance.php'; 142 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-tecodes-storage-code.php'; 143 144 /** 145 * Sub methods 146 */ 147 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-alfabank-method.php'; 148 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-alfabank-method.php'; 149 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-bank-avb-method.php'; 150 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-bank-bin-method.php'; 151 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-bank-fbid-method.php'; 152 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-bank-inteza-method.php'; 153 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-bank-min-method.php'; 154 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-bank-sov-com-method.php'; 155 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-bank-trust-method.php'; 156 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bank-vtb4-method.php'; 157 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bankcard-bank-card-apple-pay-method.php'; 158 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bankcard-bank-card-halva-method.php'; 159 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bankcard-bank-card-method.php'; 160 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-bankcard-bank-card-samsung-pay-method.php'; 161 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-emoney-elecsnet-wallet-method.php'; 162 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-emoney-qiwi-wallet-method.php'; 163 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-emoney-w1-method.php'; 164 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-emoney-wmr-method.php'; 165 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-emoney-yandex-money-method.php'; 166 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-mobile-phone-beeline-method.php'; 167 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-mobile-phone-megafon-method.php'; 168 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-mobile-phone-mts-method.php'; 169 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-mobile-phone-tattelecom-method.php'; 170 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-mobile-phone-tele2-method.php'; 171 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-other-biocoin-method.php'; 172 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-other-store-euroset-method.php'; 173 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-other-store-svyaznoy-method.php'; 174 include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-terminals-terminals-elecsnet-method.php'; 109 175 110 176 /** … … 155 221 156 222 /** 223 * Get Tecodes 224 * 225 * @return Tecodes_Local|null 226 */ 227 public function tecodes() 228 { 229 return $this->tecodes; 230 } 231 232 /** 233 * Set Tecodes 234 * 235 * @param Tecodes_Local|null $tecodes 236 */ 237 public function set_tecodes($tecodes) 238 { 239 $this->tecodes = $tecodes; 240 } 241 242 /** 157 243 * Hooks (actions & filters) 158 244 */ … … 164 250 if(is_admin()) 165 251 { 166 add_action('init', array($this, ' admin_init'), 0);252 add_action('init', array($this, 'init_admin'), 0); 167 253 add_action('admin_notices', array($this, 'wc_robokassa_admin_notices'), 10); 168 254 … … 186 272 if(class_exists('WC_Payment_Gateway') !== true) 187 273 { 188 $this->get_logger()->emergency('WC_Payment_Gateway not found');274 wc_robokassa_logger()->emergency('WC_Payment_Gateway not found'); 189 275 return false; 190 276 } 191 277 192 add_filter('woocommerce_payment_gateways', array($this, 'add_wc_gateway_method'), 10); 278 add_filter('woocommerce_payment_gateways', array($this, 'add_gateway_method'), 10); 279 280 $robokassa_settings = $this->get_method_settings_by_method_id('robokassa'); 281 282 if(isset($robokassa_settings['sub_methods']) && $robokassa_settings['sub_methods'] === 'yes') 283 { 284 add_filter('woocommerce_payment_gateways', array($this, 'add_gateway_submethods'), 10); 285 } 193 286 194 287 // hook … … 206 299 } 207 300 208 $this->load_plugin_text_domain();209 301 $this->load_wc_version(); 210 302 $this->load_currency(); 303 $this->load_tecodes(); 211 304 212 305 return true; … … 216 309 * Admin initialization 217 310 */ 218 public function admin_init()311 public function init_admin() 219 312 { 220 313 /** … … 266 359 267 360 /** 361 * Load Tecodes 362 */ 363 public function load_tecodes() 364 { 365 $options = 366 [ 367 'timeout' => 15, 368 'verify_ssl' => false, 369 'version' => 'tecodes/v1' 370 ]; 371 372 $tecodes_local = new Wc_Robokassa_Tecodes('https://mofsy.ru/', $options); 373 374 /** 375 * Languages 376 */ 377 $tecodes_local->status_messages = array 378 ( 379 'status_1' => __('This activation code is active.', 'wc-robokassa'), 380 'status_2' => __('Error: This activation code has expired.', 'wc-robokassa'), 381 'status_3' => __('Activation code republished. Awaiting reactivation.', 'wc-robokassa'), 382 'status_4' => __('Error: This activation code has been suspended.', 'wc-robokassa'), 383 'code_not_found' => __('This activation code is not found.', 'wc-robokassa'), 384 'localhost' => __('This activation code is active (localhost).', 'wc-robokassa'), 385 'pending' => __('Error: This activation code is pending review.', 'wc-robokassa'), 386 'download_access_expired' => __('Error: This version of the software was released after your download access expired. Please downgrade software or contact support for more information.', 'wc-robokassa'), 387 'missing_activation_key' => __('Error: The activation code variable is empty.', 'wc-robokassa'), 388 'could_not_obtain_local_code' => __('Error: I could not obtain a new local code.', 'wc-robokassa'), 389 'maximum_delay_period_expired' => __('Error: The maximum local code delay period has expired.', 'wc-robokassa'), 390 'local_code_tampering' => __('Error: The local key has been tampered with or is invalid.', 'wc-robokassa'), 391 'local_code_invalid_for_location' => __('Error: The local code is invalid for this location.', 'wc-robokassa'), 392 'missing_license_file' => __('Error: Please create the following file (and directories if they dont exist already): ', 'wc-robokassa'), 393 'license_file_not_writable' => __('Error: Please make the following path writable: ', 'wc-robokassa'), 394 'invalid_local_key_storage' => __('Error: I could not determine the local key storage on clear.', 'wc-robokassa'), 395 'could_not_save_local_key' => __('Error: I could not save the local key.', 'wc-robokassa'), 396 'code_string_mismatch' => __('Error: The local code is invalid for this activation code.', 'wc-robokassa'), 397 'code_status_delete' => __('Error: This activation code has been deleted.', 'wc-robokassa'), 398 'code_status_draft' => __('Error: This activation code has draft.', 'wc-robokassa'), 399 'code_status_available' => __('Error: This activation code has available.', 'wc-robokassa'), 400 'code_status_blocked' => __('Error: This activation code has been blocked.', 'wc-robokassa'), 401 ); 402 403 $tecodes_local->set_local_code_storage(new Wc_Robokassa_Tecodes_Code_Storage()); 404 $tecodes_local->set_instance(new Wc_Robokassa_Tecodes_Instance()); 405 406 $tecodes_local->validate(); 407 408 $this->set_tecodes($tecodes_local); 409 } 410 411 /** 412 * Load available currencies from Robokassa 413 * 414 * @param $merchant_login 415 * @param string $language 416 */ 417 public function load_robokassa_available_currencies($merchant_login, $language = 'ru') 418 { 419 if(is_array($this->get_robokassa_available_currencies()) && count($this->get_robokassa_available_currencies()) === 0) 420 { 421 $api = $this->load_robokassa_api(); 422 423 $robokassa_available_currencies_result = $api->xml_get_currencies($merchant_login, $language); 424 425 if(is_array($robokassa_available_currencies_result)) 426 { 427 $this->set_robokassa_available_currencies($robokassa_available_currencies_result); 428 } 429 } 430 } 431 432 /** 433 * Load merchant rates 434 * 435 * @param $merchant_login 436 * @param int $out_sum 437 * @param string $language 438 */ 439 public function load_merchant_rates($merchant_login, $out_sum = 0, $language = 'ru') 440 { 441 if(is_array($this->get_robokassa_rates_merchant()) && count($this->get_robokassa_rates_merchant()) == 0) 442 { 443 $api = $this->load_robokassa_api(); 444 445 $robokassa_rates_merchant_result = $api->xml_get_rates($merchant_login, $out_sum, '', $language); 446 447 if(is_array($robokassa_rates_merchant_result)) 448 { 449 $this->set_robokassa_rates_merchant($robokassa_rates_merchant_result); 450 } 451 } 452 } 453 454 /** 455 * Get settings by method id for submethods 456 * 457 * @param string $method_id 458 * 459 * @return mixed 460 */ 461 public function get_method_settings_by_method_id($method_id = 'robokassa') 462 { 463 return get_option('woocommerce_' . $method_id . '_settings'); 464 } 465 466 /** 467 * Load currency rates by cbr 468 * 469 * @return mixed 470 */ 471 public function load_currency_rates_by_cbr() 472 { 473 $transient_name = 'wc_robokassa_currency_rates_cbr'; 474 $current_rates = get_transient($transient_name); 475 476 if($current_rates) 477 { 478 $this->set_currency_rates_by_cbr($current_rates); 479 return $current_rates; 480 } 481 482 $url = 'https://www.cbr-xml-daily.ru/daily_json.js'; 483 484 $result = wp_remote_get($url); 485 $result_body = wp_remote_retrieve_body($result); 486 487 if($result_body !== '') 488 { 489 $rates = json_decode($result_body, true); 490 set_transient($transient_name, $rates, 60 * 15); 491 $this->set_currency_rates_by_cbr($rates); 492 493 return $rates; 494 } 495 496 return false; 497 } 498 499 /** 500 * Get merchant rates from Robokassa 501 * 502 * @return array 503 */ 504 public function get_robokassa_rates_merchant() 505 { 506 return $this->robokassa_rates_merchant; 507 } 508 509 /** 510 * Set merchant rates from Robokassa 511 * 512 * @param array $robokassa_rates_merchant 513 */ 514 public function set_robokassa_rates_merchant($robokassa_rates_merchant) 515 { 516 $this->robokassa_rates_merchant = $robokassa_rates_merchant; 517 } 518 519 /** 520 * Get merchant currencies available from Robokassa 521 * 522 * @return array 523 */ 524 public function get_robokassa_available_currencies() 525 { 526 return $this->robokassa_available_currencies; 527 } 528 529 /** 530 * Set merchant currencies available from Robokassa 531 * 532 * @param array $robokassa_available_currencies 533 */ 534 public function set_robokassa_available_currencies($robokassa_available_currencies) 535 { 536 $this->robokassa_available_currencies = $robokassa_available_currencies; 537 } 538 539 /** 540 * @return array 541 */ 542 public function get_currency_rates_by_cbr() 543 { 544 return $this->currency_rates_by_cbr; 545 } 546 547 /** 548 * @param array $currency_rates_by_cbr 549 */ 550 public function set_currency_rates_by_cbr($currency_rates_by_cbr) 551 { 552 $this->currency_rates_by_cbr = $currency_rates_by_cbr; 553 } 554 555 /** 268 556 * Get Robokassa api 269 557 * … … 301 589 global $WOOCS; 302 590 303 $this->get_logger()->alert('load_currency WooCommerce Currency Switcher detect');591 wc_robokassa_logger()->alert('load_currency WooCommerce Currency Switcher detect'); 304 592 305 593 $wc_currency = strtoupper($WOOCS->storage->get_val('woocs_current_currency')); 306 594 } 307 595 308 $this->get_logger()->debug('load_currency $wc_version', $wc_currency);596 wc_robokassa_logger()->debug('load_currency $wc_version', $wc_currency); 309 597 310 598 $this->set_wc_currency($wc_currency); … … 322 610 $wc_version = wc_robokassa_get_wc_version(); 323 611 324 $this->get_logger()->debug('load_wc_version $wc_version',$wc_version);612 wc_robokassa_logger()->info('load_wc_version: $wc_version' . $wc_version); 325 613 326 614 $this->set_wc_version($wc_version); … … 330 618 331 619 /** 332 * Load localisation files333 */334 public function load_plugin_text_domain()335 {336 /**337 * WP 5.x or later338 */339 if(function_exists('determine_locale'))340 {341 $locale = determine_locale();342 }343 else344 {345 $locale = is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale();346 }347 348 /**349 * Change locale from external code350 *351 * @since 2.4.0352 */353 $locale = apply_filters('plugin_locale', $locale, 'wc-robokassa');354 355 // log356 $this->get_logger()->debug('load_plugin_text_domain $locale', $locale);357 358 /**359 * Unload & load360 */361 unload_textdomain('wc-robokassa');362 load_textdomain('wc-robokassa', WP_LANG_DIR . '/wc-robokassa/wc-robokassa-' . $locale . '.mo');363 load_textdomain('wc-robokassa', WC_ROBOKASSA_PLUGIN_DIR . 'languages/wc-robokassa-' . $locale . '.mo');364 }365 366 /**367 620 * Add the gateway to WooCommerce 368 621 * … … 371 624 * @return array - new WooCommerce initialized gateways 372 625 */ 373 public function add_ wc_gateway_method($methods)626 public function add_gateway_method($methods) 374 627 { 375 628 $default_class_name = 'Wc_Robokassa_Method'; … … 388 641 389 642 /** 643 * Add the submethods gateway to WooCommerce 644 * 645 * @param $methods - all WooCommerce initialized gateways 646 * 647 * @return array - new WooCommerce initialized gateways 648 */ 649 public function add_gateway_submethods($methods) 650 { 651 $methods[] = 'Wc_Robokassa_Bank_Alfabank_Method'; 652 $methods[] = 'Wc_Robokassa_Bank_Bank_Avb_Method'; 653 $methods[] = 'Wc_Robokassa_Bank_Bank_Bin_Method'; 654 $methods[] = 'Wc_Robokassa_Bank_Bank_Fbid_Method'; 655 $methods[] = 'Wc_Robokassa_Bank_Bank_Inteza_Method'; 656 $methods[] = 'Wc_Robokassa_Bank_Bank_Min_Method'; 657 $methods[] = 'Wc_Robokassa_Bank_Bank_Sov_Com_Method'; 658 $methods[] = 'Wc_Robokassa_Bank_Bank_Trust_Method'; 659 //$methods[] = 'Wc_Robokassa_Bank_Vtb24_Method'; 660 $methods[] = 'Wc_Robokassa_Bankcard_Bank_Card_Apple_Pay_Method'; 661 $methods[] = 'Wc_Robokassa_Bankcard_Bank_Card_Halva_Method'; 662 $methods[] = 'Wc_Robokassa_Bankcard_Bank_Card_Method'; 663 $methods[] = 'Wc_Robokassa_Bankcard_Bank_Card_Samsung_Pay_Method'; 664 $methods[] = 'Wc_Robokassa_Emoney_Elecsnet_Wallet_Method'; 665 $methods[] = 'Wc_Robokassa_Emoney_Qiwi_Wallet_Method'; 666 $methods[] = 'Wc_Robokassa_Emoney_W1_Method'; 667 $methods[] = 'Wc_Robokassa_Emoney_Wmr_Method'; 668 $methods[] = 'Wc_Robokassa_Emoney_Yandex_Money_Method'; 669 $methods[] = 'Wc_Robokassa_Mobile_Phone_Beeline_Method'; 670 $methods[] = 'Wc_Robokassa_Mobile_Phone_Megafon_Method'; 671 $methods[] = 'Wc_Robokassa_Mobile_Phone_Mts_Method'; 672 $methods[] = 'Wc_Robokassa_Mobile_Phone_Tattelecom_Method'; 673 $methods[] = 'Wc_Robokassa_Mobile_Phone_Tele2_Method'; 674 $methods[] = 'Wc_Robokassa_Other_Biocoin_Method'; 675 $methods[] = 'Wc_Robokassa_Other_Store_Euroset_Method'; 676 $methods[] = 'Wc_Robokassa_Other_Store_Svyaznoy_Method'; 677 $methods[] = 'Wc_Robokassa_Terminals_Terminals_Elecsnet_Method'; 678 679 return $methods; 680 } 681 682 /** 390 683 * Load logger 391 684 * 392 685 * @return boolean 393 686 */ 394 p ublicfunction load_logger()687 protected function load_logger() 395 688 { 396 689 try … … 468 761 public function links_left($links) 469 762 { 470 return array_merge(array('settings' => '<a href="https://mofsy.ru/projects/wc-robokassa -premium" target="_blank">' . __('Premium addon', 'wc-robokassa') . '</a>'), $links);763 return array_merge(array('settings' => '<a href="https://mofsy.ru/projects/wc-robokassa" target="_blank">' . __('Official site', 'wc-robokassa') . '</a>'), $links); 471 764 } 472 765 … … 509 802 && $section !== 'robokassa') 510 803 { 804 ?> 805 <div class="notice notice-warning" style="padding-top: 10px; padding-bottom: 10px; line-height: 170%;"> 806 <?php 807 echo __('The plugin for accepting payments through ROBOKASSA for WooCommerce has been updated to a version that requires additional configuration.', 'wc-robokassa'); 808 echo '<br />'; 809 $link = '<a href="'. admin_url('admin.php?page=wc-settings&tab=checkout§ion=robokassa') .'">'.__('here', 'wc-robokassa').'</a>'; 810 echo sprintf( __( 'Press %s (go to payment gateway settings).', 'wc-robokassa' ), $link ) ?> 811 </div> 812 <?php 511 813 } 512 814 } … … 521 823 add_action('wc_robokassa_admin_options_form_right_column_show', array($this, 'admin_right_widget_status')); 522 824 add_action('wc_robokassa_admin_options_form_right_column_show', array($this, 'admin_right_widget_one')); 523 add_action('wc_robokassa_admin_options_form_right_column_show', array($this, 'admin_right_widget_two'));524 825 } 525 826 … … 637 938 638 939 /** 639 * Widget two640 */641 public function admin_right_widget_two()642 {643 echo '<div class="card text-white border-light bg-dark" style="margin-top: 10px;padding: 0;">644 <div class="card-header" style="padding: 10px;">645 <h5 style="margin: 0;padding: 0;">' . __('Extension', 'wc-robokassa') . '</h5>646 </div> <a href="https://mofsy.ru/projects/wc-robokassa-premium" target="_blank">647 <img src="' . WC_ROBOKASSA_URL . 'assets/img/wc-robokassa-premium-icon.png" class="card-img-top">648 </a>649 <div class="card-body text-center">650 ' . __('Even more opportunities to accept payments. Increase conversion and stability of the algorithms.', 'wc-robokassa') . '651 <p>652 <a href="https://mofsy.ru/projects/wc-robokassa-premium" class="btn btn-secondary" target="_blank">' . __('Official plugin page', 'wc-robokassa') . '</a>653 </p>654 </div></div>';655 }656 657 /**658 940 * Widget status 659 941 */ -
wc-robokassa/trunk/includes/functions-wc-robokassa.php
r2292827 r2334486 73 73 return WC_Robokassa()->get_logger(); 74 74 } 75 76 77 /** 78 * Load localisation files 79 */ 80 function wc_robokassa_plugin_text_domain() 81 { 82 /** 83 * WP 5.x or later 84 */ 85 if(function_exists('determine_locale')) 86 { 87 $locale = determine_locale(); 88 } 89 else 90 { 91 $locale = is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale(); 92 } 93 94 /** 95 * Change locale from external code 96 * 97 * @since 2.4.0 98 */ 99 $locale = apply_filters('plugin_locale', $locale, 'wc-robokassa'); 100 101 /** 102 * Unload & load 103 */ 104 unload_textdomain('wc-robokassa'); 105 load_textdomain('wc-robokassa', WP_LANG_DIR . '/wc-robokassa/wc-robokassa-' . $locale . '.mo'); 106 load_textdomain('wc-robokassa', WC_ROBOKASSA_PLUGIN_DIR . 'languages/wc-robokassa-' . $locale . '.mo'); 107 } -
wc-robokassa/trunk/languages/wc-robokassa-ru_RU.po
r2292827 r2334486 2 2 msgstr "" 3 3 "Project-Id-Version: Payment gateway - Robokassa for WooCommerce\n" 4 "POT-Creation-Date: 2020-0 4-26 21:21+0300\n"5 "PO-Revision-Date: 2020-0 4-26 21:26+0300\n"4 "POT-Creation-Date: 2020-07-02 22:42+0300\n" 5 "PO-Revision-Date: 2020-07-02 22:43+0300\n" 6 6 "Last-Translator: Mofsy <[email protected]>\n" 7 7 "Language-Team: Mofsy <[email protected]>\n" … … 12 12 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 13 13 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 14 "X-Generator: Poedit 2.2 .4\n"14 "X-Generator: Poedit 2.2\n" 15 15 "X-Poedit-Basepath: ..\n" 16 16 "X-Poedit-WPHeader: wc-robokassa.php\n" … … 22 22 "X-Poedit-SearchPathExcluded-0: *.js\n" 23 23 24 #: includes/class-wc-robokassa-method.php:154 25 #: includes/class-wc-robokassa-method.php:1135 24 #: includes/class-wc-robokassa-method.php:187 25 #: includes/class-wc-robokassa-method.php:1318 26 #: includes/class-wc-robokassa-sub-method.php:50 26 27 msgid "Robokassa" 27 28 msgstr "Робокасса" 28 29 29 #: includes/class-wc-robokassa-method.php:1 5930 #: includes/class-wc-robokassa-method.php:192 30 31 msgid "Pay via Robokassa." 31 32 msgstr "Оплата через Робокассу." 32 33 33 #: includes/class-wc-robokassa-method.php:913 34 #: includes/class-wc-robokassa-method.php:967 35 msgid "Activation" 36 msgstr "Активация" 37 38 #: includes/class-wc-robokassa-method.php:970 39 msgid "The code can be obtained from the plugin website:" 40 msgstr "Код можно получить на сайте плагина:" 41 42 #: includes/class-wc-robokassa-method.php:970 43 msgid "" 44 "This section will disappear after enter a valid code before the expiration " 45 "of the entered code, or its cancellation." 46 msgstr "" 47 "Этот раздел исчезнет после ввода действительного кода до истечения срока " 48 "действия введенного кода или его аннулирования." 49 50 #: includes/class-wc-robokassa-method.php:975 51 msgid "Input code" 52 msgstr "Ввод кода" 53 54 #: includes/class-wc-robokassa-method.php:978 55 msgid "" 56 "If enter the correct code, the current environment will be activated. Enter " 57 "the code only on the actual workstation." 58 msgstr "" 59 "При вводе правильного кода будет активировано текущее окружение. Вводите код " 60 "только на реальной рабочей станции." 61 62 #: includes/class-wc-robokassa-method.php:1028 63 msgid "Activate" 64 msgstr "Активация" 65 66 #: includes/class-wc-robokassa-method.php:1050 67 #: includes/class-wc-robokassa-sub-method.php:547 34 68 msgid "Main settings" 35 69 msgstr "Основные настройки" 36 70 37 #: includes/class-wc-robokassa-method.php: 91571 #: includes/class-wc-robokassa-method.php:1052 38 72 msgid "" 39 73 "Without these settings, the payment gateway will not work. Be sure to make " … … 43 77 "настройки в этом блоке." 44 78 45 #: includes/class-wc-robokassa-method.php:920 79 #: includes/class-wc-robokassa-method.php:1057 80 #: includes/class-wc-robokassa-sub-method.php:554 46 81 msgid "Online / Offline" 47 82 msgstr "Включено / Отключено" 48 83 49 #: includes/class-wc-robokassa-method.php: 92284 #: includes/class-wc-robokassa-method.php:1059 50 85 msgid "Tick the checkbox if you need to activate the payment gateway." 51 86 msgstr "Поставьте галочку, если вам нужно активировать платежный шлюз." 52 87 53 #: includes/class-wc-robokassa-method.php: 92388 #: includes/class-wc-robokassa-method.php:1060 54 89 msgid "" 55 90 "On disconnection, the payment gateway will not be available for selection on " … … 61 96 "временного отключения." 62 97 63 #: includes/class-wc-robokassa-method.php: 92998 #: includes/class-wc-robokassa-method.php:1066 64 99 msgid "Shop identifier" 65 100 msgstr "Идентификатор магазина" 66 101 67 #: includes/class-wc-robokassa-method.php: 931102 #: includes/class-wc-robokassa-method.php:1068 68 103 msgid "Unique identifier for shop from Robokassa." 69 104 msgstr "Уникальный идентификатор магазина из личного кабинета Робокассы." 70 105 71 #: includes/class-wc-robokassa-method.php: 93772 #: includes/class-wc-robokassa-method.php:1 031106 #: includes/class-wc-robokassa-method.php:1074 107 #: includes/class-wc-robokassa-method.php:1168 73 108 msgid "Hash calculation algorithm" 74 109 msgstr "Алгоритм вычисления хэша" 75 110 76 #: includes/class-wc-robokassa-method.php: 938111 #: includes/class-wc-robokassa-method.php:1075 77 112 msgid "" 78 113 "The algorithm must match the one specified in the personal account of " … … 82 117 "Робокассы." 83 118 84 #: includes/class-wc-robokassa-method.php: 95485 #: includes/class-wc-robokassa-method.php:1 048119 #: includes/class-wc-robokassa-method.php:1091 120 #: includes/class-wc-robokassa-method.php:1185 86 121 msgid "Password #1" 87 122 msgstr "Пароль #1" 88 123 89 #: includes/class-wc-robokassa-method.php: 956124 #: includes/class-wc-robokassa-method.php:1093 90 125 msgid "" 91 126 "Shop pass #1 must match the one specified in the personal account of " … … 95 130 "Робокассы." 96 131 97 #: includes/class-wc-robokassa-method.php: 96298 #: includes/class-wc-robokassa-method.php:1 056132 #: includes/class-wc-robokassa-method.php:1099 133 #: includes/class-wc-robokassa-method.php:1193 99 134 msgid "Password #2" 100 135 msgstr "Пароль #2" 101 136 102 #: includes/class-wc-robokassa-method.php: 964137 #: includes/class-wc-robokassa-method.php:1101 103 138 msgid "" 104 139 "Shop pass #2 must match the one specified in the personal account of " … … 108 143 "Робокассы." 109 144 110 #: includes/class-wc-robokassa-method.php: 968145 #: includes/class-wc-robokassa-method.php:1105 111 146 msgid "" 112 147 "Address to notify the site of the results of operations in the background. " … … 118 153 "настройках. Способ уведомления: POST." 119 154 120 #: includes/class-wc-robokassa-method.php: 972155 #: includes/class-wc-robokassa-method.php:1109 121 156 msgid "Result Url" 122 157 msgstr "Result Url" 123 158 124 #: includes/class-wc-robokassa-method.php: 979159 #: includes/class-wc-robokassa-method.php:1116 125 160 msgid "" 126 161 "The address for the user to go to the site after successful payment. Copy " … … 133 168 "Способ уведомления: POST. Вы можете указать другие адреса по вашему выбору." 134 169 135 #: includes/class-wc-robokassa-method.php: 983170 #: includes/class-wc-robokassa-method.php:1120 136 171 msgid "Success Url" 137 172 msgstr "Success Url" 138 173 139 #: includes/class-wc-robokassa-method.php: 990174 #: includes/class-wc-robokassa-method.php:1127 140 175 msgid "" 141 176 "The address for the user to go to the site, after payment with an error. " … … 148 183 "Способ уведомления: POST. Вы можете указать другие адреса по вашему выбору." 149 184 150 #: includes/class-wc-robokassa-method.php: 994185 #: includes/class-wc-robokassa-method.php:1131 151 186 msgid "Fail Url" 152 187 msgstr "Fail Url" 153 188 154 #: includes/class-wc-robokassa-method.php:1 015189 #: includes/class-wc-robokassa-method.php:1152 155 190 msgid "Parameters for test payments" 156 191 msgstr "Параметры для тестовых платежей" 157 192 158 #: includes/class-wc-robokassa-method.php:1 017193 #: includes/class-wc-robokassa-method.php:1154 159 194 msgid "" 160 195 "Passwords and hashing algorithms for test payments differ from those " … … 164 199 "указаны для реальных платежей." 165 200 166 #: includes/class-wc-robokassa-method.php:1 022201 #: includes/class-wc-robokassa-method.php:1159 167 202 msgid "Test mode" 168 203 msgstr "Тестовый режим" 169 204 170 #: includes/class-wc-robokassa-method.php:1024 171 msgid "Enable test mode?" 172 msgstr "Включить тестовый режим?" 173 174 #: includes/class-wc-robokassa-method.php:1025 205 #: includes/class-wc-robokassa-method.php:1161 206 #: includes/class-wc-robokassa-method.php:1203 207 #: includes/class-wc-robokassa-method.php:1277 208 msgid "Select the checkbox to enable this feature. Default is enabled." 209 msgstr "" 210 "Установите флажок, чтобы включить эту функцию. Значение по умолчанию " 211 "включено." 212 213 #: includes/class-wc-robokassa-method.php:1162 175 214 msgid "" 176 215 "When you activate the test mode, no funds will be debited. In this case, the " … … 183 222 "ложных заказов." 184 223 185 #: includes/class-wc-robokassa-method.php:1 032224 #: includes/class-wc-robokassa-method.php:1169 186 225 msgid "" 187 226 "The algorithm must match the one specified in the personal account of " … … 191 230 "Робокассы." 192 231 193 #: includes/class-wc-robokassa-method.php:1 050232 #: includes/class-wc-robokassa-method.php:1187 194 233 msgid "" 195 234 "Shop pass #1 for testing payments. The pass must match the one specified in " … … 199 238 "указан в личном кабинете Робокассы." 200 239 201 #: includes/class-wc-robokassa-method.php:1 058240 #: includes/class-wc-robokassa-method.php:1195 202 241 msgid "" 203 242 "Shop pass #2 for testing payments. The pass must match the one specified in " … … 207 246 "указан в личном кабинете Робокассы." 208 247 209 #: includes/class-wc-robokassa-method.php:1064 210 msgid "The notification is displayed on the test mode" 211 msgstr "Уведомление отображается в тестовом режиме" 212 213 #: includes/class-wc-robokassa-method.php:1066 214 #: includes/class-wc-robokassa-method.php:1125 215 #: includes/class-wc-robokassa-method.php:1177 216 #: includes/class-wc-robokassa-method.php:1286 217 #: includes/class-wc-robokassa-method.php:1295 218 #: includes/class-wc-robokassa-method.php:1304 219 #: includes/class-wc-robokassa-method.php:1313 220 #: includes/class-wc-robokassa-method.php:1322 221 #: includes/class-wc-robokassa-method.php:1331 222 #: includes/class-wc-robokassa-method.php:1379 223 #: includes/class-wc-robokassa-method.php:1388 224 msgid "Enable" 225 msgstr "Включить" 226 227 #: includes/class-wc-robokassa-method.php:1067 248 #: includes/class-wc-robokassa-method.php:1201 249 msgid "Test notification display on the test mode" 250 msgstr "Отображение уведомлений о тестировании в тестовом режиме" 251 252 #: includes/class-wc-robokassa-method.php:1204 228 253 msgid "" 229 254 "A notification about the activated test mode will be displayed when the " … … 232 257 "При оплате будет выведено уведомление об активированном тестовом режиме." 233 258 234 #: includes/class-wc-robokassa-method.php:1085 259 #: includes/class-wc-robokassa-method.php:1222 260 msgid "Sub methods" 261 msgstr "Дочерние методы" 262 263 #: includes/class-wc-robokassa-method.php:1224 264 msgid "General settings for the sub methods of payment." 265 msgstr "Основные настройки для дочерних методов платежа." 266 267 #: includes/class-wc-robokassa-method.php:1229 268 msgid "Enable sub methods" 269 msgstr "Включить дочерние методы" 270 271 #: includes/class-wc-robokassa-method.php:1231 272 #: includes/class-wc-robokassa-method.php:1240 273 #: includes/class-wc-robokassa-method.php:1249 274 #: includes/class-wc-robokassa-method.php:1308 275 #: includes/class-wc-robokassa-method.php:1360 276 #: includes/class-wc-robokassa-method.php:1469 277 #: includes/class-wc-robokassa-method.php:1478 278 #: includes/class-wc-robokassa-method.php:1487 279 #: includes/class-wc-robokassa-method.php:1496 280 #: includes/class-wc-robokassa-method.php:1505 281 #: includes/class-wc-robokassa-method.php:1514 282 #: includes/class-wc-robokassa-method.php:1564 283 #: includes/class-wc-robokassa-method.php:1573 284 #: includes/class-wc-robokassa-method.php:1651 285 #: includes/class-wc-robokassa-method.php:1660 286 #: includes/class-wc-robokassa-sub-method.php:584 287 msgid "Select the checkbox to enable this feature. Default is disabled." 288 msgstr "" 289 "Установите флажок, чтобы включить эту функцию. Значение по умолчанию " 290 "отключено." 291 292 #: includes/class-wc-robokassa-method.php:1232 293 msgid "Use of all mechanisms add a child of payment methods." 294 msgstr "Использование всех механизмов добавления дочерних способов оплаты." 295 296 #: includes/class-wc-robokassa-method.php:1238 297 msgid "Check available via the API" 298 msgstr "Проверка доступности через API" 299 300 #: includes/class-wc-robokassa-method.php:1241 301 msgid "Check whether child methods are currently available for payment." 302 msgstr "Проверять, доступны ли в настоящее время для оплаты дочерние методы." 303 304 #: includes/class-wc-robokassa-method.php:1247 305 msgid "Show the total amount including the fee" 306 msgstr "Показывать общую сумму включая комиссию" 307 308 #: includes/class-wc-robokassa-method.php:1250 309 msgid "" 310 "If you enable this option, the exact amount payable, including fees, will be " 311 "added to the payment method headers." 312 msgstr "" 313 "Если включите этот параметр, то точная сумма, подлежащая оплате, включая " 314 "сборы, будет добавлена в заголовки способов оплаты." 315 316 #: includes/class-wc-robokassa-method.php:1268 317 #: includes/class-wc-robokassa-sub-method.php:575 235 318 msgid "Interface" 236 319 msgstr "Интерфейс" 237 320 238 #: includes/class-wc-robokassa-method.php:1087 321 #: includes/class-wc-robokassa-method.php:1270 322 #: includes/class-wc-robokassa-sub-method.php:577 239 323 msgid "Customize the appearance. Can leave it at that." 240 324 msgstr "Настройка внешнего вида. Можете оставить все как есть." 241 325 242 #: includes/class-wc-robokassa-method.php:1092 243 msgid "Show gateway icon?" 244 msgstr "Показать иконку шлюза?" 245 246 #: includes/class-wc-robokassa-method.php:1094 247 msgid "Show" 248 msgstr "Показать" 249 250 #: includes/class-wc-robokassa-method.php:1096 326 #: includes/class-wc-robokassa-method.php:1275 327 #: includes/class-wc-robokassa-sub-method.php:582 328 msgid "Show icon?" 329 msgstr "Показать иконку?" 330 331 #: includes/class-wc-robokassa-method.php:1279 251 332 msgid "Next to the name of the payment method will display the logo Robokassa." 252 333 msgstr "Рядом с названием способа оплаты будет отображаться логотип Робокассы." 253 334 254 #: includes/class-wc-robokassa-method.php:1 101335 #: includes/class-wc-robokassa-method.php:1284 255 336 msgid "Language interface" 256 337 msgstr "Язык интерфейса" 257 338 258 #: includes/class-wc-robokassa-method.php:1 105339 #: includes/class-wc-robokassa-method.php:1288 259 340 msgid "Russian" 260 341 msgstr "Русский" 261 342 262 #: includes/class-wc-robokassa-method.php:1 106343 #: includes/class-wc-robokassa-method.php:1289 263 344 msgid "English" 264 345 msgstr "Английский" 265 346 266 #: includes/class-wc-robokassa-method.php:1 108347 #: includes/class-wc-robokassa-method.php:1291 267 348 msgid "What language interface displayed for the customer on Robokassa?" 268 349 msgstr "Какой язык показывать клиентам на стороне сервиса Робокасса?" 269 350 270 #: includes/class-wc-robokassa-method.php:1 114351 #: includes/class-wc-robokassa-method.php:1297 271 352 msgid "Language based on the locale?" 272 353 msgstr "Язык интерфейса на основе локали?" 273 354 274 #: includes/class-wc-robokassa-method.php:1 116355 #: includes/class-wc-robokassa-method.php:1299 275 356 msgid "Enable user language automatic detection?" 276 357 msgstr "Включить автоматическое определение языка?" 277 358 278 #: includes/class-wc-robokassa-method.php:1 117359 #: includes/class-wc-robokassa-method.php:1300 279 360 msgid "" 280 361 "Automatic detection of the users language from the WordPress environment." 281 362 msgstr "Автоматическое определение языка пользователей из среды WordPress." 282 363 283 #: includes/class-wc-robokassa-method.php:1 123364 #: includes/class-wc-robokassa-method.php:1306 284 365 msgid "Skip the received order page?" 285 366 msgstr "Пропустить страницу полученного заказа?" 286 367 287 #: includes/class-wc-robokassa-method.php:1 126368 #: includes/class-wc-robokassa-method.php:1309 288 369 msgid "This setting is used to reduce actions when users switch to payment." 289 370 msgstr "" … … 291 372 "пользователей на оплату." 292 373 293 #: includes/class-wc-robokassa-method.php:1132 374 #: includes/class-wc-robokassa-method.php:1315 375 #: includes/class-wc-robokassa-sub-method.php:590 294 376 msgid "Title" 295 377 msgstr "Название" 296 378 297 #: includes/class-wc-robokassa-method.php:1134 379 #: includes/class-wc-robokassa-method.php:1317 380 #: includes/class-wc-robokassa-sub-method.php:592 298 381 msgid "This is the name that the user sees during the payment." 299 382 msgstr "Заголовок, который видит пользователь в процессе оформления заказа." 300 383 301 #: includes/class-wc-robokassa-method.php:1140 384 #: includes/class-wc-robokassa-method.php:1323 385 #: includes/class-wc-robokassa-sub-method.php:598 302 386 msgid "Order button text" 303 387 msgstr "Название кнопки оплаты" 304 388 305 #: includes/class-wc-robokassa-method.php:1142 389 #: includes/class-wc-robokassa-method.php:1325 390 #: includes/class-wc-robokassa-sub-method.php:600 306 391 msgid "This is the button text that the user sees during the payment." 307 392 msgstr "" … … 309 394 "заказа." 310 395 311 #: includes/class-wc-robokassa-method.php:1143 396 #: includes/class-wc-robokassa-method.php:1326 397 #: includes/class-wc-robokassa-sub-method.php:601 312 398 msgid "Goto pay" 313 399 msgstr "Перейти к оплате" 314 400 315 #: includes/class-wc-robokassa-method.php:1148 401 #: includes/class-wc-robokassa-method.php:1331 402 #: includes/class-wc-robokassa-sub-method.php:606 316 403 msgid "Description" 317 404 msgstr "Описание" 318 405 319 #: includes/class-wc-robokassa-method.php:1150 406 #: includes/class-wc-robokassa-method.php:1333 407 #: includes/class-wc-robokassa-sub-method.php:608 320 408 msgid "" 321 409 "Description of the method of payment that the customer will see on our " … … 323 411 msgstr "Описанием метода оплаты которое клиент будет видеть на вашем сайте." 324 412 325 #: includes/class-wc-robokassa-method.php:1151 413 #: includes/class-wc-robokassa-method.php:1334 414 #: includes/class-wc-robokassa-sub-method.php:609 326 415 msgid "Payment via Robokassa." 327 416 msgstr "Оплата через Робокассу." 328 417 329 #: includes/class-wc-robokassa-method.php:1 168418 #: includes/class-wc-robokassa-method.php:1351 330 419 msgid "Cart content sending (54fz)" 331 420 msgstr "Отправка данных корзины (54 федеральный закон)" 332 421 333 #: includes/class-wc-robokassa-method.php:1 170422 #: includes/class-wc-robokassa-method.php:1353 334 423 msgid "" 335 424 "These settings are required only for legal entities in the absence of its " … … 339 428 "кассового аппарата." 340 429 341 #: includes/class-wc-robokassa-method.php:1 175430 #: includes/class-wc-robokassa-method.php:1358 342 431 msgid "The transfer of goods" 343 432 msgstr "Передача товаров" 344 433 345 #: includes/class-wc-robokassa-method.php:1 178434 #: includes/class-wc-robokassa-method.php:1361 346 435 msgid "" 347 436 "When you select the option, a check will be generated and sent to the tax " … … 355 444 "Федерации. Возможны расхождения в сумме НДС с суммой, рассчитанной магазином." 356 445 357 #: includes/class-wc-robokassa-method.php:1 184446 #: includes/class-wc-robokassa-method.php:1367 358 447 msgid "Taxation system" 359 448 msgstr "Система налогообложения" 360 449 361 #: includes/class-wc-robokassa-method.php:1 189450 #: includes/class-wc-robokassa-method.php:1372 362 451 msgid "General" 363 452 msgstr "Общая" 364 453 365 #: includes/class-wc-robokassa-method.php:1 190454 #: includes/class-wc-robokassa-method.php:1373 366 455 msgid "Simplified, income" 367 456 msgstr "Упрощенная, доход" 368 457 369 #: includes/class-wc-robokassa-method.php:1 191458 #: includes/class-wc-robokassa-method.php:1374 370 459 msgid "Simplified, income minus consumption" 371 460 msgstr "Упрощенная, доход минус расход" 372 461 373 #: includes/class-wc-robokassa-method.php:1 192462 #: includes/class-wc-robokassa-method.php:1375 374 463 msgid "Single tax on imputed income" 375 464 msgstr "Единый налог на вмененный доход" 376 465 377 #: includes/class-wc-robokassa-method.php:1 193466 #: includes/class-wc-robokassa-method.php:1376 378 467 msgid "Single agricultural tax" 379 468 msgstr "Единый сельскохозяйственный налог" 380 469 381 #: includes/class-wc-robokassa-method.php:1 194470 #: includes/class-wc-robokassa-method.php:1377 382 471 msgid "Patent system of taxation" 383 472 msgstr "Патентная система налогообложения" 384 473 385 #: includes/class-wc-robokassa-method.php:1 200474 #: includes/class-wc-robokassa-method.php:1383 386 475 msgid "Default VAT rate" 387 476 msgstr "НДС по умолчанию" 388 477 389 #: includes/class-wc-robokassa-method.php:1 205478 #: includes/class-wc-robokassa-method.php:1388 390 479 msgid "Without the vat" 391 480 msgstr "Без НДС" 392 481 393 #: includes/class-wc-robokassa-method.php:1 206482 #: includes/class-wc-robokassa-method.php:1389 394 483 msgid "VAT 0%" 395 484 msgstr "НДС 0%" 396 485 397 #: includes/class-wc-robokassa-method.php:1 207486 #: includes/class-wc-robokassa-method.php:1390 398 487 msgid "VAT 10%" 399 488 msgstr "НДС 10%" 400 489 401 #: includes/class-wc-robokassa-method.php:1 208490 #: includes/class-wc-robokassa-method.php:1391 402 491 msgid "VAT 20%" 403 492 msgstr "НДС 20%" 404 493 405 #: includes/class-wc-robokassa-method.php:1 209494 #: includes/class-wc-robokassa-method.php:1392 406 495 msgid "VAT receipt settlement rate 10/110" 407 496 msgstr "НДС рассчитанный по ставке 10/110" 408 497 409 #: includes/class-wc-robokassa-method.php:1 210498 #: includes/class-wc-robokassa-method.php:1393 410 499 msgid "VAT receipt settlement rate 20/120" 411 500 msgstr "НДС рассчитанный по ставке 20/120" 412 501 413 #: includes/class-wc-robokassa-method.php:1 216502 #: includes/class-wc-robokassa-method.php:1399 414 503 msgid "Indication of the calculation method" 415 504 msgstr "Указание метода расчета" 416 505 417 #: includes/class-wc-robokassa-method.php:1 217418 #: includes/class-wc-robokassa-method.php:1 236506 #: includes/class-wc-robokassa-method.php:1400 507 #: includes/class-wc-robokassa-method.php:1419 419 508 msgid "" 420 509 "The parameter is optional. If this parameter is not configured, the check " … … 424 513 "будет указано значение параметра по умолчанию из личного кабинета." 425 514 426 #: includes/class-wc-robokassa-method.php:1 222427 #: includes/class-wc-robokassa-method.php:1 241515 #: includes/class-wc-robokassa-method.php:1405 516 #: includes/class-wc-robokassa-method.php:1424 428 517 msgid "Default in Robokassa" 429 518 msgstr "По умолчанию в Робокассе" 430 519 431 #: includes/class-wc-robokassa-method.php:1 223520 #: includes/class-wc-robokassa-method.php:1406 432 521 msgid "Prepayment 100%" 433 522 msgstr "Предоплата 100%" 434 523 435 #: includes/class-wc-robokassa-method.php:1 224524 #: includes/class-wc-robokassa-method.php:1407 436 525 msgid "Partial prepayment" 437 526 msgstr "Частичная предоплата" 438 527 439 #: includes/class-wc-robokassa-method.php:1 225528 #: includes/class-wc-robokassa-method.php:1408 440 529 msgid "Advance" 441 530 msgstr "Аванс" 442 531 443 #: includes/class-wc-robokassa-method.php:1 226532 #: includes/class-wc-robokassa-method.php:1409 444 533 msgid "Full settlement" 445 534 msgstr "Полная предоплата" 446 535 447 #: includes/class-wc-robokassa-method.php:1 227536 #: includes/class-wc-robokassa-method.php:1410 448 537 msgid "Partial settlement and credit" 449 538 msgstr "Частичный расчет и кредит" 450 539 451 #: includes/class-wc-robokassa-method.php:1 228540 #: includes/class-wc-robokassa-method.php:1411 452 541 msgid "Transfer on credit" 453 542 msgstr "Передача в кредит" 454 543 455 #: includes/class-wc-robokassa-method.php:1 229544 #: includes/class-wc-robokassa-method.php:1412 456 545 msgid "Credit payment" 457 546 msgstr "Платеж по кредиту" 458 547 459 #: includes/class-wc-robokassa-method.php:1 235548 #: includes/class-wc-robokassa-method.php:1418 460 549 msgid "Sign of the subject of calculation" 461 550 msgstr "Признак предмета расчета" 462 551 463 #: includes/class-wc-robokassa-method.php:1 242552 #: includes/class-wc-robokassa-method.php:1425 464 553 msgid "Product" 465 554 msgstr "Товар" 466 555 467 #: includes/class-wc-robokassa-method.php:1 243556 #: includes/class-wc-robokassa-method.php:1426 468 557 msgid "Excisable goods" 469 558 msgstr "Подакцизные товары" 470 559 471 #: includes/class-wc-robokassa-method.php:1 244560 #: includes/class-wc-robokassa-method.php:1427 472 561 msgid "Work" 473 562 msgstr "Работа" 474 563 475 #: includes/class-wc-robokassa-method.php:1 245564 #: includes/class-wc-robokassa-method.php:1428 476 565 msgid "Service" 477 566 msgstr "Услуга" 478 567 479 #: includes/class-wc-robokassa-method.php:1 246568 #: includes/class-wc-robokassa-method.php:1429 480 569 msgid "Gambling rate" 481 570 msgstr "Ставка на азартные игры" 482 571 483 #: includes/class-wc-robokassa-method.php:1 247572 #: includes/class-wc-robokassa-method.php:1430 484 573 msgid "Gambling win" 485 574 msgstr "Выигрыш в азартных играх" 486 575 487 #: includes/class-wc-robokassa-method.php:1 248576 #: includes/class-wc-robokassa-method.php:1431 488 577 msgid "Lottery ticket" 489 578 msgstr "Лотерейный билет" 490 579 491 #: includes/class-wc-robokassa-method.php:1 249580 #: includes/class-wc-robokassa-method.php:1432 492 581 msgid "Winning the lottery" 493 582 msgstr "Выигрыш в лотерею" 494 583 495 #: includes/class-wc-robokassa-method.php:1 250584 #: includes/class-wc-robokassa-method.php:1433 496 585 msgid "Results of intellectual activity" 497 586 msgstr "Результаты интеллектуальной деятельности" 498 587 499 #: includes/class-wc-robokassa-method.php:1 251588 #: includes/class-wc-robokassa-method.php:1434 500 589 msgid "Payment" 501 590 msgstr "Платеж" 502 591 503 #: includes/class-wc-robokassa-method.php:1 252592 #: includes/class-wc-robokassa-method.php:1435 504 593 msgid "Agency fee" 505 594 msgstr "Агентское вознаграждение" 506 595 507 #: includes/class-wc-robokassa-method.php:1 253596 #: includes/class-wc-robokassa-method.php:1436 508 597 msgid "Compound subject of calculation" 509 598 msgstr "Соединение при подсчете" 510 599 511 #: includes/class-wc-robokassa-method.php:1 254600 #: includes/class-wc-robokassa-method.php:1437 512 601 msgid "Another object of the calculation" 513 602 msgstr "Иной предмет расчета" 514 603 515 #: includes/class-wc-robokassa-method.php:1 255604 #: includes/class-wc-robokassa-method.php:1438 516 605 msgid "Property right" 517 606 msgstr "Имущественное право собственности" 518 607 519 #: includes/class-wc-robokassa-method.php:1 256608 #: includes/class-wc-robokassa-method.php:1439 520 609 msgid "Extraordinary income" 521 610 msgstr "Внереализационный доход" 522 611 523 #: includes/class-wc-robokassa-method.php:1 257612 #: includes/class-wc-robokassa-method.php:1440 524 613 msgid "Insurance premium" 525 614 msgstr "Страховая премия" 526 615 527 #: includes/class-wc-robokassa-method.php:1 258616 #: includes/class-wc-robokassa-method.php:1441 528 617 msgid "Sales tax" 529 618 msgstr "Налог с продаж" 530 619 531 #: includes/class-wc-robokassa-method.php:1 259620 #: includes/class-wc-robokassa-method.php:1442 532 621 msgid "Resort fee" 533 622 msgstr "Курортный сбор" 534 623 535 #: includes/class-wc-robokassa-method.php:1 277624 #: includes/class-wc-robokassa-method.php:1460 536 625 msgid "Orders notes" 537 626 msgstr "Заметки для заказов" 538 627 539 #: includes/class-wc-robokassa-method.php:1 279628 #: includes/class-wc-robokassa-method.php:1462 540 629 msgid "Settings for adding notes to orders. All are off by default." 541 630 msgstr "" 542 631 "Настройки для добавления примечаний к заказам. По умолчанию все выключены." 543 632 544 #: includes/class-wc-robokassa-method.php:1 284633 #: includes/class-wc-robokassa-method.php:1467 545 634 msgid "Errors when verifying the signature of requests" 546 635 msgstr "Ошибки при проверке подписи запросов" 547 636 548 #: includes/class-wc-robokassa-method.php:1 287637 #: includes/class-wc-robokassa-method.php:1470 549 638 msgid "" 550 639 "Recording a errors when verifying the signature of requests from Robokassa." 551 640 msgstr "Запись ошибок при проверке подписи запросов от Робокассы." 552 641 553 #: includes/class-wc-robokassa-method.php:1 293642 #: includes/class-wc-robokassa-method.php:1476 554 643 msgid "Process payments" 555 644 msgstr "Процесс платежей" 556 645 557 #: includes/class-wc-robokassa-method.php:1 296646 #: includes/class-wc-robokassa-method.php:1479 558 647 msgid "" 559 648 "Recording information about the beginning of the payment process by the user." 560 649 msgstr "Запись информации о начале процесса оплаты пользователем." 561 650 562 #: includes/class-wc-robokassa-method.php:1 302651 #: includes/class-wc-robokassa-method.php:1485 563 652 msgid "Successful payments" 564 653 msgstr "Успешные оплаты" 565 654 566 #: includes/class-wc-robokassa-method.php:1 305655 #: includes/class-wc-robokassa-method.php:1488 567 656 msgid "Recording information about received requests with successful payment." 568 657 msgstr "Запись информации о полученных запросах с успешной оплатой." 569 658 570 #: includes/class-wc-robokassa-method.php:1 311659 #: includes/class-wc-robokassa-method.php:1494 571 660 msgid "Background requests" 572 661 msgstr "Фоновые запросы" 573 662 574 #: includes/class-wc-robokassa-method.php:1 314663 #: includes/class-wc-robokassa-method.php:1497 575 664 msgid "" 576 665 "Recording information about the background queries about transactions from " … … 578 667 msgstr "Запись информации о фоновых запросах по транзакциям от Робокассы." 579 668 580 #: includes/class-wc-robokassa-method.php:1 320669 #: includes/class-wc-robokassa-method.php:1503 581 670 msgid "Failed requests" 582 671 msgstr "Неудачные запросы" 583 672 584 #: includes/class-wc-robokassa-method.php:1 323673 #: includes/class-wc-robokassa-method.php:1506 585 674 msgid "" 586 675 "Recording information about the clients return to the canceled payment page." 587 676 msgstr "Запись информации о возврате клиентов на страницу отмененного платежа." 588 677 589 #: includes/class-wc-robokassa-method.php:1 329678 #: includes/class-wc-robokassa-method.php:1512 590 679 msgid "Success requests" 591 680 msgstr "Успешные запросы" 592 681 593 #: includes/class-wc-robokassa-method.php:1 332682 #: includes/class-wc-robokassa-method.php:1515 594 683 msgid "" 595 684 "Recording information about the clients return to the success payment page." 596 685 msgstr "Запись информации о возврате клиентов на страницу успешного платежа." 597 686 598 #: includes/class-wc-robokassa-method.php:1 350687 #: includes/class-wc-robokassa-method.php:1533 599 688 msgid "Technical details" 600 689 msgstr "Технические детали" 601 690 602 #: includes/class-wc-robokassa-method.php:1 352691 #: includes/class-wc-robokassa-method.php:1535 603 692 msgid "" 604 693 "Setting technical parameters. Used by technical specialists. Can leave it at " … … 608 697 "Можете оставить все как есть." 609 698 610 #: includes/class-wc-robokassa-method.php:1 357699 #: includes/class-wc-robokassa-method.php:1542 611 700 msgid "Logging" 612 701 msgstr "Ведение журнала" 613 702 614 #: includes/class-wc-robokassa-method.php:1 359703 #: includes/class-wc-robokassa-method.php:1544 615 704 msgid "" 616 705 "You can enable gateway logging, specify the level of error that you want to " … … 622 711 "удаляются. По умолчанию частота ошибок не должна быть меньше, чем ошибка." 623 712 624 #: includes/class-wc-robokassa-method.php:1363 713 #: includes/class-wc-robokassa-method.php:1544 714 msgid "Current file: " 715 msgstr "Текущий файл: " 716 717 #: includes/class-wc-robokassa-method.php:1548 625 718 msgid "Off" 626 719 msgstr "Отключить" 627 720 628 #: includes/class-wc-robokassa-method.php:1 377721 #: includes/class-wc-robokassa-method.php:1562 629 722 msgid "Cart clearing" 630 723 msgstr "Очистка корзины" 631 724 632 #: includes/class-wc-robokassa-method.php:1 380725 #: includes/class-wc-robokassa-method.php:1565 633 726 msgid "" 634 727 "Clean the customers cart if payment is successful? If so, the shopping cart " … … 640 733 "в корзине." 641 734 642 #: includes/class-wc-robokassa-method.php:1 386735 #: includes/class-wc-robokassa-method.php:1571 643 736 msgid "Mark order as cancelled?" 644 737 msgstr "Отметить заказ как отмененный?" 645 738 646 #: includes/class-wc-robokassa-method.php:1 389739 #: includes/class-wc-robokassa-method.php:1574 647 740 msgid "" 648 741 "Change the status of the order to canceled when the user cancels the " … … 653 746 "Статус меняется при возврате пользователя на страницу отмененного платежа." 654 747 655 #: includes/class-wc-robokassa-method.php:1482 748 #: includes/class-wc-robokassa-method.php:1605 749 #, php-format 750 msgid "Any "%1$s" method" 751 msgstr "" 752 753 #: includes/class-wc-robokassa-method.php:1621 754 #, php-format 755 msgid "%1$s (#%2$s)" 756 msgstr "" 757 758 #: includes/class-wc-robokassa-method.php:1624 759 #, php-format 760 msgid "%1$s – %2$s" 761 msgstr "" 762 763 #: includes/class-wc-robokassa-method.php:1624 764 msgid "Other locations" 765 msgstr "Другие пункты" 766 767 #: includes/class-wc-robokassa-method.php:1633 768 msgid "Enable for shipping methods" 769 msgstr "Включить для способов доставки" 770 771 #: includes/class-wc-robokassa-method.php:1638 772 msgid "" 773 "If only available for certain methods, set it up here. Leave blank to enable " 774 "for all methods." 775 msgstr "" 776 "Если платежный метод доступен только для определенных методов доставки, " 777 "установите их здесь. Оставьте пустым, чтобы включить все методы." 778 779 #: includes/class-wc-robokassa-method.php:1642 780 msgid "Select shipping methods" 781 msgstr "Выберите способы доставки" 782 783 #: includes/class-wc-robokassa-method.php:1649 784 msgid "Payment of the commission for the buyer" 785 msgstr "Оплата комиссии за покупателя" 786 787 #: includes/class-wc-robokassa-method.php:1652 788 msgid "" 789 "When you enable this feature, the store will pay all customer Commission " 790 "costs. Works only when you select a payment method on the site and for " 791 "stores individuals." 792 msgstr "" 793 "Когда включаете эту функцию, магазин оплачивает все комиссионные расходы за " 794 "клиента. Работает только при выборе способа оплаты на сайте и для магазинов " 795 "физических лиц." 796 797 #: includes/class-wc-robokassa-method.php:1658 798 msgid "" 799 "Preliminary conversion of order currency into roubles for commission " 800 "calculation" 801 msgstr "Предварительная конвертация валюты заказа в рубли для расчета комиссии" 802 803 #: includes/class-wc-robokassa-method.php:1661 804 msgid "" 805 "If the calculation of the customer commission is included and the order is " 806 "not in roubles, the order will be converted to roubles based on data from " 807 "the Central Bank of Russia.\n" 808 "\t\t\tThis is required due to poor Robokassa API." 809 msgstr "" 810 "Если расчет комиссии клиента включен и заказ не выражен в рублях, то заказ " 811 "будет конвертирован в рубли на основании данных Центрального Банка России.\n" 812 "Это необходимо из-за плохого API Робокассы." 813 814 #: includes/class-wc-robokassa-method.php:1780 656 815 msgid "Return to payment gateways" 657 816 msgstr "Вернутся к платежным шлюзам" 658 817 659 #: includes/class-wc-robokassa-method.php:1 541818 #: includes/class-wc-robokassa-method.php:1837 660 819 msgid "" 661 820 "TEST mode is active. Payment will not be charged. After checking, disable " … … 665 824 "режим." 666 825 667 #: includes/class-wc-robokassa-method.php:1 565826 #: includes/class-wc-robokassa-method.php:1860 668 827 msgid "" 669 828 "The customer clicked the payment button, but an error occurred while getting " … … 672 831 "Клиент нажал кнопку оплаты, но при получении объекта заказа произошла ошибка." 673 832 674 #: includes/class-wc-robokassa-method.php:1 586833 #: includes/class-wc-robokassa-method.php:1881 675 834 msgid "" 676 835 "The customer clicked the payment button and was sent to the side of the " … … 678 837 msgstr "Клиент нажал на кнопку оплаты и был отправлен в сторону Робокассы." 679 838 680 #: includes/class-wc-robokassa-method.php:1 600839 #: includes/class-wc-robokassa-method.php:1895 681 840 msgid "" 682 841 "The customer clicked the payment button and was sent to the page of the " … … 685 844 "Клиент нажал кнопку оплаты и был отправлен на страницу полученного заказа." 686 845 687 #: includes/class-wc-robokassa-method.php:1666 846 #: includes/class-wc-robokassa-method.php:1996 847 #: includes/class-wc-robokassa-sub-method.php:250 688 848 msgid "Order number: " 689 849 msgstr "Номер заказа: " 690 850 691 #: includes/class-wc-robokassa-method.php:1784 851 #: includes/class-wc-robokassa-method.php:2115 852 #: includes/class-wc-robokassa-sub-method.php:396 692 853 msgid "Pay" 693 854 msgstr "Оплатить" 694 855 695 #: includes/class-wc-robokassa-method.php:1785 856 #: includes/class-wc-robokassa-method.php:2116 857 #: includes/class-wc-robokassa-sub-method.php:397 696 858 msgid "Cancel & return to cart" 697 859 msgstr "Отменить и вернутся в корзину" 698 860 699 #: includes/class-wc-robokassa-method.php: 1879861 #: includes/class-wc-robokassa-method.php:2210 700 862 msgid "Delivery" 701 863 msgstr "Доставка" 702 864 703 #: includes/class-wc-robokassa-method.php:2 101865 #: includes/class-wc-robokassa-method.php:2434 704 866 msgid "Order not found." 705 867 msgstr "Заказ не найден." 706 868 707 #: includes/class-wc-robokassa-method.php:2 117869 #: includes/class-wc-robokassa-method.php:2450 708 870 #, php-format 709 871 msgid "Robokassa request. Sum: %1$s. Signature: %2$s. Remote signature: %3$s" … … 711 873 "Запрос от Робокассы. Сумма: %1$s. Подпись: %2$s. Удаленная подпись: %3$s" 712 874 713 #: includes/class-wc-robokassa-method.php:2 136875 #: includes/class-wc-robokassa-method.php:2469 714 876 #, php-format 715 877 msgid "Validate hash error. Local: %1$s Remote: %2$s" 716 878 msgstr "Ошибка валидации хеша. Локальный: %1$s Удаленный: %2$s" 717 879 718 #: includes/class-wc-robokassa-method.php:2 151880 #: includes/class-wc-robokassa-method.php:2484 719 881 msgid "Order successfully paid (TEST MODE)." 720 882 msgstr "Счет успешно оплачен (ТЕСТОВЫЙ ПЛАТЕЖ)" 721 883 722 #: includes/class-wc-robokassa-method.php:2 160884 #: includes/class-wc-robokassa-method.php:2493 723 885 msgid "Order successfully paid." 724 886 msgstr "Счет успешно оплачен." 725 887 726 #: includes/class-wc-robokassa-method.php:2 170888 #: includes/class-wc-robokassa-method.php:2503 727 889 msgid "Payment error, please pay other time." 728 890 msgstr "Ошибка платежа, пожалуйста повторите попытку позже." 729 891 730 #: includes/class-wc-robokassa-method.php:2 178892 #: includes/class-wc-robokassa-method.php:2511 731 893 msgid "The client returned to the payment success page." 732 894 msgstr "Клиент вернулся на страницу успешной оплаты." 733 895 734 #: includes/class-wc-robokassa-method.php:2 199896 #: includes/class-wc-robokassa-method.php:2532 735 897 msgid "" 736 898 "Order cancellation. The client returned to the payment cancellation page." 737 899 msgstr "Отмена заказа. Клиент вернулся на страницу отмены платежа." 738 900 739 #: includes/class-wc-robokassa-method.php:2 217901 #: includes/class-wc-robokassa-method.php:2550 740 902 msgid "Api request error. Action not found." 741 903 msgstr "Ошибка запроса к API. Действие не найдено." 742 904 743 #: includes/class-wc-robokassa-method.php:2273 905 #: includes/class-wc-robokassa-method.php:2737 906 msgid "" 907 "The activation was not success. It may be difficult to release new updates." 908 msgstr "" 909 "Активация не была выполнена. Возможно, будет сложно выпустить новые " 910 "обновления." 911 912 #: includes/class-wc-robokassa-method.php:2754 744 913 msgid "disconnected" 745 914 msgstr "отключено" 746 915 747 #: includes/class-wc-robokassa-method.php:2 279916 #: includes/class-wc-robokassa-method.php:2760 748 917 msgid "connected" 749 918 msgstr "подключено" 750 919 751 #: includes/class-wc-robokassa-method.php:2 283920 #: includes/class-wc-robokassa-method.php:2764 752 921 msgid "API Robokassa: " 753 922 msgstr "API Робокассы: " 754 923 755 #: includes/class-wc-robokassa-method.php:2 298924 #: includes/class-wc-robokassa-method.php:2779 756 925 msgid "active" 757 926 msgstr "активно" 758 927 759 #: includes/class-wc-robokassa-method.php:2 304928 #: includes/class-wc-robokassa-method.php:2785 760 929 msgid "inactive" 761 930 msgstr "неактивно" 762 931 763 #: includes/class-wc-robokassa-method.php:2 308932 #: includes/class-wc-robokassa-method.php:2789 764 933 msgid "Test mode: " 765 934 msgstr "Тестовый режим: " 766 935 767 #: includes/class-wc-robokassa-method.php:2 331936 #: includes/class-wc-robokassa-method.php:2812 768 937 msgid "Currency: " 769 938 msgstr "Валюта: " 770 939 771 #: includes/class-wc-robokassa-method.php:2 349940 #: includes/class-wc-robokassa-method.php:2830 772 941 msgid "" 773 942 "The logging level is too low. Need to increase the level after debugging." … … 775 944 "Уровень логирования слишком низок. Нужно увеличить уровень после отладки." 776 945 777 #: includes/class-wc-robokassa.php:470 778 msgid "Premium addon" 779 msgstr "Премиум дополнение" 780 781 #: includes/class-wc-robokassa.php:485 946 #: includes/class-wc-robokassa-sub-method.php:55 947 msgid "Pay via Robokassa. Child method for Robokassa." 948 msgstr "Оплата через Робокассу. Дочерний метод для Робокассы." 949 950 #: includes/class-wc-robokassa-sub-method.php:549 951 msgid "" 952 "Work is impossible without these settings. Carefully specify the correct " 953 "data." 954 msgstr "Работа невозможна без этих настроек." 955 956 #: includes/class-wc-robokassa-sub-method.php:556 957 msgid "Enable display of the payment method on the website" 958 msgstr "Включить отображение платежного метода на сайте" 959 960 #: includes/class-wc-robokassa.php:379 961 msgid "This activation code is active." 962 msgstr "Этот код активации активен." 963 964 #: includes/class-wc-robokassa.php:380 965 msgid "Error: This activation code has expired." 966 msgstr "Ошибка: Этот код активации истек." 967 968 #: includes/class-wc-robokassa.php:381 969 msgid "Activation code republished. Awaiting reactivation." 970 msgstr "Код активации переиздан. Ожидание повторной активации." 971 972 #: includes/class-wc-robokassa.php:382 973 msgid "Error: This activation code has been suspended." 974 msgstr "Ошибка: Этот код активации приостановлен." 975 976 #: includes/class-wc-robokassa.php:383 977 msgid "This activation code is not found." 978 msgstr "Указанный код активации не найден." 979 980 #: includes/class-wc-robokassa.php:384 981 msgid "This activation code is active (localhost)." 982 msgstr "Этот код активации активен (localhost)." 983 984 #: includes/class-wc-robokassa.php:385 985 msgid "Error: This activation code is pending review." 986 msgstr "Ошибка: Этот код активации находится на рассмотрении." 987 988 #: includes/class-wc-robokassa.php:386 989 msgid "" 990 "Error: This version of the software was released after your download access " 991 "expired. Please downgrade software or contact support for more information." 992 msgstr "" 993 "Ошибка: Эта версия программы была выпущена после того, как истек срок " 994 "доступа к загрузкам. Пожалуйста, понизьте класс программного обеспечения или " 995 "свяжитесь со службой поддержки для получения более подробной информации." 996 997 #: includes/class-wc-robokassa.php:387 998 msgid "Error: The activation code variable is empty." 999 msgstr "Ошибка: Переменная кода активации пуста." 1000 1001 #: includes/class-wc-robokassa.php:388 1002 msgid "Error: I could not obtain a new local code." 1003 msgstr "Ошибка: Я не смог получить новый локальный код." 1004 1005 #: includes/class-wc-robokassa.php:389 1006 msgid "Error: The maximum local code delay period has expired." 1007 msgstr "Ошибка: Максимальный период задержки локального кода истек." 1008 1009 #: includes/class-wc-robokassa.php:390 1010 msgid "Error: The local key has been tampered with or is invalid." 1011 msgstr "Ошибка: Локальный ключ был подделан или недействителен." 1012 1013 #: includes/class-wc-robokassa.php:391 1014 msgid "Error: The local code is invalid for this location." 1015 msgstr "Ошибка: локальный код недействителен для этого места." 1016 1017 #: includes/class-wc-robokassa.php:392 1018 msgid "" 1019 "Error: Please create the following file (and directories if they dont exist " 1020 "already): " 1021 msgstr "" 1022 "Ошибка: Пожалуйста, создайте следующий файл (и каталоги, если они еще не " 1023 "существуют): " 1024 1025 #: includes/class-wc-robokassa.php:393 1026 msgid "Error: Please make the following path writable: " 1027 msgstr "Ошибка: Пожалуйста, сделайте следующий путь доступным для записи: " 1028 1029 #: includes/class-wc-robokassa.php:394 1030 msgid "Error: I could not determine the local key storage on clear." 1031 msgstr "Ошибка: Я не смог определить локальное хранилище ключей на чистоте." 1032 1033 #: includes/class-wc-robokassa.php:395 1034 msgid "Error: I could not save the local key." 1035 msgstr "Ошибка: Я не смог сохранить локальный ключ." 1036 1037 #: includes/class-wc-robokassa.php:396 1038 msgid "Error: The local code is invalid for this activation code." 1039 msgstr "Ошибка: Локальный код недействителен для указанного кода активации." 1040 1041 #: includes/class-wc-robokassa.php:397 1042 msgid "Error: This activation code has been deleted." 1043 msgstr "Ошибка: Этот код активации был удален." 1044 1045 #: includes/class-wc-robokassa.php:398 1046 msgid "Error: This activation code has draft." 1047 msgstr "Ошибка: Этот код активации имеет черновик." 1048 1049 #: includes/class-wc-robokassa.php:399 1050 msgid "Error: This activation code has available." 1051 msgstr "Ошибка: Этот код активации доступен." 1052 1053 #: includes/class-wc-robokassa.php:400 1054 msgid "Error: This activation code has been blocked." 1055 msgstr "Ошибка: Этот код активации заблокирован." 1056 1057 #: includes/class-wc-robokassa.php:763 1058 msgid "Official site" 1059 msgstr "Официальная страница" 1060 1061 #: includes/class-wc-robokassa.php:778 782 1062 msgid "Settings" 783 1063 msgstr "Настройки" 784 1064 785 #: includes/class-wc-robokassa.php:626 1065 #: includes/class-wc-robokassa.php:807 1066 msgid "" 1067 "The plugin for accepting payments through ROBOKASSA for WooCommerce has been " 1068 "updated to a version that requires additional configuration." 1069 msgstr "" 1070 "Плагин для приема платежей через Робокассу для WooCommerce был обновлен до " 1071 "версии, требующей дополнительной настройки." 1072 1073 #: includes/class-wc-robokassa.php:809 1074 msgid "here" 1075 msgstr "сюда" 1076 1077 #: includes/class-wc-robokassa.php:810 1078 #, php-format 1079 msgid "Press %s (go to payment gateway settings)." 1080 msgstr "Нажмите %s (для перехода к настройкам платежного шлюза)." 1081 1082 #: includes/class-wc-robokassa.php:927 786 1083 msgid "Useful information" 787 1084 msgstr "Полезная информация" 788 1085 789 #: includes/class-wc-robokassa.php: 630 includes/class-wc-robokassa.php:6521086 #: includes/class-wc-robokassa.php:931 790 1087 msgid "Official plugin page" 791 1088 msgstr "Официальная страница" 792 1089 793 #: includes/class-wc-robokassa.php: 6311090 #: includes/class-wc-robokassa.php:932 794 1091 msgid "Related news: ROBOKASSA" 795 1092 msgstr "Новости по теме Робокасса" 796 1093 797 #: includes/class-wc-robokassa.php: 6321094 #: includes/class-wc-robokassa.php:933 798 1095 msgid "Plugins for WooCommerce" 799 1096 msgstr "Плагины для WooCommerce" 800 1097 801 #: includes/class-wc-robokassa.php:645 802 msgid "Extension" 803 msgstr "Расширение" 804 805 #: includes/class-wc-robokassa.php:650 806 msgid "" 807 "Even more opportunities to accept payments. Increase conversion and " 808 "stability of the algorithms." 809 msgstr "" 810 "Еще больше возможностей принимать платежи. Повышение конверсии и " 811 "стабильности алгоритмов." 812 813 #: includes/class-wc-robokassa.php:671 1098 #: includes/class-wc-robokassa.php:953 814 1099 msgid "Errors not found. Payment acceptance is active." 815 1100 msgstr "Ошибки не найдены. Прием платежей активен." 816 1101 817 #: includes/class-wc-robokassa.php: 6751102 #: includes/class-wc-robokassa.php:957 818 1103 msgid "" 819 1104 "Warnings found. They are highlighted in yellow. You should attention to them." … … 822 1107 "них внимание." 823 1108 824 #: includes/class-wc-robokassa.php: 6791109 #: includes/class-wc-robokassa.php:961 825 1110 msgid "" 826 1111 "Critical errors were detected. They are highlighted in red. Payment " … … 830 1115 "платежей не активен." 831 1116 832 #: includes/class-wc-robokassa.php: 6831117 #: includes/class-wc-robokassa.php:965 833 1118 msgid "Status" 834 1119 msgstr "Состояние" 1120 1121 #: includes/submethods/class-wc-robokassa-bank-alfabank-method.php:34 1122 msgid "Alfa-Click" 1123 msgstr "Альфа-клик" 1124 1125 #: includes/submethods/class-wc-robokassa-bank-bank-avb-method.php:34 1126 msgid "Bank AVB" 1127 msgstr "" 1128 1129 #: includes/submethods/class-wc-robokassa-bank-bank-bin-method.php:34 1130 msgid "BINBANK" 1131 msgstr "БинБанк" 1132 1133 #: includes/submethods/class-wc-robokassa-bank-bank-fbid-method.php:34 1134 msgid "Federal Bank For Innovation And Development" 1135 msgstr "" 1136 1137 #: includes/submethods/class-wc-robokassa-bank-bank-inteza-method.php:34 1138 msgid "Banca Intesa" 1139 msgstr "Банк Интеза" 1140 1141 #: includes/submethods/class-wc-robokassa-bank-bank-min-method.php:34 1142 msgid "Moscow Industrial Bank" 1143 msgstr "Московский Индустриальный Банк" 1144 1145 #: includes/submethods/class-wc-robokassa-bank-bank-sov-com-method.php:34 1146 msgid "Sovcombank" 1147 msgstr "СовКомБанк" 1148 1149 #: includes/submethods/class-wc-robokassa-bank-bank-trust-method.php:34 1150 msgid "National Bank TRUST" 1151 msgstr "Национальный банк Траст" 1152 1153 #: includes/submethods/class-wc-robokassa-bank-vtb4-method.php:34 1154 msgid "VTB" 1155 msgstr "ВТБ" 1156 1157 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-apple-pay-method.php:34 1158 msgid "Apple Pay" 1159 msgstr "Apple Pay" 1160 1161 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-halva-method.php:34 1162 msgid "Card Halva" 1163 msgstr "Карта Халва" 1164 1165 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-method.php:34 1166 msgid "Bank Card" 1167 msgstr "Банковская карта" 1168 1169 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-samsung-pay-method.php:34 1170 msgid "Samsung Pay" 1171 msgstr "Samsung Pay" 1172 1173 #: includes/submethods/class-wc-robokassa-emoney-elecsnet-wallet-method.php:34 1174 msgid "ElecsnetWallet" 1175 msgstr "Кошелек Элекснет" 1176 1177 #: includes/submethods/class-wc-robokassa-emoney-qiwi-wallet-method.php:34 1178 msgid "QIWI Wallet" 1179 msgstr "Киви.Кошелек" 1180 1181 #: includes/submethods/class-wc-robokassa-emoney-w1-method.php:34 1182 msgid "RUR W1" 1183 msgstr "" 1184 1185 #: includes/submethods/class-wc-robokassa-emoney-wmr-method.php:34 1186 msgid "WMR" 1187 msgstr "Webmoney WMR" 1188 1189 #: includes/submethods/class-wc-robokassa-emoney-yandex-money-method.php:34 1190 msgid "Yandex.Money" 1191 msgstr "Яндекс.Деньги" 1192 1193 #: includes/submethods/class-wc-robokassa-mobile-phone-beeline-method.php:34 1194 msgid "Beeline" 1195 msgstr "Билайн" 1196 1197 #: includes/submethods/class-wc-robokassa-mobile-phone-megafon-method.php:34 1198 msgid "Megafon" 1199 msgstr "Мегафон" 1200 1201 #: includes/submethods/class-wc-robokassa-mobile-phone-mts-method.php:34 1202 msgid "Mts" 1203 msgstr "МТС" 1204 1205 #: includes/submethods/class-wc-robokassa-mobile-phone-tattelecom-method.php:34 1206 msgid "Tattelecom" 1207 msgstr "Таттелеком" 1208 1209 #: includes/submethods/class-wc-robokassa-mobile-phone-tele2-method.php:34 1210 msgid "Tele2" 1211 msgstr "Теле2" 1212 1213 #: includes/submethods/class-wc-robokassa-other-biocoin-method.php:34 1214 msgid "BioCoin" 1215 msgstr "BioCoin" 1216 1217 #: includes/submethods/class-wc-robokassa-other-store-euroset-method.php:34 1218 msgid "Euroset" 1219 msgstr "Евросеть" 1220 1221 #: includes/submethods/class-wc-robokassa-other-store-svyaznoy-method.php:34 1222 msgid "Svyaznoy" 1223 msgstr "Связной" 1224 1225 #: includes/submethods/class-wc-robokassa-terminals-terminals-elecsnet-method.php:34 1226 msgid "TerminalsElecsnet" 1227 msgstr "Терминалы Элекснет" 835 1228 836 1229 #. Plugin Name of the plugin/theme … … 843 1236 844 1237 #. Description of the plugin/theme 845 msgid "Integration Robokassa in WooCommerce as payment gateway plugin." 846 msgstr "" 847 "Интеграция Robokassa в WooCommerce в качестве плагина платежного шлюза." 1238 msgid "Integration Robokassa in WooCommerce as payment gateway." 1239 msgstr "Интеграция Robokassa в WooCommerce в качестве платежного шлюза." 848 1240 849 1241 #. Author of the plugin/theme … … 855 1247 msgstr "https://mofsy.ru" 856 1248 1249 #~ msgid "Technical key" 1250 #~ msgstr "Технический ключ" 1251 1252 #~ msgid "" 1253 #~ "Get it on the official website of the plugin by clicking on the link: " 1254 #~ msgstr "" 1255 #~ "Получить его можно на официальном сайте плагина, перейдя по ссылке: " 1256 1257 #~ msgid "" 1258 #~ "After entering a valid key and saving settings, this field will be moved " 1259 #~ "to technical details. Service features will available." 1260 #~ msgstr "" 1261 #~ "После ввода действительного ключа и сохранения настроек это поле будет " 1262 #~ "перемещено в раздел технические детали. Сервисные функции будут доступны." 1263 1264 #~ msgid "Key entry field:" 1265 #~ msgstr "Поле ввода ключа:" 1266 1267 #~ msgid "Enable test mode?" 1268 #~ msgstr "Включить тестовый режим?" 1269 1270 #~ msgid "Enable" 1271 #~ msgstr "Включить" 1272 1273 #~ msgid "Enable (check the box to enable)" 1274 #~ msgstr "Включить (установите флажок Включить)" 1275 1276 #~ msgid "Show" 1277 #~ msgstr "Показать" 1278 1279 #~ msgid "Premium addon" 1280 #~ msgstr "Премиум дополнение" 1281 1282 #~ msgid "Extension" 1283 #~ msgstr "Расширение" 1284 1285 #~ msgid "" 1286 #~ "Even more opportunities to accept payments. Increase conversion and " 1287 #~ "stability of the algorithms." 1288 #~ msgstr "" 1289 #~ "Еще больше возможностей принимать платежи. Повышение конверсии и " 1290 #~ "стабильности алгоритмов." 1291 857 1292 #~ msgid "Show notice in checkout?" 858 1293 #~ msgstr "Показать уведомление на странице оплаты?" … … 937 1372 #~ "этих настроек." 938 1373 939 #~ msgid "Enable display of the payment gateway on the website"940 #~ msgstr "Включить отображение платежного шлюза на сайте"941 942 1374 #~ msgid "" 943 1375 #~ "Disable it for user convenience, if use child payment methods from the " … … 946 1378 #~ "Отключите его для удобства пользователя, если используете дочерние " 947 1379 #~ "способы оплаты из премиум дополнения." 948 949 #~ msgid ""950 #~ "The plugin for accepting payments through ROBOKASSA for WooCommerce has "951 #~ "been updated to a version that requires additional configuration."952 #~ msgstr ""953 #~ "Плагин для приема платежей через ROBOKASSA для WooCommerce был обновлен "954 #~ "до версии, требующей дополнительной настройки."955 1380 956 1381 #~ msgid "" … … 973 1398 #~ msgstr "Скидка составляет 400 рублей." 974 1399 975 #~ msgid "here"976 #~ msgstr "сюда"977 978 1400 #, php-format 979 1401 #~ msgid "" … … 987 1409 #~ msgstr "Получать язык для интерфейса Робокассы на основе локали?" 988 1410 989 #, php-format990 #~ msgid "Press %s (to go to payment gateway settings)."991 #~ msgstr "Нажмите %s (для перехода к настройкам платежного шлюза)."992 993 1411 #~ msgid "Paid supplement" 994 1412 #~ msgstr "Платное дополнение" 995 1413 996 #~ msgid "Work is impossible without these settings."997 #~ msgstr "Работа невозможна без этих настроек."998 999 1414 #~ msgid "Parameters of the test fees" 1000 1415 #~ msgstr "Параметры проведения тестовых платежей" … … 1013 1428 #~ msgstr "Включить логирование?" 1014 1429 1015 #~ msgid "Online"1016 #~ msgstr "Включить"1017 1018 1430 #~ msgid "" 1019 1431 #~ "If the checkbox is not checked, the payment gateway will not be available " … … 1042 1454 #~ msgid "Payment by Robokassa." 1043 1455 #~ msgstr "Оплатить с помощью Робокассы." 1044 1045 #~ msgid "Signature method"1046 #~ msgstr "Метод подписи"1047 1456 1048 1457 #~ msgid "Shop login" -
wc-robokassa/trunk/languages/wc-robokassa.pot
r2292827 r2334486 4 4 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" 5 5 "Project-Id-Version: Payment gateway - Robokassa for WooCommerce\n" 6 "POT-Creation-Date: 2020-0 4-26 21:21+0300\n"6 "POT-Creation-Date: 2020-07-02 22:42+0300\n" 7 7 "PO-Revision-Date: 2016-01-10 16:41+0300\n" 8 8 "Last-Translator: Mofsy <[email protected]>\n" … … 11 11 "Content-Type: text/plain; charset=UTF-8\n" 12 12 "Content-Transfer-Encoding: 8bit\n" 13 "X-Generator: Poedit 2.2 .4\n"13 "X-Generator: Poedit 2.2\n" 14 14 "X-Poedit-Basepath: ..\n" 15 15 "X-Poedit-WPHeader: wc-robokassa.php\n" … … 21 21 "X-Poedit-SearchPathExcluded-0: *.js\n" 22 22 23 #: includes/class-wc-robokassa-method.php:154 24 #: includes/class-wc-robokassa-method.php:1135 23 #: includes/class-wc-robokassa-method.php:187 24 #: includes/class-wc-robokassa-method.php:1318 25 #: includes/class-wc-robokassa-sub-method.php:50 25 26 msgid "Robokassa" 26 27 msgstr "" 27 28 28 #: includes/class-wc-robokassa-method.php:1 5929 #: includes/class-wc-robokassa-method.php:192 29 30 msgid "Pay via Robokassa." 30 31 msgstr "" 31 32 32 #: includes/class-wc-robokassa-method.php:913 33 #: includes/class-wc-robokassa-method.php:967 34 msgid "Activation" 35 msgstr "" 36 37 #: includes/class-wc-robokassa-method.php:970 38 msgid "The code can be obtained from the plugin website:" 39 msgstr "" 40 41 #: includes/class-wc-robokassa-method.php:970 42 msgid "" 43 "This section will disappear after enter a valid code before the expiration " 44 "of the entered code, or its cancellation." 45 msgstr "" 46 47 #: includes/class-wc-robokassa-method.php:975 48 msgid "Input code" 49 msgstr "" 50 51 #: includes/class-wc-robokassa-method.php:978 52 msgid "" 53 "If enter the correct code, the current environment will be activated. " 54 "Enter the code only on the actual workstation." 55 msgstr "" 56 57 #: includes/class-wc-robokassa-method.php:1028 58 msgid "Activate" 59 msgstr "" 60 61 #: includes/class-wc-robokassa-method.php:1050 62 #: includes/class-wc-robokassa-sub-method.php:547 33 63 msgid "Main settings" 34 64 msgstr "" 35 65 36 #: includes/class-wc-robokassa-method.php: 91566 #: includes/class-wc-robokassa-method.php:1052 37 67 msgid "" 38 68 "Without these settings, the payment gateway will not work. Be sure to make " … … 40 70 msgstr "" 41 71 42 #: includes/class-wc-robokassa-method.php:920 72 #: includes/class-wc-robokassa-method.php:1057 73 #: includes/class-wc-robokassa-sub-method.php:554 43 74 msgid "Online / Offline" 44 75 msgstr "" 45 76 46 #: includes/class-wc-robokassa-method.php: 92277 #: includes/class-wc-robokassa-method.php:1059 47 78 msgid "Tick the checkbox if you need to activate the payment gateway." 48 79 msgstr "" 49 80 50 #: includes/class-wc-robokassa-method.php: 92381 #: includes/class-wc-robokassa-method.php:1060 51 82 msgid "" 52 83 "On disconnection, the payment gateway will not be available for selection " … … 55 86 msgstr "" 56 87 57 #: includes/class-wc-robokassa-method.php: 92988 #: includes/class-wc-robokassa-method.php:1066 58 89 msgid "Shop identifier" 59 90 msgstr "" 60 91 61 #: includes/class-wc-robokassa-method.php: 93192 #: includes/class-wc-robokassa-method.php:1068 62 93 msgid "Unique identifier for shop from Robokassa." 63 94 msgstr "" 64 95 65 #: includes/class-wc-robokassa-method.php: 93766 #: includes/class-wc-robokassa-method.php:1 03196 #: includes/class-wc-robokassa-method.php:1074 97 #: includes/class-wc-robokassa-method.php:1168 67 98 msgid "Hash calculation algorithm" 68 99 msgstr "" 69 100 70 #: includes/class-wc-robokassa-method.php: 938101 #: includes/class-wc-robokassa-method.php:1075 71 102 msgid "" 72 103 "The algorithm must match the one specified in the personal account of " … … 74 105 msgstr "" 75 106 76 #: includes/class-wc-robokassa-method.php: 95477 #: includes/class-wc-robokassa-method.php:1 048107 #: includes/class-wc-robokassa-method.php:1091 108 #: includes/class-wc-robokassa-method.php:1185 78 109 msgid "Password #1" 79 110 msgstr "" 80 111 81 #: includes/class-wc-robokassa-method.php: 956112 #: includes/class-wc-robokassa-method.php:1093 82 113 msgid "" 83 114 "Shop pass #1 must match the one specified in the personal account of " … … 85 116 msgstr "" 86 117 87 #: includes/class-wc-robokassa-method.php: 96288 #: includes/class-wc-robokassa-method.php:1 056118 #: includes/class-wc-robokassa-method.php:1099 119 #: includes/class-wc-robokassa-method.php:1193 89 120 msgid "Password #2" 90 121 msgstr "" 91 122 92 #: includes/class-wc-robokassa-method.php: 964123 #: includes/class-wc-robokassa-method.php:1101 93 124 msgid "" 94 125 "Shop pass #2 must match the one specified in the personal account of " … … 96 127 msgstr "" 97 128 98 #: includes/class-wc-robokassa-method.php: 968129 #: includes/class-wc-robokassa-method.php:1105 99 130 msgid "" 100 131 "Address to notify the site of the results of operations in the background. " … … 103 134 msgstr "" 104 135 105 #: includes/class-wc-robokassa-method.php: 972136 #: includes/class-wc-robokassa-method.php:1109 106 137 msgid "Result Url" 107 138 msgstr "" 108 139 109 #: includes/class-wc-robokassa-method.php: 979140 #: includes/class-wc-robokassa-method.php:1116 110 141 msgid "" 111 142 "The address for the user to go to the site after successful payment. Copy " … … 115 146 msgstr "" 116 147 117 #: includes/class-wc-robokassa-method.php: 983148 #: includes/class-wc-robokassa-method.php:1120 118 149 msgid "Success Url" 119 150 msgstr "" 120 151 121 #: includes/class-wc-robokassa-method.php: 990152 #: includes/class-wc-robokassa-method.php:1127 122 153 msgid "" 123 154 "The address for the user to go to the site, after payment with an error. " … … 127 158 msgstr "" 128 159 129 #: includes/class-wc-robokassa-method.php: 994160 #: includes/class-wc-robokassa-method.php:1131 130 161 msgid "Fail Url" 131 162 msgstr "" 132 163 133 #: includes/class-wc-robokassa-method.php:1 015164 #: includes/class-wc-robokassa-method.php:1152 134 165 msgid "Parameters for test payments" 135 166 msgstr "" 136 167 137 #: includes/class-wc-robokassa-method.php:1 017168 #: includes/class-wc-robokassa-method.php:1154 138 169 msgid "" 139 170 "Passwords and hashing algorithms for test payments differ from those " … … 141 172 msgstr "" 142 173 143 #: includes/class-wc-robokassa-method.php:1 022174 #: includes/class-wc-robokassa-method.php:1159 144 175 msgid "Test mode" 145 176 msgstr "" 146 177 147 #: includes/class-wc-robokassa-method.php:1024 148 msgid "Enable test mode?" 149 msgstr "" 150 151 #: includes/class-wc-robokassa-method.php:1025 178 #: includes/class-wc-robokassa-method.php:1161 179 #: includes/class-wc-robokassa-method.php:1203 180 #: includes/class-wc-robokassa-method.php:1277 181 msgid "Select the checkbox to enable this feature. Default is enabled." 182 msgstr "" 183 184 #: includes/class-wc-robokassa-method.php:1162 152 185 msgid "" 153 186 "When you activate the test mode, no funds will be debited. In this case, " … … 157 190 msgstr "" 158 191 159 #: includes/class-wc-robokassa-method.php:1 032192 #: includes/class-wc-robokassa-method.php:1169 160 193 msgid "" 161 194 "The algorithm must match the one specified in the personal account of " … … 163 196 msgstr "" 164 197 165 #: includes/class-wc-robokassa-method.php:1 050198 #: includes/class-wc-robokassa-method.php:1187 166 199 msgid "" 167 200 "Shop pass #1 for testing payments. The pass must match the one specified " … … 169 202 msgstr "" 170 203 171 #: includes/class-wc-robokassa-method.php:1 058204 #: includes/class-wc-robokassa-method.php:1195 172 205 msgid "" 173 206 "Shop pass #2 for testing payments. The pass must match the one specified " … … 175 208 msgstr "" 176 209 177 #: includes/class-wc-robokassa-method.php:1064 178 msgid "The notification is displayed on the test mode" 179 msgstr "" 180 181 #: includes/class-wc-robokassa-method.php:1066 182 #: includes/class-wc-robokassa-method.php:1125 183 #: includes/class-wc-robokassa-method.php:1177 184 #: includes/class-wc-robokassa-method.php:1286 185 #: includes/class-wc-robokassa-method.php:1295 186 #: includes/class-wc-robokassa-method.php:1304 187 #: includes/class-wc-robokassa-method.php:1313 188 #: includes/class-wc-robokassa-method.php:1322 189 #: includes/class-wc-robokassa-method.php:1331 190 #: includes/class-wc-robokassa-method.php:1379 191 #: includes/class-wc-robokassa-method.php:1388 192 msgid "Enable" 193 msgstr "" 194 195 #: includes/class-wc-robokassa-method.php:1067 210 #: includes/class-wc-robokassa-method.php:1201 211 msgid "Test notification display on the test mode" 212 msgstr "" 213 214 #: includes/class-wc-robokassa-method.php:1204 196 215 msgid "" 197 216 "A notification about the activated test mode will be displayed when the " … … 199 218 msgstr "" 200 219 201 #: includes/class-wc-robokassa-method.php:1085 220 #: includes/class-wc-robokassa-method.php:1222 221 msgid "Sub methods" 222 msgstr "" 223 224 #: includes/class-wc-robokassa-method.php:1224 225 msgid "General settings for the sub methods of payment." 226 msgstr "" 227 228 #: includes/class-wc-robokassa-method.php:1229 229 msgid "Enable sub methods" 230 msgstr "" 231 232 #: includes/class-wc-robokassa-method.php:1231 233 #: includes/class-wc-robokassa-method.php:1240 234 #: includes/class-wc-robokassa-method.php:1249 235 #: includes/class-wc-robokassa-method.php:1308 236 #: includes/class-wc-robokassa-method.php:1360 237 #: includes/class-wc-robokassa-method.php:1469 238 #: includes/class-wc-robokassa-method.php:1478 239 #: includes/class-wc-robokassa-method.php:1487 240 #: includes/class-wc-robokassa-method.php:1496 241 #: includes/class-wc-robokassa-method.php:1505 242 #: includes/class-wc-robokassa-method.php:1514 243 #: includes/class-wc-robokassa-method.php:1564 244 #: includes/class-wc-robokassa-method.php:1573 245 #: includes/class-wc-robokassa-method.php:1651 246 #: includes/class-wc-robokassa-method.php:1660 247 #: includes/class-wc-robokassa-sub-method.php:584 248 msgid "Select the checkbox to enable this feature. Default is disabled." 249 msgstr "" 250 251 #: includes/class-wc-robokassa-method.php:1232 252 msgid "Use of all mechanisms add a child of payment methods." 253 msgstr "" 254 255 #: includes/class-wc-robokassa-method.php:1238 256 msgid "Check available via the API" 257 msgstr "" 258 259 #: includes/class-wc-robokassa-method.php:1241 260 msgid "Check whether child methods are currently available for payment." 261 msgstr "" 262 263 #: includes/class-wc-robokassa-method.php:1247 264 msgid "Show the total amount including the fee" 265 msgstr "" 266 267 #: includes/class-wc-robokassa-method.php:1250 268 msgid "" 269 "If you enable this option, the exact amount payable, including fees, will " 270 "be added to the payment method headers." 271 msgstr "" 272 273 #: includes/class-wc-robokassa-method.php:1268 274 #: includes/class-wc-robokassa-sub-method.php:575 202 275 msgid "Interface" 203 276 msgstr "" 204 277 205 #: includes/class-wc-robokassa-method.php:1087 278 #: includes/class-wc-robokassa-method.php:1270 279 #: includes/class-wc-robokassa-sub-method.php:577 206 280 msgid "Customize the appearance. Can leave it at that." 207 281 msgstr "" 208 282 209 #: includes/class-wc-robokassa-method.php:1092 210 msgid "Show gateway icon?" 211 msgstr "" 212 213 #: includes/class-wc-robokassa-method.php:1094 214 msgid "Show" 215 msgstr "" 216 217 #: includes/class-wc-robokassa-method.php:1096 283 #: includes/class-wc-robokassa-method.php:1275 284 #: includes/class-wc-robokassa-sub-method.php:582 285 msgid "Show icon?" 286 msgstr "" 287 288 #: includes/class-wc-robokassa-method.php:1279 218 289 msgid "" 219 290 "Next to the name of the payment method will display the logo Robokassa." 220 291 msgstr "" 221 292 222 #: includes/class-wc-robokassa-method.php:1 101293 #: includes/class-wc-robokassa-method.php:1284 223 294 msgid "Language interface" 224 295 msgstr "" 225 296 226 #: includes/class-wc-robokassa-method.php:1 105297 #: includes/class-wc-robokassa-method.php:1288 227 298 msgid "Russian" 228 299 msgstr "" 229 300 230 #: includes/class-wc-robokassa-method.php:1 106301 #: includes/class-wc-robokassa-method.php:1289 231 302 msgid "English" 232 303 msgstr "" 233 304 234 #: includes/class-wc-robokassa-method.php:1 108305 #: includes/class-wc-robokassa-method.php:1291 235 306 msgid "What language interface displayed for the customer on Robokassa?" 236 307 msgstr "" 237 308 238 #: includes/class-wc-robokassa-method.php:1 114309 #: includes/class-wc-robokassa-method.php:1297 239 310 msgid "Language based on the locale?" 240 311 msgstr "" 241 312 242 #: includes/class-wc-robokassa-method.php:1 116313 #: includes/class-wc-robokassa-method.php:1299 243 314 msgid "Enable user language automatic detection?" 244 315 msgstr "" 245 316 246 #: includes/class-wc-robokassa-method.php:1 117317 #: includes/class-wc-robokassa-method.php:1300 247 318 msgid "" 248 319 "Automatic detection of the users language from the WordPress environment." 249 320 msgstr "" 250 321 251 #: includes/class-wc-robokassa-method.php:1 123322 #: includes/class-wc-robokassa-method.php:1306 252 323 msgid "Skip the received order page?" 253 324 msgstr "" 254 325 255 #: includes/class-wc-robokassa-method.php:1 126326 #: includes/class-wc-robokassa-method.php:1309 256 327 msgid "This setting is used to reduce actions when users switch to payment." 257 328 msgstr "" 258 329 259 #: includes/class-wc-robokassa-method.php:1132 330 #: includes/class-wc-robokassa-method.php:1315 331 #: includes/class-wc-robokassa-sub-method.php:590 260 332 msgid "Title" 261 333 msgstr "" 262 334 263 #: includes/class-wc-robokassa-method.php:1134 335 #: includes/class-wc-robokassa-method.php:1317 336 #: includes/class-wc-robokassa-sub-method.php:592 264 337 msgid "This is the name that the user sees during the payment." 265 338 msgstr "" 266 339 267 #: includes/class-wc-robokassa-method.php:1140 340 #: includes/class-wc-robokassa-method.php:1323 341 #: includes/class-wc-robokassa-sub-method.php:598 268 342 msgid "Order button text" 269 343 msgstr "" 270 344 271 #: includes/class-wc-robokassa-method.php:1142 345 #: includes/class-wc-robokassa-method.php:1325 346 #: includes/class-wc-robokassa-sub-method.php:600 272 347 msgid "This is the button text that the user sees during the payment." 273 348 msgstr "" 274 349 275 #: includes/class-wc-robokassa-method.php:1143 350 #: includes/class-wc-robokassa-method.php:1326 351 #: includes/class-wc-robokassa-sub-method.php:601 276 352 msgid "Goto pay" 277 353 msgstr "" 278 354 279 #: includes/class-wc-robokassa-method.php:1148 355 #: includes/class-wc-robokassa-method.php:1331 356 #: includes/class-wc-robokassa-sub-method.php:606 280 357 msgid "Description" 281 358 msgstr "" 282 359 283 #: includes/class-wc-robokassa-method.php:1150 360 #: includes/class-wc-robokassa-method.php:1333 361 #: includes/class-wc-robokassa-sub-method.php:608 284 362 msgid "" 285 363 "Description of the method of payment that the customer will see on our " … … 287 365 msgstr "" 288 366 289 #: includes/class-wc-robokassa-method.php:1151 367 #: includes/class-wc-robokassa-method.php:1334 368 #: includes/class-wc-robokassa-sub-method.php:609 290 369 msgid "Payment via Robokassa." 291 370 msgstr "" 292 371 293 #: includes/class-wc-robokassa-method.php:1 168372 #: includes/class-wc-robokassa-method.php:1351 294 373 msgid "Cart content sending (54fz)" 295 374 msgstr "" 296 375 297 #: includes/class-wc-robokassa-method.php:1 170376 #: includes/class-wc-robokassa-method.php:1353 298 377 msgid "" 299 378 "These settings are required only for legal entities in the absence of its " … … 301 380 msgstr "" 302 381 303 #: includes/class-wc-robokassa-method.php:1 175382 #: includes/class-wc-robokassa-method.php:1358 304 383 msgid "The transfer of goods" 305 384 msgstr "" 306 385 307 #: includes/class-wc-robokassa-method.php:1 178386 #: includes/class-wc-robokassa-method.php:1361 308 387 msgid "" 309 388 "When you select the option, a check will be generated and sent to the tax " … … 314 393 msgstr "" 315 394 316 #: includes/class-wc-robokassa-method.php:1 184395 #: includes/class-wc-robokassa-method.php:1367 317 396 msgid "Taxation system" 318 397 msgstr "" 319 398 320 #: includes/class-wc-robokassa-method.php:1 189399 #: includes/class-wc-robokassa-method.php:1372 321 400 msgid "General" 322 401 msgstr "" 323 402 324 #: includes/class-wc-robokassa-method.php:1 190403 #: includes/class-wc-robokassa-method.php:1373 325 404 msgid "Simplified, income" 326 405 msgstr "" 327 406 328 #: includes/class-wc-robokassa-method.php:1 191407 #: includes/class-wc-robokassa-method.php:1374 329 408 msgid "Simplified, income minus consumption" 330 409 msgstr "" 331 410 332 #: includes/class-wc-robokassa-method.php:1 192411 #: includes/class-wc-robokassa-method.php:1375 333 412 msgid "Single tax on imputed income" 334 413 msgstr "" 335 414 336 #: includes/class-wc-robokassa-method.php:1 193415 #: includes/class-wc-robokassa-method.php:1376 337 416 msgid "Single agricultural tax" 338 417 msgstr "" 339 418 340 #: includes/class-wc-robokassa-method.php:1 194419 #: includes/class-wc-robokassa-method.php:1377 341 420 msgid "Patent system of taxation" 342 421 msgstr "" 343 422 344 #: includes/class-wc-robokassa-method.php:1 200423 #: includes/class-wc-robokassa-method.php:1383 345 424 msgid "Default VAT rate" 346 425 msgstr "" 347 426 348 #: includes/class-wc-robokassa-method.php:1 205427 #: includes/class-wc-robokassa-method.php:1388 349 428 msgid "Without the vat" 350 429 msgstr "" 351 430 352 #: includes/class-wc-robokassa-method.php:1 206431 #: includes/class-wc-robokassa-method.php:1389 353 432 msgid "VAT 0%" 354 433 msgstr "" 355 434 356 #: includes/class-wc-robokassa-method.php:1 207435 #: includes/class-wc-robokassa-method.php:1390 357 436 msgid "VAT 10%" 358 437 msgstr "" 359 438 360 #: includes/class-wc-robokassa-method.php:1 208439 #: includes/class-wc-robokassa-method.php:1391 361 440 msgid "VAT 20%" 362 441 msgstr "" 363 442 364 #: includes/class-wc-robokassa-method.php:1 209443 #: includes/class-wc-robokassa-method.php:1392 365 444 msgid "VAT receipt settlement rate 10/110" 366 445 msgstr "" 367 446 368 #: includes/class-wc-robokassa-method.php:1 210447 #: includes/class-wc-robokassa-method.php:1393 369 448 msgid "VAT receipt settlement rate 20/120" 370 449 msgstr "" 371 450 372 #: includes/class-wc-robokassa-method.php:1 216451 #: includes/class-wc-robokassa-method.php:1399 373 452 msgid "Indication of the calculation method" 374 453 msgstr "" 375 454 376 #: includes/class-wc-robokassa-method.php:1 217377 #: includes/class-wc-robokassa-method.php:1 236455 #: includes/class-wc-robokassa-method.php:1400 456 #: includes/class-wc-robokassa-method.php:1419 378 457 msgid "" 379 458 "The parameter is optional. If this parameter is not configured, the check " … … 381 460 msgstr "" 382 461 383 #: includes/class-wc-robokassa-method.php:1 222384 #: includes/class-wc-robokassa-method.php:1 241462 #: includes/class-wc-robokassa-method.php:1405 463 #: includes/class-wc-robokassa-method.php:1424 385 464 msgid "Default in Robokassa" 386 465 msgstr "" 387 466 388 #: includes/class-wc-robokassa-method.php:1 223467 #: includes/class-wc-robokassa-method.php:1406 389 468 msgid "Prepayment 100%" 390 469 msgstr "" 391 470 392 #: includes/class-wc-robokassa-method.php:1 224471 #: includes/class-wc-robokassa-method.php:1407 393 472 msgid "Partial prepayment" 394 473 msgstr "" 395 474 396 #: includes/class-wc-robokassa-method.php:1 225475 #: includes/class-wc-robokassa-method.php:1408 397 476 msgid "Advance" 398 477 msgstr "" 399 478 400 #: includes/class-wc-robokassa-method.php:1 226479 #: includes/class-wc-robokassa-method.php:1409 401 480 msgid "Full settlement" 402 481 msgstr "" 403 482 404 #: includes/class-wc-robokassa-method.php:1 227483 #: includes/class-wc-robokassa-method.php:1410 405 484 msgid "Partial settlement and credit" 406 485 msgstr "" 407 486 408 #: includes/class-wc-robokassa-method.php:1 228487 #: includes/class-wc-robokassa-method.php:1411 409 488 msgid "Transfer on credit" 410 489 msgstr "" 411 490 412 #: includes/class-wc-robokassa-method.php:1 229491 #: includes/class-wc-robokassa-method.php:1412 413 492 msgid "Credit payment" 414 493 msgstr "" 415 494 416 #: includes/class-wc-robokassa-method.php:1 235495 #: includes/class-wc-robokassa-method.php:1418 417 496 msgid "Sign of the subject of calculation" 418 497 msgstr "" 419 498 420 #: includes/class-wc-robokassa-method.php:1 242499 #: includes/class-wc-robokassa-method.php:1425 421 500 msgid "Product" 422 501 msgstr "" 423 502 424 #: includes/class-wc-robokassa-method.php:1 243503 #: includes/class-wc-robokassa-method.php:1426 425 504 msgid "Excisable goods" 426 505 msgstr "" 427 506 428 #: includes/class-wc-robokassa-method.php:1 244507 #: includes/class-wc-robokassa-method.php:1427 429 508 msgid "Work" 430 509 msgstr "" 431 510 432 #: includes/class-wc-robokassa-method.php:1 245511 #: includes/class-wc-robokassa-method.php:1428 433 512 msgid "Service" 434 513 msgstr "" 435 514 436 #: includes/class-wc-robokassa-method.php:1 246515 #: includes/class-wc-robokassa-method.php:1429 437 516 msgid "Gambling rate" 438 517 msgstr "" 439 518 440 #: includes/class-wc-robokassa-method.php:1 247519 #: includes/class-wc-robokassa-method.php:1430 441 520 msgid "Gambling win" 442 521 msgstr "" 443 522 444 #: includes/class-wc-robokassa-method.php:1 248523 #: includes/class-wc-robokassa-method.php:1431 445 524 msgid "Lottery ticket" 446 525 msgstr "" 447 526 448 #: includes/class-wc-robokassa-method.php:1 249527 #: includes/class-wc-robokassa-method.php:1432 449 528 msgid "Winning the lottery" 450 529 msgstr "" 451 530 452 #: includes/class-wc-robokassa-method.php:1 250531 #: includes/class-wc-robokassa-method.php:1433 453 532 msgid "Results of intellectual activity" 454 533 msgstr "" 455 534 456 #: includes/class-wc-robokassa-method.php:1 251535 #: includes/class-wc-robokassa-method.php:1434 457 536 msgid "Payment" 458 537 msgstr "" 459 538 460 #: includes/class-wc-robokassa-method.php:1 252539 #: includes/class-wc-robokassa-method.php:1435 461 540 msgid "Agency fee" 462 541 msgstr "" 463 542 464 #: includes/class-wc-robokassa-method.php:1 253543 #: includes/class-wc-robokassa-method.php:1436 465 544 msgid "Compound subject of calculation" 466 545 msgstr "" 467 546 468 #: includes/class-wc-robokassa-method.php:1 254547 #: includes/class-wc-robokassa-method.php:1437 469 548 msgid "Another object of the calculation" 470 549 msgstr "" 471 550 472 #: includes/class-wc-robokassa-method.php:1 255551 #: includes/class-wc-robokassa-method.php:1438 473 552 msgid "Property right" 474 553 msgstr "" 475 554 476 #: includes/class-wc-robokassa-method.php:1 256555 #: includes/class-wc-robokassa-method.php:1439 477 556 msgid "Extraordinary income" 478 557 msgstr "" 479 558 480 #: includes/class-wc-robokassa-method.php:1 257559 #: includes/class-wc-robokassa-method.php:1440 481 560 msgid "Insurance premium" 482 561 msgstr "" 483 562 484 #: includes/class-wc-robokassa-method.php:1 258563 #: includes/class-wc-robokassa-method.php:1441 485 564 msgid "Sales tax" 486 565 msgstr "" 487 566 488 #: includes/class-wc-robokassa-method.php:1 259567 #: includes/class-wc-robokassa-method.php:1442 489 568 msgid "Resort fee" 490 569 msgstr "" 491 570 492 #: includes/class-wc-robokassa-method.php:1 277571 #: includes/class-wc-robokassa-method.php:1460 493 572 msgid "Orders notes" 494 573 msgstr "" 495 574 496 #: includes/class-wc-robokassa-method.php:1 279575 #: includes/class-wc-robokassa-method.php:1462 497 576 msgid "Settings for adding notes to orders. All are off by default." 498 577 msgstr "" 499 578 500 #: includes/class-wc-robokassa-method.php:1 284579 #: includes/class-wc-robokassa-method.php:1467 501 580 msgid "Errors when verifying the signature of requests" 502 581 msgstr "" 503 582 504 #: includes/class-wc-robokassa-method.php:1 287583 #: includes/class-wc-robokassa-method.php:1470 505 584 msgid "" 506 585 "Recording a errors when verifying the signature of requests from Robokassa." 507 586 msgstr "" 508 587 509 #: includes/class-wc-robokassa-method.php:1 293588 #: includes/class-wc-robokassa-method.php:1476 510 589 msgid "Process payments" 511 590 msgstr "" 512 591 513 #: includes/class-wc-robokassa-method.php:1 296592 #: includes/class-wc-robokassa-method.php:1479 514 593 msgid "" 515 594 "Recording information about the beginning of the payment process by the " … … 517 596 msgstr "" 518 597 519 #: includes/class-wc-robokassa-method.php:1 302598 #: includes/class-wc-robokassa-method.php:1485 520 599 msgid "Successful payments" 521 600 msgstr "" 522 601 523 #: includes/class-wc-robokassa-method.php:1 305602 #: includes/class-wc-robokassa-method.php:1488 524 603 msgid "" 525 604 "Recording information about received requests with successful payment." 526 605 msgstr "" 527 606 528 #: includes/class-wc-robokassa-method.php:1 311607 #: includes/class-wc-robokassa-method.php:1494 529 608 msgid "Background requests" 530 609 msgstr "" 531 610 532 #: includes/class-wc-robokassa-method.php:1 314611 #: includes/class-wc-robokassa-method.php:1497 533 612 msgid "" 534 613 "Recording information about the background queries about transactions from " … … 536 615 msgstr "" 537 616 538 #: includes/class-wc-robokassa-method.php:1 320617 #: includes/class-wc-robokassa-method.php:1503 539 618 msgid "Failed requests" 540 619 msgstr "" 541 620 542 #: includes/class-wc-robokassa-method.php:1 323621 #: includes/class-wc-robokassa-method.php:1506 543 622 msgid "" 544 623 "Recording information about the clients return to the canceled payment " … … 546 625 msgstr "" 547 626 548 #: includes/class-wc-robokassa-method.php:1 329627 #: includes/class-wc-robokassa-method.php:1512 549 628 msgid "Success requests" 550 629 msgstr "" 551 630 552 #: includes/class-wc-robokassa-method.php:1 332631 #: includes/class-wc-robokassa-method.php:1515 553 632 msgid "" 554 633 "Recording information about the clients return to the success payment page." 555 634 msgstr "" 556 635 557 #: includes/class-wc-robokassa-method.php:1 350636 #: includes/class-wc-robokassa-method.php:1533 558 637 msgid "Technical details" 559 638 msgstr "" 560 639 561 #: includes/class-wc-robokassa-method.php:1 352640 #: includes/class-wc-robokassa-method.php:1535 562 641 msgid "" 563 642 "Setting technical parameters. Used by technical specialists. Can leave it " … … 565 644 msgstr "" 566 645 567 #: includes/class-wc-robokassa-method.php:1 357646 #: includes/class-wc-robokassa-method.php:1542 568 647 msgid "Logging" 569 648 msgstr "" 570 649 571 #: includes/class-wc-robokassa-method.php:1 359650 #: includes/class-wc-robokassa-method.php:1544 572 651 msgid "" 573 652 "You can enable gateway logging, specify the level of error that you want " … … 576 655 msgstr "" 577 656 578 #: includes/class-wc-robokassa-method.php:1363 657 #: includes/class-wc-robokassa-method.php:1544 658 msgid "Current file: " 659 msgstr "" 660 661 #: includes/class-wc-robokassa-method.php:1548 579 662 msgid "Off" 580 663 msgstr "" 581 664 582 #: includes/class-wc-robokassa-method.php:1 377665 #: includes/class-wc-robokassa-method.php:1562 583 666 msgid "Cart clearing" 584 667 msgstr "" 585 668 586 #: includes/class-wc-robokassa-method.php:1 380669 #: includes/class-wc-robokassa-method.php:1565 587 670 msgid "" 588 671 "Clean the customers cart if payment is successful? If so, the shopping " … … 591 674 msgstr "" 592 675 593 #: includes/class-wc-robokassa-method.php:1 386676 #: includes/class-wc-robokassa-method.php:1571 594 677 msgid "Mark order as cancelled?" 595 678 msgstr "" 596 679 597 #: includes/class-wc-robokassa-method.php:1 389680 #: includes/class-wc-robokassa-method.php:1574 598 681 msgid "" 599 682 "Change the status of the order to canceled when the user cancels the " … … 602 685 msgstr "" 603 686 604 #: includes/class-wc-robokassa-method.php:1482 687 #: includes/class-wc-robokassa-method.php:1605 688 #, php-format 689 msgid "Any "%1$s" method" 690 msgstr "" 691 692 #: includes/class-wc-robokassa-method.php:1621 693 #, php-format 694 msgid "%1$s (#%2$s)" 695 msgstr "" 696 697 #: includes/class-wc-robokassa-method.php:1624 698 #, php-format 699 msgid "%1$s – %2$s" 700 msgstr "" 701 702 #: includes/class-wc-robokassa-method.php:1624 703 msgid "Other locations" 704 msgstr "" 705 706 #: includes/class-wc-robokassa-method.php:1633 707 msgid "Enable for shipping methods" 708 msgstr "" 709 710 #: includes/class-wc-robokassa-method.php:1638 711 msgid "" 712 "If only available for certain methods, set it up here. Leave blank to " 713 "enable for all methods." 714 msgstr "" 715 716 #: includes/class-wc-robokassa-method.php:1642 717 msgid "Select shipping methods" 718 msgstr "" 719 720 #: includes/class-wc-robokassa-method.php:1649 721 msgid "Payment of the commission for the buyer" 722 msgstr "" 723 724 #: includes/class-wc-robokassa-method.php:1652 725 msgid "" 726 "When you enable this feature, the store will pay all customer Commission " 727 "costs. Works only when you select a payment method on the site and for " 728 "stores individuals." 729 msgstr "" 730 731 #: includes/class-wc-robokassa-method.php:1658 732 msgid "" 733 "Preliminary conversion of order currency into roubles for commission " 734 "calculation" 735 msgstr "" 736 737 #: includes/class-wc-robokassa-method.php:1661 738 msgid "" 739 "If the calculation of the customer commission is included and the order is " 740 "not in roubles, the order will be converted to roubles based on data from " 741 "the Central Bank of Russia.\n" 742 "\t\t\tThis is required due to poor Robokassa API." 743 msgstr "" 744 745 #: includes/class-wc-robokassa-method.php:1780 605 746 msgid "Return to payment gateways" 606 747 msgstr "" 607 748 608 #: includes/class-wc-robokassa-method.php:1 541749 #: includes/class-wc-robokassa-method.php:1837 609 750 msgid "" 610 751 "TEST mode is active. Payment will not be charged. After checking, disable " … … 612 753 msgstr "" 613 754 614 #: includes/class-wc-robokassa-method.php:1 565755 #: includes/class-wc-robokassa-method.php:1860 615 756 msgid "" 616 757 "The customer clicked the payment button, but an error occurred while " … … 618 759 msgstr "" 619 760 620 #: includes/class-wc-robokassa-method.php:1 586761 #: includes/class-wc-robokassa-method.php:1881 621 762 msgid "" 622 763 "The customer clicked the payment button and was sent to the side of the " … … 624 765 msgstr "" 625 766 626 #: includes/class-wc-robokassa-method.php:1 600767 #: includes/class-wc-robokassa-method.php:1895 627 768 msgid "" 628 769 "The customer clicked the payment button and was sent to the page of the " … … 630 771 msgstr "" 631 772 632 #: includes/class-wc-robokassa-method.php:1666 773 #: includes/class-wc-robokassa-method.php:1996 774 #: includes/class-wc-robokassa-sub-method.php:250 633 775 msgid "Order number: " 634 776 msgstr "" 635 777 636 #: includes/class-wc-robokassa-method.php:1784 778 #: includes/class-wc-robokassa-method.php:2115 779 #: includes/class-wc-robokassa-sub-method.php:396 637 780 msgid "Pay" 638 781 msgstr "" 639 782 640 #: includes/class-wc-robokassa-method.php:1785 783 #: includes/class-wc-robokassa-method.php:2116 784 #: includes/class-wc-robokassa-sub-method.php:397 641 785 msgid "Cancel & return to cart" 642 786 msgstr "" 643 787 644 #: includes/class-wc-robokassa-method.php: 1879788 #: includes/class-wc-robokassa-method.php:2210 645 789 msgid "Delivery" 646 790 msgstr "" 647 791 648 #: includes/class-wc-robokassa-method.php:2 101792 #: includes/class-wc-robokassa-method.php:2434 649 793 msgid "Order not found." 650 794 msgstr "" 651 795 652 #: includes/class-wc-robokassa-method.php:2 117796 #: includes/class-wc-robokassa-method.php:2450 653 797 #, php-format 654 798 msgid "Robokassa request. Sum: %1$s. Signature: %2$s. Remote signature: %3$s" 655 799 msgstr "" 656 800 657 #: includes/class-wc-robokassa-method.php:2 136801 #: includes/class-wc-robokassa-method.php:2469 658 802 #, php-format 659 803 msgid "Validate hash error. Local: %1$s Remote: %2$s" 660 804 msgstr "" 661 805 662 #: includes/class-wc-robokassa-method.php:2 151806 #: includes/class-wc-robokassa-method.php:2484 663 807 msgid "Order successfully paid (TEST MODE)." 664 808 msgstr "" 665 809 666 #: includes/class-wc-robokassa-method.php:2 160810 #: includes/class-wc-robokassa-method.php:2493 667 811 msgid "Order successfully paid." 668 812 msgstr "" 669 813 670 #: includes/class-wc-robokassa-method.php:2 170814 #: includes/class-wc-robokassa-method.php:2503 671 815 msgid "Payment error, please pay other time." 672 816 msgstr "" 673 817 674 #: includes/class-wc-robokassa-method.php:2 178818 #: includes/class-wc-robokassa-method.php:2511 675 819 msgid "The client returned to the payment success page." 676 820 msgstr "" 677 821 678 #: includes/class-wc-robokassa-method.php:2 199822 #: includes/class-wc-robokassa-method.php:2532 679 823 msgid "" 680 824 "Order cancellation. The client returned to the payment cancellation page." 681 825 msgstr "" 682 826 683 #: includes/class-wc-robokassa-method.php:2 217827 #: includes/class-wc-robokassa-method.php:2550 684 828 msgid "Api request error. Action not found." 685 829 msgstr "" 686 830 687 #: includes/class-wc-robokassa-method.php:2273 831 #: includes/class-wc-robokassa-method.php:2737 832 msgid "" 833 "The activation was not success. It may be difficult to release new updates." 834 msgstr "" 835 836 #: includes/class-wc-robokassa-method.php:2754 688 837 msgid "disconnected" 689 838 msgstr "" 690 839 691 #: includes/class-wc-robokassa-method.php:2 279840 #: includes/class-wc-robokassa-method.php:2760 692 841 msgid "connected" 693 842 msgstr "" 694 843 695 #: includes/class-wc-robokassa-method.php:2 283844 #: includes/class-wc-robokassa-method.php:2764 696 845 msgid "API Robokassa: " 697 846 msgstr "" 698 847 699 #: includes/class-wc-robokassa-method.php:2 298848 #: includes/class-wc-robokassa-method.php:2779 700 849 msgid "active" 701 850 msgstr "" 702 851 703 #: includes/class-wc-robokassa-method.php:2 304852 #: includes/class-wc-robokassa-method.php:2785 704 853 msgid "inactive" 705 854 msgstr "" 706 855 707 #: includes/class-wc-robokassa-method.php:2 308856 #: includes/class-wc-robokassa-method.php:2789 708 857 msgid "Test mode: " 709 858 msgstr "" 710 859 711 #: includes/class-wc-robokassa-method.php:2 331860 #: includes/class-wc-robokassa-method.php:2812 712 861 msgid "Currency: " 713 862 msgstr "" 714 863 715 #: includes/class-wc-robokassa-method.php:2 349864 #: includes/class-wc-robokassa-method.php:2830 716 865 msgid "" 717 866 "The logging level is too low. Need to increase the level after debugging." 718 867 msgstr "" 719 868 720 #: includes/class-wc-robokassa.php:470 721 msgid "Premium addon" 722 msgstr "" 723 724 #: includes/class-wc-robokassa.php:485 869 #: includes/class-wc-robokassa-sub-method.php:55 870 msgid "Pay via Robokassa. Child method for Robokassa." 871 msgstr "" 872 873 #: includes/class-wc-robokassa-sub-method.php:549 874 msgid "" 875 "Work is impossible without these settings. Carefully specify the correct " 876 "data." 877 msgstr "" 878 879 #: includes/class-wc-robokassa-sub-method.php:556 880 msgid "Enable display of the payment method on the website" 881 msgstr "" 882 883 #: includes/class-wc-robokassa.php:379 884 msgid "This activation code is active." 885 msgstr "" 886 887 #: includes/class-wc-robokassa.php:380 888 msgid "Error: This activation code has expired." 889 msgstr "" 890 891 #: includes/class-wc-robokassa.php:381 892 msgid "Activation code republished. Awaiting reactivation." 893 msgstr "" 894 895 #: includes/class-wc-robokassa.php:382 896 msgid "Error: This activation code has been suspended." 897 msgstr "" 898 899 #: includes/class-wc-robokassa.php:383 900 msgid "This activation code is not found." 901 msgstr "" 902 903 #: includes/class-wc-robokassa.php:384 904 msgid "This activation code is active (localhost)." 905 msgstr "" 906 907 #: includes/class-wc-robokassa.php:385 908 msgid "Error: This activation code is pending review." 909 msgstr "" 910 911 #: includes/class-wc-robokassa.php:386 912 msgid "" 913 "Error: This version of the software was released after your download " 914 "access expired. Please downgrade software or contact support for more " 915 "information." 916 msgstr "" 917 918 #: includes/class-wc-robokassa.php:387 919 msgid "Error: The activation code variable is empty." 920 msgstr "" 921 922 #: includes/class-wc-robokassa.php:388 923 msgid "Error: I could not obtain a new local code." 924 msgstr "" 925 926 #: includes/class-wc-robokassa.php:389 927 msgid "Error: The maximum local code delay period has expired." 928 msgstr "" 929 930 #: includes/class-wc-robokassa.php:390 931 msgid "Error: The local key has been tampered with or is invalid." 932 msgstr "" 933 934 #: includes/class-wc-robokassa.php:391 935 msgid "Error: The local code is invalid for this location." 936 msgstr "" 937 938 #: includes/class-wc-robokassa.php:392 939 msgid "" 940 "Error: Please create the following file (and directories if they dont " 941 "exist already): " 942 msgstr "" 943 944 #: includes/class-wc-robokassa.php:393 945 msgid "Error: Please make the following path writable: " 946 msgstr "" 947 948 #: includes/class-wc-robokassa.php:394 949 msgid "Error: I could not determine the local key storage on clear." 950 msgstr "" 951 952 #: includes/class-wc-robokassa.php:395 953 msgid "Error: I could not save the local key." 954 msgstr "" 955 956 #: includes/class-wc-robokassa.php:396 957 msgid "Error: The local code is invalid for this activation code." 958 msgstr "" 959 960 #: includes/class-wc-robokassa.php:397 961 msgid "Error: This activation code has been deleted." 962 msgstr "" 963 964 #: includes/class-wc-robokassa.php:398 965 msgid "Error: This activation code has draft." 966 msgstr "" 967 968 #: includes/class-wc-robokassa.php:399 969 msgid "Error: This activation code has available." 970 msgstr "" 971 972 #: includes/class-wc-robokassa.php:400 973 msgid "Error: This activation code has been blocked." 974 msgstr "" 975 976 #: includes/class-wc-robokassa.php:763 977 msgid "Official site" 978 msgstr "" 979 980 #: includes/class-wc-robokassa.php:778 725 981 msgid "Settings" 726 982 msgstr "" 727 983 728 #: includes/class-wc-robokassa.php:626 984 #: includes/class-wc-robokassa.php:807 985 msgid "" 986 "The plugin for accepting payments through ROBOKASSA for WooCommerce has " 987 "been updated to a version that requires additional configuration." 988 msgstr "" 989 990 #: includes/class-wc-robokassa.php:809 991 msgid "here" 992 msgstr "" 993 994 #: includes/class-wc-robokassa.php:810 995 #, php-format 996 msgid "Press %s (go to payment gateway settings)." 997 msgstr "" 998 999 #: includes/class-wc-robokassa.php:927 729 1000 msgid "Useful information" 730 1001 msgstr "" 731 1002 732 #: includes/class-wc-robokassa.php: 630 includes/class-wc-robokassa.php:6521003 #: includes/class-wc-robokassa.php:931 733 1004 msgid "Official plugin page" 734 1005 msgstr "" 735 1006 736 #: includes/class-wc-robokassa.php: 6311007 #: includes/class-wc-robokassa.php:932 737 1008 msgid "Related news: ROBOKASSA" 738 1009 msgstr "" 739 1010 740 #: includes/class-wc-robokassa.php: 6321011 #: includes/class-wc-robokassa.php:933 741 1012 msgid "Plugins for WooCommerce" 742 1013 msgstr "" 743 1014 744 #: includes/class-wc-robokassa.php:645 745 msgid "Extension" 746 msgstr "" 747 748 #: includes/class-wc-robokassa.php:650 749 msgid "" 750 "Even more opportunities to accept payments. Increase conversion and " 751 "stability of the algorithms." 752 msgstr "" 753 754 #: includes/class-wc-robokassa.php:671 1015 #: includes/class-wc-robokassa.php:953 755 1016 msgid "Errors not found. Payment acceptance is active." 756 1017 msgstr "" 757 1018 758 #: includes/class-wc-robokassa.php: 6751019 #: includes/class-wc-robokassa.php:957 759 1020 msgid "" 760 1021 "Warnings found. They are highlighted in yellow. You should attention to " … … 762 1023 msgstr "" 763 1024 764 #: includes/class-wc-robokassa.php: 6791025 #: includes/class-wc-robokassa.php:961 765 1026 msgid "" 766 1027 "Critical errors were detected. They are highlighted in red. Payment " … … 768 1029 msgstr "" 769 1030 770 #: includes/class-wc-robokassa.php: 6831031 #: includes/class-wc-robokassa.php:965 771 1032 msgid "Status" 1033 msgstr "" 1034 1035 #: includes/submethods/class-wc-robokassa-bank-alfabank-method.php:34 1036 msgid "Alfa-Click" 1037 msgstr "" 1038 1039 #: includes/submethods/class-wc-robokassa-bank-bank-avb-method.php:34 1040 msgid "Bank AVB" 1041 msgstr "" 1042 1043 #: includes/submethods/class-wc-robokassa-bank-bank-bin-method.php:34 1044 msgid "BINBANK" 1045 msgstr "" 1046 1047 #: includes/submethods/class-wc-robokassa-bank-bank-fbid-method.php:34 1048 msgid "Federal Bank For Innovation And Development" 1049 msgstr "" 1050 1051 #: includes/submethods/class-wc-robokassa-bank-bank-inteza-method.php:34 1052 msgid "Banca Intesa" 1053 msgstr "" 1054 1055 #: includes/submethods/class-wc-robokassa-bank-bank-min-method.php:34 1056 msgid "Moscow Industrial Bank" 1057 msgstr "" 1058 1059 #: includes/submethods/class-wc-robokassa-bank-bank-sov-com-method.php:34 1060 msgid "Sovcombank" 1061 msgstr "" 1062 1063 #: includes/submethods/class-wc-robokassa-bank-bank-trust-method.php:34 1064 msgid "National Bank TRUST" 1065 msgstr "" 1066 1067 #: includes/submethods/class-wc-robokassa-bank-vtb4-method.php:34 1068 msgid "VTB" 1069 msgstr "" 1070 1071 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-apple-pay-method.php:34 1072 msgid "Apple Pay" 1073 msgstr "" 1074 1075 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-halva-method.php:34 1076 msgid "Card Halva" 1077 msgstr "" 1078 1079 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-method.php:34 1080 msgid "Bank Card" 1081 msgstr "" 1082 1083 #: includes/submethods/class-wc-robokassa-bankcard-bank-card-samsung-pay-method.php:34 1084 msgid "Samsung Pay" 1085 msgstr "" 1086 1087 #: includes/submethods/class-wc-robokassa-emoney-elecsnet-wallet-method.php:34 1088 msgid "ElecsnetWallet" 1089 msgstr "" 1090 1091 #: includes/submethods/class-wc-robokassa-emoney-qiwi-wallet-method.php:34 1092 msgid "QIWI Wallet" 1093 msgstr "" 1094 1095 #: includes/submethods/class-wc-robokassa-emoney-w1-method.php:34 1096 msgid "RUR W1" 1097 msgstr "" 1098 1099 #: includes/submethods/class-wc-robokassa-emoney-wmr-method.php:34 1100 msgid "WMR" 1101 msgstr "" 1102 1103 #: includes/submethods/class-wc-robokassa-emoney-yandex-money-method.php:34 1104 msgid "Yandex.Money" 1105 msgstr "" 1106 1107 #: includes/submethods/class-wc-robokassa-mobile-phone-beeline-method.php:34 1108 msgid "Beeline" 1109 msgstr "" 1110 1111 #: includes/submethods/class-wc-robokassa-mobile-phone-megafon-method.php:34 1112 msgid "Megafon" 1113 msgstr "" 1114 1115 #: includes/submethods/class-wc-robokassa-mobile-phone-mts-method.php:34 1116 msgid "Mts" 1117 msgstr "" 1118 1119 #: includes/submethods/class-wc-robokassa-mobile-phone-tattelecom-method.php:34 1120 msgid "Tattelecom" 1121 msgstr "" 1122 1123 #: includes/submethods/class-wc-robokassa-mobile-phone-tele2-method.php:34 1124 msgid "Tele2" 1125 msgstr "" 1126 1127 #: includes/submethods/class-wc-robokassa-other-biocoin-method.php:34 1128 msgid "BioCoin" 1129 msgstr "" 1130 1131 #: includes/submethods/class-wc-robokassa-other-store-euroset-method.php:34 1132 msgid "Euroset" 1133 msgstr "" 1134 1135 #: includes/submethods/class-wc-robokassa-other-store-svyaznoy-method.php:34 1136 msgid "Svyaznoy" 1137 msgstr "" 1138 1139 #: includes/submethods/class-wc-robokassa-terminals-terminals-elecsnet-method.php:34 1140 msgid "TerminalsElecsnet" 772 1141 msgstr "" 773 1142 … … 781 1150 782 1151 #. Description of the plugin/theme 783 msgid "Integration Robokassa in WooCommerce as payment gateway plugin."1152 msgid "Integration Robokassa in WooCommerce as payment gateway." 784 1153 msgstr "" 785 1154 -
wc-robokassa/trunk/readme.txt
r2292827 r2334486 18 18 19 19 = Support WooCommerce currency = 20 Full support of options to work with currencies:21 20 1. RUB 22 21 2. USD … … 27 26 1. WPML (http://wpml.org) 28 27 2. WooCommerce Currency Switcher (https://currency-switcher.com) 28 3. WooCommerce Subscriptions 29 29 30 30 = Plugin updates = 31 Updates are issued at the expense of raised funds from the sale of the premium addon.31 Updates are issued at the expense of raised funds from the sale of the serial keys. 32 32 The updates includes fix bugs, improve the code, add new features and add support for new versions of WooCommerce. 33 Each purchase of a premium add-onallows to work on the plugin for 3 hours (2 hour in idea mode, and 1 hours in code editing mode).33 Each purchase of a serial key allows to work on the plugin for 3 hours (2 hour in idea mode, and 1 hours in code editing mode). 34 34 35 35 = Plugin support = 36 36 Individual free support is not provided. If something doesn't work, it means it's either set up in the wrong way, 37 37 or the plugin is used on unsupported versions of WordPress and WooCommerce. 38 You can always agree on paid support and on paid add features. 39 Features are added to the premium add-on! They become available for everyone. 40 Support information can be found on the official website. If you have not found it, it is not available. 38 Can always agree on paid support and on paid add features. 39 Support information can be found on the official website. If have not found information, it support is not available. 41 40 42 41 = Bug report = 43 42 Error reports are accepted by email [email protected] with the subject: [bug] wc-robokassa 44 If you specify a different topic, the report will most likely not be accepted. Reports are processed within your free time. 45 You should keep in mind that errors are not always errors. Errors in settings are possible, as well as use on 46 unsupported versions of software. 47 If the bug is not fixed for a long time, then there is no funding. 43 If specify a different topic, the report will most likely not be accepted. Reports are processed within your free time. 44 Should keep in mind that errors are not always errors. Errors in settings are possible, as well as use on unsupport versions of software. 45 If the bug is not fixed for a long time, then there is no money to create release. 48 46 49 47 = Feature request = 50 48 Requests to add features are accepted by e-mail [email protected] with the subject: [feature] wc-robokassa 51 You can write requests on the support forum, but the forum is not often inspected. 52 The description of the necessary feature should be as detailed as possible. Whatever you need to think over during implementation. 53 The implementation of opportunities occurs within the budget collected from the mass sales of premium additions. 54 If an opportunity is not added for a long time, there may be no money for it. You can order the refinement individually. 55 56 = Premium available = 57 Additional plugin adds new features to the main free plugin: 58 1. WooCommerce Subscriptions 59 2. Division into payment methods 60 3. Payment without redirect to Robokassa website 61 4. Payment of the buyer's commission 62 5. Filtering by delivery methods 63 6. Commission calculation on the site side 64 7. Checking limits 65 8. Checking the availability of payment methods 66 9. Choice of payment method before going to Robokassa 67 [https://mofsy.ru/projects/wc-robokassa-premium](https://mofsy.ru/projects/wc-robokassa-premium) 49 Write requests on the support forum, but the forum is not often inspected. 50 The description of the necessary feature should be as detailed as possible. Whatever need to think over during implementation. 51 The implementation of opportunities occurs within the budget collected from the mass sales of serial keys. 52 If an opportunity is not added for a long time, there may be no money for it. Can order the feature individually. 68 53 69 54 == Screenshots == … … 83 68 84 69 == Changelog == 70 71 = 4.0.0 = 72 New major version. Please backup before update. 73 * Add all premium features 74 * Test: WooCommerce 4.1, 4.2 75 * More fix 85 76 86 77 = 3.1.0 = -
wc-robokassa/trunk/wc-robokassa.php
r2292827 r2334486 2 2 /** 3 3 * Plugin Name: Payment gateway - Robokassa for WooCommerce 4 * Description: Integration Robokassa in WooCommerce as payment gateway plugin.4 * Description: Integration Robokassa in WooCommerce as payment gateway. 5 5 * Plugin URI: https://mofsy.ru/projects/wc-robokassa 6 * Version: 3.1.06 * Version: 4.0.0 7 7 * WC requires at least: 3.0 8 * WC tested up to: 4. 08 * WC tested up to: 4.2 9 9 * Text Domain: wc-robokassa 10 10 * Domain Path: /languages
Note: See TracChangeset
for help on using the changeset viewer.