Valider un numéro de carte bancaire
Script complet de vérification de numéro de carte bancaire avec algorithme de Luhn. Prend en charge les cartes Visa, Mastercard, Maestro, Carte Bancaire, Discover Card, American Express, JCB Cards.
Script complet (CSS, JS, SVG) de validation à la volée de format de numéros de cartes de crédit.
Le but n'est pas de faire un cours sur l'algorithme de Luhn et sur les patterns, le script valide le numéro
selon le
type de carte (Visa, Carte bancaire, Mastercard, Maestro, American Express, Discover, JCB Card, Diners Club).
Code HTML
<label for="sample-cardnumber-visa" class="xs-12 s-12">Carte Visa</label>
<span aria-hidden="true" class="credit-card-visa"></span>
<input
 type="number"
 data-cc-type="visa"
 id="sample-cardnumber-visa" 
 autocomplete="cc-number">
 <p class="describe-input xs-12 s-12" id="sample-cardnumber-visa-desc">16 chiffres commançant par 4</p>
/**
 attribut `data-cc-type` = visa|cb|mastercard|maestro|amex|discover|jcb|diners
 attribut `class` = credit-card-[data-cc-type]
*/16 chiffres commançant par 4
Exemples de validations
Saisir un numéro de carte dans un champ ou cliquer sur un numéro proposé. Pour chaque carte, le 2ème numéro est invalide (algorithme de Luhn non conforme).
16 chiffres commançant par 4
- Numéros « Visa »
16 chiffres commançant par 4
- Numéros « Carte bancaire »
16 chiffres commançant par 5
- Numéros « Mastercard »
16 chiffres commançant par 5
- Numéros « Maestro »
15 chiffres commançant par 3
- Numéros « American Express »
16 chiffres commançant par 6
- Numéros « Discover »
16 chiffres
- Numéros « JCB Card »
14 chiffres commençant par 3
- Numéros « Diners Club »
Source des numéros : https://ccardgenerator.com/fr/
Les fonctions Javascript
La fonction est en deux parties :
creditCardNumberFormatControl qui vérifie la validité du format du numéro.
Taille : 1,84 kilo-octets (~821,00 octets compressé)
/*
 * Source Kortic (URL : https://www.kortic.com/script-de-controle-de-format-de-numeros-de-cartes-bancaires-multi-marques.html)
 * licence Creative Commons CC BY-NC-SA 4.0
 * https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr
 */
 
;((__) => {
 'use strict';
 __.fn.creditCardNumberFormatControl = function () {
 let creditCardsPatterns = {
 visa: {
 pattern: /^4[0-9]{12}(?:[0-9]{3})?$/,
 label: 'Visa'
 },
 cb: {
 pattern: /^4[0-9]{12}(?:[0-9]{3})?$/,
 label: 'Carte bancaire'
 },
 mastercard: {
 pattern: /^5[1-5][0-9]{14}$|^2(?:2(?:2[1-9]|[3-9][0-9])|[3-6][0-9][0-9]|7(?:[01][0-9]|20))[0-9]{12}$/,
 label: 'Mastercard'
 },
 maestro: {
 pattern: /^5[1-5][0-9]{14}$|^2(?:2(?:2[1-9]|[3-9][0-9])|[3-6][0-9][0-9]|7(?:[01][0-9]|20))[0-9]{12}$/,
 label: 'Maestro'
 },
 amex: {
 pattern: /^3[47][0-9]{13}$/,
 label: 'American Express'
 },
 discover: {
 pattern: /^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$/,
 label: 'Discover'
 },
 diners: {
 pattern: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,
 label: 'Diners Club'
 },
 jcb: {
 pattern: /^(?:2131|1800|35[0-9]{3})[0-9]{11}$/,
 label: 'JCB Card'
 }
 },
 checkLuhn = function (luhn) {
 let ca,
 sum = 0,
 mul = 0,
 len = luhn.length;
 while (len--) {
 ca = parseInt(luhn.charAt(len), 10) << mul;
 sum += ca - (ca > 9) * 9;
 mul ^= 1;
 }
 return (sum % 10 === 0) && (sum > 0);
 },
 checkCreditCard = function (value, key) {
 let val = value.replace(/\D/g, '');
 return creditCardsPatterns[key].pattern.test(val) && checkLuhn(val);
 };
 let cardNumber = __(this);
 return checkCreditCard(cardNumber.val(), cardNumber.attr('data-cc-type'));
 };
})(jQuery);
Une fonction « locale » qui utilise creditCardNumberFormatControl à adapter selon vos besoins.
Cette dernière contrôle les caractères saisis en n'autorisant que les chiffres et espaces et formate le numéro
de carte par groupe de 4 caractères.
Taille : 1,22 kilo-octets (~726,00 octets compressé)
/*
 * Source Kortic (URL : https://www.kortic.com/script-de-controle-de-format-de-numeros-de-cartes-bancaires-multi-marques.html)
 * licence Creative Commons CC BY-NC-SA 4.0
 * https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr
 */
 
;((__) => {
 let cc_format = val => {
 let v = val.replace(/\s+/g, '').replace(/[^0-9]/gi, ''),
 matches = v.match(/\d{4,16}/g),
 match = matches && matches[0] || '',
 groups = [];
 for (let i = 0, len = match.length; i < len; i += 4) {
 groups.push(match.substring(i, i + 4));
 }
 return groups.length ? groups.join(' ') : val;
 };
 __('[data-cc-type]').each(function () {
 let cardNumber = __(this);
 cardNumber.on({
 input: () => {
 if (cardNumber.val().length) {
 cardNumber.attr({
 'aria-invalid': !cardNumber.creditCardNumberFormatControl() ? 'true' : 'false'
 });
 } else {
 cardNumber.attr({
 'aria-invalid': null
 });
 }
 this.value = cc_format(this.value);
 },
 keypress: e => {
 let code = e.which || e.keyCode;
 return !((code < 48 || code > 57) && (code !== 8) && (code !== 0));
 }
 });
 });
 __('.js-card-number').each(function () {
 __(this).on('click', () => {
 let li_ = __(this);
 __('#' + li_.attr('data-rel')).val(parseInt(li_.text().trim().replace(/\D/g, ''), 10)).trigger('input');
 });
 });
})(jQuery);
La feuille de styles
C'est une base de travail à adapter à votre contenu.
Taille : 2,36 kilo-octets (~943,00 octets compressé)
/*
 * Source Kortic (URL : https://www.kortic.com/script-de-controle-de-format-de-numeros-de-cartes-bancaires-multi-marques.html)
 * licence Creative Commons CC BY-NC-SA 4.0
 * https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr
 */
 
[data-cc-type] {
 width: calc(100% - 3.75rem);
 padding-right: 2.5rem;
 --icon-valid: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="green" d="M16,0A16,16,0,1,0,32,16,16.00584,16.00584,0,0,0,16,0Zm0,28.8A12.8,12.8,0,1,1,28.8,16,12.817,12.817,0,0,1,16,28.8ZM23.344,8.928,12.8,19.472,8.656,15.344,6.4,17.6,12.8,24,25.6,11.2Z"/></svg>');
 --icon-invalid: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="orangered" d="M14,9.5A1.50441,1.50441,0,0,1,15.5,8h1A1.50441,1.50441,0,0,1,18,9.5v1A1.50441,1.50441,0,0,1,16.5,12h-1A1.50441,1.50441,0,0,1,14,10.5ZM20,24H12V22h2V16H12V14h6v8h2ZM16,0A16,16,0,1,0,32,16,15.99943,15.99943,0,0,0,16,0Zm0,29A13,13,0,1,1,29,16,12.99962,12.99962,0,0,1,16,29Z"/></svg>');
}
.describe-input {
 --invalid-color: var(--raspberry, darkred);
}
@media (prefers-color-scheme: dark) {
 .describe-input {
 --invalid-color: var(--error-color, rgb(255,169,173));
 }
}
[data-cc-type][aria-invalid] {
 background-position: calc(100% - 0.625rem) center;
 background-size: 1.5rem 1.5rem;
}
[data-cc-type][aria-invalid='false'] {
 background-image: var(--icon-valid);
}
[data-cc-type][aria-invalid='true'] {
 background-image: var(--icon-invalid);
}
[data-cc-type] + .describe-input {
 padding-left: 3.75rem;
 font-size: 0.875rem;
}
[data-cc-type][aria-invalid='true'] + .describe-input {
 color: var(--invalid-color);
}
label[for*="cardnumber"] {
 padding-left: 3.75rem;
}
[class*=credit-card-] {
 background-size: 3rem 2rem;
 background-repeat: no-repeat;
 background-position: center center;
 width: 3.75rem;
}
.credit-card-amex {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-amex');
}
.credit-card-cb {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-cb');
}
.credit-card-discover {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-discover');
}
.credit-card-jcb {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-jcb');
}
.credit-card-mastercard {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-mastercard');
}
.credit-card-maestro {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-maestro');
}
.credit-card-visa {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-visa');
}
.credit-card-diners {
 background-image: url('/svg/cc.ac57febb2917329e.svg#cc-diners');
}
Le fichier SVG contenant tous les logos
Taille : 31,49 kilo-octets (~11,30 kilo-octets compressé)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 32" role="img">
 <defs>
 <style>
 svg {color-scheme: dark light;}
 use:not([width]) {width:2rem; height:2rem;}
 use[href="#background"] {width:3.375rem; height:2.25rem;}
 </style>
 <symbol id="background">
 <path fill="#fff" d="M44.03121,32H3.96879C1.77689,32,0,30.81541,0,29.35414H0V2.64586C0,1.18459,1.77689,0,3.96879,0H44.03121C46.22311,0,48,1.18459,48,2.64586h0V29.35414C48,30.81541,46.22311,32,44.03121,32Z"/>
 </symbol>
 <symbol id="cb">
 <linearGradient id="gradient-cb" x1="223.13" y1="-598.13" x2="224.02" y2="-598.13" gradientTransform="matrix(0, 27, 0.83, 0, 514.66, -6019.71)" gradientUnits="userSpaceOnUse">
 <stop offset="0" stop-color="#1b1f46"/>
 <stop offset="0.35" stop-color="#1b1f46"/>
 <stop offset="0.47" stop-color="#2e467e"/>
 <stop offset="0.55" stop-color="#3665a9"/>
 <stop offset="0.59" stop-color="#3665a8"/>
 <stop offset="0.63" stop-color="#3565a2"/>
 <stop offset="0.67" stop-color="#369"/>
 <stop offset="0.71" stop-color="#30668c"/>
 <stop offset="0.74" stop-color="#2d667a"/>
 <stop offset="0.78" stop-color="#296663"/>
 <stop offset="0.82" stop-color="#256449"/>
 <stop offset="0.85" stop-color="#216230"/>
 <stop offset="1" stop-color="#216230"/>
 </linearGradient>
 <polygon points="0 28 0 4 32 4 32 28 0 28" fill="url(#gradient-cb)"/>
 <g fill="#fff">
 <path d="M9.82,15.47h6.86a5.07,5.07,0,0,0-1.45-3.72c-1.25-1.09-3.44-1.49-5.39-1.49s-4.28.44-5.54,1.61A5.46,5.46,0,0,0,3,16a5.77,5.77,0,0,0,1.64,4.31c1.25,1.09,3.27,1.38,5.22,1.38s3.95-.33,5.19-1.36A5.56,5.56,0,0,0,16.69,16H9.82v-.47Z"/>
 <path d="M17.14,15.94v5.44h9.55a2.68,2.68,0,0,0,2.51-2.69,2.73,2.73,0,0,0-2.51-2.75H17.14Z"/>
 <path d="M29,13a2.45,2.45,0,0,0-2.44-2.49H17.14v5h9.63A2.49,2.49,0,0,0,29,13Z"/>
 </g>
 </symbol>
 <symbol id="visa">
 <path d="M20.84276,10.75c-2.27212,0-4.30259,1.19265-4.30259,3.39617,0,2.527,3.60112,2.70155,3.60112,3.97105,0,.53454-.60489,1.013-1.638,1.013a5.38892,5.38892,0,0,1-2.56205-.6686l-.4689,2.22359a7.912,7.912,0,0,0,2.93842.56476c2.48416,0,4.43889-1.25121,4.43889-3.4924,0-2.67025-3.61613-2.8396-3.61613-4.01791,0-.41873.49656-.87753,1.52673-.87753a5.13737,5.13737,0,0,1,2.11065.48625l.4589-2.14761a6.79381,6.79381,0,0,0-2.487-.4508ZM.055,10.91208,0,11.23625a10.5818,10.5818,0,0,1,1.81682.53057c1.10852.40526,1.18748.64117,1.37418,1.37392l2.03438,7.94211h2.7271L12.1538,10.91208H9.433l-2.6996,6.91516L5.63176,11.96563a1.19517,1.19517,0,0,0-1.23914-1.05355Zm13.19287,0L11.11347,21.08285H13.708L15.835,10.91208Zm14.47077,0a1.22646,1.22646,0,0,0-1.20037.932L22.7171,21.08285H25.438l.52642-1.5398h3.31478l.3201,1.5398H32L29.9056,10.91208Zm.35386,2.74783.80651,3.81657H26.71835l1.35417-3.81657Z" fill="#1434cb"/>
 </symbol>
 <symbol id="mastercard">
 <path d="M5.82132,28.35792V26.70281a.97766.97766,0,0,0-1.03267-1.04819,1.01559,1.01559,0,0,0-.92284.46892.96342.96342,0,0,0-.86792-.46892.86723.86723,0,0,0-.769.3917v-.32549h-.5713v2.63708h.57677v-1.462a.61459.61459,0,0,1,.64269-.70063c.379,0,.57131.24827.57131.69511V28.3579H4.0251v-1.462a.61972.61972,0,0,1,.6427-.70064c.39,0,.57675.24827.57675.69511v1.46753Zm8.53631-2.63708h-.93382v-.8H12.847v.79995h-.53286v.52409H12.847v1.20269c0,.61235.23621.97652.91184.97652A1.33745,1.33745,0,0,0,14.473,28.22l-.16475-.491a1.05118,1.05118,0,0,1-.50539.149c-.28565,0-.379-.1766-.379-.44133V26.24494h.93383ZM19.23,25.65463a.77371.77371,0,0,0-.69212.38619v-.32h-.56581v2.63708h.57128V26.87936c0-.43582.18677-.67856.56034-.67856a.92693.92693,0,0,1,.357.06621l.17577-.54068a1.21651,1.21651,0,0,0-.40649-.07169Zm-7.36624.27583a1.957,1.957,0,0,0-1.07117-.27582c-.66468,0-1.09312.32-1.09312.84407,0,.43035.31859.69517.90633.7779l.26917.0386c.31309.04408.46143.12688.46143.27582,0,.20413-.20877.32-.59875.32a1.39455,1.39455,0,0,1-.87341-.27589l-.26914.44688a1.88883,1.88883,0,0,0,1.13706.3421c.75805,0,1.19748-.35865,1.19748-.86067,0-.46343-.346-.70618-.91731-.78895l-.26914-.03862c-.24723-.03308-.44495-.08269-.44495-.25922,0-.19312.1867-.309.49986-.309a1.68744,1.68744,0,0,1,.81847.22619Zm15.30378-.27582a.7737.7737,0,0,0-.69213.38618v-.32h-.56578v2.63708h.57125V26.87936c0-.43582.18679-.67856.56029-.67856a.92728.92728,0,0,1,.3571.06621l.17578-.54068a1.21673,1.21673,0,0,0-.40652-.07169Zm-7.36079,1.38469a1.33006,1.33006,0,0,0,1.27112,1.38584q.06481.00267.12967-.001a1.37147,1.37147,0,0,0,.94478-.3145l-.27464-.46343a1.1511,1.1511,0,0,1-.68664.23723.84586.84586,0,0,1,0-1.68816,1.15089,1.15089,0,0,1,.68664.23726l.27464-.46345a1.37177,1.37177,0,0,0-.94478-.31446,1.32868,1.32868,0,0,0-1.39976,1.25452q-.00369.065-.001.13017Zm5.35031,0V25.72084h-.57129v.32a.99438.99438,0,0,0-.82946-.38619,1.38673,1.38673,0,0,0,0,2.76951.9944.9944,0,0,0,.82946-.38624v.32h.57129Zm-2.12585,0a.79146.79146,0,1,1-.0017.06381q-.00045-.03194.0017-.06382Zm-6.8938-1.38469a1.38617,1.38617,0,0,0,.03845,2.76951,1.59153,1.59153,0,0,0,1.07664-.36969l-.28016-.42477a1.24764,1.24764,0,0,1-.76354.27582.73006.73006,0,0,1-.78551-.64552h1.95006c.00549-.07167.01095-.1434.01095-.22067a1.26216,1.26216,0,0,0-1.24691-1.38469Zm-.011.51306a.65344.65344,0,0,1,.66468.64H15.4288a.67714.67714,0,0,1,.69761-.64Zm14.33153.87163v-2.3777h-.57131v1.37919a.9944.9944,0,0,0-.82943-.38619,1.38672,1.38672,0,0,0,0,2.76951.99439.99439,0,0,0,.82943-.38624v.32h.57131Zm.95231.93642a.2609.2609,0,0,1,.10333.02058.26772.26772,0,0,1,.08444.0562.2639.2639,0,0,1,.05689.08351.25859.25859,0,0,1,0,.20335.26588.26588,0,0,1-.05689.08318.27384.27384,0,0,1-.08444.0565.25709.25709,0,0,1-.10333.02092.26589.26589,0,0,1-.24657-.16059.25928.25928,0,0,1,0-.20335.266.266,0,0,1,.05664-.08352.26076.26076,0,0,1,.08474-.05619.26873.26873,0,0,1,.10518-.0206Zm0,.46641a.1935.1935,0,0,0,.07872-.016.20711.20711,0,0,0,.06392-.0437A.20447.20447,0,0,0,31.489,28.05a.19592.19592,0,0,0-.07872-.01575A.20453.20453,0,0,0,31.33,28.05a.20046.20046,0,0,0-.06491.04331.20439.20439,0,0,0,.14516.34887Zm.01535-.327a.11009.11009,0,0,1,.072.02092.06991.06991,0,0,1,.02524.05685.06636.06636,0,0,1-.02014.04974.09578.09578,0,0,1-.05727.02411l.07933.09187h-.062l-.07356-.09123h-.02368v.09123h-.05181v-.24349Zm-.06011.04566v.06489H31.425a.0584.0584,0,0,0,.03263-.00809.0275.0275,0,0,0,.01211-.02469.02709.02709,0,0,0-.01211-.02414.05889.05889,0,0,0-.03263-.008Zm-3.03337-1.12147a.79136.79136,0,1,1-.00171.0638q-.00043-.03192.00171-.0638Zm-19.2918,0V25.72084H8.469v.32a.9944.9944,0,0,0-.82946-.38619,1.38673,1.38673,0,0,0,0,2.76951A.99442.99442,0,0,0,8.469,28.0379v.32h.57131Zm-2.12582,0a.79123.79123,0,1,1-.00172.06381q-.00042-.03194.00171-.06381Z" fill="#231f20"/>
 <path d="M11.674,5.62384h8.65283V21.24057H11.674Z" fill="#ff5f00"/>
 <path d="M12.22345,13.43219a9.93028,9.93028,0,0,1,3.777-7.80835A9.86028,9.86028,0,0,0,2.11467,7.29465,9.96075,9.96075,0,0,0,3.77828,21.24057a9.85542,9.85542,0,0,0,12.22218,0A9.93044,9.93044,0,0,1,12.22345,13.43219Z" fill="#eb001b"/>
 <path d="M32,13.43219a9.88,9.88,0,0,1-15.99954,7.80837,9.95416,9.95416,0,0,0,0-15.61673A9.89283,9.89283,0,0,1,32,13.4322Zm-.94357,6.15409v-.31972h.12836v-.06515h-.32691v.06514h.12842v.31972Zm.63467,0v-.38549h-.10021l-.11525.26515-.11529-.26515h-.10026v.38549h.07075V19.2955l.10809.25069h.07337l.10809-.25133v.29142Z" fill="#f79e1b"/>
 </symbol>
 <symbol id="maestro">
 <path d="M20.32,21.232H11.664V5.68H20.32Z" fill="#7375cf"/>
 <path d="M12.224,13.456A9.86128,9.86128,0,0,1,16,5.68a9.888,9.888,0,1,0,0,15.552,9.86128,9.86128,0,0,1-3.776-7.776" fill="#eb001b"/>
 <path d="M31.696,19.584V19.2H31.6l-.112.256-.112-.256H31.28v.384h.064v-.288l.112.256h.08l.112-.256v.288Zm-.64,0v-.32h.128V19.2h-.32v.064h.128v.32ZM32,13.456a9.89105,9.89105,0,0,1-16,7.776A9.89464,9.89464,0,0,0,16,5.68a9.89105,9.89105,0,0,1,16,7.776" fill="#00a2e5"/>
 <path d="M23.232,25.632a1.16271,1.16271,0,0,1,.4.064l-.176.544a.9674.9674,0,0,0-.352-.064c-.368,0-.56.24-.56.672V28.32h-.576V25.696h.56v.32a.79958.79958,0,0,1,.704-.384m-2.112.576h-.928v1.184c0,.256.096.432.384.432a1.13456,1.13456,0,0,0,.512-.144l.16.496a1.31473,1.31473,0,0,1-.72.208c-.672,0-.912-.368-.912-.976v-1.2h-.528V25.68h.528v-.8h.576v.8h.928v.528Zm-7.312.56a.67692.67692,0,0,1,.704-.64.65651.65651,0,0,1,.672.64Zm1.968.24a1.25567,1.25567,0,0,0-1.248-1.376,1.377,1.377,0,0,0,.032,2.752,1.56482,1.56482,0,0,0,1.072-.368l-.288-.416a1.25019,1.25019,0,0,1-.768.272.73073.73073,0,0,1-.784-.64h1.952a1.08041,1.08041,0,0,0,.032-.224m2.512-.64a1.714,1.714,0,0,0-.816-.224c-.32,0-.496.112-.496.304,0,.176.192.224.448.256l.272.032c.576.08.912.32.912.784,0,.496-.432.864-1.2.864a1.90754,1.90754,0,0,1-1.136-.336l.272-.448a1.43665,1.43665,0,0,0,.88.272c.384,0,.592-.112.592-.32,0-.144-.144-.224-.464-.272l-.272-.032c-.592-.08-.912-.352-.912-.768,0-.528.432-.848,1.088-.848a2.00975,2.00975,0,0,1,1.072.272Zm7.04-.208a.71633.71633,0,0,0-.32.064.731.731,0,0,0-.256.176,1.13909,1.13909,0,0,0-.176.272.78691.78691,0,0,0-.064.336.7421.7421,0,0,0,.064.336.99051.99051,0,0,0,.176.272.91443.91443,0,0,0,.256.176.832.832,0,0,0,.64,0,.731.731,0,0,0,.256-.176.79858.79858,0,0,0,.176-.272.78691.78691,0,0,0,.064-.336.7421.7421,0,0,0-.064-.336.99051.99051,0,0,0-.176-.272.91443.91443,0,0,0-.256-.176,1.03445,1.03445,0,0,0-.32-.064m0-.528a1.25179,1.25179,0,0,1,.56.112,1.19984,1.19984,0,0,1,.448.288,1.62365,1.62365,0,0,1,.304.432,1.5724,1.5724,0,0,1,.112.544,1.2278,1.2278,0,0,1-.112.544,1.05925,1.05925,0,0,1-.304.432,1.19984,1.19984,0,0,1-.448.288,1.66214,1.66214,0,0,1-.56.112,1.25179,1.25179,0,0,1-.56-.112,1.19971,1.19971,0,0,1-.448-.288,1.62365,1.62365,0,0,1-.304-.432,1.57235,1.57235,0,0,1-.112-.544,1.22785,1.22785,0,0,1,.112-.544,1.05932,1.05932,0,0,1,.304-.432,1.19984,1.19984,0,0,1,.448-.288,1.25179,1.25179,0,0,1,.56-.112M10.48,27.008a.79437.79437,0,0,1,.8-.848.841.841,0,1,1-.8.848m2.128,0V25.696h-.576v.32a.97044.97044,0,0,0-.832-.384,1.37756,1.37756,0,0,0,0,2.752A1.01232,1.01232,0,0,0,12.032,28v.32h.576ZM9.392,28.32V26.672a.97432.97432,0,0,0-1.04-1.04,1.03144,1.03144,0,0,0-.928.464.957.957,0,0,0-.864-.464.87075.87075,0,0,0-.768.384v-.32H5.216V28.32h.576V26.864a.624.624,0,0,1,.64-.704c.384,0,.576.24.576.688v1.456h.576V26.848a.632.632,0,0,1,.64-.704c.384,0,.576.24.576.688v1.456h.592Zm17.968-.208v.064h.064c.016,0,.032,0,.032-.016.016,0,.016-.016.016-.032s0-.016-.016-.016a.05586.05586,0,0,0-.032-.016H27.36Zm.064-.032c.032,0,.048,0,.064.016a.08313.08313,0,0,1,.032.064.05878.05878,0,0,1-.016.048c-.016.016-.032.016-.064.016l.08.096h-.064l-.08-.096H27.36v.096h-.048v-.24Zm-.016.32a.14424.14424,0,0,0,.08-.016.28284.28284,0,0,0,.112-.112.208.208,0,0,0,0-.16A.28284.28284,0,0,0,27.488,28a.1199.1199,0,0,0-.08-.016.14424.14424,0,0,0-.08.016.22087.22087,0,0,0-.064.048c-.016.016-.032.048-.048.064a.208.208,0,0,0,0,.16.22087.22087,0,0,0,.048.064c.016.016.048.032.064.048a.14424.14424,0,0,0,.08.016m0-.464a.20293.20293,0,0,1,.096.016.27667.27667,0,0,1,.144.128.296.296,0,0,1,0,.192.15974.15974,0,0,1-.064.08c-.032.016-.048.048-.08.064a.20293.20293,0,0,1-.096.016.27228.27228,0,0,1-.112-.016.15974.15974,0,0,1-.08-.064.349.349,0,0,1-.064-.08.296.296,0,0,1,0-.192.15974.15974,0,0,1,.064-.08.136.136,0,0,1,.08-.048.27228.27228,0,0,1,.112-.016"/>
 </symbol>
 <symbol id="amex">
 <rect y="3" width="32" height="26" fill="#fff"/>
 <path d="M26.26415,7.84906l1.0566-2.79246H32V0H0V32H32V26.9434H27.54717l-1.66038-1.96227-1.66038,1.8868H11.69811V16.83019H7.54717L12.75472,5.13208h5.0566l1.20755,2.64151V5.13208H25.283l.98113,2.717Zm-3.4717,1.88679V8.60377l.45283,1.13208,2.11321,5.58491h1.96226L29.434,9.73585l.37735-1.13207v6.64151H32V6.717H28.37735L26.717,11.01887l-.45283,1.20755-.45283-1.20755L24.15094,6.717H20.5283v8.45283h2.26415v-5.434Zm-4.67925,5.434h2.49057l-3.77358-8.5283h-2.9434l-3.77359,8.5283h2.49057l.67924-1.66038H17.434l.67924,1.66038Zm-3.1698-5.5849.45282-1.05661.45283,1.05661.90566,2.18868h-2.6415l.83019-2.18868ZM13.434,16.83019v8.5283H20.5283V23.4717H15.54717V21.96226h4.83019V20.15094H15.54717V18.64151H20.5283V16.83019ZM28.5283,25.20755h2.79245l-4-4.22642,4-4.22641H28.5283l-2.566,2.79245-2.566-2.79245H20.5283l4,4.30189-4,4.22641h2.717l2.566-2.79245,2.717,2.717Zm1.0566-4.151L32,23.54717V18.64151L29.5849,21.0566Z" fill="#006fcf"/>
 </symbol>
 <symbol id="diners">
 <path d="M3.65,21.13c0,.44.32.49.6.49A1.6,1.6,0,0,0,5.9,19.83,1.73,1.73,0,0,0,4.1,18a3.62863,3.62863,0,0,0-.45,0Zm-.56-2.7c0-.52-.27-.49-.53-.49v-.15H4.24a2.09,2.09,0,0,1,2.29077,1.86776q.00672.066.00923.13224a2.07,2.07,0,0,1-2.37,2H2.56v-.15c.34,0,.51-.05.53-.44Zm4.27-.14a.29.29,0,1,1,.23138-.23138A.29.29,0,0,1,7.36,18.29m-.62,3.37h.11c.16,0,.28,0,.28-.19V19.91c0-.26-.09-.29-.3-.41v-.09l.61-.2a.17.17,0,0,1,.11,0V21.5c0,.19.12.19.28.19H8v.15H6.74Zm1.78-1.72c0-.21-.06-.27-.33-.38v-.11c.24-.08.48-.15.76-.27v.43a1.66,1.66,0,0,1,1-.43c.49,0,.66.35.66.8v1.49c0,.19.13.19.29.19H11v.15H9.8v-.15h.1c.16,0,.28,0,.28-.19V20c0-.33-.2-.49-.53-.49a1.57993,1.57993,0,0,0-.67.27v1.71c0,.19.13.19.29.19h.1v.15H8.14v-.15h.1c.16,0,.28,0,.28-.19Zm3.97.06c.14,0,.16-.07.16-.14a.49.49,0,0,0-.5-.53.69.69,0,0,0-.66.67Zm-1,.19a1.6393,1.6393,0,0,0,0,.33,1,1,0,0,0,.84,1,1.08,1.08,0,0,0,.78-.39l.08.08a1.34,1.34,0,0,1-1.06.65,1.15,1.15,0,0,1-1.132-1.16772q.00041-.02616.002-.05228c0-1.13.76-1.46,1.16-1.46a.9.9,0,0,1,1,.9v.1h-.05Zm1.79,1.47h.15c.16,0,.28,0,.28-.19V19.85c0-.18-.21-.21-.3-.26V19.5c.42-.17.65-.32.7-.32s.05,0,.05.07v.52h0c.14-.23.38-.59.73-.59a.31.31,0,0,1,.32949.2892L15.22,19.48a.28.28,0,0,1-.25912.29943L14.95,19.78c-.18,0-.18-.14-.38-.14a.48.48,0,0,0-.42.48v1.35c0,.19.11.19.28.19h.32v.15H13.28ZM15.49,21a.76.76,0,0,0,.73.7.41.41,0,0,0,.47-.41c0-.68-1.26-.46-1.26-1.39a.79.79,0,0,1,.8416-.73478q.02427.00165.0484.00478a1.59006,1.59006,0,0,1,.66.16v.59h-.13a.6.6,0,0,0-.6285-.57007L16.22,19.35a.4.4,0,0,0-.44717.34647L15.77,19.73c0,.67,1.34.47,1.34,1.37,0,.38-.31.78-1,.78a1.6,1.6,0,0,1-.71-.19L15.39,21Zm6.86-2.17H22.2a1.1,1.1,0,0,0-1.2-.94,1.64,1.64,0,0,0-1.62,1.82,1.88,1.88,0,0,0,1.71,2,1.18,1.18,0,0,0,1.16-1h.13l-.13.84a3.21,3.21,0,0,1-1.27.3,2,2,0,0,1-2.2-2.16,2.12,2.12,0,0,1,2.18-2,3.99994,3.99994,0,0,1,1.36.31Zm.2,2.83h.11c.16,0,.28,0,.28-.19V18.26c0-.37-.09-.39-.31-.45v-.09a4.19969,4.19969,0,0,0,.6-.25l.12-.06v4.08c0,.19.13.19.29.19h.1v.15H22.55Zm3.7-.17c0,.1.06.11.16.11h.23v.13a6.589,6.589,0,0,0-.83.17h0v-.47a1.55,1.55,0,0,1-1,.48.62.62,0,0,1-.63-.68v-1.5c0-.15,0-.29-.34-.32V19.3h.74c.08,0,.06,0,.06.17v1.49c0,.17,0,.66.5.66a1.28,1.28,0,0,0,.7-.35V19.68c0-.11-.28-.18-.48-.23v-.11a5.51786,5.51786,0,0,0,.89-.08c.05,0,.05,0,.05.11Zm1.15-.33a.61.61,0,0,0,.59.58c.62,0,.88-.6.88-1.11a1.11,1.11,0,0,0-.93-1.14.88.88,0,0,0-.54.27Zm0-1.57a1.48,1.48,0,0,1,.86-.41,1.12,1.12,0,0,1,1.07274,1.16534L29.33,20.39A1.45,1.45,0,0,1,28,21.89a1.61,1.61,0,0,1-.8-.2l-.17.14-.12-.07a6.8997,6.8997,0,0,0,.08-1v-2.5c0-.37-.09-.39-.31-.45v-.09a3.99914,3.99914,0,0,0,.59-.25l.13-.06v2.18ZM2.55,25.16H2.6c.11,0,.23,0,.23-.18V23.34c0-.17-.12-.18-.23-.18H2.55v-.1h.96v.1h0c-.11,0-.23,0-.23.18V25c0,.16.12.18.23.18h0v.09h-1Zm.95.08v-.07h0c-.11,0-.24,0-.24-.19V23.34c0-.18.13-.2.24-.2h0v-.06H2.57v.06h0c.11,0,.24,0,.24.2V25c0,.17-.13.19-.24.19h0v.07H3.5m0,0h-1v-.11h.1c.11,0,.21,0,.21-.16V23.34c0-.16-.1-.17-.21-.17H2.54v-.11h1v.11H3.46c-.11,0-.21,0-.21.17V25c0,.15.1.16.21.16h.06v.12Zm2.16-.63h0V23.45a.26.26,0,0,0-.28-.29H5.33v-.1h.82v.1H6.1c-.13,0-.28,0-.28.4v1.76h-.1L4.11,23.5v1.29c0,.27,0,.37.29.37h.06v.09H3.63v-.09h0c.22,0,.28-.15.28-.4V23.44a.27.27,0,0,0-.25961-.28q-.0102-.00039-.02039,0h0v-.1h.64Zm-.01,0Zm.06.65h.11a1.4204,1.4204,0,0,1,0-.3V23.56c0-.38.16-.42.29-.42h0v-.06h-.8v.06h0a.28.28,0,0,1,.29.31v1.19h0L4.27,23.08H3.64v.06h0a.3.3,0,0,1,.3.3v1.32c0,.25-.07.41-.3.41h0v.07h.8v-.07h0c-.24,0-.3-.11-.3-.38V23.46Zm.12,0H5.71L4.12,23.53v1.26c0,.27,0,.35.28.35h.07v.12H3.61v-.11h.06c.21,0,.27-.13.27-.38V23.44a.27.27,0,0,0-.27-.27H3.61v-.11h.67L5.65,24.6V23.45c0-.25-.16-.28-.26-.28H5.31v-.11h.85v.11H6.1c-.13,0-.26,0-.26.39V25a1.67051,1.67051,0,0,0,0,.32h0Zm.79-2.06c-.24,0-.24.06-.29.28h-.1a1.99975,1.99975,0,0,0,0-.26,2.45146,2.45146,0,0,0,0-.27h.08c0,.1.1.09.18.09H8.17c.09,0,.16,0,.17-.09h.07v.25a2.25972,2.25972,0,0,0,0,.26H8.32c0-.11,0-.3-.23-.3H7.53v1.67c0,.24.11.27.26.27h.06v.09h-1v-.09h.06c.18,0,.26,0,.26-.27V23.22Zm1.23,2.04h-1v-.11h.07c.18,0,.25,0,.25-.25V23.23h0v1.68c0,.25-.1.28-.28.28h0v.07H7.9v-.07h0c-.15,0-.27,0-.27-.28v-1.7h.53c.21,0,.24.18.24.29h.07a2.08938,2.08938,0,0,1,0-.25v-.24H8.35c0,.09-.1.1-.18.1H6.54c-.08,0-.16,0-.18-.09H6.3a2.08938,2.08938,0,0,1,0,.25v.25h.07c0-.22.07-.29.3-.28h0c-.23,0-.23.05-.28.28H6.22v-.26a2.45146,2.45146,0,0,0,0-.27h.1c0,.08.08.08.16.08H8.17c.09,0,.15,0,.16-.09h.09v.51H8.31c0-.12,0-.29-.22-.29h-.5v1.66c0,.23.1.25.24.25h.08v.12Zm.66-.1h.05c.11,0,.23,0,.23-.18V23.34c0-.17-.12-.18-.23-.18H8.51v-.1H10.1a3.83992,3.83992,0,0,0,0,.48h-.09c0-.21,0-.37-.38-.37H9.19V24h.37c.19,0,.23-.1.25-.27h.1v.72h-.1c0-.19,0-.31-.24-.31H9.19v.73c0,.2.18.2.38.2.38,0,.55,0,.64-.38h.09a2.98709,2.98709,0,0,1-.11.5H8.51Zm1.67.08a2.05337,2.05337,0,0,1,.1-.48h-.06c-.09.35-.28.38-.65.38-.19,0-.39,0-.39-.22v-.74h.39c.22,0,.24.12.25.3h.07v-.7H9.82c0,.16-.06.28-.26.28H9.18v-.85h.45c.32,0,.38.16.39.36h.07a2.90891,2.90891,0,0,1,0-.3v-.15H8.53v.06h0c.11,0,.24,0,.24.2V25c0,.17-.13.19-.24.19h0v.07h1.65m0,0H8.5v-.11h.06c.11,0,.22,0,.22-.16V23.34c0-.16-.11-.17-.22-.17H8.5v-.11h1.61v.48H10c0-.2-.05-.35-.37-.36H9.21V24h.36c.19,0,.22-.1.24-.27h.12v.72H9.82c0-.19,0-.3-.23-.3H9.21v.72c0,.19.16.19.36.19.38,0,.53,0,.63-.37h.1a2.87718,2.87718,0,0,1-.11.49h0Zm.94-1.14h.16c.31,0,.48-.12.48-.49a.42.42,0,0,0-.46-.45h-.18Zm-.4-.72c0-.23-.12-.24-.22-.24h-.06v-.1h.99c.4,0,.75.11.75.55a.6.6,0,0,1-.44.56l.54.8a.36.36,0,0,0,.3.19v.09H12a8.05886,8.05886,0,0,1-.65-1h-.21v.68c0,.24.11.25.26.25h0v.09h-1v-.09h.06c.11,0,.22-.06.22-.17Zm.56.71c.31,0,.46-.11.46-.48a.41.41,0,0,0-.44-.44h-.16v.91Zm-.16,0h0v-1h.18a.44.44,0,0,1,.47.47c0,.38-.18.51-.49.51Zm0,.08h.22a9.14967,9.14967,0,0,0,.64,1h.59v-.07a.35.35,0,0,1-.3-.19l-.55-.82h0a.57.57,0,0,0,.42-.54c0-.43-.33-.53-.73-.53h-1v.06h.05c.1,0,.23,0,.23.26V25c0,.12-.11.18-.23.18h-.05v.07h.97v-.07h0c-.14,0-.27,0-.27-.26v-.69Zm1.46,1H12a8.71,8.71,0,0,1-.65-1h-.18v.66c0,.23.09.23.24.23h.07v.12h-1v-.11h.07c.11,0,.21-.05.21-.15V23.4c0-.23-.11-.23-.21-.23h-.07v-.11h1c.4,0,.76.11.76.56a.6.6,0,0,1-.43.56l.53.79a.33.33,0,0,0,.29.18h0v.12Zm2.13-.56h0V23.45c0-.26-.17-.29-.27-.29h-.07v-.1h.83v.1h0c-.13,0-.28,0-.28.4v1.76H14.8l-1.61-1.8v1.29c0,.27.05.37.29.37h.06v.09h-.83v-.09h0c.22,0,.28-.15.28-.4V23.44a.27.27,0,0,0-.25961-.28q-.0102-.00039-.02039,0h0v-.1h.63Zm-.01,0Zm.06.65h.1a2.811,2.811,0,0,1,0-.3V23.56c0-.38.16-.42.29-.42h0v-.06h-.79v.06h0a.28.28,0,0,1,.29.31v1.19h0l-1.4-1.57h-.62v.06h0a.3.3,0,0,1,.29.3v1.32c0,.25-.07.41-.29.41h0v.07h.8v-.07h0c-.24,0-.31-.11-.31-.38V23.46Zm.12,0h-.13L13.16,23.5v1.26c0,.27.05.35.28.35h.07v.12h-.86v-.11h.06c.21,0,.27-.13.27-.38v-1.3a.27.27,0,0,0-.27-.27h-.06v-.11h.66L14.7,24.6V23.45c0-.25-.17-.28-.26-.28h-.08v-.11h.85v.11h-.06c-.13,0-.26,0-.26.39v1.76h0Zm1.28-1.87h0l-.29.89h.59ZM15.7,24.8a1.41967,1.41967,0,0,0-.07.25c0,.09.13.11.24.11h0v.09h-.72v-.09h0a.3.3,0,0,0,.28-.21l.5-1.44a2.721,2.721,0,0,0,.11-.38,1.99925,1.99925,0,0,0,.29-.14h.05v.08L17,24.71a.88363.88363,0,0,0,.12.32.19.19,0,0,0,.2.13h0v.09h-.9v-.09h0c.08,0,.2,0,.2-.09a1.29966,1.29966,0,0,0-.06-.23l-.13-.36H15.8Zm.18-.51h.55l-.27-.84Zm0,0,.3-.91h0l.3.91Zm.64.93h.88v-.07h0a.22.22,0,0,1-.22-.13,2.99788,2.99788,0,0,1-.11-.32l-.58-1.64v-.08h0a1.45964,1.45964,0,0,1-.28.13,2.91144,2.91144,0,0,1-.12.39l-.6,1.5a.31.31,0,0,1-.29.21h0v.07h.69v-.07h0c-.1,0-.25,0-.25-.12a1.0701,1.0701,0,0,1,.07-.25h0l.1-.34h.73l.13.38a1.12039,1.12039,0,0,1,.06.23c0,.09-.13.1-.21.1h0Zm.89,0H16.5v-.11h0c.08,0,.18,0,.18-.07a.55017.55017,0,0,0-.06-.23l-.12-.35h-.69l-.1.32a1.16939,1.16939,0,0,0-.06.24c0,.07.11.09.22.09h.05v.12h-.75v-.11h0a.26.26,0,0,0,.26-.19l.5-1.44a2.671,2.671,0,0,0,.13-.4,1.22008,1.22008,0,0,0,.28-.13h0v.08L17,24.71l.12.32a.18.18,0,0,0,.19.11h0v.12Zm.1-2c-.23,0-.24.06-.29.28h-.1a1.99975,1.99975,0,0,0,0-.26,2.45146,2.45146,0,0,0,0-.27h.08c0,.1.1.09.18.09H19c.09,0,.16,0,.17-.09h.07v.25a2.25972,2.25972,0,0,0,0,.26h-.09c0-.11,0-.3-.23-.3H18.4v1.67c0,.24.11.27.26.27h.06v.09h-1v-.09h.06c.18,0,.26,0,.26-.27V23.22Zm1.23,2.04h-1v-.11h.07c.18,0,.25,0,.25-.25V23.23h0v1.68c0,.25-.1.28-.28.28h0v.07h1.01v-.07h-.05c-.15,0-.27,0-.27-.28v-1.7H19c.21,0,.24.18.24.29h.07a2.08938,2.08938,0,0,1,0-.25v-.24h-.05c0,.09-.1.1-.18.1H17.43c-.08,0-.16,0-.18-.09h-.06a2.08938,2.08938,0,0,1,0,.25v.25h.07c0-.22.07-.29.3-.28h0c-.23,0-.23.05-.28.28h-.12v-.26a2.45146,2.45146,0,0,0,0-.27h.1c0,.08.08.08.16.08h1.63c.09,0,.15,0,.16-.08h.09v.51h-.11c0-.12,0-.29-.22-.29h-.5v1.66c0,.23.1.25.24.25h.08v.12Zm.68-.1h0c.12,0,.24,0,.24-.18V23.34c0-.17-.12-.18-.24-.18h0v-.1h.96v.1h-.05c-.11,0-.23,0-.23.18V25c0,.16.12.18.23.18h.05v.09h-1Zm.94.08v-.07h0c-.11,0-.24,0-.24-.19V23.34c0-.18.13-.2.24-.2h0v-.06h-.93v.06h0c.12,0,.25,0,.25.2V25c0,.17-.13.19-.25.19h0v.07h.93m0,0h-1v-.11h.05c.12,0,.22,0,.22-.16V23.34c0-.16-.1-.17-.22-.17h-.05v-.11h1v.11H20.3c-.11,0-.21,0-.22.17V25c0,.15.11.16.22.16h.06v.1Zm1.31-.1c.61,0,.72-.54.72-1s-.25-1-.77-1-.71.49-.71.91.26,1.1.76,1.1m0-2.14a1.1,1.1,0,0,1,1.19554.99533q.00387.04222.00446.08467a1.15,1.15,0,0,1-1.09814,1.19962q-.04591.002-.09186.00038a1.11,1.11,0,0,1-1.16858-1.04815Q20.5092,24.221,20.51,24.18a1.13,1.13,0,0,1,1.07885-1.17893L21.63,23m-.73,1.06c0-.42.16-.92.72-.92s.78.57.78,1-.11,1-.73,1h0c.6,0,.7-.53.7-1s-.24-1-.75-1-.7.48-.7.89c0,.56.26,1.08.75,1.09h0c-.52,0-.77-.54-.77-1.11m-.44.11A1.15,1.15,0,0,1,21.63,23h0a1.13,1.13,0,0,0-1.14987,1.10978q-.00027.0151-.00013.03022a1.09,1.09,0,0,0,1.06751,1.112q.04626.00094.09249-.002a1.13,1.13,0,0,0,1.17039-1.08811Q22.81207,24.116,22.81,24.07a1.08,1.08,0,0,0-1.08535-1.07463q-.0474.00024-.09465.00463h0a1.11,1.11,0,0,1,1.2055,1.00547q.00426.04715.0045.09453a1.16,1.16,0,0,1-1.10816,1.20962q-.0459.002-.09184.00038a1.12,1.12,0,0,1-1.17859-1.05817Q20.4592,24.211,20.46,24.17m4.48.46h0V23.45c0-.26-.17-.29-.27-.29H24.6v-.1h.83v.1h-.05c-.13,0-.28,0-.28.4V25a1.67051,1.67051,0,0,0,0,.32H25l-1.61-1.8v1.29c0,.27.05.37.29.37h.05v.09H22.9v-.09H23c.22,0,.28-.15.28-.4V23.44a.27.27,0,0,0-.25961-.28q-.0102-.00039-.02039,0h-.1v-.1h.64Zm-.01,0Zm.06.65h.1a2.811,2.811,0,0,1,0-.3V23.56c0-.38.16-.42.29-.42h0v-.06h-.79v.06h.05a.28.28,0,0,1,.29.31v1.19h0l-1.4-1.57h-.62v.06h0a.3.3,0,0,1,.29.3v1.32c0,.25-.07.41-.29.41h0v.07h.8v-.07h0c-.25,0-.31-.11-.31-.38V23.46Zm.12,0H25l-1.6-1.75v1.26c0,.27.05.35.28.35h.07v.12h-.86v-.11H23c.2,0,.26-.13.27-.38V23.44a.27.27,0,0,0-.27-.27h-.06v-.11h.66l1.38,1.55V23.45c0-.25-.17-.28-.26-.28h-.08v-.11h.85v.11h-.06c-.13,0-.26,0-.27.39v1.76h0Zm1.28-1.87h0l-.29.89h.59Zm-.46,1.39a1.41967,1.41967,0,0,0-.07.25c0,.09.13.11.24.11h0v.09h-.72v-.09h0A.28.28,0,0,0,25.7,25l.51-1.44a2.71959,2.71959,0,0,0,.11-.38,1.99979,1.99979,0,0,0,.29-.14h0v.08l.58,1.64a2.381,2.381,0,0,0,.12.32.19.19,0,0,0,.2.13h0v.09h-.9v-.09h0c.07,0,.2,0,.2-.09a.89062.89062,0,0,0-.07-.23l-.12-.36H26Zm.18-.51h.55l-.27-.84Zm0,0,.3-.91h0l.29.91Zm.64.93h.88v-.07h0a.22.22,0,0,1-.22-.13,2.99788,2.99788,0,0,1-.11-.32l-.58-1.64v-.08h0a1.81962,1.81962,0,0,1-.28.13,2.91144,2.91144,0,0,1-.12.39l-.6,1.5a.31.31,0,0,1-.29.21h0v.07h.69v-.07h0c-.11,0-.25,0-.25-.12a1.06961,1.06961,0,0,1,.07-.25h0l.1-.34h.73l.13.38a1.12039,1.12039,0,0,1,.06.23c0,.09-.14.1-.21.1h0Zm.89,0h-.91v-.11h0c.08,0,.18,0,.18-.07a.77029.77029,0,0,0-.06-.23l-.12-.35H26l-.1.32a1.16939,1.16939,0,0,0-.06.24c0,.07.11.09.22.09h0v.12H25.4v-.11h0a.26.26,0,0,0,.26-.19l.5-1.44a2.32,2.32,0,0,1,.13-.4A1.2201,1.2201,0,0,0,26.6,23h0v.08l.57,1.64.12.32a.18.18,0,0,0,.19.11h0v.12Zm.75-.28c0,.13.09.17.19.18a1.88968,1.88968,0,0,0,.41,0,.41.41,0,0,0,.3-.17.72.72,0,0,0,.1-.22h.09a2.53006,2.53006,0,0,1-.12.53H27.71v-.09h0c.12,0,.24,0,.24-.21V23.34c0-.17-.12-.18-.24-.18h0v-.1h.97v.1H28.6c-.12,0-.21,0-.21.17Zm.96.3a3.09924,3.09924,0,0,1,.11-.51H29.4a.72007.72007,0,0,1-.1.22.46.46,0,0,1-.31.18h-.41a.17616.17616,0,0,1-.2-.19V23.33c0-.18.11-.19.22-.19h.07v-.06h-1v.06h0c.12,0,.25,0,.25.2V25c0,.2-.13.22-.25.22h0v.07H29.3m0,0H27.7v-.11h.05c.12,0,.22,0,.23-.19V23.34c0-.16-.11-.17-.23-.17H27.7v-.11h1v.11h-.1c-.12,0-.19,0-.2.16v1.61c0,.12.08.15.18.17H29a.45.45,0,0,0,.29-.16.77.77,0,0,0,.1-.23h.12a2.50073,2.50073,0,0,1-.11.53h0Zm.09-1.98h0s.06,0,.06-.09,0-.07-.06-.07h0Zm-.11.17h0v-.29h.17c.06,0,.11,0,.11.09a.11.11,0,0,1-.08.1l.06.07a.28992.28992,0,0,0,.07.08h-.06s-.06-.07-.12-.15h0v.11h.05Zm.16.09a.27.27,0,1,0-.26-.27964q-.00036.00981,0,.01964a.26.26,0,0,0,.26.26h0m0-.6a.33.33,0,0,1,.33015.32985L29.77,23.31a.33015.33015,0,1,1-.34015-.33985L29.44,22.97" fill="#221f20"/>
 <path d="M.36,6.55v18.9a2,2,0,0,0,2,1.91H29.67a2,2,0,0,0,2-1.91V6.55a2,2,0,0,0-2-1.91H2.33a2,2,0,0,0-2,1.91m2,21.18A2.3,2.3,0,0,1,.00011,25.46028L0,25.45V6.55A2.3,2.3,0,0,1,2.31972,4.26989L2.33,4.27H29.67a2.3,2.3,0,0,1,2.32989,2.26972L32,6.55v18.9a2.3,2.3,0,0,1-2.31972,2.28011L29.67,27.73ZM15.19,17.4A5.5,5.5,0,0,1,9.64,12a5.42,5.42,0,0,1,5.297-5.54023q.12646-.00283.253.00023h1.42a5.61,5.61,0,0,1,5.74866,5.46783L22.36,12a5.72,5.72,0,0,1-5.75,5.45Zm0-10.54a5,5,0,1,0,5,5h0a5,5,0,0,0-4.99-5Zm-1.14,8V8.92a3.18,3.18,0,0,0,0,5.95Zm4.33-3a3.19,3.19,0,0,0-2.05-3v5.95a3.18,3.18,0,0,0,2.06-2.91Z" fill="#004a92"/>
 </symbol>
 <symbol id="jcb">
 <linearGradient id="jcb-a" x1="252.2" y1="-77.15" x2="256.72" y2="-77.15" gradientTransform="translate(-495.23 175.58) scale(2.05)" gradientUnits="userSpaceOnUse">
 <stop offset="0" stop-color="#007940"/>
 <stop offset="0.23" stop-color="#00873f"/>
 <stop offset="0.74" stop-color="#40a737"/>
 <stop offset="1" stop-color="#5cb531"/>
 </linearGradient>
 <linearGradient id="jcb-b" x1="252.2" y1="-77.85" x2="256.72" y2="-77.85" href="#jcb-a"/>
 <linearGradient id="jcb-c" x1="252.2" y1="-78.62" x2="256.72" y2="-78.62" href="#jcb-a"/>
 <linearGradient id="jcb-d" x1="242.08" y1="-77.85" x2="246.67" y2="-77.85" gradientTransform="translate(-495.23 175.58) scale(2.05)" gradientUnits="userSpaceOnUse">
 <stop offset="0" stop-color="#1f286f"/>
 <stop offset="0.48" stop-color="#004e94"/>
 <stop offset="0.83" stop-color="#0066b1"/>
 <stop offset="1" stop-color="#006fbc"/>
 </linearGradient>
 <linearGradient id="jcb-e" x1="247.11" y1="-77.84" x2="251.57" y2="-77.84" gradientTransform="translate(-495.23 175.58) scale(2.05)" gradientUnits="userSpaceOnUse">
 <stop offset="0" stop-color="#6c2c2f"/>
 <stop offset="0.17" stop-color="#882730"/>
 <stop offset="0.57" stop-color="#be1833"/>
 <stop offset="0.86" stop-color="#dc0436"/>
 <stop offset="1" stop-color="#e60039"/>
 </linearGradient>
 <path d="M23.6,18.41h2.16l.27,0a.94.94,0,0,0,.76-1,1,1,0,0,0-.76-1l-.27,0H23.6Z" fill="url(#jcb-a)"/>
 <path d="M25.52,4.74a3.75,3.75,0,0,0-3.76,3.75v3.9h5.3a2.3,2.3,0,0,1,.37,0c1.19.06,2.08.68,2.08,1.75a1.76,1.76,0,0,1-1.71,1.72v0c1.22.08,2.14.76,2.14,1.81s-1,1.88-2.39,1.88H21.74v7.63h5.51A3.75,3.75,0,0,0,31,23.49V4.74Z" fill="url(#jcb-b)"/>
 <path d="M26.53,14.41a.89.89,0,0,0-.77-.89l-.2,0h-2v1.82h2a.65.65,0,0,0,.2,0A.89.89,0,0,0,26.53,14.41Z" fill="url(#jcb-c)"/>
 <path d="M4.77,4.74A3.75,3.75,0,0,0,1,8.49H1v9.26a7.48,7.48,0,0,0,3.24.85,1.79,1.79,0,0,0,2-1.86V12.37H9.47v4.35c0,1.69-1.05,3.07-4.61,3.07A15.22,15.22,0,0,1,1,19.32v7.9H6.51a3.75,3.75,0,0,0,3.75-3.75V4.74Z" fill="url(#jcb-d)"/>
 <path d="M15.14,4.74a3.75,3.75,0,0,0-3.75,3.75v4.92c.95-.81,2.6-1.32,5.26-1.2a16.79,16.79,0,0,1,3,.45v1.59a7.1,7.1,0,0,0-2.85-.82c-2-.15-3.23.84-3.23,2.58s1.21,2.74,3.23,2.57a7.45,7.45,0,0,0,2.85-.82v1.59a16.44,16.44,0,0,1-3,.45c-2.66.12-4.31-.39-5.26-1.2v8.66H16.9a3.75,3.75,0,0,0,3.75-3.75V4.74Z" fill="url(#jcb-e)"/>
 </symbol>
 <symbol id="discover">
 <linearGradient id="gradient-discover" x1="18.02" y1="16.33" x2="16.32" y2="13.66" gradientUnits="userSpaceOnUse">
 <stop offset="0" stop-color="#eda242"/>
 <stop offset="0.26" stop-color="#ec9d41"/>
 <stop offset="0.56" stop-color="#e9903e"/>
 <stop offset="0.62" stop-color="#e88c3d"/>
 <stop offset="0.7" stop-color="#e7883c"/>
 <stop offset="1" stop-color="#e47c3a"/>
 </linearGradient>
 <linearGradient id="gradient-discover-2" x1="17.75" y1="16.3" x2="15.26" y2="11.43" gradientUnits="userSpaceOnUse">
 <stop offset="0" stop-color="#e88c3d" stop-opacity="0"/>
 <stop offset="0.08" stop-color="#e3873d" stop-opacity="0.09"/>
 <stop offset="0.28" stop-color="#d77a3c" stop-opacity="0.32"/>
 <stop offset="0.48" stop-color="#ce6f3c" stop-opacity="0.5"/>
 <stop offset="0.67" stop-color="#c7683b" stop-opacity="0.63"/>
 <stop offset="0.84" stop-color="#c3643b" stop-opacity="0.71"/>
 <stop offset="0.98" stop-color="#c2623b" stop-opacity="0.74"/>
 </linearGradient>
 <path d="M16.76,11.9a2.46,2.46,0,1,0,2.47,2.46A2.46,2.46,0,0,0,16.76,11.9Z" fill="url(#gradient-discover)"/>
 <path d="M16.76,11.9a2.46,2.46,0,1,0,2.47,2.46A2.46,2.46,0,0,0,16.76,11.9Z" opacity="0.65" fill="url(#gradient-discover-2)" style="mix-blend-mode: multiply"/>
 <g fill="#221f20">
 <path d="M31.88,5.77H0V26.23H32V5.77ZM31.77,6V26H.23V6Z"/>
 <path d="M2.8,12H1.47v4.63H2.79a2.44,2.44,0,0,0,1.65-.53,2.33,2.33,0,0,0,.84-1.78A2.3,2.3,0,0,0,2.8,12Zm1.05,3.48a1.72,1.72,0,0,1-1.23.37H2.37V12.81h.25a1.65,1.65,0,0,1,1.23.38,1.53,1.53,0,0,1,.5,1.15A1.56,1.56,0,0,1,3.85,15.51Z"/>
 <rect x="5.7" y="12.03" width="0.9" height="4.63"/>
 <path d="M8.81,13.81c-.54-.2-.7-.34-.7-.59s.28-.51.67-.51a.94.94,0,0,1,.73.37l.47-.61A2,2,0,0,0,8.62,12a1.36,1.36,0,0,0-1.44,1.33c0,.64.29,1,1.14,1.27a3.82,3.82,0,0,1,.62.26.56.56,0,0,1,.27.48.66.66,0,0,1-.7.66,1.06,1.06,0,0,1-1-.62l-.59.56a1.81,1.81,0,0,0,1.61.88,1.49,1.49,0,0,0,1.59-1.52C10.14,14.51,9.84,14.18,8.81,13.81Z"/>
 <path d="M10.43,14.35A2.45,2.45,0,0,0,14,16.49V15.43a1.45,1.45,0,0,1-1.09.51,1.51,1.51,0,0,1-1.55-1.6,1.54,1.54,0,0,1,1.51-1.59,1.49,1.49,0,0,1,1.13.52V12.21a2.3,2.3,0,0,0-1.11-.29A2.44,2.44,0,0,0,10.43,14.35Z"/>
 <polygon points="21.17 15.14 19.93 12.03 18.95 12.03 20.91 16.78 21.4 16.78 23.4 12.03 22.42 12.03 21.17 15.14"/>
 <polygon points="23.8 16.66 26.37 16.66 26.37 15.88 24.71 15.88 24.71 14.63 26.3 14.63 26.3 13.84 24.71 13.84 24.71 12.81 26.37 12.81 26.37 12.03 23.8 12.03 23.8 16.66"/>
 <path d="M29.94,13.4c0-.87-.59-1.37-1.64-1.37H27v4.63h.91V14.8H28l1.25,1.86h1.12l-1.46-1.95A1.23,1.23,0,0,0,29.94,13.4Zm-1.81.76h-.26v-1.4h.27c.57,0,.87.23.87.68S28.71,14.16,28.13,14.16Z"/>
 <path d="M30.52,12.2c0-.08-.06-.12-.16-.12h-.13v.4h.1v-.15l.12.15h.11l-.13-.16A.12.12,0,0,0,30.52,12.2Zm-.17.06h0v-.11h0s.07,0,.07,0S30.4,12.26,30.35,12.26Z"/>
 <path d="M30.38,11.93a.35.35,0,0,0-.35.35.36.36,0,0,0,.35.36.36.36,0,0,0,0-.71Zm0,.64a.29.29,0,0,1,0-.58.29.29,0,0,1,0,.58Z" />
 </g>
 <path d="M31.77,17.14S23.09,23.26,7.19,26H31.77Z" fill="#e6863c"/>
 </symbol>
 </defs>
 <!-- VIEWS -->
 <view id="cc-mastercard" viewBox="0 0 48 32"/>
 <use href="#background" x="0" y="0"/>
 <use href="#mastercard" x="8" y="0"/>
 <view id="cc-visa" viewBox="50 0 48 32"/>
 <use href="#background" x="50" y="0"/>
 <use href="#visa" x="58" y="0"/>
 <view id="cc-amex" viewBox="100 0 48 32"/>
 <use href="#amex" x="108" y="0"/>
 <view id="cc-diners" viewBox="150 0 48 32"/>
 <use href="#background" x="150" y="0"/>
 <use href="#diners" x="158" y="0"/>
 <view id="cc-jcb" viewBox="200 0 48 32"/>
 <use href="#background" x="200" y="0"/>
 <use href="#jcb" x="208" y="0"/>
 <view id="cc-discover" viewBox="250 0 48 32"/>
 <use href="#background" x="250" y="0"/>
 <use href="#discover" x="258" y="0"/>
 <view id="cc-cb" viewBox="300 0 48 32"/>
 <use href="#background" x="300" y="0"/>
 <use href="#cb" x="308" y="0"/>
 <view id="cc-maestro" viewBox="350 0 48 32"/>
 <use href="#background" x="350" y="0"/>
 <use href="#maestro" x="358" y="0"/>
</svg>
Licence Creative commons CC BY-NC-SA 4.0
Lien vers la licence : Creative commons CC BY-NC-SA 4.0
Les sources proposées sur Kortic Anthony Ladeuil sont mises à disposition selon les termes suivants :
- Pas d’utilisation commerciale
-
Vous n'êtes pas autorisé à faire un usage commercial de cette Œuvre, tout ou partie du matériel
la composant.
Bien entendu, la probabilité est faible pour que ce point soit respecté. En cas de sursaut d'honnêteté, vous pouvez payer un café, cette page soulagera votre conscience. - Attribution
- Vous devez créditer l'Œuvre, intégrer un lien vers la licence et indiquer si des modifications ont été effectuées à l'Œuvre. Vous devez indiquer ces informations par tous les moyens raisonnables, sans toutefois suggérer que l'Offrant vous soutient ou soutient la façon dont vous avez utilisé son Œuvre.
- Partage dans les mêmes conditions
-
Dans le cas où vous effectuez un remix, que vous transformez, ou créez à partir du matériel
composant
l'Œuvre originale, vous devez diffuser l'Œuvre modifiée dans les mêmes conditions, c'est-à-dire
avec la même licence avec laquelle l'Œuvre originale a été diffusée.
Pas de restrictions complémentaires Vous n'êtes pas autorisé à appliquer des conditions légales ou des mesures techniques qui restreindraient légalement autrui à utiliser l'Œuvre dans les conditions décrites par la licence.
À défaut de tout ça, un petit message et une référence à Kortic restent les bienvenus.
Limitation de responsabilité
Le code est fourni « tel quel », sans garantie d'aucune sorte, expresse ou implicite. En aucun cas l’auteur ou les détenteurs du copyright ne seront responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action contractuelle, délictuelle ou autre, résultant de, en dehors ou en relation avec le logiciel ou l'utilisation ou d'autres transactions.
Vous aimez cette page ?
Dites-le !
Vous aimez cette page ?
Dites-le !