#payment-div {
    width: 350px;
    height: 496px;
    background: #fff;
    position: absolute;
    z-index: 10009;
    justify-content: center;
    align-items: center;
}

#payment-div .recap {
    width: calc(100% - 40px);
    padding: 20px;
    float: left;
    background: #f8f8f8;
    height: 105px;
}

#payment-div .recap .title {
    font-size: 24px;
    margin-bottom: 10px;
    line-height: 24px;
    font-weight: 600;
    color: #cf9821;
    text-transform: uppercase;
}

#payment-div .recap .subtitle {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 22px;
    font-weight: 400;
    color: #333;
}
#payment-div .recap .price {
    font-size: 36px;
    line-height: 36px;
    float: right;
    color: #cf9821;
}


#payment-div .fields {
    width: calc(100% - 40px);
    padding: 20px;
    float: left;
}

#payment-div .field {
    width: calc(100% - 0px);
    margin-bottom: 20px;
    float: left;
}

#payment-div .label {
    font-size: 1.125em;
    line-height: 32px;
    transition: all 0.15s ease-out;
    display: block;
    width: 100%;
    font-weight: 400;
    overflow: hidden;
    margin-bottom: 0.5em;
}

#payment-div i {
    margin-right: 5px;
}

#payment-div .input {
    width: calc(100% - 10px);
    padding-left: 10px;
    line-height: 30px;
    font-size: 16px;
    color: #333;
    font-family: roboto, verdana, sans-serif;
    font-weight: 300;
    border: 0;
    border-bottom: 2px solid #ddd;
    transition: all .2s ease;
}

#payment-div .input:focus {
    outline: none;
    border-bottom:2px solid #137cec;
}

#payment-div .input-month {
    width: calc(50% - 20px);
    float: left;
}

#payment-div .input-year {
    width: calc(50% - 20px);
    float: right;
}

#payment-div .button {
    float: left;
    width: 100%;
    height: 50px;
    text-transform: uppercase;
    font-size: 16px;
    color: #fff;
    background: #e91e63;
    letter-spacing: 1px;
    font-weight: 500;
    text-align: center;
    line-height: 50px;
    opacity: 0.90;
    cursor: pointer;
}

#payment-div .button:hover {
    opacity: 1;
}

.panel {
	 background: #fff;
	 width: 80%;
	 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12);
}
 .panel__header {
	 background: #3f51b5;
	 color: #fff;
}
 .panel__header, .panel__footer {
	 padding: 1em 2em;
}
 .panel__footer {
	 background: #f3f3f3;
}
 .panel__content {
	 padding: 1em 2em;
	 overflow: hidden;
}
 .textfield--float-label {
	 width: calc(50% - 5px);
	 float: left;
	 display: inline-block;
	 padding-right: 5px;
}
 .hosted-field--label {
	 transform: translateY(0.4em);
	 font-size: 1.125em;
	 line-height: 32px;
	 transition: all 0.15s ease-out;
	 display: block;
	 width: 100%;
	 font-weight: 400;
	 overflow: hidden;
	 margin-bottom: 0.5em;
}
 .hosted-field--label.label-float, .hosted-field--label.filled, .hosted-field--label.invalid {
	 text-overflow: ellipsis;
	 color: #2196f3;
	 transition: all 0.15s ease-out;
}
.filled {
	 color: rgba(0, 0, 0, 0.54);
}
.invalid {
	 color: #f44336;
}
 span.icon {
	 position: relative;
	 top: 0.2em;
	 margin-right: 0.2em;
}
 svg {
	 fill: #333;
}
 .hosted-field {
	 height: 32px;
	 margin-bottom: 1em;
	 display: block;
	 background-color: transparent;
	 color: rgba(0, 0, 0, 0.87);
	 border: none;
	 border-bottom: 1px solid rgba(0, 0, 0, 0.26);
	 outline: 0;
	 width: 100%;
	 font-size: 16px;
	 padding: 0;
	 box-shadow: none;
	 border-radius: 0;
	 position: relative;
}
 .pay-button {
	 background: #e91e63;
	 color: #fff;
	 margin: 0 auto;
	 border: 0;
	 border-radius: 3px;
	 padding: 1em 3em;
	 font-size: 1em;
	 text-transform: uppercase;
	 box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
}
/*-------------------- BT HOSTED FIELDS SPECIFIC --------------------*/
 .braintree-hosted-fields-focused {
	 border-bottom: 1px solid #3f51b5;
	 transition: all 200ms ease;
}
 .braintree-hosted-fields-invalid {
	 border-bottom: 1px solid #e91e63;
	 transition: all 200ms ease;
}
/*--------------------- Media Queries ----------------------*/
 @media (max-width: 600px) {
	 html {
		 overflow: auto;
	}
	 #cardForm {
		 height: auto;
		 margin: 2em;
		 font-size: 13px;
	}
	 .panel {
		 width: 100%;
	}
	 .textfield--float-label {
		 width: 100%;
		 float: none;
		 display: inline-block;
	}
	 .pay-button {
		 width: 100%;
	}
}