*:not(.entry-content, .entry-content *) {
    box-sizing: border-box;
    color: #444;
    font-family: 'Helvetica', 'Arial', sans-serif;
    margin: 0;
    padding: 0;
}

:root {
    --header_height: 17vh;
}

html, body {
  width: 100%;
}

a:not(.entry-content a) {
    text-decoration: none;
}

table:not(.entry-content table) {
    border-collapse: collapse;
}

.site-header {
    background: linear-gradient(rgb(0 0 0 / 60%), rgb(0 0 0 / 60%)), url('../img/bg.png') center / cover no-repeat;
    align-items: center;
    display: flex;
    height: var(--header_height);
    padding-left: 3vw;
    position: relative;
    width: 100%;
}

.img-logo {
    height: 10vh;
}

.stick {
    background-color: white;
    border: none;
    height: 10vh;
    margin: 0 2vw;
    width: 1.5px;
}

.media {
    position: absolute;
    right: 1.5vw;
    bottom: 1vh;
    width: auto;
    height: 4vh;
}

.media img {
    height: 100%;
    margin-right: 5px;
}

@media screen and (max-width: 750px) {
    :root {
        --header_height: 30vh;
    }

    .site-header {
        flex-direction: column;
        justify-content: space-around;
        padding: 3vh 0;
    }

    .media {
        bottom: none;
        top: 1vh;
    }

    .img-logo{
        height: 15vh;
    }

    .stick {
        width: 15vh;
        height: 1.5px;
    }

}

body > nav {
        background-color: #AB0000;
        width: 100%;
        height: 5vh;
        display: flex;
    }

body > nav li {
    list-style-type: none;
    }

.search {
      display: none;
    }

.home a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
    }

 .home img {
        width: auto;
        height: 50%;
    }

.main-menu {
        display: flex;
    }

.main-menu a {
        align-items: center;
        color: white;
        display: flex;
        height: 5vh;
        justify-content: center;
        padding: 0 1.5vw;
        width: auto;
    }

.main-menu a:hover {
        background-color: #700000;
        transition: .3s linear;
    }

.sub-menu {
        top: 3vh;
        background-color: #000000c0;
        transition: all .3s ease;
        z-index: 900;
    }

.sub-menu li {
        text-align: center;
        border-bottom: .5px solid white;
    }

.menu-bar img {
    width: 32px;
    height: auto;
}

@media screen and (max-width: 750px), screen and (max-height: 400px) {

    .home {
      display: none;
    }

    .menu-bar {
      margin-left: 1.5vw;
      z-index: 999;
    }

    .menu-close {
      z-index: 999;
      margin-left: 1.5vw;
    }

    .menu-close img {
        height: 4vh;
    }

    .main-menu {
      background-color: #3c3c3c;
      border-bottom: .5px solid white;
      box-shadow: 3px 3px 5px #3c3c3c;
      flex-direction: column;
      opacity: 95%;
      position: absolute;
      transition: all .3s ease;
      width: 100%;
      z-index: 900;
    }

    .main-menu li {
      border-bottom: .5px solid white;
    }

    .sub-menu {
      width: 100%;
      box-shadow: 3px 3px 5px #3c3c3c;
      opacity: 95%;
    }

    .main-menu > li > a {
        font-weight: bold;
    }

    body > nav button {
      border: none;
      background-color: rgba(0, 0, 0, 0);
    }

    .visible {
      display: block;
      pointer-events: all;
      transition: all .3s ease;
    }

    .invisible {
      display: none;
      transition: all .3s ease;
    }
}

@media screen and (min-width: 750px), screen and (max-height: 400px)  {

    .home {
        background-color: #3c3c3c;
        border-radius: 0 33% 33% 0;
        height: 100%;
        margin-right: 1.5vw;
        min-width: 50px;
        width: 5vh;
    }

    .menu-close, .menu-bar {
        display: none;
    }

    .main-menu > li:hover .sub-menu {
        opacity: 95%;
        top: 22vh;
        pointer-events: all;
    }

    .sub-menu {
        position: absolute;
        top: 20vh;
        width: auto;
        opacity: 0;
        pointer-events: none;
    }
}

    .container {
        background-color: white;
        display: flex;
        justify-content: space-around;
        padding: 5vh 0vw;
        width: 100%;
        min-height: 58vh;
    }

    @media screen and (max-width: 750px), screen and (max-height: 400px) {
        .container {
            flex-direction: column;
            justify-content: start;
            align-items: center;
            min-height: 45vh;
        }

        .site-main, .site-sidebar {
            width: 80vw;
        }
    }

    .site-main {
            margin: 0;
            width: 55vw;
        }

    .front_item {
            margin-bottom: 10vh;
        }

    .page_title {
        display: block;
        width: 55vw;
        height: auto;
        border-bottom: 5px solid #ACACAC;
    }

    .href {
        margin: 20px 0;
        width: 100%;
        height: auto;
        display: flex;
        align-items: flex-start;
        transition: .3s linear;
        border-radius: 15px;
        cursor: pointer;
        padding: 5px;
        overflow: visible;
    }

    .href:hover {
        background-color: #ACACAC;
        transition: .3s linear;
    }

    .href img {
        flex: 0 0 auto;
        width: clamp(4rem, 8vw, 6rem);
        height: auto;
        aspect-ratio: 1;
        border-radius: 0.75rem;
        object-fit: cover;
        object-position: center;
    }

    .href > section {
        flex: 1;
        min-width: 0;
    }

    .href > section > * + * {
        margin-top: 0.5rem;
    }

    @media screen and (max-width: 750px) {

    .site-main {
        width: 80vw;
    }

    .page_title {
        width: 80vw;
    }
}

     .button button {
        font-size: 20px;
        height: 30px;
        width: auto;
        background-color: #F3F3F3;
        border: none;
        border-radius: 10px;
        padding: 0 15px;
    }

    .button button:hover {
        background-color: #555;
        color: #F3F3F3 !important;
        transition: .3s linear;
        cursor: pointer;
    }

    .button button:hover p {
        color: #F3F3F3;
        transition: .3s linear;
    }

    .site-sidebar {
        margin: 0;
        width: 25vw;
        display: flex;
        flex-direction: column;
        align-items: center;

    }

    .site-sidebar section {
        background-color: #F3F3F3;
        padding: 15px;
        border-radius: 25px;
        margin-bottom: 5vh;
        width: 100%;
        min-width: 225px;
        max-width: 325px;
    }

    .site-sidebar p {
        display: block;
        margin: 25px 0;
        font-size: 16px;
    }

    .site-sidebar table {
        width: 100%;
        margin-top: 15px;
    }

    .site-sidebar tr {
        width: 100%;
        display: block;
        margin: 10px 0;
    }

    .biuro td {
        width: 50%;
        vertical-align: top;
    }

    .biuro td:nth-child(1) {
    font-weight: bold;
    }

    .biuro td:nth-child(2) {
        text-align: right;
    }

    @media screen and (max-width: 750px) {
        .site-sidebar {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .site-sidebar section {
        width: 80vw;
        }
    }

    .msze table tr th {
        margin-top: 15px;
        padding-top: 15px;
    }

    .msze table tr {
        margin: 0;
    }

    .msze table tr td {
        width: fit-content;
        padding: 0 5px;
    }

    .msze table tr td {
        font-weight: 400;
        text-align: center;
    }

    .site-footer {
        clear: both;
        width: 100%;
        height: 15vh;
        background-color: #3C3C3C;
        margin-top: 5vh;

        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .site-footer p {
        display: block;
        color: white;
        margin: 1vh auto;
    }

    .site-footer b {
        color: red;
    }

    .navigation {
        width: auto;
        background-color: white;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .current {
        font-weight: bold;
        color: #AB0000;
    }

.page_title {
    margin-bottom: 3vh;
}

@media screen and (max-height:500px) {
    .site-header {
        display: none !important;
    }

    body > nav {
        height: 10vh !important;
    }
    .home {
      display: none;
    }

    .menu-bar {
        display: block;
      margin-left: 1.5vw;
      z-index: 999;
    }

    .menu-close {
        display: block;
      z-index: 999;
      margin-left: 1.5vw;
    }

    .menu-close img {
        height: 7.5vh;
    }

    .main-menu {
      background-color: #3c3c3c;
      border-bottom: .5px solid white;
      box-shadow: 3px 3px 5px #3c3c3c;
      flex-direction: column;
      opacity: 95%;
      position: absolute;
      transition: all .3s ease;
      width: 100%;
      z-index: 900;
    }

    .main-menu li {
        height: 10vh;
      border-bottom: .5px solid white;
    }

    .sub-menu {
      width: 100%;
      box-shadow: 3px 3px 5px #3c3c3c;
      opacity: 95%;
    }

    .main-menu > li > a {
        height: 100%;
        font-weight: bold;
    }

    .sub-menu a {
        height: 100%;
    }

    body > nav button {
      border: none;
      background-color: rgba(0, 0, 0, 0);
    }

    .visible {
      display: block;
      pointer-events: all;
      transition: all .3s ease;
    }

    .invisible {
      display: none;
      transition: all .3s ease;
    }

    .site-main {
        width: 90vw;
    }

    .page_title {
        width: 90vw;
    }

    .home {
        display: block;
        width: 10vh !important;
        position: relative;
        left: 3vw;
        background-color: #AB0000;
    }

    .home img {
        min-height: 25px;
    }
}

.container, body > .content {
    width: 100%;
    margin-inline: 0;
    padding: 5vh 0;
    gap: 0;
    align-items: flex-start;
}
.site-main { width: 55vw; min-width: 0; }
.container > .site-main { flex: 0 1 auto; }
.container:not(.container--home) > .site-main, body > .content > .site-main { margin-inline: auto; }
.container > .site-sidebar { flex: 0 0 18rem; width: 18rem; }
.page_title { width: 100%; margin-bottom: 1.5rem; }
.front_item { margin-bottom: 3rem; }
.href { gap: clamp(0.75rem, 2vw, 1.5rem); margin: 1.25rem 0; padding: 0.375rem; }
.button button { min-height: 2.75rem; height: auto; padding: 0.5rem 1rem; }
.site-sidebar section { min-width: 0; max-width: none; margin-bottom: 1.5rem; }
.site-sidebar p { margin: 1rem 0; overflow-wrap: anywhere; }
.site-footer { height: auto; min-height: 8rem; padding: 1.5rem 1rem; text-align: center; box-sizing: border-box; }
.entry-header { margin-bottom: 1.5rem; }
.entry-header > * + * { margin-top: 0.5rem; }

.entry-content { min-width: 0; display: flow-root; }
.site-header { min-height: 10rem; height: auto; padding-block: 1.5rem; gap: 1rem; box-sizing: border-box; }
.site-header > h1 { max-width: 28em; padding-right: 6rem; }
body > nav { height: auto; min-height: 3rem; position: relative; }
.main-menu { flex-wrap: wrap; }
.main-menu > li { position: relative; }
.main-menu a { height: auto; min-height: 3rem; padding: 0.75rem 1rem; box-sizing: border-box; }
.main-menu .sub-menu {
    width: max-content;
    max-width: calc(100vw - 2rem);
}
.main-menu .sub-menu a { white-space: nowrap; }
.home a { min-height: 3rem; }
.home img { height: 1.5rem; }
.main-menu > li:hover .sub-menu, .main-menu > li:focus-within .sub-menu { top: 100%; opacity: 1; pointer-events: auto; }
.sub-menu { top: 100%; }
.menu-bar, .menu-close { min-width: 2.75rem; min-height: 2.75rem; }
.menu-close img { width: 2rem; height: 2rem; }
@media (max-width: 60rem) {
    .container { flex-direction: column; }
    .container > .site-sidebar { flex: auto; width: 100%; }
    .site-sidebar section { width: 100%; box-sizing: border-box; }
}
@media (max-width: 750px) {
    .site-main { width: 80vw; }
    .site-header > h1 { padding-right: 0; }
    .site-header { padding-inline: 1rem; }
    .main-menu { top: 100%; }
    .main-menu > li:hover .sub-menu, .main-menu > li:focus-within .sub-menu, .sub-menu { position: static; }
}

.container--home {
    width: 100%;
    margin-inline: 0;
    padding: 5vh 0;
    gap: 0;
    flex-direction: row;
    justify-content: space-around;
}
.container--home > .site-main { flex: 0 1 55%; width: 55%; }
.container--home > .site-sidebar { flex: 0 1 25%; width: 25%; }
.container--home > .site-sidebar > section { width: 100%; max-width: 325px; }
.msze {
    padding: clamp(1rem, 1.5vw, 1.5rem) !important;
}
.msze > h3 {
    margin: 0 0 1rem;
    padding-bottom: 0.35rem;
    border-bottom: 0.2rem solid #AB0000;
}
.msze__content {
    --msze-font-size: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.msze__content p { margin: 0; }
.msze__sunday h4 {
    margin: 0 0 0.25rem;
    font-size: clamp(1rem, 0.95rem + 0.3vw, 1.2rem);
    line-height: 1.35;
}
.msze__times {
    text-align: center;
    white-space: pre-wrap;
    font-size: var(--msze-font-size);
    line-height: 1.6;
}
.msze__chapel { display: flex; flex-direction: column; gap: 0.5rem; }
.msze__chapel > p:not(.msze__legend) {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    gap: 0.5rem;
    font-size: var(--msze-font-size);
    text-align: center;
}
.msze__chapel > p:not(.msze__legend) > span:last-child { white-space: pre-wrap; }
.msze__chapel > p:not(.msze__legend) > span:first-child {
    align-self: auto;
    text-align: center;
}
.site-sidebar .msze__legend {
    align-self: flex-end;
    text-align: right;
    font-size: 0.75em;
    line-height: 1.35;
}
.msze__regular { display: flex; flex-direction: column; gap: 0.5rem; }
.msze__regular > p {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
    align-items: baseline;
    font-size: var(--msze-font-size);
}
.msze__regular > p > span { white-space: pre-wrap; }
.site-sidebar .msze__sunday h4,
.site-sidebar .msze__chapel > p:not(.msze__legend),
.site-sidebar .msze__regular > p { font-size: var(--msze-font-size); }
@media (max-width: 750px) {
    .container--home { flex-direction: column; align-items: center; gap: 1.5rem; }
    .container--home > .site-main, .container--home > .site-sidebar { flex: auto; width: 80%; }
}

@media (max-width: 750px) {
    body > nav {
        align-items: center;
        height: auto;
        min-height: 3.5rem;
        position: relative;
        z-index: 1000;
        background: #ab0000;
        box-shadow: 0 0.2rem 0.65rem rgb(0 0 0 / 18%);
    }

    body > nav .menu-bar,
    body > nav .menu-close {
        align-items: center;
        justify-content: center;
        display: flex;
        width: 3rem;
        height: 3rem;
        margin: 0 0.75rem;
        padding: 0;
        border: 0;
        border-radius: 0.75rem;
        background: transparent;
        cursor: pointer;
        transition: background-color 160ms ease, transform 160ms ease;
    }

    body > nav .menu-bar:hover,
    body > nav .menu-close:hover,
    body > nav .menu-bar:focus-visible,
    body > nav .menu-close:focus-visible {
        outline: 2px solid rgb(255 255 255 / 85%);
        outline-offset: 2px;
        background: rgb(255 255 255 / 14%);
    }

    body > nav .menu-bar img {
        width: 1.65rem;
        height: 1.65rem;
        object-fit: contain;
    }

    body > nav .menu-close img {
        width: 1.8rem;
        height: 1.8rem;
        object-fit: contain;
    }

    body > nav .menu-bar.invisible,
    body > nav .menu-close.invisible {
        display: none;
    }

    body > nav .main-menu,
    body > nav .main-menu.visible {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 1001;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        width: 100%;
        max-height: min(72vh, 36rem);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 0.5rem 0;
        border: 1px solid rgb(255 255 255 / 8%);
        border-top: 0;
        border-radius: 0 0 1rem 1rem;
        background: #292c30;
        box-shadow: 0 0.75rem 1.5rem rgb(0 0 0 / 28%);
        opacity: 1;
        scrollbar-color: #777 #292c30;
    }

    body > nav .main-menu.invisible {
        display: none;
    }

    body > nav .main-menu > li {
        height: auto;
        border: 0;
        border-bottom: 1px solid rgb(255 255 255 / 10%);
    }

    body > nav .main-menu > li:last-child {
        border-bottom: 0;
    }

    body > nav .main-menu > li > a {
        justify-content: space-between;
        width: 100%;
        min-height: 3.25rem;
        height: auto;
        padding: 0.85rem 1.25rem;
        color: #fff;
        font-size: 1.05rem;
        font-weight: 600;
        line-height: 1.35;
        text-align: left;
        transition: background-color 160ms ease;
    }

    body > nav .main-menu > li > a:hover,
    body > nav .main-menu > li > a:focus-visible,
    body > nav .main-menu > li.submenu-open > a {
        background: rgb(255 255 255 / 9%);
    }

    body > nav .main-menu > li.menu-item-has-children > a::after {
        content: "";
        flex: 0 0 0.55rem;
        width: 0.55rem;
        height: 0.55rem;
        margin-left: 1rem;
        border-right: 2px solid #f0bcbc;
        border-bottom: 2px solid #f0bcbc;
        transform: rotate(45deg) translateY(-0.15rem);
        transition: transform 160ms ease;
    }

    body > nav .main-menu > li.submenu-open > a::after {
        transform: rotate(225deg) translate(-0.1rem, -0.1rem);
    }

    body > nav .main-menu .sub-menu,
    body > nav .main-menu .sub-menu.visible {
        position: static;
        width: 100%;
        max-width: none;
        padding: 0.2rem 0 0.55rem;
        background: #202326;
        box-shadow: none;
        opacity: 1;
        pointer-events: auto;
    }

    body > nav .main-menu .sub-menu {
        display: none;
    }

    body > nav .main-menu .sub-menu.visible {
        display: block;
    }

    body > nav .main-menu .sub-menu.invisible {
        display: none;
    }

    body > nav .main-menu .sub-menu li {
        height: auto;
        border: 0;
    }

    body > nav .main-menu .sub-menu a {
        justify-content: flex-start;
        min-height: 2.75rem;
        height: auto;
        padding: 0.65rem 1.25rem 0.65rem 2.25rem;
        color: #e2e4e6;
        font-size: 0.98rem;
        font-weight: 400;
        line-height: 1.35;
        text-align: left;
        white-space: normal;
    }

    body > nav .main-menu .sub-menu a:hover,
    body > nav .main-menu .sub-menu a:focus-visible {
        color: #fff;
        background: rgb(255 255 255 / 8%);
    }
}

@media screen and (orientation: landscape) and (max-height: 600px) {
    .container,
    body > .content,
    .container--home {
        flex-direction: column;
        align-items: center;
    }

    .container > .site-main,
    body > .content > .site-main,
    .container--home > .site-main {
        flex: 0 0 90%;
        width: 90%;
        max-width: none;
    }

    .container > .site-sidebar,
    .container--home > .site-sidebar {
        flex: 0 0 90%;
        width: 90%;
        max-width: none;
    }

    .container--home > .site-sidebar > section {
        max-width: none;
    }

    .site-main .href {
        width: 100%;
    }
}
