/***** Form Styling *****/
.creditCardForm {
    max-width: 700px;
    background-color: #fff;
    margin: 50px auto;
    overflow: hidden;
    padding: 25px;
    padding-bottom: 0px;
    margin-bottom: 0px;
    color: #4c4e56;
}

.form-group {
    margin-top: 1%;
}

#center {
    text-align: center;
    margin-top: 1%;
}

.creditCardForm label {
    width: 100%;
    margin-top: 25px;
}

.creditCardForm .heading h1 {
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    color: #4c4e56;
}

.form-group.charge-amt, .form-group.sales-amt, .form-group.sales-amt {
    padding-left: 5px;
}

.creditCardForm .payment {
    font-size: 18px;
    padding: 10px 25px;
    margin-top: -70px;
    position: relative;
}

.creditCardForm .payment .form-group {
    float: left;
    margin-bottom: 5px;
}

.creditCardForm .payment .form-control {
    line-height: 40px;
    height: 42px;
    padding: 0 16px;
}

.creditCardForm .first-name {
    width: 45%;
    margin-right: 5px;
}

.creditCardForm .last-name {
    width: 54%;
}

#expiration-date.form-group.expiration-date {
    width: 100%;
    text-align: center;
}

.creditCardForm #body {
    height: 15%;
}

.form-group.description, .creditCardForm #card-number-field, .creditCardForm #billing-address, .form-group.body {
    width: 100%;
}

#body.form-control {
    height: 125px;
}

#year {
    padding-left: 5%;
}

.creditCardForm #credit_cards {
    width: 38%;
    margin-top: 0px;
    text-align: right;
}

.creditCardForm #pay-now {
    width: 100%;
    margin-top: 25px;
}

.btn.btn-default {
    margin-top: 3px;
    font-size: 24px;
    background-color: #2ec4a5 !important;
    color: white !important;
}

.creditCardForm .payment select {
    padding: 10px;
    margin-right: 10px;
}

.transparent {
    opacity: 0.2;
}

.form-group.col-sm-8 {
    padding-right: 0px;
}

input-grouop-addon {
    border-radius: 4px;
}

.input-group-addon.left {
    border-radius: 4px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

.input-group-addon.right {
    border-radius: 4px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}

#ccform > div.row.justify-content-center > div.form-group.col-sm-8.col-xs-12 {
    padding-right: 15px;
}

@media(max-width: 668px) {
    #ccform > div.row.justify-content-center > div.form-group.col-sm-8.col-xs-12 {
        padding-left: 15px;
    }
}

@media(max-width: 650px) {
    .creditCardForm .owner, .creditCardForm .first-name, .creditCardForm .last-name, .creditCardForm #expiration-date, .creditCardForm #credit_cards, .form-group.sales-num, .form-control.sales-amt {
        width: 100% !important;
    }
    .creditCardForm #credit_cards {
        text-align: right;
    }
}

@media(max-width: 610px) {
    .form-group.col-sm, .form-group.col-sm-8 {
        width: 100%;
        padding-left: 0px;
        padding-right: 0px;
    }
}

@media(max-width: 380px) and (min-width: 360px){
    .form-group.col-sm .form-group.col-sm-8 {
        padding-left: 0px;
        padding-right: 0px;
        width: 100%;
    }
}

@media(max-width: 360px) and (min-width: 340px) {
    .sales-amt-label {
        padding-top: 24%;
    }
}

@media(max-width: 340px) and (min-width: 280px) {
    .sales-amt-label {
        padding-top: 30%;
    }
}

@media(max-width: 280px) {
    .sales-amt-label {
        padding-top: 37%;
    }
}

.money:before {
    content: "$";
}

#payment-mgmt {
    margin-left: 30%;
}

#selectCC {
    height: 40px;
    margin-top: 3px;
    width: 110%;
}

#sales-num {
    margin-top: 2px;
}

.modal-dialog {
    margin-top: 15% !important;
}

.button-div {
    margin-top: 10px;
    position: relative;
}

.custom-btn {
    background-color: #2ec4a5 !important;
    color: white !important;
}

/***** Table Styling *****/
.table-container {
    padding-left: 5%;
    padding-right: 5%;
}

table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

td, th {
    border: 1px solid #dddddd;
    text-align: center !important;
    padding: 8px;
    vertical-align: middle !important;
}

tr {
    height: 50px;
}

    tr:nth-child(even) {
        background-color: #dddddd;
    }

th {
    font-weight: bold !important;
}

h3 {
    color: black !important;
}

/* Absolute Center Spinner */
.loading {
    position: fixed;
    z-index: 999;
    height: 2em;
    width: 2em;
    overflow: visible;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

    /* Transparent Overlay */
    .loading:before {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.3);
    }

    /* :not(:required) hides these rules from IE9 and below */
    .loading:not(:required) {
        /* hide "loading..." text */
        font: 0/0 a;
        color: transparent;
        text-shadow: none;
        background-color: transparent;
        border: 0;
    }

        .loading:not(:required):after {
            content: '';
            display: block;
            font-size: 10px;
            width: 1em;
            height: 1em;
            margin-top: -0.5em;
            -webkit-animation: spinner 1500ms infinite linear;
            -moz-animation: spinner 1500ms infinite linear;
            -ms-animation: spinner 1500ms infinite linear;
            -o-animation: spinner 1500ms infinite linear;
            animation: spinner 1500ms infinite linear;
            border-radius: 0.5em;
            -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
            box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
        }

/* Animation */

@-webkit-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-o-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}