tbody, td, tfoot, th, thead, tr {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}/* Show it is fixed to the top */
:root {
    --f-size-p: 12px;
}

body {
    /* min-height: 75rem; */
    padding-top: 4.1rem;
    overflow: hidden;
    font-size: var(--f-size-p);
    font-family: Arial, Helvetica, sans-serif;
}

p, dl, ol, ul {
    margin-top: 8px;
    margin-bottom: 8px;
}

h1 {
    font-size: 18px;
    background-color: darkgrey;
    margin: 10px 0px;
    padding: 5px 10px;
}

h2 {
    font-size: 15px;
    margin: 10px 0px 2px 30px;
    font-weight: bold;
}

h3 {
    font-size: 18px;
    background-color: darkgrey;
    margin: 10px 0px;
    padding: 10px 10px;
}

h4 {
    font-size: 16px;
    background-color: darkkhaki;
    padding: 5px 10px;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    margin-top: 10px;
}

.row {
    margin: 0px;
}

.print_table {
    font-size: var(--f-size-p);
    border: 1px solid black;
    border-collapse: collapse;
}

div#PrintDiv {
  height: 85dvh;
  max-height: unset; /* To remove the previous fixed max-height constraint */
}

.checkbox_text {
    margin-right: 20px;
    margin-left: 10px;
    width:250px;
    display: inline-block;
}

select option:checked {
    background: cadetblue;
    color: white;
}

/* MENU */
.dropdown a:hover, .dropdown-item:hover {
    color: whitesmoke;
    background-color:#454545;
}

.dropdown_teal {
    background-color: darkslategrey;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    border-radius: 0 0.25rem 0.25rem 0;
}

.dropdown-submenu:hover .dropdown-menu {
    display: block;
}

.btn {
    color: #eef2f7;
    margin-bottom: 3px;
    padding: 0px 5px;
    font-size: 13px;
}

.btn:hover {
    color:white;
    background-color: teal;
}

.btn:focus-visible {
    background-color: teal;
}

.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    background-color: teal;
    color: whitesmoke;
    border: 1px yellow solid;
}


/* FORM */

.form-label {
    margin-bottom: .5rem;
    font-size: var(--f-size-p);
    margin: 0px;
}

.form-divider {
    border-top: 1px #66bca7 dotted;
}
.form-line{
    position:relative;
    margin:10px 0px 0px 0px;
}

.form-line:before {
    content: "";
    display: block;
    border-top: solid 1px #bebebe;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    z-index: 0;
}

.form-line span {
    background: #fff;
    padding: 0 10px;
    position: relative;
    z-index: 1;
    margin-left: 5px;
    font-size: var(--f-size-p);
    font-weight: bold;
    color: seagreen;
}

.form-signin .form-floating:focus-within {
    z-index: 2;
}

.lets_up {
    font-weight: bold;
    color: black;
}

.form-control, .form-check-input[type=radio] {
    background-color: #fff2cc;
}

.form-control:focus {
    background-color: #e1f5de;
}

.form-control:disabled, .disabled-field  {
    background-color: #e9ecef;
    opacity: 1;
    cursor: not-allowed;
}

.disabled-field  {
    margin-top: 0.25rem;
}

.assistant {
    background-color: aliceblue;
    cursor: not-allowed;
    border: 1px solid #cac8eb;
    max-width: 1024px !important;
}

input::placeholder {
    font-style: italic;
    color: #cccccc !important;
}

input:optional, select:optional, textarea:optional, radio:optional, checkbox:optional {
    border-color: gray;
}

input:required:valid, select:required:valid, textarea:required:valid, radio:required:valid, checkbox:required:valid,  .valid  {
    border: 2px solid green;
}

input:invalid, select:invalid, textarea:invalid, radio:invalid, .invalid  {
    border: 2px solid red;
}


input:required:focus:valid {
    background: url("images/ok.svg")  no-repeat 95% 50% lightgreen;
    background-size: 25px;
    border: 2px solid green;
}

input:required:focus:valid + .invalid-feedback {
    display:none;
    color:red;
}

input:focus:invalid {
    background: url("images/fail.svg") no-repeat 95% 50% lightsalmon;
    background-size: 25px;
    border: 2px solid red;
}

input:required:focus:invalid + .invalid-feedback {
    display:block;
    color:green;
}

/* TABLE itemTable */
#itemTable {
    white-space: nowrap;
    font-size: var(--f-size-p);
    color:black !IMPORTANT;
}

#itemTable tr>th:first-child,#itemTable tr>td:first-child {
    background: antiquewhite;
    position: sticky;
    left: 0;
}

#itemTable tr:nth-child(odd) td {
    background: #eefef0;
}

#itemTable tr:nth-child(even) td {
    background:#b5e5c5;
}

#itemTable .table-divider-color {

}

#itemTable .lastRow {
    font-weight: bold;
    font-style: italic;
}

#itemTable .empty_cell {
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='120px'><text x='15' y='20' fill='red' font-size='12'>ÜRES!</text></svg>") !IMPORTANT;
    background-position-x: left !IMPORTANT;
    background-repeat: no-repeat !IMPORTANT;
    color: red !IMPORTANT;
}

#itemTable .cell_error {
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='120px'><text x='15' y='20' fill='red' font-size='12'>!</text></svg>") !IMPORTANT;
    background-position-x: right ! IMPORTANT;
    background-repeat: no-repeat ! IMPORTANT;
    color: red !IMPORTANT;
}


#itemTable .general_empty {
    background-color: #ff6666 !IMPORTANT;
}

#itemTable .number_type {
    text-align: right;
}

#itemTable .passziv {
    background-color: yellow !IMPORTANT;
}

#itemTable .megszunt {
    background-color:#ff6666 !IMPORTANT;
}

#itemTable .found_string {
    font-weight: bold;
    font-style: italic;
    color: blue;
}

#itemTable .hide-col {
    width: 0px !important;
    height: 0px !important;
    display: block !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

#itemTable .table_header {
    background-color: teal !important;
    color: white;
    cursor: ns-resize;
}

#itemTable .bi-sort-alpha-down::before{
    margin-right: 5px;
}

#itemTable .bi-sort-alpha-down-alt::before{
    margin-right: 5px;
}

#itemTable td.highlight {
    background-color: rgba(var(--dt-row-hover), 0.052) !important;
}

/* MEDIA */

@media (min-height: 320) and (max-height: 480) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        /*max-height: 300px;*/
        overflow: auto;
        padding: 5px;
    }
    .responsive-div {
        max-width: 100%;
        /*max-height: 590px;*/
        overflow: auto;
        padding: 5px;
    }
    .textBox {
        width: fit-content;
        height: fit-content;
        overflow-y: auto;
        min-width: 1200px;
    }
}

@media (min-height: 481px) and (max-height: 768px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        /*max-height: 660px;*/
        overflow: auto;
        padding: 5px;
    }
    .responsive-div {
        max-width: 100%;
        /*max-height: 560px;*/
        overflow: auto;
        padding: 5px;
    }
    .textBox {
        width: fit-content;
        height: fit-content;
        overflow-y: auto;
        min-width: 1200px;
    }
}

@media (min-height: 769px) and (max-height: 1024px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        /*max-height: 830px;*/
        overflow: auto;
        padding: 5px;
    }
    .responsive-div {
        max-width: 100%;
        max-height: 760px;
        overflow: auto;
        margin: 4px;
    }
    .textBox {
        width: fit-content;
        height: fit-content;
        overflow-y: auto;
        min-width: 1200px;
    }
}

@media (min-height: 1025px) and (max-height: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        /*max-height: 950px;*/
        overflow: auto;
        padding: 5px;
    }
    .responsive-div {
        max-width: 100%;
        max-height: 900px;
        overflow: auto;
        margin: 5px;
    }
    .textBox {
        width: fit-content;
        height: fit-content;
        overflow-y: auto;
        min-width: 1200px;
    }
}

.page {
    width: 210mm;
    min-height: 297mm;
    padding: 15mm;
    margin: 10mm auto;
    border: 1px #D3D3D3 solid;
    border-radius: 5px;
    background: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.envelope {
    width: 162mm;
    height: 114mm;
    padding: 5mm;
    margin: 10mm auto;
    border: 1px #D3D3D3 solid;
    border-radius: 5px;
    background: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

@page {
    size: A4;
    margin: 0;
}

/* Nyomtatás */
@media print {
    .pagebreak {
        clear: both;
        page-break-after: always;
    }
    table, tbody, tr, th, td {
        border: 1px solid black;
        background-color: green;
        border-collapse: collapse;
        width: 100%;
        font-size: var(--f-size-p);
    }
    .page {
        width: 210mm;
        min-height: 297mm;
        padding: 13mm;
        border: initial;
        border-radius: initial;
        box-shadow: initial;
        background: initial;
        page-break-after: always;
        font-size: var(--f-size-p);
    }
    .textBox {
        width: 720px;
        height: fit-content;
        min-width: 720px;
    }
    .assistant{
        background-color: transparent;
        border: none 0px;
    }
}

#printSection table, #printSection tbody, #printSection thead, #printSection tr, #printSection th, #printSection td {
    border: 1px solid black;
    background-color: transparent;
    border-collapse: collapse;
    font-size: var(--f-size-p);
}

#printSection.pagebreak {
    clear: both;
    page-break-after: always;
}

.bordered {
    border-collapse: collapse;
    width: 100%;
}

.bordered td, .bordered th {
    border: 1px solid black;
    padding: 2px;
}

.no-border {
    border: 0px none;
    border-collapse: collapse;
    width: 100%;
}

.no-border table, .no-border td, .no-border th {
    border: 0px none;
    padding: 2px;
}

.ui-widget-content {
    /*height: 300px;*/
    overflow-y: auto;
    overflow-x: hidden;
}

/*trigger_display*/
.szerk {
    font-weight: bold;
    color: brown !IMPORTANT;
}
.atad {
    font-weight: bold;
    color: green !IMPORTANT;
}
.zar {
    font-weight: bold;
    color: red !IMPORTANT;
}
.varning_cell {
    font-weight: bold;
    color:#ff3366 !IMPORTANT
}
.big_minus{
    background-color: #ffcccc !IMPORTANT
}

#form_message {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 200px;
    text-align: center;
    background-color: darkseagreen;
    box-sizing: border-box;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 30px 90px;
    padding: 10px;
    z-index: 100;
    display: none;
    border-radius: 18px;
}

.form_message_btn {
    display: none;
    position: absolute;
    right: 20px;
    top: 15px;
    color: black;
    padding: 10px;
}

.form_message_btn:hover {
    color:white;
    background-color: gray;
    padding: 10px;
}

.json_bg {
    background-color: honeydew;
}

.json_border {
    border-style: outset;
    border-width: 1px;
}

.json_rounded {
    border-radius: .25rem;
}

.json_max-w-full {
    max-width: 100%;
}

.data-table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1em;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 0 6px rgba(0,0,0,0.08);
    background: white;
}
.data-table th, .data-table td {
    border: 1px solid #e0e0e0;
    padding: 8px 10px;
    vertical-align: top;
}
.data-table th {
    background: #f0f2f5;
    text-align: left;
}

/* Belső táblák megjelenése */
.data-table table {
    margin: 5px;
    width: auto;
    font-size: 0.9em;
    box-shadow: none;
}
/* Aktív, azaz kattintott sor stílusa */
#itemTable tr.aktiv {
    text-decoration: underline;
    text-decoration-color: dodgerblue;
    text-decoration-thickness: 2px;
}

a.gyvr_link:link { color: brown; text-decoration:none; font-weight:normal; }
a.gyvr_link:visited { color: #b97850; text-decoration:none; font-weight:normal; }
a.gyvr_link:hover { color: #b97850; text-decoration: underline; font-weight:normal; }
