/*
Theme Name: Graphisoft Park
Theme URI: https://graphisoftpark.hu/
Author: Migrated from October CMS theme by Megoldás Most! Kft.
Description: WordPress recreation of the Graphisoft Park October CMS site. Bilingual HU/EN, Bootstrap 4 layout, custom CPTs for renters/articles/events/gallery/services/team/partners.
Version: 1.0.0
Text Domain: graphisoft
*/

@font-face {
    font-family: 'Gelasio';
    font-weight: 400;
    src: url('assets/fonts/Gelasio/Gelasio-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Gelasio';
    font-weight: 500;
    src: url('assets/fonts/Gelasio/Gelasio-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Gelasio';
    font-weight: 600;
    src: url('assets/fonts/Gelasio/Gelasio-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Gelasio';
    font-weight: 700;
    src: url('assets/fonts/Gelasio/Gelasio-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Gelasio';
    font-style: italic;
    font-weight: 400;
    src: url('assets/fonts/Gelasio/Gelasio-Italic.ttf') format('truetype');
}

* { outline: none; }

.btn,
.form-control { box-shadow: none !important; }

body {
    font-family: 'Gelasio', serif;
    -webkit-font-smoothing: antialiased;
    padding: 0;
    margin: 0;
}

a.link { color: #7cb541; text-decoration: underline; font-size: 14px; }
a.anchor { display: block; position: relative; top: -62px; visibility: hidden; }
.green-text { color: #7cb541; }
.btn { border-radius: 0; }
.btn.btn-green, .btn.btn-green-filled { text-transform: uppercase; color: #7cb541; font-size: 14px; border: 1px solid #7cb541; }
.btn.btn-green-filled { background: #7cb541; color: #fff; }
.btn.btn-white { text-transform: uppercase; color: #fff; font-size: 14px; border: 1px solid #fff; }
.form-control { border-radius: 0; border: 1px solid #c5c5c5; font-size: 14px; }
.tgrey { color: #313942; }

img.fr-dib { margin: 5px auto; display: block; float: none; vertical-align: top; }
img.fr-dib.fr-fil { margin-left: 0; }
img.fr-dib.fr-fir { margin-right: 0; }
img.fr-dii { display: inline-block; float: none; vertical-align: bottom; margin-left: 20px; margin-right: 20px; max-width: calc(90%); }
img.fr-dii.fr-fil { float: left; margin: 20px 20px 20px 0; max-width: calc(95%); }
img.fr-dii.fr-fir { float: right; margin: 20px 0 20px 20px; max-width: calc(95%); }

.navbar-home { padding: 0; }
.navbar-home .navbar-brand { padding: 0; }
.navbar-home .nav-link { color: #fff; }
.navbar-main { background: #fff; min-height: 60px; padding: 0 10px 0 0; border-bottom: 1px solid #313942; transition: 500ms; opacity: 1; visibility: visible; }
.navbar-main.hidden { opacity: 0; visibility: hidden; }
.navbar-main .navbar-brand { padding: 10px; background: #fff; }
.navbar-main .dropdown-menu { margin: 0; }
.navbar-main .nav-link { color: #313942; font-size: 16px; text-transform: uppercase; transition: 500ms; }
.navbar-main img.icon, footer ul.menu img.icon { height: 20px; display: inline-block; }
footer ul.menu img.icon { margin-left: 5px; }
/* The Facebook icon PNG is white-on-transparent — fine on the dark footer
   and on the home page's transparent navbar, but invisible against the
   default white navbar background. Filter it dark in the navbar; the
   home-page transparent rule below restores it to white. */
.navbar-main img.icon { filter: brightness(0); }

@media(min-width: 768px) {
    .navbar .dropdown:hover>.dropdown-menu { display: block !important; }
}

body.layout-home:not(.scrolled) .navbar-main:not(.over-grid) { background: transparent; border-bottom: none; }
body.layout-home:not(.scrolled) .navbar-main:not(.over-grid) .nav-link { color: #fff; }
body.layout-home:not(.scrolled) .navbar-main:not(.over-grid) img.icon { filter: none; }

.navbar-main .nav-item.active .nav-link { text-decoration: underline; }
.navbar-toggler .line { display: block; width: 20px; height: 2px; border-radius: 1px; background: #000; }
.navbar-toggler .line:not(:last-child) { margin-bottom: 5px; }
.lang-select { padding-right: 40px; text-transform: uppercase; }
.main { margin-top: 62px; }

.layout-home section.section1 { height: 200vh; position: relative; }
.layout-home section.section1 .scroll-icon, section.header .scroll-icon { width: 60px; height: 60px; background-image: url('assets/images/icons/angle-down.png'); position: absolute; z-index: 10; top: calc(100vh - 100px); left: 50%; margin-left: -25px; background-size: 100%; animation: jump 1s alternate infinite; }
@keyframes jump { 0% { margin-top: 0; } 100% { margin-top: -25px; } }

.info-block { position: fixed; z-index: 1001; width: 216px; top: calc(100vh / 2); transform: translateY(-50%) translateX(-100%); background: #fff; padding: 23px; box-sizing: border-box; left: 0; transition: 250ms ease-in-out; color: #323941; font-size: 14px; border: 1px solid #313942; }
.info-block .controls { width: 52px; height: 26px; background-color: #313942; position: absolute; top: 0; left: 100%; cursor: pointer; background-image: url('assets/images/icons/arrow.png'); background-position: center; background-repeat: no-repeat; transition: 250ms; }
.info-block.open .controls { width: 26px; background-image: url('assets/images/icons/close.png'); }
.info-block.open { transform: translateY(-50%) translateX(0); }
.info-block h1, .info-block h2, .info-block h3, .info-block h4, .info-block h5, .info-block h6 { font-weight: normal; color: #323941; font-size: 24px; text-transform: uppercase; margin: 0 0 25px; }

.layout-home section.section1 .bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.layout-home section.section1 .bg img { height: 100%; position: absolute; left: 50%; transform: translateX(-50%); }
.layout-home section.section1 .bg1 { height: 100%; }
.layout-home section.section1 .bg-child { position: absolute; top: 100vh; height: 100vh; left: 0; width: 100%; visibility: hidden; opacity: 0; transition: 1s; }

section.header .overlay, section.header .overlay-mobile, .layout-home section.section1 .bg-child .overlay { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #000; opacity: 0.35; z-index: 1; }
section.header .overlay-mobile { display: none; }
.layout-home section.section1 .bg-child.visible { visibility: visible; opacity: 1; }
.layout-home section.section1 .text { position: absolute; left: 350px; top: 250px; color: #fff; width: 600px; max-width: 100%; }
.layout-home section.section1 .text h1 { font-size: 60px; margin-bottom: 20px; }
.layout-home section.section1 .text p { font-size: 25px; }
.layout-home section.section1 .grid { position: relative; top: 100vh; width: calc(100% - 1px); height: 100vh; display: table; border-collapse: collapse; z-index: 101; visibility: hidden; opacity: 0; transition: 1s; }
.layout-home section.section1 .grid.visible { visibility: visible; opacity: 1; }
.layout-home section.section1 .grid .row { margin: 0; }
.layout-home section.section1 .grid .cell { flex: 0 0 25%; height: 50vh; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; position: relative; }
.layout-home section.section1 .grid .cell .label { text-transform: uppercase; position: absolute; bottom: 30px; left: 40px; visibility: visible; opacity: 1; transition: 1s; }
.layout-home section.section1 .grid .cell a { text-decoration: none; }
.layout-home section.section1 .grid .cell .hover { padding: 30px 40px; height: 100%; visibility: hidden; opacity: 0; transition: 1s; color: #fff; text-decoration: none !important; }
.layout-home section.section1 .grid .cell .hover.yellow { background-color: rgba(255, 198, 0, .9); }
.layout-home section.section1 .grid .cell .hover.brown { background-color: rgba(191, 143, 92, .9); }
.layout-home section.section1 .grid .cell .hover.green { background-color: rgba(144, 191, 92, .9); }
.layout-home section.section1 .grid .cell .hover h1 { font-size: 36px; font-weight: 400; margin: 0 0 30px; line-height: 42px; }
.layout-home section.section1 .grid .cell .hover p { font-size: 16px; }
.layout-home section.section1 .grid .cell .hover p a { color: #fff; text-decoration: underline; }
.layout-home section.section1 .grid .cell .hover .more { position: absolute; left: 40px; bottom: 30px; text-transform: uppercase; color: #fff; }

.layout-life .sub-header-h1 { font-size: 60px; }
.layout-home section.section2, .layout-life section.section1 { padding: 80px 0 70px; }
.layout-home section.section2 .block-title, .layout-life section.section1 .block-title { font-size: 40px; color: #313942; margin: 0 0 70px; }

.layout-where section.section1 { background: #efefef; padding: 90px 0; }
.layout-where section.section1 .left { font-size: 15px; color: #313942; }
.layout-where section.section1 .left h1 { font-size: 40px; color: #7cb541; margin: 0 0 30px; text-transform: uppercase; }
.layout-where section.section1 .left h2 { font-size: 26px; color: #313942; margin-bottom: 20px; text-transform: uppercase; }
.layout-where section.section1 .left ul { list-style-type: none; padding: 0; margin: 0; margin-bottom: 20px; }
.layout-where section.section1 .left ul li { clear: both; margin-bottom: 10px; }
.layout-where section.section1 .left ul img { float: left; margin-right: 20px; margin-bottom: 20px; margin-left: 0; }
.layout-where section.section1 .left strong { color: #7cb541; font-weight: 400; }
.layout-where section.section1 img { max-width: 100%; }

.layout-renters section.section1 { padding: 30px; }
.layout-renters section.section1 .subp, .layout-park section.section1 .subp, .layout-school section.section1 .subp { font-size: 25px; padding: 40px 0; }
.layout-renters section.section1 .row > div { margin-bottom: 70px; }

.layout-renters section.section2 .search, .layout-where section.section2 .search { position: relative; }
.layout-renters section.section2 .search .list, .layout-where section.section2 .search .list { position: absolute; width: 100%; z-index: 10; overflow-y: auto; height: calc(100% - 39px); }
.layout-renters section.section2 .search.fixed .list, .layout-where section.section2 .search.fixed .list { display: block !important; }
.layout-renters section.section2 .search .list > div, .layout-where section.section2 .search .list > div { font-size: 15px; color: #313942; background: #e3e3e3; padding: 5px 17px; border-bottom: 1px solid #fff; cursor: pointer; }
.layout-renters section.section2 .search .list > div:hover, .layout-renters section.section2 .search .list > div.active, .layout-where section.section2 .search .list > div:hover, .layout-where section.section2 .search .list > div.active { background: #c2c2c2; }
.layout-renters section.section2 .companies .company span, .layout-where section.section2 .companies .company span { display: block; font-size: 16px; color: #000; margin-bottom: 6px; }
.layout-renters section.section2 .companies .company span.label, .layout-where section.section2 .companies .company span.label { display: inline-block; color: #7cb541; }

.layout-jobs section.section1 { padding: 80px 0; }
.layout-jobs section.section1 h1 { font-size: 60px; color: #313942; margin-bottom: 120px; }

.layout-gallery section.section1 .row.galleries { margin: 0 1px 1px 0; }
.layout-gallery section.section1 .row.galleries > div { padding: 0; border-top: 1px solid #fff; border-left: 1px solid #fff; }

.layout-school section.section1 { padding: 80px 0; }

.layout-investors section.section1 { padding: 70px 0; }
.layout-investors section.section1 .body { margin-bottom: 60px; color: #000; }
.layout-investors section.section1 .body h1 { font-size: 60px; color: #313942; margin: 0 0 20px; }
.layout-investors section.section1 .body h2 { font-size: 30px; color: #313942; margin: 0 0 35px; }
.layout-investors section.section1 .body h3 { font-size: 20px; color: #313942; margin: 0 0 25px; }
.layout-investors section.section1 .accordion { margin-top: 60px; }
.layout-investors section.section1 .accordion .card { border-radius: 0; }
.layout-investors section.section1 .accordion .card .card-header { background: transparent; }
.layout-investors section.section1 .accordion .card .card-header .btn { font-size: 20px; color: #313942; text-transform: uppercase; text-decoration: none; }
.layout-investors section.section1 .accordion .card .card-header .btn .status { display: inline-block; font-size: 24px; width: 20px; text-align: center; }
.layout-investors section.section1 .accordion .card .card-header .btn.collapsed .status:before { content: '+'; position: relative; display: inline-block; }
.layout-investors section.section1 .accordion .card .card-header .btn:not(.collapsed) .status:before { content: '-'; position: relative; display: inline-block; }
.layout-investors .table-responsive table { min-width: 600px; }

.layout-life section.section2 { background-image: url('assets/images/client_care_bg.png'); background-position: center; background-size: cover; padding: 90px 0 80px; color: #fff; }
.layout-life section.section2 h1 { font-size: 60px; margin: 0 0 50px; }
.layout-life section.section2 p { width: 520px; max-width: 100%; margin: 0 0 40px; }
.layout-life section.section3 { padding: 100px 0 110px; }
.layout-life section.section3 h1 { color: #313942; margin: 0 0 80px; font-size: 60px; }
.layout-renters section.section2, .layout-life section.section4, .layout-where section.section2 { padding: 50px 0; }
.layout-renters section.section2 .left h1, .layout-life section.section4 .left h1, .layout-where section.section2 .left h1 { font-size: 40px; color: #313942; }
.layout-renters section.section2 .left p, .layout-life section.section4 .left p, .layout-where section.section2 .left p { font-size: 16px; color: #000; }

.layout-home section.section5, .layout-life section.section5 { padding: 80px 0 20px; }
.layout-home section.section5 h1, .layout-life section.section5 h1 { font-size: 40px; color: #313942; margin: 0 0 40px; }
.layout-home section.section5 .subp, .layout-life section.section5 .subp { color: #000; width: 540px; max-width: 100%; display: block; margin: 0 auto; margin-bottom: 90px; }
.layout-life section.section6 { padding: 20px 0 80px; }

.layout-park section.section1 { padding: 50px 0 10px; }
.layout-park section.section1 h1 { font-size: 60px; color: #313942; margin: 0 0 50px; }
.layout-park section.section1 .subp, .layout-renters section.section1 .subp, .layout-school section.section1 .subp { max-width: 1100px; display: block; margin: 0 auto; }
.layout-park .section3 { padding: 120px 0 90px; }
.layout-park .section3 .news-box .details strong { font-size: 20px; }
.layout-park .section3 h1 { font-size: 60px; color: #313942; margin: 0 0 50px; }

.layout-contact .section1 { padding: 80px 0; }
.layout-contact .section1 h1, .layout-contact .section3 h1 { margin: 0 0 50px; }

section.articles { padding: 120px 0 90px; }
section.articles h1 { margin-bottom: 70px; }

section.contact { background: #7cb541; padding: 40px 0; }
section.contact h2 { font-size: 22px; color: #1d2228; margin: 0 0 40px; text-transform: uppercase; }
section.contact ul.menu { color: #fff; margin: 0; list-style-type: none; padding: 0; text-transform: uppercase; }
section.contact ul.menu li { margin-bottom: 6px; }
section.contact ul.menu a { color: #fff; font-size: 16px; }
.layout-contact section.section1 ul, section.contact ul.contact { list-style-type: none; padding: 0; font-size: 16px; color: #fff; margin: 0; }
section.contact ul.contact a { text-decoration: underline; }
section.contact ul.contact img { display: inline-block; margin-right: 5px; margin-left: 0; }
section.contact p.office { font-size: 20px; text-transform: uppercase; color: #fff; font-weight: 600; }
.layout-contact section.section1 ul { color: #7cb541; }
.layout-contact section.section1 ul a, section.contact ul.contact a { color: #fff; }
section.contact a { color: #fff; }
.layout-contact section.section1 ul a { color: #7cb541; }
.layout-contact section.section1 ul strong, section.contact ul.contact strong { text-transform: uppercase; color: #1d2228; }

.layout-default section.body { padding: 70px 0; }
.layout-default section.body img { max-width: 100%; }
.layout-default section.body h1 { font-size: 60px; color: #313942; margin-bottom: 50px; }
.layout-default section.body h2, .layout-default section.body h3, .layout-default section.body h4, .layout-default section.body h5, .layout-default section.body h6 { font-size: 20px; font-weight: 700; }
.layout-default section.body p { font-size: 14px; color: #000; }

section.header { height: calc(100vh - 62px); background-position: center; background-size: cover; display: flex; align-items: center; background-attachment: fixed; background-color: #ccc; position: relative; }
section.header .bg-mobile { display: none; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-position: center; background-size: cover; }
section.header > .text { flex: 1; text-align: center; max-width: 1000px; margin: 0 auto; padding: 0 15px; position: relative; z-index: 2; }
section.header h1 { color: #fff; font-size: 60px; margin: 0; }
section.header h2 { color: #fff; font-size: 25px; margin: 20px 0 0; }

.info-box { margin-bottom: 20px; font-size: 20px; color: #5b5b5b; text-align: center; }
.info-box .number { font-size: 30px; color: #7cb541; display: block; margin-bottom: 20px; }

.news-box { display: flex; margin-bottom: 20px; }
.news-box > div { flex: 1; }
.news-box .details { font-size: 16px; color: #000; padding-left: 25px; flex: 0 0 65%; }
.news-box .details strong { font-size: 14px; color: #313942; display: block; margin-bottom: 5px; }

.news-box2 { margin-bottom: 30px; }
.news-box2 h2 { color: #7cb541; font-size: 20px; text-transform: uppercase; font-weight: 400; margin-bottom: 10px; }
.news-box2 h2 a { color: #7cb541; transition: 250ms; text-decoration: none; }
.news-box2 h2 a:hover { color: #476927; }
.news-box2 .info { margin-bottom: 10px; font-size: 14px; }
.news-box2 .info .date { color: #313942; }
.news-box2 .info .medium { color: #7cb541; position: relative; }
.news-box2 .info .medium:before { content: ''; width: 4px; height: 4px; background-color: #313942; display: inline-block; border-radius: 50%; vertical-align: middle; margin-right: 5px; margin-left: 5px; }
.news-box2 .short-desc { font-size: 16px; margin-bottom: 25px; }

.renter-box { border-bottom: 1px solid #d4d4d4; height: 100%; position: relative; padding-bottom: 60px; }
.renter-box .image { height: 100px; margin-bottom: 20px; }
.renter-box .image img { max-width: 50%; max-height: 100%; }
.renter-box .details { color: #000; font-size: 14px; margin-bottom: 15px; }
.renter-box .bottom { position: absolute; bottom: 20px; left: 0; width: 100%; display: flex; align-items: center; }
.renter-box .bottom > div { flex: 1; }
.renter-box .details .name { font-size: 31px; color: #313942; display: block; margin-bottom: 20px; }
.renter-box .details .description { text-align: justify; }
.renter-box .building { font-size: 20px; color: #313942; line-height: 20px; }
.renter-box .website { color: #7cb541; display: block; font-size: 16px; line-height: 13px; }
.renter-box .website a { color: #7cb541; }
.renter-box .btn { padding: 7px 12px; }

.job-box { margin-bottom: 40px; height: 100%; }
.job-box .image { margin-bottom: 45px; height: 100px; display: flex; align-items: center; }
.job-box .image > div { flex: 1; height: 100%; }
.job-box .image > div > img { max-width: 50%; max-height: 100%; }

.category-box { background: #313942; color: #fff; padding-bottom: 66%; }
.category-box .text { position: absolute; text-align: center; width: 100%; top: 50%; transform: translateY(-50%); text-transform: uppercase; z-index: 2; }
.category-box .text .name { font-size: 24px; line-height: 32px; display: block; }
.category-box .text .count { font-size: 14px; color: #7cb541; display: block; margin-top: 15px; }
.category-box:after { content: ''; width: 0; height: 0; border-style: solid; border-width: 48px 0 48px 48px; border-color: transparent transparent transparent #7cb541; position: absolute; left: 0; top: 50%; margin-top: -48px; }

.gallery-box { position: relative; cursor: pointer; background: #313942; height: 100%; overflow: hidden; padding-bottom: 66%; }
.gallery-box .bg { background-position: center; background-size: cover; transition: 250ms transform; position: absolute; left: 0; top: 0; right: 0; bottom: 0; transform: scale(1); }
.gallery-box:hover .bg { transform: scale(1.05); }
.gallery-box .caption { position: absolute; left: 20px; bottom: 20px; color: #fff; text-transform: uppercase; transition: 250ms; visibility: visible; opacity: 1; background-color: #7cb541; padding: 8px 15px; }
.gallery-box .caption h1 { white-space: nowrap; font-size: 18px; margin: 0; }
.gallery-box .caption .count { background: rgba(0, 0, 0, 0.5); display: inline-block; font-size: 14px; padding: 0 20px 0 0; }
.gallery-box .caption .count .icon { display: inline-block; background-color: #7cb541; background-image: url('assets/images/icons/gallery.png'); width: 40px; height: 40px; vertical-align: middle; background-position: center; background-repeat: no-repeat; margin-right: 20px; }
.gallery-box.has-desc:hover .caption { visibility: hidden; opacity: 0; bottom: -20px; }
.gallery-box .description { visibility: hidden; opacity: 0; position: absolute; left: 0; width: 100%; color: #ffffff; font-size: 14px; padding: 10px 20px; background: rgba(49, 57, 66, 0.8); bottom: -30px; transition: 250ms; }
.gallery-box.has-desc:hover .description { bottom: 0px; visibility: visible; opacity: 1; }

.contact-person-box { display: flex; }
.contact-person-box.inline { display: block; }
.contact-person-box > div { flex: 1; }
.contact-person-box .image { flex: 0 0 170px; }
.contact-person-box.inline .image { margin-bottom: 40px; }
.contact-person-box.inline .image img { display: block; margin: 0 auto; }
.contact-person-box .details { padding-left: 46px; }
.contact-person-box.inline .details { text-align: center; padding: 0; }
.contact-person-box .details .name { font-size: 18px; color: #313942; margin: 0 0 10px; text-transform: uppercase; }
.contact-person-box .details .title { margin-bottom: 10px; font-size: 14px; }
.contact-person-box .details .role { color: #7cb541; font-size: 16px; position: relative; margin-bottom: 40px; }
.contact-person-box .details .role:after { content: ''; width: 45px; height: 4px; background: #7cb541; position: absolute; bottom: -20px; left: 0; }
.contact-person-box.inline .details .role:after { left: 50%; margin-left: -22px; }
.contact-person-box .details .rest, .contact-person-box .details .rest a { color: #000; }

.camp-box { position: relative; padding-bottom: 35px; height: 100%; margin-bottom: 30px; }
.camp-box .btn { position: absolute; bottom: 30px; }
.camp-box .image { margin-bottom: 20px; }
.camp-box h2 { font-size: 26px; color: #313942; margin-bottom: 30px; }
.camp-box p { color: #000; }
.camp-box strong { color: #313942; }
.camp-box ul { list-style-type: none; margin: 0; padding-left: 10px; color: #7cb541; margin-bottom: 20px; }
.camp-box ul li { margin-bottom: 20px; }

.history-box { position: relative; margin-bottom: 60px; }
.history-box .image img { max-width: 100%; }
.history-box.nth-0 .image { text-align: left; }
.history-box.nth-1 .image { text-align: right; }
.history-box .details { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 50%; background: #fff; padding: 15px 35px; color: #313942; line-height: 18px; }
.history-box.nth-0 .details { left: auto; right: 0; }
.history-box .details h2 { font-size: 31px; color: #7cb541; margin: 0 0 20px; }

.content .row { margin: 0; }
.content .row > div { padding: 0; margin-bottom: 80px; }
.content .row .order-lg-first { padding-right: 60px; }
.content .row .order-lg-last { padding-left: 60px; }
.content .row .details.order-lg-first { padding-left: 160px; }
.content .row .details.order-lg-last { padding-right: 160px; }
.content .details { color: #000; }
.content .details h1 { font-size: 60px; color: #313942; margin-bottom: 0; }
.content .details h3 { font-size: 30px; }
.content .details h3 em { color: #7cb541; }
.content .details .date { color: #7cb541; font-size: 16px; }
.content .details .text { margin-top: 50px; }
.content .details p { margin-bottom: 20px; }
.content .details ul.carind { list-style-type: none; padding: 0; margin: 0; margin-top: 60px; }
.content .details ul li { display: inline-block; text-transform: uppercase; font-size: 14px; color: #7cb541; padding: 10px 20px; border: 1px solid #7cb541; margin: 0 18px 18px 0; font-weight: 700; cursor: pointer; }
.content .details ul li.active { color: #fff; background: #7cb541; }

footer { background: #1d2228; color: #5b5b5b; font-size: 16px; padding: 30px 0; }
footer ul.menu { list-style-type: none; padding: 0; margin: 0; }
footer ul.menu li { display: inline-block; }
footer ul.menu a { color: #5b5b5b; }
/* Stop the browser from breaking `<strong>` labels in the contact-style
   address blocks (`E-MAIL:`, `FAX:`, etc.). The hyphen in `E-MAIL` was
   acting as a soft-break point and producing a stray `E-` on one line
   with `MAIL: info@graphisoftpark.com` wrapping below.
   Scopes:
     - footer (footer-right contact block)
     - .contact section (template-parts/contact-section.php — bottom of
       many pages)
     - .section1 .col-lg-3 ul (page-contact.php's left column) */
footer strong,
section.contact strong,
section.section1 .col-lg-3 ul strong { white-space: nowrap; }

/* 404 page card — centered, large broken-chain icon + heading, matches
   the live site's "A lap nem található" error page aesthetic. */
.error-404-card { max-width: 600px; margin: 60px auto; }
.error-404-icon { font-size: 80px; color: #c5302a; }
.error-404-card h1 { color: #313942; text-transform: uppercase; }

/* Investor page intro card — gray background behind the yearly-results
   heading + date + table. Scoped to the investor page template so the
   shared `.section1 .body` selector doesn't accidentally style every
   other page's intro paragraph. `!important` because cascading text-
   formatting rules from the parent / WP core were silently winning when
   the rule was first added (browsers showed white instead of gray). */
.layout-investors section.section1 > .container > .body {
    background: #f4f4f4 !important;
    padding: 40px 30px !important;
    margin-bottom: 30px !important;
}

.leaflet-container { background: #e7e5e6; }
.leaflet-container a.leaflet-popup-close-button { outline: none; width: 36px; height: 36px; border: 2px solid #fff; background: #7cb541; font-size: 26px; color: #fff; border-radius: 50%; text-align: center; top: -12px; right: -12px; line-height: 29px; padding: 0; }
.leaflet-popup-content-wrapper { border-radius: 20px; }
.leaflet-popup-content { padding: 15px; font-size: 14px; color: #000; margin: 0; user-select: none; }
.leaflet-popup-content h1, #map .panel h1, .map-panel-mobile h1 { font-size: 16px; color: #7cb541; font-weight: 400; text-transform: uppercase; margin-bottom: 20px; }
.leaflet-popup-content h2, #map .panel h2, .map-panel-mobile h2 { font-size: 14px; color: #313942; text-transform: uppercase; font-weight: 400; margin-bottom: 20px; }

#map .panel { width: 300px; position: absolute; right: 0; z-index: 1000; background: #fff; top: 0; margin-top: 20px; border-radius: 20px 0 0 20px; padding: 20px; max-height: calc(100% - 40px); max-width: 100%; overflow-y: auto; font-size: 14px; color: #000; user-select: none; box-shadow: 0 0 15px rgba(50, 50, 50, 0.75); }
.map-panel-mobile { padding: 20px 0; display: none; }

@media(min-width: 768px) {
    #map { padding-bottom: 53.54%; }
    .map-fs { display: block !important; }
    .show-on-map { display: none !important; }
}

@media(max-width: 767px) {
    .map-fs { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 2000; display: none; }
    .map-fs .close { position: absolute; top: 10px; right: 10px; background-image: url('assets/images/icons/close.png'); z-index: 1000; width: 25px; height: 25px; background-color: #000; background-repeat: no-repeat; background-position: center; border-radius: 5px; }
    .map-fs #map { width: 100%; height: 100%; }
}

.company .icon { width: 20px; height: 20px; display: inline-block; margin-right: 15px; background-image: url('assets/images/icons/company_icons.png'); vertical-align: middle; }
.company .icon-building { background-position-y: 0px; }
.company .icon-address { background-position-y: -36px; }
.company .icon-phone { background-position-y: -72px; }
.company .icon-email { background-position-y: -108px; }
.company .icon-website { background-position-y: -144px; }

.h1b { font-size: 60px; }

.company-filter { display: flex; flex-direction: column; min-height: 340px; }
.company-filter .input-group { border: 1px solid #c5c5c5; margin-bottom: 20px; min-height: 44px; }
.company-filter .form-control { background: #7cb541; border: none; color: #fff; font-size: 16px; }
.company-filter .form-control::placeholder { color: #fff; }
.company-filter .input-group-text { border-color: #7cb541; border-radius: 0; background: #313942; padding: 0 10px; cursor: pointer; }
.company-filter .list { border: 1px solid #c5c5c5; overflow-y: auto; }
.company-filter .list > div:not(:last-child) { border-bottom: 1px solid #c5c5c5; }
.company-filter .list > div { padding: 15px 20px; color: #313942; font-size: 16px; cursor: pointer; display: flex; }
.company-filter .list > div:nth-child(even) { background: #efefef; }
.company-filter .list > div:hover, .company-filter .list > div.active { color: #fff; background: #7cb541; }
.company-filter .list .title { flex: 1; }
.company-filter .list a { align-self: center; color: inherit; display: none; font-weight: bold; }

@media(max-width: 767px) {
    .company-filter .list > div.active a { display: block; }
}

.lg-outer .lg-video-cont { max-width: 100% !important; padding: 0 !important; height: 100%; }
.lg-outer .lg-video { padding: 0 !important; height: 100vh !important; overflow-y: auto; }
.lg-html-content { background: #332f2e; color: #fff; padding: 60px 80px 100px; text-align: left; white-space: initial; min-height: 100%; }
.lg-html-content * { line-height: initial; }
.lg-html-content p { text-align: justify; }

.carousel-control-prev, .carousel-control-next { background-size: 50%, 50%; background-image: none; background-color: #fff; height: 100%; }
.carousel-control-prev i { font-size: 55px; color: #000; opacity: 0.3; padding: 10px 0; }
.carousel-control-next i { font-size: 55px; color: #000; opacity: 0.3; padding: 10px 0; }

#services .card { border-radius: 0; border: 1px solid #c5c5c5; margin: 0; position: relative; display: inline-block; width: 100%; }
#services .card-header { background: none; border: none; background: transparent; border-radius: 0; padding: 0; width: 90%; display: inline-block; }
#services .card-body { padding: 0; }
#services .card-body ul { margin: 0; list-style-type: none; padding: 0; }
#services .card-body ul li { font-size: 16px; color: #313942; padding: 15px 50px; display: block; cursor: pointer; transition: 250ms; }
#services .card-body ul li.active { background: #313942; color: #fff; }
#services .card-body ul li:not(:last-child) { border-bottom: 1px solid #c5c5c5; }
#services .card-header .btn { font-size: 22px; color: #313942; text-transform: uppercase; width: 100%; text-align: left; line-height: 22px; padding: 17px 17px 18px 17px; cursor: pointer; position: relative; border: none; }
#services .card-header .btn .count { text-transform: none; }
#services .card-header .btn:not(.collapsed), #services .card-header .btn.active { color: #ffffff; background-color: #313942; }
#services .btn-box { width: 9%; height: 58px; background-color: #313942; display: inline-block; background-position: center; background-repeat: no-repeat; vertical-align: bottom; background-size: 70% auto; color: #fff; }
#services .card-header .btn:not(.collapsed):before, #services .btn-box.active { background-color: #7cb541; }

/* Service category icons. The `.card.<slug>` class on the wrapper picks the
   matching PNG from assets/images/icons/map/. Categories without a dedicated
   icon (e.g. packet_box) fall through to the bare dark box. */
#services .card.packet_box      .btn-box,
#services .card.packet_box-en   .btn-box { background-image: url('assets/images/icons/map/packet_box.svg'); }
#services .card.restaurant      .btn-box { background-image: url('assets/images/icons/map/restaurant.png'); }
#services .card.coffee_shop     .btn-box { background-image: url('assets/images/icons/map/coffee_shop.png'); }
#services .card.bus             .btn-box { background-image: url('assets/images/icons/map/bus.png'); }
#services .card.ship_dock       .btn-box { background-image: url('assets/images/icons/map/ship_dock.png'); }
#services .card.conference_room .btn-box,
#services .card.conference_room-2 .btn-box { background-image: url('assets/images/icons/map/conference_room.png'); }
#services .card.charger         .btn-box { background-image: url('assets/images/icons/map/charger.png'); }
#services .card.car_wash        .btn-box { background-image: url('assets/images/icons/map/car_wash.png'); }
#services .card.bike_shed       .btn-box { background-image: url('assets/images/icons/map/bike_shed.png'); }
#services .card.bicycle_path    .btn-box { background-image: url('assets/images/icons/map/bicycle_path.png'); }
#services .card.gourd_filler    .btn-box { background-image: url('assets/images/icons/map/gourd_filler.png'); }
#services .card.free_library    .btn-box { background-image: url('assets/images/icons/map/free_library.png'); }
#services .card.yoga_park       .btn-box { background-image: url('assets/images/icons/map/yoga_park.png'); }
#services .card.health          .btn-box { background-image: url('assets/images/icons/map/health.png'); }
#services .card.smoking_area    .btn-box { background-image: url('assets/images/icons/map/smoking_area.png'); }
#services .card.grocery         .btn-box { background-image: url('assets/images/icons/map/grocery.png'); }
#services .card.cosmetology     .btn-box { background-image: url('assets/images/icons/map/cosmetology.png'); }
#services .card.choir           .btn-box { background-image: url('assets/images/icons/map/choir.png'); }
#services .card.sport           .btn-box { background-image: url('assets/images/icons/map/sport.png'); }

/* The taxonomy filter on EN categories adds a `-en` suffix to the class,
   so EN cards also get the matching icon. */
#services .card.restaurant-en      .btn-box { background-image: url('assets/images/icons/map/restaurant.png'); }
#services .card.coffee_shop-en     .btn-box { background-image: url('assets/images/icons/map/coffee_shop.png'); }
#services .card.bus-en             .btn-box { background-image: url('assets/images/icons/map/bus.png'); }
#services .card.ship_dock-en       .btn-box { background-image: url('assets/images/icons/map/ship_dock.png'); }
#services .card.conference_room-en .btn-box,
#services .card.conference_room-2-en .btn-box { background-image: url('assets/images/icons/map/conference_room.png'); }
#services .card.charger-en         .btn-box { background-image: url('assets/images/icons/map/charger.png'); }
#services .card.car_wash-en        .btn-box { background-image: url('assets/images/icons/map/car_wash.png'); }
#services .card.bike_shed-en       .btn-box { background-image: url('assets/images/icons/map/bike_shed.png'); }
#services .card.bicycle_path-en    .btn-box { background-image: url('assets/images/icons/map/bicycle_path.png'); }
#services .card.gourd_filler-en    .btn-box { background-image: url('assets/images/icons/map/gourd_filler.png'); }
#services .card.free_library-en    .btn-box { background-image: url('assets/images/icons/map/free_library.png'); }
#services .card.yoga_park-en       .btn-box { background-image: url('assets/images/icons/map/yoga_park.png'); }
#services .card.health-en          .btn-box { background-image: url('assets/images/icons/map/health.png'); }
#services .card.smoking_area-en    .btn-box { background-image: url('assets/images/icons/map/smoking_area.png'); }
#services .card.grocery-en         .btn-box { background-image: url('assets/images/icons/map/grocery.png'); }
#services .card.cosmetology-en     .btn-box { background-image: url('assets/images/icons/map/cosmetology.png'); }
#services .card.choir-en           .btn-box { background-image: url('assets/images/icons/map/choir.png'); }
#services .card.sport-en           .btn-box { background-image: url('assets/images/icons/map/sport.png'); }

img.grayscale { transition: 500ms filter; filter: grayscale(100%); }

@media(max-width: 1600px) {
    .navbar-main .nav-link { font-size: 14px; }
    .layout-home section.section1 .grid .cell .hover h1 { font-size: 24px; line-height: initial; }
    .layout-home section.section1 .grid .cell .hover p { font-size: 14px; }
    .info-box .number { font-size: 28px; }
    .history-box .details { padding: 10px 20px; font-size: 14px; }
    .content .row .details.order-lg-first { padding-left: 80px; }
    .content .row .details.order-lg-last { padding-right: 80px; }
}

@media (min-width: 992px) {
    .layout-home section.section1 .grid .cell:hover .hover { visibility: visible; opacity: 1; }
    .layout-home section.section1 .grid .cell:hover .label { visibility: hidden; opacity: 0; }
}

@media(max-width: 991px) {
    .navbar-main { padding: 0; }
    .navbar-main .nav-link { padding: 4px 0; }
    .navbar-collapse { padding: 10px; }
    body.layout-home:not(.scrolled) .navbar-main:not(.over-grid) .navbar-collapse { background: rgba(0, 0, 0, .8); }
    section.header h1 { font-size: 28px; }
    section.header h2 { font-size: 20px; }
    section.header .overlay { display: none; }
    section.header .overlay-mobile { display: block; }
    .content .row .details { padding: 0 20px !important; }
    .history-box { margin-bottom: 20px; }
    .history-box .image { text-align: center !important; }
    .history-box .details { position: relative; width: 100%; transform: none; margin-top: 20px; }
    .layout-life .sub-header-h1, .layout-investors section.section1 .body h1, .layout-park section.section1 h1, section.articles h1, .layout-renters section.section2 .left h1, .layout-life section.section4 .left h1, .layout-where section.section2 .left h1, .layout-contact .section1 h1, .layout-contact .section3 h1 { font-size: 35px; }
    .h1b { font-size: 45px; }
    .layout-home section.section1 .text { left: 0; width: 100%; padding: 10px; }
    .layout-home section.section1 .text h1 { font-size: 30px; }
    .layout-home section.section1 .text p { font-size: 16px; }
    .layout-home section.section1 .grid .cell { flex: 0 0 50%; height: 25vh; }
    .layout-home section.section1 .grid .cell .hover .more, .layout-home section.section1 .grid .cell .label { font-size: 12px; left: 20px; bottom: 20px; }
    .layout-home section.section1 .grid .cell .hover { padding: 20px; }
    .layout-home section.section1 .grid .cell .hover h1 { font-size: 20px; line-height: initial; }
    .layout-home section.section1 .grid .cell .hover p { font-size: 11px; display: none; }
    .layout-home section.section1 .grid .cell.hovered .hover { visibility: visible; opacity: 1; }
    .layout-home section.section1 .grid .cell.hovered .label { visibility: hidden; opacity: 0; }
    .layout-investors section.section1 .body img { max-width: 100%; }
    .layout-investors section.section1 .accordion .card .card-header .btn { text-align: left; }
    .content .details h1 { font-size: 30px; }
    .content .row .order-lg-first, .content .row .order-lg-last { padding: 0; }
    .renter-box .bottom { position: relative; bottom: 0; left: 0; display: block; }
    .layout-park section.section1 .subp, .layout-renters section.section1 .subp, .layout-school section.section1 .subp { padding: 0 15px; font-size: 16px; }
    .layout-renters section.section1 { padding-bottom: 0; }
    .layout-renters section.section2 { padding-top: 0; }
    #map .panel { display: none; }
    .map-panel-mobile { display: block; }
    section.header { background-image: none !important; }
    section.header .bg-mobile { display: block; }
}
