.control-label{font-weight: bold;}
.mainbox_outer{ align-items:center; flex-direction:row; justify-content:center; align-items:flex-start; width:100%; box-sizing: border-box; padding-top: 4em; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif }
.mainbox{width:620px; border-radius:4px; overflow:hidden; box-shadow:0px 5px 40px rgba(0,0,0,0.2); background:#fff; margin: auto; }
header{ text-align:center; padding:30px 24px 0; }
header h2{ font-weight:600; font-size:20px; margin:20px 0 0 }
.price_input{color: #000000; line-height: 56px; height: 72px; padding: 8px 16px; margin:10px auto 0; border-radius: 4px; display: table; width:auto; }
.price_input:focus-within { background-color: #EEEEEE;}
.price_input_inner{ display: flex; justify-content: center; }
.price_input .dollar{font-weight: 600; margin-top: 0; color: #323A42; font-size: 46px; line-height: 56px; }
.price_input input {font-size: 46px; line-height: 56px; border: 0; padding: 0; -webkit-appearance: none; width: 90px; background: none; border: 0; outline: none }
.price_input input::-webkit-outer-spin-button,
.price_input input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0;}
/*.price_input:focus-within .dollar{ color: #D92B2B;}
.price_input:focus-within input{ color: #D92B2B;}*/
hr{height:1px; border:0; width:100%; margin:20px 0; background-color:#D5D9DC; }
.form-horizontal{ padding: 0 32px 32px }
.form-horizontal .form-group{line-height: 24px; margin:16px 0 0; }
.form-horizontal .form-group label{font-size:14px; font-weight: 600; color: #323A42; padding: 0 }
.form-horizontal .form-group input, .js .credit-card-group {width: 100%; border: 1px solid rgba(0,0,0,0.3); color: #000000; box-sizing: border-box; border-radius: 3px; font-size: 14px; line-height: 14px; height: 46px; padding: 8px 16px; -webkit-appearance: none; margin: 0 }
.js .credit-card-group{ padding: 0 16px }
.js .form-horizontal .form-group .credit-card-group .card-number{ border:0 !important; width: 206px; height: auto !important; border-radius: inherit !important; padding: 14px 16px }
.js .form-horizontal .form-group .credit-card-group input{ border:0; }
.card-image{ top: 7px; margin:0 }
.card-instruction{ display: table; }
.form-horizontal .form-group input[type="button"]{ background:#2996CC; border-radius:4px; font-size:16px; color:#fff; cursor:pointer; border: 0 }
footer{ text-align:center; padding:50px 0; } 
footer img{ height: 20px }
footer p{ display:block; font-size:14px; margin:10px 0 0; color:#71767B; }

@media screen and (max-width: 767px) {
	.mainbox_outer{ padding: 1em 1em 0 }
	.mainbox{width:100%;}
	footer{ padding: 15px 0 }
	header{ padding: 20px 14px 0 }
	.form-horizontal{ padding: 0 22px 22px }
	/*.price_input{ margin: 5px auto 0 }*/
}
@media screen and (max-width: 480px) {
	header{ padding: 10px 0 0 }
	header img{ width: 150px }
	header h2{ font-size: 15px; margin: 10px 0 0 }
	.price_input{ margin: 5px auto; height: auto; padding: 8px 16px }
	.price_input .dollar{ font-size: 36px; line-height: initial; }
	.price_input input{ font-size: 36px; line-height: initial; }
	.form-horizontal{ padding: 0 15px 15px }
	.form-horizontal .form-group{ margin: 10px 0 0; line-height: initial; }
	.form-horizontal .form-group label{ margin: 0; font-size: 12px }
	.form-horizontal .form-group input, .js .credit-card-group{ height: 36px; padding:8px; }
	.card-image{ top: 4px; height: 17px; width: 24px }
	.js .form-horizontal .form-group .credit-card-group .card-number{ padding: 9px 8px; width: 176px }
	.js .credit-card-group{ padding: 0 8px }
	.card-instruction{ margin: 3px 0 0 }
	footer img{ height: 14px }
	footer p{ font-size:12px; margin:5px 0 0; }
}