@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    /* Upravte podle specifikace vašeho fontu */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    /* Upravte podle specifikace vašeho fontu */
    font-style: italic;
    font-display: swap;
}

body {
    font-family: 'Inter', sans-serif;
}

.logo-link {
    text-decoration: none;
}

#rp-logo {
    /*    background: transparent url('../img/logo.svg') left center no-repeat padding-box;*/
    letter-spacing: 0px;
    text-decoration: none;
    color: #000000;
    font-weight: 900;
    /*    height: 151px;*/
}

#mobile-logo {
    height: 53px;
    align-content: center;
    color: #000;
    font-weight: 600;
}

.container-bg {
    width: 106%;
    /* adjust as needed */
    height: 988px;
    /* adjust as needed */
    background-color: white;
    /* optional: color of the container */
    opacity: .2;
    z-index: -1;
}

.container-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%),
        url('../img/bg.svg');
    background-size: contain;
    background-position: center top, calc(100% + 37px) top;
    background-repeat: no-repeat;
    z-index: -1;
}

#bs5navbar-menu ul {
    margin: 0;
    list-style-type: none;
    padding-left: 0;
    z-index: 10;
}

#bsnavbar-menu ul .menu-item {
    padding: 14px 24px;
    border-radius: 8px;
    font-weight: 500;
    font-size: 20px;
    gap: 8px;
}

#bsnavbar-menu ul .menu-item:hover,
#bsnavbar-menu ul .menu-item:focus {
    background-color: #B20028 !important;
    color: #fff;
    border-radius: 8px;
}

.hover-effect {
    background-color: #B20028 !important;
    color: #fff;
    border-radius: 8px;
    margin-left: 3px;
}

.hover-effect a {
    color: #fff;
}

#bsnavbar-menu ul li {
    text-align: left;
    letter-spacing: 0px;
    color: #333333;
    display: inline-block;
}

#bsnavbar-menu ul li .dropdown-menu a {
    text-align: left;
    letter-spacing: 0px;
    color: #333333;
    display: inline-block;
    margin: 0 10px;
}

#bsnavbar-menu ul li .dropdown-menu {
    margin-top: 12px !important;
    box-shadow: 0px 3px 6px #0000000A;
    border: 1px solid #D6D6D6;
    border-radius: 10px;
    transform: translate3d(0px, 46px, 0px) !important;
}

#bsnavbar-menu ul li .dropdown-menu .dropdown-item {
    width: auto !important;
}

#bsnavbar-menu ul li .dropdown-menu .nav-thumb,
#bsnavbar-menu ul li .dropdown-menu .nav-thumb img {
    max-width: 95px;
    max-height: 95px;
    text-decoration: none;
    background-color: #ffffff;
    border: none;
    margin-bottom: 3px;
}

#bsnavbar-menu ul li .dropdown-menu a {
    border: 1px solid transparent;
    text-align: center;
    text-decoration: none;
    text-align: center;
    font: normal normal bold 16px/19px 'Inter';
    width: 100%;
}

#bsnavbar-menu ul li .dropdown-menu a:hover,
#bsnavbar-menu .dropdown-menu .dropdown-item.active {
    color: #B20028;
}

#bsnavbar-menu .dropdown-item:focus,
#bsnavbar-menu .dropdown-item:hover,
#bsnavbar-menu .dropdown-item.active {
    background-color: transparent;
}

/* Základní nastavení pro hlavní menu */
#offcanvasNavbar-menu ul {
    list-style: none; /* Odstraní puntíky */
    padding-left: 0;
}

#offcanvasNavbar-menu ul li {
    margin-bottom: 10px; /* Vzdálenost mezi tlačítky */
}

/* Stylování odkazů jako tlačítka */
#offcanvasNavbar-menu ul li a.nav-link {
    display: block; /* Zobrazí jako blokový prvek */
    text-align: center;
    background-color: #B20028; /* Bootstrap červená */
    color: #fff; /* Bílé písmo */
    border-radius: 8px; /* Zaoblené rohy */
    padding: 10px 20px; /* Vnitřní odsazení */
    text-decoration: none; /* Odstraní podtržení odkazu */
    transition: background-color 0.3s ease; /* Plynulý přechod barvy */
}

/* Hover efekt na odkaz */
#offcanvasNavbar-menu ul li a.nav-link:hover {
    background-color: #bb2d3b; /* Tmavší červená při hover */
    color: #fff;
}

/* Stylování submenu */
#offcanvasNavbar-menu ul li.menu-item-has-children .dropdown-toggle {
    background-color: #B20028; /* Červená barva pro dropdown */
    color: #fff; /* Bílé písmo */
    border-radius: 8px;
    padding: 10px 20px;
    display: block;
    text-align: center;
}

/* Styl pro položky v submenu */
#offcanvasNavbar-menu .dropdown-menu {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0px;
    padding-right: 0px;
    background-color: rgba(255, 255, 255, 1); /* Transparentní pozadí submenu */
    border: none; /* Odstraní okraje */
    width: 100%;
}

#offcanvasNavbar-menu .dropdown-menu .dropdown-item {
    background-color: #B20028; /* Světlejší červená */
    color: #fff; /* Bílé písmo */
    border-radius: 8px; /* Mírně zaoblené submenu */
    margin-bottom: 5px;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    box-shadow: 2px 2px 4px #000;
}

#offcanvasNavbar-menu .dropdown-menu .dropdown-item:hover {
    background-color: #bb2d3b; /* Tmavší červená při hover */
    color: #fff; /* Bílé písmo */
}

/* Aktivní položka */
#offcanvasNavbar-menu ul li.current-menu-item a.nav-link {
    background-color: #b52a37; /* Tmavší červená pro aktivní položky */
}

footer {
    border-radius: 10px;
    background-color: #F7F7F7;
    font-weight: 400;
    font-size: 24px;
    line-height: 36px;
    font-family: Inter;
}

footer .social a {
    color: #000;
}

#karta h1 {
    /*    font-size: 86px;*/
    font-weight: 700;
    /*    line-height: 104.08px;*/
    letter-spacing: -0.02em;
}

#karta h2 {
    /*    font-size: 24px;*/
    font-weight: 400;
    line-height: 36px;
}

#karta a {
    padding: 14px 24px 14px 24px;
    gap: 8px;
    border-radius: 8px;
    background-color: #B20028;
    color: #fff;
}

#student {
    height: 532px;
    background-image: url('../img/bg-student.png');
    background-color: #F7F7F7;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right bottom;
    border-radius: 25px;
    padding-left: 75px;
    box-shadow: 0px 4px 4px 0px #00000040;
}

#student h3 {
    font-size: 40px;
    font-weight: 600;
    line-height: 44px;
    text-align: left;
}

#student p {
    font-size: 24px;
    font-weight: 400;
    line-height: 36px;
    text-align: left;
}

#student #student-img {
    background: transparent url('../img/student.png') center bottom no-repeat padding-box;
    width: 456px;
    height: 550px;
    margin-top: -70px;
    background-size: contain;
    background-repeat: no-repeat;
}

#student.black #student-img {
    background: transparent url('../img/studentka.png') center bottom no-repeat padding-box;
    width: 614px;
    height: 576px;
    margin-top: -105px;
    margin-left: -90px;
    background-size: contain;
    background-repeat: no-repeat;
}

#student #icon-img {
    background: transparent url('../img/icon-student.svg') center center no-repeat padding-box;
    width: 146px;
    height: 146px;
    position: absolute;
    top: -124px;
    right: 0;
    background-size: contain;
}

#student a {
    background-color: #B20028;
    color: #fff;
    padding: 14px 24px 14px 24px;
    gap: 8px;
    border-radius: 8px;
}

#skola {
    height: 532px;
    background-image: url('../img/bg-skola.png');
    background-color: #F7F7F7;
    background-repeat: no-repeat;
    background-size: 54%;
    background-position: left top;
    border-radius: 25px;
    padding-left: 75px;
    box-shadow: 0px 4px 4px 0px #00000040;
}

#skola h3 {
    font-size: 40px;
    font-weight: 600;
    line-height: 44px;
    text-align: left;
}

#skola p {
    font-size: 24px;
    font-weight: 400;
    line-height: 36px;
    text-align: left;
}

#skola #skola-img {
    background: transparent url('../img/skola.png') center top no-repeat padding-box;
    width: 500px;
    height: 539px;
    margin-top: -97px;
    margin-bottom: 76px;
    background-size: contain;
    background-repeat: no-repeat;
}

#skola.black #skola-img {
    background: transparent url('../img/skola.png') center top no-repeat padding-box;
    width: 500px;
    height: 539px;
    margin-top: -97px;
    margin-bottom: 76px;
    background-size: contain;
    background-repeat: no-repeat;
}


#skola a {
    background-color: #B20028;
    color: #fff;
    padding: 14px 24px 14px 24px;
    gap: 8px;
    border-radius: 8px;
}

#firma {
    height: 532px;
    background-image: url('../img/bg-firma.png');
    background-color: #F7F7F7;
    background-repeat: no-repeat;
    background-size: 56%;
    background-position: right top;
    border-radius: 25px;
    padding-left: 75px;
    box-shadow: 0px 4px 4px 0px #00000040;
}

#firma h3 {
    font-size: 40px;
    font-weight: 600;
    line-height: 44px;
    text-align: left;
}

#firma p {
    font-size: 24px;
    font-weight: 400;
    line-height: 36px;
    text-align: left;
}

#firma #firma-img {
    background: transparent url('../img/firma.png') center top no-repeat padding-box;
    width: 514px;
    height: 509px;
    margin-top: -28px;
    background-size: contain;
    background-repeat: no-repeat;
}

#firma.black #firma-img {
    background: transparent url('../img/firma.png') center top no-repeat padding-box;
    width: 514px;
    height: 509px;
    margin-top: -28px;
    background-size: contain;
    background-repeat: no-repeat;
}

#firma a {
    background-color: #B20028;
    color: #fff;
    padding: 14px 24px 14px 24px;
    gap: 8px;
    border-radius: 8px;
}

.spacer-50 {
    height: 50px;
}

.sign {
    width: 500px;
    height: 150px;
    gap: 0px;
    border-radius: 25px;
    box-shadow: 0px 4px 4px 0px #00000040;
    background-color: #fff;
    position: absolute;
    text-align: center;
    align-content: center;
    font-size: 32px;
    font-weight: 600;
    line-height: 48px;
    right: 134px !important;
    bottom: -76px;
}

.sign-left {
    width: 500px;
    height: 150px;
    gap: 0px;
    border-radius: 25px;
    box-shadow: 0px 4px 4px 0px #00000040;
    background-color: #fff;
    position: absolute;
    text-align: center;
    align-content: center;
    font-size: 32px;
    font-weight: 600;
    line-height: 48px;
    left: 56px !important;
    bottom: -30px;
}

.reg-firem::before {
    width: 40px;
    height: 40px;
    background: transparent url('../img/company.svg') left center no-repeat;
    background-size: contain;
    content: '';
    /* This is required to display the pseudo-element */
    display: inline-block;
    /* Ensures the element has a box to show the content */
}

.reg-nabideksum::before {
    width: 40px;
    height: 40px;
    background: transparent url('../img/search-icon.svg') left center no-repeat;
    background-size: contain;
    content: '';
    /* This is required to display the pseudo-element */
    display: inline-block;
    /* Ensures the element has a box to show the content */
}

.reg-nabidek::before {
    width: 40px;
    height: 40px;
    background: transparent url('../img/praxe-icon.svg') left center no-repeat;
    background-size: contain;
    content: '';
    /* This is required to display the pseudo-element */
    display: inline-block;
    /* Ensures the element has a box to show the content */
}

.reg-infinity::before {
    width: 40px;
    height: 40px;
    background: transparent url('../img/infinity-icon.svg') left center no-repeat;
    background-size: contain;
    content: '';
    /* This is required to display the pseudo-element */
    display: inline-block;
    /* Ensures the element has a box to show the content */
}

.single .container-bg {
    transform: scaleX(-1);
    /* Otočí pouze obrázek na pozadí */
}

@media (max-width: 1399.98px) {

    /* Styles for extra large devices */
    #bsnavbar-menu ul .menu-item {
        padding: 14px 24px;
        border-radius: 8px;
        font-weight: 500;
        font-size: 18px;
        gap: 4px;
    }

    #student {
        background-size: 500px;
        background-position: right top;
        padding-left: 40px;
    }

    #student a {
        padding: 15px 5px;
    }

    #student #icon-img {
        width: 100px;
    }

    .sign {
        right: 15px !important;
    }

    .sign-left {
        left: -15px !important;
    }

    #skola #skola-img,
    #skola.black #skola-img {
        width: 399px;
        height: 520px;
        margin-top: 8px;
        margin-bottom: 0;
    }

    #skola {
        padding-left: 40px;
    }

    #firma {
        padding-left: 40px;
    }

    #firma #firma-img,
    #firma.black #firma-img {
        width: 462px;
        height: 509px;
        margin-bottom: -55px;
        margin-top: 21px;
    }
    .container-bg{
        width: 103%;
    }
}
/* Styles specifically for medium devices (less than 992px) */
@media (max-width: 991.98px) {
    #karta h1 {
        font-size: 55px;
        font-weight: 700;
        line-height: 66.56px;
        letter-spacing: -0.02em;
    }

    #karta h2 {
        font-size: 22px;
        font-weight: 400;
        line-height: 36px;
    }

    footer {
        font-size: 18px;
        font-weight: 400;
        line-height: 30px;
        text-align: center;
    }

    #offcanvasNavbar {
        padding-top: 46px !important;
    }

    #student {
        padding-left: 0px;
        height: auto;
        background-position: center center;
    }

    #student #student-img {
        width: 100%;
        height: 257px;
        margin-top: 0;
        margin-bottom: -25px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #student.black #student-img {
        width: 100%;
        height: 257px;
        margin-top: 0;
        margin-left: 0;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #student #icon-img {
        background: transparent url('../img/icon-student.svg') center center no-repeat padding-box;
        width: 85px;
        height: 85px;
        top: 130px;
        background-size: contain;
    }

    #student a {
        display: block;
        width: auto;
        margin-bottom: 10px;
    }

    #skola {
        padding-left: 0px;
        height: auto;
        background-position: center center;
    }

    #skola #skola-img {
        width: 100%;
        height: 257px;
        margin-top: 0;
        margin-bottom: -25px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #skola.black #skola-img {
        width: 100%;
        height: 220px;
        margin-top: 0;
        margin-bottom: -25px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #skola #icon-img {
        background: transparent url('../img/icon-skola.svg') center center no-repeat padding-box;
        width: 85px;
        height: 85px;
        top: 130px;
        background-size: contain;
    }

    #skola a {
        display: block;
        width: auto;
        margin-bottom: 10px;
    }

    #firma {
        padding-left: 0px;
        height: auto;
        background-position: center center;
    }

    #firma #firma-img {
        width: 100%;
        height: 257px;
        margin-top: 0;
        margin-bottom: -25px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #firma.black #firma-img {
        width: 100%;
        height: 220px;
        margin-top: 0;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #firma #icon-img {
        background: transparent url('../img/icon-firma.svg') center center no-repeat padding-box;
        width: 85px;
        height: 85px;
        top: 130px;
        background-size: contain;
    }

    #firma a {
        display: block;
        width: auto;
        margin-bottom: 10px;
    }

    .container-bg {
        width: 97%;
    }

    .container-bg::before {
        background:
            linear-gradient(380deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%),
            url('../img/bg.svg');
        background-size: 130% 56%;
        background-position: center top;
        background-repeat: no-repeat;
        z-index: -1;
    }

    .spacer-50 {
        height: 0px;
    }
    .hover-effect{
        font-size: 12px;
    }
}
#aktuality-list {
    display: flex;
    flex-wrap: wrap;
}

#aktuality-list .card-col {
    display: flex;
    flex-direction: column;
}

#aktuality-list .card-col .card {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.p {
    line-height: 1.6em;
}