:root {
    --dia-header-height: 105px;
    --dia-header-height-mobile: 125px;
    --navbar-height: 64px
}
html {
 scroll-behavior: smooth;
}

.dia-navbar.navbar.fixed-top {
    /*height: calc(var(--dia-header-height) + 64px) !important;*/
    height: calc(var(--dia-header-height)) !important;
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    padding: 0;
}

.dia-navbar.navbar .logo {
    max-height: 75px !important;
    width: auto;
}

.dia-navbar.navbar .container-fluid {
    max-width: 1200px;
    padding: 0 15px;
    height: var(--dia-header-height);
}

.dia-navbar .navbar-nav.dia-navbar-search {
    margin-left: auto;
    margin-right: auto;
}

.dia-navbar .searchbar-wrapper {
    width: 424px;
    border-color: #4F4F4F;
}

.dia-navbar .searchbar-group .form-control {
    height: 38px;
    font-size: 16px;
}

.dia-navbar .searchbar-group .btn-submit {
    width: 38px;
    height: 32px;
}

.dia-login-button a {
    background-color: #368537;
    padding: 8px 16px;
    color: #ffffff;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
}

.dia-login-button a:hover {
    text-decoration: none;
    background-color: #207315;
}

.dia-navbar-userActions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.dia-login-button--mobile, .dia-navbar-userActions-mobile, .visually-hidden-focusable {
    display: none;
}

.dia-login-button--desktop {
    display: inline-block;
}

body:not(.pagelayout-login) #page-wrapper, body:not(:has(.dia-nav-container)) #page-wrapper {
    padding-top: calc(var(--dia-header-height) + 48px);
}

.pagelayout-login #page-wrapper {
    padding-top: 0;
}


body:has(.dia-nav-container) #page-wrapper {
    padding-top: calc(var(--dia-header-height) + var(--navbar-height) + 48px);
}

.fullwidthbanner--homepage {
    margin-inline: auto;
    max-width: 1200px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    background-position: left top;
    background-size: 100% auto;
    border-radius: 32px;
    margin-top: 0;
    margin-bottom: 32px;
}

.fullwidthbanner--homepage .main-inner {
    color: #ffffff;
}

.fullwidthbanner-button {
    background-color: #fab413;
    padding: 8px 16px;
    border-radius: 8px;
    color: #000000;
    font-weight: 700;
}

.fullwidthbanner-button:hover {
    background-color: #e0a00f;
    color: #000000;
    text-decoration: none;
}

#page.drawers .main-inner {
    margin-top: 0;
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background-color: #f6f6f6 !important;
    margin-bottom: 7rem !important;
}

.container {
    max-width: 1200px;
    padding-left: 22px;
    padding-right: 22px;
}

#frontpage-available-course-list h2 {
    font-size: 40px;
    font-weight: 500;
    line-height: 150%;
    margin-bottom: 24px;
    margin-top: 24px;
}

@media (max-width: 990px) {
    .dia-navbar .searchbar-wrapper {
        width: 270px;
    }
}

@media (max-width: 767px) {
    #page-wrapper {
        padding-top: calc(var(--dia-header-height-mobile) + 32px) !important;
    }

    .dia-navbar .searchbar-wrapper {
        width: calc(100vw - 32px);
    }
    .dia-navbar .navbar-brand {
        margin-right: 0 !important;
    }

    .dia-navbar.navbar.fixed-top {
        height: auto !important;
        padding: 8px 0;
    }

    .dia-navbar.navbar .logo {
        max-height: 50px !important;
    }

    .dia-navbar .container-fluid {
        flex-direction: column;
        gap: 16px;
    }

    .dia-navbar .dia-navbar-top {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }

    .dia-navbar .dia-navbar-userActions-mobile {
        display: flex;
        align-items: center;
        gap: 16px;
    }

    .dia-navbar .dia-login-button--mobile {
        display: inline-block;
    }

    .dia-navbar .dia-login-button--mobile a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 0;
        width: 32px;
        height: 32px;
    }

    .dia-navbar-userActions {
        display: none;
    }

    .dia-login-button--desktop {
        display: none !important;
    }

    .drawer-left {
        transition: right 0.2s ease, top 0.2s ease, bottom 0.2s ease, visibility 0.2s ease !important;
        right: calc(-285px + -10px) !important;
        left: auto !important;
    }

    .drawer-left .logo {
        display: none;
    }

    .drawer-left.show {
        right: 0 !important;
        left: auto !important;
    }
    .dia-navbar .navbar-nav.dia-navbar-search {
        width: 100%;
        margin: 0;
    }

    .dia-navbar .navbar-nav.dia-navbar-search .searchform-navbar {
        padding: 0;
    }

    .dia-navbar .navbar-nav.dia-navbar-search .divider {
        display: none;
    }

    .dia-show-menu {
        display: none;
    }
}

.dia-formaty-icon {
    width: 48px;
    max-height: 48px;
    object-fit: contain;
}

/* ========================================
   NAVIGATION STYLES
   ======================================== */

/* Navigation container */
.nav-container.dia-nav-container {
    text-align: center;
    background: white;
    height: 64px;
    display: none;
}

.dia-show-menu .nav-container.dia-nav-container {
    display: flex;
    align-items: center;
}

/* Navigation list */
.dia-nav-container .nav-list {
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 81px;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    max-width: 1200px;
    padding: 0 22px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

/* Navigation items */
.dia-nav-container .nav-item {
    margin: 0;
}

.dia-nav-container .nav-item:hover {
    background-color: white !important;
}

/* Navigation links */
.dia-nav-container .nav-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: none;
    outline: none;
    box-shadow: none;
    user-select: none;
    padding: 8px 20px;
    transition: background-color 0.3s ease;
}


.dia-nav-container .nav-item:not(:has(ul)) i{
    display: none;
}

.dia-nav-container .nav-link:hover {
    background-color: transparent !important;
    color: inherit !important;
}

/* Navigation text */
.dia-nav-container .nav-text {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    white-space: nowrap;
}

.dia-nav-container .nav-link:hover .nav-text, .dia-nav-container .nav-link:focus .nav-text, .dia-nav-container .nav-link.active .nav-text {
    box-shadow: 0 2px 0 0 #378437;
}

/* Navigation icons */
.dia-nav-container .nav-icon {
    font-size: 12px;
}

.dia-header-divider {
    height: 1px;
    display: flex;
    width: 100%;
    background-color: #E7E7E7;
}

/* ========================================
   ANNOUNCEMENT STYLES
   ======================================== */

.dia-announcement {
    display: none;
    margin-top: 60px;
    padding: 20px 10% 20px 10%;
    background-color: #fac615;
    color: #000000;
}

.dia-announcement-text {
    text-align: left;
}

.dia-announcement-closer {
    float: right;
    display: none;
}

/* ========================================
   UTILITY STYLES
   ======================================== */

/* Hide home navbar item */
.navbar li[data-key="home"] {
    display: none;
}

/* Course styling */
.dia-courses div {
    padding-left: 5px;
    padding-right: 5px;
}

/* Page drawers */
#page.drawers {
    margin-top: 0px;
}

/* Course box */
.dia-coursebox {
    background-color: #ffffff;
    height: 100%;
}

.dia-coursebox .content .courseimage > img {
    max-width: 100%;
    max-height: 100%;
}

.dia-coursebox .content .courseimage {
    max-width: 100%;
    max-height: 100%;
    margin: 0px;
}

/* Hide elements */
#page-header {
    display: none;
}

.sitetopic {
    display: none;
}

/* Block overview */
.block_myoverview {
    background-color: #f6f6f6;
}

/* Section items */
.section-item {
    background-color: #ffffff;
}

/* Course name */
.coursename > a {
    font-weight: 700;
}

/* Body background */
body {
    background-color: #f6f6f6;
}

/* Question formulation */
.que .formulation {
    background-color: #eaeaea;
}

/* Activity header */
.path-mod .activity-header:not(:empty) {
    background-color: #F6F6F6;
}

/* ========================================
   BANNER STYLES
   ======================================== */

/* Banner responsive fixes */
.dia-urednickazkouskabanner {
    background-position: 25% center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    position: relative !important;
}

/* First banner responsive fixes */
.dia-fullwidthbanner {
    background-position: 25% center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    box-sizing: border-box;
    display: flex;
    width: 100%;
}

.dia-fullwidthbanner--big {
    min-height: 360px;
}

.dia-fullwidthbanner--big .drag-container {
    display: flex;
    align-items: center;
    padding: 40px;
    width: 100%;
}

.dia-fullwidthbanner--big h1 {
    margin-bottom: 16px;
    line-height: 130%;
    font-size: 40px;
    font-weight: 500;
}

.dia-fullwidthbanner--small {
    min-height: 136px;
    width: 100%;
    max-width: 100%;
    margin-top: 56px;
    border-radius: 32px;
    margin-bottom: 24px;
}

.dia-fullwidthbanner--small .drag-container {
    display: flex;
    align-items: center;
    padding: 20px 40px 20px 256px;
    width: 100%;
}

.dia-fullwidthbanner--small h5 {
    margin-bottom: 4px;
    line-height: 150%;
    font-size: 20px;
}

.fullwidthbanner-button-wrapper {
    display: flex;
    margin-top: 0;
    margin-left: auto;
}

.fullwidthbanner-button-wrapper a{
    font-size: 18px;
    padding: 10px 20px;
    line-height: 1.5;
}

.dia-fullwidthbanner-content {
    display: flex;
    align-items: center;
    gap: 16px;
}

.dia-fullwidthbanner-content > div:first-child {
    max-width: 645px;
}

.dia-fullwidthbanner-content h5 {
    font-weight: 500;
}

.dia-fullwidthbanner-content p {
    margin-bottom: 0;
}

.dia-fullwidthbanner-content h5, .dia-fullwidthbanner-content p {
    color: #fff;
}

.dia-hp-h2-header {
    font-size: 40px;
    font-weight: 500;
    line-height: 150%;
    margin-bottom: 24px;
}

/* ========================================
   FORMATY BOX STYLES
   ======================================== */
.dia-formatyboxes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.dia-formatybox {
    border: none;
    background-color: #ffffff;
    border-radius: 16px;
    padding: 16px;
    height: 100%;
    min-height: 206px;
    font-family: Roboto;
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 0;
    width: calc(100% / 3 - 14px);
    box-shadow: none;
}

.dia-formatybox:hover {
    transform: none !important;
}

.dia-formatybox a > h3 {
    color: #207315;
}

.dia-formatybox  h3 {
    color: #207315;
    font-size: 20px;
    font-weight: 500;
}

.dia-formaty-icon--wrapper {
    width: 48px;
    display: flex;
    justify-content: center;
}

/* ========================================
   ACCORDION STYLES
   ======================================== */

.dia-accordion .card {
    border-radius: 0 !important;
    border-width: 0 0 0 0;
}

.dia-accordion .card-header {
    border-radius: 0;
    padding: 16px;
}

.dia-accordion .card-header > h5 > button {
    width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    font-size: 16px;
    gap: 16px;
    text-align: left;
}

.dia-accordion .card-header > h5 > button:focus {
    box-shadow: none;
}

.dia-accordion .card-header > h5 > button[aria-expanded="true"] .dia-accordion-right img {
    transform: rotate(180deg);
}

.dia-accordion-right {
    margin-left: auto;
}

.dia-accordion .card-body {
    background-color: #f6f6f6;
}

/* ========================================
   FOOTER STYLES
   ======================================== */

.dia-footer-body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Roboto', sans-serif;
}

.dia-footer-main {
    flex: 1;
}

.dia-footer {
    background-color: #2E2D2C;
    color: white;
    padding: 1.5rem;
}

.dia-footer-inner {
    max-width: 60%;
    margin: 0 auto;
}

.dia-footer-link {
    color: white;
    display: block;
    margin-bottom: 0.5rem;
    text-decoration: underline;
}

.dia-footer-link:hover {
    color: #f8f9fa;
}

.dia-footer .container {
    max-width: 1366px;
}

.dia-btn-up {
    color: #198754;
    border: 1px solid #ffffff;
    background: white;
    width: 50px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dia-btn-up:hover {
    background-color: #2E2D2C;
    border: 1px solid #ffffff;
    color: #198754;
}

.dia-btn-animated {
    transition: all 0.3s ease;
}

.dia-btn-animated:hover {
    transform: translateY(-3px);
}

.dia-divider {
    border: none;
    border-top: 2px solid #9e9d9d;
    opacity: 1;
}

.dia-bottom-line {
    color: #9e9d9d;
}

.dia-logo {
    max-height: 65px;
}

.dia-eu-logo {
    margin-top: 20px;
    max-height: 65px;
}

.dia-npo-logo {
    max-height: 65px;
    margin-top: 10px;
}

.dia-logo-min {
    max-height: 35px;
    margin-top: 15px;
}

.dia-social-buttons {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.dia-btn-social-media {
    width: 40px;
    height: 32px;
}

.dia-btn-social-media:hover {
    background-color: rgb(232, 245, 228) !important;
}

.dia-btn-up:focus,
.dia-btn-up:active,
.dia-btn-up:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.dia-small-text {
    font-size: 0.875rem;
}

#region-main, #page.drawers .main-inner {
    background-color: #f6f6f6 !important;
}

#page.drawers div[role="main"] {
    padding-left: 0;
    padding-right: 0;
}

#page.drawers .dia-fullwidthbanner--small .main-inner {
    margin-bottom: 0 !important;
    background-color: transparent !important;
    padding: 0;
}
.dia-footer-top {
    position: relative;
}

.dia-scroll-top-margin {
    position: absolute;
    right: 15px;
    top: 0;
}

.pagelayout-incourse .generalbox.info {
    display: flex;
}

.pagelayout-incourse .gov-cz-card {
    max-width: 25%;
}

.continuebutton {
    text-align: left;
}

#page-mod-scorm-player #tocbox, #page-mod-scorm-player #scormpage {
    height: auto;
}

body:not(:has(.dia-nav-container)) #theme_eakademiedia-drawers-courseindex {
    top: var(--dia-header-height);
}

body:not(:has(.dia-nav-container)) .drawer-toggles .drawer-toggler {
    top: calc(var(--dia-header-height) + 10px);
}

body:has(.dia-nav-container) #theme_eakademiedia-drawers-courseindex {
    top: calc(var(--dia-header-height) + var(--navbar-height)) ;
}

body:has(.dia-nav-container) .drawer-toggles .drawer-toggler {
    top: calc(var(--dia-header-height) + var(--navbar-height) + 10px);
}

.admin .moremenu {
    opacity: 1;
    height: auto;
    margin-bottom: 20px;
}

/* ========================================
   RESPONSIVE STYLES
   ======================================== */

@media (max-width: 1200px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .dia-fullwidthbanner--small {
        background-position: center right !important;
    }

    .dia-fullwidthbanner--small .drag-container {
        padding: 20px;
    }

    .dia-fullwidthbanner-content {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .fullwidthbanner-button-wrapper {
        margin-left: 0;
    }

    .dia-nav-container .nav-text {
        font-size: 16px;
    }
}

/* Mobile styles (max-width: 576px) */
@media (max-width: 576px) {
    .dia-urednickazkouskabanner {
        background-position: 50% center !important;
    }
    
    .dia-urednickazkouskabanner .row {
        margin-left: 10px !important;
        align-items: center !important;
        flex-direction: column !important;
        text-align: center !important;
    }
    
    .dia-urednickazkouskabanner .col-md-8,
    .dia-urednickazkouskabanner .col-md-4 {
        padding: 0 10px;
        width: 100% !important;
    }
    
    .dia-urednickazkouskabanner .col-md-8 p {
        margin: 5px 0 !important;
        line-height: 1.2 !important;
    }
    
    .dia-urednickazkouskabanner .col-md-8 span {
        line-height: 1.3 !important;
        margin: 5px 0 !important;
    }
    
    .dia-urednickazkouskabanner .col-md-4 {
        margin-top: 5px !important;
        display: flex !important;
        justify-content: center !important;
    }
    
    .dia-urednickazkouskabanner .col-md-4 br {
        display: none !important;
    }
    
    .dia-fullwidthbanner {
        background-position: 50% center !important;
    }

    body:not(.admin) #page-footer {
        display: none;
    }
}


@media (max-width: 991px) {
    .dia-fullwidthbanner--big {
        min-height: auto;
    }

    .dia-fullwidthbanner--big .drag-container {
        padding: 40px 20px;
    }

    .dia-fullwidthbanner--big h1, .dia-hp-h2-header, #frontpage-available-course-list h2  {
        font-size: 30px;
    }

    .dia-fullwidthbanner--small {
        min-height: auto;
    }

    .dia-fullwidthbanner--small .drag-container {
        padding: 20px 15px;
    }

    .dia-fullwidthbanner--small h1 {
        font-size: 24px;
    }

    .dia-formatyboxes .dia-formatybox {
        width: 100%;
        min-height: auto;
    }

    .dia-nav-container .nav-text {
        font-size: 14px;
    }

    .dia-nav-container .nav-list {
        gap: 30px;
    }
}

/* Tablet styles (max-width: 768px) */
@media (max-width: 768px) {
    
    .dia-urednickazkouskabanner {
        background-position: 65% center !important;
    }
    
    .dia-urednickazkouskabanner .row {
        margin-left: 20px !important;
        align-items: center !important;
    }
    
    .dia-urednickazkouskabanner .col-md-4 {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .dia-urednickazkouskabanner .col-md-4 br {
        display: none !important;
    }
    
    .dia-fullwidthbanner {
        background-position: 35% center !important;
    }

    .dia-accordion .card-header {
        padding-left: 10px;
        padding-right: 10px;
    }

    #theme_eakademiedia-drawers-courseindex {
        top: 0 !important;
    }

    .drawer-toggles .drawer-toggler {
        top: calc(var(--dia-header-height-mobile) + 20px);
    }

    .dia-nav-container .nav-list {
        gap: 20px;
    }
}


/* Desktop styles (min-width: 1025px) */
@media (min-width: 1025px) {
    .nav-link:hover {
        background-color: #f5f5f5 !important;
    }
}
