/*---------------------------------------------------------------------
Fonts
-----------------------------------------------------------------------*/


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 100;
    src: url(../fonts/FiraGO-100.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 200;
    src: url(../fonts/FiraGO-200.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 300;
    src: url(../fonts/FiraGO-300.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/FiraGO-400.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/FiraGO-500.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 600;
    src: url(../fonts/FiraGO-600.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/FiraGO-700.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 800;
    src: url(../fonts/FiraGO-800.woff) format('woff');
}


@font-face {
    font-family: 'FiraGO';
    font-style: normal;
    font-weight: 900;
    src: url(../fonts/FiraGO-900.woff) format('woff');


}

/*================================================
General
================================================*/
:root {                        
    --line: #dfe8dd;
    --green: #6fc15b;
    --green-dark: #4f9344;
    --radius: 22px;
}

* {
    box-sizing: border-box;
}

body {
    background: #eef9e8 !important;
    font-family: 'FiraGO';
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    color: #000000;
    overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-style: normal;
    text-transform: capitalize;
    font-weight: 700;
    margin: 0;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    color: #2c2c2c;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: inherit;
}

h1 {
    font-size: 40px;
    line-height: 48px;
}

h2 {
    font-size: 34px;
    line-height: 42px;
}

h3 {
    font-size: 32px;
    line-height: 40px;
}

h4 {
    font-size: 26px;
    line-height: 34px;
}

h5 {
    font-size: 22px;
    line-height: 30px;
}

h6 {
    font-size: 20px;
    line-height: 28px;
}

html {
    overflow: auto;
}

#star {
    color: red;
}


/*===== HTML Tags =====*/
a,
.button {
    text-decoration: none;
    color: inherit;
    outline: none !important;
    transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
}

a:focus,
a:hover {
    color: #76c14d;
    outline: none;
    text-decoration: none;
}

p {
    margin-bottom: 30px;
}

img {
    max-width: 100%;
    height: auto;
}


/*===== Lists (Nested) =====*/
ol,
ul {
    padding-left: 0px;
    margin-bottom: 0;
}

ol li {
    list-style: decimal;
}

ol ol {
    padding-left: 25px;
}

ul li {
    list-style: none;
}

input.form-control::placeholder {
    color: #7a7777;
}

.form-control {
    background-color: #f5f8ff;
    /* border-radius: 30px; */
    border: none;
    height: 40px;
    width: 90%;
    padding: 0 30px;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    color: #090909;
}

select.form-control:focus,
input.form-control:focus {
    box-shadow: none;
    background-color: #76c14d !important;
    color: white !important;
    border: 2px solid #8e8e8e;
}

select.form-control::placeholder,
input.form-control::placeholder {
    color: black;
}


select.form-control:focus::placeholder,
input.form-control:focus::placeholder {
    color: white;
}

/* input.form-control:focus {
    box-shadow: none;
    border-color: transparent;
    background: #f5f8ff;
} */

.form-control:focus {
    color: #8e8e8e;
    background-color: #f5f8ff;
    border-color: inherit;
    outline: 0;
    box-shadow: none;
}

.pt-button {
    text-transform: capitalize;
    letter-spacing: 1px;
    line-height: 2;
    font-size: 16px;
    padding: 8px 14px;
    position: relative;
    width: auto;
    background: #76c14d;
    color: #fff;
    vertical-align: middle;
    display: inline-block;
    overflow: hidden;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    text-decoration: none;

    transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    border: none;
    font-weight: 500;

}

.pt-button:hover {
    background: #000;
    color: #fff;
}

.pt-button:focus {
    color: #fff;
}

/*===== Container =====*/
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    max-width: 1300px;
}

section {
    position: relative;
}

.container-pt {
    padding: 0 60px;
}


.login-form-main {
    position: relative;
    height: 100%;
    display: flex;
    margin-top: 100px;
    align-items: center;
}

.login-form {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
}

.login-form .left-content {
    background: #76c04d;
    padding: 130px 60px;
    width: 50%;
    border-radius: 20px;
    position: relative;
}

.login-form .right-content {
    background: #fff;
    width: 50%;
    text-align: center;
    padding: 0 80px;
}

.logo {
    margin-bottom: 30px;
    margin-top: 30px;
}

.logo img {
    height: 90px;
    width: auto;
}

.login-title {
    color: black;
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 10px;
    font-weight: 600;
}


.login-forms {
    position: relative;
    height: 100%;
    display: flex;

}

/* login-forms {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
} */

.login-forms .left-content {
    background: #76c04d;
    padding: 130px 60px;
    width: 50%;
    border-radius: 20px;
    position: relative;
}

.login-forms .right-content {
    background: #fff;
    width: 50%;
    text-align: center;
    padding: 0 80px;
}


.vector-1 {
    position: absolute;
    left: 8%;
    top: 10%;
    opacity: 0.4;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 5s;
}

.vector-2 {
    position: absolute;
    right: 8%;
    top: 10%;
    opacity: 0.4;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom2;
    -webkit-animation-duration: 5s;
}

.vector-3 {
    position: absolute;
    right: -1%;
    top: 46%;
    opacity: 0.4;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 5s;
}

.vector-4 {
    position: absolute;
    left: 8%;
    bottom: 10%;
    opacity: 0.4;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom2;
    -webkit-animation-duration: 5s;
}

.vector-5 {
    position: absolute;
    right: 10%;
    bottom: 0;
    opacity: 0.4;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 5s;
}

@-webkit-keyframes zoom {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }

    50% {
        transform: scale(0.5);
        opacity: 0.4;
    }

    100% {
        transform: scale(1);
        opacity: 0.8;
        webkit-transform: scaleX(-1);
    }
}

@-webkit-keyframes zoom2 {
    0% {
        transform: scale(0.5);
        opacity: 0.4;
    }

    50% {
        transform: scale(1);
        opacity: 0.8;
    }

    100% {
        transform: scale(0.5);
        opacity: 0.4;
        webkit-transform: scaleX(-1);
    }
}

.login-box {
    margin-top: 30px;
}

.login-box .input-group-text {
    border-radius: 30px;
    background: #f5f8ff;
    color: #909090;
    padding: 18px 24px;
    border: none;
    position: relative;
}

.login-box .input-group-text:before {
    content: "";
    position: absolute;
    right: 4px;
    height: 75%;
    background: #e3e0e0;
    width: 1px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.login-box .form-control {
    /* background: #f5f8ff; */
    /* border: none; */
    padding: 0 14px;
}

.login-box .forgot-text {
    text-align: right;
    color: #ff4956;
    margin-bottom: 8px;
}

.login-box .forgot-text a {
    color: #ff4956;
}

.login-box .pt-button {
    min-width: 70%;
    text-transform: capitalize;
    border-radius: 30px;
    background: #ff4956;
}

.login-box .sign-up {
    margin-top: 35px;
    position: relative;
    margin-bottom: 0;
}

.login-box .sign-up:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: #e0e0e0;
    left: 0;
    bottom: 15px
}

.login-box .sign-up label {
    background: #fff;
    padding: 4px 15px;
    position: relative;
}

.login-box .sign-up label a {
    color: #ff4956;
}

/* .login-box .form-control {
    background: #f5f8ff;
    border-radius: 30px;
    border: none;
} */

.login-box .input-group .show-password {
    line-height: normal;
    position: absolute;
    right: 35px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
    color: #8e8e8e;
}


/***register**/
.modal-backdrop {
    width: 100%;
    height: 100%;
}


.register-form-main {
    position: relative;
    height: 100%;
    display: flex;
    margin-top: 100px;
    align-items: center;
}

.register-form {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
}

.register-form .left-content {
    background: #76c04d;
    padding: 50px;
    width: 35%;
    border-radius: 20px;
    position: relative;
}

.register-form .left-logo {
    margin-bottom: 100px;
}

.register-form .logo-text {
    color: #fff;
    margin-top: 30px;
}

.register-form .logo-text h2 {
    color: #fff;
    font-weight: 600;
    font-size: 42px;
    line-height: 50px;
    margin-bottom: 15px;
}

.register-form .logo-text p {
    font-size: 20px;
    line-height: 30px;
}

.register-form .logo-text p a {
    color: #fff;
}

.register-form .logo-text .pt-button {
    border-radius: 30px;
    background: #ff4956;
    font-size: 20px;
    padding: 10px 70px;
}

.register-form .logo-text .pt-button:hover {
    background: #000;
}

.register-form .right-content {
    background: #fff;
    width: 65%;
    padding: 0 10px;
    color: #2c2c2c;
}

.register-form .right-content .right-logo img {
    height: 100px;
    margin-bottom: 20px;
}

.register-form .right-content h2 {
    font-size: 40px;
    line-height: 48px;
    margin-bottom: 30px;
}

.register-box {
    padding: 50px;
}

.register-box .form-label {
    display: block;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #2c2c2c;
}

/* .form-check-label{ color: #8e8e8e; } */
.form-check-label {
    color: #000000;
}

select.form-control {
    background-position: right 1rem center;
}

.select2-container--default .select2-selection--single {
    background-color: #f5f8ff;
    border: none;
    border-radius: 30px;
    height: 60px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #8e8e8e;
    line-height: 60px;
    padding-left: 30px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #8e8e8e transparent transparent transparent;
    margin-left: -25px;
    margin-top: 12px;
}

.select2-dropdown {
    border: 1px solid #eee;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #eee;
    outline: none;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #76c04d;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #f5f8ff;
    color: #2c2c2c;
}


.select2-results__option {
    font-size: 17px;
}

.register-form .pt-next {
    min-width: 200px;
    border-radius: 30px;
    background: #ff4956;
    font-size: 18px;
    padding: 5px 90px;
}

.register-form .pt-next:hover {
    background: #000;
}


@media(max-width:1699px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        width: 90%;
    }

}

@media(max-width:1299px) {
    .login-form .right-content {
        padding: 0 30px;
    }
}

@media(max-width:1299px) {
    .login-forms .right-content {
        padding: 0 30px;
    }
}

@media(max-width:1099px) {
    .register-form .left-content {
        padding: 30px;
    }


}


@media(max-width:991px) {
    .login-form-main {
        padding: 60px 0;
    }

    .login-form .left-content {
        padding: 150px 0;
    }

    .login-title {
        font-size: 22px;
    }

    .register-form-main {
        height: auto;
    }

    .register-form .left-content {
        width: 100%;
    }

    .register-form {
        display: block;
    }

    .register-form .left-logo {
        margin-bottom: 40px;
    }

    @media(max-width:991px) {
        .login-forms-main {
            padding: 60px 0;
        }

        .login-forms .left-content {
            padding: 150px 0;
        }

        .login-title {
            font-size: 22px;
        }
    }

    .register-form .right-content {
        width: 100%;
        /* margin: 40px 0; */
    }

    .register-form .right-content h2 {
        font-size: 34px;
    }

    .register-box .form-group {
        margin-bottom: 30px !important;
    }

    .register-form .right-content .right-logo img {
        /* height: 79px; */
        margin-bottom: 20px;
        margin-top: 24px;
    }
}

@media(max-width:767px) {

    /*body{ overflow: visible; }*/
    .login-form-main {
        padding: 0;
        display: block;
        height: 100%;
        margin-top: 0px;
    }

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        width: 100%;
    }

    .login-form {
        display: block;
        border-radius: 0;
    }

    .login-form .left-content {
        width: 100%;
        padding: 30px 0;
        border-radius: 0;
    }

    .login-img {
        padding: 0 60px;
        height: 100%;
        width: auto;
    }

    .login-form .right-content {
        width: 100%;
    }

    .login-form .right-content {
        padding: 60px 30px;
    }

    .login-title {
        font-size: 26px;
    }

    .register-form-main {
        margin-top: 0px;
    }

    @media(max-width:767px) {

        /*body{ overflow: visible; }*/
        .login-form-main {
            padding: 0;
            display: block;
            height: 100%;
        }

        .container,
        .container-lg,
        .container-md,
        .container-sm,
        .container-xl,
        .container-xxl {
            width: 100%;
        }

        .login-forms {
            display: block;
            border-radius: 0;
        }

        .login-forms .left-content {
            width: 100%;
            padding: 30px 0;
            border-radius: 0;
        }

        .login-img {
            padding: 0 60px;
            height: 100%;
            width: auto;
        }

        .login-forms .right-content {
            width: 100%;
        }

        .login-forms .right-content {
            padding: 20px 20px;
        }

        .login-title {
            font-size: 26px;
        }

        .left-content.text-center {
            display: none;
        }

    }

    .register-form .logo-text h2 {
        font-size: 32px;
        line-height: 40px;
        margin-bottom: 5px;
    }

    .register-form .logo-text p {
        font-size: 18px;
    }

}


@media(max-width:575px) {
    .register-form .pt-next {
        width: 100%;
    }
}


@media(max-width:479px) {
    .login-form .left-content {
        padding: 30px;
    }

    .login-form .right-content {
        padding: 20px;
    }

    .vector-1 img,
    .vector-2 img,
    .vector-3 img,
    .vector-4 img,
    .vector-5 img {
        width: 40px;
    }

    .register-form .logo-text p {
        font-size: 16px;
        line-height: 24px;
    }

    .register-box .form-group {
        margin-bottom: 20px !important;
    }

    .register-box .form-control {
        height: 38px;
    }

    .register-box {
        padding: 0;
    }

    .register-box .form-label {
        font-size: 17px;
        margin-bottom: 6px;
    }

    .register-form .logo-text .pt-button {
        font-size: 16px;
        padding: 7px 50px;        
    }

    .register-form .pt-button {        
        width: 95%;
        text-align: center;
        margin: 5px 0;
    }

    .register-form .select2-container--default .select2-selection--single {
        height: 50px;
    }

    .register-form .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 50px;
    }

    .register-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
        margin-top: 8px;
    }
}


@media(max-width:320px) {
    .register-form .logo-text h2 {
        font-size: 22px;
    }

    .register-form .logo-text p {
        font-size: 15px;
    }

}

@media(max-width:379px) {
    .login-form .left-content {
        padding: 20px;
    }

    .login-title {
        font-size: 15px;
        color: black !important;
        line-height: 1.5;
    }

    .login-form .left-content {
        display: none;
    }

    .logo img {
        height: 76px;
        width: auto;
    }
}

/***dashboard**/

.dashboard-main {
    padding: 25px;
    display: flex;
}

.left-sidebar {
    background: #76c14d;
    padding: 15px;
    border-radius: 15px;
    width: 300px;
    transition: all 0.5s ease;
    height: 100%;
    position: fixed;
    z-index: 999;
    overflow: auto;
}

.sidebar-nav {
    /* margin-top: 50px; */
}

.sidebar-nav ul li {
    margin-bottom: 15px;
}

.sidebar-nav ul li a {
    /* padding: 15px 30px; */
    padding: 10px 8px;
    color: #fff;
    font-size: 19px;
    border-radius: 10px;
    font-weight: 500;
    display: flex;
    align-items: center;
    line-height: 28px;
}

.sidebar-nav ul li a:hover,
.sidebar-nav ul li a:focus {
    color: #fff;
}

.sidebar-nav ul li a span.menu-img {
    text-align: left;
    display: inline-block;
    margin-right: 24px;
}

.sidebar-nav ul li a img.hover-img {
    display: none;
}

.sidebar-nav ul li a img {
    transition: all 0.5s ease;
}

.sidebar-nav ul li a.active,
.sidebar-nav ul li a:hover {
    background: #fff;
    /* color: #2c2c2c; */
    color: darkgreen;
    /* border-left: 5px solid; */
    /* padding-left: 11px; */
}

.sidebar-nav ul li a.active img,
.sidebar-nav ul li a:hover img {
    display: none;
}

.sidebar-nav ul li a.active img.hover-img,
.sidebar-nav ul li a:hover img.hover-img {
    display: inline-block;
}

.main-panel {
    margin-left: auto;
    width: calc(100% - 330px);
}

.search-bar {
    padding: 20px;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    background: #fff;
    margin-bottom: 2px;
    align-items: center;
}

.search-bar.sticky {
    position: fixed;
    background-color: rgb(255 255 255 / 70%);
    backdrop-filter: blur(6px);
    width: calc(100% - 390px);
    z-index: 9;
    box-shadow: 0px 0px 5px 0 rgb(237 237 237);
}

.header-blur {
    height: 30px;
    /* background-color: rgb(246 249 255); */
    backdrop-filter: blur(6px);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9;
}

/* .search-box{  align-items: center;position: relative;width: 30%; } */
.search-input {
    border: none;
    background: #f6f9ff;
    padding: 0px 30px;
    width: 100%;
    height: 54px;
    line-height: 54px;
    border-radius: 40px;
    font-size: 16px;
    font-weight: 500;
    border: none;
    outline: none;
}

.search-button {
    background: transparent;
    border: none;
    padding: 0;
    position: absolute;
    text-align: center;
    color: #76c14d;
    font-size: 0px;

    top: 58%;
    transform: translateY(-50%);

    right: 30px;
    transition: all 0.5s ease;

}

.search-button:before {
    content: "\e610";
    font-family: 'themify';
    font-weight: 400;
    font-size: 20px;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

.search-button:hover {
    color: #2c2c2c;
}

.pt-search-form {
    position: absolute;
    top: 59px;
    right: 17px;
    width: 350px;
    padding: 15px;
    z-index: 999;
    display: none;
    background: #fff;
    -webkit-box-shadow: 0px 3px 30px 0px rgba(0, 33, 85, 0.1);
    -moz-box-shadow: 0px 3px 30px 0px rgba(0, 33, 85, 0.1);
    box-shadow: 0px 3px 30px 0px rgba(0, 33, 85, 0.1);
    border-radius: 40px;
}

.search-form label {
    margin-bottom: 0;
    float: left;
    width: 100%;
}

.search-form label input.search-field {
    background: #f6f9ff;
    padding: 0px 30px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    border-radius: 40px;
    font-size: 16px;
    font-weight: 500;
    border: none;
    outline: none;
}

.pt-search-form .search-button {
    right: 30px;
    top: 54%;
}

.user-box {
    display: flex;
    align-items: center;
    padding-right: 10px;
}

.notification {
    font-size: 28px;
    color: #2c2c2c;
    position: relative;
    margin-right: 30px;
}

.notification .count {
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background: #ff4956;
    position: absolute;
    right: 0px;
    top: 3px;
}

.user-info {
    display: flex;
    align-items: center;
    position: relative;
}

.user-info .nav-profile-name {
    color: #2c2c2c;
    font-weight: 600;
}

.user-info .profile {
    width: 54px;
    height: 54px;
    border-radius: 100%;
    margin-right: 5px;
}

.user-info #profileDropdown:after {
    color: #2c2c2c;
    display: none;
}

.user-info .dropdown-menu {
    padding: 0;
    width: 100%;
    border: 1px solid #eee;
    margin-top: 18px !important;
}

.user-info .dropdown-item {
    padding: 8px 10px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    font-weight: 500;
}

.user-info .dropdown-item:active {
    background: #98c2ed;
    color: #2c2c2c;
}


.mobprofile {
    width: 54px !important;
    height: 54px;
    /* border-radius: 100%; */
    /* margin-left: 167% !important; */
    /* margin-top: 7px !important; */
}

.toggle-btn {
    position: relative;
    padding: 20px 0;
}

.toggle-btn a {
    position: relative;
    display: block;
    top: 0;
    width: 30px;
    height: 2px;
    margin: 0 auto;
    border: none;
    cursor: pointer;
    background: #727272;
    color: inherit;
    font-size: 0;
    transition: 0.35s;
}

.toggle-btn a:before,
.toggle-btn a:after {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 100%;
    height: 2px;
    background: #727272;
    content: "";
    transition: transform 0.35s;
}

.toggle-btn a:before {
    transform: translate(-50%, -10px);
}

.toggle-btn a:after {
    transform: translate(-50%, 10px);
}

.toggle-btn.open a {
    background: transparent;
    transform: translateX(-10px);
}

.toggle-btn.open a:before {
    transform: rotateZ(45deg) scaleX(1) translate(-4px, 8px)
}

.toggle-btn.open a:after {
    transform: rotateZ(-45deg) scaleX(1) translate(-8px, -5px);
}

.comon-box {
    background: #fff;
    border-radius: 15px;
    padding: 15px;
}

.profile-slider {
    position: relative;
}

.owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.owl-carousel .owl-nav button.owl-next {
    margin-right: -15px;
}

.owl-carousel .owl-nav button.owl-prev {
    margin-left: -15px;
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev {
    width: 45px;
    height: 45px;
    line-height: 45px;
    background: #7dc456;
    color: #fff;
    font-size: 20px;
    border-radius: 100%;
}

.owl-carousel .owl-nav button.owl-next.disabled,
.owl-carousel .owl-nav button.owl-prev.disabled {
    opacity: 0.2
}

.owl-carousel .owl-item img {
    width: auto;
    display: inline-block;
}

/*dots*/
.owl-carousel .owl-dots {
    margin-top: 30px;
    line-height: normal;
    position: relative;
    width: 100%;
    text-indent: inherit;
    text-align: center;
    cursor: pointer;
    display: none;
}

.owl-carousel .owl-dots .owl-dot {
    box-shadow: none;
    outline: none;
    background: #dfe3e6;
    display: inline-block;
    padding: 0;
    margin: 0px 5px;
    height: 4px;
    width: 30px;
    border: none;
    transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    cursor: pointer;
}

.owl-carousel .owl-dots .owl-dot span {
    display: none;
}

.owl-carousel .owl-dots .owl-dot:hover {
    background: #76c04d;
}

.owl-carousel .owl-dots .owl-dot.active {
    background: #76c04d;
}

.your-profile {
    padding: 70px;
}

.your-profile .row {
    flex-direction: row-reverse;
}

.your-profile p {
    margin-top: 15px;
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 32px;
}

.common-heading {
    margin-bottom: 16px;
}

.assignments {
    margin-top: 40px;
}

.assignments .icon-box {
    padding: 60px 32px;
}

.assignments .icon-box .icon {
    margin-bottom: 20px;
}


.top-score {
    margin-top: 40px;
}

.top-score .icon-box .icon {
    margin-bottom: 30px;
}

.top-score .icon-box .icon img {
    width: auto;
    display: inline-block;
}

.top-score .score-info span {
    display: block;
    color: #2c2c2c;
    font-weight: 700;
}

.top-score .score-info .student-name {
    font-size: 22px;
}

.top-score .score-info .school {
    font-size: 18px;
    color: #7dc456;
    margin-top: 14px;
    margin-bottom: 20px;
}

.top-score .score-info .percentage {
    font-size: 28px;
    margin-bottom: 22px;
}

.top-score .score-info .result {
    font-size: 22px;
    background: #f6f9ff;
    padding: 15px 70px;
    display: inline-block;
    border-radius: 10px;
}

.lesson {
    margin-top: 40px;
}

.lesson .comon-box {
    display: flex;
    align-items: center;
    padding: 50px;
}

.lesson .lesson-img {
    width: 200px;
}

.lesson .lesson-info {
    margin-left: 30px;
}

.lesson .lesson-info h5 {
    margin-bottom: 10px;
    font-size: 26px;
}

.lesson .lesson-info p {
    font-size: 19px;
    line-height: 30px;
    margin-bottom: 0;
}

.right-content {
    padding-left: 20px;
}

.notification-list {
    color: #2c2c2c;
}

.notification-list ul {
    height: 265px;
    overflow: hidden;
}

.notification-list ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 24px;
    padding-top: 10px !important;
    border-bottom: 1px solid #eee;
    background: #edf9e9;
    border-radius: 15px;
    border-bottom: 7px solid gainsboro;
}

.notification-list ul li:last-child {
    margin-bottom: 0;
    border: none;
    padding: 0;
}

.notification-list ul li .title {
    flex: 1;
    margin-left: 22px;
    font-weight: 600;
    font-size: 20px;
}

.notification-list ul li .title span {
    display: block;
    color: #848484;
    font-size: 16px;
    font-weight: 400;
    margin-top: 7px;
}

.history-box {
    margin-top: 40px;
    color: #2c2c2c;
    margin-bottom: 40px;
}

.history-box.notification-list ul {
    height: 300px;
}

.history-box ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.history-box ul li:last-child {
    margin-bottom: 0;
}

.history-box ul li .date {
    width: 70px;
    font-size: 22px;
    background: #f6f9ff;
    text-align: center;
    padding: 10px 0;
    font-weight: 600;
    color: #2c2c2c;
}

.history-box ul li .date span {
    display: block;
    font-size: 14px;
}

.history-box ul li .title {
    flex: 1;
    margin-left: 22px;
    font-weight: 600;
    font-size: 18px;
}

.history-box ul li .title span {
    display: block;
    color: #76c14d;
    font-size: 16px;
    font-weight: 500;
    margin-top: 7px;
}

.history-box ul li .arrow a {
    color: #8e8e8e;
    font-size: 22px;
}

.history-box ul li .arrow a:hover {
    color: #76c14d;
}

.share-friends .comon-box {
    display: flex;
    align-items: center;
}

.share-friends .share-img {
    width: 200px;
}

.share-friends .share-info {
    margin-left: 30px;
}

.share-friends .share-info h5 {
    margin-bottom: 15px;
    font-size: 26px;
    line-height: 36px;
}

.share-friends .share-info a.pt-button {
    font-size: 14px;
    padding: 8px 22px;
}

.mCSB_container_wrapper>.mCSB_container {
    padding-right: 0;
}

.mCSB_scrollTools .mCSB_draggerRail {
    width: 8px;
    background-color: #ecf2ff;

}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: 8px;
    background-color: #76c14d !important;

}

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
    background-color: #76c14d !important;

}

.left-sidebar .mCSB_scrollTools .mCSB_draggerRail {

    background-color: #65a940;
}

.left-sidebar .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {

    background-color: #38741766 !important;
}


/***training page**/
.training-dropdown {
    margin-bottom: 40px;
}

.training-dropdown .select2-container--default .select2-selection--single {
    background-color: #fff;
    border-radius: 12px;

}

.training-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #2c2c2c;

    font-weight: 600;
    font-size: 18px;
}

.training-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none;
    margin-top: 4px;
}

.training-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\f3d0";
    font-family: 'Ionicons';
    font-weight: 700;
    font-size: 20px;
    color: #76c14d;
}

.training-class .box {
    border-radius: 15px;
    background: #fff;
    margin-bottom: 30px;
}

.training-class .box-img {
    position: relative;
}

.training-class .box-img .video-bt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    line-height: 60px;
    background: #fff;
    color: #76c14d;
    font-size: 17px;
    text-align: center;
    border-radius: 100%;
}

.training-class .box-img .video-bt:hover {
    background: #76c14d;
    color: #fff;
}

.training-class .box-info {
    background: #fff;
    padding: 34px 26px;
}

.training-class .box-info h5 {
    font-size: 25px;
    line-height: 33px;
    font-weight: 500;
}

.training-class .box-info .hours {
    display: block;
    margin-top: 10px;
}


/***year dropdown**/
.year-dropdown {
    margin-right: 5px;
}

.year-dropdown .select2-container--default .select2-selection--single {
    background-color: #fff;
    border-radius: 12px;
}

.year-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #2c2c2c;
    font-weight: 600;
    font-size: 18px;
}

.year-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none;
    margin-top: -11px;
    margin-left: -8px;
}

.year-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\f3d0";
    font-family: 'Ionicons';
    font-weight: 700;
    font-size: 20px;
    color: #fff;
}

.year-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow {
    /* height: 60px; */
    /* position: absolute; */
    /* top: 0px; */
    /* right: 1px; */
    width: 25%;
    background: #76c14d;
    text-align: center;
    -webkit-border-top-right-radius: 12px;
    -webkit-border-bottom-right-radius: 12px;
    -moz-border-radius-topright: 12px;
    -moz-border-radius-bottomright: 12px;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

/* ============ content page CSS ============ */

.content-box {
    background: #fff;
    border-radius: 15px;
    margin-bottom: 30px;
}

.content-box .title {
    padding: 18px 35px;
    color: #fff;
    background: #fbab18;
    -webkit-border-top-left-radius: 15px;
    -webkit-border-top-right-radius: 15px;
    -moz-border-radius-topleft: 15px;
    -moz-border-radius-topright: 15px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    font-size: 28px;
    line-height: 36px;
    font-weight: 400;
}

.content-box .content-info {
    padding: 45px;
    text-align: center;
}

.content-box .content-bt a {
    padding: 17px 60px;
    font-size: 25px;
    display: inline-block;
    color: #fff;
    background: #fbab18;
    border-radius: 50px;
    margin-top: 40px;
}

.content-box.box-2 .title,
.content-box.box-2 .content-bt a {
    background: #f58220;
}

.content-box.box-3 .title,
.content-box.box-3 .content-bt a {
    background: #ee3039;
}

.content-box.box-4 .title,
.content-box.box-4 .content-bt a {
    background: #8f1b6b;
}

.content-box.box-5 .title,
.content-box.box-5 .content-bt a {
    background: #a5cf4c;
}

.module .content-box .title {
    font-weight: 500;
    text-align: center;
}

.module .content-box .content-bt a {
    padding: 15px 40px;
    font-size: 20px;
    font-weight: 500;
}

.module .content-box .content-bt a:hover {
    background: #000;
}

.search-box-module {
    align-items: center;
    position: relative;

}

.search-input-module {
    border: none;
    background: #fff;
    padding: 0px 30px;
    width: 100%;
    height: 54px;
    line-height: 54px;
    border-radius: 40px;
    font-size: 16px;
    font-weight: 500;
    border: none;
    outline: none;
}

.search-button-module {
    background: transparent;
    border: none;
    padding: 0;
    position: absolute;
    text-align: center;
    color: #76c14d;
    font-size: 0px;
    top: 58%;
    transform: translateY(-50%);
    right: 30px;
    transition: all 0.5s ease;
}

.search-button-module:hover {
    color: #2c2c2c;
}

.search-button-module:before {
    content: "\e610";
    font-family: 'themify';
    font-weight: 400;
    font-size: 20px;
}

.module-list {
    margin-top: 30px;
}

.module-list li {
    margin-bottom: 26px;
}

.module-list .module-list-row {
    display: flex;
    align-items: center;
    background: #fff;
    color: #2c2c2c;
    padding: 15px 35px;
    border-radius: 15px;
    justify-content: space-between;
}

.module-list .module-list-row:hover {
    background: #fbab18;
    color: #fff;
}

.module-list .module-list-row:hover .title {
    color: #fff;
}

.module-list .module-list-row .title {
    font-weight: 500;
    transition: all 0.5s ease;
    letter-spacing: 0.5px;
}

.module-list .module-list-row i {
    font-size: 30px;
    margin-left: 15px;
}

.module-detail .pagination .page-link:hover {
    color: #fbab18;
}

.pagination .page-link {
    padding: 12px 16px;
    color: #7c7c7c;
    font-size: 18px;
    border: 1px solid #ededed;
    box-shadow: none;
}

.pagination .page-link:hover {
    background: #fff;
    color: #76c14d;
}

#module-popup .modal-dialog {
    max-width: 800px;
}

#module-popup .modal-content {
    border: none;
    background: transparent;
}

#module-popup .modal-body {
    background: #fbab18;
    border-radius: 30px;
    padding: 25px;
}

#module-popup .modal-body .download-box {
    border: 1px solid #eeeeee85;
    border-radius: 30px;
    padding: 60px 0;
}

#module-popup .modal-body .download-box .box {
    width: 32.3%;
    display: inline-block;
    text-align: center;
    position: relative;
}

#module-popup .modal-body .download-box .box:before {
    content: "";
    position: absolute;
    right: 0;
    width: 1px;
    height: 90%;
    top: 50%;
    transform: translateY(-50%);
    background: #eeeeee85;
}

#module-popup .modal-body .download-box .box:last-child:before {
    display: none;
}

#module-popup .modal-body .download-box .box .title {
    margin: 40px 0;
}

#module-popup .modal-body .download-box .box .title h5 {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}

#module-popup .modal-body .close {
    border: none;
    background: #fff;
    width: 46px;
    height: 46px;
    border-radius: 100%;
    line-height: 46px;
    text-align: center;
    position: absolute;
    right: 26px;
    font-size: 0;
}

#module-popup .modal-body .close:before {
    content: "\e646";
    font-family: 'themify';
    font-weight: 600;
    font-size: 17px;
}

.error-page {
    padding: 200px 0;
    background: #fff;
    border-radius: 15px;
}

.error-page h2 {
    font-size: 46px;
    line-height: 54px;
    margin-bottom: 20px;
}

.error-page p {
    font-size: 17px;
    line-height: 30px;
}

.error-page .pt-button {
    padding: 12px 30px;
}

.error-page .pt-errot-text {
    margin-top: 50px;
    margin-bottom: 30px;
    font-style: normal;
    -webkit-text-stroke: 2px #76c14d;
    position: relative;
}

.error-page .pt-errot-text h2 {
    font-size: 350px;

    color: #f6f9ff;
    line-height: 0.8;
    margin-top: 50px;
    margin-bottom: 30px;
    font-style: normal;
    -webkit-text-stroke: 2px #76c14d;
    font-weight: 600;
    position: relative;
}

.error-vector.icon1 {
    position: absolute;
    left: 10%;
    top: -30%;
    display: inline-block;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 5s;
}

.error-vector.icon2 {
    position: absolute;
    right: 23%;
    top: -30%;
    display: inline-block;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom2;
    -webkit-animation-duration: 5s;
}

.error-vector.icon3 {
    position: absolute;
    left: 23%;
    bottom: -30%;
    display: inline-block;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 5s;
}

.error-vector.icon4 {
    position: absolute;
    right: 12%;
    bottom: -40%;
    display: inline-block;
    -webkit-animation: linear infinite alternate;
    -webkit-animation-name: zoom2;
    -webkit-animation-duration: 5s;
}

.comon-table {
    margin-top: 40px;
}

.comon-table table {
    margin-top: 30px;
    background: #fff;
    font-size: 19px;
    margin-bottom: 30px;
}

.comon-table table th,
.comon-table table td {
    vertical-align: middle;
    text-align: center;
}

.comon-table table td {
    padding: 18px 0;
    border-right-width: 1px;
}

.comon-table table th {
    padding: 24px 0;
    font-weight: 600;
    font-size: 21px;
    background: #e1e1e1;
    border-right: 1px solid #cdcdcd;
}

.comon-table .table>:not(:first-child) {
    border-top: none;
}

.comon-table .table-bt {
    font-size: 14px;
    padding: 5px 30px;
    border-radius: 30px;
}

.practice-quiz {
    margin-top: 40px;
    margin-right: 15%;
}

.practice-quiz .title {
    background: #e1e1e1;
    padding: 20px 35px;
}

.practice-quiz .title h5 {
    font-size: 26px;
    font-weight: 600;
}

.quiz-content {
    background: #fff;
    padding: 40px 30px;
}

.quiz-content .question {
    background: #f6f9ff;
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.quiz-content .question h5 {
    font-size: 24px;
    font-weight: 600;
}

.quiz-content .question .actions {
    display: flex;
    align-items: center;
}

.quiz-content .question .actions span {
    color: #2c2c2c;
    font-size: 20px;
    font-weight: 600;
    display: inline-block;
    margin-right: 12px;
}

.quiz-content .question .actions ul li {
    display: inline-block;
    background: #45c200;
    color: #fff;
    padding: 8px 16px;
    margin-right: 6px;
    font-size: 18px;
}

.quiz-content .question .actions ul li.close {
    background: #e70000;
}

.quiz-content .question .actions ul li i {
    margin-right: 8px;
}

.quiz-content .answer-box {
    padding: 35px 30px;
    font-size: 22px;
    color: #2c2c2c;
    font-weight: 500;
}

.quiz-content .answer-box .form-check-label {
    color: #2c2c2c;
}

.quiz-content .answer-box .form-check {
    margin-bottom: 25px;
}

.quiz-content .answer-box .form-check:last-child {
    margin-bottom: 0;
}

.quiz-content .form-check .form-check-input {
    border: 1px solid rgba(0, 0, 0, .77);
}

.quiz-content .form-check .form-check-input:focus {
    box-shadow: none;
}

.quiz-content .form-check .form-check-input:checked {
    border-color: transparent;
}

.quiz-content .form-check .form-check-input,
.quiz-content .form-check .form-check-input:checked {
    margin-top: 0;
}

.quiz-content .answer-box .message {
    border: 1px solid #cbcbcb;
    height: 150px;
    width: 100%;
    padding: 30px;
    outline: none;
}

.quiz-pagination {
    text-align: right;
    margin-top: 30px;
}

.quiz-pagination .pt-button {
    font-size: 20px;
    padding: 7px 30px;
    margin-left: 16px;
}

.quiz-pagination .pt-button.prev {
    background: #f0f0f0;
    color: #2c2c2c;
}

.register-student {
    margin-top: 40px;
}

.register-student .form-control {
    background: #fff;
}

.register-student input.form-control:focus {
    background: #fff;
}

.register-student .select2-container--default .select2-selection--single {
    background: #fff;
}

.register-student .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none;
    margin-top: 4px;
}

.register-student .select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\f3d0";
    font-family: 'Ionicons';
    font-weight: 700;
    font-size: 20px;
    color: #8e8e8e;
}

.register-students {
    margin: 2px;
}

.register-students .form-control {
    background: #fff;
}

.register-students input.form-control:focus {
    background: #fff;
}

.register-students .select2-container--default .select2-selection--single {
    background: #fff;
}

.register-students .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none;
    margin-top: 4px;
}

.register-students .select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\f3d0";
    font-family: 'Ionicons';
    font-weight: 700;
    font-size: 20px;
    color: #8e8e8e;
}

.button-group .pt-button {
    font-size: 18px;
    font-weight: 500;
    padding: 12px 24px;
    background: #fff;
    color: #2c2c2c;
}

.button-group .pt-button:hover,
.button-group .pt-button.active {
    background: #76c14d;
    color: #fff;
}

.button-group .pt-button+.pt-button {
    margin-left: 15px;
}

.nav-item {
    margin-right: 15px;
}

.nav-pills .nav-link {
    border-radius: 10px;
}

.map-code .form-control {
    background: #fff;
    border-radius: 15px;
    height: 60px;
    font-size: 19px;
    font-weight: 500;
}

.map-code .form-control:focus {
    background: #fff;
}

.accordion-item {
    border: none;
    margin-bottom: 25px;
    border-radius: 15px;
}

.accordion-button {
    font-size: 26px;
    font-weight: 500;
    padding: 13px 36px;
    border-radius: 15px;
}

.accordion-body {
    font-size: 18px;
    line-height: 30px;
    padding: 24px 38px;
}

.accordion-button:not(.collapsed) {
    color: #fff;
    background-color: #76c14d;
    box-shadow: none;
}

.accordion-item:first-of-type .accordion-button {
    -webkit-border-top-left-radius: 15px;
    -webkit-border-top-right-radius: 15px;
    -moz-border-radius-topleft: 15px;
    -moz-border-radius-topright: 15px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.accordion-button:after {
    content: "\f218";
    font-family: 'Ionicons';
    font-weight: 700;
    font-size: 20px;
    color: #76c04d;
    background: none;
    width: auto;
    height: auto;
}

.accordion-button:not(.collapsed)::after {
    content: "\f209";
    background: none;
    color: #ffff;
}

.call-chat {
    background: #fff;
    padding: 25px;
    border: 1px solid #eee;
    position: fixed;
    bottom: 100px;
    right: 0;
    border-right: 0;
    z-index: 99;
}

.call-icon {
    font-size: 28px;
    font-weight: 700;
    color: #2c2c2c;
    margin-top: 13px;
}

.call-icon img {
    margin-right: 14px;
}


/***teacher registration page**/
.register-form-main.teacher {
    height: auto;
}

.register-form-main.teacher .register-form {
    overflow: inherit;
    align-items: inherit;
    margin: 60px 0;
}

.register-form-main.teacher .register-form .right-content {
    padding: 40px 30px;
}

.register-box.teacher .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none;
    margin-top: 4px;
}

.register-box.teacher .select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\f3d0";
    font-family: 'Ionicons';
    font-weight: 700;
    font-size: 20px;
    color: #76c04d;
}

.certificate {
    font-size: 20px;
}

@media only screen and (max-width: 768px) {
    .certificate {
        font-size: 14px;
    }
}

.form-check-input:checked[type=checkbox],
.form-check-input:checked[type=radio] {
    background-color: #76c04d;
    border-color: #76c04d;
}

.teacher-question .each-question .form-check {
    font-size: 22px;
    color: #2c2c2c;
    font-weight: 500;
    margin-bottom: 20px;
}

.teacher-question .each-question .form-check .form-check-input:focus {
    box-shadow: none;
}

.teacher-question .form-check-label {
    color: #2c2c2c;
}

.teacher-question .form-check .form-check-input,
.teacher-question .form-check .form-check-input:checked {
    margin-top: 0;
}

.teacher-question .form-check-input:checked+.each-answer {
    display: none;
}

.teacher-question .each-answer {
    display: none;
    margin-bottom: 20px;
}

.teacher-question .each-answer h5 {
    margin-bottom: 14px;
    margin-top: 12px;
}

/***Content Schedule**/
.content-schedule .content-box .title {
    background: transparent;
    color: #2c2c2c;
    font-size: 24px;
    font-weight: 500;
}

.content-schedule .content-box .content-bt a {
    padding: 13px 30px;
    font-size: 18px;
    margin-top: 10px;
    background: #76c14d;
}

.content-schedule .content-box .content-bt a:hover {
    background: #2c2c2c;
}

.pt-button.viewbtn {
    border-radius: 50px;
}

.module-detail.content .module-list .module-list-row:hover {
    background: #76c04d;
}

#module-popup.content .modal-body {
    background: #76c04d;
}

.module-detail.content .pagination .page-link:hover {
    color: #76c04d;
}

@media(max-width:1499px) {
    .training-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 15px;
    }

    .year-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 15px;
    }

    .comon-box {
        padding: 30px;
    }

    .training-class .box-info h5 {
        font-size: 18px;
        line-height: 26px;

    }
}

@media(max-width:1366px) {
    .sidebar-nav ul li a {
        /* padding: 10px 15px;
        padding: 15px; */
        padding: 10px 8px;
    }

    .left-sidebar {
        padding: 30px 15px;
        /* width: 250px; */
        width: 310px;
    }

    .main-panel {
        /* width: calc(100% - 280px); */
        width: calc(100% - 325px);
    }


    .training-class .box-info {
        padding: 15px;
    }

    /* .training-class .box-info h5 {
        font-size: 15px;
        line-height: 24px;
    } */

    .training-class .box-info h5 {
        font-size: 20px;
        line-height: 24px;
    }

    .traininghours {
        font-size: 15px;
    }

    .training-class .box-info .hours {
        font-size: 13px;
    }

    .training-class .box-img .video-bt {

        width: 50px;
        height: 50px;
        line-height: 50px;
        font-size: 13px;
    }

    @media(max-width:1299px) {
        .ytvideo {
            width: 100%;
            height: 100%;
        }

        .trainingdesc {
            font-size: 12px;
        }
    }


    .select2-container--default .select2-selection--single .select2-selection__rendered {
        padding-left: 15px;
        padding-right: 15px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow b {
        margin-left: -12px;
    }

    .history-box ul li .date {
        width: 60px;
    }

    .history-box ul li .title {
        font-size: 14px;
    }

    .history-box ul li .title span {
        font-size: 14px;
    }

    .history-box.notification-list .comon-box {
        padding-right: 10px;
    }

    .right-content {
        padding-left: 0;
    }

    .your-profile.comon-box {
        padding: 60px;
    }

    .notification-list.comon-box {
        padding-right: 10px;
    }

    .notification-list.comon-box ul {
        height: 235px;
    }

    .notification-list ul li .title {
        font-size: 15px;
    }

    .notification-list ul li .title span {
        font-size: 14px;
    }

    .icon-box.comon-box {
        padding: 15px;
    }

    .top-score .score-info .student-name {
        font-size: 16px;
    }

    .top-score .score-info .school {
        font-size: 15px;

        margin-top: 10px;
        margin-bottom: 14px;
    }

    .top-score .score-info .percentage {
        font-size: 20px;
    }

    .top-score .score-info .result {
        font-size: 18px;
        display: block;
        padding: 12px 30px;
    }

    .share-friends .share-info h5 {
        font-size: 18px;
        line-height: 28px;
    }

    .share-friends .share-img {
        width: 160px;
    }

    .share-friends .share-info a.pt-button {
        font-size: 12px;
        padding: 6px 16px;
    }

    .content-box .title {
        font-size: 24px;
    }

    .assignments h5 {
        font-size: 16px;
        line-height: 24px;
    }

    .assignments .icon-box.comon-box {
        padding: 27px 18px;
    }

    .no-notification {
        font-size: 20px;
    }

    .module-list .module-list-row i {
        font-size: 24px;
    }
}

@media(max-width:1299px) {
    .practice-quiz {
        margin-right: 0;
    }
}



@media(max-width:1199px) {
    .left-sidebar {
        width: 250px;
    }

    .main-panel {

        width: calc(100% - 280px);
    }

    .training-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 14px;
    }

    .training-class .box {
        margin-bottom: 30px;
    }

    .training-dropdown .module+.select2-container {
        margin-top: 15px;
    }

    .your-profile h2 {
        font-size: 26px;
        line-height: 34px;
    }

    .your-profile p {
        font-size: 16px;
        line-height: 26px;
    }

    .notification-list ul li .title {
        font-size: 16px;
    }

    .notification-list ul li .title span {
        margin-top: 0;
    }

    .notification-list ul li {
        margin-bottom: 14px;
        padding-bottom: 14px;
    }

    .notification-list ul {
        height: 150px;
    }

    .content-box .title {
        font-size: 20px;
    }

    .content-box .title {
        padding: 14px 26px;

    }

    .content-box .content-bt a {
        padding: 15px 50px;
        font-size: 20px;

    }

    .module .content-box .content-bt a {
        padding: 10px 35px;
        font-size: 14px;

    }

    .assignments .icon-box {
        margin-bottom: 30px;
        height: auto !important;
    }

    .assignments .icon-box.last {
        margin-bottom: 0;
    }

    .calendar {
        margin-top: 26px;
    }

    .calendar,
    .calendar_weekdays,
    .calendar_content {
        max-width: 100%;
    }
}


@media(max-width:1024px) {
    .dashboard-main {
        padding: 30px 15px;
    }

    /* .search-box{width: 40%;} */

    .common-heading {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .sidebar-nav ul li a {
        /* padding: 15px 18px; */
        padding: 10px 8px;
    }

    .history-box ul li .arrow a {
        font-size: 17px;
    }

    .comon-box {
        padding: 15px;
    }


    .your-profile.comon-box {
        padding: 45px;
    }

    .your-profile .pt-button {
        font-size: 14px;
        padding: 7px 19px;

    }

    .owl-carousel .owl-nav button.owl-next,
    .owl-carousel .owl-nav button.owl-prev {
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 16px;
    }

    .comon-table table th {
        font-size: 17px;
        padding: 18px 0;
    }

    .comon-table table td {
        padding: 10px 0;
    }

    .comon-table table {
        font-size: 16px;
    }

    .practice-quiz .title {
        padding: 15px 20px;
    }

    .practice-quiz .title h5 {
        font-size: 22px;
    }

    .quiz-content {
        padding: 20px;
    }

    .quiz-content .question {
        padding: 10px 20px;
    }

    .quiz-content .question h5 {
        font-size: 19px;
    }

    .quiz-content .question .actions span {
        font-size: 16px;
    }

    .quiz-content .question .actions ul li {
        padding: 5px 10px;
        font-size: 15px;
    }

    .quiz-content .answer-box .form-check-label {
        font-size: 18px;
    }

    .quiz-content .form-check .form-check-input,
    .quiz-content .form-check .form-check-input:checked {
        margin-top: 2px;
        width: 20px;
        height: 20px;
    }

    .quiz-content .answer-box .form-check {
        margin-bottom: 16px;
    }

    .quiz-content .answer-box {
        padding: 15px 20px;
    }

    .quiz-content .answer-box .message {
        font-size: 16px;
    }

    .quiz-pagination .pt-button {
        font-size: 15px;
        padding: 4px 24px;
    }

    .error-page {
        padding: 60px 0;
    }

    .error-page h2 {
        font-size: 34px;
        line-height: 44px;
    }

    .error-page p {
        font-size: 15px;

    }

    .error-page .pt-button {
        padding: 10px 24px;
        font-size: 14px;
    }

    .error-page .pt-errot-text h2 {
        font-size: 230px;
    }

    .error-vector img {
        width: 45px;
    }
}

@media(max-width:991px) {
    .dashboard-main {
        display: block;
        padding-top: 0;
    }

    .main-panel {
        margin-left: 0;
        width: 100%;
    }

    .left-sidebar {
        left: -100%;
        top: 0;
        width: 300px;
        height: 100%;
        border-radius: 0;
    }

    .left-sidebar.open {
        left: 0;
    }

    .mobile-logo img {
        width: 80px;
    }

    .search-box {
        margin-left: auto;
    }

    .user-info {
        display: none;
    }

    .header-blur {
        display: none;
    }

    .search-bar {
        margin-left: -15px;
        margin-right: -15px;
        border-radius: 0;
        top: 0;
    }

    .comon-box {
        padding: 10px;
    }

    .notification {
        margin-right: 22px;
    }

    .pt-search-form.show {
        display: block;
    }

    .search-input {
        display: none;
    }

    .search-button.open:before {
        content: "\e646";
    }

    .search-button {
        right: 22px;
    }

    .training-dropdown .select2-container {
        margin-top: 15px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow b {
        margin-left: -20px;
    }

    .training-class .box-info {
        padding: 24px;
    }

    .training-class .box-info h5 {
        font-size: 20px;
        line-height: 28px;
    }

    .training-class .box-info .hours {
        font-size: 16px;
    }

    .training-class .box-img .video-bt {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 17px;
    }

    .history-box ul li .title {
        font-size: 18px;
    }

    .history-box ul li .date {
        width: 70px;

    }

    .history-box ul li .title span {
        font-size: 16px;
    }

    .history-box.notification-list {
        margin-top: 10px;
        margin-bottom: 0;
    }

    .notification-list ul li .title {
        font-size: 18px;
        line-height: 28px;
    }

    .notification-list ul li .title span {
        font-size: 16px;
    }

    .icon-box.comon-box {
        padding: 24px;
    }

    .top-score .score-info .student-name {
        font-size: 22px;
    }

    .top-score .score-info .school {
        font-size: 18px;
        margin-top: 14px;
        margin-bottom: 20px;
    }

    .top-score .score-info .percentage {
        font-size: 28px;
    }

    .top-score .score-info .result {
        font-size: 18px;
        padding: 12px 30px;
    }

    .your-profile.comon-box {
        padding: 30px;
    }

    .owl-carousel .owl-nav button.owl-next,
    .owl-carousel .owl-nav button.owl-prev {
        display: none;
    }

    .owl-carousel .owl-dots {
        display: block;
    }

    .notification-box {
        margin-top: 40px;
    }

    .content-box {
        margin-bottom: 30px;
    }

    .assignments h5 {
        font-size: 18px;
        line-height: 28px;
    }

    .map-student.comon-table {
        margin-top: 15px;
    }
}

@media(max-width:767px) {
    .your-profile h2 {
        font-size: 28px;
        line-height: 36px;
        margin-top: 30px;
    }

    .your-profile p {
        font-size: 20px;
        line-height: 32px;
    }

    .your-profile.comon-box {
        text-align: center;
    }

    .your-profile .pt-button {
        font-size: 16px;
        padding: 10px 30px;
    }

    .content-box .content-info {
        padding: 10px;
    }

    .module-list .module-list-row .title {
        font-size: 20px;
    }

    .module-list .module-list-row i {
        font-size: 22px;
    }

    #module-popup .modal-dialog {
        max-width: 600px;
    }

    #module-popup .modal-body .download-box .box .box-img img {
        width: 60px;
    }

    #module-popup .modal-body .download-box .box .title h5 {

        font-size: 17px;

    }

    #module-popup .modal-body .download-box .box .title {
        margin: 10px 0;
    }

    #module-popup .modal-body .download-box .box .icon img {
        height: 22px;
    }

    #module-popup .modal-body .download-box {

        padding: 40px 0;
    }

    #module-popup .modal-body .close {
        width: 30px;
        height: 30px;
        line-height: 30px;
    }

    #module-popup .modal-body .close:before {
        font-size: 12px;
    }

    .accordion-button {
        font-size: 22px;
        padding: 10px 25px;
    }

    .accordion-body {
        font-size: 16px;
    }

    .call-chat {
        padding: 18px;
        bottom: 30px;
    }

    .call-chat h5 {
        font-size: 16px;
    }

    .call-icon {
        font-size: 22px;
        margin-top: 8px;
    }

    .call-icon img {
        margin-right: 5px;
        width: 40px;
    }

    .register-student .pt-button {
        width: 100%;
    }

    .register-form-main.teacher .register-form {
        margin: 0;
    }

    .register-form-main.teacher .register-form .right-content {
        padding: 0 30px;
    }
}

@media(max-width:576px) {
    .table-content.lg table {
        width: 600px;
    }

    .pt-search-form {
        width: 250px;
        padding: 5px;
    }
}

@media(max-width:479px) {
    .left-sidebar {
        width: 240px;
        padding: 30px 15px;
    }

    .sidebar-nav ul li a {
        padding: 12px 18px;
        font-size: 17px;
    }

    .pt-search-form {
        width: 250px;
        padding: 5px;
    }

    .notification {
        font-size: 24px;
    }

    .pt-search-form {
        width: 180px;
    }

    .search-form label input.search-field {
        height: 40px;
    }

    .pt-search-form {
        top: 75px;
    }

    .search-button {
        right: 17px;
    }

    .search-bar {
        margin-left: 0;
        margin-right: 0;
    }

    .dashboard-main {
        padding: 0px;
    }

    .training-dropdown {
        margin-bottom: 30px;
    }


    .your-profile p {
        font-size: 18px;
        line-height: 30px;
    }

    .content-box .title {
        font-size: 15px;
        padding: 8px 20px;
    }

    .module .content-box .title {
        font-size: 20px;
    }

    .common-heading {
        font-size: 20px;
        line-height: 30px;
    }

    .content-box .content-bt a {
        padding: 13px 44px;
        font-size: 18px;
        margin-top: 25px;
    }

    .module-list .module-list-row {
        padding: 15px;
    }

    .module-list .module-list-row .title {
        font-size: 16px;
    }

    .module-list .module-list-row i {
        font-size: 19px;
    }

    .module-list .module-list-row i {

        margin-left: 8px;
    }

    .accordion-button {
        font-size: 19px;
        padding: 6px 20px;
    }

    .accordion-body {
        padding: 20px;
    }

    .comon-table table th {
        font-size: 14px;
    }

    .comon-table table {
        font-size: 14px;
    }

    .pagination .page-link {
        font-size: 15px;
    }

    .comon-table .table-bt {
        font-size: 12px;
        padding: 3px 20px;
    }

    .practice-quiz .title h5 {
        font-size: 18px;
    }

    .quiz-content .question {
        padding: 10px;
    }

    .quiz-content .question h5 {
        width: 60%;
        font-size: 16px;
        line-height: 24px;
    }

    .quiz-content .question .actions span {
        font-size: 12px;
    }

    .quiz-content .question .actions ul li {
        padding: 1px 7px;
        font-size: 12px;
    }

    .quiz-content .answer-box {
        padding: 15px 10px;
    }

    .quiz-content .answer-box .message {
        padding: 10px;
    }

    .button-group .pt-button {
        display: block;
        text-align: center;
        margin-bottom: 10px;
        width: 331px !important;
    }

    .button-group .pt-button+.pt-button {
        margin-left: 0;
    }

    .error-page h2 {
        font-size: 26px;
        line-height: 34px;
    }

    .error-page {
        padding: 40px 30px;
    }

    .error-vector.icon1 {
        left: 0;
    }

    .error-vector.icon2 {
        right: 0;
        top: -34%;
    }

    .error-page .pt-errot-text h2 {
        font-size: 130px;
    }

    .error-vector.icon3 {
        left: 0;
        bottom: -40%;
    }

    .error-vector.icon4 {
        right: 0;
        bottom: -40%;
    }
}


@media(max-width:400px) {
    #module-popup .modal-body .download-box .box {
        margin-bottom: 40px;
        vertical-align: top;
    }

    #module-popup .modal-body .download-box .box:last-child {
        margin-bottom: 0;
    }

    #module-popup .modal-body .download-box .box:before {
        display: none;
    }

    #module-popup .modal-body .download-box .box .title h5 {
        font-size: 13px;
        line-height: 20px;
    }

    #module-popup .modal-body .download-box .box .box-img img {
        width: 45px;
    }

    #module-popup .modal-body .download-box {
        padding: 34px 0 0;
        display: flex;
    }

    #module-popup .modal-body {
        padding: 5px;
    }

    #module-popup .modal-body .close {
        right: 7px;
    }

    .table-content {
        width: 100%;
        overflow: auto;
    }

    .table-content table {
        width: 480px;
    }

    .quiz-content .question .actions {
        display: none;
    }

    .quiz-content .question h5 {
        width: auto;
    }
}



@media(max-width:320px) {
    .content-box .title {
        padding: 8px 24px;
    }

    .content-box .title {
        font-size: 15px;
    }

    .history-box ul li .arrow a {
        display: none;
    }

    .history-box ul li .title {
        font-size: 15px;
    }

    .history-box ul li .title span {
        font-size: 14px;
    }

    .notification-list ul li .title {
        font-size: 15px;
        line-height: 23px;
    }

    .notification-list ul li .title span {
        font-size: 14px;
    }

    .top-score .score-info .student-name {
        font-size: 20px;
    }

    .top-score .score-info .school {
        font-size: 15px;

    }

    .top-score .score-info .percentage {
        font-size: 22px;
    }

    .top-score .score-info .result {

        padding: 12px 40px;
    }

    .share-friends .comon-box {
        display: block;
        text-align: center;
    }

    .share-friends .share-img {
        width: auto;
    }

    .share-friends .share-info {
        margin-left: 0;
        margin-top: 24px;
    }

    .error-vector img {
        width: 30px;
    }

}


/* .map-dropdown .select2-container{ min-width: 275px; } */
.map-dropdown .select2-container {
    min-width: 205px;
}

@media(max-width:1399px) {
    .search-bar.sticky {
        width: calc(100% - 340px);
    }
}

@media(max-width:1099px) {
    .search-bar.sticky {
        width: calc(100% - 310px);
    }
}

@media(max-width:1023px) {
    .search-bar.sticky {
        width: 100%
    }
}

@media (min-width: 1023px) and (max-width: 1399px) {
    body {
        zoom: 75%;
    }

    body.zoomnone {
        zoom: unset;
    }
}


.error-msg {
    background: rgb(118 192 77);
    padding: 15px;
    color: #fff;
    border-radius: 10px;
    font-size: 18px;
    line-height: 26px;
    margin-top: 30px;
}

.error-msg i {
    color: #ffffff;
    font-size: 24px;
    margin-right: 10px;
}

@media(max-width:767px) {
    .error-page .pt-errot-text {
        margin-bottom: 45px;
    }
}

.fullheight,
.fullheight body {
    height: 100%;
}

@media(max-width:991px) {
    .error.search-bar {
        padding: 10px;
        /* position: fixed; */
        /* width: 100%; */
        width: 100;
        background-color: rgb(255 255 255 / 70%);
        backdrop-filter: blur(6px);
    }

    .error-page {
        margin-top: 150px;
    }

    .fullheight,
    body {
        height: auto;
    }
}

.rewardmain .nav li.nav-item:last-child {
    margin-right: 0;
}

.rewardmain li.nav-item {
    display: flex;
    flex: 1;
}

.rewardmain .pt-button {
    width: 100%;
    text-align: center;
    font-size: 24px;
    line-height: 32px;
}

.rewardmain .button-group .pt-button {
    background: #66747f;
    color: #ffffff;
    padding: 16px;
}

.rewardmain .button-group .pt-button:hover,
.rewardmain .button-group .pt-button.active {
    background: #76c14d;
    color: #fff;
}

.button-group .pt-button {
    display: block;
}

.comon-box-bg {
    background: #a6d8cd;
}

.rank .rank-icon-box {
    display: inline-block;
    padding: 0 45px;
}

.rank-icon-box .rank-icon img {
    width: 155px;
}

.rank .rank-icon-box .rank-icon {
    margin-bottom: 15px;
}

.rank .rank-icon-box .rank-info {
    padding: 10px 30px;
    background: #fbab18;
    color: #fff;
    border-radius: 10px;
    min-width: 160px;
}

.rank .rank-icon-box .rank-info span {

    font-weight: 500;
    letter-spacing: 1px;
    text-transform: capitalize;
    font-size: 20px;

}

.address-bg-content {
    margin-right: 20%;
}

.address-bg {
    background: #fbab18;
    padding: 22px 30px;
    color: #2c2c2c;
    font-weight: 600;
    word-spacing: 3px;
    display: block;
    letter-spacing: 0.5px;
    font-size: 24px;
    border-radius: 10px;
    text-align: center;
}

.rewardtable table thead th {
    padding: 12px 30px;
    background: #fbab18;
    color: #fff;
    border: none;
    font-size: 22px;
    letter-spacing: 2px;
    text-align: center;
    font-weight: 500;
}

.rewardtable table tbody td {
    background: #f6f9ff;
    border: none;
    color: #2c2c2c;
    padding: 20px 30px;
    text-align: center;
    font-weight: 500;
    font-size: 22px;
}

.rewardtable tbody td:nth-of-type(1) {
    border-bottom-left-radius: 10px;
}

.rewardtable tbody td:nth-of-type(3) {
    border-bottom-right-radius: 10px;
}

.rewardtable table thead th:nth-of-type(1) {
    border-top-left-radius: 10px;
}

.rewardtable table thead th:nth-of-type(3) {
    border-top-right-radius: 10px;
}

.rewardtable table {
    width: 100%;
    margin-top: 30px;
    border-radius: 10px;
    table-layout: fixed;
}


@media(max-width:1999px) {

    .rank .rank-icon-box {
        padding: 0 30px;
    }

}

@media(max-width:1679px) {

    .rank .rank-icon-box {
        padding: 0 15px;
    }

}

@media(max-width: 1499px) {
    .rank .rank-icon-box {
        padding: 0 20px;
    }
}

@media(max-width:1023px) {

    .rank .rank-icon-box {
        padding: 0 13px;

    }

    .rewardtable table thead th {
        padding: 12px 10px;
        background: #fbab18;
        color: #fff;
        border: none;
        font-size: 22px;
        letter-spacing: 2px;
        text-align: center;
        font-weight: 500;
    }

    .rank-icon-box .rank-icon img {
        width: 100px;
    }

    .rank .rank-icon-box .rank-info span,
    .address-bg {
        font-size: 17px;
    }

    .address-bg-content {
        margin-right: 0;
    }

    .rank .rank-icon-box .rank-info {
        padding: 10px 10px;
    }

    .rewardtable table thead th {
        font-size: 18px;
    }
}


@media(max-width:420px) {
    .rank .rank-icon-box .rank-info {
        min-width: 110px;
    }

    .rank .rank-icon-box .rank-info span {
        font-size: 14px;
        line-height: 20px;
        display: inline-block;
    }
}

@media(max-width:767px) {

    .address-bg {
        margin-bottom: 30px;
    }

    .rewardtable table {
        margin: 0 auto;
        table-layout: auto;
    }

    .t-center {
        text-align: center;
    }
}

.participate-list li:nth-of-type(1) .ranklist-bg {
    border-color: #fbda23;
}

.participate-list li:nth-of-type(2) .ranklist-bg {
    border-color: #78848c;
}

.participate-list li:nth-of-type(3) .ranklist-bg {
    border-color: #ce8f2e;
}

.ranklist-bg {
    padding: 10px;
    border-radius: 100px;
    border: 2px solid #d7ece7;
    background: #d7ece7;
    min-height: 70px;
    margin-bottom: 15px;
}

.ranklist {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ranklist li {
    color: #2c2c2c;
    font-size: 22px;
    font-weight: 500;
    width: 6%;
    text-align: center;
}

.ranklist li:nth-of-type(1) {
    padding-left: 30px;

}

.ranklist li:nth-of-type(2) {
    width: 16%;
}

.ranklist li:nth-of-type(3) {
    width: 10%;
}

.ranklist img {
    height: 40px;
}

@media(max-width: 480px) {
    .rewardtable {
        overflow: auto;
    }

}

.reward-info {
    padding: 45px;
    background: #a6d8cd;
    color: #ffffff;
    letter-spacing: 2px;
    display: inline-block;
    text-align: center;
}

.reward-info span {
    color: #2c2c2c;
    display: block;
    background: #ffffff;
    font-weight: 700;
    font-size: 28px;
    width: 100px;
    line-height: 60px;
    text-align: center;
    height: 60px;
}

.reward-info h6 {
    color: #fff;
    margin-top: 10px;
}

.reward-media {
    position: relative;
    display: inline-block;
}

.reward-media img {
    position: absolute;
    bottom: -30px;
    left: -60px;
    width: 100px;
}

.owl-carousel .owl-item .achieve.award img {
    width: 100px;
    box-shadow: 3px 3px 30px #ffffff;
    border-radius: 100%;
}

.owl-carousel .owl-item .achieve.award.img2 img {
    background: #3f5790;
}

.award-box {
    position: relative;
}

.award-box-bg {
    background: #677580;
    border-radius: 15px;
    padding: 30px;
    margin-bottom: 30px;
    height: 225px;
}

.upComming-reward .award-box .award {
    margin-bottom: 15px;
}

.achieve-reward-slider .achieve.award {
    margin-bottom: 20px;
}

.achieve-reward-slider .award-box {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.award-name {
    color: #fff;
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 10px;
    text-transform: capitalize;
    display: inline-block;
}

.award-label {
    background: #fff;
    padding: 6px 20px;
    border-radius: 22px;
    color: #2c2c2c;
    font-weight: 700;
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    border: 1px solid #2c2c2c;
    min-width: 120px;
    text-transform: capitalize;
    font-size: 17px;
}

.award-box-bg .award-label {
    border-color: #8f1b6c;
}

.award-box-bg1 .award-label {
    border-color: #f48323;
}

.upComming-reward-slider .owl-nav,
.achieve-reward-slider .owl-nav {
    display: none;
}

.upComming-reward .common-heading,
.achieve-reward .common-heading {
    font-weight: 500;
}

/* @media(max-width: 1365px) {
    padding: 30px;
} */

@media (min-width: 1024px) and (max-width:1499px) {

    .award-label {
        padding: 6px 9px;
    }

    .award-name {
        font-size: 20px;
    }

    .award-box-bg {
        padding: 30px;
    }
}

.timeline {
    background: url(../images/timeline.jpg);
    background-position: center center;
    background-repeat: repeat;
    background-size: cover;
    height: 315px;
    border-radius: 10px;
    position: relative;
}

.timeline:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /* background: rgb(44 44 44 / 50%); */
    border-radius: 10px;
}

.rewardtabcontent {
    background: #fff;
}

.timeline-detail {
    position: relative;
}

.timeline-detail .owl-carousel .owl-dots {
    display: none;
}

.timeline-label {
    margin-top: 30px;
    margin-left: 30px;
    color: #fff;
    font-size: 24px;
    text-transform: capitalize;
    background: #76c14d;
    display: inline-block;
    padding: 10px 30px;
    border-radius: 22px;
    margin-bottom: 30px;
}

.timeline-media {
    display: inline-block;
    margin-bottom: 30px;
    position: relative;
}

.timeline-media img {
    width: 60px;
    display: inline-block;
    background: #fff;
    padding: 10px;
    border-radius: 100%;
    position: relative;
    opacity: 0;
}

.timeline-item {
    cursor: move;
}

.timeline-item .item.active .timeline-media img {
    opacity: 1;
}

.timeline-item .item.active .time-line-check i,
.timeline-item .item.active .time-line-lock {
    display: none;
}

.timeline-item .item.active .time-line-check {
    width: 25px;
    height: 25px;
    transform: translateY(4px);
}

.timeline-media:before {
    bottom: -30px;
    left: 50%;
    border: solid #0a538d;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgb(255, 193, 77, 0);
    border-top-color: #fff;
    border-width: 18px;
    margin-left: -18px;
    opacity: 0;
    transition: none;
}

.timeline-item .item.active .timeline-media:before {
    opacity: 1;
}

.time-line-check {
    display: inline-block;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: #76c14d;
    color: #fff;
    border-radius: 100%;
}

.time-line-lock {
    color: #76c14d;
    font-size: 28px;
    line-height: 36px;
}

.timeline-number {
    color: #fff;
    font-size: 24px;
    line-height: 32px;
}

.timeline-overflow {
    overflow-x: auto;
}

.timeline-item:before {
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 48px;
}

.timeline-item .item.check .time-line-lock,
.timeline-item .item.lock .time-line-check {
    display: none;
}

@media(max-width:1399px) {
    .timeline-media:before {
        bottom: -28px;
    }

    .ranklist li {
        color: #2c2c2c;
        font-size: 22px;
        font-weight: 500;
        width: 14% !important;
        text-align: center;
    }
}


@media(max-width:1199px) {

    .timeline {
        margin-top: 30px;
    }


    .ranklist li:nth-of-type(2) {
        width: 24%;
    }
}

@media(max-width:1022px) {
    .ranklist li:nth-of-type(1) {
        padding-left: 0;
    }

    .ranklist li:nth-of-type(2) {
        width: 30%;
    }

    .ranklist li {
        font-size: 18px;

    }
}

@media(max-width: 767px) {

    .timeline-item {
        width: 845px;
    }

    .timeline-item .item {
        display: inline-block;
    }

    .timeline-overflow {
        overflow-x: auto;
    }

    .ranklist li:nth-of-type(3) {
        width: 20%;
    }

}

@media(max-width: 699px) {
    .rewardmain .comon-box {
        padding: 30px 15px;
    }

    .participate-slide {
        overflow: auto;
    }

    .ranklist-bg {
        border-radius: 5px;
        padding: 5px;
        border: 1px solid #d7ece7;
        min-height: 56px;
    }

    .slide-content {
        width: 700px;
    }

}

@media(max-width: 479px) {
    .rewardmain .pt-button {
        font-size: 20px;

    }

}

@media(max-width: 320px) {
    .rewardmain .pt-button {
        font-size: 16px;

    }

    .rewardmain .button-group .pt-button {
        padding: 10px;
    }

}


.bg1 {
    background: #7ac254;
}

.bg2 {
    background: #8e1b6c;
}

.bg3 {
    background: #f58321;
}

.bg4 {
    background: #8cd0c1;
}

.bg5 {
    background: #ee353a;
}

.bg6 {
    background: #fbae1c;
}

.rewardmain .select2.select2-container {
    width: 100% !important;
}

#congratulation .modal-header {
    border: none;
}

#congratulation .modal-header .close {
    border: none;
    font-size: 36px;
    background: transparent;
    position: absolute;
    right: 10px;
    top: 14px;
}

#congratulation .modal-dialog {
    max-width: 350px;
    text-align: center;
}

#congratulation .modal-body h3 {
    margin: 0;
    font-size: 26px;
}

#congratulation .modal-body img {
    height: 200px;
    margin-bottom: 10px;
}

#congratulation .modal-body p {
    margin-bottom: 15px;
}

.modal-open {
    overflow: hidden;
}

.modal-open .modal {
    overflow: hidden;
}

#congratulation .modal-dialog .pt-button {
    width: auto;
    padding: 10px 30px;
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 400;

}

.form-control {
    background-color: #cef5b9 !important;
    /* border: 1px #76c04d solid; */
    border-bottom: 5px solid #76c04d;
}

.select2-container--default .select2-selection--single {
    background-color: #cef5b9 !important;
    border: 1px #76c04d solid;
}


.profile-header {
    background: #fff;
    width: 100%;
    display: flex;
    /* height: 190px; */
    position: relative;
    box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.2);
    padding: 20px 10px;
}

.profile-img {
    float: left;
    width: 340px;
    height: 200px;
}

.profile-img img {
    border-radius: 50%;
    height: 230px;
    width: 230px;
    border: 5px solid #fff;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    left: 50px;
    top: 20px;
    z-index: 5;
    background: #fff;
}

.profile-nav-info {
    float: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* padding-top: 20px; */
}

.profile-nav-info h3 {
    font-variant: small-caps;
    font-size: 2rem;
    font-family: sans-serif;
    font-weight: bold;
}

.profile-nav-info .address {
    display: flex;
    font-weight: bold;
    color: #777;
}

.profile-nav-info .address p {
    margin-right: 5px;
}

.profile-option {
    width: 40px;
    height: 40px;
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    outline: none;
    background: #e40046;
}

.profile-option:hover {
    background: #fff;
    border: 1px solid #e40046;
}

.profile-option:hover .notification i {
    color: #e40046;
}

.profile-option:hover span {
    background: #e40046;
}

.profile-option .notification i {
    color: #fff;
    font-size: 1.2rem;
    transition: all 0.5s ease-in-out;
}

.profile-option .notification .alert-message {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #fff;
    color: #e40046;
    border: 1px solid #e40046;
    padding: 5px;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8rem;
    font-weight: bold;
}

.main-bd {
    width: 100%;
    display: flex;
    padding-right: 15px;
}

.profile-side {
    width: 300px;
    background: #fff;
    box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2);
    padding: 90px 30px 20px;
    font-family: "Bree Serif", serif;
    margin-left: 10px;
    z-index: 99;
}

.profile-side p {
    margin-bottom: 7px;
    color: #333;
    font-size: 20px;
}

.profile-side p i {
    color: #e40046;
    margin-right: 10px;
}

.mobile-no i {
    transform: rotateY(180deg);
    color: #e40046;
}

button.chatbtn,
button.createbtn {
    border: 0;
    padding: 10px;
    width: 100%;
    border-radius: 3px;
    background: #76c14d;
    color: #fff;
    font-family: "Bree Serif";
    font-size: 1rem;
    margin: 5px 2px;
    cursor: pointer;
    outline: none;
    margin-bottom: 10px;
    transition: background 0.3s ease-in-out;
    box-shadow: 0px 5px 7px 0px rgba(0, 0, 0, 0.3);
}

button.chatbtn:hover,
button.createbtn:hover {
    background: rgba(288, 0, 70, 0.9);
}

button.chatbtn i,
button.createbtn i {
    margin-right: 5px;
}

.user-rating {
    display: flex;
}

.user-rating h3 {
    font-size: 2.5rem;
    font-weight: 200;
    margin-right: 5px;
    letter-spacing: 1px;
    color: #666;
}

.user-rating .no-of-user-rate {
    font-size: 0.9rem;
}

.rate {
    padding-top: 6px;
}

.rate i {
    font-size: 0.9rem;
    color: rgba(228, 0, 70, 1);
}

.nav {
    width: 100%;
    z-index: -1;
}

.nav ul {
    display: flex;
    justify-content: space-around;
    list-style-type: none;
    height: 40px;
    background: #fff;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
}

.nav ul li {
    padding: 10px;
    width: 100%;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s ease-in-out;
}

.nav ul li:hover,
.nav ul li.active {
    box-shadow: 0px -3px 0px #76c04d inset;
}

.profile-body {
    width: 100%;
    z-index: -1;
}

.tab {
    display: none;
}

.tab {
    /* padding: 20px; */
    width: 100%;
}

@media (max-width: 1100px) {
    .profile-side {
        width: 250px;
        padding: 90px 15px 20px;
    }

    .profile-img img {
        height: 200px;
        width: 200px;
        left: 50px;
        top: 50px;
    }

    .font {
        font-size: 14px !important;
    }
}

@media (max-width: 900px) {

    .profile-header {
        display: flex;
        height: 100%;
        flex-direction: column;
        text-align: center;
        padding-bottom: 20px;
    }

    .profile-img {
        float: left;
        width: 100%;
        height: 200px;
    }

    .profile-img img {
        position: relative;
        height: 200px;
        width: 200px;
        left: 0px;
    }

    .profile-nav-info {
        text-align: center;
    }

    .profile-option {
        right: 20px;
        top: 75%;
        transform: translateY(50%);
    }

    .main-bd {
        flex-direction: column;
        padding-right: 0;
    }

    .profile-side {
        width: 100%;
        text-align: left;
        padding: 20px;
        margin: 5px 0;
    }

    .profile-nav-info .address {
        justify-content: center;
    }

    .user-rating {
        justify-content: center;
    }
}

@media (max-width: 400px) {
    .profile-option {
        width: 30px;
        height: 30px;
        position: absolute;
        right: 15px;
        top: 83%;
    }

    .profile-option .notification .alert-message {
        top: -3px;
        right: -4px;
        padding: 4px;
        height: 15px;
        width: 15px;
        font-size: 0.7rem;
    }

    .profile-nav-info h3 {
        font-size: 1.9rem;
    }

    .profile-nav-info .address p,
    .profile-nav-info .address span {
        font-size: 0.7rem;
    }
}

#see-more-bio,
#see-less-bio {
    color: blue;
    cursor: pointer;
    text-transform: lowercase;
}

.tab h1 {
    font-family: "Bree Serif", sans-serif;
    display: flex;
    justify-content: center;
    margin: 20px auto;
}

/* Style for read-only input elements */
input[readonly] {
    background-color: #596969 !important;
    /* Light gray background */
    border: 1px solid #5a4c4c !important;
    /* Light gray border */
    color: white !important;
    /* Grayed-out text color */
    cursor: not-allowed !important;
    /* Prevent cursor change on hover */
}

/* Style for read-only select elements */
select[readonly] {
    background-color: #596969 !important;
    /* Light gray background */
    border: 1px solid #5a4c4c !important;
    /* Light gray border */
    color: white !important;
    /* Grayed-out text color */
    cursor: not-allowed !important;
    /* Prevent cursor change on hover */
}


/* ============ below CSS still includes another pages CSS even if pages names are written  ============ */
/* ============ Nav page CSS starts here ============ */

/* For WebKit browsers (Chrome, Safari) */
html {
    overflow-y: scroll !important;
}

/* For Firefox */
html {
    scrollbar-width: thin !important;
    /* or 'auto' to always show it */
    scroll-behavior: smooth !important;
}

.sidebar-nav ul li {
    /* border-bottom: 0.5px solid white !important; */
    border-bottom: 0.5px solid rgb(255 255 255 / 30%) !important
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: #000000 !important;
    border: 1px solid #76c14d;
    background-color: white;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #76c14d));
    background: -webkit-linear-gradient(top, #fff 0%, #76c14d 100%);
    background: -moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);
    background: -ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);
    background: -o-linear-gradient(top, #fff 0%, #dcdcdc 100%);
    background: linear-gradient(to bottom, #76c14d 0%, #76c14d 100%);
}

.dataTables_wrapper .dataTables_length select {
    padding: 9px !important;
}

.dropdown-toggle {
    color: white !important;
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

body {
    font-family: 'Noto Sans Devanagari', sans-serif;
    /* height: 150vh !important; */
    /* overflow-y: auto !important; */
}

.container-fluid {
    min-height: 100vh !important;
    /* Ensure the container takes up at least the full viewport height */
}

.mobprofile {
    margin-left: 0% !important;
}

.sidebar-nav ul li {
    margin-bottom: 8px !important;
}

.nav-item {
    margin-right: 0px !important;
}

#userName {
    font-size: 12px;
    text-align: center;
    background-color: #86bb62;
    color: #ffffff;
    padding: 5px;
}

/* ============ Nav page CSS ends here ============ */


/* ============ Home page CSS starts here ============ */
.tooltip {
    position: relative;
    display: inline-block;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 140px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: 150%;
    left: 50%;
    margin-left: -75px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}

.outer-box {
    position: relative;
    background-color: #f0f0f0;
    /* Set background color */
    border-radius: 20px;
    /* Set border radius for outer box */
    padding: 20px;
    /* Add padding as needed */
}

.inner-box {
    background-color: #fff;
    /* Set background color for inner box */
    border-radius: 15px;
    /* Set border radius for inner box */
    padding: 15px;
    /* Add padding as needed */
}

.image-container {
    text-align: center;
    /* Center the image */
    margin-top: 20px;
    /* Add margin as needed */
}

.image-container img {
    max-width: 100%;
    /* Make sure the image is responsive */
    border-radius: 10px;
    /* Set border radius for the image */
}

#lfw_home_header {
    height: 100%;
    padding: 30px;
}

.chatbtn {
    animation: blink 1s infinite;
    background-color: red !important;
    padding: 4px !important;
}

.list {
    display: grid;
    grid-template-columns: 1fr 4fr 1fr;
    grid-template-rows: auto;
    background-color: white;
    border: 5px solid #76c14d;
    border-radius: 10px;
    margin: 5px auto;
    /* box-shadow: 4px 4px 1px darkseagreen;*/
}

.list>figure {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    margin-bottom: 0;
}

.list h5 {
    font-size: 18px;
}

.list p .material-symbols-outlined {
    vertical-align: middle;
    margin-bottom: 5px;
}

.list:hover {
    border: 5px solid;
}

.icon-array {
    animation: blink 1s infinite;
}

/* ============ HOme page CSS ends here ============ */



/* ============ allstudent page CSS starts here ============ */

.tabs {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

.tab-header {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    background-color: #f1f1f1;
    /* border-bottom: 1px solid #ddd; */
    padding: 10px;
}

.tab-link {
    flex: none;
    padding: 14px 16px;
    text-align: center;
    cursor: pointer;
    background-color: inherit;
    border: none;
    outline: none;
    transition: background-color 0.3s;
    white-space: nowrap;
    /* Ensures the text does not wrap */
}

.tab-link:hover {
    background-color: #ddd;
}

.tab-link.active {
    background-color: #76c14d;
}

.addnewstudent {
    /* background-color: #fd3f3f; */
    background-color: #2e82dd;
    border: none;
    color: white;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    /* cursor: pointer; */
    border-radius: 12px;
    /* transition: background-color 0.3s ease; */
}

.center-column {
    text-align: center;
}

/* ============ allstudent page CSS ends here ============ */



/* ============ testpreview page CSS starts here ============ */

#regForm {
    background-color: #ffffff;
    margin: 100px auto;
    font-family: Raleway;
    padding: 40px;
    width: 70%;
    min-width: 300px;
}

#prevBtn {
    background-color: #bbbbbb;
}

.step {
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbbbbb;
    border: none;
    border-radius: 50%;
    display: inline-block;
    opacity: 0.5;
}

.step.active {
    opacity: 1;
}

.step.finish {
    background-color: #4CAF50;
}

#quizimg>div>div.note-editing-area>div.note-editable>p {
    font-size: 17px;
}

.rightMarks {
    background-color: #3cb33c;
    color: white;
    padding: 2px;
}

.wrongMarks {
    background-color: #f17878;
    color: white;
    padding: 2px;
}

.error-highlight {
    outline: 2px solid red;
}

/* ============ testpreview page CSS ends here ============ */



/* ============ library page CSS starts here ============ */

.student-selector-wrapper {
    width: 100%;
    /* max-width: 900px; */
    margin-bottom: 25px;
    padding: 20px;
    /* background: linear-gradient(to right, #f3f9ff, #dfefff); */
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    overflow-x: auto;
    background: linear-gradient(272deg, rgb(120 193 078), rgb(165 207 076));
}

.student-selector {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.student-selector label {
    display: flex;
    align-items: center;
    padding: 12px 18px;
    border: 2px solid #c9dfff;
    border-radius: 14px;
    cursor: pointer;
    background: #ffffff;
    font-weight: 600;
    transition: 0.3s ease-in-out;
    gap: 12px;
    box-shadow: 0 4px 10px rgba(59, 130, 246, 0.05);
    min-width: 155px;
    flex-shrink: 0;
}

.student-selector label:hover {
    background: #edf4ff;
    border-color: #3b82f6;
    transform: scale(1.02);
}

.student-selector input[type="radio"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid #999;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
}

.student-selector input[type="radio"]:checked {
    border-color: #3b82f6;
    background-color: #3b82f6;
}

.student-selector input[type="radio"]::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 6px;
    height: 6px;
    background-color: white;
    border-radius: 50%;
    display: none;
}

.student-selector input[type="radio"]:checked::before {
    display: block;
}

.student-selector i {
    font-size: 22px;
    color: #3b82f6;
}

#library-head>h5,
#library-head>h6 {
    color: blue;
    font-family: 'Georgia', serif;
    font-weight: bold;
    letter-spacing: 1px;
}

.filter-btns {
    padding: 12px 18px;
    border: 2px solid #c9dfff;
    border-radius: 8px;
    cursor: pointer;
    background: #ffffff;
    font-weight: 600;
}

.library-filters {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
}

/* for tablet  */
@media only screen and (min-width:480px) and (max-width:768px) {
    .student-selector {
        display: grid;
        gap: 20px;
        justify-content: center;
        grid-template-rows: auto;
        grid-template-columns: repeat(3, auto);
    }

    #library-head>h6 {
        font-size: 11px !important;
    }
}

/* for mobile  */
@media only screen and (max-width:480px) {
    #library-head {
        /* color: #8E1B6B; */
        margin: 5px auto !important;
        /* font-size: 22px;
        line-height: 24px; */
    }


    .student-selector {
        display: grid;
        gap: 5px;
        grid-template-rows: auto;
        grid-template-columns: repeat(3, auto);
    }


    .student-selector label {
        padding: 5px;
        gap: 5px;
        min-width: 85px;
        font-size: 12px;
    }


    .student-selector-wrapper {
        margin-bottom: 15px;
        padding: 5px;
    }

    #library-head>h6 {
        font-size: 11px !important;
    }

    .filter-btns {
        padding: 5px !important;
        font-weight: 600;
        font-size: 12px;
    }

    .library-filters {
        display: grid !important;
        gap: 5px !important;
        grid-template-rows: auto;
        grid-template-columns: auto auto auto;
        padding: 5px;
        justify-content: normal !important;
        justify-items: stretch;
        align-items: stretch;
    }

    /* common heading CSS for all pages */
    .heading-text{
        font-size: 18px !important;
        border-left: 4px solid #a3c67d;
    }
}

/* ============ library page CSS ends here ============ */



/* ============ Login, message, and student login page CSS ============ */
.language-filter {
    text-align: right;
    margin-bottom: 10px;
    margin-top: 10px;
}
/* ============ Login, message, and student login page CSS ============ */

.heading-text{
    font-size: 20px;
    border-left: 6px solid #a3c67d;
    padding-left: 10px !important;
    color: dimgrey !important;
    margin: 10px 0 16px 5px;
}

/* -------------------------all profile page CSS------------------ */        
#profile-page th {
    background-color: #76c14d;
    padding: 12px;
    color: white;
}

#profile-page td {
    background-color: white;
    padding: 12px;
}

#profile-page tr {
    margin: 5px;
    border-bottom: 2px solid;
}

.profile-grid {            
    display: grid;
    /* grid-template-columns: 1fr 5fr 1fr; */
    grid-template-columns: 5fr 1fr;
    gap: 20px;
    align-items: center;
    padding: 15px;
    margin-bottom: 18px;
    background-color: #fff;
    box-shadow:0 9px 24px rgba(60, 90, 60, 0.08);
    border-radius: 22px;
}

.edit-btn {
    border: none;
    background: linear-gradient(180deg, var(--green), var(--green-dark));
    color: #fff;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 16px rgba(79, 147, 68, 0.22);
}

.avatar {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: linear-gradient(180deg, #f7faf6, #edf5eb);
    border: 2px solid #d6e8d2;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;            
}

.avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}        

.user-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 24px;
    margin-bottom: 12px;
    font-size: 17px;
}

.meta-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #2b382b;
    font-size: 17px;
}

.content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 18px;
}

.students-header {
    background: linear-gradient(90deg, rgb(120 193 078), rgb(165 207 076));
    color: #fff;
    padding: 18px 24px;
    font-size: 22px;
    font-weight: 700;
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
}

.students-table {
    width: 100%;
    border-collapse: collapse;
}

.students-table th,
.students-table td {
    padding: 18px 22px;
    font-size: 18px;
    border: 1px solid var(--line);
    text-align: center;
}

.students-table thead th {
    background: #f4f8f2 !important;
    color: #2c4829 !important;
    font-size: 18px;
    font-weight: 700;
}           

.profile-grid .chatbtn{width: 50% !important;}

@media (max-width: 480px) {
    .content-grid {
        grid-template-columns: 1fr;
    }

    .profile-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 5px;
    }
    
    .students-table th,
    .students-table td {
        padding: 5px;
        font-size: 15px;
    }
    
    .students-header {
        font-size: 19px;
        padding: 10px 24px;
    }

    .user-meta{
        display: grid;
        justify-content: center;
    }

    .edit-btn{
        padding: 5px 15px;
        font-size: 15px;
    }

    .chatbtn{width: 100% !important;}
}

/* --------------certification, quizes, allstudents, story/live session Table CSS------------- */
#custom-table tbody,
#custom-table td,
#custom-table th,
#custom-table thead,
#custom-table tr {
    border-width: 1px !important;
}

#custom-table table.dataTable {
    border-collapse: collapse;
}

#custom-table table.dataTable thead .sorting,
#custom-table table.dataTable thead .sorting_asc,
#custom-table table.dataTable thead .sorting_desc {
    background-image: url("");
}    

#custom-table th {
    white-space: nowrap !important;
}

#custom-table th, #custom-table td {
    padding: 5px !important;
}

#custom-table table>thead {
    background-color: #76c14d !important;
}

#custom-table table tbody tr {
    background-color: #ECFAE5 !important;
}                  

#custom-table .tab-content {
    display: none;
    animation: fadeEffect 0.5s;
}               

@keyframes fadeEffect {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Media query for mobile view */
@media (max-width: 600px) {
    #custom-table .tab-link {
        width: auto;
        /* Allows the width to be based on content */
    }
}

#custom-table table>thead {
    background-color: #76c14d !important;
}


/* ---------------HOME page CSS --------------- */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  background:#f3f5f1;
  font-family:sans-serif;
}

.tsm_mobile_container{
  width:100%;
  /* max-width:420px; */
  margin:auto;
  /* padding:14px; */
}


/* ========================= */
/* WELCOME */
/* ========================= */

.tsm_welcome_wrap{
  background:#86bb62;  
  padding:10px;
  color:#fff;
}

.tsm_welcome_top{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content: space-between;
}

.tsm_user_img{
  width:60px;
  height:60px;
  border-radius:50%;
  object-fit:cover;
  background:#fff;
}

.tsm_welcome_text p{
  font-size:12px;
  margin: 0;
}

.tsm_badge_card{
  background:#fff;
  color:#222;
  border-radius:14px;
  padding:3px;
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:12px;
}

.tsm_badge_card img{
  width:50px;
  height:50px;
  object-fit:contain;
}

.tsm_badge_card p{
  font-size:14px;
  margin-bottom:0px;
}

.tsm_badge_card span{
  color:#1f8f42;
  font-weight:700;
}


/* ========================= */
/* STAGE */
/* ========================= */
.tsm_stage_wrap{
  /* background:#f7f8f4; */
  border-radius:18px;
  padding:14px;
  /* max-width:420px; */
  margin:auto;
}

.tsm_stage_heading{
  font-size:20px;
  margin-bottom:16px;
  color:#222;
}


/* ========================= */
/* STAGE ROW */
/* ========================= */

.tsm_stage_row{
  background:#fff;
  border-radius:14px;
  padding:8px 10px;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  /* text-decoration:none;
  color:inherit; */
}

.tsm_stage_left{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1;
}

.tsm_stage_left span{
  font-size:15px;
  font-weight:600;
  color:#222;
}


/* ========================= */
/* ICONS */
/* ========================= */

.tsm_stage_icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  color:#fff;
  flex-shrink:0;
}

.tsm_green_bg{
  background:#47b04b;
}

.tsm_purple_bg{
  background:#a27be8;
}

.tsm_orange_bg{
  background:#f6a623;
}


/* ========================= */
/* RIGHT */
/* ========================= */

.tsm_stage_right{
  display:flex;
  align-items:center;
  gap:8px;
}

.tsm_points_wrap{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
}

.tsm_green_text{
  color:#1f9d46;
  font-weight:700;
}

/* .tsm_red_text{
  color:#ff4d4d;
  font-weight:700;
} */

.tsm_orange_text{
  color:#f39c12;
  /* font-size:13px; */
  font-weight:700;
}

.tsm_points_wrap p{
  font-size:13px;
  color:#555;
  margin: 0;
}

.tsm_link_text{
  color:#1f9d46;
  font-size:14px;
  font-weight:700;
}


/* ========================= */
/* NEXT ICON */
/* ========================= */

.tsm_next_icon{
  font-size:28px;
  color:#444;
  line-height:1;
}


/* ========================= */
/* STATUS ICON */
/* ========================= */

.tsm_status_icon{
  width:22px;
  height:22px;
  object-fit:contain;
}


.tsm_reward_journey_wrap{
  background:linear-gradient(180deg,#f4fbf5 0%,#ffffff 45%);
  border:1px solid #e6f3e8;
  border-radius:18px;
  padding:18px 20px;
  margin:8px 0;
  box-shadow:0 4px 16px rgba(31,143,66,.08);
}

.tsm_reward_top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  /* gap:10px; */
  margin-bottom:20px;
}

.tsm_reward_top h6{
  font-size:17px;
  font-weight:700;
  /* margin-bottom:4px; */
}

.tsm_reward_top p{
  color:#1f8f42;
  font-weight:700;
  font-size:14px;
  margin:6px;
  margin-top: 0;
}

.tsm_reward_target{
  background:linear-gradient(135deg,#eef8ef,#dcf3e1);
  color:#1f8f42;
  padding:8px 14px;
  border-radius:20px;
  font-size:12px;
  font-weight:700;
  box-shadow:0 2px 6px rgba(31,143,66,.12);
  white-space:nowrap;
}

/* ===================================== */
/* REWARDS OVERVIEW */
/* ===================================== */

/* .tsm_rewards_section{
  max-width:1200px;
} */

.tsm_reward_card{
  background:#fff;
  border-radius:18px;
  padding:20px 12px;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  height:100%;
}

.tsm_icon_box{
  width:58px;
  height:58px;
  margin:auto;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  /* margin-bottom:14px; */
}

.tsm_reward_card h6{
  font-size:14px;
  /* margin-bottom:8px; */
  color:#555;
}

.tsm_reward_card h3{
  color:#1f8f42;
  font-weight:700;
  /* margin-bottom:4px; */
}

.tsm_reward_card p{
  font-size:13px;
  color:#777;
  margin:0;
}

.tsm_view_btn{
  color:#1f8f42;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
}


/* ICON COLORS */

.bg-purple{
  background:#efe5ff;
}

.bg-orange{
  background:#fff1de;
}

.bg-green{
  background:#e7f8ea;
}

.bg-blue{
  background:#e4f0ff;
}


/* ====================================== */
/* GREAT SECTION */
/* ====================================== */

.tsm_great_wrap{
  /* background:#eef8ef;
  border-radius:18px; */
  padding:5px;
  margin-top:10px;
  gap: 8px;
  display:flex;
  align-items:center;
  justify-content: space-evenly;
}

/* .tsm_great_left{
  flex-shrink:0;
} */

.tsm_trophy_img{
  width:95px;
  height:auto;
  object-fit:contain;
}

/* .tsm_great_right{
  flex:1;
} */

.tsm_great_right h3{
  font-size:20px;
  margin-bottom:6px;
  color:#1f8f42;
}

.tsm_great_right p{
  font-size:13px;
  color:#555;
  line-height:1.5;
}

.tsm_great_points{
  margin-top:12px;
  color:#d98c00;
  font-weight:700;
  font-size:14px;
}

.tsm_reward_btn{
  margin-top:14px;
  border:none;
  background:#1f8f42;
  color:#fff;
  padding:11px 16px;
  border-radius:12px;
  width:100%;
  font-size:14px;
  font-weight:600;
}


/* ====================================== */
/* MOBILE */
/* ====================================== */

@media(max-width:480px){

  /* .tsm_reward_top{
    flex-direction:column;
  } */

  .tsm_reward_item{
    width:60px;
  }

  .tsm_reward_circle{
    width:42px;
    height:42px;
    font-size:18px;
  }

  .tsm_reward_item span{
    font-size:11px;
  }

  .tsm_reward_item small{
    font-size:10px;
  }

  .tsm_great_wrap{
    flex-direction:column;
    text-align:center;
  }

  .tsm_trophy_img{
    width:85px;
  }

}


/* ========================= */
/* MOBILE */
/* ========================= */

@media(max-width:480px){

  .tsm_reward_card{ padding:10px; }

  .tsm_reward_card h3{
    font-size:20px;
  }

  .tsm_stage_bottom{
    flex-direction:column;
    align-items:flex-start;
  }

}

/* ====================================== */
/* JOURNEY LINE */
/* ====================================== */

/* Horizontal scroller: the line itself grows past 100% (via --count on
   .tsm_reward_line_wrap) once there are enough milestones that fixed-size
   circles + labels would collide on a narrow screen. On desktop --count
   never pushes past 100%, so no scrollbar appears; on phones the row
   scrolls sideways instead of crushing labels together. */
.tsm_reward_scroll{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#bfe3c8 transparent;
}

.tsm_reward_scroll::-webkit-scrollbar{
    height:6px;
}

.tsm_reward_scroll::-webkit-scrollbar-thumb{
    background:#bfe3c8;
    border-radius:20px;
}

/* Only rendered in HTML when there are enough gifts that the bar can
   actually overflow (see $giftCount > 3 in the blade), and only shown
   below desktop width — the scrollbar itself is enough of a hint on a
   mouse-driven layout, but easy to miss as a swipe affordance on touch. */
.tsm_reward_scroll_hint{
    display:none;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:6px;
    font-size:12px;
    font-weight:600;
    color:#1f8f42;
}

@media(max-width:768px){
    .tsm_reward_scroll_hint{
        display:flex;
    }
}

.tsm_reward_line_wrap{
    /* --edge = half the milestone circle's item box (90px). The track
       line, its fill, the milestone circles, AND the "you are here"
       marker all position off this ONE variable, so a point at a given
       fraction always lands in the same spot for every one of them —
       the marker lines up exactly under a milestone when the user's
       points match a gift, instead of using its own half-width (the
       avatar is smaller than a milestone circle) and drifting off from
       where the line/circles actually are. Reserving --edge as real
       space on each end via calc() also keeps every one of them fully
       inside the track at any width — instead of the old fixed
       "left:3%" that clipped the first milestone off-screen (and
       unreachable, since the horizontal scroller can't scroll past its
       own content start) on narrow phones. Overridden with a smaller
       value in the mobile media query below; every descendant here
       picks that up automatically since custom properties inherit. */
    --edge: 45px;
    position:relative;
    width:100%;
    min-width:max(100%, calc(var(--count, 4) * 110px));
    min-height:190px;
    padding:70px 20px 40px;
}

.tsm_reward_line{
    position:absolute;
    top:82px;
    left:var(--edge);
    right:var(--edge);
    height:6px;
    background:#eef1ee;
    border-radius:20px;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.06);
    z-index:0;
}

.tsm_reward_line_active{
    position:absolute;
    top:82px;
    left:var(--edge);
    width:0%;
    height:6px;
    background:linear-gradient(90deg,#5fc26f,#1f8f42);
    border-radius:20px;
    box-shadow:0 0 10px rgba(31,143,66,.5);
    z-index:1;
    /* Slow, deliberate fill on first load instead of a quick snap — the
       "your journey so far" reveal reads better stretched out. */
    transition:width 1.8s ease-out;
}

.tsm_reward_item{
    position:absolute;
    top:58px;
    z-index:2;
    width:90px;
    margin-left:calc(var(--edge) * -1);
    text-align:center;
    opacity:0;
}

/* Milestones pop in one after another (animation-delay set per item
   inline, from the blade @foreach index) instead of all appearing at
   once — reads as the journey being laid out step by step. Kept out of
   the base rule and re-declared here so a reduced-motion user still ends
   up with every milestone fully visible (opacity:0 above only, no
   animation to bring it back to 1) rather than a page full of invisible dots. */
@media (prefers-reduced-motion: no-preference){
    .tsm_reward_item{
        animation:tsmItemIn .5s ease both;
    }
}

@media (prefers-reduced-motion: reduce){
    .tsm_reward_item{
        opacity:1;
    }
}

@keyframes tsmItemIn{
    from { opacity:0; transform:translateY(10px) scale(.75); }
    to   { opacity:1; transform:translateY(0) scale(1); }
}

.tsm_reward_circle{
    width:46px;
    height:46px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto;
    font-size:20px;
    position:relative;
    z-index:2;
    box-shadow:0 3px 8px rgba(0,0,0,.12);
    transition:transform .2s;
}

.tsm_reward_item:hover .tsm_reward_circle{
    transform:translateY(-2px);
}

.tsm_reward_done{
    border:3px solid #1f8f42;
    background:linear-gradient(135deg,#eafbee,#d3f3da);
    box-shadow:0 3px 10px rgba(31,143,66,.3);
}

.tsm_reward_current{
    border:3px solid #ff9800;
    background:#fff8ef;
    box-shadow:0 3px 10px rgba(255,152,0,.35);
}

@media (prefers-reduced-motion: no-preference){
    .tsm_reward_current{
        animation:tsmRewardPulse 1.8s infinite;
    }
}

@keyframes tsmRewardPulse{
    0%   { box-shadow:0 0 0 0 rgba(255,152,0,.45); }
    70%  { box-shadow:0 0 0 10px rgba(255,152,0,0); }
    100% { box-shadow:0 0 0 0 rgba(255,152,0,0); }
}

.tsm_reward_locked{
    border:3px solid #ccc;
    background:#f3f3f3;
    opacity:.75;
}

.tsm_reward_icon{
    display:inline-block;
    transform-origin:50% 75%;
}

/* The 🎁 on the next gift the user can actually reach wiggles like it's
   asking to be opened — a second, more eye-catching cue on top of the
   circle's own pulse ring, and only ever on the one "current" milestone
   so the bar doesn't turn into a wall of moving parts. Rotation only —
   no scale — so the icon never changes size, just tilts in place. */
@media (prefers-reduced-motion: no-preference){
    .tsm_reward_current .tsm_reward_icon{
        animation:tsmGiftWiggle 1.8s ease-in-out infinite;
    }

    /* The ✅ gets one quick settle-in bounce (position only, no scale)
       instead of a continuous loop — an unlocked gift doesn't need to
       keep asking for attention. The .3s delay lets the circle itself
       finish fading/scaling in first (see .tsm_reward_item's own
       staggered entrance) before the checkmark bounces. */
    .tsm_reward_done .tsm_reward_icon{
        animation:tsmGiftSettle .5s ease-out .3s both;
    }
}

@keyframes tsmGiftWiggle{
    0%, 100% { transform:rotate(0deg); }
    20%      { transform:rotate(-14deg); }
    40%      { transform:rotate(11deg); }
    60%      { transform:rotate(-7deg); }
    80%      { transform:rotate(4deg); }
}

@keyframes tsmGiftSettle{
    0%   { transform:translateY(-8px); }
    60%  { transform:translateY(2px); }
    100% { transform:translateY(0); }
}

.tsm_reward_item span{
    display:block;
    margin-top:6px;
    font-size:13px;
    font-weight:700;
}

.tsm_reward_item small{
    color:#777;
    font-size:11px;
}

.tsm_location_pin{
    position:absolute;
    top:-55px;
    left:50%;
    transform:translateX(-50%);
    width:42px;
    text-align:center;
    z-index:5;
}

.tsm_location_pin img{
    width:42px;
    height:42px;
    object-fit:contain;
    display:block;
}

.tsm_user_pts{
    font-size:12px;
    font-weight:700;
    color:#1f8f42;
    margin-top:2px;
    white-space:nowrap;
    position:relative;
    left:50%;
    transform:translateX(-50%);
}

.tsm_user_marker{
    position:absolute;
    top:5px;
    left:0;
    transform:translateX(-50%);
    z-index:10;
    text-align:center;
    /* left is set inline by JS after DOMContentLoaded (see script below) —
       transitioning it here is what makes the avatar glide into place
       along the track instead of snapping straight there, in step with
       the fill line's own slow 1.8s reveal. */
    transition:left 1.8s ease-out;
}

.tsm_user_marker img{
    width:42px;
    height:42px;
    object-fit:cover;
    display:block;
    margin:auto;
    border-radius:50%;
    border:3px solid #fff;
    box-shadow:0 0 0 3px #1f8f42, 0 4px 10px rgba(0,0,0,.25);
}

/* Small idle bob so "you are here" keeps drawing the eye after the slide
   settles, without being distracting. */
@media (prefers-reduced-motion: no-preference){
    .tsm_user_marker img{
        animation:tsmMarkerBob 2.2s ease-in-out infinite;
    }
}

@keyframes tsmMarkerBob{
    0%, 100% { transform:translateY(0); }
    50%      { transform:translateY(-4px); }
}

.tsm_user_pts{
    font-size:12px;
    font-weight:700;
    color:#fff;
    background:#1f8f42;
    margin-top:6px;
    padding:2px 10px;
    border-radius:12px;
    white-space:nowrap;
    box-shadow:0 2px 6px rgba(31,143,66,.4);
}

@media(max-width:480px){
    .tsm_reward_journey_wrap {margin: 15px 0; padding: 14px 12px; border-radius: 14px;}

    .tsm_reward_top {margin-bottom: 5px;}

    .tsm_reward_top h6 {font-size: 15px;}

    .tsm_reward_line_wrap {
        /* Half of the shrunken 70px item below — keeps the circles,
           line, and marker aligned and unclipped on narrow phones. */
        --edge: 35px;
        min-height: 140px;
        padding: 55px 20px 20px;
    }

    .tsm_reward_line {
        top: 60px;
    }

    .tsm_reward_line_active {
        top: 60px;
    }

    .tsm_user_marker {top: 0px;}

    .tsm_user_marker img {
        width: 30px;
        height: 30px;        
    }

    .tsm_user_pts {font-size: 11px;}

    .tsm_reward_item {
        top: 45px;
        width: 70px;        
    }

    .tsm_reward_circle {
        width: 35px;
        height: 35px;        
        font-size: 17px;        
    }

    .tsm_reward_item span {
        margin-top: 3px;
        font-size: 12px;
        margin-bottom: -3px;
    }

    .tsm_reward_item small {font-size: 10px;}
}