{"id":1953,"date":"2024-10-03T16:50:00","date_gmt":"2024-10-03T14:50:00","guid":{"rendered":"https:\/\/www.nitere.cz\/?page_id=1953"},"modified":"2026-02-13T01:17:38","modified_gmt":"2026-02-12T23:17:38","slug":"home","status":"publish","type":"page","link":"https:\/\/www.nitere.cz\/?page_id=1953","title":{"rendered":"Nitere &#8211; \u00davod"},"content":{"rendered":"\n    \n    <section class=\"u-clearfix u-image u-section-2\" id=\"sec-b732\" data-image-width=\"2000\" data-image-height=\"2000\" style=\"background-image: url(&quot;https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/epk_mainFoto_2000x2000.png&quot;);\">\n      <div class=\"u-clearfix u-sheet u-sheet-1\"><\/div>\n    <\/section>\n    <section class=\"u-clearfix u-container-align-center u-image u-image-tiles u-valign-bottom-lg u-valign-bottom-md u-valign-bottom-sm u-valign-bottom-xl u-section-3\" id=\"carousel_9ef8\" data-image-width=\"2000\" data-image-height=\"102\" style=\"background-image: url(&quot;https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/pozadi_2000x102.png&quot;);\">\n      <img decoding=\"async\" class=\"u-expanded-width u-flip-horizontal u-flip-vertical u-image u-image-default u-image-1\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/epk_bgTOP_2000x2000.png\" alt=\"\" data-image-width=\"2000\" data-image-height=\"551\">\n    <\/section>\n    <section class=\"u-clearfix u-container-align-center-lg u-container-align-center-xl u-image u-valign-bottom-lg u-valign-bottom-sm u-section-4\" id=\"audio\" data-image-width=\"2000\" data-image-height=\"102\" style=\"background-image: url(&quot;https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/pozadi_2000x102.png&quot;);\">\n      <img decoding=\"async\" class=\"u-expanded-width u-flip-horizontal u-flip-vertical u-image u-image-default u-image-1\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/epk_bgTOP_2000x2000.png\" alt=\"\" data-image-width=\"2000\" data-image-height=\"551\">\n      <div class=\"custom-expanded data-layout-selected u-clearfix u-layout-wrap u-layout-wrap-1\">\n        <div class=\"u-gutter-0 u-layout\">\n          <div class=\"u-layout-col\">\n            <div class=\"u-size-60\">\n              <div class=\"u-layout-row\">\n                <div class=\"u-container-style u-layout-cell u-size-40 u-layout-cell-1\">\n                  <div class=\"u-container-layout u-valign-top-lg u-valign-top-sm u-valign-top-xl u-valign-top-xs u-container-layout-1\">\n                    <p class=\"u-large-text u-text u-text-body-alt-color u-text-variant u-text-1\"> Nitere p\u0159edstavuje mystick\u00fd folk s \u017e\u00e1nrov\u00fdm p\u0159esahem zahrnuj\u00edc\u00edm rock, pop, world music a sc\u00e9nickou hudbu. Inspiraci \u010derp\u00e1 p\u0159edev\u0161\u00edm ze st\u0159edov\u011bk\u00e9 a klasick\u00e9 hudby, kterou p\u0159en\u00e1\u0161\u00ed do sou\u010dasn\u00fdch hudebn\u00edch \u017e\u00e1nr\u016f a dociluje tak spojen\u00ed minulosti se sou\u010dasnost\u00ed.<br>\n                      <br>&nbsp;V\u00fdjime\u010dn\u00fd crossover vok\u00e1l spojuj\u00edc\u00ed r\u016fzn\u00e9 vok\u00e1ln\u00ed techniky nap\u0159\u00ed\u010d \u017e\u00e1nry voln\u011b p\u0159ech\u00e1z\u00ed mezi opern\u00edmi mystick\u00fdmi pas\u00e1\u017eemi do popov\u00e9ho stylu. Texty se dot\u00fdkaj\u00ed tajemstv\u00ed \u017eivota z r\u016fzn\u00fdch \u00fahl\u016f pohledu. <br>\n                      <br>Nitere je\nv\u00edcesmyslov\u00fd koncertn\u00ed z\u00e1\u017eitek, kde se propojuje mystick\u00fd zp\u011bv, sc\u00e9nick\u00e1 hudba\na \u017eiv\u00e1 holografick\u00e1 projekce.\nVizu\u00e1ly se prom\u00edtaj\u00ed na mesh pl\u00e1tno p\u0159\u00edmo b\u011bhem vystoupen\u00ed \u2013\nhudba doslova o\u017e\u00edv\u00e1 v obrazech. <br>\n                    <\/p>\n                    <div class=\"u-accordion u-collapsed-by-default u-expanded-width u-accordion-1\" role=\"tablist\">\n                      <div class=\"u-accordion-item\">\n                        <a class=\"u-accordion-link u-button-style u-custom-font u-heading-font u-text-custom-color-4 u-accordion-link-1\" id=\"link-0a0a\" aria-controls=\"0a0a\" aria-selected=\"false\" role=\"tab\"><span class=\"u-accordion-link-text\"> &nbsp;\u010c\u00cdST V\u00cdCE <\/span><span class=\"u-accordion-link-icon u-icon u-text-grey-5 u-icon-1\"><svg class=\"u-svg-link\" preserveAspectRatio=\"xMidYMin slice\" viewBox=\"0 0 16 16\" style=\"\"><use xlink:href=\"#svg-c62e\"><\/use><\/svg><svg class=\"u-svg-content\" viewBox=\"0 0 16 16\" x=\"0px\" y=\"0px\" id=\"svg-c62e\"><path d=\"M8,10.7L1.6,5.3c-0.4-0.4-1-0.4-1.3,0c-0.4,0.4-0.4,0.9,0,1.3l7.2,6.1c0.1,0.1,0.4,0.2,0.6,0.2s0.4-0.1,0.6-0.2l7.1-6\n\tc0.4-0.4,0.4-0.9,0-1.3c-0.4-0.4-1-0.4-1.3,0L8,10.7z\"><\/path><\/svg><\/span>\n                        <\/a>\n                        <div class=\"u-accordion-pane u-container-style u-accordion-pane-1\" id=\"0a0a\" aria-labelledby=\"link-0a0a\" role=\"tabpanel\">\n                          <div class=\"u-container-layout u-valign-top u-container-layout-2\">\n                            <p class=\"u-text u-text-body-alt-color u-text-2\"> Nitere vlastn\u00edm jm\u00e9nem Pavl\u00edna Kalousov\u00e1 Hockov\u00e1 je \u010desk\u00e1 zp\u011bva\u010dka, skladatelka a hudebn\u00ed pedago\u017eka. Vystudovala opern\u00ed zp\u011bv na konzervato\u0159i v Pardubic\u00edch a p\u0159i studiu ji\u017e komorn\u011b koncertovala v zahrani\u010d\u00ed. Tam zjistila, \u017ee si s opern\u00edm \u0161kolen\u00edm nevysta\u010d\u00ed a za\u010dala spolupracovat s profesorkou zp\u011bvu L\u00eddou Nopovou, absolvovala kurzy americk\u00e9 zp\u011bva\u010dky a hlasov\u00e9 pedago\u017eky Cheryl Porter. Nejv\u00edce p\u016fsobila ve \u0160v\u00fdcarsku, \u0158ecku&nbsp;a&nbsp;Nizozem\u00ed.<\/p>\n                          <\/div>\n                        <\/div>\n                      <\/div>\n                    <\/div>\n                  <\/div>\n                <\/div>\n                <div class=\"u-container-style u-layout-cell u-size-20 u-layout-cell-2\">\n                  <div class=\"u-container-layout u-container-layout-3\">\n                    <h1 class=\"u-align-center u-text u-text-body-alt-color u-title u-text-3\">AUDIO <\/h1>\n                    <div class=\"u-border-3 u-border-custom-color-5 u-expanded-width u-line u-line-horizontal u-line-1\"><\/div>\n                    <div class=\"u-align-center u-clearfix u-container-align-left-xs u-file-link u-group-elements u-group-elements-1\" data-href=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/Strepy_REC_2025-07_final.mp3\" data-target=\"_blank\">\n                      <p class=\"u-align-left u-text u-text-white u-text-4\">ST\u0158EPY - Live <\/p>\n                      <p class=\"u-align-left u-text u-text-white u-text-5\">NITERE<span style=\"font-size: 0.75rem;\"><\/span>\n                      <\/p>\n                      <div class=\"u-align-center u-clearfix u-expanded-width u-group-elements u-group-elements-2\">\n                        <div class=\"u-border-4 u-border-grey-50 u-expanded-width u-line u-line-horizontal u-line-2\"><\/div>\n                        <div class=\"custom-expanded u-border-4 u-border-white u-line u-line-horizontal u-line-3\"><\/div>\n                        <div class=\"u-preserve-proportions u-shape u-shape-circle u-white u-shape-1\"><\/div><span class=\"u-icon u-text-white u-icon-2\"><svg class=\"u-svg-link\" preserveAspectRatio=\"xMidYMin slice\" viewBox=\"0 0 60 60\" style=\"\"><use xlink:href=\"#svg-5128\"><\/use><\/svg><svg class=\"u-svg-content\" viewBox=\"0 0 60 60\" x=\"0px\" y=\"0px\" id=\"svg-5128\" style=\"enable-background:new 0 0 60 60;\"><path d=\"M30,0C13.458,0,0,13.458,0,30s13.458,30,30,30s30-13.458,30-30S46.542,0,30,0z M45.563,30.826l-22,15\n\tC23.394,45.941,23.197,46,23,46c-0.16,0-0.321-0.038-0.467-0.116C22.205,45.711,22,45.371,22,45V15c0-0.371,0.205-0.711,0.533-0.884\n\tc0.328-0.174,0.724-0.15,1.031,0.058l22,15C45.836,29.36,46,29.669,46,30S45.836,30.64,45.563,30.826z\"><\/path><\/svg><\/span><span class=\"u-file-icon u-icon u-text-white u-icon-3\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/05515db1.png\" alt=\"\"><\/span><span class=\"u-file-icon u-flip-horizontal u-icon u-text-white u-icon-4\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/05515db1.png\" alt=\"\"><\/span><span class=\"u-file-icon u-flip-horizontal u-icon u-text-white u-icon-5\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/4f2c0d80.png\" alt=\"\"><\/span><span class=\"u-file-icon u-icon u-text-white u-icon-6\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/4f2c0d80.png\" alt=\"\"><\/span>\n                      <\/div>\n                    <\/div>\n                    <div class=\"u-align-center u-clearfix u-file-link u-group-elements u-group-elements-3\" data-href=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/Prayer_REC_2025-07_final.mp3\" data-target=\"_blank\">\n                      <p class=\"u-align-left u-text u-text-white u-text-6\">PRAYER - Live<\/p>\n                      <p class=\"u-align-left u-text u-text-white u-text-7\">NITERE<span style=\"font-size: 0.75rem;\"><\/span>\n                      <\/p>\n                      <div class=\"u-border-4 u-border-grey-50 u-expanded-width u-line u-line-horizontal u-line-4\"><\/div>\n                      <div class=\"custom-expanded u-border-4 u-border-white u-line u-line-horizontal u-line-5\"><\/div>\n                      <div class=\"u-preserve-proportions u-shape u-shape-circle u-white u-shape-2\"><\/div><span class=\"u-icon u-text-white u-icon-7\"><svg class=\"u-svg-link\" preserveAspectRatio=\"xMidYMin slice\" viewBox=\"0 0 60 60\" style=\"\"><use xlink:href=\"#svg-9762\"><\/use><\/svg><svg class=\"u-svg-content\" viewBox=\"0 0 60 60\" x=\"0px\" y=\"0px\" id=\"svg-9762\" style=\"enable-background:new 0 0 60 60;\"><path d=\"M30,0C13.458,0,0,13.458,0,30s13.458,30,30,30s30-13.458,30-30S46.542,0,30,0z M45.563,30.826l-22,15\n\tC23.394,45.941,23.197,46,23,46c-0.16,0-0.321-0.038-0.467-0.116C22.205,45.711,22,45.371,22,45V15c0-0.371,0.205-0.711,0.533-0.884\n\tc0.328-0.174,0.724-0.15,1.031,0.058l22,15C45.836,29.36,46,29.669,46,30S45.836,30.64,45.563,30.826z\"><\/path><\/svg><\/span><span class=\"u-file-icon u-icon u-text-white u-icon-8\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/05515db1.png\" alt=\"\"><\/span><span class=\"u-file-icon u-flip-horizontal u-icon u-text-white u-icon-9\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/05515db1.png\" alt=\"\"><\/span><span class=\"u-file-icon u-flip-horizontal u-icon u-text-white u-icon-10\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/4f2c0d80.png\" alt=\"\"><\/span><span class=\"u-file-icon u-icon u-text-white u-icon-11\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/4f2c0d80.png\" alt=\"\"><\/span>\n                    <\/div>\n                    <div class=\"u-align-center u-clearfix u-file-link u-group-elements u-group-elements-4\" data-href=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/SantaMariaStrelaDoDia_REC_2025-07_final.mp3\" data-target=\"_blank\">\n                      <p class=\"u-align-left u-text u-text-white u-text-8\">SANTA MARIA\u200b - Live<\/p>\n                      <p class=\"u-align-left u-text u-text-white u-text-9\">NITERE<span style=\"font-size: 0.75rem;\"><\/span>\n                      <\/p>\n                      <div class=\"u-align-center u-clearfix u-expanded-width u-group-elements u-group-elements-5\">\n                        <div class=\"u-border-4 u-border-grey-50 u-expanded-width u-line u-line-horizontal u-line-6\"><\/div>\n                        <div class=\"custom-expanded u-border-4 u-border-white u-line u-line-horizontal u-line-7\"><\/div>\n                        <div class=\"u-preserve-proportions u-shape u-shape-circle u-white u-shape-3\"><\/div><span class=\"u-icon u-text-white u-icon-12\"><svg class=\"u-svg-link\" preserveAspectRatio=\"xMidYMin slice\" viewBox=\"0 0 60 60\" style=\"\"><use xlink:href=\"#svg-7a88\"><\/use><\/svg><svg class=\"u-svg-content\" viewBox=\"0 0 60 60\" x=\"0px\" y=\"0px\" id=\"svg-7a88\" style=\"enable-background:new 0 0 60 60;\"><path d=\"M30,0C13.458,0,0,13.458,0,30s13.458,30,30,30s30-13.458,30-30S46.542,0,30,0z M45.563,30.826l-22,15\n\tC23.394,45.941,23.197,46,23,46c-0.16,0-0.321-0.038-0.467-0.116C22.205,45.711,22,45.371,22,45V15c0-0.371,0.205-0.711,0.533-0.884\n\tc0.328-0.174,0.724-0.15,1.031,0.058l22,15C45.836,29.36,46,29.669,46,30S45.836,30.64,45.563,30.826z\"><\/path><\/svg><\/span><span class=\"u-file-icon u-icon u-text-white u-icon-13\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/05515db1.png\" alt=\"\"><\/span><span class=\"u-file-icon u-flip-horizontal u-icon u-text-white u-icon-14\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/05515db1.png\" alt=\"\"><\/span><span class=\"u-file-icon u-flip-horizontal u-icon u-text-white u-icon-15\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/4f2c0d80.png\" alt=\"\"><\/span><span class=\"u-file-icon u-icon u-text-white u-icon-16\"><img decoding=\"async\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/4f2c0d80.png\" alt=\"\"><\/span>\n                      <\/div>\n                    <\/div>\n                  <\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"u-align-center u-clearfix u-container-align-center u-image u-image-tiles u-section-5\" id=\"foto\" data-image-width=\"2000\" data-image-height=\"102\" style=\"background-image: url(&quot;https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/pozadi_2000x102.png&quot;);\">\n      <div class=\"u-gallery u-layout-grid u-lightbox u-no-transition u-show-text-none u-gallery-1\">\n        <div class=\"u-gallery-inner u-gallery-inner-1\">\n          <div class=\"u-effect-hover-zoom u-gallery-item\">\n            <div class=\"u-back-slide\" data-image-width=\"2560\" data-image-height=\"1920\">\n              <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/05\/1745187791254-scaled.jpg\">\n            <\/div>\n            <div class=\"u-over-slide u-shading u-over-slide-1\"><\/div>\n          <\/div>\n          <div class=\"u-effect-hover-zoom u-gallery-item\">\n            <div class=\"u-back-slide\">\n              <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/20240817205754_IMG_0767-rotated.jpg\">\n            <\/div>\n            <div class=\"u-over-slide u-shading u-over-slide-2\"><\/div>\n          <\/div>\n          <div class=\"u-effect-hover-zoom u-gallery-item\">\n            <div class=\"u-back-slide\" data-image-width=\"1080\" data-image-height=\"1620\">\n              <img decoding=\"async\" class=\"u-back-image u-expanded u-back-image-3\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/05\/IMG_1589-rotated.jpg\">\n            <\/div>\n            <div class=\"u-over-slide u-shading u-over-slide-3\"><\/div>\n          <\/div>\n          <div class=\"u-effect-hover-zoom u-gallery-item\">\n            <div class=\"u-back-slide\" data-image-width=\"1080\" data-image-height=\"1620\">\n              <img decoding=\"async\" class=\"u-back-image u-expanded u-back-image-4\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/05\/IMG_1573-rotated.jpg\">\n            <\/div>\n            <div class=\"u-over-slide u-shading u-over-slide-4\"><\/div>\n          <\/div>\n          <div class=\"u-effect-hover-zoom u-gallery-item\">\n            <div class=\"u-back-slide\" data-image-width=\"2560\" data-image-height=\"1920\">\n              <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/05\/1745187790655-scaled.jpg\">\n            <\/div>\n            <div class=\"u-over-slide u-shading u-over-slide-5\"><\/div>\n          <\/div>\n          <div class=\"u-effect-hover-zoom u-gallery-item\">\n            <div class=\"u-back-slide\" data-image-width=\"1080\" data-image-height=\"1620\">\n              <img decoding=\"async\" class=\"u-back-image u-expanded u-back-image-6\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/05\/IMG_1757-rotated.jpg\">\n            <\/div>\n            <div class=\"u-over-slide u-shading u-over-slide-6\"><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"u-clearfix u-image u-image-tiles u-valign-bottom u-section-6\" id=\"carousel_702f\" data-image-width=\"2000\" data-image-height=\"102\" style=\"background-image: url(&quot;https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/pozadi_2000x102.png&quot;);\">\n      <img decoding=\"async\" class=\"u-expanded-width u-flip-horizontal u-flip-vertical u-image u-image-default u-image-1\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/epk_bgTOP_2000x2000.png\" alt=\"\" data-image-width=\"2000\" data-image-height=\"551\">\n      <div class=\"custom-expanded data-layout-selected u-align-center u-clearfix u-layout-wrap u-layout-wrap-1\">\n        <div class=\"u-gutter-0 u-layout\">\n          <div class=\"u-layout-col\">\n            <div class=\"u-size-60\">\n              <div class=\"u-layout-row\">\n                <div class=\"u-container-style u-layout-cell u-size-60 u-layout-cell-1\">\n                  <div class=\"u-container-layout u-valign-top-lg u-valign-top-md u-valign-top-sm u-valign-top-xl u-container-layout-1\">\n                    <h1 class=\"u-text u-text-body-alt-color u-text-default-lg u-text-default-md u-text-default-sm u-text-default-xl u-title u-text-1\">VIDEO<\/h1>\n                    <div class=\"u-border-3 u-border-custom-color-5 u-expanded-width u-line u-line-horizontal u-line-1\"><\/div>\n                  <\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"u-clearfix u-image u-image-tiles u-valign-top-xs u-section-7\" id=\"video\" data-image-width=\"2000\" data-image-height=\"102\" style=\"background-image: url(&quot;https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/pozadi_2000x102.png&quot;);\">\n      <div class=\"u-clearfix u-sheet u-valign-middle-lg u-valign-middle-sm u-sheet-1\">\n        <div class=\"u-expanded-width u-gallery u-layout-grid u-no-transition u-show-text-none u-gallery-1\">\n          <div class=\"u-gallery-inner u-gallery-inner-1\">\n            <div class=\"u-gallery-item u-gallery-item-1\" data-href=\"https:\/\/youtu.be\/a1H8APT4syI\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/Strepy.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-1\"><\/div>\n            <\/div>\n            <div class=\"u-gallery-item u-gallery-item-2\" data-href=\"https:\/\/youtu.be\/iMvrcfFoMaQ\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/SantaMaria.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-2\"><\/div>\n            <\/div>\n            <div class=\"u-gallery-item u-gallery-item-3\" data-href=\"https:\/\/youtu.be\/wXUOKY4LX04\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/Prayer.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-3\"><\/div>\n            <\/div>\n            <div class=\"u-gallery-item u-gallery-item-4\" data-href=\"https:\/\/youtu.be\/XMl9AC01QjI\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/VeSmiru.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-4\"><\/div>\n            <\/div>\n            <div class=\"u-gallery-item u-gallery-item-5\" data-href=\"https:\/\/youtu.be\/nY57QcNYE-g\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/SklenenyAndel.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-5\"><\/div>\n            <\/div>\n            <div class=\"u-gallery-item u-gallery-item-6\" data-href=\"https:\/\/youtu.be\/mJfDh5kkLaU\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/EjLaskoL.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-6\"><\/div>\n            <\/div>\n            <div class=\"u-gallery-item u-gallery-item-7\" data-href=\"https:\/\/youtu.be\/GMY963cml5M\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/RodrigoMartinezL.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-7\"><\/div>\n            <\/div>\n            <div class=\"u-gallery-item u-gallery-item-8\" data-href=\"https:\/\/youtu.be\/RUeD-TfCtT0\" data-target=\"_blank\">\n              <div class=\"u-back-slide\" data-image-width=\"1140\" data-image-height=\"641\">\n                <img decoding=\"async\" class=\"u-back-image u-expanded\" src=\"https:\/\/www.nitere.cz\/wp-content\/uploads\/2025\/10\/TanecRadosti.png\">\n              <\/div>\n              <div class=\"u-over-slide u-shading u-over-slide-8\"><\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"u-clearfix u-container-align-center-xs u-image u-image-tiles u-section-8\" id=\"koncerty\" data-image-width=\"2000\" data-image-height=\"102\" style=\"background-image: url(&quot;https:\/\/www.nitere.cz\/wp-content\/uploads\/2024\/10\/pozadi_2000x102.png&quot;);\">\n      <div class=\"u-clearfix u-sheet u-valign-middle-xl u-valign-top-lg u-valign-top-md u-valign-top-sm u-valign-top-xs u-sheet-1\">\n        <div class=\"data-layout-selected u-align-center u-clearfix u-expanded-width u-layout-wrap u-layout-wrap-1\">\n          <div class=\"u-gutter-0 u-layout\">\n            <div class=\"u-layout-col\">\n              <div class=\"u-size-60\">\n                <div class=\"u-layout-row\">\n                  <div class=\"u-container-style u-layout-cell u-size-60 u-layout-cell-1\">\n                    <div class=\"u-container-layout u-valign-bottom-lg u-valign-bottom-md u-valign-bottom-sm u-valign-bottom-xs u-container-layout-1\">\n                      <h2 class=\"u-align-left u-text u-text-body-alt-color u-text-1\">KONCERTY<\/h2>\n                      <div class=\"u-border-3 u-border-custom-color-2 u-expanded-width u-line u-line-horizontal u-line-1\"><\/div>\n                      <div class=\"u-clearfix u-custom-html u-expanded-width u-custom-html-1\">\n                        <meta charset=\"UTF-8\">\n                        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n                        <title><\/title><!-- Font Awesome Icons (Free) -->\n                        <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\" integrity=\"sha512-iecdLmaskl7CVJkEZSMUkrQ6usznAreaUQkEqCqsODzDyooGfQ82fsGtik2Js51SBzyBA8\/hOU4+35W6f5xNqJKxUGAvPm0L+NSPnrQy2Z8+Y+LLBKrCORw7TLtrEawI5KoZVVyKg92Qtsktw0KYvXS\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\">\n                        <style> \/* Ensures Font Awesome icons display properly *\/\n        i[class*=\"fa-\"] {\n            display: inline-block;\n            font-style: normal;\n        }\n        \/* CSS Variables pro snadnou customizaci *\/\n        :root {\n            --bg-primary: #000000;\n            --bg-secondary: #1a1a1a;\n            --accent-color: #ff6600;\n            --text-primary: #ffffff;\n            --text-secondary: #cccccc;\n            --border-color: #333333;\n            --hover-bg: #2a2a2a;\n            --bullet-color: #ff0000;\n            --modal-overlay: rgba(0, 0, 0, 0.8);\n        }\n        \/* Reset a z\u00e1kladn\u00ed styling *\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n        body {\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;\n            background-color: var(--bg-primary);\n            color: var(--text-primary);\n            line-height: 1.6;\n            min-height: 100vh;\n        }\n        \/* Container *\/\n        .container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n        \/* Header *\/\n        header {\n            margin-bottom: 40px;\n        }\n        h1 {\n            font-size: 2.5rem;\n            font-weight: bold;\n            margin-bottom: 10px;\n            border-bottom: 3px solid var(--accent-color);\n            padding-bottom: 15px;\n        }\n        \/* Controls (filters) *\/\n        .controls {\n            display: flex;\n            gap: 20px;\n            align-items: center;\n            flex-wrap: wrap;\n            margin-top: 20px;\n            padding: 20px;\n            background-color: var(--bg-secondary);\n            border-radius: 8px;\n        }\n        .control-group {\n            display: flex;\n            align-items: center;\n            gap: 10px;\n        }\n        .control-group label {\n            color: var(--text-secondary);\n            font-size: 0.9rem;\n        }\n        select {\n            padding: 8px 12px;\n            background-color: var(--bg-primary);\n            color: var(--text-primary);\n            border: 1px solid var(--border-color);\n            border-radius: 4px;\n            font-size: 1rem;\n            cursor: pointer;\n            transition: border-color 0.2s ease;\n        }\n        select:hover {\n            border-color: var(--accent-color);\n        }\n        select:focus {\n            outline: none;\n            border-color: var(--accent-color);\n        }\n        \/* Checkbox styling *\/\n        input[type=\"checkbox\"] {\n            width: 18px;\n            height: 18px;\n            cursor: pointer;\n            accent-color: var(--accent-color);\n        }\n        \/* Event list *\/\n        .event-list {\n            background-color: var(--bg-secondary);\n            border-radius: 8px;\n            overflow: hidden;\n        }\n        .event-item {\n            padding: 20px;\n            border-bottom: 1px solid var(--border-color);\n            cursor: pointer;\n            transition: background-color 0.2s ease;\n            display: grid;\n            grid-template-columns: 80px 1fr;\n            gap: 20px;\n            align-items: flex-start;\n        }\n        .event-item:last-child {\n            border-bottom: none;\n        }\n        .event-item:hover {\n            background-color: var(--hover-bg);\n        }\n        \/* Lev\u00fd sloupec - datum *\/\n        .event-date-column {\n            text-align: center;\n            border-right: 2px solid var(--accent-color);\n            padding-right: 15px;\n        }\n        .event-day-name {\n            color: var(--text-secondary);\n            font-size: 0.8rem;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n            margin-bottom: 4px;\n        }\n        .event-day-number {\n            font-size: 1.8rem;\n            font-weight: bold;\n            color: var(--text-primary);\n            line-height: 1;\n        }\n        .event-month {\n            color: var(--text-secondary);\n            font-size: 0.85rem;\n            margin-top: 4px;\n        }\n        \/* Prav\u00fd sloupec - detaily *\/\n        .event-details {\n            display: flex;\n            flex-direction: column;\n            gap: 6px;\n        }\n        .event-time-badge {\n            font-size: 0.9rem;\n            color: var(--accent-color);\n            font-weight: 500;\n        }\n        .event-title {\n            font-size: 1.1rem;\n            color: var(--text-primary);\n            font-weight: 500;\n        }\n        .event-location {\n            font-size: 0.85rem;\n            color: var(--text-secondary);\n        }\n        .event-header {\n            display: none;\n        }\n        .event-date-time {\n            display: none;\n        }\n        .event-day {\n            display: none;\n        }\n        .bullet {\n            display: none;\n        }\n        \/* Empty state *\/\n        .empty-state {\n            text-align: center;\n            padding: 60px 20px;\n            color: var(--text-secondary);\n        }\n        .empty-state p {\n            font-size: 1.2rem;\n        }\n        \/* Loading spinner *\/\n        .loading {\n            text-align: center;\n            padding: 60px 20px;\n        }\n        .spinner {\n            border: 4px solid var(--border-color);\n            border-top: 4px solid var(--accent-color);\n            border-radius: 50%;\n            width: 50px;\n            height: 50px;\n            animation: spin 1s linear infinite;\n            margin: 0 auto;\n        }\n        @keyframes spin {\n            0% { transform: rotate(0deg); }\n            100% { transform: rotate(360deg); }\n        }\n        \/* Error message *\/\n        .error-message {\n            background-color: #331111;\n            border: 1px solid #ff3333;\n            color: #ff6666;\n            padding: 20px;\n            border-radius: 8px;\n            margin-bottom: 20px;\n        }\n        .error-message h3 {\n            margin-bottom: 10px;\n            color: #ff3333;\n        }\n        .error-message button {\n            margin-top: 10px;\n            padding: 8px 16px;\n            background-color: var(--accent-color);\n            color: white;\n            border: none;\n            border-radius: 4px;\n            cursor: pointer;\n            font-size: 0.9rem;\n        }\n        .error-message button:hover {\n            opacity: 0.8;\n        }\n        \/* Modal *\/\n        .modal-overlay {\n            display: none;\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background-color: var(--modal-overlay);\n            z-index: 1000;\n            align-items: center;\n            justify-content: center;\n            animation: fadeIn 0.3s ease;\n        }\n        .modal-overlay.active {\n            display: flex;\n        }\n        @keyframes fadeIn {\n            from { opacity: 0; }\n            to { opacity: 1; }\n        }\n        .modal-content {\n            background-color: var(--bg-secondary);\n            border-radius: 12px;\n            max-width: 500px;\n            width: 90%;\n            max-height: 85vh;\n            overflow-y: auto;\n            position: relative;\n            box-shadow: 0 15px 50px rgba(0, 0, 0, 0.7);\n            border-left: 5px solid var(--accent-color);\n        }\n        .modal-close {\n            position: absolute;\n            top: 15px;\n            right: 15px;\n            background: none;\n            border: none;\n            color: var(--text-secondary);\n            font-size: 2rem;\n            cursor: pointer;\n            line-height: 1;\n            padding: 5px 10px;\n            transition: color 0.2s ease;\n            z-index: 10;\n        }\n        .modal-close:hover {\n            color: var(--accent-color);\n        }\n        \/* Modal title - nadpis na plnou \u0161\u00ed\u0159ku *\/\n        .modal-title {\n            font-size: 1.8rem !important;\n            font-weight: 600 !important;\n            color: var(--text-primary);\n            margin: 0 0 20px 0 !important;\n            padding: 25px 25px 0 25px !important;\n            line-height: 1.3;\n        }\n        \/* Modal body - dva sloupce *\/\n        .modal-body {\n            display: grid;\n            grid-template-columns: 100px 1fr;\n            gap: 30px;\n            padding: 20px 25px;\n            border-bottom: 1px solid rgba(128, 128, 128, 0.2);\n        }\n        \/* Lev\u00fd sloupec - datum *\/\n        .modal-date-column {\n            text-align: center;\n        }\n        .modal-day-name {\n            color: var(--text-secondary);\n            font-size: 0.8rem;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n            margin-bottom: 6px;\n        }\n        .modal-day-number {\n            font-size: 2rem;\n            font-weight: bold;\n            color: var(--text-primary);\n            line-height: 1;\n        }\n        .modal-month {\n            color: var(--text-secondary);\n            font-size: 0.85rem;\n            margin-top: 4px;\n        }\n        \/* Prav\u00fd sloupec - \u010das a m\u00edsto *\/\n        .modal-info-column {\n            display: flex;\n            flex-direction: column;\n            gap: 10px;\n        }\n        .modal-time {\n            font-size: 1rem;\n            color: var(--accent-color);\n            font-weight: 500;\n        }\n        .modal-location-info {\n            font-size: 0.9rem;\n            color: var(--text-secondary);\n        }\n        .modal-location-info a {\n            color: var(--text-secondary);\n            text-decoration: none;\n        }\n        .modal-location-info a:hover {\n            text-decoration: underline;\n        }\n        .modal-datetime {\n            display: none;\n        }\n        \/* Modal details section *\/\n        .modal-details {\n            display: none;\n        }\n        \/* Modal description - pln\u00e1 \u0161\u00ed\u0159ka pod v\u0161\u00edm *\/\n        .modal-description {\n            margin: 0;\n            padding: 20px 25px 25px 25px;\n            color: var(--text-secondary);\n            line-height: 1.8;\n            font-size: 0.95rem;\n            border-top: 1px solid var(--border-color);\n        }\n        \/* Responsive design *\/\n        @media (max-width: 768px) {\n            h1 {\n                font-size: 2rem;\n            }\n            .controls {\n                flex-direction: column;\n                align-items: stretch;\n            }\n            .control-group {\n                width: 100%;\n            }\n            .event-item {\n                grid-template-columns: 70px 1fr;\n                gap: 15px;\n                padding: 15px;\n            }\n            .event-date-column {\n                padding-right: 12px;\n            }\n            .event-day-number {\n                font-size: 1.5rem;\n            }\n            .event-details {\n                gap: 4px;\n            }\n            .event-title {\n                font-size: 1rem;\n            }\n            .event-location {\n                font-size: 0.8rem;\n            }\n            .modal-content {\n                width: 95%;\n                border-radius: 10px;\n            }\n            .modal-title {\n                font-size: 1.8rem !important;\n                padding: 20px 20px 0 20px !important;\n            }\n            .modal-body {\n                gap: 20px;\n                padding: 15px 20px;\n            }\n            .modal-date-column {\n                text-align: center;\n            }\n            .modal-day-number {\n                font-size: 1.8rem;\n            }\n            .modal-day-name {\n                font-size: 0.7rem;\n            }\n            .modal-month {\n                font-size: 0.8rem;\n            }\n            .modal-info-column {\n                gap: 6px;\n            }\n            .modal-time {\n                font-size: 0.85rem;\n            }\n            .modal-location-info {\n                font-size: 0.85rem;\n            }\n            .modal-description {\n                padding: 12px 20px 20px 20px;\n                font-size: 0.9rem;\n            }\n        }\n        @media (min-width: 769px) and (max-width: 1024px) {\n            .container {\n                padding: 30px;\n            }\n            .modal-content {\n                max-width: 450px;\n            }\n            .modal-title {\n                font-size: 16px !important;\n            }\n        }\n        \/* Hidden class *\/\n        .hidden {\n            display: none !important;\n        } <\/style><!--\n    SETUP INSTRUKCE:\n    1. Z\u00edskej Google API key z Google Cloud Console (https:\/\/console.cloud.google.com\/)\n    2. Vlo\u017e API key do CONFIG.API_KEY n\u00ed\u017ee v JavaScript sekci\n    3. Vlo\u017e Calendar ID do CONFIG.CALENDAR_ID\n    4. Otev\u0159i tento soubor v browseru\n    5. Pro \u00fapravu barev zm\u011b\u0148 CSS variables v :root sekci v\u00fd\u0161e\n    Podrobn\u00e9 instrukce najde\u0161 v docs\/api-setup.md\n    -->\n                        <div class=\"container\">\n                          <header><!--<h1>KONCERTY<\/h1>-->\n                            <div class=\"controls\">\n                              <div class=\"control-group\">\n                                <label for=\"year-select\">Rok:<\/label>\n                                <select id=\"year-select\"><\/select>\n                              <\/div>\n                              <div class=\"control-group\">\n                                <input type=\"checkbox\" id=\"show-past\">\n                                <label for=\"show-past\">Zobrazit prob\u011bhl\u00e9 akce<\/label>\n                              <\/div>\n                            <\/div>\n                          <\/header>\n                          <main>\n                            <div id=\"error-container\"><\/div>\n                            <div id=\"loading-container\" class=\"hidden\">\n                              <div class=\"loading\">\n                                <div class=\"spinner\"><\/div>\n                                <p style=\"margin-top: 20px; color: var(--text-secondary);\">Na\u010d\u00edt\u00e1n\u00ed akc\u00ed...<\/p>\n                              <\/div>\n                            <\/div>\n                            <div id=\"event-list-container\"><\/div>\n                          <\/main>\n                        <\/div><!-- Modal overlay -->\n                        <div id=\"modal-overlay\" class=\"modal-overlay\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"modal-title\">\n                          <div class=\"modal-content\">\n                            <button class=\"modal-close\" aria-label=\"Zav\u0159\u00edt\" id=\"modal-close\">\u00d7<\/button><!-- Modal Title - nadpis na plnou \u0161\u00ed\u0159ku -->\n                            <h2 class=\"modal-title\" id=\"modal-title\"><\/h2><!-- Modal Body - dva sloupce: datum vlevo, \u010das\/m\u00edsto vpravo -->\n                            <div class=\"modal-body\">\n                              <div class=\"modal-date-column\">\n                                <div class=\"modal-day-name\" id=\"modal-day-name\"><\/div>\n                                <div class=\"modal-day-number\" id=\"modal-day-number\"><\/div>\n                                <div class=\"modal-month\" id=\"modal-month\"><\/div>\n                              <\/div>\n                              <div class=\"modal-info-column\">\n                                <div class=\"modal-time\" id=\"modal-time\"><\/div>\n                                <div class=\"modal-location-info\" id=\"modal-location-info\" style=\"display: none;\"><\/div>\n                              <\/div>\n                            <\/div><!-- Modal Description -->\n                            <div class=\"modal-description\" id=\"modal-description\"><\/div>\n                          <\/div>\n                        <\/div>\n                        <script> \/\/ ============================================\n        \/\/ KONFIGURACE - VYPL\u0147 SV\u00c9 API \u00daDAJE ZDE\n        \/\/ ============================================\n        let CONFIG = {\n            API_KEY: 'AIzaSyCerdUj7OAwusM_Cq5nL8q5NCZKv29IIJU',\n            CALENDAR_ID:'131eb048875229f6a199021bf67c3db9aa04b3b034a8f5508fdab62c6b918a25@group.calendar.google.com',\n            MAX_RESULTS: 100\n        };\n        \/\/ ============================================\n        \/\/ NA\u010cTEN\u00cd CREDENTIALS (CONFIG.JSON \u2192 localStorage \u2192 DEFAULT)\n        \/\/ ============================================\n        \/\/ Po\u0159ad\u00ed na\u010d\u00edt\u00e1n\u00ed:\n        \/\/ 1. config.json (pro VS Code preview a lok\u00e1ln\u00ed v\u00fdvoj bez commitu)\n        \/\/ 2. localStorage (pro local development skrz DevTools Console)\n        \/\/ 3. Default placeholder (pokud nic nen\u00ed nastaveno)\n        async function loadConfig() {\n            try {\n                const response = await fetch('.\/config.json');\n                if (response.ok) {\n                    const configData = await response.json();\n                    CONFIG = { ...CONFIG, ...configData };\n                    return;\n                }\n            } catch (e) {\n                \/\/ Soubor neexistuje, pokra\u010dujeme\n            }\n            \n            \/\/ Fallback na localStorage pokud config.json neexistuje\n            if (localStorage.getItem('API_KEY')) {\n                CONFIG.API_KEY = localStorage.getItem('API_KEY');\n            }\n            if (localStorage.getItem('CALENDAR_ID')) {\n                CONFIG.CALENDAR_ID = localStorage.getItem('CALENDAR_ID');\n            }\n        }\n        \/\/ ============================================\n        \/\/ GLOB\u00c1LN\u00cd PROM\u011aNN\u00c9\n        \/\/ ============================================\n        let currentYear = new Date().getFullYear(); \/\/ Automatick\u00e9 ur\u010den\u00ed aktu\u00e1ln\u00edho roku\n        let showPastEvents = false;\n        let allEvents = [];\n        \/\/ ============================================\n        \/\/ UTILITY FUNKCE\n        \/\/ ============================================\n        \/**\n         * Form\u00e1tuje datum do \u010desk\u00e9ho form\u00e1tu (DD. m\u011bs\u00edc YYYY)\n         *\/\n        function formatDate(dateString) {\n            const date = new Date(dateString);\n            const months = [\n                'ledna', '\u00fanora', 'b\u0159ezna', 'dubna', 'kv\u011btna', '\u010dervna',\n                '\u010dervence', 'srpna', 'z\u00e1\u0159\u00ed', '\u0159\u00edjna', 'listopadu', 'prosince'\n            ];\n            const day = date.getDate();\n            const month = months[date.getMonth()];\n            const year = date.getFullYear();\n            return `${day}. ${month} ${year}`;\n        }\n        \/**\n         * Form\u00e1tuje \u010das (HH:MM)\n         *\/\n        function formatTime(dateString) {\n            const date = new Date(dateString);\n            const hours = date.getHours().toString().padStart(2, '0');\n            const minutes = date.getMinutes().toString().padStart(2, '0');\n            return `${hours}:${minutes}`;\n        }\n        \/**\n         * Vr\u00e1t\u00ed den v t\u00fddnu v \u010de\u0161tin\u011b\n         *\/\n        function getDayOfWeek(dateString) {\n            const date = new Date(dateString);\n            const days = ['ned\u011ble', 'pond\u011bl\u00ed', '\u00fater\u00fd', 'st\u0159eda', '\u010dtvrtek', 'p\u00e1tek', 'sobota'];\n            return days[date.getDay()];\n        }\n        \/**\n         * Vytvo\u0159\u00ed Google Maps link z adresy\n         *\/\n        function createMapsLink(location) {\n            const encodedLocation = encodeURIComponent(location);\n            return `https:\/\/www.google.com\/maps\/search\/?api=1&query=${encodedLocation}`;\n        }\n        \/\/ ============================================\n        \/\/ GOOGLE CALENDAR API\n        \/\/ ============================================\n        \/**\n         * Na\u010dte eventy z Google Calendar API\n         *\/\n        async function fetchEvents(year, showPast) {\n            \/\/ Kontrola API key\n            if (CONFIG.API_KEY === 'PASTE_YOUR_API_KEY_HERE' || !CONFIG.API_KEY) {\n                showError(\n                    'API kl\u00ed\u010d nen\u00ed nastaven',\n                    'Pros\u00edm, nastav Google API key v CONFIG.API_KEY na za\u010d\u00e1tku souboru. ' +\n                    'N\u00e1vod najde\u0161 v docs\/api-setup.md'\n                );\n                return [];\n            }\n            if (CONFIG.CALENDAR_ID === 'PASTE_YOUR_CALENDAR_ID_HERE' || !CONFIG.CALENDAR_ID) {\n                showError(\n                    'Calendar ID nen\u00ed nastaven',\n                    'Pros\u00edm, nastav Calendar ID v CONFIG.CALENDAR_ID. ' +\n                    'N\u00e1vod najde\u0161 v docs\/api-setup.md'\n                );\n                return [];\n            }\n            showLoading(true);\n            clearError();\n            try {\n                \/\/ Nastaven\u00ed \u010dasov\u00e9ho rozmez\u00ed\n                const timeMin = showPast\n                    ? new Date(year, 0, 1).toISOString()\n                    : new Date().toISOString();\n                const timeMax = new Date(year, 11, 31, 23, 59, 59).toISOString();\n                \/\/ API endpoint\n                const url = `https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/${encodeURIComponent(CONFIG.CALENDAR_ID)}\/events` +\n                    `?key=${CONFIG.API_KEY}` +\n                    `&timeMin=${timeMin}` +\n                    `&timeMax=${timeMax}` +\n                    `&singleEvents=true` +\n                    `&orderBy=startTime` +\n                    `&maxResults=${CONFIG.MAX_RESULTS}`;\n                const response = await fetch(url);\n                if (!response.ok) {\n                    const errorData = await response.json();\n                    throw new Error(errorData.error?.message || `HTTP ${response.status}`);\n                }\n                const data = await response.json();\n                showLoading(false);\n                return data.items || [];\n            } catch (error) {\n                showLoading(false);\n                showError(\n                    'Chyba p\u0159i na\u010d\u00edt\u00e1n\u00ed akc\u00ed',\n                    `Nepoda\u0159ilo se na\u010d\u00edst akce z kalend\u00e1\u0159e: ${error.message}`,\n                    true\n                );\n                return [];\n            }\n        }\n        \/**\n         * Filtruje eventy podle krit\u00e9ri\u00ed\n         *\/\n        function filterEvents(events, year, showPast) {\n            const now = new Date();\n            return events.filter(event => {\n                const startDate = new Date(event.start.dateTime || event.start.date);\n                \/\/ Filtr roku\n                if (startDate.getFullYear() !== year) {\n                    return false;\n                }\n                \/\/ Filtr minul\u00fdch (pokud nen\u00ed zapnut\u00fd toggle)\n                if (!showPast && startDate < now) {\n                    return false;\n                }\n                return true;\n            });\n        }\n        \/\/ ============================================\n        \/\/ UI RENDERING\n        \/\/ ============================================\n        \/**\n         * Vykresl\u00ed seznam event\u016f\n         *\/\n        function renderEventList(events) {\n            const container = document.getElementById('event-list-container');\n            if (events.length === 0) {\n                container.innerHTML = `\n                    <div class=\"empty-state\">\n                        <p>${showPastEvents ? '\u017d\u00e1dn\u00e9 akce v tomto roce' : '\u017d\u00e1dn\u00e9 nadch\u00e1zej\u00edc\u00ed akce'}<\/p>\n                    <\/div>\n                `;\n                return;\n            }\n            const eventListHTML = `\n                <div class=\"event-list\">\n                    ${events.map(event => {\n                        const startDate = new Date(event.start.dateTime || event.start.date);\n                        const endDate = event.end ? new Date(event.end.dateTime || event.end.date) : null;\n                        const isAllDay = !event.start.dateTime;\n                        let timeString = '';\n                        if (!isAllDay && endDate) {\n                            timeString = `${formatTime(startDate)} - ${formatTime(endDate)}`;\n                        } else if (!isAllDay) {\n                            timeString = formatTime(startDate);\n                        }\n                        return `\n                            <div class=\"event-item\" data-event-id=\"${event.id}\" role=\"button\" tabindex=\"0\" aria-label=\"Zobrazit detail akce ${event.summary}\">\n                                <div class=\"event-date-column\">\n                                    <div class=\"event-day-name\">${getDayOfWeek(startDate).substring(0, 3).toUpperCase()}<\/div>\n                                    <div class=\"event-day-number\">${startDate.getDate()}.<\/div>\n                                    <div class=\"event-month\">${formatDate(startDate).split(' ')[1]}<\/div>\n                                <\/div>\n                                <div class=\"event-details\">\n                                    ${timeString ? `<div class=\"event-time-badge\">&#x23f0; ${timeString}<\/div>` : '<div class=\"event-time-badge\">Celodenn\u00ed akce<\/div>'}\n                                    <div class=\"event-title\">${event.summary || 'Bez n\u00e1zvu'}<\/div>\n                                    ${event.location ? `<div class=\"event-location\">&#x1f4cd; ${event.location}<\/div>` : ''}\n                                <\/div>\n                            <\/div>\n                        `;\n                    }).join('')}\n                <\/div>\n            `;\n            container.innerHTML = eventListHTML;\n            \/\/ P\u0159id\u00e1n\u00ed event listeners pro kliknut\u00ed na eventy\n            document.querySelectorAll('.event-item').forEach(item => {\n                item.addEventListener('click', handleEventClick);\n                item.addEventListener('keypress', (e) => {\n                    if (e.key === 'Enter') {\n                        handleEventClick(e);\n                    }\n                });\n            });\n        }\n        \/**\n         * Zobraz\u00ed loading spinner\n         *\/\n        function showLoading(show) {\n            const loadingContainer = document.getElementById('loading-container');\n            if (show) {\n                loadingContainer.classList.remove('hidden');\n            } else {\n                loadingContainer.classList.add('hidden');\n            }\n        }\n        \/**\n         * Zobraz\u00ed error message\n         *\/\n        function showError(title, message, showRetry = false) {\n            const errorContainer = document.getElementById('error-container');\n            errorContainer.innerHTML = `\n                <div class=\"error-message\">\n                    <h3>${title}<\/h3>\n                    <p>${message}<\/p>\n                    ${showRetry ? '<button onclick=\"loadEvents()\">Zkusit znovu<\/button>' : ''}\n                <\/div>\n            `;\n        }\n        \/**\n         * Vyma\u017ee error message\n         *\/\n        function clearError() {\n            document.getElementById('error-container').innerHTML = '';\n        }\n        \/\/ ============================================\n        \/\/ MODAL\n        \/\/ ============================================\n        \/**\n         * Zobraz\u00ed modal s detailem eventu\n         *\/\n        function showEventModal(eventId) {\n            const event = allEvents.find(e => e.id === eventId);\n            if (!event) return;\n            const modal = document.getElementById('modal-overlay');\n            const startDate = new Date(event.start.dateTime || event.start.date);\n            const endDate = event.end ? new Date(event.end.dateTime || event.end.date) : null;\n            const isAllDay = !event.start.dateTime;\n            \/\/ Lev\u00fd sloupec - velk\u00e9 datum\n            document.getElementById('modal-day-name').textContent = getDayOfWeek(startDate).toUpperCase().substring(0, 3);\n            document.getElementById('modal-day-number').textContent = startDate.getDate() + '.';\n            \n            const monthNames = ['ledna', '\u00fanora', 'b\u0159ezna', 'dubna', 'kv\u011btna', '\u010dervna', '\u010dervence', 'srpna', 'z\u00e1\u0159\u00ed', '\u0159\u00edjna', 'listopadu', 'prosince'];\n            document.getElementById('modal-month').textContent = monthNames[startDate.getMonth()];\n            \/\/ Prav\u00fd sloupec - n\u00e1zev\n            document.getElementById('modal-title').textContent = event.summary || 'Bez n\u00e1zvu';\n            \/\/ \u010cas\n            let timeString = '';\n            if (!isAllDay && endDate) {\n                timeString = `${formatTime(startDate)} \u2013 ${formatTime(endDate)}`;\n            } else if (!isAllDay) {\n                timeString = formatTime(startDate);\n            } else {\n                timeString = 'Celodenn\u00ed akce';\n            }\n            document.getElementById('modal-time').innerHTML = '&#x23f0; ' + timeString;\n            \/\/ Lokace\n            const locationInfo = document.getElementById('modal-location-info');\n            if (event.location) {\n                locationInfo.style.display = 'block';\n                const mapsLink = createMapsLink(event.location);\n                locationInfo.innerHTML = `&#x1f4cd; <a href=\"${mapsLink}\" target=\"_blank\" rel=\"noopener noreferrer\">${event.location}<\/a>`;\n            } else {\n                locationInfo.style.display = 'none';\n            }\n            \/\/ Popis - pln\u00e1 \u0161\u00ed\u0159ka pod v\u0161\u00edm\n            const description = event.description || '';\n            document.getElementById('modal-description').innerHTML = description || '<em>\u017d\u00e1dn\u00fd popis<\/em>';\n            \/\/ Zobrazit modal\n            modal.classList.add('active');\n            document.body.style.overflow = 'hidden';\n            \/\/ Focus management\n            const closeButton = document.getElementById('modal-close');\n            closeButton.focus();\n        }\n        \/**\n         * Zav\u0159e modal\n         *\/\n        function closeModal() {\n            const modal = document.getElementById('modal-overlay');\n            modal.classList.remove('active');\n            document.body.style.overflow = '';\n        }\n        \/\/ ============================================\n        \/\/ EVENT HANDLERS\n        \/\/ ============================================\n        \/**\n         * Zpracuje kliknut\u00ed na event\n         *\/\n        function handleEventClick(e) {\n            const eventId = e.currentTarget.getAttribute('data-event-id');\n            showEventModal(eventId);\n        }\n        \/**\n         * Na\u010dte a zobraz\u00ed eventy\n         *\/\n        async function loadEvents() {\n            allEvents = await fetchEvents(currentYear, showPastEvents);\n            const filteredEvents = filterEvents(allEvents, currentYear, showPastEvents);\n            renderEventList(filteredEvents);\n        }\n        \/\/ ============================================\n        \/\/ INITIALIZATION\n        \/\/ ============================================\n        function initializeApp() {\n            \/\/ Year selector\n            const yearSelect = document.getElementById('year-select');\n            \/\/ Automaticky vyplnit roky od aktu\u00e1ln\u00edho roku - 2 roky a\u017e do +3 let\n            const startYear = currentYear - 2;\n            const endYear = currentYear + 3;\n            for (let year = startYear; year <= endYear; year++) {\n                const option = document.createElement('option');\n                option.value = year;\n                option.textContent = year;\n                yearSelect.appendChild(option);\n            }\n            yearSelect.value = currentYear;\n            yearSelect.addEventListener('change', (e) => {\n                currentYear = parseInt(e.target.value);\n                loadEvents();\n            });\n            \/\/ Show past checkbox\n            const showPastCheckbox = document.getElementById('show-past');\n            showPastCheckbox.checked = showPastEvents;\n            showPastCheckbox.addEventListener('change', (e) => {\n                showPastEvents = e.target.checked;\n                loadEvents();\n            });\n            \/\/ Modal close button\n            document.getElementById('modal-close').addEventListener('click', closeModal);\n            \/\/ Modal overlay click (close when clicking outside)\n            document.getElementById('modal-overlay').addEventListener('click', (e) => {\n                if (e.target.id === 'modal-overlay') {\n                    closeModal();\n                }\n            });\n            \/\/ ESC key to close modal\n            document.addEventListener('keydown', (e) => {\n                if (e.key === 'Escape') {\n                    closeModal();\n                }\n            });\n            \/\/ Na\u010d\u00edst eventy p\u0159i startu\n            loadEvents();\n        }\n        \/\/ Zavolat inicializaci a\u017e po na\u010dten\u00ed configU\n        document.addEventListener('DOMContentLoaded', async () => {\n            await loadConfig();\n            initializeApp();\n        }); <\/script>\n                      <\/div>\n                    <\/div>\n                  <\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n    \n    \n    \n    \n    \n  \n","protected":false},"excerpt":{"rendered":"<p>Nitere p\u0159edstavuje mystick\u00fd folk s \u017e\u00e1nrov\u00fdm p\u0159esahem zahrnuj\u00edc\u00edm rock, pop, world music a sc\u00e9nickou hudbu. Inspiraci \u010derp\u00e1 p\u0159edev\u0161\u00edm ze st\u0159edov\u011bk\u00e9 a klasick\u00e9 hudby, kterou p\u0159en\u00e1\u0161\u00ed do sou\u010dasn\u00fdch hudebn\u00edch \u017e\u00e1nr\u016f a dociluje tak spojen\u00ed minulosti se sou\u010dasnost\u00ed. &nbsp;V\u00fdjime\u010dn\u00fd crossover vok\u00e1l spojuj\u00edc\u00ed r\u016fzn\u00e9 vok\u00e1ln\u00ed techniky nap\u0159\u00ed\u010d \u017e\u00e1nry voln\u011b p\u0159ech\u00e1z\u00ed mezi opern\u00edmi mystick\u00fdmi pas\u00e1\u017eemi do popov\u00e9ho stylu. Texty &hellip; <a href=\"https:\/\/www.nitere.cz\/?page_id=1953\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8222;Nitere &#8211; \u00davod&#8220;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1953","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.nitere.cz\/index.php?rest_route=\/wp\/v2\/pages\/1953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nitere.cz\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.nitere.cz\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.nitere.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nitere.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1953"}],"version-history":[{"count":27,"href":"https:\/\/www.nitere.cz\/index.php?rest_route=\/wp\/v2\/pages\/1953\/revisions"}],"predecessor-version":[{"id":2224,"href":"https:\/\/www.nitere.cz\/index.php?rest_route=\/wp\/v2\/pages\/1953\/revisions\/2224"}],"wp:attachment":[{"href":"https:\/\/www.nitere.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}