:root { --white: white; --green: #437749; --orange: #F4A261; --gray: rgb(75, 75, 75); }
html { user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; font-size: 100%; -webkit-text-size-adjust: 100%; }
body { background-color: var(--green); }
* { margin: 0; padding: 0; scroll-padding-top: var(--header); font-size: 16px; color: inherit; text-decoration: none; scroll-behavior: smooth; outline: none; border: none; box-sizing: border-box; }
.c-white { color: var(--white); }
.bc-white, .h-bc-white:hover { background-color: var(--white); }
.c-green { color: var(--green); }
.bc-green { background-color: var(--green); }
.c-orange, .h-c-orange:hover { color: var(--orange); }
.bc-orange { background-color: var(--orange); }
.c-gray { color: var(--gray); }
.fw-600 { font-weight: 600; }
.flex { display: flex; flex-wrap: wrap; }
.block { display: block; }
.table { display: table; }
.honeypot { display: none; }
.space-between { justify-content: space-between; }
.items-center { align-items: center; }
.content-center { justify-content: center; }
.self-center { align-self: center; }
.text-center { text-align: center; }
.absolute { position: absolute; }
.pointer:hover { cursor: pointer; }
.transition { transition: 0.25s; }
.border-radius-8 { border-radius: 8px; }
.border-radius-16 { border-radius: 16px; }
.border-radius-32 { border-radius: 32px; }
.cover { object-fit: cover; }
.remain { flex: 1; }
.underline:hover { text-decoration: underline; }
.underline-2 { text-decoration: underline; }

/* FEJLÉC */
header { position: sticky; position: -webkit-sticky; top: 0; left: 0; right: 0; }
.auto, nav, section, form { margin: 0 auto; }
nav, section { width: 100%; max-width: 1280px; }
.logo-text-1 { padding: 8px 16px; font-family: 'Times New Roman', Times, serif; font-size: 24px; font-variant: small-caps; }
.button-line { width: 21px; height: 3px; }
.button-line-up { margin-bottom: 8px; }
.button-line-down { margin-top: 8px; }
.click .button-line-up { transform: translateY(4px); }
.click .button-line-down { transform: translateY(-4px); }
.mobile-menu { display: none; width: 100%; }

@media (max-width: 573px) { 
nav { padding: 0; }
.desktop-menu { display: none; }
.hamburger-menu-button { display: block; margin: 0 16px; }
}
@media (min-width: 574px) { 
nav { padding: 0 16px; }
.desktop-menu { display: none; }
.hamburger-menu-button { display: block; margin: 0 16px; }
}
@media (min-width: 900px) {
nav { padding: 0 16px; }
.desktop-menu { display: flex; }
.link-desktop { margin: 0 16px; }
.hamburger-menu-button, .mobile-menu { display: none !important; }
}

/* FŐOLDAL */
.margin-top-8 { margin-top: 8px; }
.margin-top-16 { margin-top: 16px; }
.margin-top-bottom-16 { margin-top: 16px; margin-bottom: 16px; }
.margin-top-32 { margin-top: 32px; }
.main-screen { height: auto; min-height: calc( var(--screen) - var(--header) ); }
.main-image, .service-image, .main-contact-text-box, form, .contact-text-box, input, .contact-field, .map { width: 100%; }
.main-image { max-width: 704px; }
.service-image { aspect-ratio: 2/1.25; }
.main-contact-text-box { max-width: 512px; }
form, .contact-text-box, input { max-width: 384px; }
.contact-field { padding: 16px; }
textarea { height: 160px; resize: vertical; }
.submit-button { padding: 12px 16px; }
footer { padding: 16px 0; }

@media (max-width: 573px) { 
* { font-family: "Roboto Slab", serif; }
.section-1 { padding: 32px 16px; }
h1 { font-size: 28px; }
h2 { font-size: 18px; }
.section-2 { padding: 32px 0; }
.flex-1 { margin: 0 16px; width: 100%; }
.about-image { width: auto; height: 320px; margin-left: auto; margin-right: auto; }
.flex-2 { margin: 0 16px; width: calc( 100% - 32px ); }
label { font-size: 20px; }
.map { height: 320px; }
}

@media (min-width: 574px) { 
* { font-family: "Roboto Slab", serif; }
.section-1 { padding: 32px; }
h1 { font-size: 38px; }
h2 { font-size: 22px; }
.section-2 { padding: 32px 16px; }
.flex-1 { margin: 0 16px; width: 100%; }
.about-image { width: auto; height: 384px; margin-left: auto; margin-right: auto; }
.flex-2 { margin: 0 16px; width: calc( 50% - 32px ); }
label { font-size: 21px; }
.map { height: 352px; }
}

@media (min-width: 768px) { 
* { font-family: "Roboto Slab", serif; }
.section-1 { padding: 48px; }
h1 { font-size: 40px; }
h2 { font-size: 24px; }
.section-2 { padding: 48px 32px; }
.flex-1 { margin: 0 16px; width: 100%; }
.about-image { width: auto; height: 400px; margin-left: auto; margin-right: auto; }
.flex-2 { margin: 0 16px; width: calc( 50% - 32px ); }
label { font-size: 22px; }
.map { height: 384px; }
}

@media (min-width: 993px) { 
* { font-family: "Roboto Slab", serif; }
.section-1 { padding: 56px; }
h1 { font-size: 44px; }
h2 { font-size: 26px; }
.section-2 { padding: 56px 40px; }
.flex-1 { margin: 0 16px; width: auto; }
.about-image { width: auto; height: 416px; margin-left: auto; margin-right: 0; }
.flex-2 { margin: 0 16px; width: calc( 33.33% - 32px ); }
label { font-size: 23px; }
.map { height: 416px; }
}

@media (min-width: 1250px) { 
* {  font-family: "Rufina", serif; }
.section-1 { padding: 64px; }
h1 { font-size: 48px; }
h2 { font-size: 28px; }
.section-2 { padding: 64px 48px; }
.flex-1 { margin: 0 16px; width: auto; }
.about-image { width: auto; height: 432px; margin-left: auto; margin-right: 0; }
.flex-2 { margin: 0 16px; width: calc( 33.33% - 32px ); }
label { font-size: 24px; }
.map { height: 448px; }
}