/*
===============================================================================================================================
Put your custom CSS in this file.
===============================================================================================================================
*/

/* Load of Font Awesome for use by Presentation Plugin */
/*@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css');*/

:root{
    --navy:#0a3161; /* mély éjkék */
    --red:#b31942;  /* finom piros accent */
    --beige:#f6f2ea; /* meleg, nyugodt háttér */
    --ink:#1b1f24;  /* szövegszín */
    --muted:#5a6473;
    --card:#ffffff;
    --shadow:0 6px 18px rgba(28,43,79,.08);
    --radius:16px;
    --header-offset: 25px;
}

/* Apply before scrolling: history.pushState does not update :target. */
[id] {
    scroll-margin-top: calc(var(--header-offset) + 20px);
}

/* CSS to style Presentation Plugin slides */
.reveal .slides {
    text-align: left;
}

.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
    text-transform: unset !important;
}

/* 
   ******************************************************************************************* ANCHOR
*/ 
.anchor {
    display: block;
    position: relative;
    top: calc(-1 * var(--header-offset, 25px));
    height: 0;
}

/* 
   ******************************************************************************************* HERO
*/ 
.modular-hero.hero {
  position: relative; /* needed for absolute positioning inside */
}

.hero-location-badge {
  position: absolute;
  bottom: 1rem;
  left: 1.5rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.85rem;
  background: rgba(0, 0, 0, 0.4);
  color: #f5f5f5;
  backdrop-filter: blur(4px);
  white-space: nowrap;
}

.hero-location-badge a {
  color: inherit;
  text-decoration: none;
}

.hero-location-badge a:hover {
  color: #b31942;
}

.hero #to-start {
    color: #b22234;
    font-size: 2.5rem;
}

/* 
   ******************************************************************************************* MAIN OVERRIDES
*/ 

.header-transparent #header:not(.scrolled) {
  font-size: 0.75rem;
}

body {
    font-weight: 400;
    background-color: #fbfffa;
}

h1, h2, h3, h4, h5, h6 {
    color: #f69679;
    font-weight: 400;
    font-size: 1.8rem;
}

#sections-nav ul {
    border-left-style: solid;
    border-color: #0a3161;
}

section #header {
    font-size: 0.88rem;
}

.header-fixed .hero {
    background-position: center center;
}

.container.grid-lg {
    max-width: 1200px;
}

.container.grid-lg {
    max-width: 1200px;
}

*,
::after,
::before {
  box-sizing:border-box
}

#header a {
    color: #50596c;
}

#body-wrapper .container {
    padding: 2.3rem 0 2rem;
  }

.dropmenu ul li a:hover, .dropmenu ul li a:focus, .dropmenu ul li a.active {
    color: #f69679 !important;
}

.mobile-menu .button_container span {
    background: #0a3161;
  }

/* Text modules own their outer spacing; internal typography stays unchanged. */
.text-module {
    margin-bottom: 2rem;
}

.text-module-content > :first-child {
    margin-top: 0;
}

.text-module-content > :last-child {
    margin-bottom: 0;
}

@media (min-width: 1000px) {
    .text-module {
        margin-bottom: 3rem;
    }
}

a {
    color: #b22234;
}
a:focus, a:hover, a:active, a.active {
    color: #0a3161;
    text-decoration: underline;
}

ul:not(.dropmenu ul), ol {
    font-size: 1.150rem;
}

.f-gallery + p {
  margin-top: 1rem;
}

/*
    Buttons PREV and NEXT
*/
.prev-next {
    margin-top: 2rem;
    text-align: center;
    text-transform: uppercase;
}

.prev-next a {
    font-size: 0.8rem;
}

section p:has(+ ul), section p:has(+ ol) {
  margin-bottom: 0;
}

.notices {
    padding: 1px 1rem 1px 30px;
}

/*
    ******************************************************************************************* FOOTER
*/
#footer {
    color: #acb3c2;
    padding: 0rem;
    text-align: center;
    background-color: #0a3161;
  }

.site-footer {
    width: 100%;
    text-align: center;
    line-height: 40px;
}

/*
    ******************************************************************************************* YOUTUBE
*/
.youtube-iframe, .grav-youtube {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.4);
}

.grav-youtube-wrapper {
  margin-bottom: 2rem;
}

/*
    ******************************************************************************************* BLOCKQUOTE
*/
blockquote {
    border-left: 0;
    position: relative;
    border-radius: 12px;
    padding: 3.25rem 1.75rem 2.5rem;
    background-color: rgba(246, 150, 121, 0.15);
}

blockquote p {
    font-style: italic;
    margin-bottom: 0;
}

blockquote::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    left: 1.75rem;
    width: 33px;
    height: 20px;
    pointer-events: none;
    background-image: url("data:image/svg+xml;utf8,<svg width='33' height='20' viewBox='0 0 33 20' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.28375 19.41l-.49-.77c.42-1.6333.95667-3.57 1.61-5.81.65333-2.2867 1.35333-4.55 2.1-6.79.79333-2.28667 1.56333-4.27 2.31-5.9500041H15.3538C14.9338 2.09666 14.4904 4.26667 14.0238 6.6 13.5571 8.88666 13.1371 11.15 12.7638 13.39 12.4371 15.5833 12.1571 17.59 11.9238 19.41H1.28375zM31.69.0899959 32.18.859998C31.76 2.54 31.2233 4.5 30.57 6.74 29.9167 8.98 29.2167 11.2433 28.47 13.53 27.7233 15.77 26.9533 17.73 26.16 19.41H17.69C18.0167 17.9167 18.3433 16.33 18.67 14.65 18.9967 12.9233 19.3 11.22 19.58 9.54 19.9067 7.81333 20.1867 6.15667 20.42 4.57 20.7 2.93666 20.91 1.44333 21.05.0899959H31.69z' fill='%23f69679'/></svg>");
    background-repeat: no-repeat;
}


/*
    ******************************************************************************************* RELATED PAGES
*/

.jp-relatedposts-post-img {
    border-radius: 5px;
    width: 100%;
  }
  
  .jp-relatedposts-post-img:hover {
    box-shadow: 0 8px 20px 0 rgba(0,0,0,0.4);
  }
  
  #jp-relatedposts {
      border-top: 0px solid #1E2339;
      padding-top: 1em;
      margin: 1em 0;
      position: relative;
      clear: both;
  }
  
  #jp-relatedposts h3.jp-relatedposts-headline {
      margin: 0 0 1em;
      /*display: inline-block;*/
      display: block;
      float: left;
      font-size: 9pt;
      font-weight: 700;
      font-family: inherit;
  }
  
  #jp-relatedposts h3.jp-relatedposts-headline em {
      font-style: normal;
      font-weight: 700;
  }
  
  #jp-relatedposts .jp-relatedposts-items {
      clear: left;
  }
  
  #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post {
      padding-right: 20px;
      filter: alpha(opacity=80);
      -moz-opacity: .8;
      opacity: .8;
  }
  
  #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
      float: left;
      width: 25%;
      margin: 0 0 1em;
      box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
  }
  
  #jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title {
      text-transform: none;
      margin: 0;
      font-family: inherit;
      display: block;
      max-width: 100%;
  }
  
  #jp-relatedposts .jp-relatedposts-items p, #jp-relatedposts .jp-relatedposts-items-visual h3.jp-relatedposts-post-title {
      font-size: 14px;
      line-height: 20px;
      margin: 0;
  }
  
  /* images */
figure.image-caption, .soundcloud {
    margin: 1.5rem;
}

/* drop shadow */
img.caption {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.4);
}

img.caption.map {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.0), 0 6px 20px 0 rgba(0, 0, 0, 0.0);
  filter: grayscale(1);
}

img.caption.map:hover {
  filter: grayscale(0);
}

img.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

img.shadow {
  --tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);
}

img.caption.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
}

img.figure-right {
  float: right;
  margin-left: 10px;
}
img.figure-left {
  float: left;
  margin-right: 10px;
}

.rounded-full {
  border-radius: 9999px;
}

img.profile {
    width: 518px;
    margin: 1rem 2rem 1rem 0;
}

img.illustration {
    width: 518px;
    margin: 1rem 2rem 1rem 0;
}
img.illustration.figure-right {
    width: 518px;
    margin: 1rem 0 1rem 2rem;
}

.justify-center.d-flex {
    justify-content: center;
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem;
}

.mt-3 {
  margin-top: .75rem;
}

/*
    ************************************************************************************************* FORM
*/
.form-label {
  margin-bottom: 1rem;
  display: block;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 400;
  --tw-text-opacity: 1;
  color: rgb(4 4 4/var(--tw-text-opacity));
}

.form-input {
    width: 100%;
    border-radius: .25rem;
    border-color: transparent;
    --tw-bg-opacity: 1;
    background-color: rgb(246 246 246/var(--tw-bg-opacity));
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    --tw-text-opacity: 1;
    color: rgb(4 4 4/var(--tw-text-opacity));
    border-radius: 6px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    border-radius: 0;
    padding-top: .5rem;
    padding-right: .75rem;
    padding-bottom: .5rem;
    padding-left: .75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 #0000;
}

.btn.btn-primary.bg-slate-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59/var(--tw-bg-opacity));
    border-color: transparent;
}

.btn-primary {
    padding: 0.8rem 1.4rem;
    line-height: 1.2;
    height: auto;
    --tw-border-opacity: 1;
    border-color: rgb(18 18 18/var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(18 18 18/var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity));
    border-color: transparent;
}

.btn.btn-primary:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(248 113 113/var(--tw-bg-opacity));
    border-color: transparent;
}

.btn {
    display: inline-block;
    border-radius: .25rem;
    border-width: 1px;
    border-color: transparent;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: .5rem;
    padding-bottom: .5rem;
    font-weight: 600;
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: 150ms;
    border-radius: 6px;
}

button {
    -webkit-appearance: button;
    cursor: pointer;
    background-color: initial;
    background-image: none;
    text-transform: none;
    font-size: 100%;
    margin: 0;
    padding: 0;
}

/*
    ************************************************************************************************* SIDEBAR
*/

#sidebar ul.archives {
    list-style: square;
    list-style-position: inside;
    color: #0a3161;
}

#sidebar .sidebar-content {
    margin-bottom: 2rem;
}
#sidebar .sidebar-content h2 {
    margin-top: 0px;
}
#sidebar .archives {
    margin-top: 0px;
}

#sidebar .archives a {
    color: #0a3161;
    text-decoration: none;
}

#sidebar .archives a:hover {
    color: #b22234;
    text-decoration: none;
}

#sidebar .archives .label.label-primary {
    background: #0a3161;
    color: #fff;
}

#sidebar .label.label-primary {
    color: #fff;
    border: 1px solid #b22234;
    background: #b22234;
    border-radius: 1px;
    display: inline-block;
    padding: .35em .6em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    text-decoration: none;
}


/*
    ******************************************************************************************** BLOG content
*/

.header-fixed #blog-hero {
    height: 450px;
}

.header-fixed #blog-hero .hero {
    position: absolute;
    width: 100%;
    padding: 80px 2rem 0 2rem;
}

.header-fixed #blog-hero .hero h2 {
    margin-top: 0px;
}

.blog-listing .infobar {
    display: flex;
    /*argin-top: 2rem;*/
    margin-bottom: .75rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid #1e2339;
}

.blog-listing .tags a {
    text-decoration: none;
}

.blog-listing .blog-footer {
    display: flex;
    margin-top: .75rem;
    padding-top: .75rem;
}

.blog-listing .infobar .fa, .blog-listing .infobar .tags {
    padding-left: 5px;
}
.blog-listing .fa, .blog-listing .left {
    flex: 1;
}
.blog-listing .infobar .right, .blog-listing .blog-footer .right {
    text-align: right;
}

.blog-listing .infobar .tags span {
    font-weight: 500;
}

.blog-listing .infobar .back .fa, .blog-listing .blog-footer .fa {
    color: #b22234;
}

.blog-listing a.btn, .blog-listing a.button {
    color: #0a3161;
    border: 0.05rem solid #0a3161;
}
.blog-listing a.btn:hover, .blog-listing a.button:hover {
    color: #fff;
    background-color: #b22234;
    border: 0.05rem solid #b22234;
}

.blog-listing .blog-footer {
    border-top: 1px solid #1e2339;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
    display: block;
}

section p {
    /*font-family: 'Open Sans', sans-serif;*/
    font-weight: 400;
    font-size: 1.150rem;
    text-align: justify;
    text-justify: inter-word;
    /*color: #26474E;*/
    margin: 0 auto 2em auto;
}

ul {
    margin: 0 auto 2em auto;
    list-style-position: inside;
    /*/blog/2019/autovasarlas*/
}

section .hero h1, section .hero h2 {
    padding: 0.5rem;
    /*color: #fbfffa;
    background: rgba(60, 59, 110,0.4);*/
    font-family: 'Dancing Script', cursive;
    font-weight: 400;
    text-transform: none;
    /*text-shadow: 1px 1px 2px #1e2339;*/
}

.home-splash {
    position: relative;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background-size: cover;
    background-position: center center;
    z-index: 0;
}

.modular-hero.home-splash .container.hero {
    transform: translateY(-9rem);
}

@media (max-width: 840px) {
    .modular-hero.home-splash .container.hero {
        transform: translateY(-3rem);
    }
}

.btn.btn-lg {
    font-size: 1.4rem;
    /*font-family: Montserrat,sans-serif;*/
    padding: 10px 20px;
    height: 2.5rem;
    display: inline-block;
  }

a.btn-red, a.btn-red, a.btn-red:visited {
    color: #b22234;
    border: 1px solid #b22234;
}

a.btn-red:hover {
    color: #fbfffa;
    background-color: #3c3b6e;
    border-color: #fbfffa;   
}

.open-gal {
    position: relative;
    display: inline;
}

.open-gal svg {
    position: absolute;
    top: 1rem;
    left: 1rem;
}

#blog-update {
    padding-top: 0.75rem;
    border-top: 1px solid rgba(30, 35, 57, .1);
}
.blog-update {
    font-size: 1rem;
    margin-bottom: 1rem;
}

/*
    ******************************************************************************************** LAST ENTRIES
*/
.modular .heading-icon {
    position: relative;
    top: -3px;
    padding-right: 3px;
}

.modular h2.heading {
    margin-top: 0;
    margin-bottom: 1rem;
    display: inline-block;
}

.modular.section-lastentries .entrylist {
    display: flex;
}

.modular.section-lastentries {
    margin: 0 auto;
    margin-bottom: 1rem;
}

.modular.section-lastentries .entrylist .entry-item {
    margin-right: 1rem;
    border: 1px solid #0a3161;
    border-radius: 5px;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    max-width:33%;
    flex:1;
    border:1px solid #1e2339;
    position:relative;
    padding-bottom:40px
}

.modular.section-lastentries .entrylist .entry-item:nth-child(3n+1),
.modular.section-lastentries .entrylist .entry-item:nth-child(3n+2) {
  margin-right:1rem
}

.modular.section-lastentries .entrylist .entry-item h3.title {
    margin-top: 0;
    color: #3a414e;
}

.modular.section-lastentries .entrylist .entry-item h3 > a {
    color: #b22234;
    text-decoration: none;
}
.modular.section-lastentries .entrylist .entry-item h3 > a:visited {
    color: #3a414e;
}
.modular.section-lastentries .entrylist .entry-item h3 > a:hover {
    color: #b22234;
}

.modular.section-lastentries .entrylist .entry-item a.link-detail {
    display: block;
    background-color: #0a3161;
    line-height: 40px;
    text-align: center;
    color: #fbfffa;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-decoration: none;
  }
  .modular.section-lastentries .entrylist .entry-item a.link-detail:hover {
    background-color: #b22234;
  }

.modular.section-lastentries .entrylist .entry-item .item-date {
    background-color: #0a3161;
    position: absolute;
    right: 0;
    top: 0;
    padding: 5px;
    color: #fbfffa;
    font-size: 18px;
    line-height: 100%;
}

.modular.section-lastentries .entrylist .entry-item .item-image {
    cursor: pointer;
}

.modular.section-lastentries .entrylist .entry-item .item-image img {
    width: 100%;
}

.modular.section-lastentries .entrylist .entry-item .item-desc {
    padding: 1rem;
}

.modular.section-lastentries .entrylist .entry-item .item-desc strong.title {
    margin-bottom: 1rem;
    display: block;
    font-size: 1.4em;
    /*font-family: Montserrat,sans-serif;*/
}

.modular.section-lastentries .entrylist .entry-item .item-desc p {
    margin: 0;
    font-size: 1.1em;
}

.modular.section-lastentries > a {
    position: relative;
    left: 50%;
    display: inline-block;
    transform: translateX(-50%);
    margin: 2rem 0;
}

/*
    **************************************************************************************** BLOG LIST - CARD
*/

.blog-listing .card {
    box-shadow: none;
}

#body-wrapper .blog-listing .container {
    margin: 0 auto;
    display: flex;
    flex-flow: row;
    flex-wrap: wrap;
}

#item .card-layout {
    flex: 1;
    display: flex;
    flex-flow: column;
    /*border-top: 1px solid #1e2339;*/
}

#item .card-layout {
    display: flex;
    flex: 1;
    flex-flow: column;
    border-top: 1px solid #0a3161;
  }

#item .card-layout .card {
    display: flex;
    flex-direction: row;
    width: 100%;
    background: transparent;
    /*border-bottom: 1px solid #0a3161;*/
    padding: 1rem 0 1rem 0;
    position: relative;
}

#item .card-layout .card .card-image img {
    margin-right: 0.8rem;
    border-radius: 5px;
    min-width: 250px;
    /*max-width: 250px;*/
    cursor: pointer;
}

#item .card-layout .card .card-body {
    padding: 0em;

}

#item .card-layout .card .card-body .title {
    font-size: 1.2rem;
    cursor: pointer;
    margin-top: 0rem;
    margin-bottom: 0.8rem;
}

#item .card-layout .card .card-body .title {
    /*margin-top: 0;*/
    color: #3a414e;
}

#item .card-layout .card .card-body .title > a {
    color: #b22234;
    text-decoration: none;
}
#item .card-layout .card .card-body .title > a:visited {
    color: #3a414e;
}
#item .card-layout .card .card-body .title > a:hover {
    color: #b22234;
}

#item .card-layout .card .card-body p {
    font-size: 1rem;
    margin-bottom: 0.8rem;
    margin-right: 0.8rem;
}

#item .card-layout .card .card-date {
    background-color: #0a3161;
    position: absolute;
    right: 0;
    top: 0;
    padding: 5px;
    color: #fbfffa;
    font-size: 18px;
    line-height: 100%;
    padding-right: 5px;
    border-bottom-left-radius: 5px;
}

.tags {
    margin-bottom: 0.8rem;
}

.tags span, .label.label-secondary {
    color: #0a3161;
    border: 1px solid #0a3161;
    border-radius: 1px;
    display: inline-block;
    padding: .35em .6em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    text-decoration: none;
}

.tags span:hover, .label.label-secondary:hover {
    color: #fbfffa;
    background-color: #0a3161;
    text-decoration: none;
}

.label.label-secondary {
    background: transparent;
    color: #0a3161;
  }

a.link-detail {
    color: #b31942;
    font-size: 0.8rem;
}

a.link-detail:hover {
    text-decoration: none;
}

/*
    ************************************************************************************************** SEARCH
*/
.search-submit {
    display: inline-block;
    border-radius: 4px;
    background: #eee;
    border: 1px solid #ccc;
    vertical-align: top;
}

.search-wrapper .search-input {
    width: 80%;
    display: inline-block;
}

/*
    ************************************************************************************************** GLIGHTBOX
*/
#gcounter {
	padding: .5rem;
}
#gcounter::after {
	content: attr(counter);
	position: absolute;
	top: .5rem;
	left: .5rem;
	color: white;
	padding: 10px;
	z-index: 10000000;
	background-color: rgba(0,0,0,0.3);
	border-radius: 2px;
}
/*
    ************************************************************************************************** FontAwesome
*/
.fa-circle-arrow-left, .fa-circle-arrow-up {
    color: #b31942;
}

/*
    ************************************************************************************************** TABLES
*/
table {
  --bs-table-bg: transparent;
  --bs-table-striped-color: #212529;
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: #212529;
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: #212529;
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 1.150rem;
  text-align: justify;
  text-justify: inter-word;
  /*color: #26474E;*/
  margin: 0 auto 2em auto;
  /*max-width: 56.25rem;*/
  width: 80%;
  border-collapse: collapse;
  /*color: #212529;*/
  vertical-align: top;
  border-color: #dee2e6;

}

tbody, td, tfoot, th, thead, tr {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

table > :not(caption) > * > * {
    padding: 0.5rem 0.5rem;
    background-color: var(--bs-table-bg);
    background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
    border-bottom-width: 1px;
}
table > tbody {
    vertical-align: inherit;
}
table > thead {
    vertical-align: bottom;
}
table > :not(:last-child) > :last-child > * {
    border-bottom-color: currentColor;
}

table > tbody > tr:hover {
    --bs-table-accent-bg: var(--bs-table-hover-bg);
    color: var(--bs-table-hover-color);
}

/*
    ************************************************************************************************** MINI
*/

/*
    LIST
*/
.brick:before{
    content:"";
    display:block;
    height:3px;
    background:linear-gradient(90deg,var(--red),rgb(33, 37, 41));
    opacity:.75
}

.brick-layout .brick:hover{transform:translateY(-2px);transition:transform .2s ease}

/* Szöveges kártya */
.brick--text {
    padding:18px 16px
}
.eyebrow{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:700;font-size:.82rem;letter-spacing:.4px;text-transform:uppercase}
.eyebrow svg{width:14px;height:14px}
.kicker {
    font-weight:800;
    font-size: 1rem;
    margin:6px 0 6px;
    color:#202737
}

.brick-layout p {
    font-size: 1rem;
}

.snippet {
    color:#384357
}

.snippet p {
    margin-bottom: 0.8rem;
}

/* Képes kártya */
.brick--image {
    background:var(--card);border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
    position:relative;
    margin:18px 16px;
}
.brick--image .media{position:relative;aspect-ratio:4/3;overflow:hidden}
.brick--image img{width:100%;height:100%;object-fit:cover;display:block}
.brick--image .brick-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,.0) 60%)}
.brick--image .tagline {
    position:absolute;
    left:14px;
    bottom:12px;
    color:#fff;
    font-weight:600;
    letter-spacing:.2px;
    text-shadow:0 2px 18px rgba(0,0,0,.5);
    background: rgba(255, 255, 255,0.8);
}
.brick--image .body{padding:14px 14px 16px}
.meta {
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--muted);
    font-size:.85rem;
    padding: 3px;
}
.meta .dot{width:6px;height:6px;border-radius:50%;background:var(--red);opacity:.9}

.nahat .content, .nahat .back {
    padding: 3px;
}

/*
    BIG PICTURE
*/
.big-picture.header-fixed #blog-hero {
  height: 100vh !important;
}

.big-picture .hero {
  display: flex;
  align-items: flex-start;    /* vertical: top */
  justify-content: flex-start; /* horizontal: left */
  padding-top: 0;
}

.big-picture.header-fixed #blog-hero h1 {
  margin-top: 0;
}

/* Big-picture: make the main image full-viewport width */
body.big-picture .e-content .image-caption {
  max-width: none;            /* kill plugin max-width */
  width: 100vw;               /* span full viewport */
  margin-left: 50%;
  transform: translateX(-50%); /* center the 100vw block */
}

/* Make the image fill that block */
body.big-picture .e-content .image-caption img {
  width: 100%;
  height: auto;
  display: block;
}



/*
    ************************************************************************************************** @MEDIA
*/
@media (min-width: 821px) {
    #item .card-layout .card .card-image img {
        max-width: 250px;
    }
}

@media (min-width: 992px) {
    #body-wrapper section {
      max-width: 960px;
    }
}

@media (min-width: 1200px) {
    #body-wrapper section {
        max-width: 62.25rem;
    }
    .modular.section-lastentries {
        max-width: 1200px;
    }
}

@media (max-width: 991.98px) {
    .modular {
        padding-left: 1rem;
        padding-right: 1rem;
      }
    .modular.section-lastentries .entrylist {
      display: block;
    }
    .modular.section-lastentries .entrylist .entry-item {
        max-width: 100%;
        margin-bottom: 1rem;
        margin-right: 0 !important;
      }
  }

@media (max-width: 820px) {
    #item .card-layout .card {
        display: block;
        padding-top: 0rem;
    }
    #item .card-layout .card .card-image img {
        width: 100% !important;
    }

    #item .card-layout {
        border-top: 0px;
    }

    #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
        width: 50%;
    }
}

@media (max-width: 600px) {
    .hero h1 {
      font-size: 3rem;
    }
    .hero h2 {
        font-size: 2rem;
    }

    #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
        width: 100%;
    }
}

/* Pricing module: one readable column on phones, three on wide screens. */
.pricing-section .pricing-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin: 1.5rem 0 2rem;
}
.pricing-section .pricing-card {
    min-width: 0;
    padding: clamp(1.1rem, 3vw, 1.75rem);
    background: var(--pricing-card-background, #fcefe8);
    border: 1px solid rgba(246, 150, 121, 0.3);
    border-top: 4px solid #f69679;
    border-radius: 12px;
}
.pricing-section .pricing-participants {
    margin: 0 0 0.5rem;
    color: #76534a;
    font-size: 1.5rem;
    font-weight: 600;
}
.pricing-section .pricing-card h3 {
    margin: 0 0 1rem;
    color: #505c70;
    font-size: 1.15rem;
    line-height: 1.4;
}
.pricing-section .pricing-amount {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.5rem;
    margin: 0;
    color: #505c70;
}
.pricing-section .pricing-amount strong {
    font-size: clamp(1.8rem, 3vw, 2.3rem);
    line-height: 1.2;
    white-space: nowrap;
}
.pricing-section .pricing-amount span,
.pricing-section .pricing-unit {
    font-size: 0.8rem;
}
.pricing-section .pricing-unit {
    margin: 0.5rem 0 1rem;
}
.pricing-section .pricing-description {
    padding-top: 1rem;
    border-top: 1px solid rgba(118, 83, 74, 0.2);
}
.pricing-section .pricing-description p,
.pricing-section .pricing-details p {
    text-align: left;
    line-height: 1.65;
}
.pricing-section .pricing-description p {
    font-size: 0.9rem;
    margin: 0 0 0.75rem;
}
.pricing-section .pricing-description p:last-child {
    margin-bottom: 0;
}
.pricing-section .pricing-details {
    padding: clamp(1.1rem, 3vw, 1.75rem);
    margin-bottom: clamp(1.1rem, 3vw, 1.75rem);
    /*border: 1px solid #e4e7e3;
    border-radius: 12px;
    background: #fff;*/
}
.pricing-section .pricing-details h3 {
    font-size: 1.2rem;
    margin-top: 1.5rem;
}
.pricing-section .pricing-details h3:first-child {
    margin-top: 0;
}
.pricing-section .pricing-details p:last-child {
    margin-bottom: 0;
}
@media (min-width: 1000px) {
    .pricing-section .pricing-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .pricing-section .pricing-card h3 {
        min-height: 3.2em;
    }
}

/* Keep equal spacing between contact fields and before the submit button. */
.contact-form > .mb-6 {
    margin-bottom: 1.5rem;
}
