.payment-wrapper .row {
    display: -ms-flexbox; /* IE10 */
    display: flex;
    -ms-flex-wrap: wrap; /* IE10 */
    flex-wrap: wrap;
    margin: 0 -16px;
}

.payment-wrapper .col-25 {
    -ms-flex: 25%; /* IE10 */
    flex: 25%;
}

.payment-wrapper .col-50 {
    -ms-flex: 50%; /* IE10 */
    flex: 50%;
}

.payment-wrapper .col-75 {
    -ms-flex: 75%; /* IE10 */
    flex: 75%;
}

.payment-wrapper .col-25,
.col-50,
.col-75 {
    padding: 0 16px;
}

.payment-wrapper .container {
    background-color: #f2f2f2;
    padding: 5px 20px 15px 20px;
    border: 1px solid lightgrey;
    border-radius: 3px;
}

.payment-wrapper input[type=text] {
    width: 100%;
    margin-bottom: 20px;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

.payment-wrapper label {
    margin-bottom: 10px;
    display: block;
}

.payment-wrapper .icon-container {
    margin-bottom: 20px;
    font-size: 38px;
}

.payment-wrapper .btn {
    background-color: #EF5D96;
    color: white;
    padding: 12px;
    margin: 10px 0;
    border: none;
    width: 100%;
    border-radius: 3px;
    cursor: pointer;
    font-size: 17px;
}

.payment-wrapper select {
    padding: 11px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(...);
    margin-top: 1px;
    border-radius: 5px;
}

.form-group .transparent {
    opacity: 0.5;
}

.payment-wrapper .btn:hover {
    background-color: #ef31c5;
}

.payment-wrapper span.price {
    float: right;
    color: grey;
}

/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other (and change the direction - make the "cart" column go on top) */
@media (max-width: 800px) {


    .col-25 {
        margin-bottom: 20px;
    }
}

.loadingspinner {
    display: none;
    z-index: 4;
    pointer-events: none;
    top: 41vh;
    position: absolute;
    left: 41vw;
    width: 5.5em;
    height: 5.5em;
    border: 0.6em solid transparent;
    border-color: #ac398c;
    border-top-color: #EF5D96;
    border-radius: 50%;
    animation: loadingspin 1s linear infinite;
}
@keyframes loadingspin {
    100% {
        transform: rotate(360deg)
    }
}

.profile-container {
    text-align: center;
    text-align: -moz-center;
    text-align: -webkit-center;
}

.profile-confirmed {
    display: none;
    border-radius: 30px;
    width: 45vw;
    padding: 13px;
    border: 2px solid #ccc;
    text-align: -webkit-center;
    text-align: center;
}
.profile-confirmed h3 {
    color: #e85a73;
    margin-bottom: 5px !important;
    margin-top: 6px !important;
}
.profile-confirmed h4 {
    margin-top: 18px;
    color: #34B8DD;
}
div#payment-profile-id {
    padding: 5px;
    font-weight: 500;
    font-size: 34px;
}