@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css');

@import url('root.css');
@import url('fa-icons.css');
@import url('buttons.css');
@import url('login.css');
@import url('gdpr.css');
@import url('journal.css');
@import url('document.css');
@import url('menu.css');
@import url('slider.css');

html, body {
    --bs-body-font-family: "Poppins", sans-serif;
    font-family: var(--bs-body-font-family);
    
    --font-size: 1rem;
    font-size: var(--font-size);
}

* {
    box-sizing: border-box;
    line-height: var(--line-height);
}

.fa, .fa-brands, .fa-regular, .fa-solid, .fab, .far, .fas {
    line-height: var(--line-height);
}

i[class*="fa-"], .btn {
    text-shadow: 2px 2px 4px #575757;
}

:is(.dropdown-menu, .pagination) :is(i, .btn) {
    text-shadow: unset;
}

.card-img-top {
    font-size: 60px;
}

.shadow,
.shadowed {
    box-shadow: var(--box-shadow);
}

.shadowed:hover {
    box-shadow: var(--box-shadow-hover);
}

body a {
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6,
.fs-1, .fs-2, .fs-3, .fs-4, .fs-5, .fs-6, .fs-xs {
    --line-height: 1.3;
    line-height: var(--line-height);
}

.fs-xs {
    font-size: 0.75rem;
}

ul::before {
    content: "";
    clear: both;
    display: block;
}

ul.non-list,
ul:has(li.non-list) {
    list-style: none;
    padding-left: 0;
}

body hr {
    margin-top: 0;
    margin-bottom: 0;
}

[type="text"],
[type="password"],
[type="date"],
textarea,
select {
    background-color: #fff;
    border-radius: var(--btn-radius);
    border: var(--input-border);
    padding: 0.375rem 0.75rem;
    font-family: var(--bs-body-font-family);
    line-height: var(--line-height);
}

.pointer {
    cursor: pointer;
}

.alert.icon::before {
    font-family: var(--fa-family);
    float: left;
    margin-right: 0.5rem;
}

.alert-info.icon::before {
    content: "\f05a";
}

.alert-danger.icon::before {
    content: "\f06a";
}

.dotdotdot {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    --line-clamp: 4;
    -webkit-line-clamp: var(--line-clamp);
}

.dotdotdot:has(p, div, span, a) {
    display: block;
    max-height: calc(var(--line-height) * var(--font-size) * var(--line-clamp));
}

.br-0 {
    border-radius: 0!important;
}

.br-50 {
    border-radius: 50%!important;
}

.accordion,
.timeline {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.accordion .accordion-item {
    box-shadow: var(--box-shadow);
    border: unset;
    background: unset;
}

.accordion .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 1rem;
    font-size: 1rem;
    padding: 1rem;
    margin: 0;
    background-image: var(--bg-gradient);
    color: #fff;
    cursor: pointer;
}

.accordion-header {
    cursor: pointer;
}

.accordion .header::after {
    content: "\f055";
    font-family: var(--fa-family);
    font-size: 1.5rem;
    line-height: 1;
    transition: var(--transition);
}

.accordion-item:has( > .show) > .header::after {
    transform: rotate(45deg);
}

.accordion .body {
    padding: 1rem;
    background: #fff;
}

.accordion .body:not(.show) {
    max-height: 0;
}

.timeline .timeline-item {
    display: grid;
    grid-template-areas:
        "icon date"
        "icon cnt";
    gap: 0.5rem;
    grid-template-columns: min-content auto;
}

.timeline .timeline-item::before {
    grid-area: icon;
    content: "\f133";
    font-weight: 400;
    font-family: var(--fa-family);
    font-size: 1.5rem;
    line-height: 1;
}

.timeline.time .timeline-item::before {
    content: "\f017";
}

.timeline.user .timeline-item::before {
    content: "\f007";
}

.timeline-item :is(.title, .date, .time) {
    grid-area: date;
    font-weight: bold;
}

.content-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 1rem;
    padding: 1rem;
    margin: 0;
    background: #fff;
}

.content-box + .content-box {
    margin-top: 1rem;
}

.latest-news-list .dotdotdot {
    --line-clamp: 10;
}

.list-item .inner {
    display: grid;
    grid-template-areas:
        "title title"
        "img date"
        "img cnt";
    grid-template-columns: 30% 70%;
    grid-auto-rows: max-content;
    row-gap: 0.5rem;
    grid-template-rows: min-content calc(var(--line-height) * var(--font-size)) auto;
    align-items: start;

    overflow: hidden;
    box-shadow: var(--box-shadow);
    position: relative;
    background-color: #fff;
    transition: var(--transition);
}

.list-item .inner:has(.location) {
    grid-template-areas:
        "title title"
        "img date"
        "img location"
        "img cnt";
    grid-template-rows: 
        min-content
        calc(var(--line-height) * var(--font-size))
        min-content
        auto;
}

.list-item:hover .inner {
    box-shadow: var(--box-shadow-hover);
}

.list-item .inner .title {
    display: block;
    padding: 0.5rem 1rem;
    margin-right: -1px;
    background-image: var(--bg-gradient);
    color: #fff;
}

.list-item .thumbnail {
    /* width: 100%; */
    width: calc(100% - 0.5rem);
    margin: 0 0 0.5rem 0.5rem;
    aspect-ratio: 4 / 3;
    position: relative;
}

.list-item .thumbnail::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--bg-img) no-repeat center center;
    background-size: 150%;
    filter: blur(8px) opacity(0.15);
}

.list-item .thumbnail::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.05) var(--bg-img) no-repeat center center;
    background-size: contain;
    mix-blend-mode: multiply;
}

.list-item .inner .title {
    grid-area: title;
}

.list-item .inner .date {
    grid-area: date;
    padding: 0 0.5rem;
}

.list-item .inner .location {
    grid-area: location;
    padding: 0 0.5rem;
}

.list-item .inner .img {
    grid-area: img;
}

.list-item .inner .news-lead {
    grid-area: cnt;
    padding: 0 0.5rem;
    margin-bottom: 0.5rem;
}

.list-item .inner .news-lead * {
    padding: 0;
    margin: 0;
}

.list-item:not(.news) .inner {
    grid-template-columns: 20% auto;
}

#news-page .publication-data {
    display: inline-flex;
    align-self: start;
    padding: 0.5rem 1rem;
    column-gap: 0.5rem;

    border: solid 1px var(--color-dark-beige);
    background: rgb(from var(--color-beige-1) r g b / 0.5);
    color: var(--color-dark-beige);
}

#news-page .publication-data > *:nth-child(n+2) {
    border-left: solid 1px var(--color-dark-beige);
    padding-left: 0.5rem;
}

.jobs {
    background: #fff url('../image/doctors-gown-background.jpg') no-repeat top right;
    background-size: cover;
    justify-content: center !important;
    flex-direction: column;
    margin: 1rem 0 0 0;
    min-height: 25vw;
}

.jobs:not(:has(.list-item)) {
    display: none;
}

.jobs .latest-news-list {
    justify-content: start!important;
}

.jobs .list-item {
    width: 50%;
    flex: 0 0 50%;
    --line-clamp: 3;
}

.jobs .news.list-item .inner {
    grid-template-columns: 200px auto;
}

.jobs .btn-more-cntr * {
    text-align: left!important;
}

#congress_item_template *:not(.congress-item-info-container, .congress-item-info-container *, #congress_document table *) {
	color: var(--color-text);
}

.content_inner_tagsag .member_links tr:not(:has(.tophed)),
.content_inner_tagsag .member_links td.tagsag_icon {
    display: none;
}

#due_tbl_div table tr:nth-child(1)::before {
    display: table-cell;
    content: "Befizetés éve";
    white-space: nowrap;
    text-align: left!important;
    font-weight: bold;
}

#due_tbl_div table tr:nth-child(2)::before {
    display: table-cell;
    content: "Összeg";
    text-align: left!important;
    font-weight: bold;
}

#due_tbl_div table tr::before,
#due_tbl_div table tr td {
    width: 25%;
    text-align: center;
    padding: 6px 0px;
}

#due_tbl_div table tr td {
    display: none;
}

#due_tbl_div table tr td:nth-last-child(-n+3) {
    display: table-cell;
}

#due_tbl_div table tr:nth-child(1)::before,
#due_tbl_div table tr:nth-child(1) td {
    border-bottom: solid 1px #aaa;
}


#dueTblInner td:has(h3) {
    text-align: left!important;
}

#dueTblInner td:has(h3) br {
    display: none;
}

.content_inner_tagsag *:has(.member_links) > :is(h3, #due_tbl_div) {
    background: #fff;
    margin: 0!important;
    padding: 1rem;
}

#right_div .table_portlet:not(:has(td *)) {
	display: none;
}

@media (max-width: 1199px) {
    .latest-news-list .dotdotdot {
        --line-clamp: 5;
    }
}

@media (max-width: 991px) {
    .list-item .inner {
        grid-template-areas:
            "title"
            "date"
            "img"
            "cnt";
        grid-template-columns: 1fr!important;
    }

    .list-item .thumbnail {
        width: 100%;
        margin: 0;
    }

    .list-item .inner:has(.location) {
        grid-template-areas:
            "title"
            "date"
            "img"
            "location"
            "cnt";
        grid-template-rows: 1fr!important;
    }

    .jobs .news.list-item .inner {
        width: 50%;
        grid-template-columns: 1fr;
    }

    .jobs .list-item {
        width: 100%;
        flex: 0 0 100%;
    }

    #due_tbl_div table tr {
        display: flex;
        flex-wrap: wrap;
    }

    #due_tbl_div table tr::before {
        display: flex!important;
        justify-content: center;
        width: 100%;
        flex: 0 0 100%;
        border-bottom: 0!important;
    }

    #due_tbl_div table tr td {
        width: calc(100% / 3);
        flex: 0 0 calc(100% / 3);
    }
}

@media (max-width: 767px) {

}

@media (max-width: 575px) {
    .jobs {
        background: none;
    }

    .jobs .latest-news-list {
        background: unset;
    }

    .jobs .news.list-item .inner {
        grid-template-columns: auto;
        width: 100%;
    }

    .journal-content {
        padding: 0 1rem;
        display: grid;
        grid-template-areas:
            "title"
            "img"
            "cnt";
        grid-template-columns: auto;
        gap: 0;
    }
}