:root[data-theme="dark"] {
    --color-darkest: #181818;
    --color-darker: #1C1C1C;
    --color-dark: #202020;
    --color-dark-two: #383838;
    --color-light: #8A8A8A;
    --color-lighter: #78CFED;
    --color-lightest: #FFFFFF;

    --color-danger: #a70112;
    --color-danger-dark: #721c24;
    --color-success: #5dba06;
    --color-success-dark: #458a06;
}

:root[data-theme="blue"] {
    --color-darkest: #071F33;
    --color-darker: #0B2F4D;
    --color-dark: #0E3E66;
    --color-dark-two: #245376;
    --color-light: #7D9AAF;
    --color-lighter: #78CFED;
    --color-lightest: #FFFFFF;

    --color-danger: #a70112;
    --color-danger-dark: #721c24;
    --color-success: #5dba06;
    --color-success-dark: #458a06;
}

html, body {
    width: 100%;
    height: 100%;
    background-color: var(--color-darkest);
}

h1 {
    font-size: 26px;
}

@media (min-width: 991px) and (max-width: 1200px) {
    .container {
        max-width: 720px;
    }

    .container .row .col-xl-6 {
        max-width: 100%;
        flex: unset;
        text-align: center!important;
    }
}

#main-navbar {
    background-color: var(--color-dark);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    min-height: 70px;
}

.input-search, .input-search:focus {
    background-color: var(--color-darkest);
    color: var(--color-lighter);
    border-top: 1px solid var(--color-dark-two);
    border-bottom: 1px solid var(--color-dark-two);
    border-left: 1px solid var(--color-dark-two);
    border-right: none;
}

.input-search::placeholder {
    color: var(--color-light);
}

.input-search:focus {
    border: 1px solid var(--color-lighter);
}

.btn-search {
    background-color: var(--color-dark-two);
}

.btn-search > i {
    color: var(--color-light);
}

@media (max-width: 991px) {
    #searchForm {
        width: 100%;
    }
}

@media (min-width: 991px) {
    #searchForm {
        width: 50%;
    }
}

.dropdown-menu {
    left: -100px;
}

.dim {
    color: var(--color-light);
}

.highlight {
    color: var(--color-lighter);
}

.highlight.active {
    font-weight: bold;
}

.highlight:hover {
    color: var(--color-lighter);
}

.font-size-14 {
    font-size: 14px;
}

.alert-danger {
    color: var(--color-lightest);
    background-color: var(--color-danger);
    border-color: var(--color-danger-dark);
}

.alert-success {
    color: var(--color-lightest);
    background-color: var(--color-success);
    border-color: var(--color-success-dark);
}

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 10%;
}

.fa-active {
    color: var(--color-lighter);
}

.form-control, .form-control:focus {
    background-color: var(--color-darkest);
    color: var(--color-lighter);
    border: 1px solid var(--color-dark-two);
}

.form-control::placeholder {
    color: var(--color-light);
}

.form-control:focus {
    border: 1px solid var(--color-lighter);
}

.pointer:hover {
    cursor: pointer;
}

.text-lightest {
    color: var(--color-lightest);
}

.text-lightest:hover {
    color: var(--color-lightest);
}

.text-lighter {
    color: var(--color-lighter)
}

.required:after  {
    content: ' *';
    color: var(--color-danger);
}

.custom-control-label::before {
    background-color: var(--color-darkest);
    border: 1px solid var(--color-dark);
}

.custom-control-input:checked~.custom-control-label::before {
    color: var(--color-darkest);
    border-color: var(--color-lighter);
    background-color: var(--color-lighter);
}

.custom-radio .custom-control-input:checked~.custom-control-label::after {
    background-image: none;
}

.badge-primary {
    background-color: var(--color-lighter);
    color: var(--color-darkest);
}

.kst-beta {
    color: var(--color-danger);
    font-weight: bold;
    font-size: 14px;
}

.popular-tags a {
    margin-top: 3px;
}

/* ---------------------------------------------------
    PRELOADER
----------------------------------------------------- */
body.preloader-site {
    overflow: hidden;
}

.preloader-wrapper {
    height: 100%;
    width: 100%;
    background: var(--color-darkest);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
}

.preloader-wrapper .preloader {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.preloader-wrapper .preloader .spinner-border {
    width: 3rem;
    height: 3rem;
}

/* ---------------------------------------------------
    SIDEBAR STYLE
----------------------------------------------------- */

.wrapper {
    display: flex;
    width: 100%;
}

#sidebar {
    width: 250px;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    z-index: 999;
    background-color: var(--color-dark);
    color: var(--color-lightest);
    transition: all 0.3s;
    margin-top: 70px;
    box-shadow: 5px 0 5px -5px rgba(0, 0, 0, 0.1);
}

#sidebar.active {
    margin-left: -250px;
}

#sidebar a,
#sidebar a:hover,
#sidebar a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}

/*#sidebar .sidebar-header {*/
/*padding: 15px;*/
/*background: #1C1C1C;*/
/*}*/

#sidebar #mCSB_1:focus {
    outline: none;
}

#sidebar .sidebar-menu {
    padding: 10px 0;
    border-bottom: 1px solid var(--color-dark)
}

#sidebar .sidebar-menu li a {
    padding: 10px;
    font-size: 1.1em;
    display: block;
    border-right: 3px solid transparent;
}

#sidebar .sidebar-menu li a:hover {
    color: var(--color-lighter);
    border-right: 3px solid var(--color-lighter);
}

#sidebar .sidebar-menu li.active>a,
#sidebar a[aria-expanded="true"] {
    color: var(--color-lighter);
    border-right: 3px solid var(--color-lighter);
}

#sidebar a[data-toggle="collapse"] {
    position: relative;
}

#sidebar .dropdown-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

#sidebar .sidebar-menu ul a {
    font-size: 0.9em !important;
    padding-left: 30px !important;
    background: #6d7fcc;
}

#sidebar ul.CTAs {
    padding: 20px;
}

#sidebar ul.CTAs a {
    text-align: center;
    font-size: 0.9em !important;
    display: block;
    border-radius: 5px;
    margin-bottom: 5px;
}

#sidebar ul.feedback-link {
    position: absolute;
    top: 100%;
}

/*#sidebar a.download {*/
/*background: var(--color-lightest);*/
/*color: #7386D5;*/
/*}*/

#sidebar a.article,
#sidebar a.article:hover {
    background: #6d7fcc !important;
    color: var(--color-lightest) !important;
}

/* ---------------------------------------------------
    CONTENT STYLE
----------------------------------------------------- */

#sidebarCollapse {
    cursor: pointer;
}

#content {
    width: calc(100% - 250px);
    min-height: 100vh;
    transition: all 0.3s;
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 70px;
}

#content.active {
    width: 100%;
}

#content .navbar {
    background-color: var(--color-darker);
    padding: 3px 10px;
    border: none;
    border-radius: 0;
}

#content .navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

#content .line {
    width: 100%;
    height: 1px;
    border-bottom: 1px solid var(--color-dark-two);
    margin: 40px 0;
}

#content .heading {
    color: var(--color-lightest);
}

.kst-shadow {
    box-shadow: 5px 0 5px -5px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1328px) {
    #sidebar {
        margin-left: -250px;
    }
    #sidebar.active {
        margin-left: 0;
    }
    #content {
        width: 100%;
    }
    #content.active {
        width: calc(100% - 250px);
    }
    #sidebarCollapse span {
        display: none;
    }
}

/* ----------------------------------------------------
    BUTTONS
----------------------------------------------------- */

.btn-primary {
    background-color: var(--color-lighter);
    color: var(--color-dark-two);
    border: 1px solid var(--color-lighter);
    font-weight: bold;
    border-radius: .25rem;
}

.btn-primary:hover, .btn-primary[disabled] {
    background-color: transparent;
    color: var(--color-lighter);
    border: 1px solid var(--color-lighter);
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    color: var(--color-darker);
    background-color: var(--color-lighter);
    border-color: var(--color-lighter);
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    box-shadow: none;
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-lighter);
    border: 1px solid var(--color-lighter);
    font-weight: bold;
    border-radius: .25rem;
}

.btn-secondary:hover, .btn-secondary[disabled] {
    background-color: var(--color-lighter);;
    color: var(--color-dark-two);
    border: 1px solid var(--color-lighter);
}

.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
    color: var(--color-darker);
    background-color: var(--color-lighter);
    border-color: var(--color-lighter);
}

.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
    box-shadow: none;
}

.btn-kst {
    background-color: transparent;
    color: var(--color-lighter);
    border: 1px solid var(--color-lighter);
    border-radius: .25rem;
}

.btn-kst:hover {
    background-color: var(--color-lighter);
    color: var(--color-dark);
    border: 1px solid var(--color-lighter);
}

.btn-kst:not(:disabled):not(.disabled):active, .btn-kst:not(:disabled):not(.disabled).active,
.show > .btn-kst.dropdown-toggle {
    color: var(--color-dark);
    background-color: var(--color-lighter);
    border-color: var(--color-lighter);
}

.btn-kst:not(:disabled):not(.disabled):active:focus, .btn-kst:not(:disabled):not(.disabled).active:focus,
.show > .btn-kst.dropdown-toggle:focus {
    box-shadow: none;
}

.btn-active {
    background-color: var(--color-lighter);
    color: var(--color-dark);
}

.btn-vote-comment-active i {
    color: var(--color-lighter);
}

.load-more-replies {
    color: var(--color-lightest) !important;
}

.btn-check-limit {
    font-size: 30px;
}

.file-upload {
    cursor: pointer;
}

/**
    Comments
 */
.comment-box {
    margin-top: 30px !important;
}

.comment-box img {
    width: 50px;
    height: 50px;
}

.comment-box .media-left {
    width: 50px;
}

.comment-box .media-body p {
    padding: 10px;
    color: var(--color-lightest);
    word-break: break-word;
}

.comment-box .media-body .media p {
    margin-bottom: 0;
}

.comment-box .media-heading {
    color: var(--color-lightest);
    padding: 7px 10px;
    position: relative;
    margin-bottom: -1px;
}

.comment-box .media-heading a {
    color: var(--color-lightest);
    font-size: 18px;
}

.myComment {
    width: 99%;
    min-height: 50px;
    max-height: 300px;
    resize: vertical;
    background-color: var(--color-darkest);
    border: 1px solid var(--color-light);
    color: var(--color-lighter);
}

.myComment:focus {
    border: 1px solid var(--color-lighter);
    background-color: var(--color-darkest);
}

.myComment::placeholder {
    color: var(--color-light);
}

.btn-comment-up, .btn-comment-down {
    background-color: transparent;
    border: none;
    color: var(--color-lightest);
}

.btn-comment-up:hover, .btn-comment-up:hover,
.btn-comment-down:hover, .btn-comment-up:hover {
    color: var(--color-lighter);
}

.view-replies {
    color: var(--color-lightest);
    margin-left: 10px;
    padding: 10px 0;
}

/* file upload */

input[type="file"] {
    display: none;
}

.file-upload {
    width: 100%;
    background-color: var(--color-darkest);
    border: 1px solid var(--color-dark-two);
}

.file-upload:hover {
    color: var(--color-light);
}

/**
    Modal
 */
.modal-header {
    border-bottom: 1px solid var(--color-dark-two);
}

.modal-content {
    background-color: var(--color-darker);
    color: var(--color-lightest);
    padding: 20px;
}

.modal-footer {
    border-top: 1px solid var(--color-dark-two);
}

/**
    Pagination
 */

.page-link {
    background-color: var(--color-darkest);
    border-color: var(--color-lighter);
    color: var(--color-lighter);
}

.page-link:hover {
    background-color: var(--color-lighter);
    border-color: var(--color-lighter);
    color: var(--color-darkest);
}

.page-item.active .page-link {
    z-index: 1;
    color: var(--color-darkest);
    background-color: var(--color-lighter);
    border-color: var(--color-lighter);
}

.page-item.disabled .page-link {
    color: var(--color-lighter);
    background-color: var(--color-darkest);
    border-color: var(--color-lighter);
}

/**
    Back to top button
 */

#backToTop {
    display: inline-block;
    background-color: transparent;
    width: 25px;
    height: 25px;
    text-align: center;
    border-radius: 4px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    transition: background-color .3s,
    opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
}

#backToTop i {
    color: var(--color-lighter);
    font-size: 20px;
}
#backToTop:hover {
    cursor: pointer;
    background-color: transparent;
}
#backToTop:active {
    background-color: transparent;
}
#backToTop.show {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 500px) {
    #backToTop {
        right: 15px;
    }
}

/**
    ERRORS (404, 500, etc)
 */

.error-page {
    margin: 0 auto;
    width: 100%;
    text-align: center;
    text-shadow: 2px 2px #000;
    color: var(--color-dark-two);
    position: absolute;
    top: calc(50% - 70px);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.error-page > img {
    background: #fff;
    margin-top: 50px;
}

.error-page > p {
    font-size: 1em;
    text-shadow: 2px 2px #000;
}

.error-page > h2 {
    text-transform: uppercase;
    text-shadow: 2px 2px #000;
}

@media (min-width:320px) {
    .error-page > h1 {font-size: 4em; }
    .error-page > h2 {font-size: 1.5em; }
}

@media (min-width:480px) {
    .error-page > h1 {font-size: 4em; }
    .error-page > h2 {font-size: 1.75em; }
}

@media (min-width:600px) {
    .error-page > h1 {font-size: 4em; }
    .error-page > h2 {font-size: 2em; }
}

@media (min-width:801px) {
    .error-page > h1 {font-size: 4em; }
    .error-page > h2 {font-size: 2em; }
}

@media (min-width:1025px) {
    .error-page > h1 {font-size: 5em; }
    .error-page > h2 {font-size: 2em; }
}

@media (min-width:1281px) {
    .error-page > h1 {font-size: 5em; }
    .error-page > h2 {font-size: 3em; }
}