/* Project styling on top of Bootstrap 5. Keep the original 768px content breakpoint. */
:root { --bs-primary: #2454a0; --bs-link-color: #993333; }
body { -webkit-text-size-adjust: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid #2454a0; outline-offset: 3px;
}
.row { --bs-gutter-x: 30px; }
.row > * { min-width: 0; }
#header, #columns, #footer { width: 100%; }
#menu-wrap.navbar { display: flex; padding: 0; width: 100%; background: #a72223; position: relative; z-index: 1030; }
#menu-wrap .navbar-collapse { width: 100%; }
#menu-custom { margin: 0; padding: 0; list-style: none; }
#menu-custom .nav-item { position: relative; }
#menu-custom .nav-link { border: 0; border-radius: 0; background: transparent; color: #fff; padding: 20px 24px; font: bold 15px/28px Arial, sans-serif; text-transform: uppercase; text-align: left; width: 100%; }
#menu-custom .nav-link:hover, #menu-custom .nav-link:focus, #menu-custom .nav-link.active { background: #800000; color: #fff; }
#menu-custom .dropdown-menu { margin: 0; padding: 4px 0; background: #323232; border: 0; border-radius: 0; min-width: 242px; max-width: min(90vw, 420px); }
#menu-custom .dropdown-menu li { position: relative; list-style: none; }
#menu-custom .dropdown-item, #menu-custom .language-menu a { display: block; padding: 12px 42px 12px 16px; color: #fff; font: bold 13px/1.4 Arial, sans-serif; white-space: normal; }
#menu-custom .dropdown-item:hover, #menu-custom .dropdown-item:focus { color: #a72223; background: #eee; }
#menu-custom .submenu-toggle { position: absolute; right: 4px; top: 4px; min-width: 32px; min-height: 32px; color: #fff; background: transparent; border: 0; box-shadow: none; }
#menu-custom .dropdown-menu li:hover > .submenu-toggle,
#menu-custom .dropdown-item:focus + .submenu-toggle { color: #a72223; }
#menu-custom .dropdown-menu li:hover > .dropdown-item { color: #a72223; background: #eee; }
#menu-custom .submenu { margin: 0 0 0 16px; padding: 0; border-left: 1px solid #777; }
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
    #menu-custom .submenu { display: none; position: absolute; left: 100%; top: 0; min-width: 242px; margin: 0; border: 0; background: #323232; z-index: 1000; }
    #menu-custom .dropdown-menu li:is(:hover, :focus-within) > .submenu { display: block; }
}
#menu-wrap .navbar-toggler { margin: 8px 12px; color: #fff; border-color: #fff; font-size: 16px; }
#menu-wrap .navbar-toggler-icon { filter: invert(1); }
#searchbox { display: flex; gap: 6px; }
#searchbox .search_query { min-width: 0; flex: 1; height: auto; }
#searchbox button { flex: none; }
#header #search_block_top { width: 300px; }
#htmlcontent_top ul.htmlcontent-home { padding-left: 0; }
#htmlcontent_top ul.htmlcontent-home > li:first-child { top: 55px; }
#footer .bottom_footer { margin: 0; }
/* Bootstrap columns require a row even in older CMS content. */
.okno_stranky::after { content: ''; display: block; clear: both; }
.okno_stranky > [class*="col-"] { float: left; padding-inline: 15px; }
#product_list.row { display: flex; flex-wrap: wrap; }
#product_list.row > li { float: none; }
#product_list.row > li .product_image_wrapper { max-width: 100%; }
.form-control, .form-select { font-size: 1rem; }
#columns fieldset { min-width: 0; }
#columns legend { float: none; width: auto; max-width: 100%; }
.okno_stranky .table-responsive { max-width: 100%; margin-bottom: 1rem; }
.col-md-4.trainerBox .title { margin-top: 10px; }
.col-md-4.trainerBox h5 { padding: 10px; }
.okno_stranky .form-select { height: auto; padding: .375rem 2.25rem .375rem .75rem; background-color: #fff; }
.form-group { margin-bottom: 1rem; }
.form-group.has-error .form-control, .form-group.has-error .form-select { border-color: var(--bs-danger); }
.form-group.has-success .form-control, .form-group.has-success .form-select { border-color: var(--bs-success); }
.form-group .help-block { display: block; margin-top: .25rem; font-size: .875em; color: var(--bs-danger); }
.form-group.has-feedback { position: relative; }
.form-control-feedback { position: absolute; right: 12px; top: 32px; pointer-events: none; }
.form-check input { cursor: pointer; }
/* Installed date picker still emits Bootstrap 3 addon and icon names. */
.input-group-addon { display: flex; align-items: center; padding: .375rem .75rem; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); }
.bootstrap-datetimepicker-widget .collapse:not(.show) { display: none; }
.bootstrap-datetimepicker-widget .collapse.in { display: block; }
.bootstrap-datetimepicker-widget .glyphicon { font-family: "Font Awesome 7 Free";font-weight:900; font-style: normal; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-up::before { content: '\f077'; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-down::before { content: '\f078'; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-left::before { content: '\f053'; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-right::before { content: '\f054'; }
.bootstrap-datetimepicker-widget .glyphicon-time::before { content: '\f017'; }
.bootstrap-datetimepicker-widget .glyphicon-calendar::before { content: '\f073'; }
.bootstrap-datetimepicker-widget .glyphicon-screenshot::before { content: '\f05b'; }
.bootstrap-datetimepicker-widget .glyphicon-trash::before { content: '\f1f8'; }
.bootstrap-datetimepicker-widget .glyphicon-remove::before { content: '\f00d'; }
@media (min-width: 1200px) { #header, #columns, #footer { max-width: 1230px; } }
@media (max-width: 991.98px) {
    #menu-custom .nav-link { padding: 10px 16px; }
    #menu-custom .dropdown-menu { max-width: 100%; }
}
@media (max-width: 767.98px) {
    #header #header_right { padding-top: 0; display: flex; flex-direction: column; }
    #header #header_logo { position: static; width: 100%; }
    #header #header_logo a img { width: auto; max-width: 100%; height: auto; }
    #header .blockpermanentlinks-header { position: static; width: 100%; }
    #header #search_block_top { position: static; width: 100%; padding: 12px; }
    #header #searchbox { width: 100%; }
    #header .mobile-link-top { display: none !important; }
    #header #header_links { display: flex !important; flex-wrap: wrap; gap: 16px; padding: 10px; }
    #menu-wrap { order: 0; }
    #header, #footer { padding-inline: 15px; }
    #footer .row { margin-inline: -15px; }
    figure.img-left, figure.img-right { max-width: 100%; }
}
@media print {
    #menu-wrap, #search_block_top, .blockpermanentlinks-header { display: none !important; }
    #center_column { width: 100%; }
    #right_column { display: none; }
}
