{"id":2949,"date":"2026-10-09T18:49:08","date_gmt":"2026-10-09T18:49:08","guid":{"rendered":"https:\/\/tartuvalgus.ee\/?page_id=2949"},"modified":"2026-10-13T17:45:25","modified_gmt":"2026-10-13T17:45:25","slug":"ran-ancor","status":"publish","type":"page","link":"https:\/\/tartuvalgus.ee\/en\/valgusinstallatsioonid\/ran-ancor\/","title":{"rendered":"Ran Ancor"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_0 et_pb_row et-vb-row--no-module et_flex_row\"><\/div>\n<\/div>\n\n<div class=\"et_pb_section_1 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_1 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_clickable et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><span>\u2190 K\u00d5IK INSTALLATSIOONID<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>VALGUSINSTALLATSIOON<\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_heading_0 et_pb_heading et_pb_module et_flex_module\"><div class=\"et_pb_heading_container\"><h2 class=\"et_pb_module_header\">\"\u7a7a K\u016a, T\u00dcHJUS\"<\/h2><\/div><\/div>\n\n<div class=\"et_pb_heading_1 et_pb_heading et_pb_module et_flex_module\"><div class=\"et_pb_heading_container\"><h2 class=\"et_pb_module_header\">RAN ANCOR (IT\/GER)<\/h2><\/div><\/div>\n\n<div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><b>\u7a7a<\/b><b> K\u016a, T\u00fchjus<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Audiovisuaalne projekt footonmodulaatoritele<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Floating Spectrumi arvutin\u00e4gemise ja generatiivse heli kaasuses<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u201c\u7a7a<\/span><span style=\"font-weight: 400;\"> K\u016a, T\u00fchjus\u201d on audiovisuaalne kogemus, mis kasutab h\u00e4kitud teadustehnoloogiat kunstilise vahendina. Analoogvisuaalid p\u00e4rinevad ostsillograafist, mis tekitab valgust elektromagnetv\u00e4ljade abil, mis omakorda suunavad elektronkiiri. Need soojad ja orgaanilised kujutised muudetakse arvutin\u00e4gemise abil reaalajas liikumisandmeteks, mis k\u00e4ivitavad generatiivse helis\u00fcsteemi. Publik on kutsutud sukelduma helimaastiku ja orgaaniliste visuaalsete tekstuuride keerukatesse kihtidesse, mis uurivad s\u00fcmmeetriat ja juhuslikkust, kaalutletust ja juhuslikke avastusi.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Hajus peegeldus pinnalt on peamine mehhanism, mille kaudu objektid meie silmadele avanevad: valgus v\u00f5imaldab meil n\u00e4ha meid \u00fcmbritsevat maailma; reaalsus saab meie silmadele n\u00e4htavaks t\u00e4nu sellele vastastikm\u00f5jule. <\/span><span style=\"font-weight: 400;\">\u7a7a<\/span><span style=\"font-weight: 400;\"> K\u016b on osa k\u00e4imasolevast autoriuurimusest, mis keskendub sellele, mis toimub selle vastastikm\u00f5ju varasemas faasis. Teekond puhtasse valgusesse, enne kui see j\u00f5uab valgustada teisi, reaalseid objekte. See, mida me projitseerituna n\u00e4eme, on hetk, mil need valguspunktid s\u00fcttivad. Valgusallika ja projektsiooni vahel puudub arvutuslik t\u00f6\u00f6tlemine: see on otse\u00fclekanne. T\u00f6\u00f6tlemine ja manipuleerimine toimub varem, l\u00e4htesignaali genereerimisel ja esituse tulemusena: seega on v\u00f5imalik elektromagnetv\u00e4lja poolt suunatud elektronkiirt kasutada nende jooniste genereerimiseks. V\u00e4ljundiks on analoogkujutis, ilma igasuguste kvantimisprotsessideta.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">\u7a7a<\/span><\/i><i><span style=\"font-weight: 400;\"> K\u016b (t\u00f5lgituna enamasti kui \u201et\u00fchjus\u201c, kuid t\u00e4hendab ka \u201etaevast\u201c) esindab asju, mis j\u00e4\u00e4vad v\u00e4ljapoole meie igap\u00e4evast kogemust, eriti neid, mis koosnevad puhtast energiast. See on eriti oluline olemus viiest elemendist k\u00f5rgeim. K\u016b esindab vaimu, m\u00f5tlemist ja loovat energiat, samuti meie v\u00f5imet m\u00f5elda ja suhelda. K\u016b ei ole t\u00fchjus mittemiski t\u00e4henduses, vaid terviklikkus, universaalne vabadus, mis \u00fcletab tavap\u00e4rased eksistentsi tingimused.<\/span><\/i><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_2 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_0 et_pb_image et_pb_module et_flex_module\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_2 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_3 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_2 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_heading_2 et_pb_heading et_pb_module et_flex_module\"><div class=\"et_pb_heading_container\"><h2 class=\"et_pb_module_header\">AUTOR<\/h2><\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_4 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_3 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_1 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/10\/Portrait-FM-stripes-black-white.jpg\" title=\"ran_ancor\" width=\"908\" height=\"969\" data-srcset=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/10\/Portrait-FM-stripes-black-white.jpg 908w, https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/10\/Portrait-FM-stripes-black-white-480x512.jpg 480w\" data-sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 908px, 100vw\" class=\"wp-image-2983 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 908px; --smush-placeholder-aspect-ratio: 908\/969;\" \/><\/span><\/div>\n<\/div>\n\n<div class=\"et_pb_column_4 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_12_24_phone\">\n<div class=\"et_pb_text_3 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><b>Francesco Mancori, <\/b><span style=\"font-weight: 400;\">tuntud ka kui<\/span><b> Ran Ancor, <\/b><span style=\"font-weight: 400;\">on Berliinis tegutsev Itaalia meediakunstnik, kes on p\u00fchendunud peamiselt valguse uurimisele ja videoeksperimentidele. Ta \u00f5ppis teadusfilosoofiat (Rooma \u00dclikool) ning k\u00f5rvalerialana arvutiteadust, asudes seej\u00e4rel tegutsema kunsti ja teaduse piirimaadel. Tal on suured kogemused video ja multimeedia valdkonnas ning ta on t\u00f6\u00f6tanud selliste kunstnikega nagu Bill Viola ja Brian Eno. Ta on p\u00fchendunud elektroonilistele audiovisuaalsetele live-settidele, VJ-indusele, valgusinstallatsioonidele, kantavatele etendustele, algoritmilistele joonistustele ja interaktiivsele andmet\u00f6\u00f6tlusele. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tema t\u00f6\u00f6de olulisimad elemendid on immateriaalsus, liikumine ja metamorfoos, visuaalne voog ning sulandumine heli ja ruumiga. 2001. aastal asutas ta ettev\u00f5tte eXtraLight Advanced Visuals, keskendudes valgusele kui substantsile selle v\u00e4ljendusvormides \u2013 valgus-etendustes, visuaalides ja installatsioonides. Oma t\u00f6\u00f6s kasutab ta eritellimusel loodud tarkvara ja riistvara ning on kirglik elektromagnetv\u00e4ljade uskumatu maailma uurija ja r\u00e4ndur, tuues sealt kaasa geomeetrilisi kujutisi, mida pole v\u00f5imalik mujal vaadelda.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/francescomancori.art\">https:\/\/francescomancori.art<\/a>\u00a0<\/span><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_3 et_pb_section et_section_regular et_flex_section\" id=\"ajakava\">\n<div class=\"et_pb_row_5 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_5 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_heading_3 et_pb_heading et_pb_module et_flex_module\"><div class=\"et_pb_heading_container\"><h2 class=\"et_pb_module_header\">PILETI HIND<\/h2><\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_6 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_6 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_4 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><strong>Vali endale Fientast sobiv \u00f5htu<\/strong> ja tule saa osa valgusmaailmast, kus kohtuvad s\u00fcgisene loodus, imeline valguskunst ja valgustusdisain ning hea muusika.<\/p>\n<p><strong>\u00dchekordne sissep\u00e4\u00e4s vabalt valitud \u00f5htul Valgusbiennaali alale Botaanikaaias<\/strong><br \/><span>10\u20ac<\/span><\/p>\n<p><span><strong>Lasterikka pere liikme sooduspilet (Perekaardiga)<\/strong><br \/>8\u20ac<\/span><span><\/span><\/p>\n<p><strong>Eelkooliealistele lastele ning erivajadusega k\u00fclastaja saatja<\/strong><br \/>TASUTA<\/p>\n<p><strong>3 p\u00e4eva pilet<\/strong><br \/>25\u20ac<\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_module et_pb_button_module_wrapper et_pb_button_0_wrapper\"><a class=\"et_pb_button_0 et_pb_button et_pb_bg_layout_light et_pb_module et_flex_module\" href=\"https:\/\/fienta.com\/et\/tartu-valgusfestival-tava26-tartu-botaanikaaed-200302\" target=\"_blank\">OSTA PILET<\/a><\/div>\n<\/div>\n\n<div class=\"et_pb_column_7 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_2 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-9-scaled.jpg\" title=\"20211027_Mana Kaasik_TAVA2021-9\" width=\"2560\" height=\"1707\" data-srcset=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-9-scaled.jpg 2560w, https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-9-1280x854.jpg 1280w, https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-9-980x653.jpg 980w, https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-9-480x320.jpg 480w\" data-sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2560px, 100vw\" class=\"wp-image-2208 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\" \/><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_4 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_7 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_8 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_5 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>ARHIIV<\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_heading_4 et_pb_heading et_pb_module et_flex_module\"><div class=\"et_pb_heading_container\"><h2 class=\"et_pb_module_header\">Tava tipphetked<\/h2><\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_8 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_9 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"tv-photo-gallery\">\n\n  <!-- =====================================================\n       RIDA 1 \u2014 LIIGUB VASAKULE\n  ====================================================== -->\n\n  <div class=\"tv-gallery-row tv-row-left\">\n\n    <div class=\"tv-gallery-track\">\n\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/OveMaidla_0E5A9256_20_2862_29-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8796-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8743-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8760-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1440;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8703-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8691-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8648-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8599-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A6730-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A6660-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n\n      <!-- Duplikaadid sujuva loopi jaoks -->\n\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/OveMaidla_0E5A9256_20_2862_29-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8796-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8743-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8760-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1440;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8703-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8691-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8648-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8599-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A6730-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A6660-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n\n    <\/div>\n\n  <\/div>\n\n\n  <!-- =====================================================\n       RIDA 2 \u2014 LIIGUB PAREMALE\n  ====================================================== -->\n\n  <div class=\"tv-gallery-row tv-row-right\">\n\n    <div class=\"tv-gallery-track\">\n\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A6535-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0558-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0524-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1440;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0095-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0080-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0034-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0010-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-10-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-9-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8557-scaled.jpg\" alt=\"Tartu Valgus\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n\n      <!-- Duplikaadid sujuva loopi jaoks -->\n\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A6535-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0558-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0524-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1440;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0095-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0080-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0034-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A0010-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-10-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/20211027_Mana-Kaasik_TAVA2021-9-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n      <img decoding=\"async\" data-src=\"https:\/\/tartuvalgus.ee\/wp-content\/uploads\/2026\/08\/BB5A8557-scaled.jpg\" alt=\"\" aria-hidden=\"true\" draggable=\"false\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1707;\">\n\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n\n<!-- =====================================================\n     LIGHTBOX\n====================================================== -->\n\n<div class=\"tv-lightbox\" id=\"tvLightbox\">\n\n  <!-- Sulgemine -->\n\n  <button\n    class=\"tv-lightbox-close\"\n    aria-label=\"Sulge galerii\"\n    type=\"button\"\n  >\n    <span><\/span>\n    <span><\/span>\n  <\/button>\n\n\n  <!-- EELMINE -->\n\n  <button\n    class=\"tv-lightbox-arrow tv-arrow-prev\"\n    aria-label=\"Eelmine pilt\"\n    type=\"button\"\n  >\n    <span>\u2190<\/span>\n  <\/button>\n\n\n  <!-- SISU -->\n\n  <div class=\"tv-lightbox-content\">\n\n    <div class=\"tv-main-image-wrap\">\n      <img decoding=\"async\"\n        id=\"tvMainImage\"\n        src=\"\"\n        alt=\"\"\n      >\n    <\/div>\n\n\n    <!-- ALUMINE RIBA -->\n\n    <div class=\"tv-lightbox-bottom\">\n\n      <div class=\"tv-counter\">\n\n        <span id=\"tvCurrentNumber\">\n          01\n        <\/span>\n\n        <span class=\"tv-counter-line\"><\/span>\n\n        <span id=\"tvTotalNumber\">\n          01\n        <\/span>\n\n      <\/div>\n\n\n      <div\n        class=\"tv-thumbnails\"\n        id=\"tvThumbnails\"\n      ><\/div>\n\n    <\/div>\n\n  <\/div>\n\n\n  <!-- J\u00c4RGMINE -->\n\n  <button\n    class=\"tv-lightbox-arrow tv-arrow-next\"\n    aria-label=\"J\u00e4rgmine pilt\"\n    type=\"button\"\n  >\n    <span>\u2192<\/span>\n  <\/button>\n\n<\/div>\n\n\n<style>\n\n\/* =====================================================\n   GALERII\n===================================================== *\/\n\n.tv-photo-gallery {\n\n  width: 100%;\n\n  overflow: hidden;\n\n  background: #fff;\n\n}\n\n\n.tv-gallery-row {\n\n  width: 100%;\n\n  overflow: hidden;\n\n  margin-bottom: 16px;\n\n}\n\n\n.tv-gallery-row:last-child {\n\n  margin-bottom: 0;\n\n}\n\n\n.tv-gallery-track {\n\n  display: flex;\n\n  width: max-content;\n\n  gap: 16px;\n\n  will-change: transform;\n\n}\n\n\n\/* =====================================================\n   GALERII PILDID\n===================================================== *\/\n\n.tv-gallery-track img {\n\n  display: block;\n\n  width: 400px;\n\n  height: 265px;\n\n  object-fit: cover;\n\n  border-radius: 0;\n\n  flex-shrink: 0;\n\n  cursor: zoom-in;\n\n  user-select: none;\n\n  -webkit-user-drag: none;\n\n  transition:\n    transform 0.5s cubic-bezier(.22,.61,.36,1),\n    filter 0.5s ease;\n\n}\n\n\n.tv-gallery-track img:hover {\n\n  transform: scale(1.025);\n\n  filter: brightness(1.06);\n\n}\n\n\n\/* =====================================================\n   AEGLANE LIIKUMINE\n===================================================== *\/\n\n.tv-row-left .tv-gallery-track {\n\n  animation:\n    tvMoveLeft 280s linear infinite;\n\n}\n\n\n.tv-row-right .tv-gallery-track {\n\n  animation:\n    tvMoveRight 280s linear infinite;\n\n}\n\n\n.tv-gallery-row:hover .tv-gallery-track {\n\n  animation-play-state: paused;\n\n}\n\n\n@keyframes tvMoveLeft {\n\n  from {\n\n    transform: translateX(0);\n\n  }\n\n  to {\n\n    transform: translateX(-50%);\n\n  }\n\n}\n\n\n@keyframes tvMoveRight {\n\n  from {\n\n    transform: translateX(-50%);\n\n  }\n\n  to {\n\n    transform: translateX(0);\n\n  }\n\n}\n\n\n\/* =====================================================\n   LIGHTBOX\n   20% MEN\u00dc\u00dc VASAKUL\n===================================================== *\/\n\n.tv-lightbox {\n\n  position: fixed;\n\n  left: 20%;\n  right: 0;\n  top: 0;\n  bottom: 0;\n\n  z-index: 999999;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  background:\n    rgba(10, 10, 10, 0.96);\n\n  opacity: 0;\n\n  visibility: hidden;\n\n  transition:\n    opacity 0.4s ease,\n    visibility 0.4s ease;\n\n  backdrop-filter: blur(12px);\n\n  -webkit-backdrop-filter: blur(12px);\n\n}\n\n\n.tv-lightbox.is-open {\n\n  opacity: 1;\n\n  visibility: visible;\n\n}\n\n\n\/* =====================================================\n   LIGHTBOX SISU\n===================================================== *\/\n\n.tv-lightbox-content {\n\n  width:\n    calc(100% - 100px);\n\n  height:\n    calc(100% - 100px);\n\n  display: flex;\n\n  flex-direction: column;\n\n  justify-content: center;\n\n  position: relative;\n\n}\n\n\n\/* =====================================================\n   SUUR PILT\n===================================================== *\/\n\n.tv-main-image-wrap {\n\n  width: 100%;\n\n  height:\n    calc(100% - 95px);\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  overflow: hidden;\n\n}\n\n\n.tv-main-image-wrap img {\n\n  display: block;\n\n  max-width: 100%;\n\n  max-height: 100%;\n\n  width: auto;\n\n  height: auto;\n\n  object-fit: contain;\n\n  user-select: none;\n\n  -webkit-user-drag: none;\n\n  box-shadow:\n    0 30px 100px rgba(0,0,0,0.45);\n\n  transition:\n    opacity 0.25s ease,\n    transform 0.35s ease;\n\n}\n\n\n\/* =====================================================\n   LIGHTBOX ALUMINE OSA\n===================================================== *\/\n\n.tv-lightbox-bottom {\n\n  height: 75px;\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 30px;\n\n  margin-top: 20px;\n\n}\n\n\n\/* =====================================================\n   COUNTER\n===================================================== *\/\n\n.tv-counter {\n\n  color:\n    rgba(255,255,255,0.8);\n\n  font-family:\n    Arial, sans-serif;\n\n  font-size: 13px;\n\n  letter-spacing:\n    0.08em;\n\n  white-space: nowrap;\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 10px;\n\n}\n\n\n.tv-counter-line {\n\n  display: block;\n\n  width: 25px;\n\n  height: 1px;\n\n  background:\n    rgba(255,255,255,0.35);\n\n}\n\n\n\/* =====================================================\n   THUMBNAILID\n===================================================== *\/\n\n.tv-thumbnails {\n\n  display: flex;\n\n  gap: 8px;\n\n  overflow-x: auto;\n\n  scrollbar-width: none;\n\n  flex: 1;\n\n  padding: 5px 0;\n\n}\n\n\n.tv-thumbnails::-webkit-scrollbar {\n\n  display: none;\n\n}\n\n\n.tv-thumb {\n\n  width: 70px;\n\n  height: 48px;\n\n  flex-shrink: 0;\n\n  object-fit: cover;\n\n  opacity: 0.35;\n\n  cursor: pointer;\n\n  transition:\n    opacity 0.25s ease,\n    transform 0.25s ease;\n\n}\n\n\n.tv-thumb:hover {\n\n  opacity: 0.75;\n\n}\n\n\n.tv-thumb.active {\n\n  opacity: 1;\n\n  transform:\n    translateY(-2px);\n\n}\n\n\n\/* =====================================================\n   NOOLED\n===================================================== *\/\n\n.tv-lightbox-arrow {\n\n  position: absolute;\n\n  top: 50%;\n\n  transform:\n    translateY(-50%);\n\n  width: 65px;\n\n  height: 80px;\n\n  border: 0;\n\n  background: transparent;\n\n  color: #fff;\n\n  cursor: pointer;\n\n  font-size: 30px;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  opacity: 0.65;\n\n  z-index: 10;\n\n  transition:\n    opacity 0.25s ease,\n    transform 0.25s ease;\n\n}\n\n\n.tv-lightbox-arrow:hover {\n\n  opacity: 1;\n\n}\n\n\n.tv-arrow-prev {\n\n  left: 10px;\n\n}\n\n\n.tv-arrow-next {\n\n  right: 10px;\n\n}\n\n\n.tv-arrow-prev:hover {\n\n  transform:\n    translate(-5px, -50%);\n\n}\n\n\n.tv-arrow-next:hover {\n\n  transform:\n    translate(5px, -50%);\n\n}\n\n\n\/* =====================================================\n   SULGEMISE NUPP\n===================================================== *\/\n\n.tv-lightbox-close {\n\n  position: absolute;\n\n  top: 20px;\n\n  right: 20px;\n\n  width: 45px;\n\n  height: 45px;\n\n  border: 0;\n\n  background: transparent;\n\n  cursor: pointer;\n\n  z-index: 20;\n\n  opacity: 0.65;\n\n  transition:\n    opacity 0.25s ease;\n\n}\n\n\n.tv-lightbox-close:hover {\n\n  opacity: 1;\n\n}\n\n\n.tv-lightbox-close span {\n\n  position: absolute;\n\n  top: 22px;\n\n  left: 8px;\n\n  width: 28px;\n\n  height: 1px;\n\n  background: #fff;\n\n}\n\n\n.tv-lightbox-close span:first-child {\n\n  transform:\n    rotate(45deg);\n\n}\n\n\n.tv-lightbox-close span:last-child {\n\n  transform:\n    rotate(-45deg);\n\n}\n\n\n\/* =====================================================\n   MOBIIL\n===================================================== *\/\n\n@media (max-width: 767px) {\n\n  \/*\n   * Mobiilis kasutame kogu ekraani.\n   *\/\n\n  .tv-lightbox {\n\n    left: 0;\n\n  }\n\n\n  .tv-gallery-row {\n\n    margin-bottom: 10px;\n\n  }\n\n\n  .tv-gallery-track {\n\n    gap: 10px;\n\n  }\n\n\n  .tv-gallery-track img {\n\n    width: 270px;\n\n    height: 180px;\n\n  }\n\n\n  .tv-row-left .tv-gallery-track {\n\n    animation-duration:\n      200s;\n\n  }\n\n\n  .tv-row-right .tv-gallery-track {\n\n    animation-duration:\n      200s;\n\n  }\n\n\n  .tv-lightbox-content {\n\n    width:\n      calc(100% - 35px);\n\n    height:\n      calc(100% - 70px);\n\n  }\n\n\n  .tv-main-image-wrap {\n\n    height:\n      calc(100% - 65px);\n\n  }\n\n\n  .tv-thumbnails {\n\n    display: none;\n\n  }\n\n\n  .tv-counter {\n\n    margin: auto;\n\n  }\n\n\n  .tv-lightbox-arrow {\n\n    width: 45px;\n\n    height: 60px;\n\n    font-size: 25px;\n\n  }\n\n\n  .tv-arrow-prev {\n\n    left: 0;\n\n  }\n\n\n  .tv-arrow-next {\n\n    right: 0;\n\n  }\n\n\n  .tv-lightbox-close {\n\n    top: 12px;\n\n    right: 12px;\n\n  }\n\n}\n\n\n\/* =====================================================\n   V\u00c4HENDATUD LIIKUMINE\n===================================================== *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  .tv-row-left .tv-gallery-track,\n  .tv-row-right .tv-gallery-track {\n\n    animation: none;\n\n  }\n\n}\n\n<\/style>\n\n\n<script>\n\ndocument.addEventListener(\n  \"DOMContentLoaded\",\n  function () {\n\n\n    \/* =================================================\n       ELEMENDID\n    ================================================= *\/\n\n    const gallery =\n      document.querySelector(\n        \".tv-photo-gallery\"\n      );\n\n    const lightbox =\n      document.getElementById(\n        \"tvLightbox\"\n      );\n\n    const mainImage =\n      document.getElementById(\n        \"tvMainImage\"\n      );\n\n    const thumbnails =\n      document.getElementById(\n        \"tvThumbnails\"\n      );\n\n    const currentNumber =\n      document.getElementById(\n        \"tvCurrentNumber\"\n      );\n\n    const totalNumber =\n      document.getElementById(\n        \"tvTotalNumber\"\n      );\n\n    const closeButton =\n      document.querySelector(\n        \".tv-lightbox-close\"\n      );\n\n    const prevButton =\n      document.querySelector(\n        \".tv-arrow-prev\"\n      );\n\n    const nextButton =\n      document.querySelector(\n        \".tv-arrow-next\"\n      );\n\n\n    if (\n      !gallery ||\n      !lightbox ||\n      !mainImage\n    ) {\n\n      return;\n\n    }\n\n\n    \/* =================================================\n       KOGU GALERII ORIGINAALPILDID\n\n       NB! Pildi tegeliku aadressi leidmiseks\n       kontrollime k\u00f5igepealt levinumaid\n       lazy-load atribuute (data-src,\n       data-lazy-src jne), sest paljud\n       WordPressi cache\/optimeerimise\n       pistikprogrammid (WP Rocket,\n       LiteSpeed Cache, Autoptimize, Smush jt)\n       asendavad ekraaniv\u00e4listel piltidel\n       src-atribuudi platshoolder-pildiga,\n       kuni pilt j\u00f5uab vaatev\u00e4lja.\n\n       Kuna see galerii on l\u00f5putult liikuv\n       \"marquee\" ja suur osa pilte ei j\u00f5uagi\n       kunagi tegelikult ekraanile enne kliki\n       tegemist, tekkis varasemas versioonis\n       olukord, kus src polnud veel \u00f5ige\n       v\u00e4\u00e4rtusega ja klikk ei leidnud pilti\n       massiivist \u00fcles \u2014 mist\u00f5ttu lightbox\n       m\u00f5ne pildi puhul lihtsalt ei avanenud.\n\n       Lahendus: igale pildile pannakse kohe\n       DOMContentLoaded k\u00e4igus k\u00fclge kindel\n       data-gallery-index, mille j\u00e4rgi klikk\n       hiljem pilti otsib \u2014 s\u00f5ltumata sellest,\n       mis on src atribuudis parasjagu kirjas.\n    ================================================= *\/\n\n    const images = [];\n\n    const seenSources = new Map();\n\n\n    function getRealSrc(img) {\n\n      return (\n        img.dataset.lazySrc ||\n        img.dataset.src ||\n        img.dataset.original ||\n        img.getAttribute(\"src\") ||\n        \"\"\n      );\n\n    }\n\n\n    gallery\n      .querySelectorAll(\n        \".tv-gallery-track img\"\n      )\n      .forEach(\n        function (img) {\n\n          const realSrc =\n            getRealSrc(img);\n\n          if (!realSrc) {\n\n            return;\n\n          }\n\n\n          if (\n            !seenSources.has(\n              realSrc\n            )\n          ) {\n\n            seenSources.set(\n              realSrc,\n              images.length\n            );\n\n            images.push(\n              realSrc\n            );\n\n          }\n\n\n          img.dataset.galleryIndex =\n            seenSources.get(\n              realSrc\n            );\n\n        }\n      );\n\n\n    let currentIndex = 0;\n\n\n    \/* =================================================\n       THUMBNAILID\n    ================================================= *\/\n\n    images.forEach(\n      function (src, index) {\n\n        const thumb =\n          document.createElement(\n            \"img\"\n          );\n\n        thumb.src = src;\n\n        thumb.className =\n          \"tv-thumb\";\n\n        thumb.alt = \"\";\n\n\n        thumb.addEventListener(\n          \"click\",\n          function () {\n\n            showImage(index);\n\n          }\n        );\n\n\n        thumbnails.appendChild(\n          thumb\n        );\n\n      }\n    );\n\n\n    totalNumber.textContent =\n      String(\n        images.length\n      ).padStart(2, \"0\");\n\n\n    \/* =================================================\n       THUMBNAILIDE UUENDAMINE\n    ================================================= *\/\n\n    function updateThumbnails() {\n\n      const thumbs =\n        thumbnails.querySelectorAll(\n          \".tv-thumb\"\n        );\n\n\n      thumbs.forEach(\n        function (\n          thumb,\n          index\n        ) {\n\n          thumb.classList.toggle(\n            \"active\",\n            index === currentIndex\n          );\n\n        }\n      );\n\n\n      const activeThumb =\n        thumbs[currentIndex];\n\n\n      if (activeThumb) {\n\n        activeThumb.scrollIntoView(\n          {\n            behavior: \"smooth\",\n            block: \"nearest\",\n            inline: \"center\"\n          }\n        );\n\n      }\n\n    }\n\n\n    \/* =================================================\n       PILDI N\u00c4ITAMINE\n    ================================================= *\/\n\n    function showImage(index) {\n\n      if (images.length === 0) {\n\n        return;\n\n      }\n\n\n      if (\n        index < 0\n      ) {\n\n        index =\n          images.length - 1;\n\n      }\n\n\n      if (\n        index >= images.length\n      ) {\n\n        index = 0;\n\n      }\n\n\n      currentIndex =\n        index;\n\n\n      mainImage.style.opacity =\n        \"0\";\n\n\n      setTimeout(\n        function () {\n\n          mainImage.src =\n            images[currentIndex];\n\n\n          mainImage.onload =\n            function () {\n\n              mainImage.style.opacity =\n                \"1\";\n\n            };\n\n        },\n        120\n      );\n\n\n      currentNumber.textContent =\n        String(\n          currentIndex + 1\n        ).padStart(\n          2,\n          \"0\"\n        );\n\n\n      updateThumbnails();\n\n    }\n\n\n    \/* =================================================\n       J\u00c4RGMINE\n    ================================================= *\/\n\n    function nextImage() {\n\n      showImage(\n        currentIndex + 1\n      );\n\n    }\n\n\n    \/* =================================================\n       EELMINE\n    ================================================= *\/\n\n    function previousImage() {\n\n      showImage(\n        currentIndex - 1\n      );\n\n    }\n\n\n    \/* =================================================\n       LIGHTBOX AVAMINE\n    ================================================= *\/\n\n    function openLightbox(index) {\n\n      showImage(index);\n\n\n      lightbox.classList.add(\n        \"is-open\"\n      );\n\n\n      document.body.style.overflow =\n        \"hidden\";\n\n\n      gallery\n        .querySelectorAll(\n          \".tv-gallery-track\"\n        )\n        .forEach(\n          function (track) {\n\n            track.style.animationPlayState =\n              \"paused\";\n\n          }\n        );\n\n    }\n\n\n    \/* =================================================\n       LIGHTBOX SULGEMINE\n    ================================================= *\/\n\n    function closeLightbox() {\n\n      lightbox.classList.remove(\n        \"is-open\"\n      );\n\n\n      document.body.style.overflow =\n        \"\";\n\n\n      gallery\n        .querySelectorAll(\n          \".tv-gallery-track\"\n        )\n        .forEach(\n          function (track) {\n\n            track.style.animationPlayState =\n              \"\";\n\n          }\n        );\n\n    }\n\n\n    \/* =================================================\n       GALERII PILTIDE KLIKK\n\n       NB! Otsime pildi enam ei \"src\"\n       atribuudi v\u00e4\u00e4rtuse j\u00e4rgi, vaid\n       varem k\u00fclge pandud\n       data-gallery-index j\u00e4rgi \u2014 see\n       t\u00f6\u00f6tab ka siis, kui lazy-load\n       skript on src ajutiselt asendanud.\n    ================================================= *\/\n\n    gallery\n      .querySelectorAll(\n        \".tv-gallery-track img\"\n      )\n      .forEach(\n        function (img) {\n\n          img.addEventListener(\n            \"click\",\n            function () {\n\n              const indexAttr =\n                img.dataset\n                  .galleryIndex;\n\n\n              if (\n                indexAttr ===\n                undefined\n              ) {\n\n                return;\n\n              }\n\n\n              const index =\n                Number(\n                  indexAttr\n                );\n\n\n              if (\n                !Number.isNaN(\n                  index\n                )\n              ) {\n\n                openLightbox(\n                  index\n                );\n\n              }\n\n            }\n          );\n\n        }\n      );\n\n\n    \/* =================================================\n       NOOLED\n    ================================================= *\/\n\n    prevButton.addEventListener(\n      \"click\",\n      function (event) {\n\n        event.stopPropagation();\n\n        previousImage();\n\n      }\n    );\n\n\n    nextButton.addEventListener(\n      \"click\",\n      function (event) {\n\n        event.stopPropagation();\n\n        nextImage();\n\n      }\n    );\n\n\n    \/* =================================================\n       SULGEMINE\n    ================================================= *\/\n\n    closeButton.addEventListener(\n      \"click\",\n      function () {\n\n        closeLightbox();\n\n      }\n    );\n\n\n    lightbox.addEventListener(\n      \"click\",\n      function (event) {\n\n        if (\n          event.target ===\n          lightbox\n        ) {\n\n          closeLightbox();\n\n        }\n\n      }\n    );\n\n\n    \/* =================================================\n       KLAVIATUUR\n    ================================================= *\/\n\n    document.addEventListener(\n      \"keydown\",\n      function (event) {\n\n        if (\n          !lightbox.classList.contains(\n            \"is-open\"\n          )\n        ) {\n\n          return;\n\n        }\n\n\n        if (\n          event.key ===\n          \"Escape\"\n        ) {\n\n          closeLightbox();\n\n        }\n\n\n        if (\n          event.key ===\n          \"ArrowRight\"\n        ) {\n\n          nextImage();\n\n        }\n\n\n        if (\n          event.key ===\n          \"ArrowLeft\"\n        ) {\n\n          previousImage();\n\n        }\n\n      }\n    );\n\n\n    \/* =================================================\n       MOBIILI SWIPE\n    ================================================= *\/\n\n    let touchStartX = 0;\n\n    let touchEndX = 0;\n\n\n    mainImage.addEventListener(\n      \"touchstart\",\n      function (event) {\n\n        touchStartX =\n          event\n            .changedTouches[0]\n            .screenX;\n\n      },\n      {\n        passive: true\n      }\n    );\n\n\n    mainImage.addEventListener(\n      \"touchend\",\n      function (event) {\n\n        touchEndX =\n          event\n            .changedTouches[0]\n            .screenX;\n\n\n        const difference =\n          touchStartX -\n          touchEndX;\n\n\n        if (\n          Math.abs(\n            difference\n          ) < 50\n        ) {\n\n          return;\n\n        }\n\n\n        if (\n          difference > 0\n        ) {\n\n          nextImage();\n\n        } else {\n\n          previousImage();\n\n        }\n\n      },\n      {\n        passive: true\n      }\n    );\n\n\n    \/* =================================================\n       ESIMENE PILT\n    ================================================= *\/\n\n    if (\n      images.length > 0\n    ) {\n\n      mainImage.src =\n        images[0];\n\n    }\n\n  }\n);\n\n<\/script><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":817,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2949","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/pages\/2949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/comments?post=2949"}],"version-history":[{"count":4,"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/pages\/2949\/revisions"}],"predecessor-version":[{"id":3037,"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/pages\/2949\/revisions\/3037"}],"up":[{"embeddable":true,"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/pages\/817"}],"wp:attachment":[{"href":"https:\/\/tartuvalgus.ee\/en\/wp-json\/wp\/v2\/media?parent=2949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}