﻿html,
html.wcag-font-default {
    font-size: 13px;
}

html.wcag-font-bigger {
    font-size: 18px;
}

:root {
    --navbar-bg-color: rgba(99, 14, 14, 0.85);
    --navbar-bg-color-mobile: rgba(99, 14, 14);
    --background-color: #ffffff;
    --font-color-bright: #fff;
    --font-color-dark: #000;
    --font-color-gray: #404040;
    --border-color: #dee2e6;
    --link-color: #272521;
    --button-bg-color: #890811;
    --button-border-color: transparent;
    --menu-dropdown-hover-bg-color: rgba(99, 14, 14, 0.93);
    --form-label-color: #393939;
    --form-input-bg-color: #ffffff;
    --form-input-font-color: #495057;
    --input-shaddow-color: rgba(127, 127, 127, 0.5);
    --bs-success: #198754;
    --bs-danger: #dc3545;
    --bs-warning: #ffc107;
    --bs-body-color: #212529;

}

.wcag-contrast-blackyellow {
    --navbar-bg-color: #000000;
    --navbar-bg-color-mobile: #000000;
    --background-color: #000000;
    --font-color-bright: #ffff00;
    --font-color-dark: #ffff00;
    --font-color-gray: #ffff00;
    --border-color: #ffff00;
    --link-color: #ffff00;
    --button-bg-color: #000000;
    --button-border-color: #ffff00;
    --menu-dropdown-hover-bg-color: #000000;
    --form-label-color: #ffff00;
    --form-input-bg-color: #000000;
    --form-input-font-color: #ffff00;
    --input-shaddow-color: rgba(255, 255, 0, 0.5);
    --bs-body-color: #ffff00;
    --bs-success: #ffff00;
    --bs-danger: #ffff00;
    --bs-warning: #ffc107;
}

body, .h1, .h2, .h3, .h4, h1, h2, h3, h4, h5, h6 {
    font-family: Verdana, "Bitstream Vera Sans", "DejaVu Sans", Tahoma, Geneva, Arial, sans-serif;
    font-weight: bold;
}

body {
    color: var(--font-color-gray);
    background: var(--background-color);
    font-weight: normal;
}

@font-face {
    font-family: 'MerriweatherRegularSans';
    src: url('../fonts/merriweathersans-regular-webfont.eot');
    src: local(Merriwaether_regular_sans),
    url('../fonts/merriweathersans-regular-webfont.woff') format("woff"),
    url('../fonts/merriweathersans-regular-webfont.ttf') format("truetype"),
    url('../fonts/merriweathersans-regular-webfont.svg') format("svg");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: 'fontello';
    src: url('../fonts/fontello.eot');
    src: url('../fonts/fontello.eot#iefix') format('embedded-opentype'),
    url('../fonts/fontello.woff2') format('woff2'),
    url('../fonts/fontello.woff') format('woff'),
    url('../fonts/fontello.ttf') format('truetype'),
    url('../fonts/fontello.svg#fontello') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "fontello", serif;
    font-style: normal;
    font-weight: normal;
    speak: none;

    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    /* opacity: .8; */
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: .2em;
    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-basket:before {
    content: '\e800';
}

/* '' */
.icon-trash-empty:before {
    content: '\e801';
}

/* '' */
.icon-plus:before {
    content: '\e802';
}

/* '' */
.icon-hourglass:before {
    content: '\e804';
}

/* '' */
.icon-edit:before {
    content: '\e805';
}

/* '' */
.icon-minus:before {
    content: '\e806';
}

/* '' */

@media (min-width: 1200px) {
    .container {
        max-width: 1170px;
    }
}

.js .no-js, .no-js .js {
    display: none;
}

.no-list {
    list-style: none;
    padding: 0;
}

a.btn-big {
    width: 100%;
}

.lista a.btn-big {
    margin-bottom: 8px;
}

input[type="text"],
input[type="password"],
textarea,
select,
input[type="text"].form-control,
input[type="password"].form-control,
textarea.form-control,
select.form-control,
.form-group input[type="text"].form-control,
.form-group input[type="password"].form-control,
.form-group textarea.form-control,
.form-group select.form-control {
    padding: 2px 8px;
    border: 1px solid var(--form-label-color);
    background-image: none;
    background-color: var(--form-input-bg-color);
    line-height: 16px;
    margin-bottom: 10px;
    font-size: 1rem;
    border-radius: 0;
    -webkit-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    color: var(--form-input-font-color);
}

.checkbox label,
.radio label,
label,
.form-group .checkbox label,
.form-group .radio label,
.form-group label {
    color: var(--form-label-color);
    font-size: 1rem;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--font-color-dark) !important;
    box-shadow: 0 0 0 0.2rem var(--input-shaddow-color) !important;
}

input.divErrorField:focus, select.divErrorField:focus, textarea.divErrorField:focus {
    border-color: red !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 0, 0, 0.5) !important;
}

.divElement label {
    color: inherit;
}

h1 {
    font-size: 2rem;
    display: inline-block;
}

h2 {
    font-size: 1.4rem;
}

h3 {
    font-size: 1.3rem;
}

h4 {
    font-size: 1.2rem;
}

h5 {
    font-size: 1rem;
}

.panel.panel-default {
    margin-top: 25px;
}

.color-required, .divErrorField, .divError {
    color: darkred !important;
}

.wcag-contrast-blackyellow .color-required,
.wcag-contrast-blackyellow .divErrorField,
.wcag-contrast-blackyellow .divError {
    color: #ffff00 !important;
}

span.color-required {
    display: inline-block;
    margin-left: 0.2em;
    margin-right: 0.2em;
}

input + span.color-required {
    margin-left: 0;
}

a, a:active, a:hover {
    color: var(--link-color);
}

.form-control:focus {
    box-shadow: none;
}

.payment-a {
    background-color: #dad8da;
    color: white !important;
}

.btn {
    cursor: pointer;
    text-decoration: none;
    color: var(--font-color-bright) !important;
    border: 1px solid var(--button-border-color);
    background-color: var(--button-bg-color);
    /*box-shadow: 2px 2px 3px #444 !important;*/
    border-radius: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btn:hover, .btn:active, .btn:focus {
    background-color: var(--button-bg-color) !important;
    color: var(--font-color-bright) !important;
}

button:focus {
    outline: none;
}

.btn.btn-big {
    min-height: 98px;
    text-align: left;
    padding-left: 98px;
    padding-right: 8px;
    position: relative;
}

.btn.btn-big > img {
    position: absolute;
    top: 8px;
    left: 8px;
}

.btn.btn-big > .title {
    line-height: 1.2em;
    margin-bottom: 3px;
}

.btn.btn-big > .small {
    text-transform: none;
    white-space: normal;
}

.btn.btn-big > .small,
.btn.btn-big > .small + .more {
    -webkit-transition: 0.1s ease-out;
    transition: 0.1s ease-out;
}

.btn.btn-big > .small.limit-max {
    overflow: hidden;
    height: 51px;
}

.btn.btn-big > .small.limit-max2 {
    overflow: hidden;
    text-overflow: ellipsis;
    height: 183px;
}

.btn.btn-big > .small.limit-max2 + .more {
    display: none;
}

.btn.btn-big > .small > :last-child {
    margin-bottom: 0;
}

#block-basket-mobile {
    background-color: #640d0d;
    color: white;
    position: fixed;
    width: 100%;
    padding: 15px;
    z-index: 999;
    font-size: 1.077rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    display: block;
    text-align: center;
}

#block-basket-mobile div {
    display: inline-block;
}

#block-basket-mobile a {
    color: inherit;
}

.top-info > :empty {
    display: none;
}

.alert {
    margin-bottom: 0;
    text-align: center;
    font-size: 1.231rem;
}

@media (max-width: 767px) {
    #block-basket-mobile + header {
        padding-top: 51px;
    }

}

header {
    position: relative;
}

header, header a, header a:hover, header a:active {
    color: var(--font-color-bright);
    text-decoration: none;
}

#header_bottom {
    width: 100%;
    min-height: 300px;
    background: transparent url('../images/layout/header_clear.png') no-repeat center bottom;
}

.wcag-contrast-blackyellow #header_bottom {
    background-image: none;
    background-color: var(--background-color);
}

@media (max-width: 991px) {
    #header_bottom {
        background-position: center 65%;
        background-size: auto 100%;
        padding-bottom: 100px;
    }
}

#inner_header_bottom {
    width: 100%;
    background: url('../images/layout/inner_header_clear.png') no-repeat center top transparent
}

/*.header_main_nav {position:relative; width:100%; background-color: rgba(99, 14, 14, 0.6);}*/
#header .container {
    margin: 0 auto;
    padding-top: 2px; /*width:957px*/
}

#header_top .container {
    width: 100%;
    max-width: 1300px;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 968px) {
    #header_top .container {
        display: block;
    }
}


@media (max-width: 769px) {
    .navbar {
        margin: 0 -15px;
    }
}

.navbar, .dropdown-menu {
    padding-top: 0;
    padding-bottom: 0;
}

.navbar, .dropdown-menu {
    background-color: var(--navbar-bg-color);
}

.navbar, .dropdown-item {
    color: var(--font-color-bright);
}

.dropdown-item:focus, .dropdown-item:hover,
.navbar .navbar-nav > li > a:focus, .navbar .navbar-nav > li > a:hover {
    color: var(--font-color-bright);
    background-color: var(--menu-dropdown-hover-bg-color);
}

.navbar .dropdown-menu, .navbar.navbar-default .dropdown-menu {
    margin-top: 0;
    border-radius: 0;
}

.dropdown-menu, .navbar .navbar-nav > li > a {
    font-size: 1.077rem;
}

.navbar .navbar-nav > li > a {
    padding-top: 16px;
    padding-bottom: 16px;
}

.navbar-toggler-icon {
    /*background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");*/
    background-image: none !important;
    color: var(--font-color-bright);
}

.navbar-toggler-icon svg {
    width: 30px;
    height: 28px;
}

.dropdown-toggle:after {
    display: none;
}

header .logo-mini {
    display: inline-block;
    width: 50px;
    height: 50px;
    background: url('../images/layout/logo-zamku.png') no-repeat ;
    background-position: center center;
    background-size: contain;
}

header .logo {
    display: inline-block;
    width: 134px;
    height: 108px;
    background: url('../images/layout/logo-zamku.png') no-repeat ;
    background-position: center center;
    background-size: contain;
}

header .title_big, header .title_small {
    font-family: 'MerriweatherRegularSans', sans-serif;
    font-size: 1.846rem;
    font-weight: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}

header .title_small {
    font-size: 1.45rem;
    font-weight: normal;
    text-transform: none;
}

.stopka p {
    font-size: 0.923rem;
}

footer a:hover {
    color: white;
}

.divErrorField, .divError {
    font-weight: normal;
}

.buttons div[style*=right] + input + div[style*=right] {
    margin-right: 15px;
}

.buttons div[style*=left] + input + div[style*=left] {
    margin-left: 15px;
}

@media (max-width: 400px) {
    .buttons * {
        float: none !important;
        width: 100% !important;
    }
}

/*header {
    background: url('../images/layout/header_clear.png') no-repeat top center;
}*/

#container {
    padding: 0;
}

#content {
    padding: 0 30px 30px;
    /*min-height: 50vh;*/
    width: 100%;
}

#content > h1:first-child {
    margin-bottom: 30px;
}

#logo img {
    max-width: 100%;
}

#block-basket div {
    display: inline-block;
}

#block-basket > span {
    margin-right: 0.5em;
}

#block-basket .icon-hourglass:before {
    -webkit-transform: rotate(180deg);
    -webkit-animation: rotate 2s infinite;
    animation: rotate 2s infinite;
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    10% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    60% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    10% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    60% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* Block langs */
.block-langs {
    padding-left: 10px;
    z-index: 1;
}

@media (min-width: 768px) {
    .block-langs {
        top: 1rem;
    }
}

.block-langs a {
    color: var(--font-color-bright);
}

.block-langs span {
    font-weight: bold;
}

h1 {
    margin-top: 20px;
    margin-bottom: 10px;
}

.breadcrumb {
    background-color: transparent;
    padding: 0;
}

.breadcrumb-item a {
    color: #861818;
}

.wcag-contrast-blackyellow .breadcrumb-item a {
    color: #ffff00;
}

.breadcrumb-item.active {
    color: inherit;
    font-style: italic;
}

.img-thumbnail {
    border-radius: 0;
}

/* /rezerwacja/termin.html */
.btn-big + .row.terminy {
    margin-top: 25px;
}

.calendar-container.jumbotron {
    margin-top: 20px;
    padding: 0 !important;
    /*max-width: 430px;*/
}

.calendar-container > div.header {
    padding: 1.5em 1em;
    background-color: #7c1918;
    color: var(--font-color-bright);
    border: 1px solid #7c1918;
}

.wcag-contrast-blackyellow .calendar-container > div.header {
    background-color: black;
    border: 1px solid #ffff00;
}

.calendar-container > div.header > span {
    display: block;
    font-size: 4em;
    font-weight: bold;
    line-height: 1em;
}

.calendar-container > div.header > span + span {
    font-size: 2em;
    text-transform: lowercase;
    font-weight: normal;
}

.calendar-container > div.calendar {
    background: var(--background-color);
    /*color: #555;*/
    display: block;
    text-align: center;
    margin: 0 0 10px 0;
    font-size: 14px;
    border-left: 1px solid var(--font-color-bright);
    border-right: 1px solid var(--font-color-bright);
    border-bottom: 1px solid var(--font-color-bright);
}

@media (min-width: 768px) {
    .calendar-container > div.calendar {
        font-size: 1.077rem;
    }

    .calendar-container > div.calendar {
        padding: 1em 3em;
    }
}

.calendar-container > div.calendar > table.calendar {
    table-layout: fixed;
    margin: 0 auto;
    width: 100%;
}

.calendar-container table.calendar thead tr th, .calendar-container table.calendar tbody tr td {
    /*text-align: center;*/
    /*padding: 0.5em 1em;*/
    width: calc(100% / 7);
}

.calendar-container table.calendar tbody tr td a {
    color: var(--font-color-bright);
}

.wcag-contrast-default .calendar-container .niemozliwa:not(:empty),
.wcag-contrast-default .calendar-legenda .niemozliwa {
    background: #eeeeee;
    color: #999999;
}

.wcag-contrast-default .calendar-container .niemozliwa:not(:empty) a,
.wcag-contrast-default .calendar-legenda .niemozliwa a {
    color: #999999;
}

.wcag-contrast-default .calendar-container .past,
.wcag-contrast-default .calendar-container .zajete,
.wcag-contrast-default .calendar-legenda .zajete {
    background: #aaaaaa;
}

.calendar-container table.calendar tbody tr td.past a,
.calendar-container table.calendar tbody tr td.niemozliwa a,
.calendar-container table.calendar tbody tr td.zajete a {
    color: black;
}

.calendar-container .dostepne, .calendar-legenda .dostepne {
    /*background: #DCAEAE;*/
    background: #b52121;
}

.wcag-contrast-blackyellow .calendar-container td {
    background: black;
}

.calendar-container .wybrany, .calendar-legenda .wybrany {
    background: #640d0d;
}

.calendar-container table.calendar tbody tr td.past a,
.calendar-container table.calendar tbody tr td.niemozliwa a,
.calendar-container table.calendar tbody tr td.zajete a {
    cursor: not-allowed;
}

.calendar-container .wybrany a:hover,
.calendar-container .past a:hover,
.calendar-container .zajete a:hover,
.calendar-container .niemozliwa a:hover {
    text-decoration: none;
}

.calendar-container table.calendar tbody tr td.wybrany a {
    cursor: default;
    font-weight: bold;
}

.calendar-container table.calendar thead tr th {
    text-transform: uppercase;
    font-weight: bold;
    padding-top: 1em;
    padding-bottom: 1em;
}

.wcag-contrast-default .calendar-container table.calendar thead tr th {
    color: var(--link-color);
}

.calendar-container table.calendar tfoot tr td + td {
    text-align: left;
}

.calendar-container table.calendar tfoot tr td + td + td {
    text-align: right;
}

.calendar-container table.calendar tfoot tr td a {
    color: var(--link-color);
    font-size: 2.462rem;
}

.wcag-contrast-blackyellow .calendar-container table.calendar tbody tr td.past a,
.wcag-contrast-blackyellow .calendar-container table.calendar tbody tr td.niemozliwa a,
.wcag-contrast-blackyellow .calendar-container table.calendar tbody tr td.zajete a {
    color: #ffff00;
    opacity: 0.5;
}

@media (max-width: 480px) {
    .calendar-container table.calendar {
        width: 100%;
    }

    .calendar-container table.calendar tbody tr td, .calendar-container table.calendar thead tr th {
        padding: 0.25em 0;
        text-align: center;
    }
}

.calendar-legenda {
    line-height: 30px;
    margin-bottom: 25px;
}

.calendar-legenda span {
    display: inline-block;
    height: 22px;
    width: 33px;
    vertical-align: middle;
}

/* /rezerwacja/nienumerowane.html */
.btn-big ~ form#rezerwacja {
    margin-top: 25px;
}

div.table {
    display: table;
    border-top: 1px solid #dddddd;
}

div.table > div {
    display: table-row;
}

div.table > div > div {
    display: table-cell;
    padding: 8px;
    border-top: 1px solid #dddddd;
}

div.table > div.divPozycjaCennikaHdr > div {
    border-top: 0 none;
    border-bottom: 1px solid #dddddd;
}

@media (max-width: 720px) {
    div.table > div > div {
        white-space: nowrap;
    }
}

.divPozycjaCennikaHdr {
    font-weight: bold;
    margin-bottom: 3px;
}

.divPozycjaCennikaHdr > :not(:first-child),
.divPozycjaCennika > :not(:first-child) {
    text-align: right;
}

.divPozycjaCennika .nazwa span {
    font-size: 0.846rem;
    color: red;
}

div.ilosc > :not(div) {
    display: inline-block;
}

div.ilosc > input.input-ilosc {
    margin-bottom: 0;
}

.divPozycjaCennika > .ilosc .icon-plus, .divPozycjaCennika > .ilosc .icon-minus {
    cursor: pointer;
}

.divPozycjaCennika > :not(.ilosc) {
    padding-top: 8px;
}

.divPozycjaCennika > .cena:after, .divPozycjaCennika > .wartosc:after {
    content: " zł";
}

/*.input-ilosc {*/
/*    max-width: 1.8em;*/
/*    text-align: center;*/
/*    margin: 0 5px;*/
/*    box-sizing: content-box;*/
/*}*/

.divFullDesc {
    clear: both;
    padding: 0 15px !important;
    font-size: 0.846rem;
    color: gray;
    text-align: left !important;
}

.divPozycjaCennika ~ .grupa {
    margin-top: 25px;
}

/* /koszyk/index.html */
@media (min-width: 768px) {
    #koszyk table.bilety tr td:first-child,
    #koszyk table.towary tr td:first-child {
        width: 50%;
    }

    #koszyk table.bilety tr > :not(:first-child),
    #koszyk table.towary tr > :not(:first-child) {
        text-align: right !important;
    }

    #koszyk table.bilety tr > :last-child,
    #koszyk table.towary tr > :last-child {
        width: 5em;
    }

    #koszyk table .usun {
        width: 3em;
        text-align: center;
    }

    table.bilety select.pozycja_cennika {
        margin-left: auto;
    }

}

/*#koszyk table.bilety tr > td.cena:after,*/
/*#koszyk table.towary tr > td.cena:after,*/
/*#koszyk table.bilety tr > td.wartosc:after,*/
/*#koszyk table.towary tr > td.wartosc:after {*/
/*    content: " zł";*/
/*}*/

#koszyk table .nazwa span {
    font-size: 0.846rem;
    color: red;
}

#koszyk table .wartosc {
    text-align: right;
}


#koszyk .panel {
    box-shadow: none;
}

#koszyk .panel > #divField_koszyk_faktura.panel-heading,
#koszyk .panel-body {
    background: transparent;
    padding-left: 0;
    padding-right: 0;
}

#koszyk .well {
    background: transparent;
    box-shadow: none;
    padding: 0 0 10px;
    margin-bottom: 0;
    display: inline-block;
}

#divElement_koszyk_faktura label {
    color: var(--link-color);
}

#divLabel_koszyk_sposob_dostawy {
    padding: 10px 0;
}

#divField_koszyk_sposob_dostawy label {
    color: var(--link-color);
}

#divField_koszyk_sposob_dostawy select {
    cursor: pointer;
}

/*#koszyk_faktura {*/
/*    z-index: auto;*/
/*    width: auto;*/
/*    height: auto;*/
/*    position: static;*/
/*    left: auto;*/
/*    opacity: 1;*/
/*    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";*/
/*    pointer-events: auto;*/
/*    display: inline-block;*/
/*}*/

#koszyk #blad-dane-fa .divErrorField {
    display: block !important;
}

.bledne-reguly {
    padding: 20px;
    border: 1px solid #cc3f44;
    text-align: center;
    border-radius: 5px;
    margin-bottom: 5px;
}

/* rejestracja */
form#form_zarejestruj {
    margin-top: 24px;
}

#form_zarejestruj_buttons {
    padding-top: 19px;
}

@media (min-width: 541px) {
    form#form_zarejestruj .btn {
        width: 66.666667%;
    }
}

.row.form-uzytkownik {
    margin-bottom: 25px;
}

#divElement_form_uzytkownik_rejestracja_preferencyjne label {
    margin: 8px;
    color: #404040;
}

#koszyk .panel > #divField_koszyk_faktura.panel-heading,
#koszyk .panel-body {
    background: transparent;
    padding-left: 0;
    padding-right: 0;
}

.panel-body {
    padding: 15px;
}

/* sklep */
.paginator * {
    border-radius: 0 !important;
}

.pagination > li > a, .pagination > li > span,
.pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
    color: var(--link-color);
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    background-color: var(--link-color);
    border-color: var(--link-color);
}

.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
    background-color: var(--link-color) !important;
    border-color: var(--link-color);
    outline: none !important;
}

.list-group-item.active a, .list-group-item.active:focus a, .list-group-item.active:hover a {
    color: inherit;
}

.list-group-item span {
    color: var(--link-color);
}

.list-group-item.lv-2 {
    padding-left: 30px;
}

.list-group-item.lv-3 {
    padding-left: 45px;
}

.list-group-item.lv-4 {
    padding-left: 60px;
}

.list-group-item.lv-5 {
    padding-left: 75px;
}

@media (max-width: 767px) {
    #page-towary {
        margin-top: 20px;
    }
}

@media (min-width: 768px) {
    #towary-menu {
        max-width: 300px;
    }
}

#page-towary .towar {
    text-align: center;
    border: 1px solid #ddd;
    padding: 10px 5px;
    margin-bottom: 15px;
}

#page-towary .towar-zdjecie {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}

#page-towary .towar-zdjecie a {
    color: var(--link-color) !important;
}

#page-towary .towar-zdjecie img {
    margin-bottom: 10px;
    max-width: 100%;
}

#page-towary .towar-zdjecie .brak-zdjecia {
    min-height: 200px;
    width: 200px;
    background-color: #eee;
    color: transparent;
}

#page-towary .towar .promo {
    font-weight: bold;
    color: #962825;
}

@media (max-width: 479px) {
    #page-towary > .row > div {
        float: none;
        width: auto;
    }
}

.opis_towaru #towar_dokoszyka_liczba {
    width: 4em;
    display: inline-block;
}

.opis_towaru .cena {
    font-size: 2rem;
}

.cena .promocja {
    color: #962825;
}

.cena .standard {
    text-decoration: line-through;
}

img#bigpix {
    max-width: 100%;
}

.zdjecia_mini {
    width: 100%;
}

.zdjecia_mini * {
    display: inline-block;
}

.zdjecia_mini .zdjecie_mini {
    padding: 2px;
}

.zdjecia_mini img {
    max-width: 75px;
}

/* stopka */
footer {
    border-top: 13px solid #392d25;
    background-color: var(--navbar-bg-color);
    color: var(--font-color-bright);
}

.wcag-contrast-blackyellow footer {
    border-top: 1px solid #ffff00;
}

footer a {
    color: inherit;
}

footer #copyright {
    padding: 15px;
    text-align: center;
}

.spolecznosci {
    /*float: right;*/
    margin: 10px 0 0 0;
}

.collapse.show {
    z-index: 999;
}

#mobile-menu-icon {
    color: #222;
    cursor: pointer;
    font-family: dashicons, serif;
}

.prev-month, .next-month, .cal-nazwa-miesiaca {
    display: inline-block;
    color: var(--font-color-bright);
}

.prev-month, .next-month {
    font-size: 18px;
}

.cal-nazwa-miesiaca {
    font-size: 20px;
    line-height: 20px;
}

@media (min-width: 768px) {
    .cal-nazwa-miesiaca {
        font-size: 1.538rem;
        line-height: 1.538rem;
    }

    .prev-month, .next-month {
        font-size: 1.385rem;
    }
}

.prev-month:hover,
.next-month:hover {
    text-decoration: none;
}

.pozycja-cennika-opis {
    font-size: 0.846rem;
    color: darkred;
    padding-top: 3px;
}

.wcag-contrast-blackyellow .pozycja-cennika-opis {
    color: #ffff00;
}

@media (min-width: 768px) {
    .ticket-type-table tbody tr td:first-child {
        width: 50%;
    }

    .ticket-type-table tbody tr td:nth-child(2) {
        width: calc(50% / 3);
    }

    .ticket-type-table tbody tr td:nth-child(3) {
        width: calc(50% / 3);
        text-align: center;
    }

    .ticket-type-table tbody tr td:nth-child(4) {
        width: calc(50% / 3);
        text-align: right
    }
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.ticket-type-table input[type=number],
.karnety-pozycje-cennika-table input[type=number] {
    /*padding: 2px 8px;*/
    border: 1px solid var(--border-color);
    background: var(--background-color);
    /*line-height: 16px;*/
    /*margin-bottom: 10px;*/
    font-size: 1rem;
    border-radius: 0;
    color: var(--font-color-dark);

}

.ticket-type-table tr td {
    vertical-align: middle;
}

.change-qty {
    font-weight: bold;
    display: inline-flex;
    width: 25px;
    height: 38px;
    justify-content: center;
    align-items: center;
}

.change-qty:hover {
    text-decoration: none;
    cursor: pointer;
}

table.calendar tr td a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 1em;
    text-align: center;
}

.karnet-osoba-label {
    display: inline-block;
    width: 130px;
}

.tooltip-inner {
    background-color: white;
    border: 1px solid black;
    opacity: initial;
    color: black;
}

.popover .arrow, .popover .tooltip-arrow, .tooltip .arrow, .tooltip .tooltip-arrow {
    display: block;
}

.guide-lang-select-wrapper {
    position: relative;
    padding-bottom: 100px;
}

.guide-lang-select {
    border: 1px solid var(--border-color);
    margin-bottom: 50px;
    position: absolute;
    z-index: 100;
    width: 100%;
    background-color: var(--background-color);

}

.guide-lang-select.expanded {
    max-height: 400px;
    overflow-y: scroll;
}

.guide-lang-row {
    border-bottom: 1px solid var(--border-color);
    display: none;
    width: 100%;
    flex-wrap: nowrap;
    align-items: center;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
}

.guide-lang-row:hover,
.guide-lang-row label:hover {
    cursor: pointer;
}

.guide-lang-row.selected-row {
    display: flex;
}

.guide-lang-select.expanded .guide-lang-row {
    display: flex;
}

.guide-lang-row input[type="radio"] {
    visibility: hidden;
    width: 1px;
    height: 1px;
}

.guide-lang-row label {
    margin-bottom: 0;
}


.guide-lang-row img {
    margin-right: 10px;
}

/*.guides-lang-label0 {*/
/*    display: flex;*/
/*    justify-content: space-between;*/
/*    width: 100%;*/
/*}*/

.guide-lang-row label {
    display: flex;
    width: 100%;
    padding: 0.7rem;
}

/*.guide-lang-select .chevron-down {*/
/*    display: inline;*/
/*}*/

/*.guide-lang-select .chevron-up {*/
/*    display: none;*/
/*}*/

/*.guide-lang-select.expanded .chevron-down {*/
/*    display: none;*/
/*}*/

/*.guide-lang-select.expanded .chevron-up {*/
/*    display: inline;*/
/*}*/


.guide-lang-select.notexpanded {
    background-image: url('../images/layout/chevron-down.svg');
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.wcag-contrast-blackyellow .guide-lang-select.notexpanded {
    background-image: url('../images/layout/chevron-down2.svg');
}

.guide-lang-select.expanded {
    /*background-image: url('../images/layout/chevron-up.svg');*/
    background-repeat: no-repeat;
    background-position: right 0.75rem top 0.75rem;
    background-size: 16px 12px;
}

.guide-lang-select.notexpanded .guide-lang-row {
    border-bottom: 0;
}

#loading {
    background-color: black;
    opacity: .5;
    bottom: 0;
    display: none;
    font-size: 1.6rem;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9999;
}

html {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    height: 100%;
}

div#container {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-grow: 1;
}

.footer {
    margin-top: auto;
}

/* Our responsive table */
@media (max-width: 767px) {
    .our-responsive-table thead {
        display: none;
    }

    .our-responsive-table tbody tr {
        display: flex;
        flex-direction: column;
    }

    .our-responsive-table tbody tr:nth-child(n + 2) {
        margin-top: 1rem;
    }

    .our-responsive-table tbody tr td {
        align-items: center;
        border-left: 1px solid lightgrey;
        border-right: 1px solid lightgrey;
        border-top: 0;
        border-bottom: 0;
        display: flex;
        background-color: #f9f9f9;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }

    .our-responsive-table tbody tr td:first-child {
        border-top: 1px solid lightgrey;
    }

    .our-responsive-table tbody tr td:last-child {
        border-bottom: 1px solid lightgrey;
    }

    .our-responsive-table tbody tr td::before {
        display: flex;
        align-items: center;
        align-self: stretch;
        content: attr(data-header-title);
        flex: 0 0 30%;
        font-weight: 600;
        letter-spacing: -1px;
        min-width: 100px;
        padding: 2px;
        text-align: left;
        white-space: normal;
    }

    .our-responsive-table tbody tr.bilety-koszyk-uczestnicy-row:nth-child(n + 2) {
        margin-top: 0;
    }

    .our-responsive-table tbody tr.bilety-koszyk-uczestnicy-row:nth-child(n + 2) td {
        border-top-width: 0;
    }


}

@media (max-width: 400px) {
    .przewodnik-email {
        display: inline-block;
        text-wrap: wrap;
        max-width: 170px;
        overflow-wrap: break-word;
    }
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    background-color: black;
    color: white;
}

#header_bottom h1 {
    background-color: rgba(0, 0, 0, 0.5);
    display: inline-block;
    padding: 0.5rem 1rem;
    color: #fff;
}

/*a:focus-visible,*/
/*button:focus-visible {*/
/*    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);*/
/*    color: initial;*/
/*}*/

form#koszyk #faktura .form-group {
    margin-top: 0;
}

#form_platnosc_info {
    font-size: larger;
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

select.form-control:focus-visible,
input[type=text]:focus-visible,
input[type=radio]:focus-visible,
input[type=number]:focus-visible,
#main-header:focus-visible,
a:focus-visible,
a.bgn:focus-visible,
button:focus-visible {
    outline: 2px solid #ffcc00 !important;
    outline-offset: 1px;
}
a.btn.btn-big:focus-visible {
    outline: 2px solid #0000ff !important;
    outline-offset: 3px;
}
a:focus {
    color: inherit;
}

.prev-month[aria-disabled="true"] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

@media (min-width: 768px) {
    table.terminy-lista thead tr th,
    table.terminy-lista tbody tr td {
        text-align: center;
    }
}

table.terminy-lista tr td {
    vertical-align: middle;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

table.terminy-lista .btn {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 10px;
    padding-right: 10px;
}

.terminy-dla-wydarzenia {
    margin-top: 10px;
}

.skiplink {
    background-color: var(--background-color);
    left: 50%;
    list-style: none outside none;
    padding-top: 5px;
    padding-bottom: 5px;
    position: fixed;
    top: 0;
    transform: translate(-50%, -115%);
    transition: all 0.15s ease-in-out;
    z-index: 2;
    border: 1px solid var(--border-color);
}

.skiplink.skiplink--active {
    transform: translate(-50%, 0%);
}

.skiplink .list-group-item {
    padding-top: 5px;
    padding-bottom: 5px;
}

.skiplink .list-group-item a {
    display: block;
    padding: 0.3rem 0;
}

.wcag-options {
    padding-left: 10px;
    display: flex;
    align-items: center;
}

@media (max-width: 991px) {
    .wcag-options {
        margin-left: auto;
    }
}

.js-toggle-font-size,
.js-toggle-contrast {
    border: 0;
    outline: none;
    background-color: transparent;
    display: inline-flex;
    align-items: center;
    height: 15px;
    color: white;

}

.wcag-contrast-default .js-toggle-font-size img,
.wcag-contrast-default .js-toggle-contrast img {
    filter: invert(1);
}

.js-toggle-font-size:hover,
.js-toggle-contrast:hover {
    cursor: pointer;
}

.js-toggle-font-size img,
.js-toggle-contrast img {
    width: 15px;
    height: 15px;
}

.small {
    font-size: 0.862rem;
}

/*.wcag-contrast-blackyellow .contrast-icon {*/
/*    color: #ffff00;*/
/*}*/

.wcag-contrast-blackyellow .icon {
    filter: invert(86%) sepia(99%) saturate(7465%) hue-rotate(359deg) brightness(104%) contrast(105%);
}

.wcag-contrast-blackyellow .logo {
    filter: invert(23%) sepia(99%) saturate(7465%) hue-rotate(359deg) brightness(104%) contrast(105%);
}

.wcag-contrast-blackyellow .wcag-img {
    filter: grayscale(100%);
}

.wcag-contrast-blackyellow .calendar-legenda {
    visibility: hidden;
}

.wcag-contrast-blackyellow .card {
    border: 1px solid #ffff00;
    background-color: var(--background-color);
    color: var(--font-color-bright);
}

.table td, .table th {
    border-top-color: var(--border-color);
}

.table thead th {
    border-bottom-color: var(--border-color);
}

.table {
    margin-bottom: 0;
}


/*.zk-checkbox {*/
/*    display: grid;*/
/*    grid-template-columns: 20px auto;*/
/*    grid-gap: 10px;*/
/*    grid-template-areas: "checkbox label"*/
/*                        "error error";*/
/*    margin-bottom: 10px;*/
/*}*/

/*.zk-checkbox input[type="checkbox"] {*/
/*    grid-area: checkbox;*/
/*    appearance: none; !* usuwa domyślny styl systemowy *!*/
/*    -webkit-appearance: none; !* dla Safari *!*/
/*    -moz-appearance: none;*/
/*    outline: none;*/
/*    border: 1px solid var(--border-color) !important;*/
/*    background-color: var(--background-color) !important;*/
/*    display: inline-block;*/
/*    width: 20px;*/
/*    height: 20px;*/

/*}*/

/*.zk-checkbox input[type="checkbox"]:checked {*/
/*    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");*/
/*}*/

/*.zk-checkbox input[type="checkbox"]:hover {*/
/*    cursor: pointer;*/
/*}*/

/*.wcag-contrast-blackyellow .zk-checkbox input[type="checkbox"]:checked {*/
/*    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffff00' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");*/
/*    background-repeat: no-repeat;*/
/*}*/


/*.zk-checkbox label {*/
/*    !*display: flex;*!*/
/*    !*align-items: center;*!*/
/*    grid-area: label;*/
/*    margin-bottom: 0;*/
/*}*/

.modal-content {
    background-color: var(--background-color);
}

.wcag-contrast-blackyellow .modal-content .close,
.wcag-contrast-blackyellow .modal-content .close:hover {
    color: #ffff00;
    opacity: 1;
    text-shadow: none;
}

.wcag-contrast-blackyellow .modal-content {
    border: 1px solid #ffff00;
}

.koszyk-df-lista {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    grid-auto-rows: 1fr;
    grid-auto-flow: dense;
    margin-bottom: 15px;
}

.koszyk-df-lista .df-zalogowany-block {
    text-align: center;
    height: 100%;
    border: 1px solid var(--border-color) !important;
    padding: 10px !important;
}

input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--border-color);
    border-radius: 50%;
    background-color: var(--background-color);
    cursor: pointer;
    position: relative;
}

/* kropka po zaznaczeniu */
input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background-color: darkred;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.wcag-contrast-blackyellow input[type="radio"]:checked::after {
    background-color: #ffff00;
}

.wcag-contrast-blackyellow label.divErrorField > div {
    background-color: #ffff00;
    color: #000;
    display: inline-block;
    padding-left: 3px;
    padding-right: 3px;
}

@media (min-width: 992px) {
    .form-uzytkownik-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 30px;
    }
}

/*.form-group select {*/
/*    -webkit-appearance: menulist;*/
/*    -moz-appearance: menulist;*/
/*    appearance: menulist;*/
/*}*/
.form-group-select {
    position: relative;
}

.form-group-select select {
    padding-right: 2rem; /* miejsce na strzałkę */
}

.form-group-select::after {
    content: "▼";
    font-size: 0.8rem;
    color: var(--font-color-gray);
    position: absolute;
    right: 1rem;
    top: calc(50% + 0.3rem);
    transform: translateY(-50%);
    pointer-events: none;
}

.form-check .form-check-input {
    width: 15px;
    height: 15px;

}

.form-check .form-check-label {
    padding-left: 0.5rem;
}

.wcag-contrast-blackyellow .form-check .form-check-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 2px solid #ffff00;
    background-color: #000000;
    border-radius: 0;
    cursor: pointer;
    /*position: relative;*/

}

.wcag-contrast-blackyellow .form-check-input:checked {
    background-color: #000000;
    border-color: #ffff00;
}


.wcag-contrast-blackyellow .form-check-input:checked::after {
    content: "";
    position: absolute;
    top: 0;
    left: 4px;
    width: 4px;
    height: 10px;
    border: solid #ffff00;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.btn-primary:hover {
    border-color: var(--button-border-color)
}

.form-check-label:hover {
    cursor: pointer;
}

@media (min-width: 992px) {
    #navbar-collapse .close-btn {
        display: none;
    }
}

@media (max-width: 500px) {
    .offcanvas-collapse {
        width: 100%;
    }
}

@media (max-width: 991px) {


    /*#menu-top{*/
    /*    border-left: 1px dashed var(--border-color);*/
    /*    border-right: 1px dashed var(--border-color);*/
    /*}*/
    #menu-top .nav-item .nav-link {
        border-top: 1px dashed var(--border-color);
        text-align: center;
    }

    #menu-top .nav-item:last-child .nav-link {
        border-bottom: 1px dashed var(--border-color);
    }

    .offcanvas-collapse {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        padding: 1rem;
        background-color: var(--navbar-bg-color-mobile);
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.3);
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        z-index: 1050;
        visibility: hidden;
        pointer-events: none;
        opacity: 0;
    }

    .offcanvas-collapse.open {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
    }

    .navbar-toggler {
        z-index: 1100; /* żeby był nad menu */
    }

    #menu-top {
        margin-top: 100px;
    }

    #navbar-collapse .close-btn {
        position: absolute;
        top: 10px;
        right: 15px;
        font-size: 3rem;
        background: none;
        border: none;
        color: var(--font-color-bright);
        cursor: pointer;
        line-height: 1;
    }

    #navbar-collapse .close-btn:hover {
        color: var(--font-color-bright);
    }
}

@media (min-width: 501px) and (max-width: 991px) {
    .offcanvas-collapse {
        width: 70%;
    }

    .offcanvas-collapse.open {
        border-left: 1px solid var(--border-color);
    }
}

@media (min-width: 992px) {
    .wcag-options {
        margin-left: auto;
    }
}

button.change-qty {
    background-color: transparent;
    border: none;
    color: var(--font-color-dark);
    cursor: pointer;
    font-size: 0.846rem;
    padding: 0;
    font-weight: 300;
}

button.change-qty span {
    font-weight: 300;
}

.ticket-spinner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}

.ticket-spinner input.input-ilosc {
    width: 40px;
    height: 40px;
    text-align: center;
    margin-left: 5px;
    margin-right: 5px;

}

.ticket-spinner button {
    width: 30px;
    height: 40px;
    text-align: center;
}

.rg-rodzaj-option {
    display: flex;
    align-items: center;
    column-gap: 5px;
    margin-bottom: 10px;
}

.rg-rodzaj-option label {
    margin-bottom: 0;
}

@media (min-width: 768px) and (max-width: 991px) {
    #block-basket {
        display: block !important;
        text-align: center;
        padding-top: 10px;
    }
}

.input-ilosc-karnety {
    width: 38px;
    height: 38px;
    text-align: center;
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
    color: initial;
}
