:root {
    font-size: 18px;
    /* --bs-body-color: #212529; */

    --first: #a9ed17;
    --second: #61d859;
    --third: #fada6d;

    --krolmacius: #61d859;
    --chrobry: #fcc31c;
    --sobieski: #0000dc;

    --pale: #dff2b7;
    --description: #333;
    --gray-bg: #ebebeb;
    --gray-border: #dee2e6;
}

body { font-family: 'PT Sans', serif !important; font-weight: 400 !important; font-optical-sizing: auto; font-variant-ligatures: no-common-ligatures; }

.description { color: var(--description); line-height: 1.75; }

.description > :last-child,
.post, .page { margin-bottom: 0 !important; }

a, button, img,
#masthead .wrapper #primary-menu > .menu-item > .sub-menu,
.sticky-widget .wrapper .extension,
.news .box .thumb a::before,
.background { outline: none !important; transition: all .4s; }

img { -webkit-user-drag: none; user-select: none; }

hr { margin: 3rem auto !important; border-top-width: 3px !important; border-top-style: dashed !important; border-top-color: var(--first) !important; opacity: 1 !important; background-color: transparent; }

.font-weight-normal { font-weight: 400 !important; }

.sticky { position: sticky !important; top: 0; }

.description a { color: var(--bs-body-color); text-decoration: none; }

.description a:hover,
.description a:focus { text-decoration: underline; }

.background { background-position: center; background-repeat: no-repeat; background-size: 100%; }

.background:hover,
.background:focus { background-size: 105%; }

.background.cover { background-size: cover; }

.background.contain { background-size: contain; }

section:not(#hero).background { background-position: center bottom; background-size: auto !important; background-repeat: repeat-x; }

section:not(#hero).background.upper { background-position: center top; background-size: auto !important; background-repeat: repeat-x; }

section:not(#hero).background.separator { background-position: center top, center bottom, center; background-size: auto, auto, cover !important; background-repeat: repeat-x, repeat-x, no-repeat; }

.text-first { color: var(--first) !important; }

.text-second { color: var(--second) !important; }

.text-third { color: var(--third) !important; }

.bg-pale { background-color: var(--pale) !important; }

.bg-gray { background-color: var(--gray-bg) !important; }

.description ul { margin-left: 0; padding-left: 0; padding-left: 20px; }

.description ul li::marker { color: var(--second); }

.box .company svg { fill: var(--first); width: 64px; height: auto; margin-right: .875rem; }

.box .address .ico svg { fill: var(--first); width: auto; height: 28px; }
.box .tel .ico svg { fill: var(--first); width: auto; height: 30px; }
.box .email .ico svg { fill: var(--first); width: auto; height: 20px; }
.box .open .ico svg { fill: var(--first); width: auto; height: 26px; }

.box .ico.black svg { fill: var(--bg-body-color); }

.box .ico { width: 56px; display: flex; justify-content: center; align-items: center; }

.box .fullname { padding-left: 0; }

#rekrutacja .email > h4 > .my-link,
.box .details.wrapper > .email > h4 > .my-link { font-size: 15.5px; letter-spacing: -.125px; }

.box { background-color: var(--gray-bg); }

.box,
.box .google-map iframe { border-radius: 1rem 1rem 1rem 0; overflow: hidden; }

.box .google-map iframe { aspect-ratio: 518 / 255; display: flex; width: 100%; height: auto; min-height: 255px; overflow: hidden; }

.element .thumb { aspect-ratio: 380 / 255; width: 100%; height: auto; border-radius: 1.25rem 1.25rem 1.25rem 0; overflow: hidden; }

.carousel .carousel-control-next,
.carousel .carousel-control-prev { width: calc(36px + 1rem); height: calc(36px + 1rem); background-color: var(--second); top: calc(50% - (36px + 1rem) / 2); padding: 1rem; border-radius: calc((36px + 1rem) / 2); overflow: hidden; }

#masthead { border-top: 19px solid var(--first); background-color: white; position: relative; z-index: 9999; }

#masthead .wrapper { display: flex; justify-content: space-between; align-items: center; }

#masthead .site-branding img { max-width: 250px; }

.h0,
h1, .h1,
h2, .h2,
h4, .h4 { font-weight: 700 !important; }

h3, .h3,
h5, .h5 { font-weight: 400 !important; }

.h0 { font-size: calc(120px * .725); }

h1, .h1 { font-size: calc(80px * .725) !important; }

h2, .h2 { font-size: calc(60px * .725) !important; }

h3, .h3 { font-size: calc(25px * .725) !important; padding: .25rem .75rem; border-radius: 1rem 1rem 1rem 0; overflow: hidden; background-color: var(--first); display: inline-flex; }

.fs-30 { line-height: 1.125; }

.fs-30,
h4, .h4 { font-size: calc(30px * .725) !important; }

h5, .h5 { font-size: calc(18px * .725) !important; }

body.page-template-default .description a { color: var(--second); font-weight: bolder; }

body.page-template-default .description ul { margin-left: 0; padding-left: 1.25rem; }
body.page-template-default .description ol { margin-left: 0; padding-left: 1.5rem; }

body.page-template-default .description ol > li:not(:last-child) { margin-bottom: .75rem; }
body.page-template-default .description ul > li:not(:last-child) { margin-bottom: .25rem; }

body.page-template-default .description ol > li > ol { padding-top: .75rem; }
body.page-template-default .description ol > li > ul { padding-top: .25rem; }

body.page-template-default .description h4 { margin-bottom: 1rem; }
body.page-template-default .description h4:not(:first-child) { padding-top: 1rem; }

/* GOOGLE CONSENT MODE V2 - start */

#cc-main .cm__body .cm__texts .cm__title::before { content: ''; display: block; height: 51px; margin-top: 5px; margin-bottom: 20px; margin-left: 0; background: url('https://krolmacius.lublin.pl/wp-content/uploads/2025/01/logo.webp') no-repeat left top; background-size: auto; }

#cc-main .cm__body .cm__btns [data-role = "all"],
#cc-main .pm__footer .pm__btn-group [data-role = "all"] { background-color: #61d859 !important; border-color: #61d859 !important; color: #fff; }

#cc-main .cm__title,
#cc-main .pm__title { font-size: 150% !important; }

a.nsc-bara-cookie-settings-tab[onclick] { visibility: hidden !important; }

/* GOOGLE CONSENT MODE V2 - end */

@media (min-width: 413px) {
    #masthead .site-branding img { max-width: auto; }
}

@media (min-width: 576px) {
    #rekrutacja .email > h4 > .my-link,
    .box .details.wrapper > .email > h4 > .my-link { font-size: 27px; }
    .h0 { font-size: 120px; }
    h1, .h1 { font-size: 80px !important; }
    h2, .h2 { font-size: 60px !important; }
    h3, .h3 { font-size: 25px !important; }
    .fs-30, h4, .h4 { font-size: 30px !important; }
    h5, .h5 { font-size: 18px !important; }
    .carousel .carousel-control-prev { margin-left: calc(-36px + 1rem / 2); }
    .carousel .carousel-control-next { margin-right: calc(-36px + 1rem / 2); }
}

@media (min-width: 768px) {
    .box .fullname { padding-left: 56px; }
    #rekrutacja .email > h4 > .my-link,
    .box .details.wrapper > .email > h4 > .my-link { font-size: 30px; }
}

@media (min-width: 1200px) {
    .fs-30, h4, .h4 { font-size: 23.5px !important; }
    .box .fullname { padding-left: 0; }
    .box .fullname .wrapper { min-height: 60.9px; }
    .box .details.wrapper { min-height: 163.2px; }
    #rekrutacja .email > h4 > .my-link,
    .box .details.wrapper > .email > h4 > .my-link { font-size: 26.5px; }
}

@media (min-width: 1400px) {
    .fs-30, h4, .h4 { font-size: 27.5px !important; }
    .box .fullname { padding-left: 56px; }
    .box .fullname .wrapper { min-height: 70.5px; }
    .box .details.wrapper { min-height: 168px; }
    #rekrutacja .email > h4 > .my-link,
    .box .details.wrapper > .email > h4 > .my-link { font-size: 30px; }
}