:root {
    --main: #DA001D;
    --content_left: 235px;
    --custom-bg: #f4f0ec;
    --content-bg: #fff;
}

/* ---------------------------------------------------------------------------
   Page backdrop and content box

   The backdrop (--custom-bg) fills the whole viewport height even when the page
   content is short, and the main content box (--content-bg) stretches down with
   it. The wrapper chain is a column flexbox: the menu / notification strip
   keeps its natural height, the content column absorbs all the leftover space.
   The backdrop stays visible as a strip on the left and right of the content
   box only — the box itself reaches the top and the bottom of the page.
   Bootstrap 3 version: style.css — keep both in sync.
   ------------------------------------------------------------------------ */

body {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background-color: var(--custom-bg);
}

/* Employee area: #wrapper holds the notification strip and the content column */
div#wrapper {
    flex: 1 1 auto;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

div#wrapper>.inner-wrapper {
    width: 100%;
    flex: 0 0 auto;
}

div#wrapper>.inner-wrapper:last-of-type {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* el_stojimai / isoriniai layouts use #content-wrapper as the content column */
#content-wrapper {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

#content-wrapper>.inner-wrapper {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Legacy float-clearing bottom spacers of the student / el_stojimai / isoriniai
   templates. The flex layout above already fills the whole page height, so
   these would only leave a backdrop strip below the content box. */
body>.push,
#content-wrapper>.push {
    display: none;
}

/* The student / el_stojimai / isoriniai top navbar (`#menu` without the fixed
   sidebar class) sits directly above the content box — the original 7px bottom
   margin would show as a backdrop strip between the two. */
#menu:not(.menu_left) {
    margin-bottom: 0;
}

/* Student layouts place the content column directly into <body> */
body>.inner-wrapper {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Language chooser in the student top toolbar (`student-navbar`): the flag of the
   active language with a dropdown for the other one. It sits in the always
   visible right-hand group next to the hamburger, so mobile shows it as well. */
.lang-toolbar {
    display: flex;
    align-items: center;
    height: 48px;
}

.lang-toolbar .lang-toggle {
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 6px;
    color: #fff;
    text-decoration: none;
}

.lang-toolbar .lang-toggle:hover,
.lang-toolbar .lang-toggle:focus {
    background-color: var(--main);
    color: #fff;
}

/* Vėliavėlės – SVG (1000x600, 5:3), todėl rodomos išlaikant proporcijas */
.lang-toolbar .lang-toggle img {
    display: block;
    width: 30px;
    height: 18px;
}

.lang-toolbar .dropdown-menu {
    /* Punktai niekada nelaužomi: meniu plotis = turinio plotis */
    min-width: 0;
    width: max-content;
}

.lang-toolbar .dropdown-item {
    white-space: nowrap;
}

.lang-toolbar .dropdown-item img {
    /* inline-block: šoninio meniu `#nav ... ul a` taisyklė nustato display:block,
       o su block nuotrauka tekstas nusikeltų į kitą eilutę */
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 15px;
    margin-right: 8px;
}

/* Bootswatch United liekana bootstrap5.min.css:
   @media (max-width:767px){ .navbar .dropdown-menu a { color:#fff } }
   BS3 laikais navbar dropdown buvo rodomas juodoje juostoje (baltas tekstas tiko),
   bet BS5 dropdown – plaukiojantis šviesus skydelis, todėl mobiliame (<768px)
   neaktyvios kalbos tekstas tampa nematomas šviesiame fone. Atstatome `.lang-toolbar`
   sąrašo spalvas; specifiškumas (≥3 klasės) nusveria `.navbar .dropdown-menu a`. */
.lang-toolbar .dropdown-menu .dropdown-item {
    color: var(--bs-dropdown-link-color, #000);
}

.lang-toolbar .dropdown-menu .dropdown-item.active,
.lang-toolbar .dropdown-menu .dropdown-item:active {
    color: var(--bs-dropdown-link-active-color, #fff);
}

.lang-toolbar .dropdown-menu .dropdown-item:hover,
.lang-toolbar .dropdown-menu .dropdown-item:focus {
    color: var(--bs-dropdown-link-hover-color, #fff);
}

/* Kompaktiška versija: darbuotojo šoninio meniu viršutinė eilutė */
.lang-toolbar-sm,
.lang-toolbar-sm .lang-toggle {
    height: 20px;
}

.lang-toolbar-sm .lang-toggle {
    /* Kairėje jokio tarpo – vėliavėlė lygiuojasi su meniu ikonomis */
    padding: 0 4px 0 0;
}

.lang-toolbar-sm .lang-toggle img,
.lang-toolbar-sm .dropdown-item img {
    width: 20px;
    height: 12px;
}

/* Viršutinė šoninio meniu eilutė turi overflow:hidden – atidarytą vėliavėlės
   sąrašą reikia atlaisvinti, kitaip jis nukerpamas (BS5 meniu gauna .show) */
div.menu_left .sidebar-brand:has(.lang-toolbar .dropdown-menu.show) {
    overflow: visible;
}

/* Kalbos pasirinkimas isoriniai / el_stojimai juodoje viršutinėje juostoje
   (`#menu.lang-navbar`, BS5 versija). `width:100%` reikalingas todėl, kad
   `#menu.navbar` yra flex konteineris ir be jo stulpelis susitrauktų iki
   turinio pločio. */
#menu.lang-navbar>.inner-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}

#menu.lang-navbar>.inner-wrapper>.navbar-header {
    /* Turi užimti likusią eilutės dalį: kitaip plaukiojančios nuorodos
       persikelia į antrą eilutę ir juosta netikėtai paauga */
    flex: 1 1 auto;
}

#menu.lang-navbar>.inner-wrapper>.lang-toolbar {
    flex: 0 0 auto;
    margin-left: auto;
}

#menu.lang-navbar>.inner-wrapper>.navbar-collapse {
    flex: 1 1 100%;
    /* Mobiliajame: atidarytas meniu atsidaro po juosta, o vėliavėlė lieka joje */
    order: 3;
}

@media (min-width: 1000px) {
    #menu.lang-navbar>.inner-wrapper {
        display: block;
    }

    #menu.lang-navbar>.inner-wrapper>.navbar-header,
    #menu.lang-navbar>.inner-wrapper>.navbar-collapse {
        flex: none;
    }

    #menu.lang-navbar>.inner-wrapper>.lang-toolbar {
        position: absolute;
        top: 0;
        /* .inner-wrapper yra 1000px centruotas stulpelis – right:0 = jo dešinys kraštas */
        right: 0;
        margin-left: 0;
    }

    /* Vieta vėliavėlei: dešinėje plaukiojančios nuorodos kitaip užvažiuotų ant jos */
    #menu.lang-navbar>.inner-wrapper>.navbar-collapse>ul.navbar-right {
        padding-right: 46px;
    }
    #menu.lang-navbar>.inner-wrapper>.navbar-collapse>ul.navbar-right-lang { /* Ne visada reikia */
        padding-right: 0px;
    }
}

/* The card header acts as the card title: a bit larger than the card body text */
.card-header {
    font-size: 1rem;
}

/* Angular UI Bootstrap 1.x tooltips/popovers (legacy Angular views). The library
   computes the placement itself, so it relies on Bootstrap 3's absolute
   positioning and on the ".in" shown-state class. Bootstrap 5 leaves positioning
   to Popper and reveals with ".show": without the overrides below such a popover
   would sit in the normal flow (pushing the surrounding layout around) and stay
   invisible. */
.popover,
.tooltip {
    position: absolute;
}

.popover.fade.in,
.tooltip.fade.in {
    opacity: 1;
}

/* A ui-bootstrap popup is inserted inside the trigger's own column and is
   positioned with document coordinates, but its offset parent ends up being the
   card (position: relative in BS5). The popup therefore landed on top of the
   control that opened it: while the pointer was on the popup the trigger got
   mouseleave, the popup hid, the pointer was back on the trigger and so on -
   the popup flickered and swallowed the click on the checkbox underneath.
   These popups only carry information, so they must never take pointer events.
   The class list differs as well: ui-bootstrap uses ".fade.in" and never
   ".show", Bootstrap 5 popovers always get ".show" while visible - so Bootstrap
   5 popovers stay clickable. */
.popover:not(.show),
.tooltip:not(.show) {
    pointer-events: none;
}

/* Bootstrap 5 puts the popover padding on .popover-body; ui-bootstrap 1.x still
   renders .popover-content. */
.popover .popover-content {
    padding: 0.5rem 0.75rem;
}

/* <code> inside an alert (component names, paths) keeps the surrounding text size */
.alert code {
    font-size: 1em;
}

/* Cards use the content box background (--content-bg). Stated explicitly
   because Bootstrap sets --bs-card-bg to --bs-body-bg, which the LSU theme
   maps to the darker --custom-bg. The card body is intentionally left
   transparent: giving it its own background painted its square corners over
   the card's rounded border (no header/footer = body touches all 4 corners). */
.card {
    --bs-card-bg: var(--content-bg);
}

/* Prisijungimo puslapio laukeliai lieka balti, kad nesiskirtų nuo senojo vaizdo */
#login_form .form-control {
    background-color: #fff;
}

.container {
    max-width: 1000px;
    /* min-height: 100dvh; */
}

.container img {
    max-width: 100%;
}

.flex {
    display: flex;
    align-items: center;
    gap: 10px;
}

.reklama {
    width: 100%;
    height: 100%;
    position: fixed;
    background-image: url('http://www.lsu.lt/sites/default/files/images/promo/pasiulyk-savo-ideja-lsu.jpg?1439888732');
}

.bg-white {
    background-color: var(--custom-bg) !important;
}

.test_aplinka {
    z-index: 100;
    padding: 10px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    background: red;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

div.inner-wrapper {
    margin: 0 auto;
    max-width: 1000px;
}

ul.primary-links>li>a {
    font-size: 14px;
    font-weight: normal;
    display: block;
    height: 48px;
    line-height: 48px;
    padding-left: 10px;
    padding-right: 9px;
}

@media (max-width: 1000px) {
    h1 {
        font-size: 150%;
    }

    h2 {
        font-size: 20px;
    }
}

ul.primary-links>li {
    float: left;
    line-height: 48px;
    color: white;
}

ul.primary-links li a:link,
ul.primary-links li a:visited {
    color: white;
    text-decoration: none;
}

ul.primary-links li a:hover,
ul.primary-links li a:active {
    color: white;
    text-decoration: none;
    background-color: var(--main);
}

.info_blokas a:hover {
    text-decoration: none;
}

div.content-bg {
    /* Stretches to the bottom of the page. The bottom padding keeps the last
       card, table or button away from the inner edge of the box. */
    flex: 1 1 auto;
    padding: 5px 25px 5px 25px;
    background-color: var(--content-bg);
    border-radius: 0px;
}

/* Boxes above the main one (e.g. the student news alert) keep their natural
   height, otherwise they would grow and eat the main content space. */
div.content-bg:not(:last-of-type) {
    flex: 0 0 auto;
}

/* The student / utils views wrap their content in an extra `.container` inside
   the content box. A nested container must not impose its own (breakpoint or
   1000px) width there: it was wider than the box's content area, so panels and
   right aligned elements (e.g. the language flags) stuck out of the box. */
div.content-bg .container {
    max-width: 100%;
}

div.push {
    height: 10px;
    clear: both;
}

#show_list {
    background: var(--custom-bg);
    padding: 1em;
    padding-bottom: 70px;
}

.rezultatai {
    padding-top: 10px;
}

#departments_list {
    background: var(--custom-bg);
    padding: 1em;
}

#groups_list {
    background: var(--custom-bg);
    padding: 1em;
}

#add_form {
    background: var(--custom-bg);
    text-align: center;
}

#add_my_form {
    text-align: center;
}

#add_my_form table {
    margin: auto;
}

h2.kontaktai {
    float: left;
}

#login_form {
    width: 450px;
    margin: 0px auto;
    padding: 0.6em;
}

#form_table {
    width: 400px;
    margin: 5px auto;
}

label{ font-weight: bold; }

#form_table label {
    width: 150px;
    height: 28px;
}

#form_table td {
    padding: 5px;
}

@media (max-width: 570px) {
    #form_table {
        width: auto;
    }

    #form_table label {
        width: auto;
    }

    #login_form {
        width: auto;
    }

    #login_form .btn {
        white-space: normal;
    }
}

#set_form {
    max-width: 370px;
    margin: 0px auto;
}

#set_form label {
    display: inline;
}

#set_form td {
    height: 28px;
}

#login_form h1:first {
    margin-top: 0px;
}

@keyframes bounce {

    from,
    20%,
    53%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    40%,
    43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0);
        transform: translate3d(0, -4px, 0);
    }
}

.login-panel {
    min-height: 100vh;
    max-width: 650px;
    margin: auto;
    padding-top: 25px;
    padding-bottom: 5%;
    position: relative;
    border: none;
}



#login_form table td {
    padding: 10px;
}

#login_form table {
    margin-top: 15px;
}

.login_kalbos {
    position: absolute;
    right: 25px;
}

.login-panel .row {
    margin-bottom: 10px;
}

.login-panel h1 {
    margin-bottom: 20px;
    font-size: 2em;
}

.login-panel .form-inline .form-control input {
    width: 100%;
}

.login-panel .info_sistema {
    vertical-align: -4px;
    margin-left: 0px;
    text-transform: uppercase;
}

.vcenter {
    display: flex;
    float: none;
    align-items: center;
}

.vcenter div {
    float: none;
}

#login_form #login_info_studentams {
    display: none;
}

.text-nowrap {
    white-space: nowrap;
}

.login-panel .slapukai {
    display: inline-block;
    vertical-align: middle;
}

.swedbank .modal-dialog {
    width: 650px;
}

.modal-dialog .swed {
    position: absolute;
    top: 28px;
    height: 200px;
    margin-right: 15px;
    background-color: #000000e0;
    color: white;
}

@media (min-width: 768px) {
    .vcenter small {
        display: block;
    }

    .form-inline .form-control {
        width: 100%;
    }
}

@media (max-width: 510px) {
    .info_sistema {
        font-size: 20px;
    }

    #login_form h1 img {
        width: 50px;
    }

    #login_form .swed h3 {
        font-size: 15px;
        line-height: 1.5;
        margin: 0px;
    }

}

@media (max-width: 1024px) {
    .content_left .container {
        max-width: 800px;
    }
}

@media (max-width: 768px) {
    .vcenter {
        display: block;
    }

    .modal-dialog .swed {
        height: auto;
    }

    #login_form .swedbank img {
        display: block;
        width: 100%;
        height: auto;
    }
}



#rez {
    margin: 100px auto;
    padding: 1em;
}

.result {
    color: #524f4f;
    font-size: 15px;
    float: left;
    padding-top: 5px;
    margin-top: 30px;
    background-color: #ededed;
    width: 100%;
}

.error {
    color: #c21f39;
    font-size: 15px;
    float: left;
    padding-top: 5px;
    margin-top: 30px;
    background: #fff4f4;
    width: 100%;
}

.edit_my_contacts {
    width: 65%;
}


#footer {
    left: 0px;
    bottom: 0px;
    height: 80px;
    width: 100%;
}

#successful h1 {
    margin-top: 100px;
    font-family: arial black, arial;
    text-align: center;
    color: #33a333;
}

#wrappers {
    position: relative;
}

div#wrapper {
    min-height: 0%;
}

#contents {
    padding: 10px;
    padding-bottom: 10px;
}

div#menu {
    min-height: 48px;
    /* background-color: rgb(55,60,66); */
    background-image: none;
    background-position: center top;
    background-repeat: repeat-x;
    margin-bottom: 7px;
}



div.gedimas textarea {
    width: 100%;
    height: 100px;
}

.alert-danger code,
.alert-danger pre {
    background-color: transparent;
    border: none;
}

.right,
#nav .right {
    float: right;
}

.left,
#nav .left {
    float: left;
}

div.gedimai_counter {
    float: right;
    margin-right: 10px;
    line-height: 40px;
}

div.gedimai_counter .label-danger {
    background-color: hsl(0, 100%, 28%) !important;
    background-repeat: repeat-x;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#ff5151", endColorstr="#8e0000");
    background-image: -khtml-gradient(linear, left top, left bottom, from(#ff5151), to(#8e0000));
    background-image: -moz-linear-gradient(top, #ff5151, #8e0000);
    background-image: -ms-linear-gradient(top, #ff5151, #8e0000);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff5151), color-stop(100%, #8e0000));
    background-image: -webkit-linear-gradient(top, #ff5151, #8e0000);
    background-image: -o-linear-gradient(top, #ff5151, #8e0000);
    background-image: linear-gradient(#ff5151, #8e0000);
    border-color: #8e0000 #8e0000 hsl(0, 100%, 18.5%);
    color: #fff !important;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.62);
    -webkit-font-smoothing: antialiased;
}

.col_1 {
    width: 200px;
}

.col_2 {
    font-weight: bold;
    width: 510px;
}

.col_3 {
    text-align: left;
    width: 170px;
}

.col_4 {}

.col_5 {
    padding-top: 10px;
}

span.privalomi {
    color: red;
    font-size: 16px;
    line-height: 34px;
    float: left;
    margin-left: 10px;
}

.hint {
    padding-bottom: 0px;
    font-size: 11px;
}

.auto-hint {
    color: #adadad;
}

#search_table {
    margin: auto;
}

#search_input {
    max-width: 316px;
}

#auto-hint {
    text-align: center;
}

#login_form .login .btn,
#login_form .login .slapukai {
    margin-bottom: 15px;
}

.small_wrapper {
    text-align: center;
}

.badge {
    /* padding: 7px 10px; */
}

.anchor_row2 tr:hover {
    cursor: pointer;
}

.paraiskos_left {
    float: left;
    width: 70%;
}

.paraiskos_right {
    position: absolute;
    right: -290px;
    top: -7px;
    width: 280px;
}

.kiekis {
    width: 60px;
    margin-right: 10px;
}

.kaina {
    width: 78px;
    margin-right: 5px;
}

.paraiska table {
    margin-bottom: 0px;
}

.container {
    position: relative;
    word-wrap: break-word;
}

.paraiska_info {
    width: 20%;
    display: inline-block
}

.paraiska_vykdoma_info {}

.paraiska_pasirasymai {
    width: 80%;
    display: inline-block;
}

a.paraiska_pasirasymai {
    color: #000000;
    text-decoration: none;
}

.paraiska_pasirasymas {
    float: left;
    width: 100px;
    margin-left: 7px;
    padding-bottom: 10px;
    position: relative;
    margin-bottom: 10px;
}

.paraiska_pasirasymas .label {
    font-size: 88%;
}

.paraiska_pasirasymas_pavaduoja {
    font-size: 12px;
}

.paraiska_pasirasete {
    text-align: right;
}

.kodel_paslepta {
    display: none;
    margin: 10px;
    margin-bottom: 20px;
}

.kodel_paslepta .panel {
    margin: 0px;
}

.alert {
    margin-bottom: 10px;
}

.alert img {
    max-width: 100%;
}

/* .paraiskos_list {

} */

/* .glyphicon-pencil {
    color: red;
} */


/*
.paraiskos .active {
    color: rgb(181, 255, 158);
}
*/

title {
    font-size: 16px;
}

.paraiska_valdymas form {
    float: right;
    margin-left: 10px;
}

form.atlikimas {
    display: inline;
}

.paraiska h3 {
    text-align: center;
}

p.data {
    text-align: center;
}

.paraiska ul li {
    margin-left: 25px;
    list-style: none;
    padding: 3px;
}

.paraiska ul {
    margin-bottom: 20px;
}

.paraiska .apacia p {
    margin-top: 12px;
    margin-bottom: 10px;
}

.paraiska .apacia label {
    padding-right: 30px;
}

.ekonomistas {
    float: left;
    padding: 5px;
}

.ekonomistas .panel {
    padding: 5px;
}

.ekonomisto_zyma {
    width: 250px;
    padding: 5px;
    border: 1px solid black;
    float: right;
    line-height: 24px;
}

.apacia_left {
    width: 70%;
    float: left
}

.apacia_right {
    width: 30%;
    float: right;
}

.ekonomistas input {
    width: auto;
    display: inline;
}

.ekonomistas select {
    display: inline;
    width: 620px;
}

.ekonomistas_komentaras td {
    color: red;
}

input.ekonomistas_komentaras_input {
    width: 100%;
}

.paraiskos_pavadinimas {
    font-weight: bold;
}

.paraiska_vykdoma_info .paraiskos_pavadinimas {
    display: inline-block;
}

.paraiska_vykdoma_info .paraiskos_nr {
    font-size: 17px;
    display: inline-block;
}

.paraiska_vykdoma_info .paraiskos_pavadinimas {
    font-size: 17px;
    display: inline-block;
    margin-right: 5px;
}

.paraiska_vykdoma_info .paraiskos_kurejas {
    display: inline-block;
}

.paraiskos .btn-large {
    padding: 7px 33px;
}

.aprasymas {
    display: none;
}

.laukiama,
.laukiama1,
.laukiama2,
.laukiama3 {
    position: fixed;
    width: 600px;
    height: 400px;
    left: 50%;
    margin-left: -300px;
    top: 50%;
    margin-top: -200px;
    background: var(--custom-bg);
    box-shadow: 0px 0px 10px black;
    z-index: 99999;
    color: black;
    display: none;
    text-align: center;
    padding: 152px;
}

.laukiama1 {
    padding: 5px;
}

.tamsiau,
.tamsiau1,
.tamsiau2,
.tamsiau3 {
    position: fixed;
    display: none;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0.2;
}

.laukiama_center {
    top: 50%;
    margin-top: -60px;
}

.paraiskos .alert-success {
    font-size: 26px;
    text-align: center;
}

.paraiskos .bendra_suma_zalia {
    padding: 3px;
}

.ekonomistas_drop {
    padding: 15px;
}

input[name="kuri_samata"] {
    margin-right: 20px;
}

#menu .active {
    background-color: var(--main);
}

.ikona {
    font-size: 12px
}



.gedimai_counter .success {
    color: green;
}

.gedimai_counter span {
    vertical-align: middle;
}

.gedimai_counter a {
    font-size: 18px;
}

.gedimai_counter .skaitiklis {
    color: white;
}

.isakymai_parsisiusti {
    font-size: 18px;
    margin-top: 15px;
}

.isakymai_pasirase {
    font-size: 20px;
}

.isakymai_susipazinti {
    font-size: 18px;
    margin-top: 15px;
}

table.isakymai>tbody>tr>td {
    padding: 15px;
    vertical-align: middle;
}

table.isakymai>tbody>tr>th {
    font-size: 18px;
}

.isakymai_pavadinimas {
    max-width: 600px;
    word-wrap: break-word;
}

.isakymai_susipazino .btn-group>.btn {
    display: block;
    float: none;
}



.red {
    color: red;
}

.paraiskos_isitikinkite {
    text-align: right;
}

.radio_big {
    width: 20px;
    height: 20px;
}

.reglamentass a {
    font-size: 15px;
    margin: 10px;
}

.form-inline .vienetai {
    display: block;
}

.paraiska_pasirasymas_done {
    position: absolute;
}

.paraiska_pasirasymas_pavaduoja {}

.vykdytojas {
    padding: 3px;
    display: inline-block;
    margin-right: 10px;
    margin-top: 5px;
}

.nepriskirtas_vykdytojas {
    color: red;
}

.paraiskos_atmestos {
    color: white;
    margin-right: 5px;
}

.atmete_vardas {
    padding: 3px;
    margin-right: 10px;
    margin-top: 5px;
    float: left;
    width: 15%
}

.atmete_priezastis {
    float: right;
    width: 80%;
}

.vykdytojai_is_visur {
    display: none;
}

.tvarkarastis .btn-group {
    width: 100%;
    margin: 10px;
    display: inline-block;
}

.tvarkarastis .btn-group .btn {
    float: left;
    padding: 5px;
}

.tvarkarastis .alert {
    width: 250px;
    float: left;
    margin-right: 10px;
    padding: 2px;
    background-image: none;
    border: none;
}

.tvarkarascio_paaiskinimai .alert {
    display: inline-block;
}

.alert-violetine,
tr.violetine {
    background-color: #c795c7;
    color: #750f75;
}

.alert-geltona,
tr.geltona {
    background-color: #fdeeab;
    color: #967300;
}

.alert-raudona,
tr.raudona {
    background-color: #fd7979;
    color: #6d0000;
}

.alert-pilka,
tr.pilka {
    background-color: #dddddd;
    color: #555555;
}

.zinute {
    padding-bottom: 5px;
}

.zinute .tekstas {
    font-size: 17px;
}

.zinute.man .tekstas a {
    color: white;
}

.zinutes .mano {
    margin-left: 100px;
}

.zinutes .man {
    margin-right: 100px;
    background-image: none;
    background-image: -webkit-gradient(linear, left 0, left 100%, from(#428bca), to(#2d6ca2));
    background-image: -webkit-linear-gradient(top, #428bca 0, #2d6ca2 100%);
    background-image: -moz-linear-gradient(top, #428bca 0, #2d6ca2 100%);
    background-image: linear-gradient(to bottom, #428bca 0, #2d6ca2 100%);
    background-repeat: repeat-x;
    border-color: #2b669a;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
    filter: progid: DXImageTransform.Microsoft.gradient(enabled=false);
    color: white;
    rotation: 45%;
}

.zinutes .vardas_pavarde {
    font-size: 18px;
}

.zinutes .last {
    width: 50%;
}

td.nauja_zinute span {
    color: green;
    font-size: 20px;
}

table.zinutes tr>td {
    vertical-align: middle;
}

.zinutes .auto-hint {
    font-size: 12px;
}

.profilis {
    font-size: 26px;
}

.profilis {
    vertical-align: middle
}

.uzduotys_skyrius {
    width: 25%;
    float: left;
    text-align: center;
}

.bibliotekine {
    display: none;
}

.biblioteka_menu {
    background: #9dc521;
}

.fileUpload {
    position: relative;
    overflow: hidden;
    /* margin: 10px; */
}

.accordion-button {
    background-color: var(--bs-accordion-btn-bg) !important;
}

.fileUpload input {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    filter: alpha(opacity=0);
}

.paslepta {
    display: none;
}

.stojimas_kontaktine_informacija .inline-block {
    display: inline-block;
    float: none;
}

.stojimas th {
    font-size: 11px;
}

.stojimas td,
.table>tbody>tr.stojimas>td {
    font-size: 13px;
    padding: 6px !important;
}

.stojimas tr.apacia {
    border-bottom: 4px solid #ddd;
    font-size: inherit;
}

table.el_admission {
    table-layout: fixed;
}

.el_admission .apacia .alert {
    padding: 2px;
}

table.sutarciu_pasirasymas>tbody>tr>td {
    vertical-align: middle;
}

.pageidavimai_param input[type=radio] {
    margin: 1px;
    outline: none;
}

.pageidavimai_param {
    margin-right: 20px;
}

.komentaras_admin {
    display: none;
}

.sutarties_pasirasymas {
    display: none;
}

.priedai {
    margin-right: 10px;
}

.show {
    display: block;
}

.hide {
    display: none;
}

.uzduoties_priskyrimas {
    width: 300px;
}

.gedimai_meniu {
    margin-right: 5px;
}

.modal-padaliniai .modal-dialog .modal-content {
    padding: 10px;
}

.atsarginis_email {
    width: 500px;
    margin: auto;
}

#form_pamirsau {
    max-width: 500px;
    margin: auto;
}

table.patvirtino_studijas>tbody>tr>td {
    padding: 0px;
}

textarea.studijavimo_patvirtinimo_komentaras {
    height: 18px;
    padding: 0px;
    margin: 0px;
    font-size: 12px;
}

div.studijavimo_patvirtinimo_komentaras {
    display: none;
}

.arduino_photos>.modal-dialog {
    max-width: 640px;
    width: auto;
}

div.arduino_kaledines span {
    font-size: 48px;
    padding-top: 65px;
    padding-left: 20px;
    float: left;
}

div.arduino_kaledines img {
    float: left;
}

div.arduino_kaledines {
    padding-bottom: 20px;
    max-width: 600px;
    margin: 0 auto;
    overflow: auto;
}

.thumbnail:hover {
    background: #a7a3a2;
}

@media (max-width: 600px) {

    div.arduino_kaledines span,
    div.arduino_kaledines img {
        float: none;
    }
}

.table.rysiai>tbody>tr>td {
    padding: 0px;
}

.table_rysiai>tbody>tr>td {
    padding: 0px;
}

.table_rysiai {
    margin: 0px;
}

.duomenu_lauko_reiksme_admin {
    display: none;
}

.bootstrap-datetimepicker-widget {
    z-index: 1200 !important;
    position: absolute;
}

.kurti_sablona {
    display: none;
}

.studento_reg {
    width: 90%;
    float: left;
}

/* Practice contract form: stack the label and the input on phones so the
   fields use the full width instead of a narrow table cell. */
@media (max-width: 767.98px) {
    .sutarties-forma,
    .sutarties-forma tbody,
    .sutarties-forma tr,
    .sutarties-forma td {
        display: block;
        width: 100%;
    }

    .sutarties-forma tr:not(.no-border) {
        border-bottom: 1px solid var(--bs-border-color-translucent);
        padding: .5rem 0;
    }

    .sutarties-forma td {
        border: 0;
        padding: 0 0 .25rem 0;
    }

    .sutarties-forma td > div.right {
        text-align: left !important;
    }

    .sutarties-forma td:empty {
        display: none;
    }

    .sutarties-forma .studento_reg,
    .sutarties-forma .studento_reg .form-control {
        width: 100%;
        float: none;
    }
}

.studento_reg .form-control {
    width: inherit;
}

.asmuo {
    width: 185px;
}

.table>tbody>tr.no-border>td {
    border: none;
}

.inline-flex {
    display: inline-flex;
    vertical-align: middle;
}

.sut_nr {
    width: 20px;
}

.prasymas_busena {
    padding: 6px;
    /* float: left;
    margin-right: 5px; */
    margin-bottom: 0px;
}

.sablono_perziura {
    line-height: 30px;
}

.prasymu_sablonai tr td {
    max-width: 400px;
}

.nerodoma {
    color: rgb(197, 0, 0);
}



#vizavimai {
    margin-top: 10px;
}



.sablonai_info span {
    width: 15px;
}

.popover .popover-content,
.grazinimo_komentaras {
    white-space: pre-wrap;
}

.vizuojancio_pridejimas {
    padding-bottom: 10px;
}

.prasymai_kuruoja {
    font-size: 20px;
    color: red;
}

.prasymai .date {
    white-space: nowrap;
}

.prasymai tr td:last-child {
    width: 160px;
    white-space: nowrap;
}

.prasymai td small {
    white-space: nowrap;
}

.prasymai_paieska {
    width: 300px;
    margin: 20px 0;
    display: inline-block;
}

/* .info { background-color: #d9edf7 !important; } */

.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f4f0ec /* #f5f5f5 */;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}

.inline {
    display: inline;
}

.sablonas input[name="tekstas[][rule_kiek_zenklu]"] {
    width: 30px;
}

tr.atlikta td,
tr.atlikta th {
    display: none;
}

.imageClip {
    max-height: 100px;
    max-width: 100px;
    overflow: hidden;
}

.very_danger {
    background-color: #ff7c7c !important;
}

.table>tbody>tr>td.child_laukas {
    font-size: 12px;
    padding-left: 40px;
}

.info_blokas {
    width: 100%;
    background: rgba(0, 0, 0, 0.25);
    overflow: auto;
}

.sidebar-brand {
    font-family: Corbel;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.25);
}

.rezervacija>tbody>tr>td,
.rezervacija>tbody>tr>th {
    padding: 2px;
    background: var(--custom-bg);
}

.rezervacija>thead>tr>th {
    width: 139px;
}

.rezervacija>tbody>tr>th {
    width: 10%;
}

.rezervacija tr.auditorija {
    border-top: 2px solid black;
}

.rezervacija tr td {
    width: 10%;
}

/* Auditorijų užimtumas: lentelės antrastė prilimpa prie viršaus
   (anksčiau tai darė JS, fiksuodamas thead su margin hack'u) */
.rezervacija>thead {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
}

/* Kontekstinės lentelės spalvos: aukščiau esanti modulio taisyklė
   (.rezervacija>tbody>tr>td/th) nustelbia Bootstrap, todėl grąžiname aiškesniu selektoriumi */
.rezervacija>tbody>tr>td.table-danger {
    background: var(--bs-danger-bg-subtle);
}

.rezervacija>tbody>tr>th.table-info {
    background: var(--bs-info-bg-subtle);
}

table.technikos_sarasas input[type=file] {
    width: 92px;
}

table.technikos_sarasas .daikto_aprasymas {
    height: 200px;
}

table.rezervacija_head {
    margin-bottom: 0px;
    position: sticky;
    top: 0;
    z-index: 9;
    width: 100%;
}

.rezervacija_head>tbody>tr>th {
    background: var(--custom-bg);
}

/* Highlighted (selected) day in the grid header */
.rezervacija_head>tbody>tr>th.siandien {
    background: #D9EDF7;
}

/* Reservation grid window: the grid keeps its pixel width and scrolls inside the
   content box, so it can never slide over the left menu on narrow screens. */
.rezervacija_scroll {
    max-height: min(500px, 65vh);
}

/* Occupancy calendar window: the same idea as .rezervacija_scroll above. The
   max-height also keeps the sticky thead (.rezervacija>thead) working, because
   the box itself becomes the vertical scroll container. */
.rezervacija_kalendorius {
    max-height: min(800px, 145vh);
}

/* Occupancy calendar toolbar: sits above the scrolling window, so the week
   navigation, the week number and the filter stay visible while the wide table
   scrolls. The inputs only need a bounded width inside the flex row. */
.kalendorius_toolbar .form-control {
    max-width: 160px;
}

.uzimta {
    width: 100%;
    min-height: 10px;
    padding: 0px;
    white-space: normal;
}

.uzimta small {
    font-size: 9px;
}

.praktika_vard_pavard {
    width: 250px;
}

table.praktika_admin td.veiksmai {
    min-width: 506px;
}

table.visi_moduliai>tbody>tr>td,
table.visi_moduliai>tbody>tr>th,
table.visi_moduliai>tfoot>tr>td,
table.visi_moduliai>tfoot>tr>th,
table.visi_moduliai>thead>tr>td,
table.visi_moduliai>thead>tr>th {
    padding: 2px;
    font-size: 12px;
}

.transliacija_button {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 9999999999;
}

.al_vizuotas {
    font-size: 22px;
}

.al_admin .reset {
    width: 82px;
}

.duomenu_lauko_admin_button {
    margin-left: 5px;
}

/* IT rezervacija */

.table>tbody>tr>th.it_rezervacija_valandos {
    padding: 0px;
    background: var(--custom-bg);
    z-index: 1;
    vertical-align: middle;
    text-align: center;
}

.siandien {
    background: #D9EDF7;
}

.rezervuok:hover,
.rezervuok_hover {
    cursor: pointer;
    background: red;
}

.rezervuok:hover div {
    cursor: pointer;
    background: rgba(128, 128, 128, 0.48);
    top: -10000px;
    height: 10000px;
    position: absolute;
    width: 16px;
    z-index: 10;
}

.rezervuok {
    float: left;
    width: 17px;
    height: 40px;
}

.pl_10 {
    width: 10px;
    min-width: 10px;
    font-size: 7px;
}

.pl_10:hover div {
    width: 9px;
}

.pl_11 {
    width: 11px;
    min-width: 11px;
    font-size: 7px;
}

.pl_11:hover div {
    width: 10px;
}

.pl_12 {
    width: 12px;
    min-width: 12px;
    font-size: 7px;
}

.pl_12:hover div {
    width: 11px;
}

.pl_13 {
    width: 13px;
    min-width: 13px;
    font-size: 7px;
}

.pl_13:hover div {
    width: 12px;
}

.pl_14 {
    width: 14px;
    min-width: 14px;
    font-size: 7px;
}

.pl_14:hover div {
    width: 13px;
}

.pl_15 {
    width: 15px;
    min-width: 15px;
    font-size: 7px;
}

.pl_15:hover div {
    width: 14px;
}

.pl_16 {
    width: 16px;
    min-width: 16px;
    font-size: 7px;
}

.pl_16:hover div {
    width: 15px;
}

.pl_17 {
    width: 17px;
    min-width: 17px;
}

.pl_17:hover div {
    width: 16px;
}

.pl_18 {
    width: 18px;
    min-width: 18px;
}

.pl_18:hover div {
    width: 17px;
}

.pl_19 {
    width: 19px;
    min-width: 19px;
}

.pl_19:hover div {
    width: 18px;
}

.pl_20 {
    width: 20px;
    min-width: 20px;
}

.pl_20:hover div {
    width: 19px;
}

.pl_21 {
    width: 21px;
    min-width: 21px;
}

.pl_21:hover div {
    width: 20px;
}

.pl_22 {
    width: 22px;
    min-width: 22px;
}

.pl_22:hover div {
    width: 21px;
}

.daikto_eilute {
    position: relative;
}

.uzimtumas {
    position: absolute;
    height: 40px;
    background: #d9edf7;
    word-wrap: normal;
    white-space: nowrap;
    border: 1px solid #3ec8d1
}

.daiktas {
    float: left;
    cursor: pointer;
    width: 186px;
    height: 40px;
    white-space: inherit;
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    overflow: visible;
    position: relative;
    font-size: 12px;
    line-height: 11px;
    padding: 2px;
}

.daiktas_img {
    position: absolute;
    right: 0px;
}

.daiktas .popover {
    max-width: 400px;
}

.daiktu_grupe {
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    font-weight: bold;
    padding: 5px;
}

.grazinta {
    position: absolute;
    z-index: 8;
}

.grazinta:hover {
    cursor: pointer;
}

.grazintas {
    background: #F1F1F1;
}

.rezervacija_fixed .auditorija {
    background: #f2dede;
    border: 1px solid #f44336;
}

.tinklelis {
    border-right: 1px solid #F1F1F1;
    border-bottom: 1px solid #F1F1F1;
}

.aktyvus_daiktas .daiktas,
.aktyvus_daiktas .daiktas small {
    background: var(--main);
    color: white;
}

.aktyvus_daiktas {
    background: #D4B8BF;
}

.rezervacija_fixed .push {
    height: 0px;
}

.rezervacija_fixed .pradzia {
    cursor: pointer;
    background: red;
}

/* .rezervacija_fixed (the grid rows) must stay a plain, unpositioned and
   unclipped block: the scrolling happens in .rezervacija_scroll, and the rows
   take their 40px height from the cleared .push element (see
   .rezervacija_fixed .push), which keeps them aligned with the sticky header. */
.rezervacija_fixed table {
    table-layout: fixed;
}

.rezervacija_fixed table td {
    word-wrap: normal;
    white-space: nowrap;
}

.ciklinis_info,
.keli_daiktai_info,
.komentaras_info {
    cursor: pointer;
}

/* Actions inside a booking bar: cancel the reservation / mark it as returned */
.uzimtumas .rez_veiksmas {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 1px;
    background: inherit;
    font-size: 0.75rem;
    line-height: 1;
    opacity: 0.6;
}

.uzimtumas .rez_veiksmas:hover {
    opacity: 1;
    cursor: pointer;
}

.uzimtumas .rez_atsaukti {
    right: 2px;
}

.uzimtumas .grazinta {
    right: 20px;
}

.p_busenos_pagination {
    display: inline-block;
    vertical-align: top;
    margin: 0px;
}

.p_busenos_pagination ul {
    margin: 0px;
}

h1 {
    text-align: center;
    padding: 0px;
}

h2 {
    margin-top: 10px;
}



table.admin td {
    vertical-align: top;
}

#error {
    display: block;
    margin: 5px;
    color: #4d4948;
    background-color: #fffebe;
    border: 1px solid #cbcbcb;
    font-size: 90%;
}

p.error {
    color: red;
}

#result {
    display: block;
    margin: 5px;
    color: #524f4f;
    background-color: #ededed;
    border: 1px solid #cbcbcb;
    font-size: 90%;
}

p.result {
    color: #524f4f;
}

th.bg-success, tr.bg-success { background-color: #dff0d8 !important; }
th.bg-info, tr.bg-info { background-color: #d9edf7 !important; }
th.bg-warning, tr.bg-warning { background-color: #fcf8e3 !important; }
th.bg-danger, tr.bg-danger { background-color: #f2dede !important; }

a { text-decoration: none; }

.btn-xs { padding: 3px 5px 3px 5px; font-size: 10px; }

.btn-secondary { 
    color: #000;
    background-color: #d5cdc5;
    border-color: #b3aca6;
}

.btn.active { color: white; }

#success {
    margin: 5px;
    color: #4d4948;
    background-color: #bce9b5;
    border: 1px solid #7ace6c;
    font-size: 90%;
}

table {
    border-collapse: collapse;
}

ul {
    border: 0;
    margin: 0;
    padding: 0;
}

.pagination {
    margin: 5px 0;
}

.savaites {
    margin-bottom: 10px;
}

.kopijavimas {
    width: 45%;
    text-align: center;
}

.table>tbody>tr>td.poskyris {
    padding-left: 25px;
}

table.moksline>tbody>tr>td {
    vertical-align: middle;
}

.terminalas_container {
    max-width: 1359px;
    margin: auto;
    font-family: Calibri, Candara, Segoe, 'Segoe UI', Optima, Arial, sans-serif;
    padding-top: 30px;
}

.blokas_r {
    position: relative;
    display: block;
}

.terminalas_container .row {
    margin-top: 10px;
}

a .blokas {
    position: absolute;
    bottom: 10px;
    left: 20px;
    color: white;
    font-size: 30pt;
    text-align: left;
    text-transform: uppercase;
    font-weight: bold;
    width: 300px;
    border-left: 4px solid #7a7a7a;
    padding-left: 20px;
}

a .blokas_lsu_logo {
    position: absolute;
    width: 100%;
    bottom: 20px;
    color: white;
    font-size: 25pt;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
}

.pasirinkta_kalba {
    background: #C40F3A;
    padding: 8px;
}

.neaktyvi {
    opacity: 0.5;
}

.slepti {
    display: none;
}

.events.collapse {
    padding-top: 5px;
    cursor: pointer;
}

.events {
    cursor: pointer;
}

.events_meniu {
    font-size: 11px;
}




/* Meniu style */

#nav,
#nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style-position: outside;
}

#nav li ul a {
    color: #fff;
    text-decoration: none;
    font-family: Arial, Sans-Serif;
    font-size: 14px;
    font-weight: normal;
    height: 48px;
    line-height: 29px;
    padding-left: 16px;
    padding-right: 12px;
}

#nav ul.dropdown-menu li a {
    background-color: #000;
}

ul.primary-links {
    overflow: visible;
}

#nav li ul li a:hover {
    background-image: none;
    background-color: var(--main);
}

.menu_left #nav>li {
    line-height: 0px;
}

#nav li ul a {
    width: 100%;
    height: auto;
    float: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#nav ul ul {
    top: auto;
}

#nav li ul ul {
    left: 12em;
    margin: 0px 0 0 10px;
}

.nav { gap: 2px; }



/* Style left, darbuotojų sistemos šablonas */

div.menu_left {
    position: fixed;
    top: 0;
    height: 100% !important;
    min-width: 200px;
    max-width: 235px;
    z-index: 3;
    overflow-y: auto;
    overflow-x: hidden;
}

div.menu_left ul.primary-links>li>a {
    float: none !important;
    padding-left: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
}

div.menu_left #nav>li {
    float: none !important;
}

div.menu_left ul.primary-links>li {
    line-height: inherit;
}

.menu_collapse {
    display: none;
    position: absolute;
    margin: 10px;
    right: 0px;
    z-index: 5;
}

@media (max-width: 570px) {
    /* Phone view: the whole page background stays white (--content-bg). The cream
       backdrop (--custom-bg) would otherwise show as a bar above the content box
       (where the collapsed-menu button sits) and as a thin strip at the right
       edge of the content column. */
    body {
        background-color: var(--content-bg);
    }

    div.menu_left {
        display: none;
    }

    .content_left {
        padding-left: 0 !important;
        padding-right: 0;
    }

    /* Phone view: the content box keeps a 10px inset on the left and right — the
       same distance the collapsed-menu button keeps from the right edge (see
       .menu_collapse below) — instead of the desktop 25px + 5px. */
    div.content-bg {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Container wrappers inside the box (e.g. container-fluid) must not add
       their own grid gutter padding on top of the 10px. */
    div.content-bg .container,
    div.content-bg .container-fluid {
        padding-left: 0;
        padding-right: 0;
    }

    /* The grid gutter is narrowed to 2 x 10px: half of it is the column padding,
       so the content keeps the same 10px inset, and the row's negative margin
       (-10px) stays inside the box padding instead of overflowing it. */
    div.content-bg .row {
        --bs-gutter-x: 20px;
    }

    .menu_collapse {
        display: block;
        /* Static instead of absolute, so the button takes its own row on the
           right instead of floating over the content below it. */
        position: static;
        width: fit-content;
        margin: 10px 10px 6px auto;
    }
}

/* BS5 sidebar collapse: BS5 .collapse:not(.show) hides the menu.
   On desktop we always want it visible; on mobile the hamburger toggles it. */
@media (min-width: 571px) {
    div.menu_left {
        display: block !important;
    }
}

@media (max-width: 570px) {
    div.menu_left.collapse.show {
        display: block !important;
    }
}

/* Student navbar BS5 fixes */
.navbar .navbar-nav .nav-link {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 9px;
    padding-left: 10px;
    height: 48px;
    line-height: 48px;
}

.navbar .navbar-nav .nav-item .dropdown-menu .dropdown-item {
    padding-top: 0;
    padding-bottom: 0;
    height: 32px;
    line-height: 32px;
}

/* Animate student navbar dropdown submenu.
   Desktop: Popper positions the submenu absolutely, so a fade/slide is enough
   and it never takes layout height. */
@media (min-width: 992px) {
    #bs-student-navbar .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
        /* Pre-position matching what BS5 Popper will apply, avoids position jump on .show */
        top: 100%;
        right: 0;
        margin-top: var(--bs-dropdown-spacer, 0.125rem);
    }

    #bs-student-navbar .dropdown-menu.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

/* Mobile/tablet: Bootstrap makes the submenu `position: static`, so it is a real
   block inside the collapsed menu and must not reserve height while closed
   (a merely invisible one stretched the black navbar ~350px below its last
   item). Animate it as an accordion instead: height 0 ↔ auto, which expands and
   collapses smoothly without keeping any space when hidden. `interpolate-size`
   is what lets `auto` be animated; browsers without it simply snap open.
   `visibility` is switched after the closing transition, so the links stay
   visible while collapsing but cannot be focused when closed. */
@media (max-width: 991.98px) {
    #bs-student-navbar {
        interpolate-size: allow-keywords;
    }

    #bs-student-navbar .dropdown-menu {
        display: block;
        height: 0;
        border-width: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition: height 0.25s ease, opacity 0.2s ease, visibility 0s linear 0.25s;
    }

    #bs-student-navbar .dropdown-menu.show {
        height: auto;
        opacity: 1;
        visibility: visible;
        transition: height 0.25s ease, opacity 0.2s ease, visibility 0s;
    }
}

#menu.navbar {
    --bs-navbar-padding-y: 0;
}

.icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background-color: white;
}

.icon-bar+.icon-bar {
    margin-top: 4px;
}

.content_left {
    padding-left: calc(var(--content_left) + 5px);
    padding-right: 5px;
    /* padding-top: 7px; */
}

/* Du puslapio turinio išdėstymo variantai: siauras (1000px) ir platus (1285px) */
.inner-wrapper.platus,
.content-bg.container.platus {
    max-width: 1325px /* 1285px; */
}

.content-bg.container.platus {
    width: 100%;
}

div.menu_left ul.primary-links>li>a {
    line-height: 36px;
    height: auto;
    font-size: 14px;
    padding: 0 12px;
    color: #fff;
}

div.menu_left ul.primary-links>li>a:hover {
    background-color: #7a0016;
    color: #fff;
}

div.menu_left .sidebar-brand {
    font-size: 16px;
    padding: 10px;
    color: white;
    text-align: center;
    overflow: hidden;
}

div.menu_left .sidebar-brand .brand-padalinys {
    font-size: 12px;
    font-weight: 100;
    line-height: 12px;
}

div.menu_left ul.primary-links>li.sidebar-brand>a {
    padding: 0px;
    line-height: 20px;
    height: auto;
}

div.menu_left ul.primary-links>li.sidebar-brand>a:hover {
    background-color: transparent;
}

.menu_left ul#nav li ul {
    padding-left: 6px;
}

.meniu-icon {
    margin-right: 6px;
}


div.menu_left ul.primary-links>li>ul>li>a {
    float: left;
}

.menu_left #nav ul {
    height: auto;
}

/* Override height:auto during BS5 collapse transition so animation works both ways */
.menu_left #nav ul.collapsing {
    height: 0;
}

.menu_left #nav li ul a {
    float: none;
    display: block
}

.studento_skelbimai {
    min-height: 0;
}

.studento_skelbimai hr {
    margin-top: 2px;
    margin-bottom: 2px;
}

.bendrabutis_skola {
    background: #d84c4c;
    color: white;
    display: block;
    padding: 5px;
}



.isoriniai_admin {
    margin: 0;
    padding-top: .75rem;
    padding-bottom: .75rem;
    border-top: 1px solid rgba(86, 61, 124, .2);
}

.isoriniai_admin:last-child {
    border-bottom: 1px solid rgba(86, 61, 124, .2);
}

.logo_sritis {
    margin-top: 30px;
    margin-bottom: 30px !important;
}

@media (max-width: 1000px) {
    .logo_sritis {
        margin-top: 60px;
    }
}

.login_form.form-control::placeholder {
    text-align: center;
}

.input-group {
    position: relative;
    width: 100%;
}

.input-group-append {
    position: absolute;
    z-index: 100;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

#togglePassword i {
    color: #ff002f79;
    /* Change the color of the eye icon to grey */
}

input::-ms-clear,
input::-ms-reveal {
    display: none;
}

/* override bootstrap.min.css */
@media (min-width: 768px) {
    .navbar {
        border-radius: 0px;
    }
}

.list-group-item.disabled {
    color: inherit;
}

/* BS5 left menu chevron arrow */
#nav a[data-bs-toggle="collapse"] .menu-arrow {
    float: right;
    transition: transform 0.2s ease;
    transform: rotate(0deg);
}

#nav a[data-bs-toggle="collapse"].collapsed .menu-arrow {
    transform: rotate(-90deg);
}

/* Submenu expansion/collapse animation */
#nav ul.collapsing {
    transition: height 0.25s ease;
}

/* events modal transition increase */
#eventsModal.modal.fade .modal-dialog {
    transition: transform 0.6s ease-out;
}

/* TomSelect: show selected items as disabled/grayed in dropdown */
.ts-dropdown .option.selected {
    opacity: 0.3;
    cursor: not-allowed;
}

.ts-dropdown .option.selected:before {
    content: "\2713  ";
    color: var(--main, #DA001D);
    font-weight: bold;
}

/* TomSelect (vienas pasirinkimas): išskleidus sąrašą paieškos laukas neturi
   nukelti pasirinkimo į antrą eilutę – leidžiame input'ui susitraukti. */
.ts-wrapper.single .ts-control {
    flex-wrap: nowrap;
}

.ts-wrapper.single .ts-control>input {
    min-width: 0;
}

/* Eilutės spinner'is: aukščiu atitinka formos valdiklius (btn / form-control),
   kad sulygiuotų su šalia esančiu mygtuku. display:block nuima inline-baseline poslinkį. */
.spinner-border.spinner-control {
    display: block;
    width: calc(1.5em + 0.75rem + var(--bs-border-width) * 2);
    height: calc(1.5em + 0.75rem + var(--bs-border-width) * 2);
}

/* Mygtuko spinner'is: rodomas TIK kol vykdoma to mygtuko užklausa (hx-indicator
   prideda htmx-request būtent šiam elementui). Kai kraunamas visas blokas,
   htmx-request atsiranda konteineriui, todėl šis spinner'is lieka paslėptas. */
.spinner-btn {
    visibility: hidden;
}

.spinner-btn.htmx-request {
    visibility: visible;
}

/* Dashboard cards flow into two independent CSS columns instead of the Bootstrap
   grid (the column gap comes from the Bootstrap `gap-4` utility, the vertical gap
   from each card's own `mb-4`). Below 768px it collapses to a single column. */
.dashboard-columns {
    column-count: 2;
}

.dashboard-columns > * {
    break-inside: avoid;
}

@media (max-width: 767.98px) {
    .dashboard-columns {
        column-count: 1;
    }
}

/* Dashboard widget updates: while refreshing, the spinner is shown in the widget's place */
.cell-widget {
    position: relative;
}

.cell-widget .cell-refresh-indicator {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    margin: 0;
    /* Matches the card it covers (see .card above) */
    background-color: var(--content-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.cell-widget .cell-refresh-indicator.htmx-request {
    pointer-events: auto;
}

/* Tab'ai (BS5): visi šiek tiek kreminiai, aktyvus - dvigubai tamsesnis */
.nav-tabs .nav-link {
    background-color: #f7f2e9;
    border-color: #d5cdc5 #d5cdc5 transparent;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    background-color: #f3ecde;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.active .nav-link {
    background-color: #efe5d3;
    border-bottom-color: #efe5d3;
}

/* Tab'ai vyniojasi į kitą eilutę, kai netelpa */
.nav-tabs.nav-justified {
    flex-wrap: wrap;
}

/* Pills navigacija (x-tabs): visi smėliniai, aktyvus - bordo */
.nav-pills {
    gap: 0.5rem;
}

.nav-pills .nav-item {
    display: flex;
}

.nav-pills .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    background-color: #E7DCC6;
    color: #4a4033;
}

.nav-pills .nav-link:hover,
.nav-pills .nav-link:focus {
    background-color: #d9cba9;
    color: #3a3327;
}

.nav-pills .nav-link.active,
.nav-pills .nav-item.active .nav-link,
.nav-pills .show>.nav-link {
    background-color: #7A0016;
    color: #fff;
}

.nav-pills.nav-justified {
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Sistemos nustatymų skirtukai vyniojasi kaip atskiri, vienos eilutės elementai. */
.system-config-tabs .nav-item {
    flex: 1 1 auto;
}

.system-config-tabs .nav-link {
    width: 100%;
    white-space: nowrap;
}

/* Contacts main-area tabs (see app/Views/contacts/tabs.php): 500px while the
   page heading next to them is visible; below lg that heading is hidden
   (d-none d-lg-block), so the pills take the whole row width instead. */
.contacts-tabs {
    width: 500px;
}

@media (max-width: 991.98px) {
    .contacts-tabs {
        width: 100%;
    }
}

/* Tab'ai, kurie veda į atskirą puslapį (ne SPA sub-view), lieka pilki */
.nav-pills .nav-link.nav-link-grey {
    background-color: #e9e9e9;
    color: #333;
}

.nav-pills .nav-link.nav-link-grey:hover,
.nav-pills .nav-link.nav-link-grey:focus {
    background-color: #dadada;
    color: #1a1a1a;
}

/* BS3 btn-default palaikymas: el_stojimai modulių meniu mygtukai (kol taps tab'ais) */
.btn-default {
    color: #000;
    background-color: #f4f0ec;
    border-color: #d5cdc5;
}

.btn-default:hover,
.btn-default:focus {
    color: #000;
    background-color: #e1d6cc;
    border-color: #bbaea2;
}

.btn-default:active,
.btn-default.active,
.btn-default:active:hover,
.btn-default.active:hover,
.btn-default:active:focus,
.btn-default.active:focus {
    color: #000;
    background-color: #e1d6cc;
    border-color: #bbaea2;
}

.kint-rich {
    z-index: 5;
    background: white;
}

/* "Aktuali studijų informacija" superscript tag ("Nauja") */
sup.news-tag {
    font-size: 0.62em;
    padding: 0.12em 0.4em;
    margin-left: 0.3em;
    border-radius: 0.4rem;
    font-weight: 600;
    vertical-align: super;
    line-height: 1;
    white-space: nowrap;
}

/* Student dashboard (app/Views/studentai/contacts/members_area.php) and the
   employee preview ("Kaip mato studentas") use the same bricks columns as the
   employee dashboard (`.dashboard-columns`); the student's own card
   ("Aš ir universitetas") keeps spanning the full width. */
.dashboard-columns > .dashboard-cell-wide {
    column-span: all;
}

/* Stacked tables — opt-in via `<x-data-table stack="true">` (`.table-stack`).
   Below 768 px the header row is hidden and every body row becomes a card;
   scripts.js copies each <th> label into the matching <td data-label>, so every
   value keeps its column name. Use it for wide tables that would otherwise
   scroll horizontally on a phone. */
@media (max-width: 767.98px) {
    .table-stack thead {
        display: none;
    }

    .table-stack > tbody > tr {
        display: block;
        margin-bottom: 0.75rem;
        border: 1px solid var(--bs-border-color);
        border-radius: 0.5rem;
        overflow: hidden;
    }

    .table-stack > tbody > tr.table-warning {
        background-color: var(--bs-warning-bg-subtle);
    }

    .table-stack > tbody > tr.table-light {
        background-color: var(--bs-tertiary-bg);
    }

    /* Zebra striping and row state classes paint the cells, not the row –
       inside a card the cells must stay transparent. */
    .table-stack.table-striped > tbody > tr:nth-of-type(odd) > td,
    .table-stack.table-striped > tbody > tr:nth-of-type(even) > td {
        background-color: transparent;
    }

    .table-stack > tbody > tr > td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        padding: 0.4rem 0.75rem;
        border: 0;
        border-bottom: 1px solid var(--bs-border-color-translucent);
        text-align: right;
        /* long unbroken values (e-mails, document numbers) must wrap, not clip */
        overflow-wrap: anywhere;
    }

    .table-stack > tbody > tr > td:last-child {
        border-bottom: 0;
    }

    .table-stack > tbody > tr > td::before {
        content: attr(data-label);
        flex: 0 0 45%;
        text-align: left;
        font-weight: 600;
        color: var(--bs-secondary-color);
    }

    /* "No rows" state (single cell spanning all columns): plain centred text */
    .table-stack > tbody > tr > td[colspan] {
        display: block;
        text-align: center;
    }

    .table-stack > tbody > tr > td[colspan]::before {
        content: none;
    }
}
