:root {
    --tm-darkblue: #1B1E51;
    --tm-blue: #274185;
    --tm-blue2: #009ADE;
    --tm-lightblue: #E2F2F7;
    --tm-green: #00D2AE;
    --tm-orange: #F3B02F;
    --tm-grey: #F6F6F6;
    --tm-dark-grey: #444659;
}

body { color: var(--tm-darkblue); font-family: "Barlow", Arial, sans-serif; font-size: 16px; }

.sidebar { background: var(--tm-darkblue); border-radius: 0 0 50px 0; color: white; height: 100vh; padding: 0; position: fixed; top: 0; z-index: 10000; }
.sidebar .logo { padding: 50px; }
.sidebar .nav-item { margin: 10px 0; }
.sidebar .nav-link { color: white; font-size: 18px; padding: 0 10px 0 80px; position: relative; }
.sidebar .nav-link.active, .sidebar .nav-link.active img { color: var(--tm-green); }
.sidebar .nav-link.active:before { background: var(--tm-green); border-radius: 0 5px 5px 0; content: ''; display: block; height: 100%; width: 3px; position: absolute; top: 0; left: 0; }
.sidebar .nav-link:after { content: ''; display: block; height: 17px; width: 17px; position: absolute; top: 3px; left: 50px; }
.sidebar .nav-link.dashboard:after { background: url(../images/icon-dashboard.svg) center center no-repeat; }

.sidebar .nav-link.active.dashboard:after { background: url(../images/icon-dashboard-active.svg) center center no-repeat; }
.sidebar .nav-link.dashboard_transactions:after { background: url(../images/icon-transactions.svg) center center no-repeat; }
.sidebar .nav-link.active.dashboard_transactions:after { background: url(../images/icon-transactions-active.svg) center center no-repeat; }
.sidebar .nav-link.dashboard_users:after { background: url(../images/icon-users.svg) center center no-repeat; }
.sidebar .nav-link.active.dashboard_users:after { background: url(../images/icon-users-active.svg) center center no-repeat; }
.sidebar .nav-link.dashboard_refunds:after { background: url(../images/icon-refunds.svg) center center no-repeat; }
.sidebar .nav-link.active.dashboard_refunds:after { background: url(../images/icon-refunds-active.svg) center center no-repeat; }
.sidebar .nav-link.dashboard_support:after { background: url(../images/icon-support.svg) center center no-repeat; }
.sidebar .nav-link.active.dashboard_support:after { background: url(../images/icon-support-active.svg) center center no-repeat; }
.sidebar .nav-link.dashboard_settings:after { background: url(../images/icon-settings.svg) center center no-repeat; }
.sidebar .nav-link.active.dashboard_settings:after { background: url(../images/icon-settings-active.svg) center center no-repeat; }

.sidebar .bottom { position: absolute; bottom: 50px; left: 0; }
.sidebar .nav-link.logout:after { background: url(../images/icon-logout.svg) center center no-repeat; }

.sidebar .nav-link:hover { color: var(--tm-green); }

main .user-bar { background: var(--tm-grey); border-radius: 0 0 50px 0; padding: 30px 50px; position: fixed; top: 0; right: 0; z-index: 9999; }
main .user-bar .row { align-items: center; }
main .user-bar h1 { font-size: 20px; text-transform: uppercase; }
main .user-bar h1:after { background: var(--tm-green); border-radius: 50%; content: ''; display: inline-block; height: 5px; margin-left: 10px; vertical-align: middle;; width: 5px; }
main .user-bar .avatar-col { display: flex; justify-content: end; }
main .user-bar .avatar { display: flex; align-items: center; }
main .user-bar .avatar .image { background: url(../images/avatar-holder.png) center center no-repeat; height: 63px; margin-right: 10px; padding: 7px; width: 63px; }
main .user-bar .avatar .image img { border-radius: 50%; }
main .user-bar .avatar .user p { color: var(--tm-green); font-size: 12px; line-height: 1.2; margin: 0; }
main .user-bar .avatar .user p strong { color: var(--tm-darkblue); font-size: 16px; }
main .user-bar .login { position: relative; }
main .user-bar .login-btn { background: transparent; border: 1px solid var(--tm-green); border-radius: 25px; color: var(--tm-blue); display: inline-block; margin: 0 15px 0 0; padding: 5px 25px; text-decoration: none; transition: background-color 0.3s; }
/*
main .user-bar .login-btn:before { background: url(../images/icon-login.png) 0 0 no-repeat; content: ''; display: inline-block; width: 13px; height: 11px; margin-right: 5px; vertical-align: middle; }
main .user-bar .login-btn:after { content: ''; display: inline-block; width: 0; height: 0; margin-left: 5px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid var(--tm-green); vertical-align: middle; }
*/

main .content-box { padding: 50px; }
main .content-box h1 { font-size: 28px; font-weight: bold; }
main .content-box h2 { font-size: 16px; text-transform: uppercase; }
main .content-box section.blue { background: var(--tm-lightblue); border-radius: 50px; padding: 30px 30px 60px 30px; }

main .content-box.login-page { background: url(../images/map.jpg) center center no-repeat; display: flex; justify-content: center; align-items: center; min-height: 656px; margin: 50px 0; }
main .content-box .box { background: white; border-radius: 25px; box-shadow: 0 0 10px 0 rgba(0,0,0,0.1); max-width: 378px; padding: 30px; }
main .content-box.v2 .box { max-width: 492px; }
main .content-box .box h2 { color: var(--tm-blue); font-size: 32px; margin: 0 0 30px 0; text-align: center; text-transform: none; }
main .content-box .form-group { margin-bottom: 30px; position: relative; }
main .content-box .form-group label { position: relative; margin: 0 10px -10px 10px; z-index: 9; background: white !important; display: block; font-size: 14px; padding: 0 5px; text-transform: uppercase; }
main .content-box .form-group input[type="text"],
main .content-box .form-group input[type="password"] { background: white; border: 1px solid var(--tm-blue); border-radius: 8px !important; padding: 10px; width: 100%; }
main .content-box .form-group input:focus { background: white; }
/*
main .content-box .form-group .required { color: red; }
main .content-box .form-group .forgot-password { background: white; color: var(--tm-green); font-size: 14px; padding: 0 5px; text-decoration: none; position: absolute; right: 10px; bottom: -10px; transition: color 0.3s; }
main .content-box .form-group .forgot-password:hover { color: var(--tm-blue); }
main .content-box .form-group .captcha-image { background: var(--tm-lightblue); border: 1px solid var(--tm-blue); border-radius: 0 8px 8px 8px; padding: 15px; position: absolute; right: 0; top: 0; bottom: 0; display: flex; justify-content: center; align-items: center; }
*/
#image_captcha_ximg { grid-column-start: 3; border-left: 1px solid var(--tm-darkblue); max-width: 100%; border-top-right-radius: 8px; border-bottom-right-radius: 8px; justify-self: end; }
.image_captcha_input_cell { float: right; }
.image_captcha { display: grid; grid-auto-flow: column; grid-template-columns: auto; grid-template-columns: minmax(auto,max-content); }

.bordered_input_group { border: 1px solid var(--tm-darkblue); border-radius: 8px !important; justify-items: start; align-items: center; }
.bordered_input_group input[type="text"] {  border: 1px solid white !important;  border-radius: 8px; padding: 9px !important; }
.bordered_input_group input:focus { border: 1px solid var(--tm-darkblue) !important; }

.password_loginto_form_under_text_paragraph a { background: white; color: var(--tm-green); font-size: 14px; padding: 0 5px; text-decoration: none; position: absolute; right: 10px; bottom: -10px; transition: color 0.3s; }
.message-box a { background: white; color: var(--tm-green); font-size: 14px; }

:-webkit-autofill { filter: none; box-shadow: 0 0 0 100px white inset; }

main .content-box .form-group.submit { text-align: center; }
main .content-box .form-group.submit input { background: var(--tm-green); border: 1px solid var(--tm-green); border-radius: 8px; color: white; display: inline-block; padding: 10px 20px; text-decoration: none; transition: background-color 0.3s, border-color 0.3s, color 0.3s; }
main .content-box .form-group.submit input:before { background: url(../images/icon-signin.png) 0 0 no-repeat; content: ''; display: inline-block; width: 13px; height: 11px; margin-right: 5px; vertical-align: middle; }
main .content-box .form-group.submit input.submit-btn:before { background: url(../images/icon-submit.png) 0 0 no-repeat; content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 5px; vertical-align: baseline; }
main .content-box .form-group.submit input:hover { background: var(--tm-blue); border-color: var(--tm-blue); }
main .filters-holder { display: flex; justify-content: space-between; align-items: center; }
main .filters { /*display: flex;*/ text-align: left; column-gap: 10px; }
main .filters .toggle { float:right!important; }
main .filters .item, main .white-box .item { background: var(--tm-blue); border-radius: 10px; color: white; padding: 5px 10px; float: left; margin-right: 10px; margin-bottom: 7px; }
main .filters .item select { background: transparent; border: 0; color: white; }
main .filters .item option { color: black; }

main .filters #transactions_filters_form input,
main .filters #refunds_filters_form input  { line-height: 100%; background: var(--tm-blue); border-color: var(--tm-blue); border: 0; outline: none; margin: 0px; color: white; }
main .filters #transactions_filters_form input#payer_student_name_filter,
main .filters #transactions_filters_form input#transaction_id_filter,
main .filters #transactions_filters_form input#paid_amount_filter,
main .filters #transactions_filters_form input#trans_status_filter,
main .filters #transactions_filters_form input#transactions_start_date_filter,
main .filters #transactions_filters_form input#transactions_end_date_filter,
main .filters #refunds_filters_form input#refunds_start_date_filter,
main .filters #refunds_filters_form input#refunds_end_date_filter { width: 80px; padding: 0; }

main .filters .item label#transactions_filters_form_payer_student_name_filter,
main .filters .item label#transactions_filters_form_transaction_id_filter,
main .filters .item label#transactions_filters_form_paid_amount_filter,
main .filters .item label#transactions_filters_form_trans_status_filter,
main .filters .item label#transactions_filters_form_transactions_start_date_filter,
main .filters .item label#transactions_filters_form_transactions_end_date_filter,
main .filters .item label#refunds_filters_form_refunds_start_date_filter,
main .filters .item label#refunds_filters_form_refunds_end_date_filter { padding: 0 5px 0 0; }

main .cards { display: flex; justify-content: space-between; column-gap: 10px; }
main .card { border: 0; border-radius: 25px; color: var(--tm-blue); font-size: 16px; padding: 20px; width: 100%; }
main .card.highlight { background: var(--tm-blue2); color: white; }
main .card h3 { font-size: 14px; text-transform: uppercase; }
main .card h3.text-blue { color: var(--tm-blue2); }
main .card h3.text-green { color: var(--tm-green); }
main .card h3.text-orange { color: var(--tm-orange); }
main .card.highlight h3 { color: var(--tm-darkblue); }
main .card h4 { font-family: "DM Sans", Arial, sans-serif; font-size: 14px; }
main .card h4 strong { font-size: 28px; font-weight: bold; }
main .card p { font-family: "DM Sans", Arial, sans-serif; margin: 0; }

main .white-box { background: white; border-radius: 25px; padding: 30px; }
main .white-box h3 { font-size: 14px; text-transform: uppercase; }
main .white-box h4 { color: var(--tm-blue); font-size: 16px; font-weight: bold; padding: 10px 0; position: relative; }
main .white-box h4:after { background: var(--tm-green); content: ''; display: block; height: 2px; width: 25px; position: absolute; bottom: 0; left: 0; }
main .white-box table td { color: var(--tm-blue); padding: 5px; }
main .white-box .form-group { margin-bottom: 0; }
main .white-box .form-group .radio { margin: 5px 0; }
main .white-box .form-group label { display: inline-block; margin: 0; padding: 0; position: static; }
main .white-box .form-group input[type="text"] { background: #E8EFF1; border: 0; border-radius: 15px; padding: 10px; width: 100%; }
main .white-box small { color: #aaa; font-size: 12px; font-style: italic; }

main .legend { display: flex; list-style: none; column-gap: 30px; }
main .legend li { position: relative; }
main .legend li:before { border-radius: 50%; content: ''; display: inline-block; height: 9px; margin: 0 10px 0 0; vertical-align: middle; width: 9px; }
main .legend li.blue:before { background: var(--tm-blue2); }
main .legend li.green:before { background: var(--tm-green); }

main table { font-size: 14px; }
main table td { padding: 5px 0; }
main table .amount { font-weight: bold; text-align: right; }
main table .flag { border-radius: 50%; box-shadow: 0 0 2px 2px rgba(0,0,0,0.1); display: inline-block; height: 20px; margin: 0 5px 0 0; vertical-align: text-top; width: 20px; }
main table .circle { border-radius: 50%; display: inline-block; height: 20px; margin: 0 5px 0 0; vertical-align: text-top; width: 20px; }
main table .circle.blue { background: var(--tm-blue2); }
main table .circle.green { background: var(--tm-green); }
main table .circle.grey { background: var(--tm-lightblue); }

.alert-info { background: rgba(0,210,174,0.34); border-radius: 8px; display: inline-block; padding: 10px 15px; }
.alert-info:before { background: url(../images/icon-info.png) center center no-repeat; content: ''; display: inline-block; height: 9px; margin: 0 10px 0 0; vertical-align: middle; width: 4px; }

.table-styled table { background: white; border-radius: 20px; }
.table-styled th { background: var(--tm-blue); color: white; font-weight: normal; padding: 10px; }
.table-styled th:first-child { border-radius: 20px 0 0 0; }
.table-styled th:last-child { border-radius: 0 20px 0 0; }
.table-styled td { padding: 10px; }
.table-styled td { border-bottom: 1px solid #eee; }
.table-styled tr:last-child td { border-bottom: 0; }
.table-styled .form-switch { pointer-events: none; }
.table-styled .form-switch.editable { pointer-events: initial; }
.table-styled .form-check-input:checked { background-color: var(--tm-green); border-color: var(--tm-green); }
.table-styled .form-switch.editable .form-check-input { height: 1.75em; width: 3.5em; }

.table-footer .flex { display: flex; justify-content: space-between; }
.table-footer .display { font-weight: strong; }
.table-footer .display span { background: var(--tm-blue); border-radius: 5px; color: white; display: inline-block; padding: 5px 10px; vertical-align: middle; }
.table-footer .paging ul { display: flex; list-style: none; column-gap: 10px; }
.table-footer .paging a { border-radius: 5px; color: var(--tm-dark-grey); display: inline-block; padding: 5px 10px; text-decoration: none; transition: background-color 0.3s; }
.table-footer .paging a.disabled { opacity: 0.5; pointer-events: none; }
.table-footer .paging a.active { background: white; font-weight: bold; }
.table-footer .paging a:hover { background: white; }

.content .bottom { display: flex; float: right !important; margin-top: 20px !important; font-size: 14px !important; }
.content #dashboard_transactions_wrapper .bottom .dt-info { padding: 8px 0px 0px 0px; }
.content #dashboard_transactions_wrapper .bottom .dt-length { padding: 5px 20px 0px 0px; }
.content #dashboard_transactions_wrapper .bottom .dt-length .dt-input { margin-right: 5px; background-color: var(--tm-blue) !important; color:white !important; border-radius: 10px; padding: 3px; text-align: center; }
.content #dashboard_transactions_wrapper .bottom .dt-paging .dt-paging-button.current { background-color: white !important; border: none !important; font-weight: bold !important; }
.content #dashboard_transactions_wrapper .bottom .dt-paging .dt-paging-button.current:hover { background-color: white !important; border: none !important; font-weight: bold !important; }
.content #dashboard_transactions_wrapper .bottom .dt-paging .dt-paging-button { color: var(--tm-dark-grey) !important; border: none !important; background: none !important; margin: 2px !important; transition: background-color 0.3s; border-radius: 5px; }
.content #dashboard_transactions_wrapper .bottom .dt-paging .dt-paging-button:hover  { color: var(--tm-dark-grey) !important; border: none !important; background: white !important; }
.content #dashboard_transactions_wrapper .bottom .dt-paging .dt-paging-button:hover { color: black !important; border: none !important; background: white !important; }

.user-head { display: flex; align-items: center; column-gap: 10px; line-height: 1.2; }
.user-head .avatar { background: white; border-radius: 50%; display: inline-block; height: 40px; width: 40px; }
.user-head .user { color: #ccc; }
.user-head .user b { color: white; }

.permission { display: flex; justify-content: space-between; align-items: center; }
.permission .left { display: flex; align-items: center; column-gap: 10px; }
.permission .left .icon { background: var(--tm-lightblue); border-radius: 5px; display: flex; justify-content: center; align-items: center; height: 40px; width: 40px; }
.permission .left .text { line-height: 1.2; }
.permission .left .text b { color: var(--tm-blue); }

.btn-xls { background: var(--tm-green); border: 1px solid var(--tm-green); border-radius: 20px; color: white; display: inline-block; padding: 10px 20px; text-decoration: none; transition: background-color 0.3s, color 0.3s; }
.btn-xls:before { background: url(../images/icon-download.png) 0 0 no-repeat; content: ''; display: inline-block; height: 13px; margin: 0 10px 0 0; vertical-align: middle; width: 14px; }
.btn-xls:hover { background: transparent; color: var(--tm-dark-grey); }
.btn-xls:hover:before { background-position: 0 -13px; }

.btn-user { background: var(--tm-green); border: 1px solid var(--tm-green); border-radius: 20px; color: white; display: inline-block; padding: 10px 20px; text-decoration: none; transition: background-color 0.3s, color 0.3s; }
.btn-user:before { background: url(../images/icon-user.png) 0 0 no-repeat; content: ''; display: inline-block; height: 13px; margin: 0 10px 0 0; vertical-align: middle; width: 11px; }
.btn-user:hover { background: transparent; color: var(--tm-dark-grey); }
.btn-user:hover:before { background-position: 0 -13px; }

.btn-resetpass,
.btn-editperm,
.btn-delete { color: var(--tm-green); display: inline-block; font-weight: 500; text-decoration: none; transition: color 0.3s; }
.btn-resetpass:before { background: url(../images/icon-pass.png) 0 0 no-repeat; content: ''; display: inline-block; height: 13px; margin: 0 10px 0 0; vertical-align: middle; width: 13px; }
.btn-editperm:before { background: url(../images/icon-edit.png) 0 0 no-repeat; content: ''; display: inline-block; height: 13px; margin: 0 10px 0 0; vertical-align: middle; width: 4px; }
.btn-delete:before { background: url(../images/icon-delete.png) 0 0 no-repeat; content: ''; display: inline-block; height: 13px; margin: 0 10px 0 0; vertical-align: middle; width: 12px; }
.btn-resetpass:hover,
.btn-editperm:hover,
.btn-delete:hover { color: var(--tm-darkgrey); }

footer { background: #F6F6F6; border-radius: 25px 25px 0 0; color: var(--tm-blue2); font-size: 12px; margin: 0 auto; max-width: 863px; padding: 30px; text-align: center; }
footer a { color: var(--tm-blue); text-decoration: none; transition: color 0.3s; }
footer a:hover { color: var(--tm-green); }
footer .privacy-pref { background: var(--tm-blue); border-radius: 25px; color: white; display: inline-block; font-size: 13px; padding: 10px 20px; position: fixed; bottom: 120px; right: 30px; transition: background-color 0.3s, color 0.3s; }
footer .privacy-pref:before { background: url(../images/icon-privacy.png) center center no-repeat; content: ''; display: inline-block; height: 12px; margin: 0 5px 0 0; vertical-align: baseline; width: 12px; }
footer .privacy-pref:hover { background: var(--tm-green); color: white; }
footer .chat-btn { position: fixed; bottom: 30px; right: 30px; }

.err, .error { background: white !important; display: block; font-size: 14px; margin-bottom: 5px; text-align: center;
    padding: 0 5px; text-transform: uppercase; position: relative; width: 100%; background: #ffe5e5 url(../images/icon-info.png) 10px center no-repeat;
    /*border: 1px solid #fd4d4d; border-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; */ color: #fd4d4d; font-size: 14px; font-weight: bold;;}


.termsfeed-pc1-sticky-element button { background-color: #1C337B !important; border: 2px solid #1C337B !important; color: #fff !important; margin-bottom: 100px !important; font-size: 14px; width: 168px; text-align: right; background: url(../images/icon-privacy.png) left center no-repeat; background-position: 9px; border-radius: 100px !important; }
.termsfeed-pc1-sticky-element { width: 170px; margin-right: 20px; line-height: 100%; height: 55px; margin-bottom: 80px; }

/* terms and conditions */
#popup_window { /* background-color: #eff2f4;*/ padding: 10px; }
#popup_window > br { display: none; }
#inner_text { background-color: #fff; display: block; padding: 10px; }

#main_T_and_C { padding: 10px; color: #486182; }
#main_T_and_C .title { font-family:  'Rubik', Arial, sans-serif; font-size: 15px; /*! color: #486182; */ /*! font-weight: bold; */ text-align: center;  font-size: 23px; margin: 10px; display: block;}
#main_T_and_C table, #main_T_and_C td, #main_T_and_C th {border: 2px solid black !important;}
#main_T_and_C table.striped{ color: #568AC2; font-size: 12px; }

#popup_window #google_translate_element { margin-left: 0; padding-left: 10px; height: 28px; }
#popup_window #google_translate_element div { overflow: hidden; clear: both; height: 30px!important; margin-left: 0; padding-left: 10px; }
#popup_window #google_translate_element select { float: right; background-color: rgba(255,255,255,0.20) !important; border: 1px solid #6a6a6a !important; border-radius: 4px !important; cursor: pointer; padding: 3px; margin-right:20px; }

.filters .toggle {
    background: var(--tm-blue);
    border: 1px solid var(--tm-blue);
    border-radius: 10px;
    color: white;
    display: inline-block;
    height: 35px;
    margin-bottom: 15px;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
    margin-right: 10px;
    content: '';
    position: relative;
    width: auto;
    text-align: center;
    padding: 5px 25px 5px 25px;
  }

  .filters .block {
    display: none;
  }

  .filters .toggle:before {
    content: '';
    position: absolute;
    height: 10px!important;
    width: 10px!important;
    top: 12px;
    right: 68px;
    background: url(../images/filter.png) center center no-repeat!important;
  }

  .filters .toggle:after {
    content: '';
    position: absolute;
    height: 10px!important;
    width: 10px!important;
    top: 13px;
    left: 67px!important;
    background: url(../images/arrow-down.png) center center no-repeat!important;
  }