body { display: flex; flex-direction: column; min-height: 100vh; }
section.login .form-login .logo-login { text-align: center; margin-bottom: 25px; }
section.login { display: flex; flex-direction: column; justify-content: center; }
section.login .banner-top-login { position: absolute; top: 0; left: 0; right: 0; height: 50%; background-position: center; background-size: 133px; background-color: #02233c; }
section.login .form-login { padding: 40px 0px; position: relative; padding-top: 90px; }
section.login .form-login .logo-login figure { margin: 0; display: inline-block; }
section.login .form-login .logo-login figure img { display: block; }
section.login .form-login .wrapper { max-width: 770px; margin: 0 auto; box-shadow: 0px 2px 50px 15px #0000002b; border-radius: 16px; padding: 15px 25px; padding-top: 40px; background-color: #fff; padding-bottom: 50px; }
section.login .form-login .wrapper form { }
section.login .form-login .wrapper .wrapper-form-inicio { box-shadow: none; padding: 0; border-radius: 0; max-width: 516px; margin: 0 auto; background-color: #fff; }
section.login .form-login .wrapper .wrapper-form-inicio h3 { font-family: Open sans, sans-serif; color: #00233C; font-size: 28px; font-weight: bold; margin-bottom: 40px; text-align: center; }
section.login .form-login .wrapper .wrapper-form-inicio .piso { margin-bottom: 15px; position: relative; text-align: center; }
section.login .form-login .wrapper .wrapper-form-inicio .piso input.form-control { font-family: Open sans, sans-serif; color: #00233C; font-size: 16px; height: 52px; padding: 0px 15px; border: 1px solid #31AB80; border-radius: 50px; outline: none; box-shadow: none !important; text-align: left; background-position: right calc(.375em + .1875rem) center; background-repeat: no-repeat; background-size: calc(.75em + .375rem) calc(.75em + .375rem); }
section.login .form-login .wrapper .wrapper-form-inicio .form-check.piso { margin: 0; color: #043F57; font-size: 16px; padding: 0; padding-top: 10px; padding-bottom: 20px; }
section.login .form-login .wrapper .wrapper-form-inicio .form-check.piso label.form-check-label { }
section.login .form-login .wrapper .wrapper-form-inicio .form-check.piso label.form-check-label input.form-check-input { outline: none; box-shadow: none; border-color: #31ab80; }
section.login .form-login .wrapper .wrapper-form-inicio .piso.submit { }
section.login .form-login .wrapper .wrapper-form-inicio .piso.submit button { background-color: #31AB80; color: #fff; font-family: Open sans, sans-serif; font-weight: bold; font-size: 16px; border-radius: 10px; padding: 8px 40px; border: 1px solid #31AB80; transition: .3s ease; display: inline-block; }
section.login .banner-top-login:before { content: ''; background: rgb(2, 35, 60); background: -moz-linear-gradient(0deg, rgba(2, 35, 60, 1) 0%, rgba(2, 23, 38, 0) 100%); background: -webkit-linear-gradient(0deg, rgba(2, 35, 60, 1) 0%, rgba(2, 23, 38, 0) 100%); background: linear-gradient(0deg, rgba(2, 35, 60, 1) 0%, rgba(2, 23, 38, 0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#02233c", endColorstr="#021726", GradientType=1); position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.form-check-input:checked { background-color: #31ab80; border-color: #31ab80; }
section.login .form-login .wrapper .wrapper-form-inicio .piso.submit button:hover { background-color: #fff; color: #31AB80; }
section.login .form-login .wrapper .wrapper-form-inicio .piso .error { text-align: right; list-style: none; padding-left: 0; }
section.login .form-login .wrapper .wrapper-form-inicio .piso .error li { color: red; font-size: 12px; }
section.login.dashboard { min-height: 100vh; justify-content: flex-start; position: relative; }
section.login.dashboard form.logout { position: relative; top: 0; left: 0; }
section.login.dashboard form.logout a { background-color: transparent; color: #fff; font-family: Open sans, sans-serif; font-weight: bold; font-size: 16px; border-radius: 10px; padding: 8px 40px !important; border: 1px solid #fff; transition: .3s ease; display: inline-block; text-decoration: none; cursor: pointer; position: relative; white-space: nowrap; z-index: 999; }
section.login.dashboard form.logout a:hover { color: #00233C; background-color: #fff; }
section.login.dashboard .form-login { padding-top: 10px; }
section.login.dashboard .form-login .logo-login figure img { max-width: 180px; }
section.login.dashboard .form-login .wrapper { max-width: 100%; padding-top: 25px; }
section.login.dashboard .form-login .container { max-width: 1320px !important; }
section.login.dashboard .form-login .wrapper .introduccion { text-align: center; padding-top: 20px; padding-bottom: 30px; }
section.login.dashboard .form-login .wrapper .introduccion h1 { font-family: Open sans, sans-serif; color: #00233C; font-size: 28px; font-weight: bold; }
section.login.dashboard .form-login .wrapper .introduccion p { font-family: Open sans, sans-serif; color: #00233C; font-size: 16px; }
section.login.dashboard .form-login .wrapper .botones-dashboard { display: flex; justify-content: space-between; color: #00233C; font-size: 16px; margin-bottom: 15px; align-items: center; }
section.login.dashboard .form-login .wrapper .botones-dashboard .membresias { }
section.login.dashboard .form-login .wrapper .botones-dashboard .agregar-memb { }
section.login.dashboard .form-login .wrapper .botones-dashboard .agregar-memb button { background-color: #31AB80; color: #fff; font-family: Open sans, sans-serif; font-weight: bold; font-size: 16px; border-radius: 10px; padding: 8px 23px; border: 1px solid #31AB80; transition: .3s ease; display: inline-block; }
section.login.dashboard .form-login .wrapper .botones-dashboard .agregar-memb button:hover { background-color: #fff; color: #31AB80; }
.tabla-membresias { }
.tabla-membresias thead th { color: #00233C; white-space: nowrap; }
.tabla-membresias thead td { white-space: nowrap; color: #00233C; }
.tabla-membresias td { color: #00233C; white-space: nowrap; vertical-align: middle; }
section.login.dashboard .banner-top-login { height: 350px; }
.tabla-membresias td button.btn.btn-danger { background-color: #FF8484; color: #fff; font-family: Open sans, sans-serif; font-weight: bold; font-size: 16px; border-radius: 10px; padding: 8px 25px; border: 1px solid #FF8484; transition: .3s ease; display: inline-block; text-decoration: none; }
.tabla-membresias td:last-child { text-align: center; }
.tabla-membresias td button.btn.btn-danger:hover { background-color: #fff; color: #FF8484; }
@media (max-width:768px) {
    section.login.dashboard .form-login { padding-top: 25px; }
    section.login.dashboard .form-login .wrapper .introduccion { padding-bottom: 0; }
    section.login.dashboard .form-login .wrapper .botones-dashboard { flex-direction: column-reverse; }
    section.login.dashboard .form-login .wrapper .botones-dashboard .membresias { margin-top: 22px; }
}
.modal.agregar-mem-modal { }
.modal.agregar-mem-modal .modal-content { border: 0; border-radius: 16px; }
.modal.agregar-mem-modal .modal-content .modal-header { position: relative; display: block; text-align: center; font-family: Open sans, sans-serif; }
.modal.agregar-mem-modal .modal-content .modal-header h4.modal-title { font-size: 20px; font-weight: bold; color: #00233C; padding: 0px 30px; }
.modal.agregar-mem-modal .modal-content .modal-header button.btn-close { position: absolute; right: 20px; top: 24px; }
.modal.agregar-mem-modal .modal-content .modal-body { }
.modal.agregar-mem-modal .modal-content .modal-body form { text-align: center; }
.modal.agregar-mem-modal .modal-content .modal-body form .form-wrapper { font-family: Open sans, sans-serif; text-align: left; }
.modal.agregar-mem-modal .modal-content .modal-body form .form-wrapper label.form-label { font-size: 16px; color: #00233C; }
.modal.agregar-mem-modal .modal-content .modal-body form .form-wrapper .form-control { font-family: Open sans, sans-serif; color: #00233C; font-size: 16px; height: 52px; padding: 0px 15px; border: 1px solid #31AB80; border-radius: 50px; outline: none; box-shadow: none; text-align: left; }
.modal.agregar-mem-modal .modal-content .modal-body form button { margin-top: 15px; background-color: #31AB80; color: #fff; font-family: Open sans, sans-serif; font-weight: bold; font-size: 16px; border-radius: 10px; padding: 8px 40px; border: 1px solid #31AB80; transition: .3s ease; display: inline-block; }
.modal.agregar-mem-modal .modal-content .modal-body form button:hover { color: #31AB80; background-color: #fff; }
.modal.agregar-mem-modal .modal-content .modal-body form .form-wrapper span { font-size: 12px; }
.modal.agregar-mem-modal .modal-content .modal-body form .form-wrapper .text-danger { text-align: right; }
.boton-logout { text-align: right; margin-top: 20px; }
.boton-logout .container { max-width: 1320px !important; }
