/*
===============================================================================================================================
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;
}

/* 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;
}

/* 
   ******************************************************************************************* HOME 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;
}

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

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

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

#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: #0a3161;
}

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

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

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

.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);
}

.mi {
    width: 250px;
}

#modular {
    margin-bottom: 1.1rem;;
}

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

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

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

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;
}

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

/*
    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;
}

/*
    ******************************************************************************************* BLOCKQUOTE
*/
blockquote {
   border-left: 0rem;
   font-size: 40px;
   width: 80%;
   margin: 0 auto 2rem auto;
}
blockquote p {
    font-style: italic;
    margin-bottom: 0;
}

blockquote::before {
    content: "“";
    font-family: Georgia;
    font-size: 6rem;
    margin: -2.8rem 0 0 -4rem;
    position: absolute;
    color: rgba(10, 49, 97, 0.7)
}

blockquote p::after {
    content: "”";
    font-family: Georgia;
    font-size: 6rem;
    margin: -1.6rem 0 0 1rem;
    position: absolute;
    color: rgba(10, 49, 97, 0.7)
}

/*
    ******************************************************************************************* 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 {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.4);
}

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;
}

/*
    ************************************************************************************************* 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;
}

.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%;
    }
}