UNPKG

react-fancy-visa-card

Version:

React js implementation for visa credit card - Payment Form

310 lines (298 loc) 7.48 kB
.react-fancy-visa-card *, .react-fancy-visa-card *::before, .react-fancy-visa-card *::after { box-sizing: border-box; } /*-------------------- Buttons --------------------*/ .react-fancy-visa-card .form button { display: block; background: #bded7d; color: white; text-decoration: none; margin: 20px 0; padding: 15px 15px; border-radius: 5px; position: relative; } .react-fancy-visa-card .form button::after { content: ""; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; transition: all 0.2s ease-in-out; box-shadow: inset 0 3px 0 rgba(0, 0, 0, 0), 0 3px 3px rgba(0, 0, 0, 0.2); border-radius: 5px; } .react-fancy-visa-card .form button:hover::after { background: rgba(0, 0, 0, 0.1); box-shadow: inset 0 3px 0 rgba(0, 0, 0, 0.2); } /*-------------------- Form --------------------*/ .react-fancy-visa-card .form fieldset { border: none; padding: 10px 0; position: relative; clear: both; } .react-fancy-visa-card .form fieldset.fieldset-expiration { float: left; width: 60%; } .react-fancy-visa-card .form fieldset.fieldset-expiration .select { width: 84px; margin-right: 12px; float: left; } .react-fancy-visa-card .form fieldset.fieldset-ccv { clear: none; float: right; width: 86px; } .react-fancy-visa-card .form fieldset label { display: block; text-transform: uppercase; font-size: 11px; color: rgba(0, 0, 0, 0.6); margin-bottom: 5px; font-weight: bold; } .react-fancy-visa-card #card-number { width: 100%; } .react-fancy-visa-card .expiration{ margin-right:90px; } .react-fancy-visa-card .form fieldset input, .react-fancy-visa-card .form fieldset .select { width: 100%; height: 38px; color: #333333; padding: 10px; border-radius: 5px; outline: none !important; border: 1px solid rgba(0, 0, 0, 0.3); box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2); font-size: 19px; } .react-fancy-visa-card .form fieldset input.input-cart-number, .react-fancy-visa-card .form fieldset .select.input-cart-number { width: 82px; display: inline-block; margin-right: 8px; } .react-fancy-visa-card .form fieldset input.input-cart-number:last-child, .react-fancy-visa-card .form fieldset .select.input-cart-number:last-child { margin-right: 0; } .react-fancy-visa-card .form fieldset .select { position: relative; } .react-fancy-visa-card .form fieldset .select::after { content: ""; border-top: 8px solid #222; border-left: 4px solid transparent; border-right: 4px solid transparent; position: absolute; z-index: 2; top: 14px; right: 10px; pointer-events: none; } .react-fancy-visa-card .form fieldset .select select { appearance: none; -webkit-appearance: none; -moz-appearance: none; position: absolute; padding: 0; border: none; width: 100%; outline: none !important; top: 6px; left: 6px; background: none; font-size: 19px !important; } .react-fancy-visa-card .form fieldset .select select :-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; } .react-fancy-visa-card .form button { width: 100%; outline: none !important; background: linear-gradient(180deg, #49a09b, #3d8291); text-transform: uppercase; font-weight: bold; border: none; box-shadow: none; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); margin-top: 90px; font-size: 18px; } .react-fancy-visa-card .form button .fa { margin-right: 6px; } /*-------------------- Checkout --------------------*/ .react-fancy-visa-card.checkout { margin: 150px auto 30px; position: relative; width: 460px; background: white; border-radius: 15px; padding: 160px 45px 30px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); } /*-------------------- Credit Card --------------------*/ .react-fancy-visa-card .credit-card-box { perspective: 1000; width: 400px; height: 280px; position: absolute; top: -112px; left: 50%; transform: translateX(-50%); } .react-fancy-visa-card .credit-card-box:hover .flip, .react-fancy-visa-card .credit-card-box.hover .flip { transform: rotateY(180deg); } .react-fancy-visa-card .credit-card-box .front, .react-fancy-visa-card .credit-card-box .back { width: 400px; height: 250px; border-radius: 15px; backface-visibility: hidden; background: linear-gradient(135deg, #bd6772, #53223f); position: absolute; color: #fff; top: 0; left: 0; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3); } .react-fancy-visa-card .credit-card-box .front::before, .react-fancy-visa-card .credit-card-box .back::before { content: ""; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: url("http://cdn.flaticon.com/svg/44/44386.svg") no-repeat center; background-size: cover; opacity: 0.05; } .react-fancy-visa-card .credit-card-box .flip { transition: 0.6s; transform-style: preserve-3d; position: relative; } .react-fancy-visa-card .credit-card-box .logo { position: absolute; top: 9px; right: 20px; width: 60px; } .react-fancy-visa-card .credit-card-box .logo svg { width: 100%; height: auto; fill: #fff; } .react-fancy-visa-card .credit-card-box .front { z-index: 2; transform: rotateY(0deg); } .react-fancy-visa-card .credit-card-box .back { transform: rotateY(180deg); } .react-fancy-visa-card .credit-card-box .back .logo { top: 185px; } .react-fancy-visa-card .credit-card-box .chip { position: absolute; width: 60px; height: 45px; top: 20px; left: 20px; background: linear-gradient(135deg, #ddccf0 0%, #d1e9f5 44%, #f8ece7 100%); border-radius: 8px; } .react-fancy-visa-card .credit-card-box .chip::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; border: 4px solid rgba(128, 128, 128, 0.1); width: 80%; height: 70%; border-radius: 5px; } .react-fancy-visa-card .credit-card-box .strip { background: linear-gradient(135deg, #404040, #1a1a1a); position: absolute; width: 100%; height: 50px; top: 30px; left: 0; } .react-fancy-visa-card .credit-card-box .number { position: absolute; margin: 0 auto; top: 103px; left: 19px; font-size: 38px; } .react-fancy-visa-card .credit-card-box label { font-size: 10px; letter-spacing: 1px; text-shadow: none; text-transform: uppercase; font-weight: normal; opacity: 0.5; display: block; margin-bottom: 3px; } .react-fancy-visa-card .credit-card-box .card-holder, .react-fancy-visa-card .credit-card-box .card-expiration-date { position: absolute; margin: 0 auto; top: 180px; left: 19px; font-size: 22px; text-transform: capitalize; } .react-fancy-visa-card .credit-card-box .card-expiration-date { text-align: right; left: auto; right: 20px; } .react-fancy-visa-card .credit-card-box .ccv { height: 36px; background: #fff; width: 91%; border-radius: 5px; top: 110px; left: 0; right: 0; position: absolute; margin: 0 auto; color: #000; text-align: right; padding: 10px; } .react-fancy-visa-card .credit-card-box .ccv label { margin: -25px 0 14px; color: #fff; }