@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

:root {
    /* Background */

    --bs-bg-dark: #1d1d1d;
    --bs-bg-primary: #282828;
    --bs-bg-secondary: #363636;
    --bs-bg-special: #0F0F0F;
    --bs-bg-warning: #F1E800;
    --bs-bg-light: #FCD92D;

    /* Buttons */

    /*  --bs-btn-dark: #F1E800;
    --bs-btn-dark-hover: #CCC400; */

    --bs-btn-primary: #F1E800;
    --bs-btn-primary-hover: #CCC400;

    --bs-btn-secondary: transparent;
    --bs-btn-secondary-hover: #000;

    --bs-btn-success: #3FB63D;
    --bs-btn-danger: #E92C2C;

    /* Text */

    --bs-text-primary: #F1E800;
    --bs-text-secondary: #363636;

    --bs-glow-color: #F1E800;
}



html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 15px;
    scroll-behavior: smooth;
}

/* Bg */

.bg-black {
    background-color: #000;
}

.bg-dark {
    background-color: var(--bs-bg-dark) !important;
}

.bg-light {
    background-color: var(--bs-bg-light) !important;
}

.bg-special {
    background-color: var(--bs-bg-special) !important;
}

.bg-primary {
    background-color: var(--bs-bg-primary) !important;
}

.bg-secondary {
    background-color: var(--bs-bg-secondary) !important;
}

.bg-warning {
    background-color: var(--bs-bg-warning) !important;
}

/* Buttons */

.btn-sm {
    padding: 0.1rem 0.8rem;
}

/*  btn dark */

.btn-dark {
    background-color: #000;
    border-color: #000;
    color: #FFF;
}

.btn-dark:hover,
.btn-dark:active {
    background-color: #202020 !important;
    border-color: #202020 !important;
    color: #FFF !important;
}

.btn-dark:focus {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #FFF !important;
}

.show-all-active {
    color: var(--bs-text-primary) !important; /* Yellow text */
    text-decoration: underline !important; /* Add underline */
}

.show-all-active:hover,
.show-all-active:focus {
    color: var(--bs-text-primary) !important; /* Maintain yellow text on hover/focus */
    text-decoration: underline !important; /* Maintain underline on hover/focus */
    background-color: #202020 !important; /* Keep the dark background on hover/focus */
    border-color: #202020 !important; /* Keep the dark border on hover/focus */
}

.show-all-active:active {
    color: var(--bs-text-primary) !important; /* Maintain yellow text when active */
    text-decoration: underline !important; /* Maintain underline when active */
    background-color: #000 !important; /* Slightly darker background when actively clicked */
    border-color: #000 !important; /* Slightly darker border when actively clicked */
}

/* btn pagination */

.pagination .btn-pg {
    background-color: var(--bs-text-primary);
    border-color: var(--bs-text-primary);
    color: #000;
}

.pagination .btn-pg:hover {
    background-color: var(--bs-btn-primary-hover);
    border-color: var(--bs-btn-primary-hover);
    color: #000;
}

.pagination .btn-pg.active {
    background-color: #000;
    border-color: #000;
    color: #FFF;
}

/* btn primary */

.btn-primary {
    background-color: var(--bs-btn-primary);
    border-color: var(--bs-btn-primary);
    color: #000;
}

.btn-primary:hover {
    background-color: var(--bs-btn-primary-hover) !important;
    border-color: var(--bs-btn-primary-hover) !important;
    color: #000 !important;
}

.btn-primary:active .btn-primary:focus {
    background-color: var(--bs-btn-primary-hover) !important;
    border-color: var(--bs-btn-primary-hover) !important;
    color: #000 !important;
}

.btn-primary.show {
    background-color: var(--bs-btn-primary-hover) !important;
    border-color: var(--bs-btn-primary-hover) !important;
    color: #000 !important;
}

.btn-primary.active {
    background-color: var(--bs-btn-primary-hover) !important;
    border-color: var(--bs-btn-primary-hover) !important;
    color: #000 !important;
}

/* btn primary side-panel */

.sticky-panel .btn-primary:active {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #FFF !important;
}

.sticky-panel .btn-primary.active {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #FFF !important;
}

/* btn secondary */

.btn-secondary {
    background-color: var(--bs-btn-secondary);
    border-color: var(--bs-btn-secondary);
    color: #FFF;
}

.btn-secondary:hover {
    background-color: var(--bs-btn-secondary);
    border-color: var(--bs-btn-secondary);
    color: var(--bs-text-primary);
}

.btn-secondary:active {
    background-color: var(--bs-btn-secondary) !important;
    border-color: var(--bs-btn-secondary) !important;
    color: #FFF !important;
}

.btn-secondary:hover .nav-link,
.btn-secondary:focus .nav-link,
.btn-secondary .nav-link.active {
    color: var(--bs-text-primary) !important;
    text-decoration: underline;
    text-decoration-thickness: 0.1em;
    text-decoration-skip-ink: none;
    text-underline-offset: 0.3em;
}

/* btn success */

.btn-success {
    background-color: var(--bs-btn-success);
    border-color: var(--bs-btn-success);
    color: #FFF;
}

/* btn danger */

.btn-danger {
    background-color: var(--bs-btn-danger);
    border-color: var(--bs-btn-danger);
    color: #FFF;
}

.btn-sm.btn-danger {
    background-color: var(--bs-btn-danger);
    border-color: var(--bs-btn-danger);
    padding-top: .05em;
    color: #FFF;
}

/* Btn table */

.card-header button {
    min-width: 160px;
    min-height: 50px;
}

@media only screen and (max-width: 768px) {

    .card-header button {
        font-size: 14px;
        min-width: 150px;
        max-width: 150px;
        min-height: 50px;
    }

}

@media (min-width: 1900px) {

    .card-header button {
        min-width: 200px;
        min-height: 50px;
    }

}

/* Text */


.text-dark {
    color: #000 !important;
}

.text-primary {
    color: var(--bs-text-primary) !important;
}

.text-secondary {
    color: var(--bs-text-secondary) !important;
}

.text-success {
    color: var(--bs-btn-success) !important;
}

.text-danger {
    color: var(--bs-btn-danger) !important;
}


.card-header {
    border: none;
}

/* Logo */


.main-logo {
    width: 100%;
}

/* Table */


td,
th,
tr {
    background-color: var(--bs-bg-secondary) !important;
    border-bottom: 10px solid var(--bs-bg-primary) !important;
}

thead th {
    background-color: var(--bs-bg-primary) !important;
    border-bottom: 2px solid var(--bs-bg-primary) !important;
}

td,
th {
    padding-bottom: 10px;
}

.narrow-column {
    width: 1%;
    white-space: nowrap;
    text-align: center;
}

th {
    text-align: center;
}

td {
    vertical-align: middle !important;
    text-align: center;
}

@media only screen and (max-width: 768px) {

    tr {
        height: 85px !important;
    }

}

/* Select */

select {
    background-color: var(--bs-bg-secondary) !important;
}


select:focus,
select:active {
    background-color: var(--bs-bg-secondary) !important;
    outline: none !important;
}

/* Checkbox */

input[type="checkbox"]:not(:checked) {
    background-color: #BABABA;
    border-color: #BABABA;
    transform: scale(1.6);
    margin-top: .35rem;
    margin-left: 0.6rem;
}

input[type="checkbox"]:checked {
    background-color: #BABABA;
    border-color: #BABABA;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.15);
    transform: scale(1.6);
    margin-top: .35rem;
    margin-left: 0.6rem;
    position: relative;
}

input[type="checkbox"]:checked::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-image: url('/img/check.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

input[type="checkbox"]:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.15);
    transform: scale(1.6);
    margin-top: .35rem;
    margin-left: 0.6rem;
}


/* Form */

.col-form-label {
    color: var(--bs-text-primary);
    font-weight: bold;
}

.form-control,
input[disabled].form-control {
    background-color: var(--bs-bg-secondary);
    border-color: var(--bs-bg-secondary);
    color: #FFF;
}

.form-control:focus {
    background-color: var(--bs-bg-secondary);
    border-color: var(--bs-bg-secondary);
    box-shadow: 0 0 0 0.2rem rgba(241, 232, 0, 0.25);
    color: #FFF;
}


/* Course Panel */

.bg-image-box {
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 200px;
    border-radius: 8px;
    margin-bottom: .6em;
}

.image-overlay {
    background: rgba(54, 54, 54, 0.8);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.school-title {
    font-size: 1.1em;
}


/* Modal */

.modal {
    background-color: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(1px);
}

.btn-close {
    position: absolute;
    top: 15px;
    right: 15px;
}

.modal-content {
    background-color: var(--bs-bg-secondary) !important;
    padding: 30px;
    border-radius: 10px;
}

.modal-header,
.modal-footer {
    border: none;
}

.modal-img {
    width: 10%;
    margin: 0 auto;
}


/* Misc */

.hidden-section {
    display: none;
    margin: 0;
    padding: 0;
}

.custom-link-underline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #FFF;
    text-decoration: none;
    position: relative;
}

.custom-link-underline:hover {
    color: var(--bs-text-primary);
    font-size: 16px;
    font-weight: normal;
}

.custom-link-underline:hover .number {
    font-size: 20px;
    /* Zvýšená velikost pro čísla při hoveru */
}

.custom-link-underline:hover::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: var(--bs-text-primary);
    bottom: -4px;
    left: 0;
    transition: width 0.3s;
}

.active-link {
    color: var(--bs-text-primary) !important;
    font-size: 16px;
    font-weight: normal;
    position: relative;
}

.active-link .number {
    font-size: 20px;
    /* Zvýšená velikost pro čísla v aktivním odkazu */
}

.active-link::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: var(--bs-text-primary);
    bottom: -4px;
    left: 0;
    transition: width 0.3s;
}

/* Sticky controls */

.sticky-controls {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: var(--bs-bg-primary);
}

/* Sticky side panel */

.sticky-panel {
    position: sticky;
    top: 20px;
    min-height: 77vh;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 20px);
    /* maximální výška panelu */
}

.scroll-content {
    flex: 1;
    overflow-y: auto;
    padding-right: 10px;
    min-height: 200px;
}


.scroll-content::-webkit-scrollbar {
    width: 7px;
}

.scroll-content::-webkit-scrollbar-track {
    background: #363636;
}

.scroll-content::-webkit-scrollbar-thumb {
    background: #BABABA;
    border-radius: 50px;
}

.scroll-content::-webkit-scrollbar-thumb:hover {
    background: #CCCCCC;
}

.icon-sm {
    width: 32px;
}

.dropdown>button {
    word-wrap: break-word;
    white-space: normal;
}


.navbar-collapse {
    transition: all .5s;
}

.dropdown-menu img.icon {
    width: 26px;
}

/* Main menu dropdown */

.main-dropdown {
    background-color: var(--bs-btn-primary) !important;
}

.main-dropdown>li>a.dropdown-item:hover,
.main-dropdown>li>a.dropdown-item:active,
.main-dropdown>li>a.dropdown-item:focus {
    background-color: var(--bs-btn-primary-hover) !important;
}

/* Table dropdown */

.table-dropdown {
    background-color: #000;
    border-color: #000;
    color: #FFF;
}

.table-dropdown>li>a.dropdown-item:hover,
.table-dropdown>li>a.dropdown-item:active,
.table-dropdown>li>a.dropdown-item:focus {
    background-color: #202020 !important;
    border-color: #202020 !important;
    color: #FFF !important;
}


.custom-drop-left .dropdown-menu {
    left: auto;
    right: -25px;
    top: 40px;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
}

.custom-drop-left-lang .dropdown-menu {
    left: auto;
    right: 0;
    top: 44px;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
}

@media only screen and (max-width: 768px) {

    .custom-drop-left .dropdown-menu {
        left: auto;
        right: -70px;
        top: 40px;
        box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
    }

    .custom-drop-left-lang .dropdown-menu {
        left: auto;
        right: -40px;
        top: 44px;
        box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
    }

}

/* Skrytí stav obsahu */
.side-skoleni-content {
    padding-top: 20px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.5s ease, opacity 0.5s ease;
}

/* Zobrazený stav obsahu */
.side-skoleni-header[aria-expanded="true"]+.side-skoleni-content {
    max-height: 500px;
    opacity: 1;
}

/* Styly pro šipku dropdownu */
.dropdown-toggle::after {
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

/* 
div.dt-container .dt-paging .dt-paging-button.disabled:hover,
div.dt-container .dt-paging .dt-paging-button.disabled:active,
div.dt-container .dt-paging .dt-paging-button.disabled {
    color: white !important;
}
 */

/* Quiz style */

.progress-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.progress-step {
    position: relative;
    padding: 10px;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.circle {
    width: 30px;
    height: 30px;
    background-color: #BABABA;
    color: var(--bs-bg-dark);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
}

.arrow-icon {
    width: 100%;
    height: 30px;
    margin-top: 10px;
    transition: transform 0.3s;
    background-image: url("/img/arrow.png");
    background-repeat: no-repeat;
    background-position: center;
}

.active-arrow {
    background-image: url("/img/arrow-active.png");
    background-repeat: no-repeat;
    background-position: center;
}

.progress-list .active {
    font-weight: bold;
    color: var(--bs-text-primary);
}

.progress-list .active .circle {
    transform: scale(1.5);
    background-color: var(--bs-bg-warning);
    color: var(--bs-bg-dark);
}

.progress-list .active .arrow-icon {
    opacity: 1;
}

.progress-list .arrow-icon {
    opacity: 0.8;
}

.progress-list .arrow-icon.active-arrow {
    opacity: 1;
}

/* Quiz radio button */

input[type="radio"] {
    appearance: none;
    background-color: #363636;
    border: 2px solid #F1E800;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    outline: none;
    cursor: pointer;
}

input[type="radio"]:checked {
    background-color: #F1E800;
    box-shadow: 0 0 0 0.2rem rgba(241, 232, 0, 0.25);
    border: 2px solid #F1E800;
}

input[type="radio"]:checked::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #F1E800;
    background-image: url('/img/check-radio.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: #363636;
}

input[type="radio"]:focus {
    border-color: #F1E800;
    box-shadow: 0 0 0 0.2rem rgba(241, 232, 0, 0.25);
}

.form-check-label {
    padding-left: 10px;
    color: #FFF;
}

/* Quiz - wrong answer */

input[type="radio"].form-check-input.false {
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    outline: none;
    cursor: pointer;
    background-color: var(--bs-btn-danger);
    box-shadow: none;
    border: 2px solid var(--bs-btn-danger);
}

input[type="radio"].form-check-input.false::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--bs-btn-danger);
    background-image: url('/img/radio-error.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: #363636;
}

input[type="radio"].form-check-input.false:focus {
    border-color: var(--bs-btn-danger);
    box-shadow: none;
}

/* Quiz - right answer */

input[type="radio"].form-check-input.true {
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    outline: none;
    cursor: pointer;
    background-color: var(--bs-btn-success);
    box-shadow: none;
    border: 2px solid var(--bs-btn-success);
}

input[type="radio"].form-check-input.true::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--bs-btn-success);
    background-image: url('/img/radio-success.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: #363636;
}

input[type="radio"].form-check-input.true:focus {
    border-color: var(--bs-btn-success);
    box-shadow: none;
}

.progress-step a {
    text-decoration: none;
}




.search-dropdown {
    max-height: 300px; /* Restrict dropdown height for scrolling */
    overflow-y: auto; /* Add vertical scrolling for long lists */
    padding: 10px; /* Add padding for spacing */
    background-color: #444;
    border-radius: 5px; /* Match the menu's overall appearance */
}

#searchCompanyInput {
    margin-bottom: 10px;
    padding: 8px;
    font-size: 14px;
    background-color: var(--bs-bg-primary); /* Input field background */
    color: #fff; /* Input text color */
    border: 1px solid var(--bs-bg-secondary); /* Border to match theme */
    border-radius: 5px; /* Rounded corners for the input */
}

#dropdownList {
    max-height: 250px;
    overflow-y: auto;
}

#dropdownList::-webkit-scrollbar {
    width: 8px;
}

#dropdownList::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

.dropdown-menu {
    z-index: 1051 !important; /* Keep dropdown menus above other elements */
    position: absolute;
    background-color: var(--bs-btn-primary); /* Original background color */
    border: none; /* Ensure clean edges */
    border-radius: 5px; /* Optional: Restore smooth corners */
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); /* Optional: Add a slight shadow */
    margin-top: 5px; /* Add small spacing below the toggle button */
}

.container-fluid {
    position: relative;
}

#searchInput::placeholder {
    color: #ccc; /* Adjust to a visible color */
    opacity: 1; /* Ensure the color is fully applied */
}

#searchInput {
    background-color: #000; /* Black background */
    color: #fff; /* White text */
}

.dropdown-item {
    color: #000; /* Restore item text color */
    background-color: transparent; /* Keep the default background */
    padding: 10px 15px; /* Restore padding for proper spacing */
    font-size: 14px; /* Adjust font size for consistency */
    text-align: left; /* Align text to the left */
    border-radius: 4px; /* Add subtle rounding for hover effect */
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--bs-btn-primary-hover); /* Restore hover effect */
    color: #000; /* Ensure contrast on hover */
}

.dropdown-item.active {
    background-color: var(--bs-btn-primary-hover) !important;
    color: #000 !important;
}



.table-dropdown {
    background-color: #000; /* Black background for dropdown */
    border: none; /* No border for a cleaner look */
    color: #FFF; /* White text */
    border-radius: 5px; /* Rounded corners */
}

.table-dropdown > li > a {
    background-color: transparent; /* Transparent to inherit default */
    color: #FFF; /* White text */
}

.table-dropdown > li > a:hover,
.table-dropdown > li > a:focus {
    background-color: #202020; /* Darker black on hover */
    color: #FFF; /* Maintain white text color */
}

.reset-filter-button {
    border: none;
    padding: 0;
    width: 100%;
    text-align: center;
    cursor: pointer;
    color: inherit;
}

.reset-filter-button:hover {
    opacity: 0.8;
}



/* Ensure the dropdown items wrap text properly and avoid horizontal scroll */
.company-dropdown {
    max-height: 300px; /* Restrict the height for vertical scrolling */
    overflow-y: auto; /* Enable vertical scrolling */
    overflow-x: hidden; /* Disable horizontal scrolling */
    white-space: normal; /* Allow text wrapping */
    word-wrap: break-word; /* Ensure long words wrap */
    padding: 10px; /* Add padding for better spacing */
}

/* Ensure the dropdown items adjust dynamically */
.company-dropdown .company-dropdown-item {
    white-space: normal; /* Allow wrapping */
    word-wrap: break-word; /* Enable word wrapping */
    text-align: left; /* Align text to the left */
}

/* Style the search input to fit better */
.company-search-input {
    width: 100%;
    margin-bottom: 10px;
    font-size: 14px;
}

/* Add scrollbar customization for a cleaner look */
.company-dropdown::-webkit-scrollbar {
    width: 8px; /* Set scrollbar width */
}

.company-dropdown::-webkit-scrollbar-thumb {
    background: #ccc; /* Customize scrollbar color */
    border-radius: 10px; /* Add rounding to scrollbar */
}

.company-dropdown::-webkit-scrollbar-track {
    background: #f1f1f1; /* Customize track background */
}



/* Specific to the dropdown fix */
.dropdown-menu {
    max-height: calc(100vh - 150px); /* Adjust max height based on available viewport */
    overflow-y: auto; /* Allow vertical scrolling inside the dropdown */
    overflow-x: hidden; /* Prevent horizontal scrolling inside the dropdown */
}

.active-filter {
    color: yellow; /* Highlight in yellow */
    text-decoration: underline; /* Underline the text */
    font-weight: bold; /* Optional for emphasis */
}

