
body {
    font-family: 'Open Sans', sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #f6f6f6
}

.small, small {
    font-size: .75em;
}
.concrete {
    background-color: #f2f2f2;
}

.tuna {
    color: #343a40;
    font-weight: 300;
}

.oslo-gray {
    color: #868d96;
    font-size: 12px;
    font-weight: 300;
}


.card {
    width: 300px;
    height: 250px;
    padding: 0px;
    margin: 0px;
}

.card-title {
    color: #343a40;
    font-size: 19px;
    font-weight: 500;
}

.card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
}

.btn {
    border-radius: 0;
}

.btn-card-success {
    background-color: #29a745;
    border-color: #29a745;
}

.btn-card-primary {
    background-color: #037bff;
    border-color: #037bff;
}

.flexbutton {
    align-self: center;
    color: white;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
    padding: 20px;
}

.subbuttontext {
    color: white;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
}

.profileusers {
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.6;
}

.payee {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #a7a7a7;
}

.flex-addsubscribe {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.addplan-btn {
    background-color: #f67f21;
    padding: 10px 20px;
    border-radius: 10px;
    color: white;
    width: fit-content;
}

.header-top {
    padding-top: 20px;
    background: white;
    margin-bottom: 25px;
    border-bottom: 1px solid gainsboro;
}

.header-logo-area {
    text-align: center;
    padding-bottom: 20px;
}

.addplan-btn a {
color: white;
text-decoration: none;
font-size: 14px;
}
.addaplan-wrapper {
font-size: 13px;
margin: 10px 0px 20px;
}

.verify-box {
    display: flex;
    flex-direction: column;
    padding: 2em;
    background-color: white;
    border-radius: 15px;
    max-width: 600px;
}

.input75 {
    width: 75px;
}

.forgot-alert {
    font-size: 13px;
    margin-bottom: 12px;
    background:rgb(216 233 246);
    padding: 6px 10px;
}

/* Growth Bar */

.growthwrapper {
    display: flex;
    margin-bottom: 15px;
}

.firstpayments {
    height: 14px;
    background-color: #28a744;
    width:30%;
    border-right: 4px solid rgb(255, 255, 255);
}

.totalpayments {
    height: 14px;
    background-color: rgb(238 238 238);
    width: 70%;
}

/* Card Layouts */
.flex-cards {
    display: flex;
flex-wrap: wrap;
gap:1.5em;

}

.flex-cards > * {
    width: 300px;
    max-width: 550px;
    border: 1px solid rgb(221 221 221);
    flex-grow: 1;
    background-color: white;
    padding: 1em;
    box-shadow: 0px 0px 9px 3px #e3e3e3;
    border-radius: 0.5em;
}

.flex-card-top-title {
    color: #868d96;
    font-size: 12px;
    font-weight: 300;
    text-transform: uppercase;

}

.flex-in-card {
    display: flex;
    flex-direction: column;
}

.flex-bottom {
    margin-top: auto;
}

.flex-card-text {
    font-size: 13px;
    padding-left: 15px;
    margin-left: 25px;
    border-left: 1.5px solid gainsboro;
}

.flex-card-title {
    color: #343a40;
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 1em;
}
/* Fonts */
.sub-title {
    background-color: white;
    padding: 0.25em 1em;
    border-radius: 15px;
    color: #343a40;
    font-family: 'Open Sans', Helvetica;
    font-size: 34px;
    font-style: normal;
    font-weight: 600;
    width: 100%;
    flex-grow: 1;
    margin-bottom: 20px;
}


/* Form */

.flex-form {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.flex-form > * {
    width: 100%;
}

.form-control {
    display: flex;
 
}

.flex-split-even {
    display: flex;
    flex-grow: 1;
    gap: 1em;
    flex-wrap: wrap;
}

.flex-split-even > * {
    flex-grow: 1;
}


.widthauto {
    width: auto !important;
}
.flex-split-even-3rds {
    display: flex;
    flex-grow: 1;
    gap: 1em;
    flex-wrap: wrap;
}

.flex-split-even-3rds > * {
    flex-grow: 1;
}

.flex-split-even-3rds > :nth-child(1) {
    flex-grow: 800;
}

.savewidth {
    width: 150px;
}

/* Login & Register */

.subbutton {
    font-size: 18px;
    background: #007bfe;
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 10px;
    display: flex;
}
.register-instructions {
    font-size: 14px;
}

.registration-subhead {
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
}
.register-flex {
    display: flex;
    gap: 1em;
    flex-direction: column;
    margin-top: 20px;
}
.registration-form {
    background-color: white;
    padding: 2em;
    border-radius: 20px;
}
.message {
    background: #607d8b;
    padding: 5px 10px;
    margin-bottom: 15px;
    font-size: 11px;
    color: white;
    text-align: center;

}

.alert-warning {
    color: #353535;
    background-color: #ebf1fa;
    border-color: #b1b8bf;
    font-size: 14px;
}

.alert-info {
    color: #055160;
    background-color: #e9eeef;
    border-color: transparent;
    font-size: 14px;
}

.dashed-line-top {
    padding-top: 20px;
    border-top: 1px dashed gainsboro;
}
.login-flex {
    display: flex;
    flex-direction: column;
   background-color: #ececec;
    min-height: 100vh;
    background-size: cover;
    background-position: center;
}

.login-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    flex-direction: column;
}

.login-layout {
    background-color: white;
    padding: 2em;
    min-width: 25rem;
    border-radius: 1em;
    box-shadow: 0px 0px 9px 3px #e3e3e3;
}

.login-subtitle {
    font-size: 11px;
    color: gainsboro;
}

.login-header {
    text-align: center;
    border-bottom: 1px solid gainsboro;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.login-bottom-links {
    margin-top: 25px;
    font-size: 12px;
}


/* Header */


.nav-active {
    border-bottom-style: solid;
    border-bottom-color: #037bff;
    border-bottom-width: 4px;
}

.header-shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
    margin-bottom: 25px;
    background-color: white;
}

.header-brand {
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    margin-right: 1rem;
    text-decoration: none;
    white-space: nowrap;
    display: inline-block;
}

.header-logo {
    line-height: 0;		/* remove line-height */ 
	display: inline-block;	/* circle wraps image */
	margin: 5px;
  border: 4px solid rgba(200,200,200,0.4);
	border-radius: 50%;	/* relative value */
	/*box-shadow: 0px 0px 5px rgba(0,0,0,0.4);*/
	transition: linear 0.25s;
  height: 50px;
  width: 50px;
}

.header-logo img {
	border-radius: 50%;	/* relative value for
				   adjustable image size */
}

.header-nav-button {
    font-size: 14px;
    display: inline-block;
    margin: 0px;
}

.header-nav-button li {
    display: inline-block;
}

.header-button {
    margin-bottom: 15px;
    text-transform: uppercase;
    text-decoration: none;
}

a.header-button {
    color: rgb(99, 99, 99);
}


.header-welcome-wrapper {
    font-size: 12px;
    float: right;
    padding-top: 24px;
}


@media (max-width: 767px) {
.header-full {
    display: none;
}
}

@media (min-width: 768px) {
    .header-mobile {
        display: none;
    }
    }

.flex-container {
    display: flex;
    flex-direction: column;
width: 100%;
    align-self: center;
    min-height: 100vh;
}

.flex-content {
    max-width: 1200px;
    align-self: center;
    width: 100%;
}




.content-area {
    background-color: white;
    padding: 2.5em;
    border-radius: 1em;
    margin-bottom: 30px;
}

.credit-details {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    margin-bottom: 30px;
    font-size: 14px;
}

.credit-details > :nth-child(2) {
    width: 100px;

}

.credit-details > :nth-child(3) {
    width: 100px;

}

.card-subheader {
    padding: 0.5rem 1rem;
    margin-bottom: 0;
    border-bottom: 1px dashed gainsboro;
    font-weight: 500;
}
/* Footer */

footer {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-top: 1px solid gainsboro;
    padding-top: 25px;
    padding-bottom: 40px;
    background-color: white;
}
.cc-image {
    height: 25px;
    width: auto;
    padding-left: 0px;
    padding-right: 3px;
}

.footer-wrapper {
    padding: 20px;
    font-size: 11px;
    text-align: center;
}
.footer-icons {
    float: left;
}

.footer-content {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    align-items: center;
    width: 100%;
    justify-content: space-evenly;
    text-align: center;
    max-width: 1400px;
}
.footer-content > * {
    flex-grow: 1;
    font-size: 11.5px;
}

.footer-content-poweredby {
    display: inline-block;
    float: right;
}

@media (max-width: 767px) {
    
    .footer-content-poweredby {
       float: none;
        margin-top: 20px;
       
    }

    .footer-content {
       
        float: none;
        margin-top: 10px;
    }

    .footer-icons {
        float: none;
    }

}