{"version":3,"file":"js/3733.main.js","mappings":"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ACA,YACA,YACA,UACA,UACA,WACA,YACA,WACA,SACA,MACA,YACA,WACA,UACA,SACA,aACA,mBACA,mBACA,qBACA,wBACA,uBACA,WACA,sBACA,mBACA,eACA,UACA,UACA,YACA,UACA,gBACA,aACA,eACA,YACA,cACA,UACA,iBACA,eACA,gBACA,sBACA,oBACA,cACA,iBACA,gBACA,eACA,OACA,QACA,SACA,aACA,eACA,YACA,YACA,WACA,eACA,qBACA,mBACA,aACA,YACA,WACA,SACA,aACA,mBACA,QACA,aACA,UACA,cACA,eACA,OACA,KACA,YACA,SACA,OAEIC,EAAkB,CACtB,QACA,cACA,WACA,WACA,SACA,OACA,SACA,aACA,eACA,YACA,YACA,WACA,qBACA,mBACA,aACA,YACA,WACA,SACA,aACA,UACA,cACA,eACA,YACA,QACA,SACA,OAEIC,EAAsB,CAC1B,QACA,cACA,YACA,iBACA,eACA,gBACA,sBACA,oBACA,YACA,iBACA,gBACA,eACA,aACA,eACA,cACA,SACA,qBACA,mBACA,WACA,SACA,aACA,QACA,aACA,UACA,cACA,eACA,OAEIC,EAAqB,CAAC,eAAgB,KAAM,OAAQ,aACpDC,EAA0B,CAAC,SAC3BC,EAAoB,CAAC,SAAU,UAAW,gBAAiB,cAC3DC,EAAqB,CAAC,WAAY,sBAAuB,oBACzDC,EAAW,CACfC,QACE,8/CACFC,MACE,6uBACFC,OACE,4hDACFC,KAAM,28EACNC,QACE,2lFACFC,MAAO,qQACPC,WACE,08GACFC,MACE,oXACFC,MACE,gXACF1F,SACE,mxBACF2F,QACE,8sCACFC,UACE,2YACFC,KAAM,wyGAIR,eAAeC,EAAmBC,GAchC,OAbAA,EAeF,SAAoCA,GAClC,IAAK,IAAIxE,EAAI,EAAGA,EAAIqD,EAAoB5F,OAAQuC,IAAK,CACnD,MAAMyE,EAAOpB,EAAoB,GAAGrD,KACpC,GAAIwE,EAAK,GAAGC,MACV,GAA+B,kBAApBD,EAAK,GAAGC,KAAuB,CACxC,MAAMC,EAAMF,EAAK,GAAGC,KAAQE,WAAWC,OAAOC,eAAi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","sources":["webpack://miun-designlib/./node_modules/timezones-ical-library/dist/mjs/index.js","webpack://miun-designlib/./node_modules/add-to-calendar-button/dist/module/index.js"],"sourcesContent":["/*!\n * @preserve\n *\n * ++++++++++++++++++++++++++++++++++++++\n * Add to Calendar TimeZones iCal Library\n * ++++++++++++++++++++++++++++++++++++++\n *\n * Version: 1.9.1\n * Creator: Jens Kuerschner (https://jenskuerschner.de)\n * Project: https://github.com/add2cal/timezones-ical-library\n * License: Apache-2.0\n *\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst tzlibVersion = '1.9.1';\nconst tzlibZonesDB = {\"Zulu\":[\"Etc/UTC\",0],\"WET\":[\"Europe/Lisbon\",1],\"W-SU\":[\"Europe/Moscow\",2],\"Universal\":[\"Etc/UTC\",0],\"UTC\":[\"Etc/UTC\",0],\"UCT\":[\"Etc/UTC\",0],\"Turkey\":[\"Europe/Istanbul\",3],\"Singapore\":[\"Asia/Singapore\",4],\"ROK\":[\"Asia/Seoul\",5],\"ROC\":[\"Asia/Taipei\",6],\"Portugal\":[\"Europe/Lisbon\",1],\"Poland\":[\"Europe/Warsaw\",7],\"PST8PDT\":[\"America/Los_Angeles\",8],\"PRC\":[\"Asia/Shanghai\",9],\"Navajo\":[\"America/Denver\",10],\"NZ\":[\"Pacific/Auckland\",11],\"NZ-CHAT\":[\"Pacific/Chatham\",12],\"MST7MDT\":[\"America/Denver\",10],\"MST\":[\"America/Phoenix\",13],\"MET\":[\"Europe/Brussels\",14],\"Libya\":[\"Africa/Tripoli\",15],\"Kwajalein\":[\"Pacific/Kwajalein\",16],\"Japan\":[\"Asia/Tokyo\",17],\"Jamaica\":[\"America/Jamaica\",18],\"Israel\":[\"Asia/Jerusalem\",19],\"Iran\":[\"Asia/Tehran\",20],\"Iceland\":[\"Africa/Abidjan\",21],\"Hongkong\":[\"Asia/Hong_Kong\",22],\"HST\":[\"Pacific/Honolulu\",23],\"Greenwich\":[\"Etc/GMT\",24],\"GMT0\":[\"Etc/GMT\",24],\"GMT\":[\"Etc/GMT\",24],\"GMT-0\":[\"Etc/GMT\",24],\"GMT+0\":[\"Etc/GMT\",24],\"GB\":[\"Europe/London\",25],\"GB-Eire\":[\"Europe/London\",25],\"Eire\":[\"Europe/Dublin\",26],\"Egypt\":[\"Africa/Cairo\",27],\"EST5EDT\":[\"America/New_York\",28],\"EST\":[\"America/Panama\",29],\"EET\":[\"Europe/Athens\",30],\"Cuba\":[\"America/Havana\",31],\"CST6CDT\":[\"America/Chicago\",32],\"CET\":[\"Europe/Brussels\",14],\"US\":{\"Samoa\":[\"Pacific/Pago_Pago\",33],\"Pacific\":[\"America/Los_Angeles\",8],\"Mountain\":[\"America/Denver\",10],\"Michigan\":[\"America/Detroit\",34],\"Indiana-Starke\":[\"America/Indiana/Knox\",35],\"Hawaii\":[\"Pacific/Honolulu\",23],\"Eastern\":[\"America/New_York\",28],\"East-Indiana\":[\"America/Indiana/Indianapolis\",36],\"Central\":[\"America/Chicago\",32],\"Arizona\":[\"America/Phoenix\",13],\"Aleutian\":[\"America/Adak\",37],\"Alaska\":[\"America/Anchorage\",38]},\"Pacific\":{\"Yap\":[\"Pacific/Port_Moresby\",39],\"Wallis\":[\"Pacific/Tarawa\",40],\"Wake\":[\"Pacific/Tarawa\",40],\"Truk\":[\"Pacific/Port_Moresby\",39],\"Tongatapu\":[\"\",41],\"Tarawa\":[\"\",40],\"Tahiti\":[\"\",42],\"Samoa\":[\"Pacific/Pago_Pago\",33],\"Saipan\":[\"Pacific/Guam\",43],\"Rarotonga\":[\"\",44],\"Port_Moresby\":[\"\",39],\"Ponape\":[\"Pacific/Guadalcanal\",45],\"Pohnpei\":[\"Pacific/Guadalcanal\",45],\"Pitcairn\":[\"\",46],\"Palau\":[\"\",47],\"Pago_Pago\":[\"\",33],\"Noumea\":[\"\",48],\"Norfolk\":[\"\",49],\"Niue\":[\"\",50],\"Nauru\":[\"\",51],\"Midway\":[\"Pacific/Pago_Pago\",33],\"Marquesas\":[\"\",52],\"Majuro\":[\"Pacific/Tarawa\",40],\"Kwajalein\":[\"\",16],\"Kosrae\":[\"\",53],\"Kiritimati\":[\"\",54],\"Kanton\":[\"\",55],\"Johnston\":[\"Pacific/Honolulu\",23],\"Honolulu\":[\"\",23],\"Guam\":[\"\",43],\"Guadalcanal\":[\"\",45],\"Gambier\":[\"\",56],\"Galapagos\":[\"\",57],\"Funafuti\":[\"Pacific/Tarawa\",40],\"Fiji\":[\"\",58],\"Fakaofo\":[\"\",59],\"Enderbury\":[\"Pacific/Kanton\",55],\"Efate\":[\"\",60],\"Easter\":[\"\",61],\"Chuuk\":[\"Pacific/Port_Moresby\",39],\"Chatham\":[\"\",12],\"Bougainville\":[\"\",62],\"Auckland\":[\"\",11],\"Apia\":[\"\",63]},\"Mexico\":{\"General\":[\"America/Mexico_City\",64],\"BajaSur\":[\"America/Mazatlan\",65],\"BajaNorte\":[\"America/Tijuana\",66]},\"Indian\":{\"Reunion\":[\"Asia/Dubai\",67],\"Mayotte\":[\"Africa/Nairobi\",68],\"Mauritius\":[\"\",69],\"Maldives\":[\"\",70],\"Mahe\":[\"Asia/Dubai\",67],\"Kerguelen\":[\"Indian/Maldives\",70],\"Comoro\":[\"Africa/Nairobi\",68],\"Cocos\":[\"Asia/Yangon\",71],\"Christmas\":[\"Asia/Bangkok\",72],\"Chagos\":[\"\",73],\"Antananarivo\":[\"Africa/Nairobi\",68]},\"Europe\":{\"Zurich\":[\"\",74],\"Zaporozhye\":[\"Europe/Kyiv\",75],\"Zagreb\":[\"Europe/Belgrade\",76],\"Warsaw\":[\"\",7],\"Volgograd\":[\"\",77],\"Vilnius\":[\"\",78],\"Vienna\":[\"\",79],\"Vatican\":[\"Europe/Rome\",80],\"Vaduz\":[\"Europe/Zurich\",74],\"Uzhgorod\":[\"Europe/Kyiv\",75],\"Ulyanovsk\":[\"\",81],\"Tiraspol\":[\"Europe/Chisinau\",82],\"Tirane\":[\"\",83],\"Tallinn\":[\"\",84],\"Stockholm\":[\"Europe/Berlin\",85],\"Sofia\":[\"\",86],\"Skopje\":[\"Europe/Belgrade\",76],\"Simferopol\":[\"\",87],\"Saratov\":[\"\",88],\"Sarajevo\":[\"Europe/Belgrade\",76],\"San_Marino\":[\"Europe/Rome\",80],\"Samara\":[\"\",89],\"Rome\":[\"\",80],\"Riga\":[\"\",90],\"Prague\":[\"\",91],\"Podgorica\":[\"Europe/Belgrade\",76],\"Paris\":[\"\",92],\"Oslo\":[\"Europe/Berlin\",85],\"Nicosia\":[\"Asia/Nicosia\",93],\"Moscow\":[\"\",2],\"Monaco\":[\"Europe/Paris\",92],\"Minsk\":[\"\",94],\"Mariehamn\":[\"Europe/Helsinki\",95],\"Malta\":[\"\",96],\"Madrid\":[\"\",97],\"Luxembourg\":[\"Europe/Brussels\",14],\"London\":[\"\",25],\"Ljubljana\":[\"Europe/Belgrade\",76],\"Lisbon\":[\"\",1],\"Kyiv\":[\"\",75],\"Kirov\":[\"\",98],\"Kiev\":[\"Europe/Kyiv\",75],\"Kaliningrad\":[\"\",99],\"Jersey\":[\"Europe/London\",25],\"Istanbul\":[\"\",3],\"Isle_of_Man\":[\"Europe/London\",25],\"Helsinki\":[\"\",95],\"Guernsey\":[\"Europe/London\",25],\"Gibraltar\":[\"\",100],\"Dublin\":[\"\",26],\"Copenhagen\":[\"Europe/Berlin\",85],\"Chisinau\":[\"\",82],\"Busingen\":[\"Europe/Zurich\",74],\"Budapest\":[\"\",101],\"Bucharest\":[\"\",102],\"Brussels\":[\"\",14],\"Bratislava\":[\"Europe/Prague\",91],\"Berlin\":[\"\",85],\"Belgrade\":[\"\",76],\"Belfast\":[\"Europe/London\",25],\"Athens\":[\"\",30],\"Astrakhan\":[\"\",103],\"Andorra\":[\"\",104],\"Amsterdam\":[\"Europe/Brussels\",14]},\"Etc\":{\"Zulu\":[\"Etc/UTC\",0],\"Universal\":[\"Etc/UTC\",0],\"UTC\":[\"\",0],\"UCT\":[\"Etc/UTC\",0],\"Greenwich\":[\"Etc/GMT\",24],\"GMT0\":[\"Etc/GMT\",24],\"GMT\":[\"\",24],\"GMT-9\":[\"\",105],\"GMT-8\":[\"\",106],\"GMT-7\":[\"\",107],\"GMT-6\":[\"\",108],\"GMT-5\":[\"\",109],\"GMT-4\":[\"\",110],\"GMT-3\":[\"\",111],\"GMT-2\":[\"\",112],\"GMT-14\":[\"\",113],\"GMT-13\":[\"\",114],\"GMT-12\":[\"\",115],\"GMT-11\":[\"\",116],\"GMT-10\":[\"\",117],\"GMT-1\":[\"\",118],\"GMT-0\":[\"Etc/GMT\",24],\"GMT+9\":[\"\",119],\"GMT+8\":[\"\",120],\"GMT+7\":[\"\",121],\"GMT+6\":[\"\",122],\"GMT+5\":[\"\",123],\"GMT+4\":[\"\",124],\"GMT+3\":[\"\",125],\"GMT+2\":[\"\",126],\"GMT+12\":[\"\",127],\"GMT+11\":[\"\",128],\"GMT+10\":[\"\",129],\"GMT+1\":[\"\",130],\"GMT+0\":[\"Etc/GMT\",24]},\"Chile\":{\"EasterIsland\":[\"Pacific/Easter\",61],\"Continental\":[\"America/Santiago\",131]},\"Canada\":{\"Yukon\":[\"America/Whitehorse\",132],\"Saskatchewan\":[\"America/Regina\",133],\"Pacific\":[\"America/Vancouver\",134],\"Newfoundland\":[\"America/St_Johns\",135],\"Mountain\":[\"America/Edmonton\",136],\"Eastern\":[\"America/Toronto\",137],\"Central\":[\"America/Winnipeg\",138],\"Atlantic\":[\"America/Halifax\",139]},\"Brazil\":{\"West\":[\"America/Manaus\",140],\"East\":[\"America/Sao_Paulo\",141],\"DeNoronha\":[\"America/Noronha\",142],\"Acre\":[\"America/Rio_Branco\",143]},\"Australia\":{\"Yancowinna\":[\"Australia/Broken_Hill\",144],\"West\":[\"Australia/Perth\",145],\"Victoria\":[\"Australia/Melbourne\",146],\"Tasmania\":[\"Australia/Hobart\",147],\"Sydney\":[\"\",148],\"South\":[\"Australia/Adelaide\",149],\"Queensland\":[\"Australia/Brisbane\",150],\"Perth\":[\"\",145],\"North\":[\"Australia/Darwin\",151],\"NSW\":[\"Australia/Sydney\",148],\"Melbourne\":[\"\",146],\"Lord_Howe\":[\"\",152],\"Lindeman\":[\"\",153],\"LHI\":[\"Australia/Lord_Howe\",152],\"Hobart\":[\"\",147],\"Eucla\":[\"\",154],\"Darwin\":[\"\",151],\"Currie\":[\"Australia/Hobart\",147],\"Canberra\":[\"Australia/Sydney\",148],\"Broken_Hill\":[\"\",144],\"Brisbane\":[\"\",150],\"Adelaide\":[\"\",149],\"ACT\":[\"Australia/Sydney\",148]},\"Atlantic\":{\"Stanley\":[\"\",155],\"St_Helena\":[\"Africa/Abidjan\",21],\"South_Georgia\":[\"\",156],\"Reykjavik\":[\"Africa/Abidjan\",21],\"Madeira\":[\"\",157],\"Jan_Mayen\":[\"Europe/Berlin\",85],\"Faroe\":[\"\",158],\"Faeroe\":[\"Atlantic/Faroe\",158],\"Cape_Verde\":[\"\",159],\"Canary\":[\"\",160],\"Bermuda\":[\"\",161],\"Azores\":[\"\",162]},\"Asia\":{\"Yerevan\":[\"\",163],\"Yekaterinburg\":[\"\",164],\"Yangon\":[\"\",71],\"Yakutsk\":[\"\",165],\"Vladivostok\":[\"\",166],\"Vientiane\":[\"Asia/Bangkok\",72],\"Ust-Nera\":[\"\",167],\"Urumqi\":[\"\",168],\"Ulan_Bator\":[\"Asia/Ulaanbaatar\",169],\"Ulaanbaatar\":[\"\",169],\"Ujung_Pandang\":[\"Asia/Makassar\",170],\"Tomsk\":[\"\",171],\"Tokyo\":[\"\",17],\"Thimphu\":[\"\",172],\"Thimbu\":[\"Asia/Thimphu\",172],\"Tel_Aviv\":[\"Asia/Jerusalem\",19],\"Tehran\":[\"\",20],\"Tbilisi\":[\"\",173],\"Tashkent\":[\"\",174],\"Taipei\":[\"\",6],\"Srednekolymsk\":[\"\",175],\"Singapore\":[\"\",4],\"Shanghai\":[\"\",9],\"Seoul\":[\"\",5],\"Samarkand\":[\"\",176],\"Sakhalin\":[\"\",177],\"Saigon\":[\"Asia/Ho_Chi_Minh\",178],\"Riyadh\":[\"\",179],\"Rangoon\":[\"Asia/Yangon\",71],\"Qyzylorda\":[\"\",180],\"Qostanay\":[\"\",181],\"Qatar\":[\"\",182],\"Pyongyang\":[\"\",183],\"Pontianak\":[\"\",184],\"Phnom_Penh\":[\"Asia/Bangkok\",72],\"Oral\":[\"\",185],\"Omsk\":[\"\",186],\"Novosibirsk\":[\"\",187],\"Novokuznetsk\":[\"\",188],\"Nicosia\":[\"\",93],\"Muscat\":[\"Asia/Dubai\",67],\"Manila\":[\"\",189],\"Makassar\":[\"\",170],\"Magadan\":[\"\",190],\"Macau\":[\"\",191],\"Macao\":[\"Asia/Macau\",191],\"Kuwait\":[\"Asia/Riyadh\",179],\"Kuching\":[\"\",192],\"Kuala_Lumpur\":[\"Asia/Singapore\",4],\"Krasnoyarsk\":[\"\",193],\"Kolkata\":[\"\",194],\"Khandyga\":[\"\",195],\"Katmandu\":[\"Asia/Kathmandu\",196],\"Kathmandu\":[\"\",196],\"Kashgar\":[\"Asia/Urumqi\",168],\"Karachi\":[\"\",197],\"Kamchatka\":[\"\",198],\"Kabul\":[\"\",199],\"Jerusalem\":[\"\",19],\"Jayapura\":[\"\",200],\"Jakarta\":[\"\",201],\"Istanbul\":[\"Europe/Istanbul\",3],\"Irkutsk\":[\"\",202],\"Hovd\":[\"\",203],\"Hong_Kong\":[\"\",22],\"Ho_Chi_Minh\":[\"\",178],\"Hebron\":[\"\",204],\"Harbin\":[\"Asia/Shanghai\",9],\"Gaza\":[\"\",205],\"Famagusta\":[\"\",206],\"Dushanbe\":[\"\",207],\"Dubai\":[\"\",67],\"Dili\":[\"\",208],\"Dhaka\":[\"\",209],\"Damascus\":[\"\",210],\"Dacca\":[\"Asia/Dhaka\",209],\"Colombo\":[\"\",211],\"Chungking\":[\"Asia/Shanghai\",9],\"Chongqing\":[\"Asia/Shanghai\",9],\"Choibalsan\":[\"Asia/Ulaanbaatar\",169],\"Chita\":[\"\",212],\"Calcutta\":[\"Asia/Kolkata\",194],\"Brunei\":[\"Asia/Kuching\",192],\"Bishkek\":[\"\",213],\"Beirut\":[\"\",214],\"Barnaul\":[\"\",215],\"Bangkok\":[\"\",72],\"Baku\":[\"\",216],\"Bahrain\":[\"Asia/Qatar\",182],\"Baghdad\":[\"\",217],\"Atyrau\":[\"\",218],\"Ashkhabad\":[\"Asia/Ashgabat\",219],\"Ashgabat\":[\"\",219],\"Aqtobe\":[\"\",220],\"Aqtau\":[\"\",221],\"Anadyr\":[\"\",222],\"Amman\":[\"\",223],\"Almaty\":[\"\",224],\"Aden\":[\"Asia/Riyadh\",179]},\"Arctic\":{\"Longyearbyen\":[\"Europe/Berlin\",85]},\"Antarctica\":{\"Vostok\":[\"\",225],\"Troll\":[\"\",226],\"Syowa\":[\"Asia/Riyadh\",179],\"South_Pole\":[\"Pacific/Auckland\",11],\"Rothera\":[\"\",227],\"Palmer\":[\"\",228],\"McMurdo\":[\"Pacific/Auckland\",11],\"Mawson\":[\"\",229],\"Macquarie\":[\"\",230],\"DumontDUrville\":[\"Pacific/Port_Moresby\",39],\"Davis\":[\"\",231],\"Casey\":[\"\",232]},\"America\":{\"Yellowknife\":[\"America/Edmonton\",136],\"Yakutat\":[\"\",233],\"Winnipeg\":[\"\",138],\"Whitehorse\":[\"\",132],\"Virgin\":[\"America/Puerto_Rico\",234],\"Vancouver\":[\"\",134],\"Tortola\":[\"America/Puerto_Rico\",234],\"Toronto\":[\"\",137],\"Tijuana\":[\"\",66],\"Thunder_Bay\":[\"America/Toronto\",137],\"Thule\":[\"\",235],\"Tegucigalpa\":[\"\",236],\"Swift_Current\":[\"\",237],\"St_Vincent\":[\"America/Puerto_Rico\",234],\"St_Thomas\":[\"America/Puerto_Rico\",234],\"St_Lucia\":[\"America/Puerto_Rico\",234],\"St_Kitts\":[\"America/Puerto_Rico\",234],\"St_Johns\":[\"\",135],\"St_Barthelemy\":[\"America/Puerto_Rico\",234],\"Sitka\":[\"\",238],\"Shiprock\":[\"America/Denver\",10],\"Scoresbysund\":[\"\",239],\"Sao_Paulo\":[\"\",141],\"Santo_Domingo\":[\"\",240],\"Santiago\":[\"\",131],\"Santarem\":[\"\",241],\"Santa_Isabel\":[\"America/Tijuana\",66],\"Rosario\":[\"America/Argentina/Cordoba\",242],\"Rio_Branco\":[\"\",143],\"Resolute\":[\"\",243],\"Regina\":[\"\",133],\"Recife\":[\"\",244],\"Rankin_Inlet\":[\"\",245],\"Rainy_River\":[\"America/Winnipeg\",138],\"Punta_Arenas\":[\"\",246],\"Puerto_Rico\":[\"\",234],\"Porto_Velho\":[\"\",247],\"Porto_Acre\":[\"America/Rio_Branco\",143],\"Port_of_Spain\":[\"America/Puerto_Rico\",234],\"Port-au-Prince\":[\"\",248],\"Phoenix\":[\"\",13],\"Paramaribo\":[\"\",249],\"Pangnirtung\":[\"America/Iqaluit\",250],\"Panama\":[\"\",29],\"Ojinaga\":[\"\",251],\"Nuuk\":[\"\",252],\"Noronha\":[\"\",142],\"Nome\":[\"\",253],\"Nipigon\":[\"America/Toronto\",137],\"New_York\":[\"\",28],\"Nassau\":[\"America/Toronto\",137],\"Montserrat\":[\"America/Puerto_Rico\",234],\"Montreal\":[\"America/Toronto\",137],\"Montevideo\":[\"\",254],\"Monterrey\":[\"\",255],\"Moncton\":[\"\",256],\"Miquelon\":[\"\",257],\"Mexico_City\":[\"\",64],\"Metlakatla\":[\"\",258],\"Merida\":[\"\",259],\"Menominee\":[\"\",260],\"Mendoza\":[\"America/Argentina/Mendoza\",261],\"Mazatlan\":[\"\",65],\"Matamoros\":[\"\",262],\"Martinique\":[\"\",263],\"Marigot\":[\"America/Puerto_Rico\",234],\"Manaus\":[\"\",140],\"Managua\":[\"\",264],\"Maceio\":[\"\",265],\"Lower_Princes\":[\"America/Puerto_Rico\",234],\"Louisville\":[\"America/Kentucky/Louisville\",266],\"Los_Angeles\":[\"\",8],\"Lima\":[\"\",267],\"La_Paz\":[\"\",268],\"Kralendijk\":[\"America/Puerto_Rico\",234],\"Knox_IN\":[\"America/Indiana/Knox\",35],\"Juneau\":[\"\",269],\"Jujuy\":[\"America/Argentina/Jujuy\",270],\"Jamaica\":[\"\",18],\"Iqaluit\":[\"\",250],\"Inuvik\":[\"\",271],\"Indianapolis\":[\"America/Indiana/Indianapolis\",36],\"Hermosillo\":[\"\",272],\"Havana\":[\"\",31],\"Halifax\":[\"\",139],\"Guyana\":[\"\",273],\"Guayaquil\":[\"\",274],\"Guatemala\":[\"\",275],\"Guadeloupe\":[\"America/Puerto_Rico\",234],\"Grenada\":[\"America/Puerto_Rico\",234],\"Grand_Turk\":[\"\",276],\"Goose_Bay\":[\"\",277],\"Godthab\":[\"America/Nuuk\",252],\"Glace_Bay\":[\"\",278],\"Fortaleza\":[\"\",279],\"Fort_Wayne\":[\"America/Indiana/Indianapolis\",36],\"Fort_Nelson\":[\"\",280],\"Ensenada\":[\"America/Tijuana\",66],\"El_Salvador\":[\"\",281],\"Eirunepe\":[\"\",282],\"Edmonton\":[\"\",136],\"Dominica\":[\"America/Puerto_Rico\",234],\"Detroit\":[\"\",34],\"Denver\":[\"\",10],\"Dawson_Creek\":[\"\",283],\"Dawson\":[\"\",284],\"Danmarkshavn\":[\"\",285],\"Curacao\":[\"America/Puerto_Rico\",234],\"Cuiaba\":[\"\",286],\"Creston\":[\"America/Phoenix\",13],\"Costa_Rica\":[\"\",287],\"Cordoba\":[\"America/Argentina/Cordoba\",242],\"Coral_Harbour\":[\"America/Panama\",29],\"Ciudad_Juarez\":[\"\",288],\"Chihuahua\":[\"\",289],\"Chicago\":[\"\",32],\"Cayman\":[\"America/Panama\",29],\"Cayenne\":[\"\",290],\"Catamarca\":[\"America/Argentina/Catamarca\",291],\"Caracas\":[\"\",292],\"Cancun\":[\"\",293],\"Campo_Grande\":[\"\",294],\"Cambridge_Bay\":[\"\",295],\"Buenos_Aires\":[\"America/Argentina/Buenos_Aires\",296],\"Boise\":[\"\",297],\"Bogota\":[\"\",298],\"Boa_Vista\":[\"\",299],\"Blanc-Sablon\":[\"America/Puerto_Rico\",234],\"Belize\":[\"\",300],\"Belem\":[\"\",301],\"Barbados\":[\"\",302],\"Bahia_Banderas\":[\"\",303],\"Bahia\":[\"\",304],\"Atka\":[\"America/Adak\",37],\"Atikokan\":[\"America/Panama\",29],\"Asuncion\":[\"\",305],\"Aruba\":[\"America/Puerto_Rico\",234],\"Araguaina\":[\"\",306],\"Antigua\":[\"America/Puerto_Rico\",234],\"Anguilla\":[\"America/Puerto_Rico\",234],\"Anchorage\":[\"\",38],\"Adak\":[\"\",37],\"North_Dakota\":{\"New_Salem\":[\"\",307],\"Center\":[\"\",308],\"Beulah\":[\"\",309]},\"Kentucky\":{\"Monticello\":[\"\",310],\"Louisville\":[\"\",266]},\"Indiana\":{\"Winamac\":[\"\",311],\"Vincennes\":[\"\",312],\"Vevay\":[\"\",313],\"Tell_City\":[\"\",314],\"Petersburg\":[\"\",315],\"Marengo\":[\"\",316],\"Knox\":[\"\",35],\"Indianapolis\":[\"\",36]},\"Argentina\":{\"Ushuaia\":[\"\",317],\"Tucuman\":[\"\",318],\"San_Luis\":[\"\",319],\"San_Juan\":[\"\",320],\"Salta\":[\"\",321],\"Rio_Gallegos\":[\"\",322],\"Mendoza\":[\"\",261],\"La_Rioja\":[\"\",323],\"Jujuy\":[\"\",270],\"Cordoba\":[\"\",242],\"ComodRivadavia\":[\"America/Argentina/Catamarca\",291],\"Catamarca\":[\"\",291],\"Buenos_Aires\":[\"\",296]}},\"Africa\":{\"Windhoek\":[\"\",324],\"Tunis\":[\"\",325],\"Tripoli\":[\"\",15],\"Timbuktu\":[\"Africa/Abidjan\",21],\"Sao_Tome\":[\"\",326],\"Porto-Novo\":[\"Africa/Lagos\",327],\"Ouagadougou\":[\"Africa/Abidjan\",21],\"Nouakchott\":[\"Africa/Abidjan\",21],\"Niamey\":[\"Africa/Lagos\",327],\"Ndjamena\":[\"\",328],\"Nairobi\":[\"\",68],\"Monrovia\":[\"\",329],\"Mogadishu\":[\"Africa/Nairobi\",68],\"Mbabane\":[\"Africa/Johannesburg\",330],\"Maseru\":[\"Africa/Johannesburg\",330],\"Maputo\":[\"\",331],\"Malabo\":[\"Africa/Lagos\",327],\"Lusaka\":[\"Africa/Maputo\",331],\"Lubumbashi\":[\"Africa/Maputo\",331],\"Luanda\":[\"Africa/Lagos\",327],\"Lome\":[\"Africa/Abidjan\",21],\"Libreville\":[\"Africa/Lagos\",327],\"Lagos\":[\"\",327],\"Kinshasa\":[\"Africa/Lagos\",327],\"Kigali\":[\"Africa/Maputo\",331],\"Khartoum\":[\"\",332],\"Kampala\":[\"Africa/Nairobi\",68],\"Juba\":[\"\",333],\"Johannesburg\":[\"\",330],\"Harare\":[\"Africa/Maputo\",331],\"Gaborone\":[\"Africa/Maputo\",331],\"Freetown\":[\"Africa/Abidjan\",21],\"El_Aaiun\":[\"\",334],\"Douala\":[\"Africa/Lagos\",327],\"Djibouti\":[\"Africa/Nairobi\",68],\"Dar_es_Salaam\":[\"Africa/Nairobi\",68],\"Dakar\":[\"Africa/Abidjan\",21],\"Conakry\":[\"Africa/Abidjan\",21],\"Ceuta\":[\"\",335],\"Casablanca\":[\"\",336],\"Cairo\":[\"\",27],\"Bujumbura\":[\"Africa/Maputo\",331],\"Brazzaville\":[\"Africa/Lagos\",327],\"Blantyre\":[\"Africa/Maputo\",331],\"Bissau\":[\"\",337],\"Banjul\":[\"Africa/Abidjan\",21],\"Bangui\":[\"Africa/Lagos\",327],\"Bamako\":[\"Africa/Abidjan\",21],\"Asmera\":[\"Africa/Nairobi\",68],\"Asmara\":[\"Africa/Nairobi\",68],\"Algiers\":[\"\",338],\"Addis_Ababa\":[\"Africa/Nairobi\",68],\"Accra\":[\"Africa/Abidjan\",21],\"Abidjan\":[\"\",21]}};\nconst tzlibZonesDetailsDB = [\"20250101T220159ZX-LIC-LOCATION:Etc/UTCUTC+0000+000019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/LisbonWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/MoscowMSK+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/Istanbul%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Singapore%z+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/SeoulKST+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/TaipeiCST+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/WarsawCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Los_AngelesPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Asia/ShanghaiCST+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/DenverMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Pacific/AucklandNZDT+1200+130019700927T020000FREQ=YEARLY;BYMONTH=9;BYDAY=-1SUNZST+1300+120019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Chatham%z+1245+134519700927T024500FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU%z+1345+124519700405T034500FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/PhoenixMST-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/BrusselsCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Africa/TripoliEET+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Kwajalein%z+1200+120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/TokyoJST+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/JamaicaEST-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/JerusalemIDT+0200+030019700327T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1FRIST+0300+020019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Asia/Tehran%z+0330+033019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/AbidjanGMT+0000+000019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Hong_KongHKT+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/HonoluluHST-1000-100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMTGMT+0000+000019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/LondonBST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUGMT+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/DublinIST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUGMT+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Africa/CairoEEST+0200+030019700424T000000FREQ=YEARLY;BYMONTH=4;BYDAY=-1FREET+0300+020019701030T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\",\"20250101T220159ZX-LIC-LOCATION:America/New_YorkEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/PanamaEST-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/AthensEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:America/HavanaCST-0400-050019701101T010000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUCDT-0500-040019700308T000000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\",\"20250101T220159ZX-LIC-LOCATION:America/ChicagoCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Pago_PagoSST-1100-110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/DetroitEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/KnoxCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/IndianapolisEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/AdakHDT-1000-090019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUHST-0900-100019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/AnchorageAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Port_Moresby%z+1000+100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Tarawa%z+1200+120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Tongatapu%z+1300+130019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Tahiti%z-1000-100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/GuamChST+1000+100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Rarotonga%z-1000-100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Guadalcanal%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Pitcairn%z-0800-080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Palau%z+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Noumea%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Norfolk%z+1100+120019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU%z+1200+110019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Niue%z-1100-110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Nauru%z+1200+120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Marquesas%z-0930-093019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Kosrae%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Kiritimati%z+1400+140019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Kanton%z+1300+130019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Gambier%z-0900-090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Galapagos%z-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Fiji%z+1200+120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Fakaofo%z+1300+130019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Efate%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Easter%z-0500-060019700404T220000FREQ=YEARLY;BYMONTH=4;BYDAY=1SA%z-0600-050019700905T220000FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Bougainville%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Pacific/Apia%z+1300+130019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Mexico_CityCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/MazatlanMST-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/TijuanaPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Asia/Dubai%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/NairobiEAT+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Indian/Mauritius%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Indian/Maldives%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Yangon%z+0630+063019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Bangkok%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Indian/Chagos%z+0600+060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/ZurichCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/KyivEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/BelgradeCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/VolgogradMSK+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/VilniusEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/ViennaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/RomeCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/Ulyanovsk%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/ChisinauEEST+0200+030019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/TiraneCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/TallinnEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/BerlinCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/SofiaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/SimferopolMSK+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/Saratov%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/Samara%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/RigaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/PragueCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/ParisCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Asia/NicosiaEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SUEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/Minsk%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/HelsinkiEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/MaltaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/MadridCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/KirovMSK+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/KaliningradEET+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/GibraltarCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/BudapestCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/BucharestEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Europe/Astrakhan%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Europe/AndorraCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-9%z+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-8%z+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-7%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-6%z+0600+060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-5%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-4%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-3%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-2%z+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-14%z+1400+140019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-13%z+1300+130019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-12%z+1200+120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-11%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-10%z+1000+100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT-1%z+0100+010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+9%z-0900-090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+8%z-0800-080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+7%z-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+6%z-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+5%z-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+4%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+3%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+2%z-0200-020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+12%z-1200-120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+11%z-1100-110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+10%z-1000-100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Etc/GMT+1%z-0100-010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Santiago%z-0300-040019700405T000000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU%z-0400-030019700906T000000FREQ=YEARLY;BYMONTH=9;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/WhitehorseMST-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/ReginaCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/VancouverPDT-0800-070019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUPST-0700-080019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/St_JohnsNST-0230-033019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUNDT-0330-023019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\",\"20250101T220159ZX-LIC-LOCATION:America/EdmontonMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/TorontoEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/WinnipegCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/HalifaxADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Manaus%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Sao_Paulo%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Noronha%z-0200-020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Rio_Branco%z-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Australia/Broken_HillACST+1030+093019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUACDT+0930+103019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Australia/PerthAWST+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Australia/MelbourneAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Australia/HobartAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SUAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Australia/SydneyAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Australia/AdelaideACST+1030+093019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUACDT+0930+103019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Australia/BrisbaneAEST+1000+100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Australia/DarwinACST+0930+093019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Australia/Lord_Howe%z+1100+103019700405T020000FREQ=YEARLY;BYMONTH=4;BYDAY=1SU%z+1030+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Australia/LindemanAEST+1000+100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Australia/Eucla%z+0845+084519700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/Stanley%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/South_Georgia%z-0200-020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/MadeiraWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/FaroeWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/Cape_Verde%z-0100-010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/CanaryWEST+0000+010019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUWET+0100+000019701025T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/BermudaADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Atlantic/Azores%z-0100+000019700329T000000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU%z+0000-010019701025T010000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Asia/Yerevan%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Yekaterinburg%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Yakutsk%z+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Vladivostok%z+1000+100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Ust-Nera%z+1000+100019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Urumqi%z+0600+060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Ulaanbaatar%z+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/MakassarWITA+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Tomsk%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Thimphu%z+0600+060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Tbilisi%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Tashkent%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Srednekolymsk%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Samarkand%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Sakhalin%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Ho_Chi_Minh%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Riyadh%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Qyzylorda%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Qostanay%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Qatar%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/PyongyangKST+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/PontianakWIB+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Oral%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Omsk%z+0600+060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Novosibirsk%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Novokuznetsk%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/ManilaPST+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Magadan%z+1100+110019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/MacauCST+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Kuching%z+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Krasnoyarsk%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/KolkataIST+0530+053019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Khandyga%z+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Kathmandu%z+0545+054519700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/KarachiPKT+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Kamchatka%z+1200+120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Kabul%z+0430+043019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/JayapuraWIT+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/JakartaWIB+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Irkutsk%z+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Hovd%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/HebronEEST+0200+030019700328T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SAEET+0300+020019701024T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\",\"20250101T220159ZX-LIC-LOCATION:Asia/GazaEEST+0200+030019700328T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SAEET+0300+020019701024T020000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\",\"20250101T220159ZX-LIC-LOCATION:Asia/FamagustaEEST+0200+030019700329T030000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T040000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Asia/Dushanbe%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Dili%z+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Dhaka%z+0600+060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Damascus%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Colombo%z+0530+053019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Chita%z+0900+090019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Bishkek%z+0600+060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/BeirutEEST+0200+030019700329T000000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUEET+0300+020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Asia/Barnaul%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Baku%z+0400+040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Baghdad%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Atyrau%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Ashgabat%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Aqtobe%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Aqtau%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Anadyr%z+1200+120019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Amman%z+0300+030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Asia/Almaty%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/Vostok%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/Troll+02+0000+020019700329T010000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU+00+0200+000019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/Rothera%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/Palmer%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/Mawson%z+0500+050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/MacquarieAEST+1100+100019700405T030000FREQ=YEARLY;BYMONTH=4;BYDAY=1SUAEDT+1000+110019701004T020000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/Davis%z+0700+070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Antarctica/Casey%z+0800+080019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/YakutatAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Puerto_RicoAST-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/ThuleADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/TegucigalpaCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Swift_CurrentCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/SitkaAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Scoresbysund%z-0100-020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU%z-0200-010019700328T230000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\",\"20250101T220159ZX-LIC-LOCATION:America/Santo_DomingoAST-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Santarem%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Cordoba%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/ResoluteCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\",\"20250101T220159ZX-LIC-LOCATION:America/Recife%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Rankin_InletCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Punta_Arenas%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Porto_Velho%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Port-au-PrinceEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Paramaribo%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/IqaluitEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/OjinagaCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Nuuk%z-0200-010019700328T230000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA%z-0100-020019701025T000000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:America/NomeAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Montevideo%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/MonterreyCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/MonctonADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Miquelon%z-0300-020019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU%z-0200-030019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/MetlakatlaAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/MeridaCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/MenomineeCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Mendoza%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/MatamorosCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/MartiniqueAST-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/ManaguaCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Maceio%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Kentucky/LouisvilleEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Lima%z-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/La_Paz%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/JuneauAKDT-0900-080019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAKST-0800-090019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Jujuy%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/InuvikMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/HermosilloMST-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Guyana%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Guayaquil%z-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/GuatemalaCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Grand_TurkEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\",\"20250101T220159ZX-LIC-LOCATION:America/Goose_BayAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\",\"20250101T220159ZX-LIC-LOCATION:America/Glace_BayADT-0400-030019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUAST-0300-040019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Fortaleza%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Fort_NelsonMST-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/El_SalvadorCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Eirunepe%z-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Dawson_CreekMST-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/DawsonMST-0700-070019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/DanmarkshavnGMT+0000+000019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Cuiaba%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Costa_RicaCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Ciudad_JuarezMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/ChihuahuaCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Cayenne%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Catamarca%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Caracas%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/CancunEST-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Campo_Grande%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Cambridge_BayMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Buenos_Aires%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/BoiseMDT-0700-060019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUMST-0600-070019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Bogota%z-0500-050019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Boa_Vista%z-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/BelizeCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Belem%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/BarbadosAST-0400-040019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Bahia_BanderasCST-0600-060019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Bahia%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Asuncion%z-0400-030019701004T000000FREQ=YEARLY;BYMONTH=10;BYDAY=1SU%z-0300-040019700322T000000FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\",\"20250101T220159ZX-LIC-LOCATION:America/Araguaina%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/North_Dakota/New_SalemCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/North_Dakota/CenterCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/North_Dakota/BeulahCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Kentucky/MonticelloEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/WinamacEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SUEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/VincennesEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/VevayEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/Tell_CityCDT-0600-050019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUCST-0500-060019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/PetersburgEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Indiana/MarengoEDT-0500-040019700308T020000FREQ=YEARLY;BYMONTH=3;BYDAY=2SUEST-0400-050019701101T020000FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Ushuaia%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Tucuman%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/San_Luis%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/San_Juan%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Salta%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/Rio_Gallegos%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:America/Argentina/La_Rioja%z-0300-030019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/WindhoekCAT+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/TunisCET+0100+010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/Sao_TomeGMT+0000+000019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/LagosWAT+0100+010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/NdjamenaWAT+0100+010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/MonroviaGMT+0000+000019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/JohannesburgSAST+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/MaputoCAT+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/KhartoumCAT+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/JubaCAT+0200+020019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/El_Aaiun%z+0100+010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/CeutaCEST+0100+020019700329T020000FREQ=YEARLY;BYMONTH=3;BYDAY=-1SUCET+0200+010019701025T030000FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\",\"20250101T220159ZX-LIC-LOCATION:Africa/Casablanca%z+0100+010019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/BissauGMT+0000+000019700101T000000\",\"20250101T220159ZX-LIC-LOCATION:Africa/AlgiersCET+0100+010019700101T000000\"];\nfunction tzlib_get_content(tzName) {\n const nameParts = tzName.split('/');\n if (\n (nameParts.length === 3 &&\n (!tzlibZonesDB[`${nameParts[0]}`] ||\n !tzlibZonesDB[`${nameParts[0]}`][`${nameParts[1]}`] ||\n !tzlibZonesDB[`${nameParts[0]}`][`${nameParts[1]}`][`${nameParts[2]}`])) ||\n (nameParts.length === 2 &&\n (!tzlibZonesDB[`${nameParts[0]}`] || !tzlibZonesDB[`${nameParts[0]}`][`${nameParts[1]}`])) ||\n (nameParts.length === 1 && !tzlibZonesDB[`${nameParts[0]}`])\n ) {\n console.error('Given timezone not valid.');\n return '';\n }\n if (nameParts.length === 3) {\n return [\n tzlibZonesDB[`${nameParts[0]}`][`${nameParts[1]}`][`${nameParts[2]}`][0],\n tzlib_enrich_data(\n tzlibZonesDetailsDB[tzlibZonesDB[`${nameParts[0]}`][`${nameParts[1]}`][`${nameParts[2]}`][1]],\n ),\n ];\n }\n if (nameParts.length === 2) {\n return [\n tzlibZonesDB[`${nameParts[0]}`][`${nameParts[1]}`][0],\n tzlib_enrich_data(tzlibZonesDetailsDB[tzlibZonesDB[`${nameParts[0]}`][`${nameParts[1]}`][1]]),\n ];\n }\n return [\n tzlibZonesDB[`${nameParts[0]}`][0],\n tzlib_enrich_data(tzlibZonesDetailsDB[tzlibZonesDB[`${nameParts[0]}`][1]]),\n ];\n}\nfunction tzlib_enrich_data(string) {\n const shortenerMap = {\n '
': '',\n 'TZNAME:': '',\n 'TZOFFSETFROM:': '',\n 'TZOFFSETTO:': '',\n 'DTSTART:': '',\n 'RRULE:': '',\n 'BEGIN:DAYLIGHT': '',\n 'END:DAYLIGHT': '',\n 'BEGIN:STANDARD': '',\n 'END:STANDARD': '',\n };\n for (const [key, value] of Object.entries(shortenerMap)) {\n string = string.replaceAll(value, key);\n }\n return string;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction tzlib_get_ical_block(tzName, jsonType = false) {\n const tzBlock = tzlib_get_content(tzName);\n if (tzBlock[1] == null || tzBlock[1] == '') {\n return '';\n }\n const location = (function () {\n if (tzBlock[0] == '') {\n return tzName;\n } else {\n return tzBlock[0];\n }\n })();\n const tzidLine = 'TZID=' + location;\n const output = [\n 'BEGIN:VTIMEZONE\\r\\nTZID:' +\n location +\n '\\r\\nX-LIC-LOCATION:' +\n location +\n '\\r\\nLAST-MODIFIED:' +\n tzBlock[1].replace(/[^\\w_\\-:,;=+/
]/g, '').replace(/
/g, '\\r\\n') +\n 'END:VTIMEZONE',\n tzidLine,\n ];\n if (jsonType) {\n return JSON.stringify(output);\n }\n return output;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction tzlib_get_offset(tzName, isoDate, isoTime) {\n const tzBlock = tzlib_get_content(tzName);\n if (tzBlock[1] == null || tzBlock[1] == '') {\n return '';\n }\n if (!isoDate.match(/^\\d{4}-\\d{2}-\\d{2}$/)) {\n console.error('offset calculation failed: date misspelled [-> YYYY-MM-DD]');\n return '';\n }\n if (!isoTime.match(/^\\d{2}:\\d{2}$/)) {\n console.error('offset calculation failed: time misspelled [-> hh:mm]');\n return '';\n }\n if (!tzBlock[1].match(/BEGIN:DAYLIGHT/i)) {\n return tzBlock[1].match(/TZOFFSETTO:([+|-]\\d{4})/i)[1];\n }\n const dateString = isoDate + 'T' + isoTime + ':00';\n const date = new Date(dateString);\n const dateYear = date.getFullYear();\n const dateMonth = date.getMonth() + 1;\n const dateDay = date.getDate();\n const dateHour = date.getHours();\n const timezoneData = tzBlock[1].replace(/[^\\w_\\-:,;=+/
]/g, '').split('
');\n const tzBreakpoints = { 1: {}, 2: {} };\n let breakpointCount = 0;\n for (let i = 0; i < timezoneData.length; i++) {\n if (timezoneData[`${i}`].startsWith('TZOFFSETTO')) {\n breakpointCount++;\n tzBreakpoints[`${breakpointCount}`].offset = timezoneData[`${i}`].split(':')[1];\n }\n if (timezoneData[`${i}`].startsWith('DTSTART')) {\n tzBreakpoints[`${breakpointCount}`].hour = parseInt(timezoneData[`${i}`].substr(17, 2));\n }\n if (timezoneData[`${i}`].startsWith('RRULE')) {\n let rruleParts = timezoneData[`${i}`].split(';');\n let rruleMonth = parseInt(rruleParts[1].split('=')[1]);\n tzBreakpoints[`${breakpointCount}`].month = parseInt(rruleMonth);\n tzBreakpoints[`${breakpointCount}`].day = rruleParts[2].split('=')[1];\n }\n }\n if (tzBreakpoints[1].month > tzBreakpoints[2].month) {\n [tzBreakpoints[1], tzBreakpoints[2]] = [tzBreakpoints[2], tzBreakpoints[1]];\n }\n if (dateMonth != tzBreakpoints[1].month && dateMonth != tzBreakpoints[2].month) {\n if (dateMonth < tzBreakpoints[1].month || dateMonth > tzBreakpoints[2].month) {\n return tzBreakpoints[2].offset;\n } else {\n return tzBreakpoints[1].offset;\n }\n }\n const theCase = (function () {\n return Object.keys(tzBreakpoints).find((key) => tzBreakpoints[`${key}`].month == dateMonth);\n })();\n const helperArrayWeekdays = ['SU', 'MO', 'TU', 'WE', 'TH', 'FR', 'SA'];\n const numberDays = new Date(dateYear, dateMonth, 0).getDate();\n let weekdayCount = new Date(dateYear, dateMonth - 1, 1).getDay();\n const weekdays = { SU: {}, MO: {}, TU: {}, WE: {}, TH: {}, FR: {}, SA: {} };\n for (let d = 1; d <= numberDays; d++) {\n const occurence = Object.keys(weekdays[helperArrayWeekdays[`${weekdayCount}`]]).length + 1;\n weekdays[helperArrayWeekdays[`${weekdayCount}`]][`${occurence}`] = d;\n weekdayCount++;\n if (weekdayCount == 7) {\n weekdayCount = 0;\n }\n }\n const actualDay = (function () {\n if (tzBreakpoints[`${theCase}`].day[0] == '-') {\n const breakpointWeekday = tzBreakpoints[`${theCase}`].day.substr(2, 2);\n const dayIndex =\n Object.keys(weekdays[`${breakpointWeekday}`]).length +\n 1 -\n parseInt(tzBreakpoints[`${theCase}`].day[1]);\n return weekdays[`${breakpointWeekday}`][`${dayIndex}`];\n } else {\n const breakpointWeekday = tzBreakpoints[`${theCase}`].day.substr(1, 2);\n return weekdays[`${breakpointWeekday}`][tzBreakpoints[`${theCase}`].day[0]];\n }\n })();\n if (dateDay > actualDay || (dateDay == actualDay && dateHour >= tzBreakpoints[`${theCase}`].hour)) {\n return tzBreakpoints[`${theCase}`].offset;\n }\n const fallbackCase = (function () {\n if (theCase == 1) {\n return 2;\n } else {\n return 1;\n }\n })();\n return tzBreakpoints[`${fallbackCase}`].offset;\n}\nlet tzlibZoneNames = [];\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction tzlib_get_timezones(jsonType = false) {\n if (tzlibZoneNames.length == 0) {\n tzlibZoneNames = (function () {\n let namesArr = [];\n for (const [key, value] of Object.entries(tzlibZonesDB)) {\n if (typeof value === 'object' && !Array.isArray(value)) {\n for (const [key2, value2] of Object.entries(value)) {\n if (typeof value2 === 'object' && !Array.isArray(value2)) {\n for (const [key3] of Object.entries(value2)) {\n namesArr.push(key + '/' + key2 + '/' + key3);\n }\n } else {\n namesArr.push(key + '/' + key2);\n }\n }\n } else {\n namesArr.push(key);\n }\n }\n return namesArr;\n })();\n }\n if (jsonType) {\n return JSON.stringify(tzlibZoneNames);\n }\n return tzlibZoneNames;\n}\nexport { tzlib_get_ical_block, tzlib_get_offset, tzlib_get_timezones };\n","import { tzlib_get_ical_block, tzlib_get_offset, tzlib_get_timezones } from 'timezones-ical-library';\n/*!\n * @preserve\n *\n * ++++++++++++++++++++++\n * Add to Calendar Button\n * ++++++++++++++++++++++\n *\n * Version: 2.8.6\n * Creator: Jens Kuerschner (https://jekuer.com)\n * Project: https://github.com/add2cal/add-to-calendar-button\n * License: Elastic License 2.0 (ELv2) (https://github.com/add2cal/add-to-calendar-button/blob/main/LICENSE.txt)\n * Note: DO NOT REMOVE THE COPYRIGHT NOTICE ABOVE!\n *\n */\nconst atcbVersion = '2.8.6';\nconst atcbCssTemplate = {\r\"default\": \":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\\\"Twemoji Mozilla\\\",\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"EmojiOne Color\\\",\\\"Android Emoji\\\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:1px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:6px;--btn-padding-x:1em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 2px -1px;--btn-hover-shadow:rgba(0 0 0 / 25%) 0 5px 12px -2px,rgba(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgba(0 0 0 / 30%) 0 6px 13px -2px,rgba(0 0 0 / 25%) 0 4px 5px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:6px;--list-padding:.8em;--list-shadow:rgba(0 0 0 / 20%) 0 4px 13px -2px,rgba(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 50%) 0 4px 30px -3px,rgba(0 0 0 / 30%) 0 2px 8px -2px;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--modal-text:#000;--modal-text-align:left;--modal-text-align-rtl:right;--modal-background:#f5f5f5;--modal-border-radius:6px;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgba(0 0 0 / 25%) 0 5px 13px -2px,rgba(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgba(0 0 0 / 20%) 0 5px 12px -2px,rgba(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgba(20 20 20 / 25%);--overlay-cursor:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\\\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#3d3d3d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgba(255 255 255 / 5%) -3px -3px 30px -1px,rgba(0 0 0 / 40%) 2px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgba(0 0 0 / 90%) 2px 5px 20px -4px,rgba(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgba(0 0 0 / 90%) 2px 5px 20px -4px,rgba(0 0 0 / 50%) 1px 2px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgba(0 0 0 / 60%) 0 4px 20px -2px,rgba(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgba(255 255 255 / 5%) -2px -2px 10px,rgba(0 0 0 / 40%) 3px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgba(0 0 0 / 60%) 0 0 20px -2px,rgba(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgba(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:.13em;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-no-text.atcb-active,.atcb-button.atcb-no-text:focus,.atcb-button.atcb-no-text:hover{height:3.26em;width:3.26em;padding:0!important}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:4px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 4px;position:absolute;z-index:14000090}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000;max-width:max-content}.atcb-list{background-color:var(--list-background);border-radius:0 0 var(--list-border-radius) var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:calc(var(--list-padding) + .45em)}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:calc(var(--list-padding) + .45em)}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:var(--list-padding)}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp);-webkit-box-orient:vertical}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button.atcb-single:focus .atcb-checkmark,.atcb-button.atcb-single:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro ol,.pro ul{margin:auto;text-align:left;width:fit-content}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgba(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}\",\r\"3d\": \":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\\\"Twemoji Mozilla\\\",\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"EmojiOne Color\\\",\\\"Android Emoji\\\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:6px;--btn-padding-x:1em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 2px -1px;--btn-hover-shadow:rgba(0 0 0 / 25%) 0 5px 12px -2px,rgba(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgba(0 0 0 / 40%) 0 8px 13px -2px,rgba(0 0 0 / 30%) 0 5px 5px -3px;--btn-active-shadow-up:rgba(0 0 0 / 30%) 0 6px 13px -2px,rgba(0 0 0 / 15%) 0 2px 2px -1px,rgba(0 0 0 / 25%) 0 -3px 10px -1px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:6px;--list-padding:.8em;--list-shadow:rgba(0 0 0 / 20%) 0 4px 13px -2px,rgba(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 50%) 0 4px 30px -3px,rgba(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:left;--modal-text-align-rtl:right;--modal-background:#f5f5f5;--modal-border-radius:6px;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgba(0 0 0 / 25%) 0 5px 13px -2px,rgba(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgba(0 0 0 / 20%) 0 5px 12px -2px,rgba(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgba(20 20 20 / 25%);--overlay-cursor:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\\\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgba(255 255 255 / 5%) -3px -3px 30px -1px,rgba(0 0 0 / 40%) 2px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgba(0 0 0 / 90%) 2px 5px 20px -4px,rgba(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgba(0 0 0 / 90%) 2px 5px 20px -4px,rgba(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow-up:rgba(0 0 0 / 80%) 2px 4px 20px -4px,rgba(0 0 0 / 30%) 1px 1px 3px -1px,rgba(0 0 0 / 45%) 0 -3px 10px -1px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgba(0 0 0 / 60%) 0 4px 20px -2px,rgba(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgba(255 255 255 / 5%) -2px -2px 10px,rgba(0 0 0 / 40%) 3px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 5px -1px;--modal-btn-hover-shadow:none;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgba(0 0 0 / 60%) 0 0 20px -2px,rgba(0 0 0 / 30%) 1px 2px 3px -1px;--date-btn-hover-shadow:none;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgba(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;transform:translate3d(0,0,-12px);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){background-color:var(--btn-hover-background);z-index:15000000}.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropup,.atcb-dropoverlay){box-shadow:var(--btn-active-shadow);transform:perspective(100px) rotateX(12deg) translate3d(0,0,2px);transition:transform .1s linear}.atcb-button.atcb-active.atcb-dropup:not(.atcb-modal-style,.atcb-dropoverlay){box-shadow:var(--btn-active-shadow-up);transform:perspective(100px) rotateX(348deg) translate3d(0,0,2px);transition:transform .1s linear}.atcb-button.atcb-active.atcb-dropoverlay{transform:translate3d(0,0,0);z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:6px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;padding:0 4px;position:absolute;transform:translate3d(0,0,0);z-index:14000090}.atcb-list{background-color:var(--list-background);border-radius:0 0 var(--list-border-radius) var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-wrapper.atcb-dropdown:not(.atcb-dropup,.atcb-dropoverlay){animation:atcb-list-slide-down .4s ease 50ms 1 normal both;opacity:0}.atcb-list-wrapper.atcb-dropup:not(.atcb-dropoverlay){animation:atcb-list-slide-up .4s ease 50ms 1 normal both;opacity:0}.atcb-list-wrapper.atcb-dropoverlay{transform:translate3d(0,0,2px);z-index:15000000;animation:atcb-list-slide-center .3s ease 0s 1 normal both;opacity:0}@keyframes atcb-list-slide-down{0%{opacity:0;transform:rotateX(70deg);transform-origin:top}100%{opacity:1;transform:rotateX(0);transform-origin:top}}@keyframes atcb-list-slide-up{0%{opacity:0;transform:rotateX(70deg);transform-origin:bottom}100%{opacity:1;transform:rotateX(0);transform-origin:bottom}}@keyframes atcb-list-slide-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:calc(var(--list-padding) + .7em)}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:calc(var(--list-padding) + .7em)}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:var(--list-padding)}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp);-webkit-box-orient:vertical}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro ol,.pro ul{margin:auto;text-align:left;width:fit-content}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgba(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}\",\r\"flat\": \":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\\\"Twemoji Mozilla\\\",\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"EmojiOne Color\\\",\\\"Android Emoji\\\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:8px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#545454;--btn-padding-x:1.2em;--btn-padding-y:.8em;--btn-shadow:#333;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--list-background:#f5f5f5;--list-hover-background:#fff;--list-border:#545454;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#545454;--list-close-text:#b0b0b0;--list-close-text-hover:#777;--list-padding:.8em;--modal-text:#000;--modal-text-align:left;--modal-text-align-rtl:right;--modal-background:#f5f5f5;--modal-btn-bar:#bababa;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#545454;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#676767;--modal-headline-text-align:center;--modal-headline-text-transform:uppercase;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#414141;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--overlay-background:rgba(20 20 20 / 40%);--overlay-cursor:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\\\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#222;--btn-hover-background:#373737;--btn-border:#515151;--btn-shadow:#000;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--list-background:#222;--list-hover-background:#373737;--list-border:#515151;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#111;--list-close-text:#777;--list-close-text-hover:#f1f1f1;--modal-text:#f1f1f1;--modal-background:#242424;--modal-btn-bar:#313131;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#414141;--date-btn-cal-background:#c7c7cd;--date-btn-background:#2d2d2d;--date-btn-hover-background:#474747;--overlay-background:rgba(20 20 20 / 75%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:.2em solid var(--btn-border);box-sizing:content-box;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:300px;padding:var(--btn-padding-y) var(--btn-padding-x);top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button:not(.atcb-no-text,.atcb-modal-style,.atcb-dropoverlay,.atcb-single){min-width:calc(11.6em - 2 * var(--btn-padding-x))}.atcb-button.atcb-no-text{display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-button.atcb-click:not([disabled]){top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);top:-5px;left:-5px;box-shadow:5px 5px 0 0 var(--btn-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:.9em;line-height:1em;margin-right:.8em;width:.9em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:1em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-icon-trigger svg{display:none}.atcb-button .atcb-icon-trigger::after{content:\\\"+\\\";font-family:Arial,Helvetica,sans-serif;font-size:1.5em}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:0;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 2px 0 6px;position:absolute;z-index:16000090}.atcb-list-wrapper.atcb-no-text.atcb-dropdown{padding:0}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(150px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-150px)}100%{opacity:1;transform:translateY(0)}}.atcb-list{background:var(--list-background);box-sizing:border-box;border:.15em solid var(--list-border);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-dropup .atcb-list-item:last-child{border-bottom-width:0}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{border-top-width:0}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{border-top-width:.15em}.atcb-list-item .atcb-icon{margin:0 auto;height:1em;width:1em}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item.atcb-list-item-close:hover{color:var(--list-close-text-hover)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{border:.15em solid var(--btn-border);background-color:var(--modal-background);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{padding-top:0}.atcb-modal-content{font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{padding-top:0}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{border:.2em solid var(--btn-border);background-color:var(--modal-btn-secondary-background);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow)}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);color:var(--modal-btn-hover-text);text-decoration:none;top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-subevent-btn{border:.15em solid var(--btn-border);display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;background-color:var(--date-btn-background);padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;top:0;left:0;box-shadow:0 0 0 0 var(--btn-shadow);width:100%}.atcb-subevent-btn:hover{align-items:center;top:-3px;left:-3px;box-shadow:3px 3px 0 0 var(--btn-shadow)}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp);-webkit-box-orient:vertical}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-2.1em;right:-2em;padding:.5em;border-radius:100%;height:1.5em}.atcb-checkmark svg{height:100%;width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{background-color:transparent;border:0;filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro ol,.pro ul{margin:auto;text-align:left;width:fit-content}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:2px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:2px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:2px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:2px solid var(--modal-btn-text);border-radius:var(--input-border-radius);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);color:var(--status-active-text);opacity:1;transform:scale(1.1)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);font-size:.8em;padding-top:1em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;padding:.5em .5em 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:.2em solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgba(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-5px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}\",\r\"round\": \":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\\\"Twemoji Mozilla\\\",\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"EmojiOne Color\\\",\\\"Android Emoji\\\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:1px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:500px;--btn-padding-x:1.3em;--btn-padding-y:.65em;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgba(0 0 0 / 15%) 0 4px 10px -2px,rgba(0 0 0 / 20%) 0 2px 3px -1px;--btn-hover-shadow:rgba(0 0 0 / 30%) 0 5px 15px -3px,rgba(0 0 0 / 25%) 0 3px 5px -2px;--btn-active-shadow:rgba(0 0 0 / 35%) 0 6px 15px -3px,rgba(0 0 0 / 25%) 0 4px 6px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:.8em 1.2em;--list-min-width:100%;--list-shadow:rgba(0 0 0 / 20%) 0 4px 13px -2px,rgba(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 50%) 0 4px 30px -3px,rgba(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:left;--modal-text-align-rtl:right;--modal-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgba(0 0 0 / 10%) 2px 3px 10px -3px,rgba(0 0 0 / 25%) 1px 1px 8px -4px;--modal-btn-hover-shadow:rgba(0 0 0 / 35%) 3px 5px 15px -2px,rgba(0 0 0 / 20%) 2px 4px 25px -6px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgba(0 0 0 / 20%) 0 5px 12px -2px,rgba(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgba(20 20 20 / 25%);--overlay-cursor:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\\\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgba(255 255 255 / 5%) -3px -3px 30px -1px,rgba(0 0 0 / 40%) 2px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 3px -1px;--btn-hover-shadow:rgba(0 0 0 / 90%) 2px 5px 20px -4px,rgba(0 0 0 / 50%) 1px 2px 6px -2px;--btn-active-shadow:rgba(0 0 0 / 90%) 2px 5px 20px -4px,rgba(0 0 0 / 50%) 1px 2px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgba(0 0 0 / 60%) 0 4px 20px -2px,rgba(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgba(255 255 255 / 5%) -2px -2px 10px,rgba(0 0 0 / 40%) 3px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgba(0 0 0 / 60%) 0 0 20px -2px,rgba(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgba(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:1px solid var(--btn-border);border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:.13em;max-width:350px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button.atcb-no-text{min-width:0;border-radius:100%;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-no-text.atcb-active,.atcb-button.atcb-no-text:focus,.atcb-button.atcb-no-text:hover{height:3.26em;width:3.26em;padding:0}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-no-text),.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):focus,.atcb-button.atcb-single:not(.atcb-no-text,[disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .13em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-active.atcb-no-text:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single.atcb-no-text:not([disabled]):focus,.atcb-button.atcb-single.atcb-no-text:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text);margin:0;padding:calc(var(--btn-padding-y) + .28em) calc(var(--btn-padding-x) + .13em)}.atcb-button.atcb-dropup::after,.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{content:\\\"\\\";width:0;height:0;position:absolute;left:0;right:0;margin:0 auto}.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{top:100%;border:0 solid transparent;border-bottom:none;border-top-color:var(--btn-border)}.atcb-button.atcb-dropup::after{bottom:100%;border:0 solid transparent;border-top:none;border-bottom-color:var(--btn-border)}.atcb-button.atcb-active.atcb-dropup::after,.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{border-width:.35em;transition:border-width .1s linear .1s}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;z-index:14000090;width:auto}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{animation:list-entrance-center .2s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content-subevents{margin:auto;width:fit-content}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp);-webkit-box-orient:vertical}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button:focus .atcb-checkmark,.atcb-button:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro ol,.pro ul{margin:auto;text-align:left;width:fit-content}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgba(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}\",\r\"neumorphism\": \":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\\\"Twemoji Mozilla\\\",\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"EmojiOne Color\\\",\\\"Android Emoji\\\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-font-weight:600;--btn-text:#444;--btn-hover-text:#111;--btn-border-radius:15px;--btn-padding-x:1.2em;--btn-padding-y:1em;--btn-shadow:rgba(40 40 40 / 30%) 0.3em 0.3em 0.6em,rgba(255 255 255 / 70%) -0.1em -0.1em 0.3em;--btn-hover-shadow:rgba(40 40 40 / 50%) 0.4em 0.4em 0.8em,rgba(255 255 255 / 90%) -0.2em -0.2em 0.5em;--btn-active-shadow:inset rgba(40 40 40 / 40%) 0.15em 0.15em 0.3em,inset rgba(255 255 255 / 90%) -0.2em -0.2em 0.5em;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#444;--list-font-weight:400;--list-hover-text:#111;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:1em;--list-min-width:100%;--list-shadow:rgba(40 40 40 / 30%) 0.4em 0.4em 0.8em,rgba(255 255 255 / 80%) -0.2em -0.2em 0.5em;--modal-text:#111;--modal-text-align:left;--modal-text-align-rtl:right;--modal-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(5px 8px 30px rgba(0 0 0 / 70%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#222;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgba(40 40 40 / 15%) 0.2em 0.2em 0.4em,rgba(255 255 255 / 30%) -0.1em -0.1em 0.3em;--modal-btn-hover-shadow:rgba(40 40 40 / 40%) 0.4em 0.4em 0.7em,rgba(255 255 255 / 70%) -0.2em -0.2em 0.5em;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#e3e5ea;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgba(0 0 0 / 20%) 0 5px 12px -2px,rgba(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:#dcdcdc;--overlay-cursor:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\\\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgba(0 0 0 / 70%) 0.3em 0.3em 0.6em,rgba(230 230 230 / 20%) -0.05em -0.05em 0.4em;--btn-hover-shadow:rgba(0 0 0 / 90%) 0.4em 0.4em 0.9em,rgba(230 230 230 / 25%) -0.08em -0.08em 0.6em -0.1em;--btn-active-shadow:inset rgba(0 0 0 / 80%) 0.15em 0.15em 0.25em,inset rgba(230 230 230 / 10%) -0.2em -0.2em 0.7em -0.1em;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgba(0 0 0) 0.3em 0.3em 1em,rgba(230 230 230 / 40%) -0.08em -0.08em 0.6em;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(5px 8px 35px rgba(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgba(0 0 0 / 60%) 0.2em 0.2em 0.6em,rgba(230 230 230 / 15%) -0.1em -0.1em 0.4em;--modal-btn-hover-shadow:rgba(0 0 0 / 80%) 0.3em 0.3em 0.8em,rgba(230 230 230 / 15%) -0.1em -0.1em 0.6em;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgba(0 0 0 / 70%) 0.2em 0.2em 0.8em,rgba(230 230 230 / 15%) -0.1em -0.1em 0.5em;--date-btn-hover-shadow:rgba(0 0 0) 0.3em 0.4em 1em,rgba(230 230 230 / 15%) -0.2em -0.2em 0.8em;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:#141414;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{align-items:center;background-color:var(--btn-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--btn-shadow);color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.5em;margin:0;max-width:350px;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;transition:box-shadow .1s ease-in-out,background-color .1s ease-in-out;z-index:1}.atcb-button.atcb-no-text{min-width:0;border-radius:100%;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay),.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-active-shadow);color:var(--btn-hover-text)}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;width:auto;animation:list-entrance .6s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance{0%{opacity:0}100%{opacity:1}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{box-shadow:none;align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s ease-in-out,padding .15s ease-in-out,margin .15s ease-in-out}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{box-shadow:var(--btn-shadow);background-color:var(--list-hover-background);color:var(--list-hover-text);padding:calc(var(--list-padding) + .2em);margin:-.2em;position:relative;z-index:15000010}.atcb-list-item:focus-visible{box-shadow:var(--btn-shadow);background-color:var(--list-hover-background);color:var(--accent-color);padding:calc(var(--list-padding) + .2em);margin:-.2em;position:relative;z-index:15000010;outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{animation:list-entrance .6s ease 0s 1 normal forwards;filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp);-webkit-box-orient:vertical}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay) .atcb-checkmark,.atcb-button.atcb-single:focus .atcb-checkmark,.atcb-button.atcb-single:hover .atcb-checkmark{top:-.77em;right:-.37em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .1s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-trigger{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro ol,.pro ul{margin:auto;text-align:left;width:fit-content}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;box-shadow:var(--btn-shadow);caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input:not([disabled],[type=checkbox],[type=radio]):hover{box-shadow:var(--btn-active-shadow)}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{box-shadow:var(--btn-active-shadow)}.pro-field input[type=email]:focus-visible,.pro-field input[type=number]:focus-visible,.pro-field input[type=text]:focus-visible{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;background-color:var(--input-background);border-radius:var(--input-border-radius);box-shadow:var(--btn-shadow);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{color:var(--form-success)}#rsvp-status-group label.status-declined{color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{background-color:var(--btn-hover-background);display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgba(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}\",\r\"text\": \":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\\\"Twemoji Mozilla\\\",\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"EmojiOne Color\\\",\\\"Android Emoji\\\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-underline:#a9ceff;--btn-border:#a8a8a8;--btn-padding-x:.75em;--btn-padding-y:.75em;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-font-weight:600;--btn-text:#333;--btn-hover-text:#000;--btn-hover-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 2px -1px;--btn-text-shadow:#fff;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-border-radius:11px;--list-padding:.8em 1.2em;--list-min-width:100%;--list-shadow:rgba(0 0 0 / 20%) 0 4px 13px -2px,rgba(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 50%) 0 4px 30px -3px,rgba(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:left;--modal-text-align-rtl:right;--modal-background:#f5f5f5;--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-border-radius:9px;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 65%));--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgba(0 0 0 / 25%) 0 5px 13px -2px,rgba(0 0 0 / 25%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:6px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgba(0 0 0 / 20%) 0 5px 12px -2px,rgba(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgba(200 200 200 / 25%);--overlay-cursor:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\\\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-underline:#336db9;--btn-border:#888;--btn-background:#2e2e2e;--btn-hover-background:#373737;--btn-text:#dedede;--btn-hover-text:#fff;--btn-text-shadow:#000;--list-background:#2e2e2e;--list-hover-background:#373737;--list-text:#dedede;--list-hover-text:#fff;--list-close-background:#282828;--list-shadow:rgba(255 255 255 / 5%) -12px -5px 20px -8px,rgba(255 255 255 / 6%) -7px -5px 15px -3px,rgba(0 0 0 / 50%) 2px 5px 18px -1px,rgba(0 0 0 / 40%) 3px 3px 20px -3px;--list-modal-shadow:rgba(255 255 255 / 8%) -12px -5px 30px -8px,rgba(255 255 255 / 8%) -7px -5px 15px -3px,rgba(0 0 0 / 60%) 4px 6px 50px -4px,rgba(0 0 0 / 90%) 8px 12px 40px -2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgba(255 255 255 / 5%) -2px -2px 10px,rgba(0 0 0 / 40%) 3px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgba(0 0 0 / 60%) 0 0 20px -2px,rgba(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgba(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(0.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-initialized.atcb-buttons-list{gap:var(--buttonslist-gap)}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button{background-image:linear-gradient(120deg,var(--btn-underline) 0,var(--btn-underline) 100%);background-repeat:no-repeat;background-size:100% 8%;background-position:0 100%;background-color:transparent;border:0;border-radius:0;transition:background-size .1s ease-in,border-radius .2s ease-in,box-shadow .1s ease-in;align-items:center;color:var(--btn-text);cursor:pointer;display:flex;font-family:var(--font);font-size:1em;font-weight:var(--btn-font-weight);justify-content:center;line-height:1.2em;margin:0 .2em;padding:var(--btn-padding-y) var(--btn-padding-x);position:relative;text-align:left;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:auto;z-index:1}.atcb-button.atcb-no-text{min-width:0;display:flex;place-content:center center;align-items:center;height:3em;width:3em;padding:0}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not([disabled]):focus,.atcb-button:not([disabled]):hover{background-size:100% 100%;box-shadow:var(--btn-hover-shadow);color:var(--btn-hover-text);text-shadow:0 0 .7em var(--btn-text-shadow);border-radius:21px}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){background-size:100% 10%;border-radius:3px 3px 11px 11px;background-position:0 0;background-color:var(--btn-background);color:var(--btn-text);text-shadow:none;z-index:15000000}.atcb-button.atcb-single:not([disabled]):focus,.atcb-button.atcb-single:not([disabled]):hover{background-size:100% 10%;background-position:0 100%;border-radius:11px 11px 3px 3px;background-color:var(--btn-background);color:var(--btn-text);text-shadow:none}.atcb-button.atcb-active.atcb-dropup{background-position:0 100%;border-radius:11px 11px 3px 3px}.atcb-button.atcb-dropup::after,.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{content:\\\"\\\";width:0;height:0;position:absolute;left:0;right:0;margin:0 auto}.atcb-button:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{top:100%;border:0 solid transparent;border-bottom:none;border-top-color:var(--btn-background)}.atcb-button.atcb-dropup::after{bottom:100%;border:0 solid transparent;border-top:none;border-bottom-color:var(--btn-background)}.atcb-button.atcb-active.atcb-dropup::after,.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay,.atcb-dropup)::before{border-width:.35em;transition:border-width .1s linear .1s}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:.9em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:1em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-icon-trigger svg{display:none}.atcb-button .atcb-icon-trigger::after{content:\\\"+\\\";font-family:Arial,Helvetica,sans-serif;font-size:1.5em}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:-15px;height:0;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);position:absolute;z-index:14000090;width:auto}.atcb-list-wrapper:not(.atcb-dropup,.atcb-dropoverlay){animation:list-entrance-bottom .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropup{animation:list-entrance-top .2s ease 0s 1 normal forwards}.atcb-list-wrapper.atcb-dropoverlay{animation:list-entrance-center .2s ease 0s 1 normal forwards;z-index:15000000}@keyframes list-entrance-bottom{0%{opacity:0;transform:translateY(250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-top{0%{opacity:0;transform:translateY(-250px)}100%{opacity:1;transform:translateY(0)}}@keyframes list-entrance-center{0%{opacity:0;transform:scaleY(1)}1%{opacity:1;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}.atcb-list{background-color:var(--list-background);border-radius:var(--list-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:var(--list-min-width);position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:var(--list-padding);text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--list-border-radius) var(--list-border-radius)}.atcb-list-item:first-child{border-radius:var(--list-border-radius) var(--list-border-radius) 0 0}.atcb-list-item:only-child{border-radius:var(--list-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto;height:1em;width:1em}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--modal-border-radius) var(--modal-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:21px;box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:7px 4px 4px 7px;padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:100%}.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:4px 0 0 4px;align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 4px 4px 0}.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp);-webkit-box-orient:vertical}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-rsvp{height:1.5em;width:1.5em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.rsvp-inline-wrapper{filter:none;min-width:100%;margin-bottom:0}.atcb-modal-content.no-headline{border-radius:var(--modal-border-radius) var(--modal-border-radius) 0 0;padding-top:1.8em}.rsvp-inline-wrapper .atcb-modal-content,.rsvp-inline-wrapper .atcb-modal-headline,.rsvp-inline-wrapper.atcb-modal-box{background-color:transparent;border-radius:0;box-sizing:border-box;padding:0;width:100%}.rsvp-inline-wrapper .atcb-modal-headline{padding-bottom:1.5em}.pro{text-align:center}.pro ol,.pro ul{margin:auto;text-align:left;width:fit-content}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro #rsvp-atcb{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}.pro-form{text-align:left}.pro-form:not(.no-intro){border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em}.pro-form.no-intro:not(.no-headline){padding-top:.5em}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#rsvp-status-group{border-bottom:1px solid var(--modal-btn-border);font-weight:700;margin-bottom:1.5em;padding-bottom:2em;text-align:center}#rsvp-status-group .pro-field{align-items:center;display:flex;flex-wrap:wrap;gap:3%;justify-content:center;margin-top:1em}@media (width <= 575px){#rsvp-status-group .pro-field{flex-direction:column;gap:1.2em}#rsvp-status-group .pro-field div{width:80%}}#rsvp-status-group .pro-field div{min-width:28%;position:relative}#rsvp-status-group input{opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;margin:0;cursor:pointer}#rsvp-status-group label{align-items:center;border:1px solid var(--modal-btn-text);border-radius:var(--input-border-radius);color:var(--modal-btn-text);display:flex;flex-direction:column;font-weight:700;text-transform:uppercase;justify-content:center;opacity:.6;padding:.8em;transition:all .1s ease-in-out;width:100%}#rsvp-status-group label.status-confirmed{border-color:var(--form-success);color:var(--form-success)}#rsvp-status-group label.status-declined{border-color:var(--form-error);color:var(--form-error)}#rsvp-status-group input:checked+label{background-color:var(--modal-text);box-shadow:var(--btn-hover-shadow);color:var(--status-active-text);opacity:1;transform:scale(1.08)}#rsvp-status-group input:focus-visible+label{outline:2px solid var(--accent-color);outline-offset:2px}#rsvp-status-group input:not([disabled])+label:hover,#rsvp-status-group input:not([disabled]):hover+label{box-shadow:var(--btn-hover-shadow);opacity:1;transform:scale(1.08)}#rsvp-status-group input:checked+label.status-confirmed{background-color:var(--form-success)}#rsvp-status-group input:checked+label.status-declined{background-color:var(--form-error)}#rsvp-success-msg,#rsvp-success-msg-demo,#rsvp-success-msg-doi,#rsvp-success-msg-email,#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding-top:.5em;text-align:center}#rsvp-success-msg,#rsvp-success-msg-demo,#ty-success-msg{padding:1.5em 0}#rsvp-success-msg-demo,#rsvp-success-msg-email{color:var(--form-success)}#rsvp-success-msg-doi{color:var(--form-error);padding-top:1em;font-size:.8em}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.pro #rsvp-sent-content{align-items:center;display:flex;flex-direction:column;gap:1.5em}#rsvp-status-group span{color:inherit}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgba(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}\",\r\"date\": \":host{width:fit-content;--base-font-size-l:16px;--base-font-size-m:16px;--base-font-size-s:16px;--font:arial,helvetica,\\\"Twemoji Mozilla\\\",\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"EmojiOne Color\\\",\\\"Android Emoji\\\",sans-serif;--accent-color:#1e90ff;--wrapper-padding:0px;--buttonslist-gap:5px;--btn-background:#f5f5f5;--btn-hover-background:#fff;--btn-border:#d2d2d2;--btn-border-radius:4px;--btn-text:#333;--btn-hover-text:#000;--btn-shadow:rgba(0 0 0 / 13%) 0 4px 10px -2px,rgba(0 0 0 / 18%) 0 2px 3px -1px;--btn-hover-shadow:rgba(0 0 0 / 25%) 0 5px 12px -2px,rgba(0 0 0 / 25%) 0 3px 5px -2px;--list-background:#f5f5f5;--list-hover-background:#fff;--list-text:#333;--list-font-weight:400;--list-hover-text:#000;--list-close-background:#e5e5e5;--list-close-text:#777;--list-shadow:rgba(0 0 0 / 20%) 0 4px 13px -2px,rgba(0 0 0 / 23%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 50%) 0 4px 30px -3px,rgba(0 0 0 / 30%) 0 2px 8px -2px;--modal-text:#000;--modal-text-align:left;--modal-text-align-rtl:right;--modal-background:#f5f5f5;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 65%));--modal-btn-bar:#c6c8cd;--modal-btn-background:#f5f5f5;--modal-btn-secondary-background:#e2e1e6;--modal-btn-hover-background:#fff;--modal-btn-border:#d2d2d2;--modal-btn-font-weight:600;--modal-btn-text:#2e2e2e;--modal-btn-hover-text:#161616;--modal-btn-secondary-text:#666567;--modal-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 10%) 0 2px 3px -1px;--modal-btn-hover-shadow:rgba(0 0 0 / 25%) 0 5px 13px -2px,rgba(0 0 0 / 20%) 0 3px 5px -2px;--modal-headline-text-align:center;--modal-headline-text-transform:none;--input-border-radius:3px;--input-background:#fff;--status-active-text:#fff;--form-error:#c5372c;--form-success:#338a36;--date-btn-text:#1d1d1e;--date-btn-text-secondary:#3a3a3f;--date-btn-cal-day-text:#fff;--date-btn-cal-month-text:#d3d2d7;--date-btn-cal-background:#313132;--date-btn-background:#eae9ed;--date-btn-hover-background:#fff;--date-btn-headline-line-clamp:1;--date-btn-shadow:rgba(0 0 0 / 10%) 0 4px 10px -2px,rgba(0 0 0 / 15%) 0 2px 3px -1px;--date-btn-hover-shadow:rgba(0 0 0 / 20%) 0 5px 12px -2px,rgba(0 0 0 / 20%) 0 3px 4px -2px;--checkmark-background:drop-shadow(0 0 3px #fff);--overlay-background:rgba(20 20 20 / 25%);--overlay-cursor:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E\\\") 16 16,crosshair;--icon-ms365-color:#ea3e23;--icon-yahoo-color:#5f01d1;--icon-filter:none}:host(.atcb-dark){--btn-background:#2e2e2e;--btn-hover-background:#474747;--btn-border:#4d4d4d;--btn-text:#dedede;--btn-hover-text:#f1f1f1;--btn-shadow:rgba(0 0 0 / 70%) 0 0 25px -2px,rgba(0 0 0 / 40%) 1px 2px 4px -1px;--btn-hover-shadow:rgba(0 0 0 / 90%) 2px 3px 25px -3px,rgba(0 0 0 / 50%) 1px 4px 6px -2px;--list-background:#2e2e2e;--list-hover-background:#474747;--list-text:#dedede;--list-hover-text:#f1f1f1;--list-close-background:#282828;--list-shadow:rgba(0 0 0 / 60%) 0 4px 20px -2px,rgba(0 0 0 / 40%) 0 2px 4px -1px;--list-modal-shadow:rgba(0 0 0 / 40%) -1px 3px 30px 2px;--modal-text:#f1f1f1;--modal-background:#242424;--modal-shadow:drop-shadow(3px 6px 25px rgba(0 0 0 / 90%));--modal-btn-bar:#38383a;--modal-btn-background:#181819;--modal-btn-secondary-background:#2e2d30;--modal-btn-hover-background:#434246;--modal-btn-border:#434246;--modal-btn-text:#dbdbdb;--modal-btn-hover-text:#fff;--modal-btn-secondary-text:#b8b8b8;--modal-btn-shadow:rgba(255 255 255 / 5%) -2px -2px 10px,rgba(0 0 0 / 40%) 3px 3px 10px -2px,rgba(0 0 0 / 40%) 1px 2px 5px -1px;--input-background:#434246;--status-active-text:#000;--form-error:#db8680;--form-success:#99de9c;--date-btn-text:#ebebf0;--date-btn-text-secondary:#b5b5bd;--date-btn-cal-day-text:#101010;--date-btn-cal-month-text:#3e3e3f;--date-btn-cal-background:#c7c7cd;--date-btn-background:#363636;--date-btn-hover-background:#474747;--date-btn-shadow:rgba(0 0 0 / 60%) 0 0 20px -2px,rgba(0 0 0 / 30%) 1px 2px 3px -1px;--checkmark-background:drop-shadow(0 0 3px #0a0a0a);--overlay-background:rgba(20 20 20 / 60%);--icon-ms365-color:#ea3e23;--icon-yahoo-color:#bebebe;--icon-filter:grayscale(.2)}.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-l)}@media (width <= 991px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-m)}}@media (width <= 575px){.atcb-button-wrapper,.atcb-list,.atcb-modal-box{font-size:var(--base-font-size-s)}}.atcb-button-wrapper{display:block;padding:var(--wrapper-padding);position:relative}.atcb-button,.atcb-subevent-btn{display:flex;align-items:flex-start;cursor:pointer;font-family:var(--font);font-size:1em;box-shadow:var(--date-btn-shadow);background-color:var(--date-btn-background);border:0;border-radius:var(--btn-border-radius);padding:0;margin:0;touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.atcb-subevent-btn{width:100%}.atcb-button{box-shadow:var(--btn-shadow);min-width:16em;max-width:18em;position:relative;z-index:1}.atcb-rtl .atcb-button{direction:rtl;text-align:right}.atcb-button:focus,.atcb-button:hover{background-color:var(--btn-hover-background);box-shadow:var(--btn-hover-shadow)}.atcb-button:focus-visible,.atcb-subevent-btn:focus-visible{outline:2px solid var(--accent-color)}.atcb-button:not(.atcb-active):hover,.atcb-subevent-btn:hover{align-items:center}.atcb-subevent-btn:focus,.atcb-subevent-btn:hover{background-color:var(--date-btn-hover-background);box-shadow:var(--date-btn-hover-shadow)}.atcb-button.atcb-active:not(.atcb-modal-style,.atcb-dropoverlay){z-index:15000000}.atcb-button.atcb-active.atcb-dropoverlay{z-index:14000090}.atcb-subevent-btn+.atcb-subevent-btn{margin-top:30px}.atcb-date-btn-left{border-radius:var(--btn-border-radius) 0 0 var(--btn-border-radius);align-self:stretch;background-color:var(--date-btn-cal-background);color:var(--date-btn-hover-background);padding:.7em .8em .8em;width:2.7em;align-items:center;display:flex;flex-direction:column;flex-shrink:0}.atcb-rtl .atcb-date-btn-left{border-radius:0 var(--btn-border-radius) var(--btn-border-radius) 0}.atcb-button:hover .atcb-date-btn-left,.atcb-subevent-btn:hover .atcb-date-btn-left{opacity:.8}.atcb-date-btn-day{color:var(--date-btn-cal-day-text);font-weight:400;font-size:2em;word-break:keep-all;padding-bottom:.1em}.atcb-initialized[lang=ja] .atcb-date-btn-day,.atcb-initialized[lang=ko] .atcb-date-btn-day,.atcb-initialized[lang=zh] .atcb-date-btn-day{font-size:1.3em}.atcb-date-btn-month{color:var(--date-btn-cal-month-text);font-weight:600;font-size:1em}.atcb-date-btn-right{position:relative;color:var(--date-btn-text);min-width:13.5em;overflow-wrap:anywhere}.atcb-subevent-btn .atcb-date-btn-right{width:100%}.atcb-date-btn-details{opacity:1;padding:.7em .8em;text-align:left}.atcb-rtl .atcb-date-btn-details{text-align:right}.atcb-date-btn-hover{position:absolute;top:0;left:0;width:100%;opacity:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1em;padding:.4em .7em;box-sizing:border-box}.atcb-button:not(.atcb-active):hover .atcb-date-btn-hover,.atcb-subevent-btn:hover .atcb-date-btn-hover{opacity:1}.atcb-button:not(.atcb-active):hover .atcb-date-btn-details,.atcb-subevent-btn:hover .atcb-date-btn-details{opacity:0}.atcb-date-btn-headline{font-weight:600;font-size:.9em;margin-bottom:.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--date-btn-headline-line-clamp);line-clamp:var(--date-btn-headline-line-clamp);-webkit-box-orient:vertical}.atcb-date-btn-content{display:flex;align-items:flex-start;font-size:.8em;color:var(--date-btn-text-secondary)}.atcb-date-btn-content.atcb-date-btn-cancelled{color:var(--form-error);font-weight:700}.atcb-date-btn-content-location{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-break:break-all}.atcb-date-btn-content-icon{display:inline-block;height:.8em;margin-right:.4em;margin-left:0;width:.9em;flex-shrink:0}.atcb-rtl .atcb-date-btn-content-icon{margin-right:0;margin-left:.4em}.atcb-initialized[lang=ja] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=ko] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon,.atcb-initialized[lang=zh] .atcb-date-btn-content:not(.atcb-date-btn-content-location) .atcb-date-btn-content-icon{margin-top:.15em}.atcb-date-btn-content-icon svg{height:100%;fill:currentcolor;width:100%}.atcb-date-btn-content+.atcb-date-btn-content{margin-top:.3em}.atcb-date-btn-content-text span:not(.atcb-icon-ical){padding-right:.3em;display:inline-block}.atcb-icon{flex-grow:0;flex-shrink:0;height:1em;line-height:1em;margin-right:.8em;width:1em}.atcb-rtl .atcb-icon{margin-right:0;margin-left:.8em}.atcb-no-text .atcb-icon{margin-right:0;margin-left:0}.atcb-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-text{overflow-wrap:anywhere}.atcb-dropdown-anchor{bottom:4px;height:1px;width:100%;opacity:0;position:absolute}.atcb-list-wrapper{box-sizing:border-box;font-weight:var(--list-font-weight);padding:0 4px;position:absolute;z-index:14000090}.atcb-list-wrapper.atcb-dropoverlay{z-index:15000000}.atcb-list{border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius);box-sizing:border-box;box-shadow:var(--list-shadow);color:var(--list-text);display:block;font-family:var(--font);min-width:100%;position:relative;user-select:none;-webkit-user-select:none;width:fit-content}.atcb-list-item{align-items:center;background-color:var(--list-background);box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;line-height:1.75em;padding:.8em;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.atcb-rtl .atcb-list-item{direction:rtl;text-align:right}.atcb-list-item:hover{background-color:var(--list-hover-background);color:var(--list-hover-text)}.atcb-list-item:focus-visible{background-color:var(--list-hover-background);color:var(--accent-color);outline:0}.atcb-list-item:last-child{border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius)}.atcb-dropup .atcb-list-item:last-child{border-radius:0;padding-bottom:1.25em}.atcb-dropoverlay .atcb-list .atcb-list-item:first-child,.atcb-dropup .atcb-list-item:first-child,.atcb-list.atcb-modal .atcb-list-item:first-child{border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0}.atcb-dropoverlay .atcb-list .atcb-list-item:only-child,.atcb-list.atcb-modal .atcb-list-item:only-child{border-radius:var(--btn-border-radius)}.atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:1.25em}.atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,.atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child{padding-top:.8em}.atcb-dropoverlay .atcb-list,.atcb-list.atcb-modal{border-radius:var(--btn-border-radius)}.atcb-list.atcb-modal{box-shadow:var(--list-modal-shadow)}.atcb-list-item .atcb-icon{margin:0 auto}.atcb-list-item .atcb-icon+.atcb-text{margin-left:.7em;width:100%}.atcb-rtl .atcb-list-item .atcb-icon+.atcb-text{margin-left:0;margin-right:.7em}.atcb-list-item-close{background-color:var(--list-close-background)}.atcb-list-item.atcb-list-item-close:not(:focus-visible){color:var(--list-close-text)}.atcb-list-item-close svg{fill:currentcolor}.atcb-modal{display:block;margin:auto;width:auto;min-width:auto;position:relative;z-index:14000090}.atcb-modal-box{filter:var(--modal-shadow);color:var(--modal-text);cursor:default;box-sizing:border-box;font-family:var(--font);line-height:1.5em;text-align:var(--modal-text-align);user-select:none;-webkit-user-select:none;touch-action:manipulation;width:100%;margin-bottom:20px;-webkit-tap-highlight-color:transparent}@media (width > 575px){.atcb-modal-box{width:32em}}.atcb-modal-box.atcb-rtl{text-align:var(--modal-text-align-rtl);direction:rtl;padding:1.25em 1em 1.25em 2em}.atcb-modal-icon{height:2.5em;width:2.5em;border-radius:100%;background-color:var(--modal-background);padding:1.75em;margin:auto}.atcb-modal-icon svg{fill:currentcolor;height:100%;width:100%}.atcb-modal-headline{background-color:var(--modal-background);border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0;font-size:1.3em;font-weight:600;line-height:1.5em;padding:1.8em 1.5em 1.3em;text-transform:var(--modal-headline-text-transform);text-align:var(--modal-headline-text-align)}.atcb-modal-icon+.atcb-modal-headline{margin-top:-2.6em;padding-top:2.6em}.atcb-modal-content{background-color:var(--modal-background);font-size:1em;padding:.3em 2em 2.2em}.atcb-modal-content-subevents{margin:auto;width:fit-content}.atcb-modal-icon+.atcb-modal-content{border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0;margin-top:-2.6em;padding-top:2.6em}@media (width <= 575px){.atcb-modal-headline{padding:1.8em 1em 1em}.atcb-modal-content{padding:.3em 1.5em 1.5em}.atcb-modal-icon+.atcb-modal-content{padding-top:1.8em}}.atcb-modal-buttons{background-color:var(--modal-btn-bar);border-radius:0 0 var(--btn-border-radius) var(--btn-border-radius);box-sizing:border-box;padding:.6em;text-align:center;width:100%;display:flex;justify-content:center;flex-flow:row-reverse wrap;align-items:center}a.atcb-modal-btn,button.atcb-modal-btn{background-color:var(--modal-btn-secondary-background);border:0;border-radius:var(--btn-border-radius);box-shadow:var(--modal-btn-shadow);color:var(--modal-btn-secondary-text);cursor:pointer;display:inline-block;font-family:var(--font);font-size:.9em;font-weight:var(--modal-btn-font-weight);line-height:1em;margin:.625em;padding:1em 1.25em;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.atcb-modal-btn.btn-small,button.atcb-modal-btn.btn-small{padding:.6em .8em}a.atcb-modal-btn.atcb-modal-btn-primary,button.atcb-modal-btn.atcb-modal-btn-primary{background-color:var(--modal-btn-background);color:var(--modal-btn-text)}a.atcb-modal-btn.atcb-modal-btn-border,button.atcb-modal-btn.atcb-modal-btn-border{border:1px solid var(--modal-btn-border)}a.atcb-modal-btn:focus-visible,button.atcb-modal-btn:focus-visible{background-color:var(--modal-btn-hover-background);outline:2px solid var(--accent-color)}a.atcb-modal-btn:disabled,button.atcb-button:disabled,button.atcb-modal-btn:disabled,button.atcb-subevent-btn:disabled{cursor:not-allowed;opacity:.75;filter:brightness(95%);border-style:dashed;box-shadow:none}a.atcb-modal-btn:not([disabled]):hover,button.atcb-modal-btn:not([disabled]):hover{background-color:var(--modal-btn-hover-background);box-shadow:var(--modal-btn-hover-shadow);color:var(--modal-btn-hover-text);text-decoration:none}.atcb-checkmark{display:none}.atcb-saved .atcb-checkmark{box-sizing:content-box;color:var(--btn-text);display:block;position:absolute;top:-.9em;right:-.5em;padding:.5em;border-radius:100%;height:1.2em}.atcb-checkmark svg{height:100%;filter:var(--checkmark-background);width:auto}#atcb-bgoverlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-color:var(--overlay-background);border:0;box-sizing:border-box;display:flex;height:calc(100vh + 100px);inset-inline:0;left:0;right:0;top:0;min-height:100%;min-width:100%;overflow-y:auto;padding:20px 20px 130px;position:fixed;width:100vw;z-index:14000000}#atcb-bgoverlay:not(dialog){animation:atcb-bgoverlay-animate .2s ease 0s 1 normal forwards;opacity:0}#atcb-bgoverlay.atcb-no-bg{animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;background-color:transparent}@keyframes atcb-bgoverlay-animate{0%{opacity:0}100%{opacity:1}}#atcb-bgoverlay.atcb-click:hover{cursor:var(--overlay-cursor)}.atcb-icon-outlookcom,.atcb-icon.atcb-icon-ms365{padding-bottom:.05em}.atcb-icon.atcb-icon-apple,.atcb-icon.atcb-icon-ical{padding-bottom:.15em}.atcb-icon.atcb-icon-apple svg{fill:currentcolor}.atcb-icon.atcb-icon-ical svg{fill:currentcolor}.atcb-icon.atcb-icon-ms365 svg{fill:var(--icon-ms365-color)}.atcb-icon.atcb-icon-yahoo svg{fill:var(--icon-yahoo-color)}.atcb-icon.atcb-icon-google svg,.atcb-icon.atcb-icon-msteams svg,.atcb-icon.atcb-icon-outlookcom svg{filter:var(--icon-filter)}.pro{text-align:center}.pro ol,.pro ul{margin:auto;text-align:left;width:fit-content}.pro a:not(.atcb-modal-btn),.pro a:not(.atcb-modal-btn):active,.pro a:not(.atcb-modal-btn):visited{color:var(--modal-btn-text);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent-color)}.pro a:not(.atcb-modal-btn):hover{color:var(--accent-color);text-decoration:none}.pro .pro-share-buttons{display:flex;flex-wrap:wrap;justify-content:center}.pro-form{border-top:1px solid var(--modal-btn-border);margin-top:1.5em;padding-top:1.5em;text-align:left}.pro-field+.pro-field{padding-top:1.3em}.pro-field-type-label+.pro-field-type-radio{padding-top:0}.pro-field-type-checkbox,.pro-field-type-radio div{align-items:center;display:flex}.pro-field-type-checkbox input,.pro-field-type-radio input{cursor:pointer}.pro-field label{display:block;font-size:.9em;opacity:.7}.pro-field-type-checkbox label,.pro-field-type-radio label{cursor:pointer;opacity:.8;padding-left:.3em}.pro-field input[type=email],.pro-field input[type=number],.pro-field input[type=text]{background-color:var(--input-background);border:1px solid var(--modal-btn-border);border-radius:var(--input-border-radius);box-sizing:border-box;caret-color:var(--accent-color);color:var(--modal-text);font-size:.9em;opacity:.8;padding:.7em;transition:all .1s ease-in-out;width:100%}.pro-field input[type=checkbox],.pro-field input[type=radio]{accent-color:var(--accent-color);height:1.2rem;opacity:.8;transition:all .1s ease-in-out;width:1.2em}.pro-field input:disabled,.pro-field input:disabled+label{cursor:not-allowed;opacity:.75;filter:brightness(95%)}.pro-field input:not([disabled]):hover{opacity:1}.pro-field input[type=email]:focus,.pro-field input[type=number]:focus,.pro-field input[type=text]:focus{border-color:var(--accent-color);outline:1px solid var(--accent-color)}.pro-field input[type=checkbox]:focus,.pro-field input[type=radio]:focus{outline-color:var(--accent-color);outline-width:2px}#submit-error{color:var(--form-error);display:none;font-weight:700;padding-top:1.5em;text-align:center}.pro-form.form-error #submit-error{display:block}.pro-field input.error{accent-color:var(--form-error);border:2px solid var(--form-error)}.pro-field input.error+label,.pro-field:has(input.error) label{color:var(--form-error);opacity:1}#ty-success-msg{display:none;font-weight:700;line-height:1.6em;padding:1.5em 0;text-align:center}#pro-form-submit{display:block;margin:auto;min-width:150px}.pro-form-fine{font-size:.8em;margin:.5em auto 1em;opacity:.5;text-align:center}.pro-form.form-error .pro-form-fine{opacity:0}.pro-waiting{background-color:var(--modal-btn-background);border:1px solid var(--modal-btn-border);border-radius:var(--btn-border-radius);box-sizing:border-box;color:var(--modal-btn-text);cursor:wait;display:none;line-height:.5em;margin:auto;min-width:150px;padding:.5em 1.25em 1.2em;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:fit-content}@media (width > 575px){#pro-form-submit,.pro-waiting{min-width:200px}}.pro-waiting span:not(.atcb-icon-ical){animation-name:blink;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:2.5em}.pro-field label span:not(.atcb-icon-ical){color:var(--form-error);font-weight:700;padding-left:2px}.pro-waiting span:not(.atcb-icon-ical):nth-child(2){animation-delay:.15s}.pro-waiting span:not(.atcb-icon-ical):nth-child(3){animation-delay:.3s}@keyframes blink{0%{opacity:.2}20%{opacity:1}100%{opacity:.2}}.atcb-modal-content .pro p:not(.pro-form-fine){margin:0}.atcb-modal-content .pro p.pro-pt{margin-top:1.5em}.atcb-modal-content .pro .pro-field p{font-size:.9em}.pro .btn-flex{align-items:center;display:flex}.pro .atcb-modal-btn svg{fill:none;height:1.5em;margin-right:.5em;stroke:currentcolor;width:auto}#atcb-reference{box-sizing:border-box;filter:drop-shadow(0 0 3px rgba(255 255 255 / 80%));height:auto;padding:8px 0;text-align:center;transform:translate3d(0,0,0);width:100%;z-index:15000000}#atcb-reference.fixed-ref{position:fixed;bottom:10px;right:40px;width:auto}#atcb-reference.atcb-dropup{position:absolute;margin-top:-1px}.atcb-modal-host-initialized #atcb-reference.atcb-dropup{text-align:left}:host(.atcb-dark) #atcb-reference{filter:drop-shadow(0 0 5px #000)}#atcb-reference a,#atcb-reference a:active,#atcb-reference a:visited{opacity:.4;width:150px;max-width:100%;margin:auto;display:inline-block;text-decoration:none}#atcb-reference.fixed-ref a{opacity:.6}#atcb-reference a:hover{opacity:.9;text-decoration:none}#atcb-reference svg{fill:var(--list-text)}\",\r};\rconst atcbIsBrowser = () => {\n if (typeof window === 'undefined') {\n return false;\n } else {\n return true;\n }\n};\nconst atcbIsiOS = atcbIsBrowser()\n ? () => {\n if (/iPad|iPhone|iPod/i.test(navigator.userAgent) && !/MSStream/i.test(navigator.userAgent)) {\n return true;\n } else {\n return false;\n }\n }\n : () => {\n return false;\n };\nconst atcbIsAndroid = atcbIsBrowser()\n ? () => {\n if (/android/i.test(navigator.userAgent) && !/MSStream/i.test(navigator.userAgent)) {\n return true;\n } else {\n return false;\n }\n }\n : () => {\n return false;\n };\n/*const atcbIsChrome = atcbIsBrowser()\n ? () => {\n if (/chrome|chromium|crios|google inc/i.test(navigator.userAgent)) {\n return true;\n } else {\n return false;\n }\n }\n : () => {\n return false;\n };*/\nconst atcbIsSafari = atcbIsBrowser()\n ? () => {\n if (/^(?:(?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)) {\n return true;\n } else {\n return false;\n }\n }\n : () => {\n return false;\n };\nconst atcbIsMobile = () => {\n if (atcbIsAndroid() || atcbIsiOS()) {\n return true;\n } else {\n return false;\n }\n};\nconst atcbIsWebView = atcbIsBrowser()\n ? () => {\n if (/; ?wv|(?:iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent)) {\n return true;\n } else {\n return false;\n }\n }\n : () => {\n return false;\n };\nconst atcbIsProblematicWebView = atcbIsBrowser()\n ? () => {\n if (/Instagram/i.test(navigator.userAgent)) {\n return true;\n } else {\n return false;\n }\n }\n : () => {\n return false;\n };\nconst atcbDefaultTarget = atcbIsWebView() ? '_system' : '_blank';\nconst atcbOptions = ['apple', 'google', 'ical', 'ms365', 'outlookcom', 'msteams', 'yahoo'];\nconst atcbValidRecurrOptions = ['apple', 'google', 'ical'];\nconst atcbInvalidSubscribeOptions = ['msteams'];\nconst atcbIOSInvalidOptions = ['ical'];\nconst atcbAndroidInvalidOptions = ['apple'];\nconst atcbStates = [];\nconst atcbWcParams = [\n 'debug',\n 'proOverride',\n 'cspnonce',\n 'identifier',\n 'name',\n 'dates',\n 'description',\n 'startDate',\n 'startTime',\n 'endDate',\n 'endTime',\n 'timeZone',\n 'useUserTZ',\n 'location',\n 'status',\n 'uid',\n 'organizer',\n 'attendee',\n 'icsFile',\n 'images',\n 'recurrence',\n 'recurrence_until',\n 'recurrence_byDay',\n 'recurrence_byMonth',\n 'recurrence_byMonthDay',\n 'recurrence_weekstart',\n 'sequence',\n 'recurrence_interval',\n 'recurrence_count',\n 'availability',\n 'created',\n 'updated',\n 'subscribe',\n 'options',\n 'optionsMobile',\n 'optionsIOS',\n 'iCalFileName',\n 'listStyle',\n 'buttonStyle',\n 'trigger',\n 'hideIconButton',\n 'hideIconList',\n 'hideIconModal',\n 'hideTextLabelButton',\n 'hideTextLabelList',\n 'buttonsList',\n 'hideBackground',\n 'hideCheckmark',\n 'hideBranding',\n 'size',\n 'label',\n 'inline',\n 'inlineRsvp',\n 'customLabels',\n 'customCss',\n 'lightMode',\n 'language',\n 'hideRichData',\n 'bypassWebViewCheck',\n 'blockInteraction',\n 'styleLight',\n 'styleDark',\n 'disabled',\n 'hidden',\n 'hideButton',\n 'pastDateHandling',\n 'proxy',\n 'fakeMobile',\n 'fakeIOS',\n 'fakeAndroid',\n 'forceOverlay',\n 'rsvp',\n 'ty',\n 'customVar',\n 'domain',\n 'dev',\n];\nconst atcbWcProParams = [\n 'debug',\n 'proOverride',\n 'cspnonce',\n 'attendee',\n 'images',\n 'size',\n 'inline',\n 'inlineRsvp',\n 'customLabels',\n 'customCss',\n 'lightMode',\n 'language',\n 'bypassWebViewCheck',\n 'blockInteraction',\n 'styleLight',\n 'styleDark',\n 'disabled',\n 'hidden',\n 'fakeMobile',\n 'fakeIOS',\n 'fakeAndroid',\n 'forceOverlay',\n 'customVar',\n 'proxy',\n 'domain',\n 'dev',\n];\nconst atcbWcBooleanParams = [\n 'debug',\n 'proOverride',\n 'useUserTZ',\n 'hideIconButton',\n 'hideIconList',\n 'hideIconModal',\n 'hideTextLabelButton',\n 'hideTextLabelList',\n 'subscribe',\n 'hideBackground',\n 'hideCheckmark',\n 'hideBranding',\n 'inlineRsvp',\n 'hideRichData',\n 'buttonsList',\n 'inline',\n 'bypassWebViewCheck',\n 'blockInteraction',\n 'disabled',\n 'hidden',\n 'hideButton',\n 'proxy',\n 'fakeMobile',\n 'fakeIOS',\n 'fakeAndroid',\n 'forceOverlay',\n 'dev',\n];\nconst atcbWcObjectParams = ['customLabels', 'ty', 'rsvp', 'customVar'];\nconst atcbWcObjectArrayParams = ['dates'];\nconst atcbWcArrayParams = ['images', 'options', 'optionsMobile', 'optionsIOS'];\nconst atcbWcNumberParams = ['sequence', 'recurrence_interval', 'recurrence_count'];\nconst atcbIcon = {\n trigger:\n '',\n apple:\n '',\n google:\n '',\n ical: '',\n msteams:\n '',\n ms365: '',\n outlookcom:\n '',\n yahoo:\n '',\n close:\n '',\n location:\n '',\n warning:\n '',\n checkmark:\n '',\n rsvp: '',\n};\n\n\nasync function atcb_decorate_data(data) {\n data = atcb_decorate_data_boolean(data);\n data.timeZone = atcb_decorate_data_timezone(data.timeZone);\n data = atcb_decorate_data_rrule(data);\n data = atcb_decorate_data_options(data);\n data = atcb_decorate_data_style(data);\n data.sizes = atcb_decorate_sizes(data.size);\n data.lightMode = atcb_decorate_light_mode(data.lightMode);\n data = atcb_decorate_data_i18n(data);\n data = atcb_decorate_data_dates(data);\n data = atcb_decorate_data_meta(data);\n data = atcb_decorate_data_extend(data);\n data = atcb_decorate_data_button_status_handling(data);\n data = await atcb_decorate_data_rsvp(data);\n return data;\n}\nfunction atcb_decorate_data_boolean(data) {\n for (let i = 0; i < atcbWcBooleanParams.length; i++) {\n const attr = atcbWcBooleanParams[`${i}`];\n if (data[`${attr}`]) {\n if (typeof data[`${attr}`] !== 'boolean') {\n const val = data[`${attr}`].toString().trim().toLowerCase() || '';\n data[`${attr}`] = val === '' || val === 'true' ? true : false;\n }\n } else {\n data[`${attr}`] = false;\n }\n }\n return data;\n}\nfunction atcb_decorate_data_timezone(tz = null) {\n if (!tz || tz === '') {\n return 'GMT';\n }\n return tz;\n}\nfunction atcb_decorate_data_rrule(data) {\n if (data.recurrence && data.recurrence !== '') {\n data.recurrence = data.recurrence.replace(/\\s+/g, '').toUpperCase();\n if (!/^(?:RRULE:[\\w=;,:+\\-/\\\\]+|daily|weekly|monthly|yearly)$/im.test(data.recurrence)) {\n data.recurrence = '!wrong rrule format!';\n } else {\n if (/^RRULE:/i.test(data.recurrence)) {\n data.recurrence_simplyfied = false;\n const rruleParts = data.recurrence.substring(6).split(';');\n const rruleObj = new Object();\n rruleParts.forEach(function (rule) {\n rruleObj[rule.split('=')[0]] = rule.split('=')[1];\n });\n data.recurrence_until = rruleObj.UNTIL ? rruleObj.UNTIL : '';\n data.recurrence_count = rruleObj.COUNT ? rruleObj.COUNT : '';\n data.recurrence_byDay = rruleObj.BYDAY ? rruleObj.BYDAY : '';\n data.recurrence_byMonth = rruleObj.BYMONTH ? rruleObj.BYMONTH : '';\n data.recurrence_byMonthDay = rruleObj.BYMONTHDAY ? rruleObj.BYMONTHDAY : '';\n data.recurrence_interval = rruleObj.INTERVAL ? rruleObj.INTERVAL : 1;\n data.recurrence_frequency = rruleObj.FREQ ? rruleObj.FREQ : '';\n } else {\n data.recurrence_simplyfied = true;\n if (!data.recurrence_interval || data.recurrence_interval === '') {\n data.recurrence_interval = 1;\n }\n if (!data.recurrence_weekstart || (data.recurrence_weekstart === '') | (data.recurrence_weekstart.length > 2)) {\n data.recurrence_weekstart = 'MO';\n }\n data.recurrence_frequency = data.recurrence;\n data.recurrence = 'RRULE:FREQ=' + data.recurrence + ';WKST=' + data.recurrence_weekstart + ';INTERVAL=' + data.recurrence_interval;\n if (data.recurrence_until && data.recurrence_until !== '') {\n if (data.endTime && data.endTime !== '') {\n data.recurrence = data.recurrence + ';UNTIL=' + data.recurrence_until.replace(/-/g, '').slice(0, 8) + 'T' + data.endTime.replace(':', '') + '00';\n } else {\n data.recurrence = data.recurrence + ';UNTIL=' + data.recurrence_until.replace(/-/g, '').slice(0, 8);\n }\n }\n if (data.recurrence_count && data.recurrence_count !== '') {\n data.recurrence = data.recurrence + ';COUNT=' + data.recurrence_count;\n }\n if (data.recurrence_byDay && data.recurrence_byDay !== '') {\n data.recurrence = data.recurrence + ';BYDAY=' + data.recurrence_byDay;\n }\n if (data.recurrence_byMonth && data.recurrence_byMonth !== '') {\n data.recurrence = data.recurrence + ';BYMONTH=' + data.recurrence_byMonth;\n }\n if (data.recurrence_byMonthDay && data.recurrence_byMonthDay !== '') {\n data.recurrence = data.recurrence + ';BYMONTHDAY=' + data.recurrence_byMonthDay;\n }\n }\n }\n }\n return data;\n}\nfunction atcb_decorate_data_options(data) {\n const theOptions = (function () {\n if (atcbIsiOS() || data.fakeIOS) {\n if (data.optionsIOS && data.optionsIOS.length > 0) {\n return data.optionsIOS;\n }\n if (data.optionsMobile && data.optionsMobile.length > 0) {\n return data.optionsMobile;\n }\n }\n if ((atcbIsAndroid() || data.fakeMobile || data.fakeAndroid) && data.optionsMobile && data.optionsMobile.length > 0) {\n return data.optionsMobile;\n }\n return data.options || ['ical'];\n })();\n let newOptions = [];\n let iCalGiven = false;\n let appleGiven = false;\n for (let i = 0; i < theOptions.length; i++) {\n const cleanOption = theOptions[`${i}`].split('|');\n const optionName = cleanOption[0].toLowerCase().replace('microsoft', 'ms').replace(/\\./, '');\n if (optionName === 'apple') {\n appleGiven = true;\n }\n if (optionName === 'ical') {\n iCalGiven = true;\n }\n if (\n ((atcbIsiOS() || data.fakeIOS) && atcbIOSInvalidOptions.includes(optionName)) ||\n ((atcbIsAndroid() || data.fakeAndroid) && atcbAndroidInvalidOptions.includes(optionName)) ||\n (data.recurrence && data.recurrence !== '' && (!atcbValidRecurrOptions.includes(optionName) || (data.recurrence_until && data.recurrence_until !== '' && (optionName === 'apple' || optionName === 'ical')) || ((atcbIsiOS() || data.fakeIOS) && optionName === 'google'))) ||\n (data.subscribe && atcbInvalidSubscribeOptions.includes(optionName))\n ) {\n continue;\n }\n if ((atcbIsMobile() || data.fakeMobile) && data.subscribe && (optionName === 'ms365' || optionName === 'outlookcom')) {\n continue;\n }\n newOptions.push(optionName);\n }\n if (data.subscribe && data.icsFile && data.icsFile.startsWith('https://calendar.google.com/calendar/') && !data.icsFile.endsWith('.ics')) {\n newOptions = ['google'];\n }\n if (newOptions.length === 0) {\n if (!atcbIsiOS() && !data.fakeIOS) {\n newOptions.push('ical');\n }\n iCalGiven = true;\n }\n if ((atcbIsiOS() || data.fakeIOS) && iCalGiven && !appleGiven) {\n newOptions.push('apple');\n }\n if ((atcbIsAndroid() || data.fakeAndroid) && appleGiven && !iCalGiven) {\n newOptions.push('ical');\n }\n data.options = newOptions;\n return data;\n}\nfunction atcb_decorate_data_style(data) {\n if (data.inlineRSVP) {\n data.inline = true;\n }\n if (!data.listStyle || data.listStyle === '') {\n data.listStyle = 'dropdown';\n }\n if (data.listStyle === 'modal') {\n data.trigger = 'click';\n }\n if (data.buttonStyle && data.buttonStyle !== '' && data.buttonStyle != 'default') {\n if (data.buttonStyle == 'round' || data.buttonStyle == 'text' || data.buttonStyle == 'date' || data.buttonStyle == 'neumorphism') {\n data.trigger = 'click';\n }\n } else {\n data.buttonStyle = 'default';\n }\n if ((data.buttonStyle == 'default' || data.buttonStyle == '3d' || data.buttonStyle == 'flat') && !data.hideTextLabelList && data.hideTextLabelButton && (data.listStyle == 'dropdown' || data.listStyle == 'dropdown-static' || data.listStyle == 'dropup-static')) {\n data.listStyle = 'overlay';\n }\n if (data.buttonsList && data.buttonStyle == 'date') {\n data.buttonsList = false;\n }\n return data;\n}\nfunction atcb_decorate_sizes(size) {\n const sizes = [];\n sizes['l'] = sizes['m'] = sizes['s'] = 16;\n if (size && size !== '') {\n const sizeParts = size.split('|');\n for (let i = 0; i < sizeParts.length; i++) {\n sizeParts[`${i}`] = parseInt(sizeParts[`${i}`]);\n }\n if (sizeParts[0] >= 0 && sizeParts[0] < 11) {\n sizes['l'] = sizes['m'] = sizes['s'] = 10 + sizeParts[0];\n }\n if (sizeParts.length > 2) {\n if (sizeParts[1] >= 0 && sizeParts[1] < 11) {\n sizes['m'] = 10 + sizeParts[1];\n }\n if (sizeParts[2] >= 0 && sizeParts[2] < 11) {\n sizes['s'] = 10 + sizeParts[2];\n }\n } else if (sizeParts.length == 2) {\n if (sizeParts[1] >= 0 && sizeParts[1] < 11) {\n sizes['m'] = sizes['s'] = 10 + sizeParts[1];\n }\n }\n }\n return sizes;\n}\nfunction atcb_decorate_light_mode(lightMode = '') {\n if (lightMode == 'system' && atcbIsBrowser()) {\n const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)');\n return prefersDarkScheme.matches ? 'dark' : 'light';\n }\n if (lightMode != 'bodyScheme' && lightMode != 'dark') {\n return 'light';\n }\n return lightMode;\n}\nfunction atcb_decorate_data_i18n(data) {\n if (!data.language || data.language === '' || !availableLanguages.includes(data.language)) {\n data.language = 'en';\n }\n if (data.language.length > 2) {\n data.language = data.language.substring(0, 2);\n }\n if (rtlLanguages.includes(data.language)) {\n data.rtl = true;\n } else {\n data.rtl = false;\n }\n return data;\n}\nfunction atcb_decorate_data_dates(data) {\n if (data.dates && data.dates.length > 0) {\n for (let i = 0; i < data.dates.length; i++) {\n if (!data.dates[`${i}`].timeZone && data.timeZone) {\n data.dates[`${i}`].timeZone = data.timeZone;\n }\n if (!data.dates[`${i}`].useUserTZ && data.useUserTZ) {\n data.dates[`${i}`].useUserTZ = data.useUserTZ;\n }\n const cleanedUpDates = atcb_date_cleanup(data.dates[`${i}`]);\n data.dates[`${i}`].startDate = cleanedUpDates.startDate;\n data.dates[`${i}`].endDate = cleanedUpDates.endDate;\n data.dates[`${i}`].startTime = cleanedUpDates.startTime;\n data.dates[`${i}`].endTime = cleanedUpDates.endTime;\n data.dates[`${i}`].timeZone = cleanedUpDates.timeZone;\n data.dates[`${i}`].timestamp = atcb_date_specials_calculation('timestamp', data.dates[`${i}`].startDate, data.dates[`${i}`].startTime, data.dates[`${i}`].timeZone);\n data.dates[`${i}`].overdue = atcb_date_specials_calculation('overdue', data.dates[`${i}`].endDate, data.dates[`${i}`].endTime, data.dates[`${i}`].timeZone);\n }\n } else {\n data.dates = [];\n data.dates[0] = new Object();\n if (data.useUserTZ) data.dates[0].useUserTZ = data.useUserTZ;\n const cleanedUpDates = atcb_date_cleanup(data);\n data.startDate = data.dates[0].startDate = cleanedUpDates.startDate;\n data.endDate = data.dates[0].endDate = cleanedUpDates.endDate;\n data.startTime = data.dates[0].startTime = cleanedUpDates.startTime;\n data.endTime = data.dates[0].endTime = cleanedUpDates.endTime;\n data.timeZone = data.dates[0].timeZone = cleanedUpDates.timeZone;\n if (!data.recurrence) {\n data.dates[0].overdue = atcb_date_specials_calculation('overdue', data.endDate, data.endTime, data.timeZone);\n } else {\n data.dates[0].overdue = false;\n }\n }\n const now = new Date();\n if (!data.created || data.created === '') {\n data.created = atcb_format_datetime(now, 'clean', true);\n }\n if (!data.updated || data.updated === '') {\n data.updated = atcb_format_datetime(now, 'clean', true);\n }\n return data;\n}\nfunction atcb_decorate_data_meta(data) {\n if (!data.status || data.status === '') {\n data.status = 'CONFIRMED';\n }\n if (!data.sequence || data.sequence === '') {\n data.sequence = 0;\n }\n return data;\n}\nfunction atcb_decorate_data_description(data, i) {\n const cleanDescription = (desc) => desc.replace(/(\\\\r\\\\n|\\\\n|\\\\r|)/g, '');\n let description = data.dates[`${i}`].description || data.description || '';\n if (description) {\n description = cleanDescription(description);\n if (data.customVar) {\n for (const key in data.customVar) {\n const sanitizedKey = '%%' + key.replace(/[^\\w\\-.]/g, '') + '%%';\n // eslint-disable-next-line security/detect-non-literal-regexp\n description = description.replace(new RegExp(sanitizedKey, 'gi'), data.customVar[`${key}`]);\n }\n }\n const descriptionHtmlFree = atcb_rewrite_html_elements(description, true);\n const descriptionHtmlFreeICal = atcb_rewrite_html_elements(description, true, true);\n description = atcb_rewrite_html_elements(description);\n data.dates[`${i}`] = { ...data.dates[`${i}`], description, descriptionHtmlFree, descriptionHtmlFreeICal };\n } else {\n data.dates[`${i}`].descriptionHtmlFree = data.dates[`${i}`].descriptionHtmlFreeICal = data.dates[`${i}`].description = '';\n }\n return data;\n}\nfunction atcb_decorate_data_extend(data) {\n for (let i = 0; i < data.dates.length; i++) {\n data = atcb_decorate_data_description(data, i);\n if (!data.dates[`${i}`].name || data.dates[`${i}`].name === '') {\n data.dates[`${i}`].name = data.name;\n }\n if (!data.dates[`${i}`].status) {\n data.dates[`${i}`].status = data.status.toUpperCase();\n } else {\n data.dates[`${i}`].status = data.dates[`${i}`].status.toUpperCase();\n }\n if (!data.dates[`${i}`].sequence) {\n data.dates[`${i}`].sequence = data.sequence;\n }\n if (!data.dates[`${i}`].organizer && data.organizer) {\n data.dates[`${i}`].organizer = data.organizer;\n }\n if (!data.dates[`${i}`].attendee && data.attendee) {\n data.dates[`${i}`].attendee = data.attendee;\n }\n if (!data.dates[`${i}`].availability && data.availability) {\n data.dates[`${i}`].availability = data.availability.toLowerCase();\n } else if (data.dates[`${i}`].availability) {\n data.dates[`${i}`].availability = data.dates[`${i}`].availability.toLowerCase();\n }\n if (!data.dates[`${i}`].location && data.location) {\n data.dates[`${i}`].location = data.location;\n }\n if (data.dates[`${i}`].location && data.dates[`${i}`].location.startsWith('http')) {\n data.dates[`${i}`].onlineEvent = true;\n } else {\n data.dates[`${i}`].onlineEvent = false;\n }\n if (!data.dates[`${i}`].uid) {\n if (i === 0 && data.uid && data.uid !== '') {\n data.dates[0].uid = data.uid;\n } else {\n if (data.uid && data.uid !== '') {\n data.dates[`${i}`].uid = data.uid + '-' + (i + 1);\n } else {\n data.dates[`${i}`].uid = atcb_generate_uuid();\n }\n }\n }\n if (data.customVar) {\n for (const key in data.customVar) {\n const sanitizedKey = '%%' + key.replace(/[^\\w\\-.]/g, '') + '%%';\n // eslint-disable-next-line security/detect-non-literal-regexp\n data.dates[`${i}`].name = data.dates[`${i}`].name.replace(new RegExp(sanitizedKey, 'gi'), data.customVar[`${key}`]);\n // eslint-disable-next-line security/detect-non-literal-regexp\n data.dates[`${i}`].location = data.dates[`${i}`].location.replace(new RegExp(sanitizedKey, 'gi'), data.customVar[`${key}`]);\n }\n }\n }\n if (data.recurrence && data.recurrence !== '') {\n data.dates[0].recurrence = data.recurrence;\n }\n if (data.dates.length > 1) {\n data.dates.sort((a, b) => a.timestamp - b.timestamp);\n }\n return data;\n}\nfunction atcb_date_cleanup(dateTimeData) {\n function isValidDateFormat(dateStr) {\n return /^\\d\\d\\d\\d-\\d\\d-\\d\\d(?:T\\d\\d:\\d\\d)?(?::\\d\\d)?(?:.\\d\\d\\d)?Z?$/i.test(dateStr);\n }\n function isValidTodayFormat(dateStr) {\n return /^today(?:\\+(?:\\d|\\d\\d|\\d\\d\\d|\\d\\d\\d\\d))?$/i.test(dateStr);\n }\n if (!dateTimeData.endDate || dateTimeData.endDate === '') {\n dateTimeData.endDate = dateTimeData.startDate;\n }\n const endpoints = ['start', 'end'];\n endpoints.forEach(function (point) {\n const dateStr = dateTimeData[point + 'Date'];\n if (!isValidDateFormat(dateStr) && !isValidTodayFormat(dateStr)) {\n dateTimeData[point + 'Date'] = 'badly-formed';\n } else {\n if (isValidTodayFormat(dateStr)) dateTimeData[point + 'Date'] = atcb_date_calculation(dateStr);\n if (dateTimeData[point + 'Date']) {\n const tmpSplitStartDate = dateTimeData[point + 'Date'].split('T');\n if (tmpSplitStartDate[1]) {\n dateTimeData[point + 'Date'] = tmpSplitStartDate[0];\n dateTimeData[point + 'Time'] = tmpSplitStartDate[1];\n }\n }\n if (dateTimeData[point + 'Time'] && dateTimeData[point + 'Time'].length > 5) {\n dateTimeData[point + 'Time'] = dateTimeData[point + 'Time'].substring(0, 5);\n }\n }\n });\n if (dateTimeData.timeZone === 'currentBrowser' || dateTimeData.useUserTZ) {\n const browserTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone || 'GMT';\n if (dateTimeData.useUserTZ && dateTimeData.startTime && dateTimeData.startTime !== '' && dateTimeData.endTime && dateTimeData.endTime !== '') {\n const newStartDateTime = atcb_translate_via_time_zone(dateTimeData.startDate, dateTimeData.startTime, dateTimeData.timeZone, browserTimezone);\n const newEndDateTime = atcb_translate_via_time_zone(dateTimeData.endDate, dateTimeData.endTime, dateTimeData.timeZone, browserTimezone);\n dateTimeData.startDate = newStartDateTime[0];\n dateTimeData.startTime = newStartDateTime[1];\n dateTimeData.endDate = newEndDateTime[0];\n dateTimeData.endTime = newEndDateTime[1];\n }\n dateTimeData.timeZone = browserTimezone;\n }\n return dateTimeData;\n}\nfunction atcb_date_specials_calculation(type, dateString, timeString = null, timeZone) {\n try {\n const tmpDate = (function () {\n if (timeString) {\n const offsetEnd = tzlib_get_offset(timeZone, dateString, timeString);\n return new Date(dateString + ' ' + timeString + ':00 GMT' + offsetEnd);\n }\n return new Date(dateString);\n })();\n if (type === 'timestamp') {\n return tmpDate.getTime();\n }\n if (!timeString) {\n tmpDate.setDate(tmpDate.getDate() + 1);\n }\n const currentUtcDate = new Date().toISOString();\n return tmpDate.getTime() < new Date(currentUtcDate).getTime();\n } catch {\n return false;\n }\n}\nfunction atcb_date_calculation(dateString) {\n const today = new Date();\n const todayString = today.getUTCFullYear() + '-' + (today.getUTCMonth() + 1) + '-' + today.getUTCDate();\n dateString = dateString.replace(/today/gi, todayString);\n const dateStringParts = dateString.split('+');\n const dateParts = dateStringParts[0].split('-');\n const newDate = new Date(Date.UTC(dateParts[0], dateParts[1] - 1, dateParts[2].substring(0, 2)));\n if (dateStringParts[1] && dateStringParts[1] > 0) {\n newDate.setDate(newDate.getDate() + parseInt(dateStringParts[1]));\n }\n try {\n return newDate.toISOString().replace(/T(\\d{2}:\\d{2}:\\d{2}\\.\\d{3})Z/g, '');\n } catch {\n return false;\n }\n}\nfunction atcb_decorate_data_button_status_handling(data) {\n if (!data.pastDateHandling || (data.pastDateHandling != 'disable' && data.pastDateHandling != 'hide')) {\n data.pastDateHandling = 'none';\n }\n data.allOverdue = (function () {\n for (let i = 0; i < data.dates.length; i++) {\n if (!data.dates[`${i}`].overdue) {\n return false;\n }\n }\n return true;\n })();\n if (data.allOverdue) {\n if (data.pastDateHandling == 'disable') {\n data.disabled = true;\n } else if (data.pastDateHandling == 'hide') {\n data.hidden = true;\n }\n }\n data.allCancelled = (function () {\n for (let i = 0; i < data.dates.length; i++) {\n if (!data.dates[`${i}`].status || data.dates[`${i}`].status.toLowerCase() !== 'cancelled') {\n return false;\n }\n }\n return true;\n })();\n if (data.disabled || data.hidden) {\n data.blockInteraction = true;\n }\n return data;\n}\nasync function atcb_decorate_data_rsvp(data) {\n if (typeof atcb_check_bookings !== 'function' || !data.rsvp || !data.proKey || Object.keys(data.rsvp).length === 0) return data;\n data.rsvp.expired = (function () {\n if (data.rsvp && data.rsvp.expires && new Date(data.rsvp.expires) < new Date()) {\n return true;\n }\n return false;\n })();\n if (data.rsvp.max) {\n const bookings = await atcb_check_bookings(data.proKey, data.dev);\n data.rsvp.seatsLeft = data.rsvp.max - bookings;\n if (data.rsvp.seatsLeft < 1) {\n data.rsvp.bookedOut = true;\n }\n if (data.rsvp.expired || data.rsvp.bookedOut) {\n data.blockInteraction = true;\n }\n if (data.blockInteraction) {\n data.disabled = true;\n }\n }\n return data;\n}\n\n\nasync function atcb_check_required(data) {\n if (!data.name || data.name === '') {\n throw new Error('Add to Calendar Button generation failed: required name information missing');\n }\n if (data.dates != null && data.dates.length > 0) {\n if (data.subscribe === true && data.dates.length > 1) {\n throw new Error('Add to Calendar Button generation failed: a subscription calendar cannot be a multi-date setup');\n }\n const requiredMultiField = ['name', 'startDate'];\n const requiredMultiFieldFlex = ['name'];\n return requiredMultiField.every(function (field) {\n for (let i = 0; i < data.dates.length; i++) {\n if (\n (!requiredMultiFieldFlex.includes(`${field}`) && (!data.dates[`${i}`][`${field}`] || data.dates[`${i}`][`${field}`] === '')) ||\n (requiredMultiFieldFlex.includes(`${field}`) && (!data.dates[`${i}`][`${field}`] || data.dates[`${i}`][`${field}`] === '') && (!data[`${field}`] || data[`${field}`] === ''))\n ) {\n if (!data.subscribe || field !== 'startDate') {\n throw new Error('Add to Calendar Button generation failed: required setting missing [dates array object #' + (i + 1) + '/' + data.dates.length + '] => [' + field + ']');\n } else {\n data.dates[`${i}`].startDate = 'today';\n }\n }\n }\n return true;\n });\n } else {\n const requiredSingleField = ['startDate'];\n return requiredSingleField.every(function (field) {\n if (!data[`${field}`] || data[`${field}`] === '') {\n if (!data.subscribe || field !== 'startDate') {\n throw new Error('Add to Calendar Button generation failed: required setting missing [' + field + ']');\n } else {\n data.startDate = 'today';\n }\n }\n return true;\n });\n }\n}\nasync function atcb_validate(data) {\n const msgPrefix = 'Add to Calendar Button generation (' + data.identifier + ')';\n try {\n await atcb_validate_icsFile(data, msgPrefix);\n await atcb_validate_buttonStyle(data, msgPrefix);\n await atcb_validate_subscribe(data, msgPrefix);\n await atcb_validate_created(data, msgPrefix);\n await atcb_validate_updated(data, msgPrefix);\n await atcb_validate_options(data, msgPrefix);\n await atcb_validate_date_blocks(data, msgPrefix);\n await atcb_validate_rrule(data, msgPrefix);\n if (data.recurrence_simplyfied) {\n await atcb_validate_rrule_simplyfied(data, msgPrefix);\n }\n return true;\n } catch (e) {\n throw new Error(e.message);\n }\n}\nasync function atcb_validate_icsFile(data, msgPrefix, i = '', msgSuffix = '') {\n const icsFileStr = (function () {\n if (i !== '' && data.dates[`${i}`].icsFile) {\n return data.dates[`${i}`].icsFile;\n }\n if (i === '' && data.icsFile) {\n return data.icsFile;\n }\n return '';\n })();\n if (icsFileStr !== '') {\n if (!atcb_secure_url(icsFileStr, false) || (!data.icsFile.startsWith('https://') && !data.icsFile.startsWith('http://'))) {\n throw new Error(msgPrefix + ' failed: explicit ics file path not valid' + msgSuffix);\n }\n }\n return true;\n}\nasync function atcb_validate_buttonStyle(data, msgPrefix) {\n const availableStyles = ['default', '3d', 'flat', 'round', 'neumorphism', 'text', 'date', 'custom', 'none'];\n if (!availableStyles.includes(data.buttonStyle)) {\n throw new Error(msgPrefix + ' failed: provided buttonStyle invalid');\n }\n if (data.customCss && data.customCss !== '' && (!atcb_secure_url(data.customCss, false) || !/\\.css(?:$|\\?)/.test(data.customCss))) {\n throw new Error(msgPrefix + ' failed: customCss provided, but no valid url');\n }\n if ((!data.customCss || data.customCss === '') && data.buttonStyle === 'custom') {\n throw new Error(msgPrefix + ' failed: buttonStyle \"custom\" selected, but no customCss file provided');\n }\n if (data.rsvp && (data.buttonStyle === 'date' || data.buttonStyle === 'none')) {\n throw new Error(msgPrefix + ' failed: buttonStyle ' + data.buttonStyle + ' is not compatible with the RSVP functionality');\n }\n return true;\n}\nasync function atcb_validate_subscribe(data, msgPrefix) {\n if (data.subscribe === true && (!data.icsFile || data.icsFile === '')) {\n throw new Error(msgPrefix + ' failed: a subscription calendar requires a valid explicit ics file as well');\n }\n return true;\n}\nasync function atcb_validate_created(data, msgPrefix) {\n if (!/^\\d{8}T\\d{6}Z$/.test(data.created)) {\n throw new Error(msgPrefix + ' failed: created date format not valid. Needs to be a full ISO-8601 UTC date and time string, formatted YYYYMMDDTHHMMSSZ');\n }\n return true;\n}\nasync function atcb_validate_updated(data, msgPrefix) {\n if (!/^\\d{8}T\\d{6}Z$/.test(data.updated)) {\n throw new Error(msgPrefix + ' failed: updated date format not valid. Needs to be a full ISO-8601 UTC date and time string, formatted YYYYMMDDTHHMMSSZ');\n }\n return true;\n}\nasync function atcb_validate_options(data, msgPrefix) {\n const isValid = data.options.every((option) => {\n if (!atcbOptions.includes(option)) {\n throw new Error(`${msgPrefix} failed: invalid option [${option}]`);\n }\n return true;\n });\n return isValid;\n}\nasync function atcb_validate_date_blocks(data, msgPrefix) {\n try {\n for (let i = 0; i < data.dates.length; i++) {\n const msgSuffix = (function () {\n if (data.dates.length === 1) {\n return '';\n } else {\n return ' [dates array object #' + (i + 1) + '/' + data.dates.length + '] ';\n }\n })();\n await atcb_validate_icsFile(data, msgPrefix, i, msgSuffix);\n await atcb_validate_status(data, msgPrefix, i, msgSuffix);\n await atcb_validate_availability(data, msgPrefix, i, msgSuffix);\n await atcb_validate_organizer(data, msgPrefix, i, msgSuffix);\n await atcb_validate_attendee(data, msgPrefix, i, msgSuffix);\n await atcb_validate_uid(data, msgPrefix, i, msgSuffix);\n await atcb_validate_sequence(data, msgPrefix, i, msgSuffix);\n await atcb_validate_timezone(data, msgPrefix, i, msgSuffix);\n await atcb_validate_datetime(data, msgPrefix, i, msgSuffix);\n }\n return true;\n } catch (e) {\n throw new Error(e.message);\n }\n}\nasync function atcb_validate_status(data, msgPrefix, i, msgSuffix) {\n const allowedStatuses = ['tentative', 'confirmed', 'cancelled'];\n if (!allowedStatuses.includes(data.dates[`${i}`].status.toLowerCase())) {\n throw new Error(msgPrefix + ' failed: event status needs to be TENTATIVE, CONFIRMED, or CANCELLED' + msgSuffix);\n }\n return true;\n}\nasync function atcb_validate_availability(data, msgPrefix, i, msgSuffix) {\n if (data.dates[`${i}`].availability && data.dates[`${i}`].availability !== '' && data.dates[`${i}`].availability !== 'free' && data.dates[`${i}`].availability !== 'busy') {\n throw new Error(msgPrefix + ' failed: event availability needs to be \"free\" or \"busy\"' + msgSuffix);\n }\n return true;\n}\nasync function atcb_validate_organizer(data, msgPrefix, i, msgSuffix) {\n if (data.dates[`${i}`].organizer && data.dates[`${i}`].organizer !== '') {\n const organizerParts = data.dates[`${i}`].organizer.split('|');\n if (organizerParts.length !== 2 || organizerParts[0].length > 50 || organizerParts[1].length > 100 || !atcb_validEmail(organizerParts[1])) {\n throw new Error(msgPrefix + ' failed: organizer needs to match the schema \"NAME|EMAIL\" with a valid email address' + msgSuffix);\n }\n }\n return true;\n}\nasync function atcb_validate_attendee(data, msgPrefix, i, msgSuffix) {\n if (data.dates[`${i}`].attendee && data.dates[`${i}`].attendee !== '') {\n if (!data.dates[`${i}`].organizer || data.dates[`${i}`].organizer === '') {\n throw new Error(msgPrefix + ' failed: if an attendee is set, you also need to set the organizer' + msgSuffix);\n }\n const attendeeParts = data.dates[`${i}`].attendee.split('|');\n if (attendeeParts.length === 1 && atcb_validEmail(attendeeParts[0])) {\n return true;\n }\n if (attendeeParts.length !== 2 || attendeeParts[0].length > 50 || attendeeParts[1].length > 100 || !atcb_validEmail(attendeeParts[1])) {\n throw new Error(msgPrefix + ' failed: attendee needs to be a valid email address or match the schema \"NAME|EMAIL\" with EMAIL being a valid email address' + msgSuffix);\n }\n }\n return true;\n}\nasync function atcb_validate_uid(data, msgPrefix, i, msgSuffix) {\n if (!/^(?:\\w|-){1,254}$/.test(data.dates[`${i}`].uid)) {\n if (data.debug) {\n console.warn(msgPrefix + ': UID not valid. May only contain alpha, digits, and dashes; and be less than 255 characters. Falling back to an automated value!' + msgSuffix);\n }\n data.dates[`${i}`].uid = atcb_generate_uuid();\n }\n if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(data.dates[`${i}`].uid) && data.debug) {\n console.warn(msgPrefix + ': UID is highly recommended to be a hex-encoded random Universally Unique Identifier (UUID)!' + msgSuffix);\n }\n return true;\n}\nasync function atcb_validate_sequence(data, msgPrefix, i, msgSuffix) {\n if (data.dates[`${i}`].sequence && (data.dates[`${i}`].sequence < 0 || data.dates[`${i}`].sequence % 1 !== 0)) {\n if (data.debug) {\n console.log(msgPrefix + ': sequence needs to be a full number >= 0. Used the default 0 instead' + msgSuffix);\n }\n data.dates[`${i}`].sequence = 0;\n }\n return true;\n}\nasync function atcb_validate_timezone(data, msgPrefix, i, msgSuffix) {\n const validTimeZones = tzlib_get_timezones();\n if (!validTimeZones.includes(data.dates[`${i}`].timeZone)) {\n throw new Error(msgPrefix + ' failed: invalid time zone given' + msgSuffix);\n }\n return true;\n}\nasync function atcb_validate_datetime(data, msgPrefix, i, msgSuffix) {\n const selectedDate = data.dates[`${i}`];\n const dates = ['startDate', 'endDate'];\n const newDate = {};\n dates.forEach((date) => {\n const dateString = selectedDate[`${date}`];\n if (dateString.length !== 10) {\n throw new Error(`${msgPrefix} failed: date misspelled [-> YYYY-MM-DD]${msgSuffix}`);\n }\n const dateParts = dateString.split('-');\n if (dateParts.length !== 3) {\n throw new Error(`${msgPrefix} failed: date misspelled [${date}: ${dateString}]${msgSuffix}`);\n }\n newDate[`${date}`] = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);\n });\n const times = ['startTime', 'endTime'];\n times.forEach((time) => {\n const timeString = selectedDate[`${time}`];\n if (timeString) {\n if (timeString.length !== 5) {\n throw new Error(`${msgPrefix} failed: time misspelled [-> HH:MM]${msgSuffix}`);\n }\n const timeParts = timeString.split(':');\n if (timeParts.length !== 2 || timeParts[0] > 23 || timeParts[1] > 59) {\n throw new Error(`${msgPrefix} failed: time misspelled [${time}: ${timeString}]${msgSuffix}`);\n }\n const dateKey = time === 'startTime' ? 'startDate' : 'endDate';\n newDate[`${dateKey}`] = new Date(newDate[`${dateKey}`].getTime() + parseInt(timeParts[0], 10) * 3600000 + parseInt(timeParts[1], 10) * 60000);\n }\n });\n if ((selectedDate.startTime && !selectedDate.endTime) || (!selectedDate.startTime && selectedDate.endTime)) {\n throw new Error(`${msgPrefix} failed: if you set a starting or end time, the respective other one also needs to be defined${msgSuffix}`);\n }\n if (newDate.endDate < newDate.startDate) {\n throw new Error(`${msgPrefix} failed: end date before start date${msgSuffix}`);\n }\n return true;\n}\nasync function atcb_validate_rrule(data, msgPrefix) {\n if (data.recurrence && data.recurrence !== '' && data.dates.length > 1) {\n throw new Error(msgPrefix + ' failed: RRULE and multi-date set at the same time');\n }\n if (data.recurrence && data.recurrence !== '' && !/^RRULE:[\\w=;,:+\\-/\\\\]+$/i.test(data.recurrence)) {\n throw new Error(msgPrefix + ' failed: RRULE data misspelled');\n }\n return true;\n}\nasync function atcb_validate_rrule_simplyfied(data, msgPrefix) {\n if (data.recurrence_interval && (data.recurrence_interval < 1 || data.recurrence_interval % 1 !== 0)) {\n throw new Error(msgPrefix + ' failed: recurrence data (interval) misspelled');\n }\n if (data.recurrence_until && data.recurrence_until !== '' && !/^[\\d\\-:]+$/.test(data.recurrence_until)) {\n throw new Error(msgPrefix + ' failed: recurrence data (until) misspelled');\n }\n if (data.recurrence_count && (data.recurrence_count < 1 || data.recurrence_count % 1 !== 0)) {\n throw new Error(msgPrefix + ' failed: recurrence data (interval) misspelled');\n }\n if (data.recurrence_byMonth && data.recurrence_byMonth !== '' && !/^[\\d,]+$/.test(data.recurrence_byMonth)) {\n throw new Error(msgPrefix + ' failed: recurrence data (byMonth) misspelled');\n }\n if (data.recurrence_byMonthDay && data.recurrence_byMonthDay !== '' && !/^[\\d,]+$/.test(data.recurrence_byMonthDay)) {\n throw new Error(msgPrefix + ' failed: recurrence data (byMonthDay) misspelled');\n }\n if (data.recurrence_byDay && data.recurrence_byDay !== '' && !/^(?:[\\d,-]|MO|TU|WE|TH|FR|SA|SU)+$/im.test(data.recurrence_byDay)) {\n throw new Error(msgPrefix + ' failed: recurrence data (byDay) misspelled');\n }\n if (data.recurrence_weekstart && data.recurrence_weekstart !== '' && !/^(?:MO|TU|WE|TH|FR|SA|SU)$/im.test(data.recurrence_weekstart)) {\n throw new Error(msgPrefix + ' failed: recurrence data (weekstart) misspelled');\n }\n return true;\n}\n\n\nfunction atcb_toggle(host, action, data = '', button = null, keyboardTrigger = false, generatedButton = false) {\n if (action == 'open') {\n atcb_open(host, data, button, keyboardTrigger, generatedButton);\n } else if (action == 'close' || button.classList.contains('atcb-active') || host.querySelector('.atcb-active-modal')) {\n atcb_close(host, keyboardTrigger);\n } else {\n atcb_open(host, data, button, keyboardTrigger, generatedButton);\n }\n}\nasync function atcb_open(host, data, button = null, keyboardTrigger = false, generatedButton = false) {\n if (host.querySelector('.atcb-list') || host.querySelector('.atcb-modal')) return;\n atcb_log_event('openList', data.identifier, data.identifier);\n atcbStates['active'] = data.identifier;\n const list = atcb_generate_dropdown_list(host, data);\n const listWrapper = document.createElement('div');\n listWrapper.classList.add('atcb-list-wrapper');\n listWrapper.setAttribute('part', 'atcb-list-wrapper');\n if (data.hideTextLabelList) {\n listWrapper.classList.add('atcb-no-text');\n }\n if (button) {\n button.classList.add('atcb-active');\n button.setAttribute('aria-expanded', true);\n if (data.listStyle === 'modal') {\n button.classList.add('atcb-modal-style');\n list.classList.add('atcb-modal');\n } else {\n listWrapper.append(list);\n listWrapper.classList.add('atcb-dropdown');\n if (data.listStyle === 'overlay') {\n listWrapper.classList.add('atcb-dropoverlay');\n }\n }\n if (generatedButton) {\n list.classList.add('atcb-generated-button'); \n }\n } else {\n list.classList.add('atcb-modal');\n }\n const bgOverlay = atcb_generate_bg_overlay(host, data.trigger, data.listStyle === 'modal', !data.hideBackground);\n if (data.listStyle === 'modal') {\n const modalHost = await atcb_generate_modal_host(host, data);\n modalHost.querySelector('.atcb-modal-host-initialized').append(bgOverlay);\n bgOverlay.append(list);\n if (!data.hideBranding) {\n atcb_create_atcbl(modalHost, false);\n }\n atcb_set_sizes(list, data.sizes);\n atcb_manage_body_scroll(modalHost);\n atcb_set_fullsize(bgOverlay);\n } else {\n if (data.forceOverlay) {\n host = await atcb_generate_overlay_dom(host, data);\n button = host.querySelector('button.atcb-button');\n }\n host.querySelector('.atcb-initialized').append(listWrapper);\n listWrapper.append(list);\n if (data.buttonStyle != 'default') {\n listWrapper.classList.add('atcb-style-' + data.buttonStyle);\n }\n if (!data.hideBranding) {\n atcb_create_atcbl(host);\n }\n host.append(bgOverlay);\n atcb_set_sizes(list, data.sizes);\n listWrapper.style.display = 'none';\n setTimeout(function () {\n listWrapper.style.display = 'block';\n if (data.listStyle === 'dropdown-static') {\n atcb_position_list(host, button, listWrapper, true);\n } else if (data.listStyle === 'dropup-static') {\n atcb_position_list(host, button, listWrapper, false, true);\n } else {\n atcb_position_list(host, button, listWrapper);\n }\n }, 5);\n atcb_set_fullsize(bgOverlay);\n }\n const focusEl = (function () {\n const hostEl = host.querySelector('.atcb-list-item');\n if (hostEl) {\n return hostEl;\n }\n const modalHost = document.getElementById(data.identifier + '-modal-host');\n if (!modalHost) {\n return;\n }\n return modalHost.shadowRoot.querySelector('.atcb-list-item');\n })();\n if (focusEl) {\n if (keyboardTrigger) {\n focusEl.focus();\n } else {\n focusEl.focus({ preventScroll: true });\n focusEl.blur();\n }\n }\n}\nfunction atcb_close(host, keyboardTrigger = false) {\n const existingModalHost = document.getElementById(host.host.getAttribute('atcb-button-id') + '-modal-host');\n const allModals = (function () {\n if (!existingModalHost || existingModalHost.length === 0) {\n return [];\n }\n return existingModalHost.shadowRoot.querySelectorAll('.atcb-modal[data-modal-nr]');\n })();\n if (allModals.length > 1) {\n existingModalHost.shadowRoot.querySelectorAll('.atcb-modal[data-modal-nr=\"' + allModals.length + '\"]')[0].remove();\n const nextModal = existingModalHost.shadowRoot.querySelectorAll('.atcb-modal[data-modal-nr=\"' + (allModals.length - 1) + '\"]')[0];\n nextModal.classList.remove('atcb-hidden');\n let focusEl = nextModal;\n const availableButtons = nextModal.getElementsByTagName('button');\n if (availableButtons.length > 0) {\n focusEl = availableButtons[0];\n }\n focusEl.focus();\n if (!keyboardTrigger) {\n focusEl.blur();\n }\n } else {\n const newFocusEl = (function () {\n const hostEl = host.querySelector('.atcb-active, .atcb-active-modal');\n if (hostEl) {\n return hostEl;\n }\n return document.querySelector('.atcb-active, .atcb-active-modal');\n })();\n if (newFocusEl) {\n newFocusEl.focus({ preventScroll: true });\n if (!keyboardTrigger) {\n newFocusEl.blur();\n }\n }\n Array.from(host.querySelectorAll('.atcb-active')).forEach((button) => {\n button.classList.remove('atcb-active');\n button.setAttribute('aria-expanded', false);\n });\n Array.from(host.querySelectorAll('.atcb-active-modal')).forEach((modal) => {\n modal.classList.remove('atcb-active-modal');\n });\n Array.from(document.querySelectorAll('.atcb-active')).forEach((button) => {\n button.classList.remove('atcb-active');\n button.setAttribute('aria-expanded', false);\n });\n Array.from(document.querySelectorAll('.atcb-active-modal')).forEach((modal) => {\n modal.classList.remove('atcb-active-modal');\n });\n if (existingModalHost) {\n existingModalHost.remove();\n }\n document.body.classList.remove('atcb-modal-no-scroll');\n document.documentElement.classList.remove('atcb-modal-no-scroll');\n Array.from(host.querySelectorAll('.atcb-list-wrapper'))\n .concat(Array.from(host.querySelectorAll('.atcb-list')))\n .concat(Array.from(host.querySelectorAll('#atcb-reference')))\n .concat(Array.from(host.querySelectorAll('#atcb-bgoverlay')))\n .forEach((el) => el.remove());\n const hiddenButton = document.querySelector('.atcb-shadow-hide');\n if (hiddenButton) {\n hiddenButton.shadowRoot.querySelector('.atcb-initialized').style.opacity = '1';\n hiddenButton.classList.remove('atcb-shadow-hide');\n window.removeEventListener('scroll', atcb_position_shadow_button_listener);\n window.removeEventListener('resize', atcb_position_shadow_button_listener);\n }\n atcbStates['active'] = '';\n }\n}\n\n\nasync function atcb_generate_ty(hostEl, dataObj) {\n let host = hostEl;\n let data = dataObj;\n if (!hostEl.host) {\n host = host.shadowRoot;\n data = await atcb_decorate_data(data);\n }\n const copyIcon =\n '';\n const copiedIcon =\n '';\n const mailIcon =\n '';\n /*!\n * @preserve\n * PER LICENSE AGREEMENT, YOU ARE NOT ALLOWED TO REMOVE OR CHANGE THIS FUNCTION!\n */\n if ((!data.proKey || data.proKey === '') && !window.location.hostname.match(/^(localhost|.*\\.add-to-calendar-pro.com)$/)) {\n return;\n }\n const tyHost = await atcb_generate_modal_host(host, data);\n atcb_set_fullsize(tyHost.querySelector('.atcb-modal-host-initialized'));\n const tyData = data.ty;\n if ((tyData.type === 'link' || tyData.type === 'form') && (!tyData.url || tyData.url === '' || !tyData.url.startsWith('http'))) {\n tyData.type = 'text';\n }\n if (!tyData.headline || tyData.headline === '') {\n tyData.headline = atcb_translate_hook('thankyou', data) + '!';\n }\n let tyContent = '

' + atcb_translate_hook('form.success', data) + '

';\n if (tyData.text && tyData.text !== '') {\n tyContent += atcb_rewrite_html_elements(tyData.text);\n }\n if (tyData.type === 'share') {\n tyContent += `

\n \n ${mailIcon}\n ${atcb_translate_hook('label.share.email', data)}\n \n \n

`;\n }\n let header = {};\n if (tyData.type === 'form') {\n const noIntro = !tyData.text || tyData.text === '' || tyData.text === undefined;\n const label = (function () {\n if (tyData.button_label && tyData.button_label !== '') {\n return tyData.button_label;\n }\n return atcb_translate_hook('submit', data);\n })();\n tyContent += '
';\n if (tyData.fields && tyData.fields.length > 0) {\n const headerField = tyData.fields.find((field) => field.name === 'header' && field.type === 'hidden');\n if (headerField && headerField.default && headerField.default !== '' && headerField.default.startsWith('{')) {\n try {\n header = JSON.parse(headerField.default);\n if (Object.keys(header).length === 0) {\n header.atcb = true;\n }\n tyData.fields = tyData.fields.filter((field) => field.name !== 'header');\n } catch {\n /* do nothing */\n }\n }\n const customForm = atcb_build_form(tyData.fields, data.identifier + '-ty');\n tyData.fields = customForm.fields;\n tyContent += customForm.html;\n }\n tyContent += '

';\n tyContent += '

...

';\n tyContent += '
';\n }\n if (tyData.type === 'link') {\n const label = (function () {\n if (tyData.button_label && tyData.button_label !== '') {\n return tyData.button_label;\n }\n return atcb_translate_hook('continue', data);\n })();\n tyContent += '

' + label + '

';\n }\n tyContent += '
';\n await atcb_create_modal(tyHost, data, 'checkmark', tyData.headline, tyContent);\n if (tyData.type === 'share') {\n const copyBtn = tyHost.getElementById('atcb-ty-share-copy');\n copyBtn.addEventListener('click', function () {\n atcb_copy_to_clipboard(tyData.url);\n copyBtn.innerHTML = copiedIcon + atcb_translate_hook('label.share.copied', data) + '!';\n setTimeout(function () {\n copyBtn.innerHTML = copyIcon + atcb_translate_hook('label.share.copy', data);\n }, 3000);\n });\n copyBtn.addEventListener('keyup', function (event) {\n if (event.key === 'Enter') {\n event.preventDefault();\n copyBtn.click();\n }\n });\n }\n if (tyData.type === 'form') {\n const tyForm = tyHost.getElementById(data.identifier + '-ty-form');\n const errorMsg = tyHost.getElementById('submit-error');\n const tyFormSubmit = tyHost.getElementById('pro-form-submit');\n const tyFormSubmitting = tyHost.getElementById('pro-form-submitting');\n tyFormSubmit.addEventListener('click', async function (e) {\n e.preventDefault();\n tyFormSubmitting.style.display = 'block';\n tyFormSubmit.style.display = 'none';\n let valid = atcb_validate_form(tyHost, tyData.fields);\n if (!valid) {\n errorMsg.textContent = atcb_translate_hook('form.error.required', data) + '.';\n }\n if (valid) {\n const bodyData = [];\n let skipRadio = false;\n tyData.fields.forEach((field) => {\n if (field.type !== 'label') {\n if (field.type === 'radio') {\n if (!skipRadio) {\n const radioGroup = tyHost.querySelectorAll('[name=\"' + field.name + '\"]');\n radioGroup.forEach(function (radio) {\n if (radio.checked) {\n bodyData.push({ name: field.name, value: radio.value });\n }\n });\n skipRadio = true;\n }\n } else if (field.type === 'checkbox') {\n bodyData.push({ name: field.name, value: tyHost.getElementById(field.fieldId).checked });\n skipRadio = false;\n } else {\n bodyData.push({ name: field.name, value: tyHost.getElementById(field.fieldId).value });\n skipRadio = false;\n }\n }\n });\n const request = await sendPostRequest(tyData.url, bodyData, header);\n if (request === true) {\n tyHost.getElementById('ty-success-msg').style.display = 'block';\n tyHost.getElementById('ty-content').style.display = 'none';\n return;\n }\n errorMsg.textContent = atcb_translate_hook('form.error.sending', data) + '.';\n }\n tyForm.classList.add('form-error');\n tyFormSubmitting.style.display = 'none';\n tyFormSubmit.style.display = 'block';\n });\n tyFormSubmit.addEventListener('keyup', function (event) {\n if (event.key === 'Enter') {\n event.preventDefault();\n tyFormSubmit.click();\n }\n });\n }\n}\nasync function atcb_generate_rsvp_form(host, data, hostEl, keyboardTrigger = false) {\n /*!\n * @preserve\n * PER LICENSE AGREEMENT, YOU ARE NOT ALLOWED TO REMOVE OR CHANGE THIS FUNCTION!\n */\n const rsvpData = data.rsvp;\n const noIntro = !rsvpData.text || rsvpData.text === '' || rsvpData.text === undefined;\n const noHeadline = !rsvpData.headline || rsvpData.headline === '' || rsvpData.headline === undefined;\n let hiddenContent = '';\n let rsvpContent = '
';\n const sentStatus = localStorage.getItem(data.proKey + '-rsvp-sent') === 'true' || null;\n if (sentStatus) {\n rsvpContent += '
';\n rsvpContent += '

' + atcb_translate_hook('form.success.already', data) + '

';\n if (!data.hideButton) rsvpContent += '
';\n if (data.inlineRsvp) rsvpContent += '';\n rsvpContent += '
';\n }\n rsvpContent += '

' + atcb_translate_hook('form.success.sent', data) + '

' + atcb_translate_hook('form.success.email', data) + '

' + atcb_translate_hook('form.success.doi', data) + '

';\n rsvpContent += '
' + atcb_translate_hook('form.success.demo', data) + '
';\n rsvpContent += '
';\n if (rsvpData.text && rsvpData.text !== '') {\n rsvpContent += atcb_rewrite_html_elements(rsvpData.text);\n }\n rsvpContent += '
';\n const staticID = data.proKey || 'demo-rsvp';\n if (rsvpData.initial_confirmation === false) {\n rsvpContent += '
';\n rsvpContent += '

' + atcb_translate_hook('form.status', data) + '

';\n rsvpContent +=\n '
';\n if (rsvpData.maybe_option === true) {\n rsvpContent +=\n '
';\n }\n rsvpContent +=\n '
';\n rsvpContent += '
';\n } else {\n hiddenContent += '';\n }\n const maxAmount = rsvpData.maxpp || 1;\n if (maxAmount === 1) {\n hiddenContent += '';\n } else {\n rsvpContent += '
';\n rsvpContent += '
';\n }\n const attendee = (function () {\n if (data.attendee && data.attendee !== '') {\n const attendeeParts = data.attendee.split('|');\n if (attendeeParts.length > 1) {\n return attendeeParts[1];\n }\n return attendeeParts[0];\n }\n return null;\n })();\n const customEmailField = rsvpData.fields?.find((field) => field.name === 'email');\n if (!customEmailField) {\n if (attendee) {\n hiddenContent += '';\n } else {\n rsvpContent += '
';\n rsvpContent += '
';\n }\n } else {\n rsvpData.fields = rsvpData.fields.map((field) => {\n if (field.name === 'email') {\n return { ...field, required: true, type: 'email', default: attendee !== '' ? attendee : field.default };\n }\n return field;\n });\n }\n if (rsvpData.fields && rsvpData.fields.length > 0) {\n const customForm = atcb_build_form(rsvpData.fields, data.identifier + '-rsvp', data.disabled);\n rsvpData.fields = customForm.fields;\n rsvpContent += customForm.html;\n }\n rsvpContent += hiddenContent;\n rsvpContent += '

';\n rsvpContent +=\n '

...

';\n if (rsvpData.seatsLeft && rsvpData.seatsLeft > 0) {\n rsvpContent += '

' + atcb_translate_hook('form.seatsleft', data) + ': ' + rsvpData.seatsLeft + '

';\n }\n rsvpContent += '
';\n rsvpContent += '
';\n let rsvpHost = null;\n if (!data.inlineRsvp) {\n rsvpHost = await atcb_generate_modal_host(host, data);\n atcb_set_fullsize(rsvpHost.querySelector('.atcb-modal-host-initialized'));\n await atcb_create_modal(\n rsvpHost,\n data,\n undefined,\n rsvpData.headline,\n rsvpContent,\n [\n { type: 'none', label: atcb_translate_hook('label.rsvp.restart', data), small: true, primary: true, id: 'pro-form-restart' },\n { type: 'close', label: atcb_translate_hook('close', data), small: true, id: 'modal-btn-close' },\n { type: 'close', label: atcb_translate_hook('cancel', data), small: true, id: 'modal-btn-cancel' },\n ],\n [],\n keyboardTrigger,\n {},\n false,\n );\n } else {\n rsvpHost = host;\n const rsvpInlineWrapper = document.createElement('div');\n rsvpInlineWrapper.classList.add('atcb-modal-box', 'rsvp-inline-wrapper');\n rsvpInlineWrapper.setAttribute('part', 'atcb-modal-box');\n if (data.rtl) {\n rsvpInlineWrapper.classList.add('atcb-rtl');\n }\n hostEl.append(rsvpInlineWrapper);\n if (rsvpData.headline) {\n const rsvpInlineHeadline = document.createElement('div');\n rsvpInlineHeadline.classList.add('atcb-modal-headline');\n rsvpInlineWrapper.append(rsvpInlineHeadline);\n rsvpInlineHeadline.innerHTML = rsvpData.headline;\n }\n const rsvpInlineContent = document.createElement('div');\n rsvpInlineContent.classList.add('atcb-modal-content');\n rsvpInlineWrapper.append(rsvpInlineContent);\n if (!data.hideBranding) {\n const atcbL = atcb_create_atcbl(rsvpHost, false, true);\n rsvpInlineWrapper.append(atcbL);\n }\n if (rsvpData.expired) {\n rsvpInlineContent.innerHTML = '

' + atcb_translate_hook('label.rsvp.expired', data) + '

';\n return;\n } else if (rsvpData.bookedOut) {\n rsvpInlineContent.innerHTML = '

' + atcb_translate_hook('label.rsvp.bookedout', data) + '

';\n return;\n } else {\n rsvpInlineContent.innerHTML = rsvpContent;\n }\n }\n if (sentStatus) rsvpHost.getElementById('rsvp-content').style.display = 'none';\n const closeBtn = rsvpHost.getElementById('modal-btn-close');\n const cancelBtn = rsvpHost.getElementById('modal-btn-cancel');\n const restartBtn = rsvpHost.getElementById('pro-form-restart');\n atcb_log_event('openRSVP', data.identifier, data.identifier);\n if (data.debug) {\n console.log('RSVP form for \"' + data.identifier + '\" created');\n }\n if (sentStatus) {\n if (cancelBtn) cancelBtn.style.display = 'none';\n const atcbHost = rsvpHost.getElementById('rsvp-atcb');\n if (atcbHost && !data.hideButton) {\n const atcbData = JSON.parse(JSON.stringify(data));\n atcbData.hideTextLabelButton = true;\n atcbData.hideIconButton = false;\n atcbData.buttonsList = true;\n atcb_generate_button(host, atcbHost, atcbData);\n }\n } else {\n if (closeBtn) closeBtn.style.display = 'none';\n if (restartBtn) restartBtn.style.display = 'none';\n }\n const rsvpForm = rsvpHost.getElementById(data.identifier + '-rsvp-form');\n const errorMsg = rsvpHost.getElementById('submit-error');\n const rsvpFormSubmit = rsvpHost.getElementById('pro-form-submit');\n const rsvpFormSubmitting = rsvpHost.getElementById('pro-form-submitting');\n const rsvpRestart = rsvpHost.getElementById('pro-form-restart');\n if (rsvpFormSubmit) {\n rsvpFormSubmit.addEventListener('click', async function (e) {\n e.preventDefault();\n rsvpFormSubmitting.style.display = 'block';\n rsvpFormSubmit.style.display = 'none';\n const staticFields = [{ type: 'number', name: data.proKey + '-amount', fieldId: data.identifier + '-rsvp-amount', required: true }];\n if (!customEmailField) staticFields.push({ type: 'email', name: 'email', fieldId: data.identifier + '-rsvp-email', required: true });\n let valid = atcb_validate_form(rsvpHost, [...staticFields, ...rsvpData.fields]);\n const amountEl = rsvpHost.getElementById(data.identifier + '-rsvp-amount');\n const amount = parseInt(amountEl.value) || 1;\n if (rsvpData.maxpp && rsvpData.maxpp > 0 && amount > rsvpData.maxpp) {\n amountEl.classList.add('error');\n valid = false;\n }\n if (!valid) {\n errorMsg.textContent = atcb_translate_hook('form.error.required', data) + '.';\n }\n if (valid) {\n if (!data.proKey || data.proKey === '') {\n rsvpHost.getElementById('rsvp-success-msg-demo').style.display = 'block';\n rsvpHost.getElementById('rsvp-content').style.display = 'none';\n atcb_log_event('successRSVP', data.identifier, data.identifier);\n if (cancelBtn) cancelBtn.style.display = 'none';\n if (closeBtn) closeBtn.style.display = 'block';\n return;\n }\n let fieldsCopy = JSON.parse(JSON.stringify(rsvpData.fields));\n const bodyData = [];\n bodyData.push({ name: 'prokey', value: data.proKey });\n bodyData.push({ name: 'language', value: data.language });\n const statusValEl = rsvpHost.querySelector('[name=\"' + data.proKey + '-status\"]:checked');\n bodyData.push({ name: 'status', value: statusValEl ? statusValEl.value : 'confirmed' });\n bodyData.push({ name: 'amount', value: amount });\n if (!customEmailField) {\n bodyData.push({ name: 'email', value: rsvpHost.getElementById(data.identifier + '-rsvp-email').value });\n } else {\n const emailFieldId = fieldsCopy.find((field) => field.name === 'email')?.fieldId;\n bodyData.push({ name: 'email', value: rsvpHost.getElementById(emailFieldId).value });\n fieldsCopy = fieldsCopy.filter((field) => field.fieldId !== emailFieldId);\n }\n const bodyData_payload = {};\n let skipRadio = false;\n fieldsCopy.forEach((field) => {\n if (field.type !== 'label') {\n if (field.type === 'radio') {\n if (!skipRadio) {\n const radioGroup = rsvpHost.querySelectorAll('[name=\"' + field.name + '\"]');\n radioGroup.forEach(function (radio) {\n if (radio.checked) {\n bodyData_payload[field.name] = radio.value;\n }\n });\n skipRadio = true;\n }\n } else if (field.type === 'checkbox') {\n bodyData_payload[field.name] = rsvpHost.getElementById(field.fieldId).checked;\n skipRadio = false;\n } else {\n bodyData_payload[field.name] = rsvpHost.getElementById(field.fieldId).value;\n skipRadio = false;\n }\n }\n });\n if (Object.keys(bodyData_payload).length > 0) {\n bodyData.push({ name: 'payload', value: bodyData_payload });\n }\n const request = await sendPostRequest(`https://api${data.dev ? '-dev' : ''}.add-to-calendar-pro.com/24586219-9910-41fe-9b59-df53de9db7af`, bodyData, { rsvp: true });\n if (request === 'doi' || request === true) {\n rsvpHost.getElementById('rsvp-success-msg').style.display = 'block';\n if (request === 'doi') {\n rsvpHost.getElementById('rsvp-success-msg-doi').style.display = 'block';\n } else {\n rsvpHost.getElementById('rsvp-success-msg-email').style.display = 'block';\n }\n rsvpHost.getElementById('rsvp-content').style.display = 'none';\n if (cancelBtn) cancelBtn.style.display = 'none';\n if (closeBtn) closeBtn.style.display = 'block';\n atcb_log_event('successRSVP', data.identifier, data.identifier);\n localStorage.setItem(data.proKey + '-rsvp-sent', true);\n return;\n }\n if (request.error && request.error === 2) {\n errorMsg.textContent = atcb_translate_hook('form.error.email', data) + '.';\n } else if (request.error && request.error === 5) {\n errorMsg.textContent = atcb_translate_hook('label.rsvp.expired', data) + '.';\n } else if (request.error && request.error === 6) {\n if (amount > 1) {\n errorMsg.textContent = atcb_translate_hook('form.error.bookedoutmany', data) + '.';\n } else {\n errorMsg.textContent = atcb_translate_hook('label.rsvp.bookedout', data) + '.';\n }\n } else {\n errorMsg.textContent = atcb_translate_hook('form.error.sending', data) + '.';\n }\n }\n rsvpForm.classList.add('form-error');\n rsvpFormSubmitting.style.display = 'none';\n rsvpFormSubmit.style.display = 'block';\n });\n rsvpFormSubmit.addEventListener('keyup', function (event) {\n if (event.key === 'Enter') {\n event.preventDefault();\n rsvpFormSubmit.click();\n }\n });\n }\n if (rsvpRestart) {\n rsvpRestart.addEventListener('click', function (e) {\n e.preventDefault();\n rsvpHost.getElementById('rsvp-sent-content').style.display = 'none';\n rsvpHost.getElementById('rsvp-content').style.display = 'block';\n if (closeBtn) closeBtn.style.display = 'none';\n if (restartBtn) restartBtn.style.display = 'none';\n if (cancelBtn) cancelBtn.style.display = 'block';\n });\n rsvpRestart.addEventListener('keyup', function (event) {\n if (event.key === 'Enter') {\n event.preventDefault();\n rsvpRestart.click();\n }\n });\n }\n}\nasync function atcb_generate_rsvp_button(host, data) {\n const btnHostEl = host.querySelector('.atcb-initialized');\n const buttonTriggerWrapper = document.createElement('div');\n buttonTriggerWrapper.classList.add('atcb-button-wrapper');\n if (data.rtl) {\n buttonTriggerWrapper.classList.add('atcb-rtl');\n }\n btnHostEl.append(buttonTriggerWrapper);\n atcb_set_sizes(buttonTriggerWrapper, data.sizes);\n const buttonTrigger = document.createElement('button');\n buttonTrigger.classList.add('atcb-button', 'atcb-click', 'atcb-single');\n if (data.disabled) {\n buttonTrigger.setAttribute('disabled', true);\n }\n if (data.hideTextLabelButton) {\n buttonTrigger.classList.add('atcb-no-text');\n }\n buttonTrigger.type = 'button';\n buttonTrigger.setAttribute('aria-expanded', false); \n buttonTriggerWrapper.append(buttonTrigger);\n const label = (function () {\n if (data.rsvp.expired) {\n return atcb_translate_hook('label.rsvp.expired', data);\n }\n if (data.rsvp.bookedOut) {\n return atcb_translate_hook('label.rsvp.bookedout', data);\n }\n return atcb_translate_hook('label.rsvp', data);\n })();\n atcb_generate_label(host, data, buttonTrigger, 'rsvp', !data.hideIconButton, label, true);\n if (data.debug) {\n console.log('Add to Calendar RSVP Button \"' + data.identifier + '\" created');\n }\n return true;\n}\nasync function atcb_check_bookings(proKey, dev = false) {\n try {\n const response = await fetch(`https://api${dev ? '-dev' : ''}.add-to-calendar-pro.com/dffb8bbd-ee5e-4a4f-a7ea-503af98ca468?prokey=${proKey}`, {\n method: 'GET',\n });\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n const responseJson = await response.json();\n return parseInt(responseJson.total);\n } catch (error) {\n console.error('Error:', error);\n }\n return 0;\n}\nfunction atcb_build_form(fields, identifier = '', disabled = false) {\n /*!\n * @preserve\n * PER LICENSE AGREEMENT, YOU ARE NOT ALLOWED TO REMOVE OR CHANGE THIS FUNCTION!\n */\n let form = '';\n let hiddenForm = '';\n let n = 0;\n let prevType = '';\n let skipped = false;\n for (let i = 1; i <= fields.length; i++) {\n skipped = false;\n const field = fields[i - 1];\n if (field.type !== 'label' && (!field.name || field.name === '')) {\n skipped = true;\n continue;\n }\n if ((prevType === 'radio' && field.type !== 'radio') || prevType !== 'radio') {\n n = i;\n }\n fields[i - 1].fieldId = identifier + '-' + i;\n const fieldValue = field.type === 'radio' ? field.placeholder || '' : field.default || '';\n const fieldLabel = field.label || '';\n const fieldPlaceholder = field.type === 'radio' ? '' : field.placeholder || '';\n let fieldHtml = '';\n if (prevType !== 'hidden' && i === n && i !== 1 && !skipped) {\n fieldHtml += '';\n }\n if (field.type !== 'hidden' && i === n) {\n fieldHtml += '
';\n }\n if (field.type === 'label') {\n fieldHtml += '

' + fieldLabel + '

';\n } else {\n if (field.type === 'radio') {\n fieldHtml += '
';\n }\n if (field.type === 'hidden') {\n hiddenForm += '';\n } else {\n fieldHtml += atcb_create_field_html(field.type, field.name, fieldLabel, field.fieldId, field.required, fieldValue, field.default, fieldPlaceholder, disabled);\n }\n if (field.type === 'radio') {\n fieldHtml += '
';\n }\n }\n form += fieldHtml;\n prevType = field.type;\n }\n if (prevType !== 'hidden') {\n form += '
';\n }\n form += hiddenForm;\n return { html: form, fields: fields };\n}\nfunction atcb_create_field_html(type, name, fieldLabel, fieldId, required = false, fieldValue, defaultVal = null, fieldPlaceholder = '', disabled = false) {\n let fieldHtml = '';\n if ((type === 'text' || type === 'email' || type === 'number') && fieldLabel !== '') {\n fieldHtml += '';\n }\n fieldHtml +=\n '';\n if ((type === 'checkbox' || type === 'radio') && (fieldLabel !== '' || required)) {\n fieldHtml += '';\n }\n return fieldHtml;\n}\nfunction atcb_validate_form(host, fields) {\n /*!\n * @preserve\n * PER LICENSE AGREEMENT, YOU ARE NOT ALLOWED TO REMOVE OR CHANGE THIS FUNCTION!\n */\n let state = true;\n fields.forEach(function (field) {\n if (field.type !== 'label' && field.type !== 'radio') {\n const input = host.getElementById(field.fieldId);\n if (field.type !== 'checkbox') {\n input.value = atcb_secure_content(input.value.trim());\n if (field.type === 'number') {\n input.value = input.value.replace(/\\D/g, '');\n }\n if (field.type === 'email' && input.value !== '' && !atcb_validEmail(input.value)) {\n input.classList.add('error');\n state = false;\n return;\n }\n if (field.required && input.value === '') {\n input.classList.add('error');\n state = false;\n return;\n } else {\n input.classList.remove('error');\n }\n } else {\n if (field.required && input.checked === false) {\n input.classList.add('error');\n state = false;\n return;\n } else {\n input.classList.remove('error');\n }\n }\n }\n if (field.type === 'radio') {\n const radioGroup = host.querySelectorAll('[name=\"' + field.name + '\"]');\n let checked = false;\n radioGroup.forEach(function (radio) {\n if (radio.checked) {\n checked = true;\n }\n });\n if (checked === false) {\n radioGroup[0].classList.add('error');\n state = false;\n return;\n } else {\n radioGroup[0].classList.remove('error');\n }\n }\n });\n return state;\n}\nasync function sendPostRequest(url, fields, header = {}) {\n /*!\n * @preserve\n * PER LICENSE AGREEMENT, YOU ARE NOT ALLOWED TO REMOVE OR CHANGE THIS FUNCTION!\n */\n let formData = new FormData();\n let data = {};\n let requestData = {};\n if (Object.keys(header).length === 0) {\n fields.forEach((field) => {\n formData.append(field.name, field.value);\n });\n requestData = { method: 'POST', body: formData };\n } else {\n header['Cache-Control'] = 'no-cache';\n header['Content-Type'] = 'application/json';\n header['Accept'] = '*/*';\n fields.forEach((field) => {\n data[field.name] = field.value;\n });\n requestData = { method: 'POST', headers: header, body: JSON.stringify(data) };\n }\n try {\n const response = await fetch(url, requestData);\n const responseJson = await response.json();\n if (!response.ok) {\n console.error('Network response was not ok');\n if (responseJson.error) return responseJson;\n return false;\n }\n if (responseJson.status && responseJson.status === 'doi') {\n return 'doi';\n }\n return true;\n } catch (error) {\n console.error('Error:', error);\n return false;\n }\n}\n\n\nfunction atcb_generate_label(host, data, parent, type, icon = false, text = '', oneOption = false) {\n switch (type) {\n case 'trigger':\n case 'rsvp':\n default:\n parent.id = data.identifier;\n if (!data.blockInteraction) {\n parent.addEventListener('keyup', function (event) {\n if (event.key === 'Enter' || event.code == 'Space' || (event.key === 'Alt' && event.key === 'Control' && event.code === 'Space')) {\n event.preventDefault();\n if (type === 'rsvp' && typeof atcb_generate_rsvp_form === 'function') {\n atcb_generate_rsvp_form(host, data, parent, true);\n } else {\n atcb_toggle(host, 'auto', data, parent, true, true);\n }\n }\n });\n parent.addEventListener(\n 'touchend',\n atcb_debounce_leading((event) => {\n event.preventDefault();\n if (type === 'rsvp' && typeof atcb_generate_rsvp_form === 'function') {\n atcb_generate_rsvp_form(host, data, parent);\n } else {\n atcb_toggle(host, 'auto', data, parent, false, true);\n }\n }),\n );\n if (data.trigger === 'click' || (type === 'rsvp' && typeof atcb_generate_rsvp_form === 'function')) {\n parent.addEventListener(\n 'mouseup',\n atcb_debounce_leading((event) => {\n event.preventDefault();\n if (type === 'rsvp' && typeof atcb_generate_rsvp_form === 'function') {\n atcb_generate_rsvp_form(host, data, parent);\n } else {\n atcb_toggle(host, 'auto', data, parent, false, true);\n }\n }),\n );\n } else {\n parent.addEventListener('mouseenter', function () {\n atcb_toggle(host, 'open', data, parent, false, true);\n });\n }\n }\n break;\n case 'apple':\n case 'google':\n case 'ical':\n case 'msteams':\n case 'ms365':\n case 'outlookcom':\n case 'yahoo':\n parent.id = data.identifier + '-' + type;\n if (!data.blockInteraction) {\n parent.addEventListener(\n 'click',\n atcb_debounce_leading(() => {\n if (oneOption) {\n host.querySelector('#' + parent.id)?.blur();\n atcb_log_event('openSingletonLink', parent.id, data.identifier);\n } else {\n atcb_toggle(host, 'close');\n atcb_log_event('openCalendarLink', parent.id, data.identifier);\n }\n atcb_generate_links(host, type, data);\n }),\n );\n parent.addEventListener('keyup', function (event) {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (oneOption) {\n host.querySelector('#' + parent.id)?.blur();\n atcb_log_event('openSingletonLink', parent.id, data.identifier);\n } else {\n atcb_toggle(host, 'close');\n atcb_log_event('openCalendarLink', parent.id, data.identifier);\n }\n atcb_generate_links(host, type, data, 'all', true);\n }\n });\n }\n break;\n case 'close':\n parent.id = data.identifier + '-close';\n parent.addEventListener(\n 'click',\n atcb_debounce(() => {\n atcb_log_event('closeList', 'List Close Button', atcbStates['active']);\n atcb_toggle(host, 'close');\n }),\n );\n parent.addEventListener('keyup', function (event) {\n if (event.key === 'Enter') {\n event.preventDefault();\n atcb_log_event('closeList', 'List Close Button', atcbStates['active']);\n atcb_toggle(host, 'close', data, 'all', true);\n }\n });\n break;\n }\n atcb_generate_label_content(data, parent, type, icon, text, oneOption);\n}\nfunction atcb_generate_label_content(data, parent, type, icon, text, oneOption) {\n const defaultTriggerText = (function () {\n if (data.pastDateHandling != 'none') {\n let allOverdue = true;\n for (let i = 0; i < data.dates.length; i++) {\n if (!data.dates[`${i}`].overdue) {\n allOverdue = false;\n break;\n }\n }\n if (allOverdue) {\n return atcb_translate_hook('expired', data);\n }\n }\n return atcb_translate_hook('label.addtocalendar', data);\n })();\n if (text === '') {\n if (data.options.length === 1 || type === 'trigger') {\n text = defaultTriggerText;\n } else if (type === 'close') {\n text = atcb_translate_hook('close', data);\n } else {\n text = atcb_translate_hook(type, data);\n }\n }\n if (data.buttonStyle === 'date' && (type === 'trigger' || oneOption)) {\n return;\n }\n parent.setAttribute('aria-label', oneOption ? atcb_translate_hook('label.addtocalendar', data) + ' (' + atcb_translate_hook(type, data) + '): ' + data.name : type === 'trigger' ? text + ': ' + data.name : text);\n if (icon) {\n const iconEl = document.createElement('div');\n iconEl.classList.add('atcb-icon');\n iconEl.setAttribute('part', type === 'trigger' ? 'atcb-button-icon' : 'atcb-list-icon');\n iconEl.classList.add(`atcb-icon-${type}`);\n iconEl.innerHTML = atcbIcon[`${type}`];\n parent.append(iconEl);\n }\n if (((type === 'trigger' || oneOption) && !data.hideTextLabelButton) || (!oneOption && type !== 'trigger' && !data.hideTextLabelList)) {\n const textEl = document.createElement('span');\n textEl.classList.add('atcb-text');\n textEl.setAttribute('part', type === 'trigger' ? 'atcb-button-text' : 'atcb-list-text');\n textEl.textContent = text;\n parent.append(textEl);\n }\n}\nfunction atcb_generate_button(host, button, data) {\n const oneOption = (function () {\n if (data.options.length === 1 || (data.buttonsList && data.buttonStyle != 'date')) {\n return true;\n }\n return false;\n })();\n const optionSplit = oneOption ? data.options : ['default'];\n optionSplit.forEach(function (option, index) {\n const buttonTriggerWrapper = document.createElement('div');\n buttonTriggerWrapper.classList.add('atcb-button-wrapper');\n buttonTriggerWrapper.setAttribute('part', 'atcb-button-wrapper');\n if (data.rtl) {\n buttonTriggerWrapper.classList.add('atcb-rtl');\n }\n button.append(buttonTriggerWrapper);\n atcb_set_sizes(buttonTriggerWrapper, data.sizes);\n const buttonTrigger = document.createElement('button');\n buttonTrigger.classList.add('atcb-button');\n buttonTrigger.setAttribute('part', 'atcb-button');\n if (data.disabled) {\n buttonTrigger.setAttribute('disabled', true);\n }\n if (data.hideTextLabelButton) {\n buttonTrigger.classList.add('atcb-no-text');\n }\n if (data.trigger === 'click') {\n buttonTrigger.classList.add('atcb-click');\n }\n if (data.listStyle === 'overlay') {\n buttonTrigger.classList.add('atcb-dropoverlay');\n }\n buttonTrigger.type = 'button';\n buttonTrigger.setAttribute('aria-expanded', false); \n buttonTriggerWrapper.append(buttonTrigger);\n if (data.buttonStyle === 'date') {\n atcb_generate_date_button(data, buttonTrigger, 'all', oneOption);\n }\n if (oneOption) {\n buttonTrigger.classList.add('atcb-single');\n const label = (function () {\n if (data.buttonsList && data.options.length > 1) {\n return atcb_translate_hook(`${data.options[`${index}`]}`, data);\n }\n return data.label;\n })();\n atcb_generate_label(host, data, buttonTrigger, option, !data.hideIconButton, label, true);\n buttonTrigger.id = data.identifier;\n if (data.buttonsList) {\n buttonTrigger.id = data.identifier + '-' + option;\n }\n } else {\n atcb_generate_label(host, data, buttonTrigger, 'trigger', !data.hideIconButton, data.label);\n const buttonDropdownAnchor = document.createElement('div');\n buttonDropdownAnchor.classList.add('atcb-dropdown-anchor');\n buttonTrigger.append(buttonDropdownAnchor);\n }\n if (!data.hideCheckmark && !data.hideTextLabelButton && !data.buttonsList && !data.disabled && !data.allCancelled) {\n const btnCheck = document.createElement('div');\n btnCheck.classList.add('atcb-checkmark');\n btnCheck.innerHTML = atcbIcon['checkmark'];\n buttonTrigger.append(btnCheck);\n }\n });\n if (data.debug) {\n console.log('Add to Calendar Button \"' + data.identifier + '\" created');\n }\n}\nfunction atcb_generate_dropdown_list(host, data) {\n const optionsList = document.createElement('div');\n optionsList.classList.add('atcb-list');\n optionsList.setAttribute('part', 'atcb-list');\n optionsList.role = 'list';\n if (data.rtl) {\n optionsList.classList.add('atcb-rtl');\n }\n let listCount = 0;\n data.options.forEach(function (option) {\n const optionItem = document.createElement('div');\n optionItem.classList.add('atcb-list-item');\n optionItem.setAttribute('part', 'atcb-list-item');\n optionItem.role = 'link';\n optionItem.tabIndex = 0;\n listCount++;\n optionItem.dataset.optionNumber = listCount;\n optionsList.append(optionItem);\n atcb_generate_label(host, data, optionItem, option, !data.hideIconList);\n });\n if (data.listStyle === 'modal') {\n const optionItem = document.createElement('div');\n optionItem.classList.add('atcb-list-item', 'atcb-list-item-close');\n optionItem.setAttribute('part', 'atcb-list-item-close');\n optionItem.role = 'button';\n optionItem.tabIndex = 0;\n listCount++;\n optionItem.dataset.optionNumber = listCount;\n optionsList.append(optionItem);\n atcb_generate_label(host, data, optionItem, 'close', !data.hideIconList);\n }\n return optionsList;\n}\nfunction atcb_generate_bg_overlay(host, trigger = '', modal = false, darken = true, closable = true) {\n const bgOverlay = (function () {\n if (modal) {\n return document.createElement('dialog');\n }\n return document.createElement('div');\n })();\n if (modal) {\n bgOverlay.setAttribute('open', true);\n }\n bgOverlay.id = 'atcb-bgoverlay';\n if (!darken) {\n bgOverlay.classList.add('atcb-no-bg');\n }\n bgOverlay.role = 'button';\n bgOverlay.tabIndex = 0;\n if (closable) {\n bgOverlay.addEventListener(\n 'mouseup',\n atcb_debounce_leading((e) => {\n if (e.target !== e.currentTarget) return;\n atcb_log_event('closeList', 'Background Hit', atcbStates['active']);\n atcb_toggle(host, 'close');\n }),\n );\n let fingerMoved = false;\n bgOverlay.addEventListener(\n 'touchstart',\n atcb_debounce_leading(() => (fingerMoved = false)),\n { passive: true },\n );\n bgOverlay.addEventListener(\n 'touchmove',\n atcb_debounce_leading(() => (fingerMoved = true)),\n { passive: true },\n );\n bgOverlay.addEventListener(\n 'touchend',\n atcb_debounce((e) => {\n if (fingerMoved !== false || e.target !== e.currentTarget) return;\n atcb_log_event('closeList', 'Background Hit', atcbStates['active']);\n atcb_toggle(host, 'close');\n }),\n { passive: true },\n );\n if (trigger !== 'click') {\n bgOverlay.addEventListener(\n 'mousemove',\n atcb_debounce_leading((e) => {\n if (e.target !== e.currentTarget) return;\n atcb_log_event('closeList', 'Background Hit', atcbStates['active']);\n atcb_toggle(host, 'close');\n }),\n );\n } else {\n bgOverlay.classList.add('atcb-click');\n }\n }\n return bgOverlay;\n}\n/*!\n * @preserve\n * PER LICENSE AGREEMENT, YOU ARE NOT ALLOWED TO REMOVE OR CHANGE THIS FUNCTION!\n */\nfunction atcb_create_atcbl(host, atList = true, returnEl = false, licenseNoteOnly = false) {\n const atcbL = document.createElement('div');\n atcbL.id = 'atcb-reference';\n if (!licenseNoteOnly) {\n setTimeout(() => {\n const svg =\n '';\n atcbL.innerHTML = '' + svg + '';\n }, 500);\n if (atList) {\n host.querySelector('.atcb-initialized .atcb-list-wrapper').append(atcbL);\n } else if (returnEl) {\n return atcbL;\n } else {\n if (window.innerHeight > 1000 || window.innerWidth > 1000) {\n host.append(atcbL);\n atcbL.classList.add('fixed-ref');\n }\n }\n } else {\n atcbL.innerHTML = 'Using the Add to Calendar Button, licensed under the Elastic License 2.0 (ELv2).';\n atcbL.style.display = 'none !important';\n atcbL.classList.add('atcb-attribution');\n host.append(atcbL);\n }\n if (returnEl) return null;\n}\nasync function atcb_create_modal(mainHost, data, icon = '', headline, content = '', buttons = [], subEvents = [], keyboardTrigger = false, goto = {}, closable = true) {\n atcbStates['active'] = data.identifier;\n const noHeadline = !headline || headline === '' || headline === undefined;\n const modalHost = await atcb_generate_modal_host(mainHost, data, false);\n const bgOverlay = (function () {\n const el = modalHost.getElementById('atcb-bgoverlay');\n if (!el) {\n const newOverlay = atcb_generate_bg_overlay(mainHost, 'click', true, !data.hideBackground, closable);\n modalHost.querySelector('.atcb-modal-host-initialized').append(newOverlay);\n return newOverlay;\n }\n return el;\n })();\n const modalWrapper = document.createElement('div');\n modalWrapper.classList.add('atcb-modal');\n bgOverlay.append(modalWrapper);\n const modalCount = modalHost.querySelectorAll('.atcb-modal').length;\n modalWrapper.dataset.modalNr = modalCount;\n modalWrapper.tabIndex = 0;\n modalWrapper.focus({ preventScroll: true });\n modalWrapper.blur();\n const parentButton = (function () {\n const hostEl = mainHost.getElementById(data.identifier);\n if (hostEl) {\n return hostEl;\n }\n return document.getElementById(data.identifier);\n })();\n if (parentButton) {\n parentButton.classList.add('atcb-active-modal');\n }\n const modal = document.createElement('div');\n modal.classList.add('atcb-modal-box');\n modal.setAttribute('part', 'atcb-modal-box');\n if (data.rtl) {\n modal.classList.add('atcb-rtl');\n }\n modalWrapper.append(modal);\n atcb_set_sizes(modal, data.sizes);\n atcb_set_fullsize(bgOverlay);\n if (icon !== '' && !data.hideIconModal) {\n const modalIcon = document.createElement('div');\n modalIcon.classList.add('atcb-modal-icon');\n modalIcon.innerHTML = atcbIcon[`${icon}`];\n modal.append(modalIcon);\n }\n if (!noHeadline) {\n const modalHeadline = document.createElement('div');\n modalHeadline.classList.add('atcb-modal-headline');\n modalHeadline.textContent = headline;\n modal.append(modalHeadline);\n }\n if (content !== '') {\n const modalContent = document.createElement('div');\n modalContent.classList.add('atcb-modal-content');\n if (noHeadline) modalContent.classList.add('no-headline');\n modalContent.innerHTML = content;\n modal.append(modalContent);\n }\n if (!data.hideBranding) {\n atcb_create_atcbl(modalHost, false);\n }\n if (subEvents.length > 1) {\n const modalsubEventsContentWrapper = document.createElement('div');\n modalsubEventsContentWrapper.classList.add('atcb-modal-content');\n modal.append(modalsubEventsContentWrapper);\n const modalsubEventsContent = document.createElement('div');\n modalsubEventsContent.classList.add('atcb-modal-content-subevents');\n modalsubEventsContentWrapper.append(modalsubEventsContent);\n for (let i = 1; i < subEvents.length; i++) {\n const modalSubEventButton = document.createElement('button');\n modalSubEventButton.type = 'button';\n modalSubEventButton.id = data.identifier + '-' + subEvents[0] + '-' + i;\n if (atcbStates[`${data.identifier}`][`${subEvents[0]}`][i - 1] > 0) {\n modalSubEventButton.classList.add('atcb-saved');\n }\n modalSubEventButton.classList.add('atcb-subevent-btn');\n modalsubEventsContent.append(modalSubEventButton);\n atcb_generate_date_button(data, modalSubEventButton, i);\n if (!data.dates[i - 1].overdue || data.pastDateHandling === 'none') {\n if (i === 1 && keyboardTrigger) {\n modalSubEventButton.focus();\n }\n modalSubEventButton.addEventListener(\n 'click',\n atcb_debounce(() => {\n atcb_log_event('openSubEventLink', modalSubEventButton.id, data.identifier);\n modalSubEventButton.blur();\n atcb_generate_links(mainHost, subEvents[0], data, subEvents[`${i}`], keyboardTrigger, true);\n }),\n );\n } else {\n modalSubEventButton.setAttribute('disabled', true);\n }\n }\n }\n if (buttons.length === 0) {\n buttons.push({ type: 'close', label: atcb_translate_hook('close', data), small: true });\n }\n const modalButtons = document.createElement('div');\n modalButtons.classList.add('atcb-modal-buttons');\n modal.append(modalButtons);\n buttons.forEach((button, index) => {\n let modalButton;\n if (button.href && button.href !== '') {\n modalButton = document.createElement('a');\n modalButton.setAttribute('target', atcbDefaultTarget);\n modalButton.setAttribute('href', button.href);\n modalButton.setAttribute('rel', 'noopener');\n } else {\n modalButton = document.createElement('button');\n modalButton.type = 'button';\n }\n if (button.id && button.id !== '') {\n modalButton.id = button.id;\n }\n modalButton.classList.add('atcb-modal-btn');\n if (button.primary) {\n modalButton.classList.add('atcb-modal-btn-primary');\n }\n if (button.small) {\n modalButton.classList.add('btn-small');\n }\n if (!button.label || button.label === '') {\n button.label = atcb_translate_hook('modal.button.default', data);\n }\n modalButton.textContent = button.label;\n modalButtons.append(modalButton);\n if (index === 0 && subEvents.length < 2 && keyboardTrigger) {\n modalButton.focus();\n }\n switch (button.type) {\n default:\n case 'close':\n modalButton.addEventListener(\n 'click',\n atcb_debounce(() => {\n atcb_log_event('closeList', 'Modal Close Button', atcbStates['active']);\n atcb_close(mainHost);\n }),\n );\n modalButton.addEventListener('keyup', function (event) {\n if (event.key === 'Enter' || event.code == 'Space' || (event.key === 'Alt' && event.key === 'Control' && event.code === 'Space')) {\n atcb_log_event('closeList', 'Modal Close Button', atcbStates['active']);\n atcb_toggle(mainHost, 'close', '', '', true);\n }\n });\n break;\n case 'yahoo2nd': // for yahoo subscribe modal, where we guide the user through the process\n modalButton.addEventListener(\n 'click',\n atcb_debounce(() => {\n atcb_close(mainHost);\n atcb_subscribe_yahoo_modal_switch(mainHost, data);\n }),\n );\n modalButton.addEventListener('keyup', function (event) {\n if (event.key === 'Enter' || event.code == 'Space' || (event.key === 'Alt' && event.key === 'Control' && event.code === 'Space')) {\n atcb_toggle(mainHost, 'close', '', '', true);\n atcb_subscribe_yahoo_modal_switch(mainHost, data, keyboardTrigger);\n }\n });\n break;\n case '2timeslink': // for the note that the user shall click the button twice\n modalButton.addEventListener(\n 'click',\n atcb_debounce(() => {\n atcb_close(mainHost);\n atcb_generate_links(mainHost, goto.type, data, goto.id, keyboardTrigger, false, true);\n }),\n );\n modalButton.addEventListener('keyup', function (event) {\n if (event.key === 'Enter' || event.code == 'Space' || (event.key === 'Alt' && event.key === 'Control' && event.code === 'Space')) {\n atcb_toggle(mainHost, 'close', '', '', true);\n atcb_generate_links(mainHost, goto.type, data, goto.id, keyboardTrigger, false, true);\n }\n });\n break;\n case 'none':\n break;\n }\n });\n if (modalCount > 1) {\n const prevModal = modalHost.querySelector('.atcb-modal[data-modal-nr=\"' + (modalCount - 1) + '\"]');\n prevModal.classList.add('atcb-hidden');\n }\n atcb_manage_body_scroll(modalHost, modalWrapper);\n return;\n}\nfunction atcb_subscribe_yahoo_modal_switch(host, data, keyboardTrigger) {\n atcb_set_fully_successful(host, data);\n atcb_generate_links(host, 'yahoo2nd', data, 'all', keyboardTrigger);\n}\nfunction atcb_generate_date_button(data, parent, subEvent = 'all', oneOption = false) {\n if (subEvent != 'all') {\n subEvent = parseInt(subEvent) - 1;\n } else if (data.dates.length == 1) {\n subEvent = 0;\n }\n const fullTimeInfo = atcb_generate_timestring(data.dates, data.language, subEvent);\n const hoverText = (function () {\n if ((subEvent !== 'all' && data.dates[`${subEvent}`].status.toLowerCase() === 'cancelled') || (subEvent === 'all' && data.allCancelled)) {\n return atcb_translate_hook('date.status.cancelled', data) + '
' + atcb_translate_hook('date.status.cancelled.cta', data);\n }\n if (data.pastDateHandling != 'none') {\n if ((subEvent === 'all' && data.allOverdue) || (subEvent != 'all' && data.dates[`${subEvent}`].overdue)) {\n return atcb_translate_hook('expired', data);\n }\n }\n if (data.label && data.label != '') {\n return data.label;\n }\n return '+ ' + atcb_translate_hook('label.addtocalendar', data);\n })();\n const cancelledInfo = (function () {\n if ((subEvent !== 'all' && data.dates[`${subEvent}`].status.toLowerCase() === 'cancelled') || (subEvent === 'all' && data.allCancelled)) {\n return atcb_translate_hook('date.status.cancelled', data);\n }\n return '';\n })();\n const recurringString = (function () {\n if (fullTimeInfo.length == 0) {\n return atcb_translate_hook('recurring', data) + ' ⟳';\n }\n return '⟳';\n })();\n let subEventAll = false;\n if (subEvent === 'all') {\n subEvent = 0;\n subEventAll = true;\n }\n const startDate = new Date(atcb_generate_time(data.dates[`${subEvent}`]).start);\n const allDay = atcb_generate_time(data.dates[`${subEvent}`]).allday;\n const timeZone = data.dates[`${subEvent}`].timeZone;\n const btnLeft = document.createElement('div');\n btnLeft.classList.add('atcb-date-btn-left');\n parent.append(btnLeft);\n const btnDay = document.createElement('div');\n btnDay.classList.add('atcb-date-btn-day');\n btnLeft.append(btnDay);\n const btnMonth = document.createElement('div');\n btnMonth.classList.add('atcb-date-btn-month');\n btnDay.textContent = startDate.toLocaleString(data.language, { day: 'numeric', timeZone: allDay ? 'UTC' : timeZone });\n btnMonth.textContent = startDate.toLocaleString(data.language, { month: 'short', timeZone: allDay ? 'UTC' : timeZone });\n btnLeft.append(btnMonth);\n const btnRight = document.createElement('div');\n btnRight.classList.add('atcb-date-btn-right');\n parent.append(btnRight);\n const btnDetails = document.createElement('div');\n btnDetails.classList.add('atcb-date-btn-details');\n btnRight.append(btnDetails);\n const btnHeadline = document.createElement('div');\n btnHeadline.classList.add('atcb-date-btn-headline');\n const btnHeadlineText = data.dates.length > 1 && subEventAll ? data.name : data.dates[`${subEvent}`].name; \n btnHeadline.textContent = btnHeadlineText;\n btnDetails.append(btnHeadline);\n if ((data.dates[`${subEvent}`].location && data.dates[`${subEvent}`].location !== '' && !data.dates[`${subEvent}`].onlineEvent) || cancelledInfo !== '') {\n const btnLocation = document.createElement('div');\n btnLocation.classList.add('atcb-date-btn-content');\n btnDetails.append(btnLocation);\n if (cancelledInfo != '') {\n btnLocation.classList.add('atcb-date-btn-cancelled');\n btnLocation.textContent = cancelledInfo;\n } else {\n const btnLocationIcon = document.createElement('span');\n btnLocationIcon.classList.add('atcb-date-btn-content-icon');\n btnLocationIcon.innerHTML = atcbIcon['location'];\n btnLocation.append(btnLocationIcon);\n const btnLocationText = document.createElement('span');\n btnLocationText.classList.add('atcb-date-btn-content-location');\n btnLocationText.textContent = data.dates[`${subEvent}`].location;\n btnLocation.append(btnLocationText);\n }\n } else {\n if (data.dates[`${subEvent}`].description !== '' && fullTimeInfo.length === 0 && (!data.recurrence || data.recurrence === '')) {\n const btnDescription = document.createElement('div');\n btnDescription.classList.add('atcb-date-btn-content');\n btnDescription.textContent = data.dates[`${subEvent}`].descriptionHtmlFree;\n btnDescription.style.overflow = 'hidden';\n btnDescription.style.display = '-webkit-box';\n btnDescription.style.lineClamp = '2';\n btnDescription.style.boxOrient = 'vertical';\n btnDetails.append(btnDescription);\n } else {\n btnHeadline.style.lineClamp = '2';\n if (fullTimeInfo.length == 0 && (data.recurrence == null || data.recurrence == '')) {\n btnRight.style.alignSelf = 'center';\n btnHeadline.style.textAlign = 'center';\n btnHeadline.style.lineClamp = '2';\n }\n }\n }\n if (fullTimeInfo.length > 0 || (data.recurrence != null && data.recurrence != '')) {\n const btnDateTime = document.createElement('div');\n btnDateTime.classList.add('atcb-date-btn-content');\n btnDetails.append(btnDateTime);\n const btnDateTimeIcon = document.createElement('span');\n btnDateTimeIcon.classList.add('atcb-date-btn-content-icon');\n btnDateTimeIcon.innerHTML = atcbIcon['ical'];\n btnDateTime.append(btnDateTimeIcon);\n const btnDateTimeText = document.createElement('span');\n btnDateTimeText.classList.add('atcb-date-btn-content-text');\n btnDateTime.append(btnDateTimeText);\n fullTimeInfo.forEach(function (block) {\n const btnDateTimeTextBlock = document.createElement('span');\n btnDateTimeTextBlock.textContent = block;\n btnDateTimeText.append(btnDateTimeTextBlock);\n });\n if (data.recurrence != null && data.recurrence != '') {\n const recurSign = document.createElement('span');\n recurSign.innerHTML = recurringString;\n btnDateTimeText.append(recurSign);\n }\n }\n const btnHover = document.createElement('div');\n btnHover.classList.add('atcb-date-btn-hover');\n btnHover.innerHTML = hoverText;\n btnRight.append(btnHover);\n if (!data.hideCheckmark && data.dates[`${subEvent}`].status.toLowerCase() !== 'cancelled') {\n const btnCheck = document.createElement('div');\n btnCheck.classList.add('atcb-checkmark');\n btnCheck.innerHTML = atcbIcon['checkmark'];\n parent.append(btnCheck);\n }\n const ariaLabel =\n hoverText.replace(/
/g, ' ').replace(/\\+\\s/g, '') +\n (oneOption ? ' (' + atcb_translate_hook(data.options[0], data) + ')' : '') +\n ': ' +\n btnHeadlineText +\n (data.dates[`${subEvent}`].location && data.dates[`${subEvent}`].location !== '' ? ', ' + data.dates[`${subEvent}`].location : '') +\n ', ' +\n fullTimeInfo.join(' ');\n parent.setAttribute('aria-label', ariaLabel);\n}\nasync function atcb_generate_modal_host(host, data, reset = true) {\n const existingModalHost = document.getElementById(data.identifier + '-modal-host');\n if (existingModalHost) {\n if (!reset) {\n return existingModalHost.shadowRoot;\n }\n existingModalHost.remove();\n }\n let newModalHost = document.createElement('div');\n newModalHost.id = data.identifier + '-modal-host';\n if (host.host.hasAttribute('cspnonce')) {\n newModalHost.setAttribute('cspnonce', host.host.getAttribute('cspnonce'));\n }\n newModalHost.setAttribute('atcb-button-id', data.identifier);\n newModalHost.classList.add('add-to-calendar');\n newModalHost.style.transform = 'translate3D(0, 0, 0)';\n newModalHost.style.visibility = 'visible';\n newModalHost.style.opacity = '1';\n newModalHost.style.position = 'fixed';\n newModalHost.style.top = '0';\n newModalHost.style.left = '0';\n newModalHost.style.width = '100%';\n newModalHost.style.height = '100%';\n newModalHost.style.display = 'flex';\n newModalHost.style.zIndex = '13999998';\n document.body.append(newModalHost);\n newModalHost.attachShadow({ mode: 'open', delegateFocus: true });\n const elem = document.createElement('template');\n elem.innerHTML = '
';\n newModalHost.shadowRoot.append(elem.content.cloneNode(true));\n atcb_set_light_mode(newModalHost.shadowRoot, data);\n await atcb_load_css(newModalHost.shadowRoot, null, data);\n return newModalHost.shadowRoot;\n}\nasync function atcb_generate_overlay_dom(host, data) {\n const newHost = await atcb_generate_modal_host(host, data);\n atcb_set_fullsize(newHost.querySelector('.atcb-modal-host-initialized'));\n const nodes = Array.from(host.children);\n nodes.forEach((node) => {\n if (node.tagName != 'STYLE') {\n newHost.querySelector('.atcb-modal-host-initialized').append(node.cloneNode(true));\n }\n });\n newHost.querySelector('button.atcb-button').removeAttribute('id');\n host.host.classList.add('atcb-shadow-hide');\n host.querySelector('.atcb-initialized').style.opacity = '0';\n atcb_position_shadow_button(host, newHost);\n window.addEventListener('scroll', atcb_position_shadow_button_listener);\n window.addEventListener('resize', atcb_position_shadow_button_listener);\n return newHost.querySelector('.atcb-modal-host-initialized');\n}\n\n\nfunction atcb_generate_rich_data(data, parent) {\n const schemaEl = document.createElement('script');\n schemaEl.id = 'atcb-schema-' + data.identifier;\n if (parent.hasAttribute('cspnonce')) {\n const cspnonceRegex = /[`'\"()[\\]{}<>\\s]/;\n if (cspnonceRegex.test(parent.getAttribute('cspnonce'))) {\n throw new Error('cspnonce input contains forbidden characters.');\n }\n schemaEl.setAttribute('nonce', parent.getAttribute('cspnonce'));\n }\n schemaEl.type = 'application/ld+json';\n const id = data.name.replace(/\\s/g, '');\n const schemaContentMulti = [];\n if (data.dates.length > 1) {\n const parts = [];\n parts.push('\"@context\":\"https://schema.org\"');\n parts.push('\"@type\":\"EventSeries\"');\n parts.push('\"@id\":\"' + id + '\"');\n parts.push('\"name\":\"' + data.name + '\",');\n schemaContentMulti.push('{\\r\\n' + parts.join(',\\r\\n') + '\\r\\n');\n }\n const schemaContentFull = [];\n for (let i = 0; i < data.dates.length; i++) {\n const schemaContent = [];\n schemaContent.push('\"@context\":\"https://schema.org\"');\n schemaContent.push('\"@type\":\"Event\"');\n if (data.dates.length > 1) {\n schemaContent.push('\"@id\":\"' + id + '-' + (i + 1) + '\"');\n }\n if (data.dates[`${i}`].status.toLowerCase() === 'cancelled') {\n schemaContent.push('\"eventStatus\":\"https://schema.org/EventCancelled\"');\n } else {\n schemaContent.push('\"eventStatus\":\"https://schema.org/EventScheduled\"');\n }\n schemaContent.push('\"name\":\"' + data.dates[`${i}`].name + '\"');\n if (data.dates[`${i}`].descriptionHtmlFree) {\n schemaContent.push('\"description\":\"' + data.dates[`${i}`].descriptionHtmlFree + '\"');\n }\n const formattedDate = atcb_generate_time(data.dates[`${i}`], 'delimiters', 'general', true);\n schemaContent.push('\"startDate\":\"' + formattedDate.start + '\"');\n if (formattedDate.duration) {\n schemaContent.push('\"duration\":\"' + formattedDate.duration + '\"');\n }\n schemaContent.push(data.dates[`${i}`].onlineEvent ? '\"eventAttendanceMode\":\"https://schema.org/OnlineEventAttendanceMode\",\\r\\n\"location\": {\\r\\n\"@type\":\"VirtualLocation\",\\r\\n\"url\":\"' + data.dates[`${i}`].location + '\"\\r\\n}' : '\"location\":\"' + data.dates[`${i}`].location + '\"');\n if (data.recurrence && data.recurrence !== '') {\n schemaContent.push(...atcb_generate_rich_data_recurrence(data, formattedDate));\n } else {\n schemaContent.push('\"endDate\":\"' + formattedDate.end + '\"');\n }\n if (data.dates[`${i}`].organizer && data.dates[`${i}`].organizer !== '') {\n const organizerParts = data.dates[`${i}`].organizer.split('|');\n schemaContent.push('\"organizer\":{\\r\\n\"@type\":\"Person\",\\r\\n\"name\":\"' + organizerParts[0] + '\",\\r\\n\"email\":\"' + organizerParts[1] + '\"\\r\\n}');\n }\n const imageData = [];\n if (data.images) {\n if (Array.isArray(data.images)) {\n for (let i = 0; i < data.images.length; i++) {\n if (atcb_secure_url(data.images[`${i}`], data.debug) && data.images[`${i}`].startsWith('http')) {\n imageData.push('\"' + data.images[`${i}`] + '\"');\n }\n }\n }\n }\n if (imageData.length > 0) {\n schemaContent.push('\"image\":[\\r\\n' + imageData.join(',\\r\\n') + ']');\n }\n schemaContentFull.push('{\\r\\n' + schemaContent.join(',\\r\\n') + '\\r\\n}');\n }\n if (data.dates.length > 1) {\n schemaEl.textContent = schemaContentMulti.join(',\\r\\n') + '\"subEvents\":[\\r\\n' + schemaContentFull.join(',\\r\\n') + '\\r\\n]\\r\\n}';\n } else {\n schemaEl.textContent = schemaContentFull[0];\n }\n document.body.insertBefore(schemaEl, document.body.firstChild);\n}\nfunction atcb_generate_rich_data_recurrence(data, formattedDate) {\n const schemaRecurrenceContent = [];\n schemaRecurrenceContent.push('\"eventSchedule\": { \"@type\": \"Schedule\"');\n schemaRecurrenceContent.push('\"scheduleTimezone\":\"' + data.dates[0].timeZone + '\"');\n if (data.recurrence_interval && data.recurrence_interval !== '' && data.recurrence_frequency && data.recurrence_frequency !== '') {\n const repeatFrequency = 'P' + data.recurrence_interval + data.recurrence_frequency.substring(0, 1);\n schemaRecurrenceContent.push('\"repeatFrequency\":\"' + repeatFrequency + '\"');\n }\n if (data.recurrence_byDay && data.recurrence_byDay !== '') {\n const byDayString = (function () {\n if (/\\d/.test(data.recurrence_byDay)) {\n return '\"' + data.recurrence_byDay + '\"';\n } else {\n const byDays = data.recurrence_byDay.split(',');\n const helperMap = {\n MO: 'https://schema.org/Monday',\n TU: 'https://schema.org/Tuesday',\n WE: 'https://schema.org/Wednesday',\n TH: 'https://schema.org/Thursday',\n FR: 'https://schema.org/Friday',\n SA: 'https://schema.org/Saturday',\n SU: 'https://schema.org/Sunday',\n };\n const output = [];\n for (let i = 0; i < byDays.length; i++) {\n output.push('\"' + helperMap[byDays[`${i}`]] + '\"');\n }\n return '[' + output.join(',') + ']';\n }\n })();\n schemaRecurrenceContent.push('\"byDay\":' + byDayString);\n }\n if (data.recurrence_byMonth && data.recurrence_byMonth !== '') {\n const byMonthString = data.recurrence_byMonth.includes(',') ? '[' + data.recurrence_byMonth + ']' : data.recurrence_byMonth;\n schemaRecurrenceContent.push('\"byMonth\":\"' + byMonthString + '\"');\n }\n if (data.recurrence_byMonthDay && data.recurrence_byMonthDay !== '') {\n const byMonthDayString = data.recurrence_byMonthDay.includes(',') ? '[' + data.recurrence_byMonthDay + ']' : data.recurrence_byMonthDay;\n schemaRecurrenceContent.push('\"byMonthDay\":\"' + byMonthDayString + '\"');\n }\n if (data.recurrence_count && data.recurrence_count !== '') {\n schemaRecurrenceContent.push('\"repeatCount\":\"' + data.recurrence_count + '\"');\n }\n if (data.recurrence_until && data.recurrence_until !== '') {\n schemaRecurrenceContent.push('\"endDate\":\"' + data.recurrence_until + '\"');\n }\n if (data.startTime && data.startTime !== '' && data.endTime && data.endTime !== '') {\n schemaRecurrenceContent.push('\"startTime\":\"' + data.startTime + ':00\"');\n schemaRecurrenceContent.push('\"endTime\":\"' + data.endTime + ':00\"');\n schemaRecurrenceContent.push('\"duration\":\"' + formattedDate.duration + '\"');\n }\n schemaRecurrenceContent.push('\"startDate\":\"' + data.startDate + '\" }');\n return schemaRecurrenceContent;\n}\n\n\nfunction atcb_generate_links(host, type, data, subEvent = 'all', keyboardTrigger = false, multiDateModal = false, skipDoubleLink = false) {\n let linkType = type;\n if (type === 'apple') {\n linkType = 'ical';\n }\n if (subEvent !== 'all') {\n subEvent = parseInt(subEvent) - 1;\n } else if (data.dates.length == 1) {\n subEvent = 0;\n }\n if (data.subscribe) {\n atcb_generate_subscribe_links(host, type, linkType, data, keyboardTrigger);\n return;\n }\n if (subEvent !== 'all') {\n if (data.dates[`${subEvent}`].status.toLowerCase() === 'cancelled' && linkType !== 'ical') {\n atcb_create_modal(host, data, 'warning', atcb_translate_hook('date.status.cancelled', data), atcb_translate_hook('date.status.cancelled.cta', data), [], [], keyboardTrigger);\n } else {\n if (!skipDoubleLink) {\n }\n switch (linkType) {\n case 'ical': // also for apple (see above)\n atcb_generate_ical(host, data, type, subEvent, keyboardTrigger);\n break;\n case 'google':\n atcb_generate_google(data, data.dates[`${subEvent}`], subEvent);\n break;\n case 'msteams':\n atcb_generate_msteams(data, data.dates[`${subEvent}`], subEvent);\n break;\n case 'ms365':\n atcb_generate_microsoft(data, data.dates[`${subEvent}`], subEvent);\n break;\n case 'outlookcom':\n atcb_generate_microsoft(data, data.dates[`${subEvent}`], subEvent, 'outlookcom');\n break;\n case 'yahoo':\n atcb_generate_yahoo(data, data.dates[`${subEvent}`], subEvent);\n break;\n }\n const modalHost = document.getElementById(data.identifier + '-modal-host');\n if (modalHost) {\n const subEventButton = modalHost.shadowRoot.getElementById(data.identifier + '-' + type + '-' + (subEvent + 1));\n if (subEventButton) {\n subEventButton.classList.add('atcb-saved');\n }\n }\n if (data.dates[`${subEvent}`].status.toLowerCase() !== 'cancelled') atcbStates[`${data.identifier}`][`${type}`][`${subEvent}`]++;\n const filteredStates = atcbStates[`${data.identifier}`][`${type}`].filter(function (value) {\n return value < 1;\n });\n if (filteredStates.length == 0) {\n atcb_set_fully_successful(host, data, multiDateModal);\n }\n }\n return;\n }\n atcb_generate_multidate_links(host, type, linkType, data, keyboardTrigger, multiDateModal);\n}\nfunction atcb_generate_multidate_links(host, type, linkType, data, keyboardTrigger, multiDateModal) {\n if (\n linkType === 'ical' &&\n data.dates.every(function (theSubEvent) {\n if (theSubEvent.status.toLowerCase() == 'cancelled' || (theSubEvent.organizer != null && theSubEvent.organizer != '')) {\n return false;\n }\n return true;\n })\n ) {\n atcb_generate_ical(host, data, type, 'all', keyboardTrigger);\n for (let i = 0; i < atcbStates[`${data.identifier}`][`${type}`].length; i++) {\n atcbStates[`${data.identifier}`][`${type}`][`${i}`]++;\n }\n atcb_set_fully_successful(host, data, multiDateModal);\n return;\n }\n if (!multiDateModal) {\n const individualButtons = [type];\n for (let i = 0; i < data.dates.length; i++) {\n individualButtons.push(i + 1);\n }\n atcb_create_modal(host, data, type, atcb_translate_hook('modal.multidate.h', data), atcb_translate_hook('modal.multidate.text', data), [], individualButtons, keyboardTrigger);\n }\n}\nfunction atcb_generate_subscribe_links(host, type, linkType, data, keyboardTrigger) {\n const adjustedFileUrl = data.icsFile.replace('https://', 'webcal://');\n switch (linkType) {\n case 'ical': // also for apple (see above)\n if (atcbIsAndroid() || data.fakeAndroid) {\n atcb_subscribe_ical(data, data.icsFile, type);\n break;\n }\n atcb_subscribe_ical(data, adjustedFileUrl, type, host, keyboardTrigger);\n break;\n case 'google':\n atcb_subscribe_google(data, adjustedFileUrl);\n break;\n case 'ms365':\n atcb_subscribe_microsoft(data, adjustedFileUrl, data.name);\n break;\n case 'outlookcom':\n atcb_subscribe_microsoft(data, adjustedFileUrl, data.name, 'outlookcom');\n break;\n case 'yahoo':\n if (data.proxy) {\n atcb_open_cal_url(data, 'yahoo', '', true);\n return;\n }\n atcb_copy_to_clipboard(data.icsFile);\n atcb_create_modal(\n host,\n data,\n 'yahoo',\n atcb_translate_hook('modal.subscribe.yahoo.h', data),\n atcb_translate_hook('modal.clipboard.text', data) + '
' + atcb_translate_hook('modal.subscribe.yahoo.text', data),\n [\n {\n label: atcb_translate_hook('modal.subscribe.yahoo.button', data),\n primary: true,\n type: 'yahoo2nd',\n href: 'https://www.yahoo.com/calendar',\n },\n { label: atcb_translate_hook('cancel', data) },\n ],\n [],\n keyboardTrigger,\n );\n return;\n case 'yahoo2nd':\n atcb_copy_to_clipboard(data.icsFile);\n atcb_create_modal(\n host,\n data,\n 'yahoo',\n atcb_translate_hook('modal.subscribe.yahoo.h', data),\n atcb_translate_hook('modal.clipboard.text', data) + '
' + atcb_translate_hook('modal.subscribe.yahoo.text', data),\n [\n {\n label: atcb_translate_hook('modal.subscribe.yahoo.button', data),\n type: 'none',\n href: 'https://www.yahoo.com/calendar',\n },\n { label: atcb_translate_hook('cancel', data) },\n ],\n [],\n keyboardTrigger,\n );\n return;\n }\n atcb_set_fully_successful(host, data);\n}\nfunction atcb_set_fully_successful(host, data, multiDateModal = false) {\n const trigger = host.getElementById(data.identifier);\n if (trigger) {\n trigger.classList.add('atcb-saved');\n }\n atcb_saved_hook(host, data);\n if (multiDateModal && host.querySelectorAll('.atcb-modal[data-modal-nr]').length < 2) {\n atcb_toggle(host, 'close');\n }\n}\nfunction atcb_subscribe_ical(data, fileUrl, type, host = null, keyboardTrigger = false) {\n if (atcbIsiOS() && !atcbIsSafari()) {\n atcb_ical_copy_note(host, fileUrl, data, keyboardTrigger);\n return;\n }\n atcb_open_cal_url(data, type, fileUrl, true);\n}\nfunction atcb_subscribe_google(data, fileUrl) {\n const baseUrl = 'https://calendar.google.com/calendar/u/0/r?cid=';\n const baseUrlApp = 'calendar.google.com/calendar?cid=';\n let isGoogleCalId = false;\n const newFileUrl = (function () {\n if (/^(?:webcal:\\/\\/|\\/\\/)calendar\\.google\\.com\\/.*\\?cid=/.test(fileUrl)) {\n isGoogleCalId = true;\n return fileUrl.replace(/^(.)*\\?cid=/, '');\n }\n return encodeURIComponent(fileUrl);\n })();\n if ((atcbIsAndroid() || data.fakeAndroid) && isGoogleCalId) {\n atcb_open_cal_url(data, 'google', 'intent://' + baseUrlApp + newFileUrl + '#Intent;scheme=https;package=com.google.android.calendar;end', true);\n return;\n }\n if (((atcbIsiOS() && atcbIsSafari()) || data.fakeIOS) && isGoogleCalId) {\n atcb_open_cal_url(data, 'google', 'googlecalendar://' + baseUrlApp + newFileUrl, true);\n return;\n }\n atcb_open_cal_url(data, 'google', baseUrl + newFileUrl, true);\n}\nfunction atcb_subscribe_microsoft(data, fileUrl, calName, type = 'ms365') {\n const urlParts = [];\n const baseUrl = (function () {\n if (type == 'outlookcom') {\n return 'https://outlook.live.com/calendar/0/addfromweb/?';\n } else {\n return 'https://outlook.office.com/calendar/0/addfromweb/?';\n }\n })();\n urlParts.push('url=' + encodeURIComponent(fileUrl));\n urlParts.push('name=' + encodeURIComponent(calName));\n atcb_open_cal_url(data, type, baseUrl + urlParts.join('&'), true);\n}\nfunction atcb_generate_google(data, date, subEvent = 'all') {\n const urlParts = [];\n if (atcbIsMobile() || data.fakeMobile) {\n urlParts.push('https://calendar.google.com/calendar/render?action=TEMPLATE&');\n } else {\n urlParts.push('https://calendar.google.com/calendar/r/eventedit?');\n }\n const formattedDate = atcb_generate_time(date, 'clean', 'google');\n urlParts.push('dates=' + encodeURIComponent(formattedDate.start) + '%2F' + encodeURIComponent(formattedDate.end));\n if (date.timeZone && date.timeZone !== '' && !/GMT[+|-]\\d{1,2}|Etc\\/U|Etc\\/Zulu|CET|CST6CDT|EET|EST|MET|MST|PST8PDT|WET/i.test(date.timeZone) && !formattedDate.allday) {\n urlParts.push('ctz=' + date.timeZone);\n }\n if (date.name && date.name !== '') {\n urlParts.push('text=' + encodeURIComponent(date.name));\n }\n const tmpDataDescription = [];\n if (date.description && date.description !== '') {\n tmpDataDescription.push(date.description);\n }\n if (date.location && date.location !== '') {\n urlParts.push('location=' + encodeURIComponent(date.location));\n if (atcbIsiOS() || data.fakeIOS) {\n if (tmpDataDescription.length > 0) {\n tmpDataDescription.push('

');\n }\n tmpDataDescription.push('📍: ' + date.location);\n }\n }\n if (tmpDataDescription.length > 0) {\n urlParts.push('details=' + encodeURIComponent(tmpDataDescription.join('')));\n }\n if (date.recurrence && date.recurrence !== '') {\n urlParts.push('recur=' + encodeURIComponent(date.recurrence));\n }\n if (date.availability && date.availability !== '') {\n const availabilityPart = (function () {\n if (date.availability == 'free') {\n return 'crm=AVAILABLE&trp=false';\n }\n return 'crm=BUSY&trp=true';\n })();\n urlParts.push(availabilityPart);\n }\n let fullUrl = urlParts.join('&');\n if (atcbIsAndroid() || data.fakeAndroid) {\n fullUrl = 'intent://' + fullUrl.slice(8) + '#Intent;scheme=https;package=com.google.android.calendar;end';\n } else if ((atcbIsiOS() && atcbIsSafari()) || data.fakeIOS) {\n fullUrl = 'googlecalendar://' + fullUrl.slice(8);\n }\n atcb_open_cal_url(data, 'google', fullUrl, false, subEvent);\n}\nfunction atcb_generate_yahoo(data, date, subEvent = 'all') {\n const urlParts = [];\n urlParts.push('https://calendar.yahoo.com/?v=60');\n const formattedDate = atcb_generate_time(date, 'clean');\n if (formattedDate.allday) {\n if (formattedDate.start === formattedDate.end) {\n urlParts.push('dur=allday&st=' + encodeURIComponent(formattedDate.start)); \n } else {\n const allDayDate = JSON.parse(JSON.stringify(date));\n allDayDate.startTime = '00:00';\n allDayDate.endTime = '23:59';\n allDayDate.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const formattedAllDayDate = atcb_generate_time(allDayDate, 'clean');\n urlParts.push('st=' + encodeURIComponent(formattedAllDayDate.start) + '&et=' + encodeURIComponent(formattedAllDayDate.end));\n }\n } else {\n urlParts.push('st=' + encodeURIComponent(formattedDate.start) + '&et=' + encodeURIComponent(formattedDate.end));\n }\n if (date.name && date.name !== '') {\n urlParts.push('title=' + encodeURIComponent(date.name));\n }\n if (date.location && date.location !== '') {\n urlParts.push('in_loc=' + encodeURIComponent(date.location));\n }\n if (date.descriptionHtmlFree && date.descriptionHtmlFree !== '') {\n urlParts.push('desc=' + encodeURIComponent(date.descriptionHtmlFree));\n }\n atcb_open_cal_url(data, 'yahoo', urlParts.join('&'), false, subEvent);\n}\nfunction atcb_generate_microsoft(data, date, subEvent = 'all', type = 'ms365') {\n const urlParts = [];\n const basePath = (function () {\n if (atcbIsMobile() || data.fakeMobile) {\n return '/calendar/0/deeplink/compose?path=%2Fcalendar%2Faction%2Fcompose&rru=addevent';\n }\n return '/calendar/action/compose?rru=addevent';\n })();\n const baseUrl = (function () {\n if (type == 'outlookcom') {\n return 'https://outlook.live.com' + basePath;\n } else {\n return 'https://outlook.office.com' + basePath;\n }\n })();\n urlParts.push(baseUrl);\n const formattedDate = atcb_generate_time(date, 'delimiters', 'microsoft');\n urlParts.push('startdt=' + formattedDate.start);\n urlParts.push('enddt=' + formattedDate.end);\n if (formattedDate.allday) {\n urlParts.push('allday=true');\n }\n if (date.name && date.name !== '') {\n urlParts.push('subject=' + encodeURIComponent(date.name.replace(/&/g, '&')));\n }\n if (date.location && date.location !== '') {\n urlParts.push('location=' + encodeURIComponent(date.location));\n }\n if (date.description && date.description !== '') {\n urlParts.push('body=' + encodeURIComponent(date.description));\n }\n atcb_open_cal_url(data, type, urlParts.join('&'), false, subEvent);\n}\nfunction atcb_generate_msteams(data, date, subEvent = 'all') {\n const urlParts = [];\n const baseUrl = 'https://teams.microsoft.com/l/meeting/new?';\n const formattedDate = atcb_generate_time(date, 'delimiters', 'msteams', true);\n if (!formattedDate.allday || atcbIsMobile() || data.fakeMobile) {\n urlParts.push('startTime=' + encodeURIComponent(formattedDate.start));\n urlParts.push('endTime=' + encodeURIComponent(formattedDate.end));\n } else {\n urlParts.push('startTime=' + formattedDate.start);\n urlParts.push('endTime=' + formattedDate.end);\n }\n if (date.name && date.name !== '') {\n urlParts.push('subject=' + encodeURIComponent(date.name));\n }\n let locationString = '';\n if (date.location && date.location !== '') {\n locationString = date.location;\n locationString += ' // '; \n urlParts.push('location=' + encodeURIComponent(locationString));\n }\n if (date.descriptionHtmlFree && date.descriptionHtmlFree != '') {\n urlParts.push('content=' + locationString + encodeURIComponent(date.descriptionHtmlFree));\n }\n atcb_open_cal_url(data, 'msteams', baseUrl + urlParts.join('&'), false, subEvent);\n}\nfunction atcb_open_cal_url(data, type, url = '', subscribe = false, subEvent = null, target = '') {\n if (target === '') {\n target = atcbDefaultTarget;\n }\n if (data.proxy && data.proKey && data.proKey !== '') {\n const urlType = subscribe ? 's' : 'o';\n const query = (function () {\n const parts = [];\n if (data.attendee && data.attendee !== '') {\n parts.push('attendee=' + encodeURIComponent(data.attendee));\n }\n if (data.customVar && typeof data.customVar === 'object' && Object.keys(data.customVar).length > 0) {\n parts.push('customvar=' + encodeURIComponent(JSON.stringify(data.customVar)));\n }\n if (data.dates && data.dates.length > 1 && subEvent !== null && subEvent !== 'all') {\n parts.push('sub-event=' + subEvent);\n }\n if (parts.length > 0) {\n return '?' + parts.join('&');\n }\n return '';\n })();\n const host = data.domain ? data.domain : data.dev ? 'dev.caldn.net' : 'caldn.net';\n url = `https://${host}/${data.proKey}/${urlType}/${type}${query}`;\n if (!atcb_secure_url(url)) {\n return;\n }\n }\n if (atcb_secure_url(url)) {\n const newTab = window.open(url, target);\n if (newTab) {\n newTab.focus();\n }\n }\n}\nfunction atcb_generate_ical(host, data, type, subEvent = 'all', keyboardTrigger = false) {\n if (subEvent !== 'all') {\n subEvent = parseInt(subEvent);\n }\n const filename = atcb_determine_ical_filename(data, subEvent);\n const givenIcsFile = (function () {\n const potentialHostAttendee = host.host.getAttribute('attendee') || '';\n const potentialHostCustomVar = host.host.getAttribute('customVar') || '';\n if ((data.attendee && data.attendee !== '' && potentialHostAttendee !== '') || (data.customVar && data.customVar !== '' && potentialHostCustomVar !== '')) {\n return '';\n }\n if (subEvent !== 'all' && data.dates[`${subEvent}`].icsFile && data.dates[`${subEvent}`].icsFile !== '') {\n return data.dates[`${subEvent}`].icsFile;\n }\n if (data.icsFile && data.icsFile !== '') {\n return data.icsFile;\n }\n return '';\n })();\n if (data.proxy) {\n atcb_open_cal_url(data, type, '', false, subEvent);\n return;\n }\n if (givenIcsFile !== '' && ((!atcbIsiOS() && !data.fakeIOS) || !atcbIsWebView() || data.bypassWebViewCheck)) {\n atcb_save_file(givenIcsFile, filename);\n return;\n }\n const now = new Date();\n const ics_lines = ['BEGIN:VCALENDAR', 'VERSION:2.0'];\n ics_lines.push('PRODID:-// https://add-to-calendar-pro.com // button v' + atcbVersion + ' //EN');\n ics_lines.push('CALSCALE:GREGORIAN');\n if (subEvent == 'all') {\n ics_lines.push('METHOD:PUBLISH');\n } else {\n if (data.dates[`${subEvent}`].status && data.dates[`${subEvent}`].status.toLowerCase() === 'cancelled') {\n ics_lines.push('METHOD:CANCEL');\n } else {\n if (data.dates[`${subEvent}`].organizer && data.dates[`${subEvent}`].organizer != '') {\n ics_lines.push('METHOD:REQUEST');\n } else {\n ics_lines.push('METHOD:PUBLISH');\n }\n }\n }\n const usedTimeZones = [];\n const loopStart = (function () {\n if (subEvent != 'all') {\n return subEvent;\n }\n return 0;\n })();\n const loopEnd = (function () {\n if (subEvent != 'all') {\n return subEvent;\n }\n return data.dates.length - 1;\n })();\n for (let i = loopStart; i <= loopEnd; i++) {\n const formattedDate = atcb_generate_time(data.dates[`${i}`], 'clean', 'ical');\n const timeAddon = (function () {\n if (formattedDate.allday) {\n return ';VALUE=DATE';\n }\n if (data.dates[`${i}`].timeZone && data.dates[`${i}`].timeZone !== '') {\n const timeZoneBlock = tzlib_get_ical_block(data.dates[`${i}`].timeZone);\n if (!usedTimeZones.includes(data.dates[`${i}`].timeZone)) {\n ics_lines.push(timeZoneBlock[0]);\n }\n usedTimeZones.push(data.dates[`${i}`].timeZone);\n return ';' + timeZoneBlock[1];\n }\n })();\n ics_lines.push('BEGIN:VEVENT');\n if (data.dates[`${i}`].uid && data.dates[`${i}`].uid !== '') {\n ics_lines.push('UID:' + data.dates[`${i}`].uid);\n }\n ics_lines.push('DTSTAMP:' + atcb_format_datetime(now, 'clean', true));\n ics_lines.push('DTSTART' + timeAddon + ':' + formattedDate.start);\n ics_lines.push('DTEND' + timeAddon + ':' + formattedDate.end);\n ics_lines.push('SUMMARY:' + atcb_rewrite_ical_text(data.dates[`${i}`].name, true));\n if (data.dates[`${i}`].descriptionHtmlFreeICal && data.dates[`${i}`].descriptionHtmlFreeICal !== '') {\n ics_lines.push('DESCRIPTION:' + atcb_rewrite_ical_text(data.dates[`${i}`].descriptionHtmlFreeICal, true));\n }\n if (data.dates[`${i}`].description && data.dates[`${i}`].description !== '') {\n ics_lines.push('X-ALT-DESC;FMTTYPE=text/html:\\r\\n \\r\\n \\r\\n ' + atcb_rewrite_ical_text(data.dates[`${i}`].description, true) + '\\r\\n ');\n }\n if (data.dates[`${i}`].location && data.dates[`${i}`].location !== '') {\n ics_lines.push('LOCATION:' + atcb_rewrite_ical_text(data.dates[`${i}`].location, true));\n }\n if (data.dates[`${i}`].organizer && data.dates[`${i}`].organizer !== '') {\n const organizerParts = data.dates[`${i}`].organizer.split('|');\n ics_lines.push('ORGANIZER;CN=' + atcb_rewrite_ical_text(organizerParts[0], false, true) + ':MAILTO:' + organizerParts[1]);\n }\n if (data.dates[`${i}`].attendee && data.dates[`${i}`].attendee !== '') {\n const attendeeParts = data.dates[`${i}`].attendee.split('|');\n if (attendeeParts.length === 2) {\n ics_lines.push('ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=' + atcb_rewrite_ical_text(attendeeParts[0], false, true) + ';X-NUM-GUESTS=0:mailto:' + attendeeParts[1]);\n } else {\n ics_lines.push('ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=' + attendeeParts[0] + ';X-NUM-GUESTS=0:mailto:' + attendeeParts[0]);\n }\n }\n if (data.recurrence && data.recurrence !== '') {\n ics_lines.push(data.recurrence);\n }\n if (data.dates[`${i}`].availability && data.dates[`${i}`].availability !== '') {\n const transpVal = (function () {\n if (data.dates[`${i}`].availability == 'free') {\n return 'TRANSPARENT';\n }\n return 'OPAQUE';\n })();\n ics_lines.push('TRANSP:' + transpVal);\n }\n ics_lines.push('SEQUENCE:' + data.dates[`${i}`].sequence);\n ics_lines.push('STATUS:' + data.dates[`${i}`].status);\n ics_lines.push('CREATED:' + data.created);\n ics_lines.push('LAST-MODIFIED:' + data.updated);\n ics_lines.push('END:VEVENT');\n }\n ics_lines.push('END:VCALENDAR');\n const dataUrl = (function () {\n if (givenIcsFile != '') {\n return givenIcsFile;\n }\n return 'data:text/calendar;charset=utf-8,' + encodeURIComponent(ics_lines.join('\\r\\n'));\n })();\n if ((atcbIsiOS() && !atcbIsSafari()) || (atcbIsWebView() && (atcbIsiOS() || (atcbIsAndroid() && atcbIsProblematicWebView())))) {\n atcb_ical_copy_note(host, dataUrl, data, keyboardTrigger);\n return;\n }\n atcb_save_file(dataUrl, filename);\n}\nfunction atcb_determine_ical_filename(data, subEvent) {\n const filenameSuffix = (function () {\n if (subEvent != 'all' && subEvent != 0) {\n return '-' + parseInt(subEvent) + 1;\n }\n return '';\n })();\n if (data.iCalFileName != null && data.iCalFileName != '') {\n return data.iCalFileName + filenameSuffix;\n }\n if (data.icsFile != null && data.icsFile != '') {\n const filenamePart = data.icsFile.split('/').pop().split('.')[0];\n if (filenamePart != '') {\n return filenamePart + filenameSuffix;\n }\n }\n return 'event-to-save-in-my-calendar' + filenameSuffix;\n}\nfunction atcb_ical_copy_note(host, dataUrl, data, keyboardTrigger) {\n atcb_copy_to_clipboard(dataUrl);\n if (atcbIsiOS() && !atcbIsSafari()) {\n atcb_create_modal(\n host,\n data,\n 'warning',\n atcb_translate_hook('modal.opensafari.ical.h', data),\n atcb_translate_hook('modal.opensafari.ical.text', data) + '
' + atcb_translate_hook('modal.clipboard.text', data) + '
' + atcb_translate_hook('modal.opensafari.ical.steps', data),\n [],\n [],\n keyboardTrigger,\n );\n return;\n }\n atcb_create_modal(host, data, 'warning', atcb_translate_hook('modal.webview.ical.h', data), atcb_translate_hook('modal.webview.ical.text', data) + '
' + atcb_translate_hook('modal.clipboard.text', data) + '
' + atcb_translate_hook('modal.webview.ical.steps', data), [], [], keyboardTrigger);\n}\n\n\nfunction atcb_saved_hook(host, data) {\n atcb_log_event('success', data.identifier, data.identifier);\n if (data.ty && typeof atcb_generate_ty === 'function') {\n setTimeout(() => {\n atcb_generate_ty(host, data);\n }, 1000);\n }\n}\nfunction atcb_save_file(file, filename) {\n try {\n const save = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');\n save.rel = 'noopener';\n save.href = file;\n if (atcbIsMobile()) {\n save.target = '_self';\n } else {\n save.target = '_blank';\n }\n save.download = filename + '.ics';\n const evt = new MouseEvent('click', {\n view: window,\n button: 0,\n bubbles: true,\n cancelable: false,\n });\n save.dispatchEvent(evt);\n (window.URL || window.webkitURL).revokeObjectURL(save.href);\n } catch (e) {\n console.error(e);\n }\n}\nfunction atcb_generate_time(data, style = 'delimiters', targetCal = 'general', addTimeZoneOffset = false) {\n if (data.startTime && data.startTime !== '' && data.endTime && data.endTime !== '') {\n const newStartDate = new Date(data.startDate + 'T' + data.startTime + ':00.000+00:00');\n if (!data.endDate) data.endDate = data.startDate;\n const newEndDate = new Date(data.endDate + 'T' + data.endTime + ':00.000+00:00');\n const durationMS = newEndDate - newStartDate;\n const durationHours = Math.floor(durationMS / 1000 / 60 / 60);\n const durationMinutes = Math.floor(((durationMS - durationHours * 60 * 60 * 1000) / 1000 / 60) % 60);\n const durationString = (function () {\n if (durationHours < 10) {\n return '0' + durationHours + ':' + ('0' + durationMinutes).slice(-2);\n }\n return durationHours + ':' + ('0' + durationMinutes).slice(-2);\n })();\n if (targetCal == 'ical' || (targetCal == 'google' && !/GMT[+|-]\\d{1,2}|Etc\\/U|Etc\\/Zulu|CET|CST6CDT|EET|EST|MET|MST|PST8PDT|WET/i.test(data.timeZone))) {\n return {\n start: atcb_format_datetime(newStartDate, 'clean', true, true),\n end: atcb_format_datetime(newEndDate, 'clean', true, true),\n duration: durationString,\n allday: false,\n };\n }\n const offsetStart = tzlib_get_offset(data.timeZone, data.startDate, data.startTime);\n const offsetEnd = tzlib_get_offset(data.timeZone, data.endDate, data.endTime);\n if (addTimeZoneOffset) {\n const formattedOffsetStart = offsetStart.slice(0, 3) + ':' + offsetStart.slice(3);\n const formattedOffsetEnd = offsetEnd.slice(0, 3) + ':' + offsetEnd.slice(3);\n return {\n start: newStartDate.toISOString().replace('.000Z', formattedOffsetStart),\n end: newEndDate.toISOString().replace('.000Z', formattedOffsetEnd),\n duration: durationString,\n allday: false,\n };\n }\n const calcOffsetStart = parseInt(offsetStart[0] + 1) * -1 * ((parseInt(offsetStart.substring(1, 3)) * 60 + parseInt(offsetStart.substring(3, 5))) * 60 * 1000);\n const calcOffsetEnd = parseInt(offsetEnd[0] + 1) * -1 * ((parseInt(offsetEnd.substring(1, 3)) * 60 + parseInt(offsetEnd.substring(3, 5))) * 60 * 1000);\n newStartDate.setTime(newStartDate.getTime() + calcOffsetStart);\n newEndDate.setTime(newEndDate.getTime() + calcOffsetEnd);\n return {\n start: atcb_format_datetime(newStartDate, style),\n end: atcb_format_datetime(newEndDate, style),\n duration: durationString,\n allday: false,\n };\n } else {\n const startDate = data.startDate.split('-');\n const endDate = data.endDate ? data.endDate.split('-') : startDate;\n const newStartDate = new Date(Date.UTC(startDate[0], startDate[1] - 1, startDate[2], 12, 0, 0));\n const newEndDate = new Date(Date.UTC(endDate[0], endDate[1] - 1, endDate[2], 12, 0, 0));\n if (targetCal === 'google' || (targetCal === 'microsoft' && !atcbIsMobile()) || targetCal === 'msteams' || targetCal === 'ical') {\n newEndDate.setDate(newEndDate.getDate() + 1);\n }\n if (targetCal === 'msteams') {\n if (atcbIsMobile()) {\n const offset = newStartDate.getTimezoneOffset();\n const formattedOffset = (function () {\n if (offset < 0) {\n return '+' + ('0' + Math.abs(offset / 60)).slice(-2) + ':' + ('0' + Math.abs(offset % 60)).slice(-2);\n } else {\n return '-' + ('0' + Math.abs(offset / 60)).slice(-2) + ':' + ('0' + Math.abs(offset % 60)).slice(-2);\n }\n })();\n return {\n start: atcb_format_datetime(newStartDate, style, false, true) + 'T00:00:00' + formattedOffset,\n end: atcb_format_datetime(newEndDate, style, false, true) + 'T00:00:00' + formattedOffset,\n allday: true,\n };\n }\n return {\n start: atcb_format_datetime(newStartDate, style, false, true) + '+00:00',\n end: atcb_format_datetime(newEndDate, style, false, true) + '+00:00',\n allday: true,\n };\n }\n return {\n start: atcb_format_datetime(newStartDate, style, false),\n end: atcb_format_datetime(newEndDate, style, false),\n allday: true,\n };\n }\n}\nfunction atcb_format_datetime(datetime, style = 'delimiters', includeTime = true, removeZ = false) {\n const regex = (function () {\n if (includeTime) {\n if (style == 'clean') {\n return /(-|:|(\\.\\d{3}))/g;\n }\n return /(\\.\\d{3})/g;\n }\n if (style == 'clean') {\n return /(-|T(\\d{2}:\\d{2}:\\d{2}\\.\\d{3})Z)/g;\n }\n return /T(\\d{2}:\\d{2}:\\d{2}\\.\\d{3})Z/g;\n })();\n const output = removeZ ? datetime.toISOString().replace(regex, '').replace('Z', '') : datetime.toISOString().replace(regex, '');\n return output;\n}\nfunction offsetToMilliseconds(offset) {\n const sign = offset[0] === '+' ? 1 : -1;\n const hours = parseInt(offset.substring(1, 3), 10);\n const minutes = parseInt(offset.substring(3, 5), 10);\n const totalMinutes = (hours * 60 + minutes) * sign;\n const milliseconds = totalMinutes * 60000;\n return milliseconds;\n}\nfunction atcb_translate_via_time_zone(date, time, baseTimeZone, targetTimeZone) {\n const dateTime = new Date(`${date}T${time}:00Z`);\n const offset = tzlib_get_offset(baseTimeZone, date, time); \n const dateTimeUTC = new Date(dateTime.getTime() - offsetToMilliseconds(offset));\n const formatter = new Intl.DateTimeFormat('en-CA', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n timeZone: targetTimeZone,\n hourCycle: 'h23',\n });\n const dateInTargetTimeZone = formatter.format(dateTimeUTC);\n return ([date, time] = dateInTargetTimeZone.split(', '));\n}\nfunction atcb_generate_timestring(dates, language = 'en', subEvent = 'all', decorate = false, browserTimeOverride = false, enforceYear = false, hideTimeZone = false) {\n if (decorate) {\n const tmpRootTZ = atcb_decorate_data_timezone();\n dates = atcb_decorate_data_dates({ dates: dates, timeZone: tmpRootTZ }).dates;\n }\n let startDateInfo, endDateInfo, timeZoneInfoStart, timeZoneInfoEnd;\n let formattedTimeStart = {};\n let formattedTimeEnd = {};\n let timeBlocks = [];\n let timeZoneInfoStringStart = '';\n let timeZoneInfoStringEnd = '';\n const browserTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n if (subEvent === 'all') {\n formattedTimeStart = atcb_generate_time(dates[0]);\n formattedTimeEnd = atcb_generate_time(dates[dates.length - 1]);\n timeZoneInfoStart = browserTimeOverride ? browserTimezone : dates[0].timeZone;\n timeZoneInfoEnd = browserTimeOverride ? browserTimezone : dates[dates.length - 1].timeZone;\n } else {\n formattedTimeStart = atcb_generate_time(dates[`${subEvent}`]);\n formattedTimeEnd = formattedTimeStart;\n timeZoneInfoStart = browserTimeOverride ? browserTimezone : dates[`${subEvent}`].timeZone;\n timeZoneInfoEnd = timeZoneInfoStart;\n }\n startDateInfo = new Date(formattedTimeStart.start);\n endDateInfo = new Date(formattedTimeEnd.end);\n if (formattedTimeStart.allday) {\n timeZoneInfoStart = 'GMT';\n }\n if (formattedTimeEnd.allday) {\n timeZoneInfoEnd = 'GMT';\n }\n const magicLocationPhrases = ['global', 'world-wide', 'worldwide', 'online'];\n const convertable = (function () {\n let i = 0;\n let j = dates.length - 1;\n if (subEvent != 'all') {\n i = j = subEvent;\n }\n for (i; i <= j; i++) {\n const magicLocation = (function () {\n if (dates[`${i}`].location && dates[`${i}`].location !== '') {\n if (magicLocationPhrases.includes(dates[`${i}`].location.toLowerCase())) {\n return true;\n }\n }\n return false;\n })();\n if (!magicLocation && !dates[`${i}`].onlineEvent) {\n return false;\n }\n }\n return true;\n })();\n if (convertable) {\n timeZoneInfoStart = timeZoneInfoEnd = browserTimezone;\n } else {\n if (!formattedTimeStart.allday && browserTimezone !== timeZoneInfoStart && timeZoneInfoStart !== timeZoneInfoEnd) {\n timeZoneInfoStringStart = '(' + timeZoneInfoStart + ')';\n }\n if ((!formattedTimeEnd.allday && browserTimezone !== timeZoneInfoEnd) || timeZoneInfoStart !== timeZoneInfoEnd) {\n timeZoneInfoStringEnd = '(' + timeZoneInfoEnd + ')';\n }\n }\n const now = new Date();\n const dropYearStart = (function () {\n if (!enforceYear && startDateInfo.getFullYear() === now.getFullYear()) {\n return true;\n }\n return false;\n })();\n const dropYearEnd = (function () {\n if (!enforceYear && endDateInfo.getFullYear() === now.getFullYear()) {\n return true;\n }\n return false;\n })();\n const formatOptionsStart = get_format_options(timeZoneInfoStart, dropYearStart, language);\n const formatOptionsEnd = get_format_options(timeZoneInfoEnd, dropYearEnd, language);\n if (startDateInfo.toLocaleDateString(language, formatOptionsEnd.DateLong) === endDateInfo.toLocaleDateString(language, formatOptionsEnd.DateLong)) {\n if (formattedTimeStart.allday) {\n if (!dropYearStart) {\n timeBlocks.push(startDateInfo.toLocaleDateString(language, formatOptionsStart.DateLong));\n }\n } else {\n let timeString = '';\n if (dropYearStart) {\n timeString = startDateInfo.toLocaleString(language, formatOptionsStart.Time);\n } else {\n timeString = startDateInfo.toLocaleString(language, formatOptionsStart.DateTimeLong);\n }\n if (language === 'en') {\n timeString = timeString.replace(/:00/, '');\n }\n timeBlocks.push(timeString);\n if (timeZoneInfoStringStart !== '' && !hideTimeZone) {\n timeBlocks.push(timeZoneInfoStringStart);\n }\n timeBlocks.push('-');\n timeString = endDateInfo.toLocaleTimeString(language, formatOptionsEnd.Time);\n if (language === 'en') {\n timeString = timeString.replace(/:00/, '');\n }\n timeBlocks.push(timeString);\n if (timeZoneInfoStringEnd !== '' && !hideTimeZone) {\n timeBlocks.push(timeZoneInfoStringEnd);\n }\n }\n } else {\n if (formattedTimeStart.allday) {\n timeBlocks.push(startDateInfo.toLocaleDateString(language, formatOptionsStart.DateLong));\n } else {\n let timeString = '';\n if (dropYearStart) {\n timeString = startDateInfo.toLocaleString(language, formatOptionsStart.Time);\n } else {\n timeString = startDateInfo.toLocaleString(language, formatOptionsStart.DateTimeLong);\n }\n if (language === 'en') {\n timeString = timeString.replace(/:00/, '');\n }\n timeBlocks.push(timeString);\n }\n if (timeZoneInfoStringStart !== '' && !hideTimeZone) {\n timeBlocks.push(timeZoneInfoStringStart);\n }\n timeBlocks.push('-');\n if (formattedTimeEnd.allday) {\n timeBlocks.push(endDateInfo.toLocaleDateString(language, formatOptionsEnd.DateLong));\n } else {\n let timeString = endDateInfo.toLocaleString(language, formatOptionsEnd.DateTimeLong);\n if (language === 'en') {\n timeString = timeString.replace(/:00/, '');\n }\n timeBlocks.push(timeString);\n }\n if (timeZoneInfoStringEnd !== '' && !hideTimeZone) {\n timeBlocks.push(timeZoneInfoStringEnd);\n }\n }\n return timeBlocks;\n}\nfunction get_format_options(timeZoneInfo, dropYear = false, language = 'en') {\n const hoursFormat = (function () {\n if (language === 'en') {\n return 'h12'; \n }\n return 'h23'; \n })();\n if (dropYear) {\n return {\n DateLong: {\n timeZone: timeZoneInfo,\n month: 'short',\n day: 'numeric',\n },\n DateTimeLong: {\n timeZone: timeZoneInfo,\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n hourCycle: hoursFormat,\n },\n Time: {\n timeZone: timeZoneInfo,\n hour: 'numeric',\n minute: '2-digit',\n hourCycle: hoursFormat,\n },\n };\n }\n return {\n DateLong: {\n timeZone: timeZoneInfo,\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n },\n DateTimeLong: {\n timeZone: timeZoneInfo,\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n hourCycle: hoursFormat,\n },\n Time: {\n timeZone: timeZoneInfo,\n hour: 'numeric',\n minute: '2-digit',\n hourCycle: hoursFormat,\n },\n };\n}\nfunction atcb_secure_content(data, isJSON = true) {\n const toClean = isJSON ? JSON.stringify(data) : data.toString();\n const cleanedUp = toClean.replace(/(<(?!br)([^>]+)>)/gi, '');\n if (isJSON) {\n return JSON.parse(cleanedUp);\n } else {\n return cleanedUp;\n }\n}\nfunction atcb_secure_url(url, throwError = true) {\n if (url && url.match(/((\\.\\.\\/)|(\\.\\.\\\\)|(%2e%2e%2f)|(%252e%252e%252f)|(%2e%2e\\/)|(%252e%252e\\/)|(\\.\\.%2f)|(\\.\\.%252f)|(%2e%2e%5c)|(%252e%252e%255c)|(%2e%2e\\\\)|(%252e%252e\\\\)|(\\.\\.%5c)|(\\.\\.%255c)|(\\.\\.%c0%af)|(\\.\\.%25c0%25af)|(\\.\\.%c1%9c)|(\\.\\.%25c1%259c))/gi)) {\n if (throwError) {\n console.error('Seems like the generated URL includes at least one security issue and got blocked. Please check the calendar button parameters!');\n }\n return false;\n } else {\n return true;\n }\n}\nfunction atcb_validEmail(email) {\n if (!/^.{0,70}@.{1,30}\\.[a-z]{2,9}$/i.test(email)) {\n return false;\n }\n return true;\n}\nfunction atcb_rewrite_html_elements(content, clear = false, iCalBreaks = false) {\n if (clear) {\n if (iCalBreaks) {\n content = content.replace(/(\\[br\\s?\\/?\\]|\\{br\\s?\\/?\\}|(\\[\\/p\\](?=.))|(\\{\\/p\\}(?=.)))/gi, '\\\\n');\n } else {\n content = content.replace(/(\\[br\\s?\\/?\\]|\\{br\\s?\\/?\\}|(\\[\\/p\\](?=.))|(\\{\\/p\\}(?=.)))/gi, ' ');\n }\n content = content.replace(/\\[url\\](.+?)\\[\\/url\\]/gi, (match, p1) => {\n return p1.split('|')[0];\n });\n content = content.replace(/\\{url\\}(.+?)\\{\\/url\\}/gi, (match, p1) => {\n return p1.split('|')[0];\n });\n content = content.replace(/\\[\\/?(hr|[pbui]|strong|em|li|ul|ol|h\\d)\\]/gi, '');\n content = content.replace(/\\{\\/?(hr|[pbui]|strong|em|li|ul|ol|h\\d)\\}/gi, '');\n content = content.replace(/&[#a-z0-9]{1,9};/gi, '');\n } else {\n content = content.replace(/\\[url\\]((?:(?!\\[\\/url\\]).)*)\\[\\/url\\]/gi, function (match, p1) {\n return atcb_parse_url_code(p1);\n });\n content = content.replace(/\\{url\\}((?:(?!\\[\\/url\\]).)*)\\{\\/url\\}/gi, function (match, p1) {\n return atcb_parse_url_code(p1);\n });\n content = content.replace(/\\[(\\/)?(br|hr|[pbui]|strong|em|li|ul|ol|h\\d)(\\s?\\/?)\\]/gi, '<$1$2$3>');\n content = content.replace(/\\{(\\/)?(br|hr|[pbui]|strong|em|li|ul|ol|h\\d)(\\s?\\/?)\\}/gi, '<$1$2$3>');\n }\n return content;\n}\nfunction atcb_parse_url_code(input) {\n const urlText = input.split('|');\n const text = (function () {\n if (urlText.length > 1 && urlText[1] != '') {\n return urlText[1];\n } else {\n return urlText[0];\n }\n })();\n return '' + text + '';\n}\nfunction atcb_rewrite_ical_text(content, truncate = true, inQuotes = false) {\n if (inQuotes) {\n content = content.replace(/\"/g, '');\n } else {\n content = content.replace(/\\\\/g, '\\\\\\\\').replace(/(,|;)/g, '\\\\$1').replace(/\\\\\\\\n/g, '\\\\n');\n }\n if (truncate) {\n content = content.replace(/.{60}/g, '$&' + '\\r\\n ');\n }\n return content;\n}\nfunction atcb_position_list(host, trigger, list, blockUpwards = false, blockDownwards = false) {\n let anchorSet = false;\n const originalTrigger = trigger;\n if (trigger.querySelector('.atcb-dropdown-anchor') !== null) {\n trigger = trigger.querySelector('.atcb-dropdown-anchor');\n anchorSet = true;\n }\n list.style.position = 'relative';\n list.style.display = 'inline-block';\n let triggerDim = trigger.getBoundingClientRect();\n const btnDim = originalTrigger.getBoundingClientRect();\n const btnParentDim = originalTrigger.parentNode.getBoundingClientRect();\n const viewportHeight = document.documentElement.clientHeight;\n if (anchorSet === true && !list.classList.contains('atcb-dropoverlay')) {\n let listDim = list.getBoundingClientRect();\n list.style.width = listDim.width + 'px';\n if (list.classList.contains('atcb-dropup') || (!blockUpwards && triggerDim.top + listDim.height > viewportHeight - 20 && 2 * btnDim.top + btnDim.height - triggerDim.top - listDim.height > 20) || blockDownwards) {\n originalTrigger.classList.add('atcb-dropup');\n list.classList.add('atcb-dropup');\n list.style.bottom = btnParentDim.bottom - btnDim.bottom + (triggerDim.top - btnDim.top) + 'px';\n } else {\n list.style.top = btnDim.top - btnParentDim.top + (triggerDim.top - btnDim.top) + 'px';\n if (originalTrigger.classList.contains('atcb-dropup')) {\n originalTrigger.classList.remove('atcb-dropup');\n }\n }\n triggerDim = trigger.getBoundingClientRect();\n if (!list.classList.contains('atcb-style-round') && !list.classList.contains('atcb-style-text') && !list.classList.contains('atcb-style-neumorphism')) {\n list.style.minWidth = triggerDim.width + 'px';\n if (list.classList.contains('atcb-dropdown')) {\n list.style.maxWidth = triggerDim.width + 'px';\n }\n }\n listDim = list.getBoundingClientRect();\n list.style.left = Math.round(triggerDim.left - btnParentDim.left - (listDim.width - triggerDim.width) / 2) + 'px';\n } else {\n list.style.minWidth = btnDim.width + 20 + 'px';\n const listDim = list.getBoundingClientRect();\n list.style.width = listDim.width + 'px';\n const sideMargin = Math.round((btnDim.width - listDim.width) / 2);\n list.style.margin = -Math.round((listDim.height + btnDim.height) / 2) + 'px ' + sideMargin + 'px 0 ' + sideMargin + 'px';\n }\n list.style.position = 'absolute';\n list.style.display = 'block';\n const atcbL = host.querySelector('#atcb-reference');\n if (atcbL) {\n if (originalTrigger.classList.contains('atcb-dropup')) {\n originalTrigger.parentNode.after(atcbL);\n atcbL.classList.add('atcb-dropup');\n }\n }\n}\nfunction atcb_position_shadow_button(originalShadowHost, modalShadowHost) {\n const wrapperDim = originalShadowHost.querySelector('.atcb-initialized ').getBoundingClientRect();\n const newWrapper = modalShadowHost.querySelector('.atcb-initialized');\n let widthVal = wrapperDim.width;\n if (wrapperDim.width < 250) {\n widthVal = 250;\n }\n newWrapper.style.width = widthVal + 'px';\n newWrapper.style.height = wrapperDim.height + 'px';\n newWrapper.style.top = wrapperDim.top + 'px';\n newWrapper.style.left = wrapperDim.left + 'px';\n}\nfunction atcb_position_shadow_button_listener() {\n const active = atcbStates['active'];\n if (active !== null && active !== '') {\n const originalEl = document.querySelector('add-to-calendar-button[atcb-button-id=' + active + ']').shadowRoot;\n const shadowEl = document.querySelector('div[atcb-button-id=' + active + ']').shadowRoot;\n atcb_position_shadow_button(originalEl, shadowEl);\n }\n}\nfunction atcb_manage_body_scroll(host, modalObj = null) {\n const modal = (function () {\n if (modalObj != null) {\n return modalObj;\n } else {\n const allModals = host.querySelectorAll('.atcb-modal');\n if (allModals.length === 0) {\n return null;\n }\n return allModals[allModals.length - 1];\n }\n })();\n if (modal == null) {\n return;\n }\n const modalDim = modal.getBoundingClientRect();\n if (modalDim.height + 150 > window.innerHeight) {\n document.body.classList.add('atcb-modal-no-scroll');\n document.documentElement.classList.add('atcb-modal-no-scroll');\n } else {\n document.body.classList.remove('atcb-modal-no-scroll');\n document.documentElement.classList.remove('atcb-modal-no-scroll');\n }\n}\nfunction atcb_set_fullsize(el) {\n el.style.width = window.innerWidth + 'px';\n el.style.height = window.innerHeight + 100 + 'px';\n}\nfunction atcb_set_sizes(el, sizes) {\n el.style.setProperty('--base-font-size-l', sizes['l'] + 'px');\n el.style.setProperty('--base-font-size-m', sizes['m'] + 'px');\n el.style.setProperty('--base-font-size-s', sizes['s'] + 'px');\n}\nfunction atcb_generate_uuid() {\n const id = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) => (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16));\n return id;\n}\nfunction atcb_copy_to_clipboard(dataString) {\n const tmpInput = document.createElement('input');\n document.body.append(tmpInput);\n const editable = tmpInput.contentEditable;\n const readOnly = tmpInput.readOnly;\n tmpInput.contentEditable = true;\n tmpInput.readOnly = false;\n tmpInput.value = dataString;\n if (atcbIsiOS()) {\n var range = document.createRange();\n range.selectNodeContents(tmpInput);\n var selection = window.getSelection();\n selection.removeAllRanges();\n selection.addRange(range);\n tmpInput.setSelectionRange(0, 999999);\n } else {\n tmpInput.select();\n }\n tmpInput.contentEditable = editable;\n tmpInput.readOnly = readOnly;\n document.execCommand('copy');\n tmpInput.remove();\n}\nfunction atcb_debounce(func, timeout = 200) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n}\nfunction atcb_debounce_leading(func, timeout = 300) {\n let timer;\n return (...args) => {\n if (!timer) {\n func.apply(this, args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n }, timeout);\n };\n}\n\n\nfunction atcb_log_event(event, trigger, identifier) {\n const parentEl = (function () {\n const customTrigger = document.getElementById(identifier);\n if (customTrigger) {\n return customTrigger;\n }\n return document.querySelector('[atcb-button-id=\"' + identifier + '\"]');\n })();\n if (parentEl) {\n parentEl.setAttribute('atcb-last-event', event + ':' + trigger);\n }\n if (atcbIsBrowser()) {\n atcb_push_to_data_layer(event, trigger);\n }\n}\nfunction atcb_push_to_data_layer(event, trigger) {\n let action = '';\n switch (event) {\n case 'initialization':\n action = 'Initialized';\n break;\n case 'openList':\n action = 'Opened';\n break;\n case 'closeList':\n action = 'Closed';\n break;\n case 'openCalendarLink':\n action = 'Opened';\n break;\n case 'openSingletonLink':\n action = 'Opened';\n break;\n case 'openSubEventLink':\n action = 'Opened';\n break;\n case 'openRSVP':\n action = 'Opened';\n break;\n case 'success':\n action = 'Saved';\n break;\n case 'successRSVP':\n action = 'Saved';\n break;\n }\n const category = event === 'openRSVP' || event === 'successRSVP' ? 'Add-to-Calendar-RSVP' : 'Add-to-Calendar-Button';\n const atcbDataLayer = (window.dataLayer = window.dataLayer || []);\n atcbDataLayer.push({\n eventCategory: category,\n eventAction: action,\n eventLabel: trigger,\n event: event,\n });\n}\n\n\n/* How to add new languages:\n * 1. Duplicate the \"en\" block at the following \"i18nStrings\" object.\n * 2. Change the key to the ISO 639-1 code of your language (https://www.w3schools.com/tags/ref_language_codes.asp).\n * 3. Translate the labels.\n * 4. Add the language to the \"rtlLanguages\" array below, if it write from right to left.\n * 4. Update the \"language\" part at the configuration page of the demo page - add the new lagnuages to the \"Options\" info (/demo/pages/configuration.vue).\n * 5. Also update the language.ts file at the demo page, so the language appears at the demo playground (/demo/src/components/models/language.ts).\n */\nconst rtlLanguages = ['ar', 'fa'];\nconst calendarNames = {\n apple: 'Apple',\n google: 'Google',\n ms365: 'Microsoft 365',\n msteams: 'Microsoft Teams',\n outlookcom: 'Outlook.com',\n yahoo: 'Yahoo',\n};\nconst i18nStrings = {\n en: {\n 'label.addtocalendar': 'Add to Calendar',\n ical: 'iCal File',\n ...calendarNames,\n 'modal.button.default': 'Click me',\n 'modal.webview.ical.h': 'Open your browser',\n 'modal.webview.ical.text': 'Unfortunately, in-app browsers have problems with the way we generate the calendar file.',\n 'modal.clipboard.text': 'We automatically copied a magical URL into your clipboard.',\n 'modal.webview.ical.steps': '
  1. Open another browser on your phone, ...
  2. Paste the clipboard content and go.
',\n 'modal.opensafari.ical.h': 'Open Safari',\n 'modal.opensafari.ical.text': 'Unfortunately, iOS has some problems generating and opening the calendar file outside of Safari.',\n 'modal.opensafari.ical.steps': '
  1. Open Safari, ...
  2. Paste the clipboard content and go.
',\n 'modal.multidate.h': 'This is an event series',\n 'modal.multidate.text': 'Add the individual events one by one:',\n 'date.status.cancelled': 'This date got cancelled.',\n 'date.status.cancelled.cta': 'Please update your calendar!',\n 'modal.subscribe.yahoo.h': 'Add Calendar to Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Open now the Yahoo Calendar.
  2. Click the \"Actions\" tab.
  3. Hit \"Follow Other Calendars\".
  4. Set a name and paste the clipboard content into the url field.
',\n 'modal.subscribe.yahoo.button': 'Open Yahoo Calendar',\n close: 'Close',\n continue: 'Continue',\n cancel: 'Cancel',\n expired: 'Expired',\n recurring: 'Recurring',\n thankyou: 'Thank you',\n submit: 'Submit',\n 'label.rsvp': 'RSVP',\n 'label.share.email': 'Share via Email',\n 'label.share.copy': 'Copy Link',\n 'label.share.copied': 'Copied',\n 'label.share.email.subject': 'Save this event',\n 'form.error.required': 'You did not properly fill all required fields',\n 'form.error.sending': 'There was a problem sending your response. Please try again later',\n 'form.success': 'Sent successfully!',\n },\n de: {\n 'label.addtocalendar': 'Im Kalender speichern',\n ical: 'iCal-Datei',\n ...calendarNames,\n 'modal.button.default': 'Klick mich',\n 'modal.webview.ical.h': 'Öffne deinen Browser',\n 'modal.webview.ical.text': 'Leider haben In-App-Browser Probleme mit der Art, wie wir Kalender-Dateien erzeugen.',\n 'modal.clipboard.text': 'Wir haben automatisch eine magische URL in deine Zwischenablage kopiert.',\n 'modal.webview.ical.steps': '
  1. Öffne einen anderen Browser auf deinem Smartphone, ...
  2. Nutze die Einfügen-Funktion, um fortzufahren.
',\n 'modal.opensafari.ical.h': 'Öffne Safari',\n 'modal.opensafari.ical.text': 'Leider hat iOS einige Probleme beim Generieren und Öffnen der Kalenderdatei außerhalb von Safari.',\n 'modal.opensafari.ical.steps': '
  1. Öffne Safari, ...
  2. Nutze die Einfügen-Funktion, um fortzufahren.
',\n 'modal.multidate.h': 'Dies ist eine Termin-Reihe',\n 'modal.multidate.text': 'Füge die einzelnen Termine der Reihe nach deinem Kalender hinzu:',\n 'date.status.cancelled': 'Dieser Termin wurde abgesagt.',\n 'date.status.cancelled.cta': 'Bitte aktualisiere deinen Kalender!',\n 'modal.subscribe.yahoo.h': 'Kalender zu Yahoo hinzufügen',\n 'modal.subscribe.yahoo.text': '
  1. Öffne den Yahoo-Kalender.
  2. Klicke auf den \"Aktionen\"-Tab.
  3. Wähle \"Weiteren Kalendern folgen\".
  4. Wähle einen Namen und füge die URL aus deiner Zwischenablage in das URL-Feld ein.
',\n 'modal.subscribe.yahoo.button': 'Yahoo-Kalender öffnen',\n close: 'Schließen',\n continue: 'Weiter',\n cancel: 'Abbrechen',\n expired: 'Abgelaufen',\n recurring: 'Wiederkehrend',\n thankyou: 'Danke',\n submit: 'Absenden',\n 'label.share.email': 'Per E-Mail teilen',\n 'label.share.copy': 'Link kopieren',\n 'label.share.copied': 'Kopiert',\n 'label.share.email.subject': 'Merke dir diesen Termin',\n 'form.error.required': 'Du hast nicht alle erforderlichen Felder korrekt ausgefüllt',\n 'form.error.sending': 'Es gab ein Problem beim Senden deiner Antwort. Bitte versuche es später noch einmal',\n 'form.success': 'Erfolgreich gesendet!',\n },\n es: {\n 'label.addtocalendar': 'Añadir al Calendario',\n ical: 'iCal Ficha',\n ...calendarNames,\n 'modal.button.default': 'Haz clic mí',\n 'modal.webview.ical.h': 'Abra su browser',\n 'modal.webview.ical.text': 'Lamentablemente, los browsers in-app tienen problemas con la forma en que generamos el archivo del calendario.',\n 'modal.clipboard.text': 'Hemos copiado automáticamente una URL mágica en su portapapeles.',\n 'modal.webview.ical.steps': '
  1. Abre otro browser en tu smartphone, ...
  2. Utilice la función de pegar para continuar.
',\n 'modal.opensafari.ical.h': 'Abrir Safari',\n 'modal.opensafari.ical.text': 'Desafortunadamente, iOS tiene algunos problemas para generar y abrir el archivo de calendario fuera de Safari.',\n 'modal.opensafari.ical.steps': '
  1. Abrir Safari, ...
  2. Utilice la función de pegar para continuar.
',\n 'modal.multidate.h': 'Esta es una serie de fechas',\n 'modal.multidate.text': 'Añada las fechas individuales a su calendario en orden:',\n 'date.status.cancelled': 'Esta fecha fue cancelada.',\n 'date.status.cancelled.cta': 'Actualice su calendario!',\n 'modal.subscribe.yahoo.h': 'Añadir calendario a Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Abra el calendario de Yahoo.
  2. Haga clic en la pestaña \"Acciones\".
  3. Seleccione \"Seguir otros calendarios\".
  4. Elige un nombre y pega la URL de tu portapapeles en el campo URL.
',\n 'modal.subscribe.yahoo.button': 'Abrir calendario de Yahoo',\n close: 'Ciérralo',\n continue: 'Continuar',\n cancel: 'Cancelar',\n expired: 'Caducada',\n recurring: 'Periódica',\n thankyou: 'Gracias',\n submit: 'Enviar',\n 'label.share.email': 'Compartir por E-mail',\n 'label.share.copy': 'Copiar enlace',\n 'label.share.copied': 'Copiado',\n 'label.share.email.subject': 'Recuerda esta fecha',\n 'form.error.required': 'No has completado correctamente todos los campos requeridos',\n 'form.error.sending': 'Hubo un problema al enviar tu respuesta. Por favor, inténtalo de nuevo más tarde',\n 'form.success': 'Enviado con éxito!',\n },\n pt: {\n 'label.addtocalendar': 'Incluir no Calendário',\n ical: 'Ficheiro iCal',\n ...calendarNames,\n 'modal.button.default': 'Clicar-me',\n 'modal.webview.ical.h': 'Abra o seu browser',\n 'modal.webview.ical.text': 'Infelizmente, os navegadores em tampas têm problemas com a forma como geramos o ficheiro de calendário.',\n 'modal.clipboard.text': 'Copiámos automaticamente um URL mágico para a sua área de transferência.',\n 'modal.webview.ical.steps': '
  1. Abrir outro browser en tu smartphone, ...
  2. Use a função colar para continuar.
',\n 'modal.opensafari.ical.h': 'Safari aberto',\n 'modal.opensafari.ical.text': 'Infelizmente, o iOS tem alguns problemas para gerar e abrir o arquivo de calendário fora do Safari.',\n 'modal.opensafari.ical.steps': '
  1. Safari aberto, ...
  2. Use a função colar para continuar.
',\n 'modal.multidate.h': 'Esta é uma série de datas',\n 'modal.multidate.text': 'Adicione as datas individuais ao seu calendário, por ordem:',\n 'date.status.cancelled': 'Esta data foi cancelada.',\n 'date.status.cancelled.cta': 'Actualize o seu calendário!',\n 'modal.subscribe.yahoo.h': 'Adicionar calendário ao Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Abrir o calendário do Yahoo.
  2. Clique no separador \"Acções\".
  3. Seleccione \"Seguir outros calendários\".
  4. Escolha um nome e cole o URL da sua área de transferência no campo URL.
',\n 'modal.subscribe.yahoo.button': 'Abra o Calendário do Yahoo',\n close: 'Fechar',\n continue: 'Continuar',\n cancel: 'Cancelar',\n expired: 'Expirada',\n recurring: 'Recorrente',\n thankyou: 'Obrigado',\n submit: 'Enviar',\n 'label.share.email': 'Compartilhar por e-mail',\n 'label.share.copy': 'Copiar link',\n 'label.share.copied': 'Copiado',\n 'label.share.email.subject': 'Lembre-se desta data',\n 'form.error.required': 'Você não preencheu todos os campos obrigatórios corretamente',\n 'form.error.sending': 'Houve um problema ao enviar sua resposta. Por favor, tente novamente mais tarde',\n 'form.success': 'Enviado com sucesso!',\n },\n fr: {\n 'label.addtocalendar': \"Ajouter à l'Agenda\",\n ical: 'Fichier iCal',\n ...calendarNames,\n 'modal.button.default': 'Cliquez-moi',\n 'modal.webview.ical.h': 'Ouvrez votre navigateur',\n 'modal.webview.ical.text': 'Malheureusement, les navigateurs intégrés aux applications ont des problèmes avec la manière dont nous créons les fichiers de calendrier.',\n 'modal.clipboard.text': 'Nous avons automatiquement copié une URL magique dans votre presse-papier.',\n 'modal.webview.ical.steps': '
  1. Ouvrez un autre navigateur sur votre smartphone ;
  2. Collez le contenu du presse-papier et continuez.
',\n 'modal.opensafari.ical.h': 'Ouvrir Safari',\n 'modal.opensafari.ical.text': 'Malheureusement, iOS rencontre des problèmes pour générer et ouvrir le fichier de calendrier en dehors de Safari.',\n 'modal.opensafari.ical.steps': '
  1. Ouvrez Safari ;
  2. Collez le contenu du presse-papier et continuez.
',\n 'modal.multidate.h': 'Ceci est une liste d’évènements',\n 'modal.multidate.text': 'Ajouter les évènements un par un :',\n 'date.status.cancelled': 'Cet évènement est annulé.',\n 'date.status.cancelled.cta': 'Actualisez votre agenda !',\n 'modal.subscribe.yahoo.h': 'Ajouter un agenda à Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Ouvrez l’Agenda Yahoo ;
  2. Cliquez sur l’onglet « Actions » ;
  3. Sélectionnez « Suivre d’autres agendas » ;
  4. Choisissez un nom et collez le contenu de votre presse-papier dans le champ URL.
',\n 'modal.subscribe.yahoo.button': 'Ouvrir le calendrier Yahoo',\n close: 'Fermer',\n continue: 'Continuer',\n cancel: 'Annuler',\n expired: 'Expiré',\n recurring: 'Récurrent',\n thankyou: 'Merci',\n submit: 'Envoyer',\n 'label.share.email': 'Partager par E-mail',\n 'label.share.copy': 'Copier le lien',\n 'label.share.copied': 'Copié',\n 'label.share.email.subject': 'Retenez cette date',\n 'form.error.required': \"Tu n'as pas correctement rempli tous les champs requis\",\n 'form.error.sending': \"Il y a eu un problème lors de l'envoi de ta réponse. Veuillez réessayer plus tard\",\n 'form.success': 'Envoyé avec succès!',\n },\n nl: {\n 'label.addtocalendar': 'Opslaan in Agenda',\n ical: 'iCal File',\n ...calendarNames,\n 'modal.button.default': 'Klik me',\n 'modal.webview.ical.h': 'Open uw browser',\n 'modal.webview.ical.text': 'Helaas hebben in-app browsers problemen met de manier waarop wij kalenderbestanden maken.',\n 'modal.clipboard.text': 'We hebben automatisch een magische URL naar je klembord gekopieerd.',\n 'modal.webview.ical.steps': '
  1. Open een andere browser op uw smartphone, ...
  2. Gebruik de insert functie om verder te gaan.
',\n 'modal.opensafari.ical.h': 'Open Safari',\n 'modal.opensafari.ical.text': 'Helaas heeft iOS enkele problemen met het genereren en openen van het agendabestand buiten Safari.',\n 'modal.opensafari.ical.steps': '
  1. Open Safari, ...
  2. Gebruik de insert functie om verder te gaan.
',\n 'modal.multidate.h': 'Dit is een reeks data',\n 'modal.multidate.text': 'Voeg de afzonderlijke delen één voor één toe:',\n 'date.status.cancelled': 'Deze datum is geannuleerd.',\n 'date.status.cancelled.cta': 'Uw agenda bijwerken!',\n 'modal.subscribe.yahoo.h': 'Toevoegen aan Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Open de Yahoo calendar.
  2. Klik op de \"Acties\" tab.
  3. Selecteer \"Volg Andere Agenda\\'s\".
  4. Kies een naam en plak de URL van uw klembord in het URL-veld.
',\n 'modal.subscribe.yahoo.button': 'Open Yahoo Agenda',\n close: 'Sluiten',\n continue: 'Doorgaan',\n cancel: 'Annuleren',\n expired: 'Verlopen',\n recurring: 'Terugkerend',\n thankyou: 'Bedankt',\n submit: 'Versturen',\n 'label.share.email': 'Delen via E-mail',\n 'label.share.copy': 'Link kopiëren',\n 'label.share.copied': 'Gekopieerd',\n 'label.share.email.subject': 'Onthoud deze datum',\n 'form.error.required': 'Je hebt niet alle vereiste velden correct ingevuld',\n 'form.error.sending': 'Er was een probleem met het versturen van je antwoord. Probeer het later opnieuw',\n 'form.success': 'Succesvol verstuurd!',\n },\n tr: {\n 'label.addtocalendar': 'Takvime Ekle',\n ical: 'iCal Dosyası',\n ...calendarNames,\n 'modal.button.default': 'Beni tıklayın',\n 'modal.webview.ical.h': 'Tarayıcınızı açın',\n 'modal.webview.ical.text': 'Ne yazık ki, uygulama içi tarayıcılar takvim dosyalarını oluşturma şeklimizle ilgili sorunlar yaşıyor.',\n 'modal.clipboard.text': 'Panonuza otomatik olarak sihirli bir URL kopyaladık.',\n 'modal.webview.ical.steps': '
  1. Akıllı telefonunuzda başka bir tarayıcı açın, ...
  2. Devam etmek için insert fonksiyonunu kullanın.
',\n 'modal.opensafari.ical.h': 'Açık Safari',\n 'modal.opensafari.ical.text': 'Ne yazık ki iOS, takvim dosyasını Safari dışında oluştururken ve açarken bazı sorunlar yaşıyor.',\n 'modal.opensafari.ical.steps': '
  1. Açık Safari, ...
  2. Devam etmek için insert fonksiyonunu kullanın.
',\n 'modal.multidate.h': 'Bu bir etkinlik serisidir',\n 'modal.multidate.text': 'Parçaları teker teker ekleyin:',\n 'date.status.cancelled': 'Bu tarih iptal edildi.',\n 'date.status.cancelled.cta': 'Lütfen takviminizi güncelleyin!',\n 'modal.subscribe.yahoo.h': \"Yahoo'ya takvim ekleme\",\n 'modal.subscribe.yahoo.text': '
  1. Yahoo takvimini açın.
  2. \"Eylemler\" sekmesine tıklayın.
  3. \"Diğer Takvimleri Takip Et\" öğesini seçin.
  4. Bir ad seçin ve URL\\'yi panonuzdan URL alanına yapıştırın.
',\n 'modal.subscribe.yahoo.button': 'Yahoo Takvimini aç',\n close: 'Kapat',\n continue: 'Devam etmek',\n cancel: 'İptal',\n expired: 'Günü geçmiş',\n recurring: 'Yinelenen',\n thankyou: 'Teşekkürler',\n submit: 'Gönder',\n 'label.share.email': 'E-posta ile Paylaş',\n 'label.share.copy': 'Bağlantıyı Kopyala',\n 'label.share.copied': 'Kopyalandı',\n 'label.share.email.subject': 'Bu Tarihi Unutma',\n 'form.error.required': 'Gerekli tüm alanları doğru şekilde doldurmadınız',\n 'form.error.sending': 'Yanıtınızı gönderirken bir sorun oluştu. Lütfen daha sonra tekrar deneyin',\n 'form.success': 'Başarıyla gönderildi!',\n },\n zh: {\n 'label.addtocalendar': '添加到日历',\n ical: 'iCal 文件',\n ...calendarNames,\n 'modal.button.default': '点我',\n 'modal.webview.ical.h': '打开浏览器',\n 'modal.webview.ical.text': '不幸的是,应用内浏览器在我们生成日历文件的方式上存在问题。',\n 'modal.clipboard.text': '我们自动将魔术 URL 复制到您的剪贴板。',\n 'modal.webview.ical.steps': '
  1. 打开手机上的任何其他浏览器, ...
  2. 粘贴剪贴板内容并开始。
',\n 'modal.opensafari.ical.h': '打开 Safari',\n 'modal.opensafari.ical.text': '不幸的是,iOS 在 Safari 之外生成和打开日历文件时遇到一些问题。',\n 'modal.opensafari.ical.steps': '
  1. 打开 Safari, ...
  2. 粘贴剪贴板内容并开始。
',\n 'modal.multidate.h': '这是一个活动系列',\n 'modal.multidate.text': '逐个添加各个部分:',\n 'date.status.cancelled': '此日期已取消。',\n 'date.status.cancelled.cta': '请更新您的日历!',\n 'modal.subscribe.yahoo.h': '将日历添加到 Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. 打开 Yahoo 日历。
  2. 点击“操作”标签。
  3. 选择“关注其他日历”。
  4. 选择一个名称并将剪贴板中的 URL 粘贴到 URL 字段中。
',\n 'modal.subscribe.yahoo.button': '打开雅虎日历',\n close: '关',\n continue: '继续',\n cancel: '中止',\n expired: '已到期',\n recurring: '再次发生的',\n thankyou: '谢谢',\n submit: '提交',\n 'label.share.email': '通过电子邮件分享',\n 'label.share.copy': '复制链接',\n 'label.share.copied': '已复制',\n 'label.share.email.subject': '记住这个日期',\n 'form.error.required': '你没有正确填写所有必填字段',\n 'form.error.sending': '发送你的回复时出现问题。请稍后再试',\n 'form.success': '成功发送!',\n },\n ar: {\n 'label.addtocalendar': 'إضافة إلى التقويم',\n ical: 'ملف iCal',\n ...calendarNames,\n 'modal.button.default': 'انقر فوق لي',\n 'modal.webview.ical.h': 'افتح المستعرض الخاص بك',\n 'modal.webview.ical.text': 'لسوء الحظ ، تواجه المتصفحات داخل التطبيق مشاكل في طريقة إنشاء ملف التقويم.',\n 'modal.clipboard.text': 'قمنا تلقائيًا بنسخ عنوان URL سحري إلى الحافظة الخاصة بك.',\n 'modal.webview.ical.steps': '
  1. افتح أي متصفح آخر على هاتفك الذكي, ...
  2. .الصق محتوى الحافظة واذهب
',\n 'modal.opensafari.ical.h': 'افتح Safari',\n 'modal.opensafari.ical.text': 'لسوء الحظ ، يواجه iOS بعض المشكلات في إنشاء ملف التقويم وفتحه خارج Safari.',\n 'modal.opensafari.ical.steps': '
  1. افتح Safari, ...
  2. الصق محتوى الحافظة واذهب.
',\n 'modal.multidate.h': 'هذه سلسلة أحداث',\n 'modal.multidate.text': 'أضف الأجزاء الفردية واحدة تلو الأخرى:',\n 'date.status.cancelled': 'تم إلغاء هذا التاريخ.',\n 'date.status.cancelled.cta': 'الرجاء تحديث التقويم الخاص بك!',\n 'modal.subscribe.yahoo.h': 'أضف التقويم إلى Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. افتح تقويم Yahoo.
  2. انقر فوق علامة التبويب \"الإجراءات\".
  3. حدد \"متابعة تقويمات أخرى\".
  4. اختر اسمًا والصق عنوان URL من الحافظة الخاصة بك في حقل URL.
',\n 'modal.subscribe.yahoo.button': 'افتح تقويم ياهو',\n close: 'قريب',\n continue: 'استمر',\n cancel: 'إحباط',\n expired: 'منتهي الصلاحية',\n recurring: 'يتكرر',\n thankyou: 'شكرا',\n submit: 'إرسال',\n 'label.share.email': 'مشاركة عبر البريد الإلكتروني',\n 'label.share.copy': 'نسخ الرابط',\n 'label.share.copied': 'تم النسخ',\n 'label.share.email.subject': 'تذكر هذا الموعد',\n 'form.error.required': 'لم تقم بملء جميع الحقول المطلوبة بشكل صحيح',\n 'form.error.sending': 'حدثت مشكلة أثناء إرسال ردك. الرجاء المحاولة لاحقاً',\n 'form.success': 'تم الإرسال بنجاح!',\n },\n hi: {\n 'label.addtocalendar': 'कैलेंडर में जोड़ें',\n ical: 'iCal फ़ाइल',\n ...calendarNames,\n 'modal.button.default': 'मुझे क्लिक करें',\n 'modal.webview.ical.h': 'अपना ब्राउज़र खोलें',\n 'modal.webview.ical.text': 'दुर्भाग्य से, इन-ऐप ब्राउज़र में कैलेंडर फ़ाइल बनाने के तरीके में समस्याएँ हैं।',\n 'modal.clipboard.text': 'हमने आपके क्लिपबोर्ड पर स्वचालित रूप से एक जादुई URL कॉपी कर लिया है।',\n 'modal.webview.ical.steps': '
  1. अपने फ़ोन पर दूसरा ब्राउज़र खोलें, ...
  2. क्लिपबोर्ड सामग्री चिपकाएं और जाएं।
',\n 'modal.opensafari.ical.h': 'सफारी खोलें',\n 'modal.opensafari.ical.text': 'दुर्भाग्य से, iOS में सफ़ारी के बाहर कैलेंडर फ़ाइल बनाने और खोलने में कुछ समस्याएँ हैं।',\n 'modal.opensafari.ical.steps': '
  1. सफारी खोलें, ...
  2. क्लिपबोर्ड सामग्री चिपकाएं और जाएं।
',\n 'modal.multidate.h': 'यह एक इवेंट सीरीज़ है',\n 'modal.multidate.text': 'अलग-अलग हिस्सों को एक-एक करके जोड़ें:',\n 'date.status.cancelled': 'यह तिथि रद्द हो गई।',\n 'date.status.cancelled.cta': 'कृपया अपना कैलेंडर अपडेट करें!',\n 'modal.subscribe.yahoo.h': 'Yahoo . में कैलेंडर जोड़ें',\n 'modal.subscribe.yahoo.text': '
  1. Yahoo कैलेंडर खोलें।
  2. \"कृती\" टैब पर क्लिक करें।
  3. \"इतर कॅलेंडर्सचे अनुसरण करा\" चुनें।
  4. एक नाम चुनें और अपने क्लिपबोर्ड से URL को URL फ़ील्ड में पेस्ट करें।
',\n 'modal.subscribe.yahoo.button': 'याहू कैलेंडर खोलें',\n close: 'बंद करना',\n continue: 'जारी रखें',\n cancel: 'रद्द करना',\n expired: 'खत्म हो चुका',\n recurring: 'पुनरावर्ती',\n thankyou: 'धन्यवाद',\n submit: 'जमा करें',\n 'label.share.email': 'ईमेल के माध्यम से साझा करें',\n 'label.share.copy': 'लिंक कॉपी करें',\n 'label.share.copied': 'कॉपी हो गया',\n 'label.share.email.subject': 'इस तारीख को याद रखें',\n 'form.error.required': 'आपने सभी आवश्यक फ़ील्ड सही ढंग से नहीं भरी हैं',\n 'form.error.sending': 'आपका जवाब भेजते समय एक समस्या हुई। कृपया बाद में पुनः प्रयास करें',\n 'form.success': 'सफलतापूर्वक भेजा गया!',\n },\n pl: {\n 'label.addtocalendar': 'Dodaj do kalendarza',\n ical: 'Plik iCal',\n ...calendarNames,\n 'modal.button.default': 'Kliknij mnie',\n 'modal.webview.ical.h': 'Otwórz przeglądarkę',\n 'modal.webview.ical.text': 'Niestety, przeglądarki in-app mają problemy ze sposobem, w jaki generujemy plik kalendarza.',\n 'modal.clipboard.text': 'Automatycznie skopiowaliśmy magiczny adres URL do schowka.',\n 'modal.webview.ical.steps': '
  1. Otwórz inną przeglądarkę w swoim telefonie, ...
  2. Wklej zawartość schowka i ruszaj.
',\n 'modal.opensafari.ical.h': 'Otwórz Safari',\n 'modal.opensafari.ical.text': 'Niestety iOS ma pewne problemy z generowaniem i otwieraniem pliku kalendarza poza Safari.',\n 'modal.opensafari.ical.steps': '
  1. Otwórz Safari, ...
  2. Wklej zawartość schowka i ruszaj.
',\n 'modal.multidate.h': 'To jest cykl imprez',\n 'modal.multidate.text': 'Dodawać po kolei poszczególne części:',\n 'date.status.cancelled': 'Ta data została odwołana.',\n 'date.status.cancelled.cta': 'Zaktualizuj swój kalendarz!',\n 'modal.subscribe.yahoo.h': 'Dodaj kalendarz do Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Otwórz kalendarz Yahoo.
  2. Kliknij na zakładkę \"Czynności\".
  3. Wybierz \"Obserwuj inne kalendarze\".
  4. Wybierz nazwę i wklej adres URL ze schowka w polu URL.
',\n 'modal.subscribe.yahoo.button': 'Otwórz kalendarz Yahoo',\n close: 'Zamknij',\n continue: 'Kontynuować',\n cancel: 'Anuluj',\n expired: 'Wygasły',\n recurring: 'Powtarzający się',\n thankyou: 'Dziękuję',\n submit: 'Wyślij',\n 'label.share.email': 'Udostępnij przez e-mail',\n 'label.share.copy': 'Kopiuj link',\n 'label.share.copied': 'Skopiowane',\n 'label.share.email.subject': 'Zapamiętaj tę datę',\n 'form.error.required': 'Nie wypełniłeś wszystkich wymaganych pól poprawnie',\n 'form.error.sending': 'Wystąpił problem z wysłaniem twojej odpowiedzi. Spróbuj ponownie później',\n 'form.success': 'Wysłano pomyślnie!',\n },\n id: {\n 'label.addtocalendar': 'Tambahkan ke Kalender',\n ical: 'File iCal',\n ...calendarNames,\n 'modal.button.default': 'Klik saya',\n 'modal.webview.ical.h': 'Buka browser Anda',\n 'modal.webview.ical.text': 'Sayangnya, browser dalam aplikasi memiliki masalah dengan cara kami menghasilkan file kalender.',\n 'modal.clipboard.text': 'Kami telah secara otomatis menyalin URL ajaib ke clipboard Anda.',\n 'modal.webview.ical.steps': '
  1. Buka peramban lain pada ponsel Anda, ...
  2. Tempelkan konten clipboard dan pergi.
',\n 'modal.opensafari.ical.h': 'Buka Safari',\n 'modal.opensafari.ical.text': 'Sayangnya, iOS memiliki beberapa masalah dalam membuat dan membuka file kalender di luar Safari.',\n 'modal.opensafari.ical.steps': '
  1. Buka Safari, ...
  2. Tempelkan konten clipboard dan pergi.
',\n 'modal.multidate.h': 'Ini adalah rangkaian acara',\n 'modal.multidate.text': 'Tambahkan masing-masing bagian satu per satu:',\n 'date.status.cancelled': 'Tanggal ini dibatalkan.',\n 'date.status.cancelled.cta': 'Perbarui kalender Anda!',\n 'modal.subscribe.yahoo.h': 'Tambahkan kalender ke Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Buka kalender Yahoo.
  2. Klik pada tab \"Tindakan\".
  3. Pilih \"Ikuti Kalender Lain\".
  4. Pilih nama dan tempelkan URL dari clipboard Anda ke bidang URL.
',\n 'modal.subscribe.yahoo.button': 'Buka kalender Yahoo',\n close: 'Tutup',\n continue: 'Lanjutkan',\n cancel: 'Batal',\n expired: 'Kedaluwarsa',\n recurring: 'Berulang',\n thankyou: 'Terima kasih',\n submit: 'Kirim',\n 'label.share.email': 'Bagikan via email',\n 'label.share.copy': 'Salin tautan',\n 'label.share.copied': 'Tersalin',\n 'label.share.email.subject': 'Ingat tanggal ini',\n 'form.error.required': 'Kamu belum mengisi semua kolom yang diperlukan dengan benar',\n 'form.error.sending': 'Ada masalah saat mengirim jawabanmu. Coba lagi nanti',\n 'form.success': 'Berhasil terkirim!',\n },\n no: {\n 'label.addtocalendar': 'Legg til i kalenderen',\n ical: 'iCal-fil',\n ...calendarNames,\n 'modal.button.default': 'Klikk på meg',\n 'modal.webview.ical.h': 'Åpne nettleseren din',\n 'modal.webview.ical.text': 'Dessverre har nettlesere i appen problemer med måten vi genererer kalenderfilen på.',\n 'modal.clipboard.text': 'Vi kopierte automatisk en magisk URL til utklippstavlen din.',\n 'modal.webview.ical.steps': '
  1. Åpne en annen nettleser på telefonen, ...
  2. Lim inn innholdet på utklippstavlen og gå.
',\n 'modal.opensafari.ical.h': 'Åpne Safari',\n 'modal.opensafari.ical.text': 'Dessverre har iOS noen problemer med å generere og åpne kalenderfilen utenfor Safari.',\n 'modal.opensafari.ical.steps': '
  1. Åpne Safari, ...
  2. Lim inn innholdet på utklippstavlen og gå.
',\n 'modal.multidate.h': 'Dette er en avtaleserie',\n 'modal.multidate.text': 'Legg til de enkelte datoene i kalenderen din i rekkefølge:',\n 'date.status.cancelled': 'Denne datoen ble avlyst.',\n 'date.status.cancelled.cta': 'Oppdater kalenderen din!',\n 'modal.subscribe.yahoo.h': 'Legg til kalender til Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Åpne Yahoo-kalenderen.
  2. Klikk på «Handlinger»-fanen.
  3. Velg «Følg andre kalendere».
  4. Velg et navn og lim inn URL-en fra utklippstavlen i URL-feltet.
',\n 'modal.subscribe.yahoo.button': 'Åpne Yahoo-kalenderen',\n close: 'Lukk',\n continue: 'Fortsette',\n cancel: 'Avbryt',\n expired: 'Utløpt',\n recurring: 'Tilbakevendende',\n thankyou: 'Takk',\n submit: 'Send inn',\n 'label.share.email': 'Del via e-post',\n 'label.share.copy': 'Kopier lenke',\n 'label.share.copied': 'Kopiert',\n 'label.share.email.subject': 'Husk denne datoen',\n 'form.error.required': 'Du har ikke fylt ut alle de nødvendige feltene riktig',\n 'form.error.sending': 'Det oppsto et problem med å sende svaret ditt. Vennligst prøv igjen senere',\n 'form.success': 'Sendt suksessfullt!',\n },\n fi: {\n 'label.addtocalendar': 'Lisää kalenteriin',\n ical: 'iCal-tiedosto',\n ...calendarNames,\n 'modal.button.default': 'Klikkaa minua',\n 'modal.webview.ical.h': 'Avaa selain',\n 'modal.webview.ical.text': 'Valitettavasti sovelluksen sisäisillä selaimilla on ongelmia kalenteritiedoston luomisessa.',\n 'modal.clipboard.text': 'Olemme automaattisesti kopioineet maagisen URL-osoitteen leikepöydällesi.',\n 'modal.webview.ical.steps': '
  1. Avaa toinen selain puhelimessasi., ...
  2. liitä leikepöydän sisältö ja lähde.
',\n 'modal.opensafari.ical.h': 'Avaa Safari',\n 'modal.opensafari.ical.text': 'Valitettavasti iOS:llä on ongelmia kalenteritiedoston luomisessa ja avaamisessa Safarin ulkopuolella.',\n 'modal.opensafari.ical.steps': '
  1. Avaa Safari, ...
  2. liitä leikepöydän sisältö ja lähde.
',\n 'modal.multidate.h': 'Tämä on tapahtumasarja',\n 'modal.multidate.text': 'Lisää yksittäiset osat yksi kerrallaan:',\n 'date.status.cancelled': 'Tämä päivämäärä peruttiin.',\n 'date.status.cancelled.cta': 'Päivitä kalenterisi!',\n 'modal.subscribe.yahoo.h': 'Lisää kalenteri Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Avaa Yahoo-kalenteri.
  2. Napsauta \"Toiminnot\"-välilehteä.
  3. Valitse \"Seuraa muiden kalentereita\".
  4. Valitse nimi ja liitä URL-osoite leikepöydältäsi URL-kenttään.
',\n 'modal.subscribe.yahoo.button': 'Avaa Yahoo-kalenteri',\n close: 'Sulje',\n continue: 'Jatkaa',\n cancel: 'Peruuta',\n expired: 'Vanhentunut',\n recurring: 'Toistuva',\n thankyou: 'Kiitos',\n submit: 'Lähetä',\n 'label.share.email': 'Jaa sähköpostitse',\n 'label.share.copy': 'Kopioi linkki',\n 'label.share.copied': 'Kopioitu',\n 'label.share.email.subject': 'Muista tämä päivämäärä',\n 'form.error.required': 'Et täyttänyt kaikkia vaadittuja kenttiä oikein',\n 'form.error.sending': 'Vastauksen lähettämisessä ilmeni ongelma. Yritä myöhemmin uudelleen',\n 'form.success': 'Lähetetty onnistuneesti!',\n },\n sv: {\n 'label.addtocalendar': 'Lägg till i kalender',\n ical: 'iCal-fil',\n ...calendarNames,\n 'modal.button.default': 'Klicka på mig',\n 'modal.webview.ical.h': 'Öppna din webbläsare',\n 'modal.webview.ical.text': 'Tyvärr har webbläsare i appen problem med hur vi genererar kalenderfilen.',\n 'modal.clipboard.text': 'Vi har automatiskt kopierat en magisk URL till ditt klippblock.',\n 'modal.webview.ical.steps': '
  1. Öppna en annan webbläsare på telefonen, ...
  2. Insätt innehållet i klippbordet och kör.
',\n 'modal.opensafari.ical.h': 'Öppna Safari',\n 'modal.opensafari.ical.text': 'Tyvärr har iOS vissa problem med att generera och öppna kalenderfilen utanför Safari.',\n 'modal.opensafari.ical.steps': '
  1. Öppna Safari, ...
  2. Insätt innehållet i klippbordet och kör.
',\n 'modal.multidate.h': 'Detta är en evenemangsserie',\n 'modal.multidate.text': 'Lägg till de enskilda delarna en efter en:',\n 'date.status.cancelled': 'Detta datum har ställts in.',\n 'date.status.cancelled.cta': 'Uppdatera din kalender!',\n 'modal.subscribe.yahoo.h': 'Lägg till kalender i Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Öppna Yahoo-kalendern.
  2. Klicka på fliken \"Åtgärder\".
  3. Välj \"Följ andra kalendrar\".
  4. Välj ett namn och klistra in URL:en från klippbordet i URL-fältet.
',\n 'modal.subscribe.yahoo.button': 'Öppna Yahoo-kalendern',\n close: 'Stäng',\n continue: 'Fortsätta',\n cancel: 'Avbryt',\n expired: 'Utgånget',\n recurring: 'Återkommande',\n thankyou: 'Tack',\n submit: 'Skicka',\n 'label.share.email': 'Dela via e-post',\n 'label.share.copy': 'Kopiera länk',\n 'label.share.copied': 'Kopierat',\n 'label.share.email.subject': 'Kom ihåg detta datum',\n 'form.error.required': 'Du har inte fyllt i alla nödvändiga fält korrekt',\n 'form.error.sending': 'Det uppstod ett problem när ditt svar skickades. Försök igen senare',\n 'form.success': 'Skickat framgångsrikt!',\n },\n cs: {\n 'label.addtocalendar': 'Přidat do kalendáře',\n ical: 'Soubor iCal',\n ...calendarNames,\n 'modal.button.default': 'Klikněte na mě',\n 'modal.webview.ical.h': 'Otevřete prohlížeč',\n 'modal.webview.ical.text': 'Prohlížeče v aplikacích mají bohužel problémy se způsobem generování souboru kalendáře.',\n 'modal.clipboard.text': 'Do schránky jsme automaticky zkopírovali kouzelnou adresu URL.',\n 'modal.webview.ical.steps': '
  1. Otevření jiného prohlížeče v telefonu, ...
  2. Vložte obsah schránky a přejděte.
',\n 'modal.opensafari.ical.h': 'Otevřít Safari',\n 'modal.opensafari.ical.text': 'Bohužel má iOS nějaké problémy s generováním a otevíráním souboru kalendáře mimo Safari.',\n 'modal.opensafari.ical.steps': '
  1. Otevřít Safari, ...
  2. Vložte obsah schránky a přejděte.
',\n 'modal.multidate.h': 'Jedná se o sérii událostí',\n 'modal.multidate.text': 'Přidávejte jednotlivé díly jeden po druhém:',\n 'date.status.cancelled': 'Toto datum bylo zrušeno.',\n 'date.status.cancelled.cta': 'Aktualizujte svůj kalendář!',\n 'modal.subscribe.yahoo.h': 'Přidat kalendář do Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Otevřete kalendář Yahoo.
  2. Klikněte na kartu \"Akce\".
  3. Vyberte možnost \"Sledovat další kalendáře\".
  4. Vyberte název a vložte adresu URL ze schránky do pole URL.
',\n 'modal.subscribe.yahoo.button': 'Otevřete kalendář Yahoo',\n close: 'Zavřít',\n continue: 'Pokračovat',\n cancel: 'Storno',\n expired: 'Platnost vypršela',\n recurring: 'Opakující se',\n thankyou: 'Děkuji',\n submit: 'Odeslat',\n 'label.share.email': 'Sdílet e-mailem',\n 'label.share.copy': 'Kopírovat odkaz',\n 'label.share.copied': 'Zkopírováno',\n 'label.share.email.subject': 'Zapamatuj si tento termín',\n 'form.error.required': 'Nevyplnil jsi správně všechna požadovaná pole',\n 'form.error.sending': 'Při odesílání tvé odpovědi došlo k problému. Zkus to prosím později znovu',\n 'form.success': 'Úspěšně odesláno!',\n },\n ja: {\n 'label.addtocalendar': 'カレンダーに追加',\n ical: 'iCalファイル',\n ...calendarNames,\n 'modal.button.default': 'クリックしてください',\n 'modal.webview.ical.h': 'ブラウザを起動する',\n 'modal.webview.ical.text': '残念ながら、アプリ内ブラウザは、カレンダーファイルの生成方法に問題があります。',\n 'modal.clipboard.text': '魔法のURLを自動的にクリップボードにコピーしています。',\n 'modal.webview.ical.steps': '
  1. スマートフォンで別のブラウザを起動する, ...
  2. クリップボードの内容を貼り付けて行く。
',\n 'modal.opensafari.ical.h': 'オープンSafari',\n 'modal.opensafari.ical.text': '残念ながら、iOS では、Safari の外でカレンダー ファイルを生成したり開いたりする際にいくつかの問題があります。',\n 'modal.opensafari.ical.steps': '
  1. オープンSafari, ...
  2. クリップボードの内容を貼り付けて行く。
',\n 'modal.multidate.h': 'イベントシリーズです',\n 'modal.multidate.text': '個々のパーツを一つずつ追加していく:',\n 'date.status.cancelled': 'この日はキャンセルになりました。',\n 'date.status.cancelled.cta': 'カレンダーを更新する!',\n 'modal.subscribe.yahoo.h': 'Yahooにカレンダーを追加する',\n 'modal.subscribe.yahoo.text': '
  1. Yahooカレンダーを開く。
  2. [実行] タブをクリックします。
  3. [その他のカレンダーのフォロー] を選択します。
  4. 名前を決めて、クリップボードにあるURLをURL欄に貼り付けます。
',\n 'modal.subscribe.yahoo.button': 'Yahooカレンダーを開く',\n close: '閉じる',\n continue: '続ける',\n cancel: 'キャンセル',\n expired: '期限切れ',\n recurring: '繰り返し',\n thankyou: 'ありがとう',\n submit: '送信',\n 'label.share.email': 'メールで共有',\n 'label.share.copy': 'リンクをコピー',\n 'label.share.copied': 'コピー済み',\n 'label.share.email.subject': 'この日付を覚えておいて',\n 'form.error.required': '必要なフィールドをすべて正しく入力していません',\n 'form.error.sending': 'あなたの回答を送信する際に問題が発生しました。後で再試行してください',\n 'form.success': '正常に送信されました!',\n },\n it: {\n 'label.addtocalendar': 'Aggiungi al calendario',\n ical: 'File iCal',\n ...calendarNames,\n 'modal.button.default': 'Clicca su di me',\n 'modal.webview.ical.h': 'Aprire il browser',\n 'modal.webview.ical.text': 'Purtroppo i browser in-app hanno problemi con il modo in cui generiamo il file del calendario.',\n 'modal.clipboard.text': 'Abbiamo copiato automaticamente un URL magico negli appunti.',\n 'modal.webview.ical.steps': '
  1. Aprire un altro browser sul cellulare, ...
  2. Incollare il contenuto degli appunti e partire.
',\n 'modal.opensafari.ical.h': 'Aprire Safari',\n 'modal.opensafari.ical.text': \"Sfortunatamente, iOS ha alcuni problemi nella generazione e nell'apertura del file del calendario al di fuori di Safari.\",\n 'modal.opensafari.ical.steps': '
  1. Aprire Safari, ...
  2. Incollare il contenuto degli appunti e partire.
',\n 'modal.multidate.h': 'Questa è una serie di eventi',\n 'modal.multidate.text': 'Aggiungere le singole parti una per una:',\n 'date.status.cancelled': 'La data è stata annullata.',\n 'date.status.cancelled.cta': 'Aggiornare il calendario!',\n 'modal.subscribe.yahoo.h': 'Aggiungi il calendario a Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Aprire il calendario di Yahoo.
  2. Fare clic sulla scheda \"Azioni\".
  3. Selezionare \"Segui altri calendari\".
  4. Scegliere un nome e incollare l\\'URL dagli appunti nel campo URL.
',\n 'modal.subscribe.yahoo.button': 'Apri il calendario di Yahoo',\n close: 'Chiudere',\n continue: 'Continuare',\n cancel: 'Annulla',\n expired: 'Scaduta',\n recurring: 'Ricorrente',\n thankyou: 'Grazie',\n submit: 'Invia',\n 'label.share.email': 'Condividi via Email',\n 'label.share.copy': 'Copia il link',\n 'label.share.copied': 'Copiato',\n 'label.share.email.subject': 'Ricorda questa data',\n 'form.error.required': 'Non hai compilato correttamente tutti i campi richiesti',\n 'form.error.sending': \"C'è stato un problema nell'invio della tua risposta. Prova di nuovo più tardi\",\n 'form.success': 'Inviato con successo!',\n },\n ko: {\n 'label.addtocalendar': '캘린더에 추가',\n ical: 'iCal 파일',\n ...calendarNames,\n 'modal.button.default': '클릭 해주세요',\n 'modal.webview.ical.h': '브라우저 열기',\n 'modal.webview.ical.text': '불행히도 인앱 브라우저는 캘린더 파일을 생성하는 방식에 문제가 있습니다.',\n 'modal.clipboard.text': '매직 URL을 클립보드에 자동으로 복사했습니다.',\n 'modal.webview.ical.steps': '
  1. 휴대전화에서 다른 브라우저 열기, ...
  2. 클립보드 내용을 붙여넣고 이동합니다.
',\n 'modal.opensafari.ical.h': 'Safari 열기',\n 'modal.opensafari.ical.text': '안타깝게도 iOS에는 Safari 외부에서 캘린더 파일을 생성하고 여는 데 몇 가지 문제가 있습니다.',\n 'modal.opensafari.ical.steps': '
  1. Safari 열기, ...
  2. 클립보드 내용을 붙여넣고 이동합니다.
',\n 'modal.multidate.h': '이벤트 시리즈입니다',\n 'modal.multidate.text': '개별 부품을 하나씩 추가:',\n 'date.status.cancelled': '이 날짜는 취소되었습니다.',\n 'date.status.cancelled.cta': '캘린더를 업데이트하세요!',\n 'modal.subscribe.yahoo.h': 'Yahoo에 캘린더 추가',\n 'modal.subscribe.yahoo.text': '
  1. Yahoo 캘린더를 엽니다.
  2. \"동작\" 탭을 클릭합니다.
  3. \"다른 일정관리 팔로우\"를 선택합니다.
  4. 이름을 선택하고 클립보드의 URL을 URL 필드에 붙여넣습니다.
',\n 'modal.subscribe.yahoo.button': '야후 캘린더 열기',\n close: '닫다',\n continue: '계속하다',\n cancel: '취소',\n expired: '만료됨',\n recurring: '되풀이',\n thankyou: '감사합니다',\n submit: '제출하기',\n 'label.share.email': '이메일로 공유하기',\n 'label.share.copy': '링크 복사하기',\n 'label.share.copied': '복사됨',\n 'label.share.email.subject': '이 날짜를 기억하세요',\n 'form.error.required': '필수 필드를 모두 올바르게 채우지 않았습니다',\n 'form.error.sending': '응답을 보내는 데 문제가 발생했습니다. 나중에 다시 시도해주세요',\n 'form.success': '성공적으로 전송됨!',\n },\n vi: {\n 'label.addtocalendar': 'Thêm vào Lịch',\n ical: 'Tệp iCal',\n ...calendarNames,\n 'modal.button.default': 'Nhấp vào đây',\n 'modal.webview.ical.h': 'Mở trình duyệt của bạn',\n 'modal.webview.ical.text': 'Rất tiếc, các trình duyệt trong ứng dụng gặp sự cố với cách chúng tôi tạo tệp lịch.',\n 'modal.clipboard.text': 'Chúng tôi đã tự động sao chép một URL ma thuật vào khay nhớ tạm của bạn.',\n 'modal.webview.ical.steps': '
  1. Mở trình duyệt khác trên điện thoại của bạn, ...
  2. Dán nội dung khay nhớ tạm và bắt đầu.
',\n 'modal.opensafari.ical.h': 'Mở Safari',\n 'modal.opensafari.ical.text': 'Rất tiếc, iOS gặp một số sự cố khi tạo và mở tệp lịch bên ngoài Safari.',\n 'modal.opensafari.ical.steps': '
  1. Mở Safari, ...
  2. Dán nội dung khay nhớ tạm và bắt đầu.
',\n 'modal.multidate.h': 'Đây là một chuỗi sự kiện',\n 'modal.multidate.text': 'Thêm từng phần riêng lẻ một:',\n 'date.status.cancelled': 'Ngày này đã bị hủy.',\n 'date.status.cancelled.cta': 'Cập nhật lịch của bạn!',\n 'modal.subscribe.yahoo.h': 'Thêm lịch vào Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Mở Lịch Yahoo.
  2. Nhấp vào tab \"Hành động\".
  3. Chọn \"Theo dõi các Lịch khác\".
  4. Chọn tên và dán URL từ khay nhớ tạm của bạn vào trường URL.
',\n 'modal.subscribe.yahoo.button': 'Mở lịch Yahoo',\n close: 'Đóng',\n continue: 'Tiếp tục',\n cancel: 'Hủy bỏ',\n expired: 'Hết hạn',\n recurring: 'Định kỳ',\n thankyou: 'Cảm ơn',\n submit: 'Gửi',\n 'label.share.email': 'Chia sẻ qua Email',\n 'label.share.copy': 'Sao chép liên kết',\n 'label.share.copied': 'Đã sao chép',\n 'label.share.email.subject': 'Ghi nhớ ngày này',\n 'form.error.required': 'Bạn chưa điền đúng tất cả các trường bắt buộc',\n 'form.error.sending': 'Có sự cố khi gửi phản hồi của bạn. Vui lòng thử lại sau',\n 'form.success': 'Gửi thành công!',\n },\n ro: {\n 'label.addtocalendar': 'Adauga In Calendar',\n ical: 'Fisier iCal',\n ...calendarNames,\n 'modal.button.default': 'Apasa-ma',\n 'modal.webview.ical.h': 'Deschide browserul',\n 'modal.webview.ical.text': 'Din pacate, browserele din aplicatie au probleme cu generarea de fisiere pentru calendar.',\n 'modal.clipboard.text': 'Ti-am copiat automat un URL magic in clipboard',\n 'modal.webview.ical.steps': '
  1. Deschide un alt browser pe telefonul tau, ...
  2. Lipeste continutul din clipboard si continua.
',\n 'modal.opensafari.ical.h': 'Deschide Safari',\n 'modal.opensafari.ical.text': 'Din păcate, iOS are unele probleme la generarea și deschiderea fișierului calendar în afara Safari.',\n 'modal.opensafari.ical.steps': '
  1. Deschides Safari, ...
  2. Lipeste continutul din clipboard si continua.
',\n 'modal.multidate.h': 'Aceasta este o serie de evenimente',\n 'modal.multidate.text': 'Adauga evenimentele individuale una cate una:',\n 'date.status.cancelled': 'Aceasta data a fost anulata.',\n 'date.status.cancelled.cta': 'Te rugam sa-ti updatezi calendarul!',\n 'modal.subscribe.yahoo.h': 'Adauga Calendar in Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Deschide acum calendarul Yahoo.
  2. Apasa pe tab-ul de \"Actiuni\".
  3. Apasa \"Urmareste alte calendare\".
  4. Seteaza un nume si lipeste continutul din clipboard in casuta cu url.
',\n 'modal.subscribe.yahoo.button': 'Deschideți calendarul Yahoo',\n close: 'Inchide',\n continue: 'Continua',\n cancel: 'Anuleaza',\n expired: 'Expirat',\n recurring: 'Recurente',\n thankyou: 'Mulțumesc',\n submit: 'Trimite',\n 'label.share.email': 'Distribuie prin e-mail',\n 'label.share.copy': 'Copiază linkul',\n 'label.share.copied': 'Copiat',\n 'label.share.email.subject': 'Ține minte această dată',\n 'form.error.required': 'Nu ai completat corect toate câmpurile necesare',\n 'form.error.sending': 'A apărut o problemă la trimiterea răspunsului tău. Încearcă din nou mai târziu',\n 'form.success': 'Trimis cu succes!',\n },\n fa: {\n 'label.addtocalendar': 'افزودن به تقویم',\n ical: 'پرونده iCal',\n ...calendarNames,\n 'modal.button.default': 'اینجا کلیک کنید',\n 'modal.webview.ical.h': 'مرورگر خود را باز کنید',\n 'modal.webview.ical.text': 'متاسفانه، مرورگرهای درون برنامه‌ای با نحوه تولید پرونده تقویم مشکل دارند.',\n 'modal.clipboard.text': 'ما به طور خودکار یک نشانی اینترنتی جادویی را در کلیپ‌بورد شما کپی کردیم.',\n 'modal.webview.ical.steps': '
  1. مرورگر دیگری را در گوشی خود باز کنید، ...
  2. محتوای کلیپ‌بورد را Paste کنید و Go را بزنید که آدرس باز شود.
',\n 'modal.opensafari.ical.h': 'سافاری را باز کنید',\n 'modal.opensafari.ical.text': 'متأسفانه iOS در تولید و باز کردن فایل تقویم خارج از سافاری مشکلاتی دارد.',\n 'modal.opensafari.ical.steps': '
  1. سافاری را باز کنید، ...
  2. محتوای کلیپ‌بورد را Paste کنید و Go را بزنید که آدرس باز شود.
',\n 'modal.multidate.h': 'این یک سری رویداد است',\n 'modal.multidate.text': 'رویدادهای شخصی را یکی یکی اضافه کنید:',\n 'date.status.cancelled': 'این تاریخ لغو شد',\n 'date.status.cancelled.cta': 'لطفا تقویم خود را به‌روز کنید!',\n 'modal.subscribe.yahoo.h': 'افزودن تقویم به یاهو',\n 'modal.subscribe.yahoo.text': '
  1. اکنون تقویم یاهو را باز کنید.
  2. روی زبانه «Actions» کلیک کنید.
  3. روی «Follow Other Calendars» ضربه بزنید.
  4. یک نام وارد کنید و محتوای کلیپ‌بورد را در قسمت url قرار دهید.
',\n 'modal.subscribe.yahoo.button': 'تقویم یاهو را باز کنید',\n close: 'بستن',\n continue: 'ادامه دادن',\n cancel: 'لغو',\n expired: 'منقضی شده',\n thankyou: 'ممنون',\n submit: 'ارسال',\n 'label.share.email': 'اشتراک‌گذاری از طریق ایمیل',\n 'label.share.copy': 'کپی لینک',\n 'label.share.copied': 'کپی شد',\n 'label.share.email.subject': 'این تاریخ را به یاد داشته باشید',\n 'form.error.required': 'شما همه فیلدهای لازم را به درستی پر نکرده‌اید',\n 'form.error.sending': 'مشکلی در ارسال پاسخ شما وجود داشت. لطفا بعدا دوباره تلاش کنید',\n 'form.success': 'با موفقیت ارسال شد!',\n },\n et: {\n 'label.addtocalendar': 'Lisa kalendrisse',\n ical: 'iCal fail',\n ...calendarNames,\n 'modal.button.default': 'Kliki siia',\n 'modal.webview.ical.h': 'Ava oma veebilehitseja',\n 'modal.webview.ical.text': 'Kahjuks on rakendusesisestel veebilehitsejatel probleeme kalendrifailide loomisega.',\n 'modal.clipboard.text': 'Kalendri veebi aadress on automaatselt kopeeritud sinu lõikelauale.',\n 'modal.webview.ical.steps': '
  1. Ava teine veebilehitseja oma telefonis, ...
  2. Kleebi lõikelaua sisu ning mine sellele lehele.
',\n 'modal.opensafari.ical.h': 'Ava Safari',\n 'modal.opensafari.ical.text': 'Kahjuks on iOS-il probleeme kalendrifaili genereerimise ja avamisega väljaspool Safarit.',\n 'modal.opensafari.ical.steps': '
  1. Ava Safari, ...
  2. Kleebi lõikelaua sisu ning mine sellele lehele.
',\n 'modal.multidate.h': 'See on sündmuste seeria',\n 'modal.multidate.text': 'Ava üksikud sündmused ükshaaval:',\n 'date.status.cancelled': 'See kuupäev on tühistatud.',\n 'date.status.cancelled.cta': 'Palun uuenda oma kalendrit!',\n 'modal.subscribe.yahoo.h': 'Lisa kalender Yahoo-sse',\n 'modal.subscribe.yahoo.text': '
  1. Ava oma Yahoo kalender.
  2. Kliki \"Actions\" vahelehte.
  3. Vajuta \"Follow Other Calendars\".
  4. Määra nimi ning lisa lõikelaua sisu URL (veebi aadressi) väljale.
',\n 'modal.subscribe.yahoo.button': 'Avage Yahoo kalender',\n close: 'Sulge',\n continue: 'Jätkama',\n cancel: 'Tühista',\n expired: 'Aegunud',\n thankyou: 'Aitäh',\n submit: 'Saada',\n 'label.share.email': 'Jaga e-posti teel',\n 'label.share.copy': 'Kopeeri link',\n 'label.share.copied': 'Kopeeritud',\n 'label.share.email.subject': 'Pane see kuupäev kirja',\n 'form.error.required': 'Sa pole kõiki nõutavaid välju korrektselt täitnud',\n 'form.error.sending': 'Sinu vastuse saatmisel tekkis probleem. Palun proovi hiljem uuesti',\n 'form.success': 'Edukalt saadetud!',\n },\n uk: {\n 'label.addtocalendar': 'Додати до календаря',\n ical: 'Файл iCal',\n ...calendarNames,\n 'modal.button.default': 'Натисни мене',\n 'modal.webview.ical.h': 'Відкрийте ваш браузер',\n 'modal.webview.ical.text': 'На жаль, браузери у додатках мають проблеми з обробкою файлу календаря, який ми створюємо.',\n 'modal.clipboard.text': 'Ми автоматично скопіювали магічний URL у ваш буфер обміну.',\n 'modal.webview.ical.steps': '
  1. Відкрийте інший браузер на своєму телефоні, ...
  2. Вставте скопійований вміст і перейдіть.
',\n 'modal.opensafari.ical.h': 'Відкрити Safari',\n 'modal.opensafari.ical.text': 'На жаль, iOS має проблеми з генерацією та відкриттям файлу календаря поза Safari.',\n 'modal.opensafari.ical.steps': '
  1. Відкрийте Safari, ...
  2. Вставте скопійований вміст і перейдіть.
',\n 'modal.multidate.h': 'Це серія подій',\n 'modal.multidate.text': 'Додайте окремі події по одній:',\n 'date.status.cancelled': 'Цю дату скасовано.',\n 'date.status.cancelled.cta': 'Оновіть свій календар, будь ласка!',\n 'modal.subscribe.yahoo.h': 'Додати календар до Yahoo',\n 'modal.subscribe.yahoo.text': '
  1. Відкрийте зараз календар Yahoo.
  2. Натисніть вкладку «Дії».
  3. Натисніть «Підписатися на інші календарі».
  4. Введіть назву та вставте вміст буфера обміну в поле URL.
',\n 'modal.subscribe.yahoo.button': 'Відкрити Yahoo Календар',\n close: 'Закрити',\n continue: 'Продовжити',\n cancel: 'Скасувати',\n expired: 'Термін дії закінчився',\n recurring: 'Повторюваний',\n thankyou: 'Дякуємо',\n submit: 'Відправити',\n 'label.rsvp': 'RSVP',\n 'label.share.email': 'Поділитися через Email',\n 'label.share.copy': 'Скопіювати посилання',\n 'label.share.copied': 'Скопійовано',\n 'label.share.email.subject': 'Збережіть цю подію',\n 'form.error.required': \"Ви не заповнили всі обов'язкові поля\",\n 'form.error.sending': 'Сталася проблема з відправленням вашої відповіді. Спробуйте ще раз пізніше.',\n 'form.success': 'Успішно відправлено!',\n },\n};\nconst availableLanguages = Object.keys(i18nStrings);\nfunction atcb_translate_hook(identifier, data) {\n if (data.customLabels && data.customLabels[`${identifier}`] && data.customLabels[`${identifier}`] !== '') {\n return atcb_rewrite_html_elements(data.customLabels[`${identifier}`]);\n } else {\n return atcb_translate(identifier, data.language);\n }\n}\nfunction atcb_translate(identifier, language) {\n if (!language) {\n language = 'en';\n }\n if (i18nStrings[`${language}`][`${identifier}`]) {\n return i18nStrings[`${language}`][`${identifier}`];\n }\n if (language !== 'en') {\n return atcb_translate(identifier, 'en');\n }\n return identifier;\n}\n\n\nlet atcbInitialGlobalInit = false;\nlet atcbBtnCount = 0;\nconst lightModeMutationObserver = [];\nconst template = `
`;\nif (atcbIsBrowser()) {\n class AddToCalendarButton extends HTMLElement {\n constructor() {\n super();\n this._initialized = new Promise((resolve) => (this._initializedResolver = resolve));\n const elem = document.createElement('template');\n elem.innerHTML = template;\n this.attachShadow({ mode: 'open', delegateFocus: true });\n this.shadowRoot.append(elem.content.cloneNode(true));\n this.state = {\n initializing: false,\n initialized: false,\n ready: false,\n updatePending: false,\n };\n this.data = {};\n this.error = false;\n }\n connectedCallback() {\n if (!this.initializing) {\n this.initializing = true;\n setTimeout(() => this.initializeComponent(), 0);\n }\n }\n async initializeComponent() {\n if (this.state.ready) {\n return;\n }\n this.state.initializing = true;\n const debugVal = this.getAttribute('debug');\n this.debug = this.hasAttribute('debug') && (!debugVal || debugVal === 'true' || debugVal === '') ? true : false;\n if (this.hasAttribute('proOverride') || this.hasAttribute('prooverride')) {\n let proOverrideVal = null;\n if (this.hasAttribute('proOverride') && this.getAttribute('proOverride') !== '') {\n proOverrideVal = this.getAttribute('proOverride');\n } else {\n proOverrideVal = this.getAttribute('prooverride');\n }\n this.proOverride = !proOverrideVal || proOverrideVal === 'true' || proOverrideVal === '' ? true : false;\n }\n try {\n if ((this.hasAttribute('proKey') && this.getAttribute('proKey') !== '') || (this.hasAttribute('prokey') && this.getAttribute('prokey') !== '')) {\n if (this.hasAttribute('proKey') && this.getAttribute('proKey') !== '') {\n this.data = await atcb_get_pro_data(this.getAttribute('proKey'), this);\n } else {\n this.data = await atcb_get_pro_data(this.getAttribute('prokey'), this);\n }\n if (this.data.proKey) this.proKey = this.data.proKey;\n } else {\n this.data.proKey = '';\n this.data = await atcb_process_inline_data(this, this.debug);\n }\n } catch (e) {\n if (this.debug) {\n console.error(e);\n atcb_render_debug_msg(this.shadowRoot, e);\n }\n this.state.initializing = false;\n this.state.ready = true;\n return;\n }\n await this.initButton();\n this.state.initializing = false;\n this.state.initialized = true;\n this.state.ready = true;\n this._initializedResolver();\n return;\n }\n whenInitialized() {\n return this._initialized;\n }\n disconnectedCallback() {\n atcb_cleanup(this.shadowRoot, this.identifier);\n if (this.debug) {\n console.log('Add to Calendar Button \"' + this.identifier + '\" destroyed');\n }\n if (document.querySelectorAll('add-to-calendar-button').length === 0) {\n atcbBtnCount = 0;\n }\n }\n static get observedAttributes() {\n const observeAdditionally = ['instance', 'prokey', 'proKey', 'prooverride', 'proOverride'];\n if (this.proKey && this.proKey !== '') {\n return atcbWcProParams\n .map((element) => {\n return element.toLowerCase();\n })\n .concat(observeAdditionally);\n }\n return atcbWcParams\n .map((element) => {\n return element.toLowerCase();\n })\n .concat(observeAdditionally);\n }\n attributeChangedCallback(name, oldValue, newValue) {\n if (!this.state.ready) {\n return;\n }\n if (this.debug && this.state.initialized) {\n console.log(`${name}'s value has been changed from ${oldValue} to ${newValue}`);\n }\n if (!this.updatePending) {\n this.updatePending = true;\n setTimeout(() => this.updateComponent(), 0);\n }\n }\n async updateComponent() {\n if (!this.updatePending) return;\n this.data = {};\n this.shadowRoot.querySelector('.atcb-initialized').remove();\n const elem = document.createElement('template');\n elem.innerHTML = template;\n this.shadowRoot.append(elem.content.cloneNode(true));\n try {\n if (this.hasAttribute('proKey') && this.getAttribute('proKey') !== '') {\n this.data = await atcb_get_pro_data(this.getAttribute('proKey'), this);\n if (this.data.proKey) this.proKey = this.data.proKey;\n } else if (this.hasAttribute('prokey') && this.getAttribute('prokey') !== '') {\n this.data = await atcb_get_pro_data(this.getAttribute('prokey'), this);\n if (this.data.proKey) this.proKey = this.data.proKey;\n } else {\n this.data = await atcb_process_inline_data(this, this.debug);\n }\n } catch (e) {\n if (this.debug) {\n console.error(e);\n atcb_render_debug_msg(this.shadowRoot, e);\n }\n this.updatePending = false;\n return;\n }\n atcb_cleanup(this.shadowRoot, this.identifier);\n await this.initButton();\n this.updatePending = false;\n }\n async initButton() {\n if (!this.state.initialized) {\n atcbBtnCount = atcbBtnCount + 1;\n }\n if (this.identifier && this.identifier !== '') {\n this.data.identifier = this.identifier;\n } else {\n if (this.data.identifier && this.data.identifier !== '') {\n if (!/^[\\w-]+$/.test(this.data.identifier)) {\n this.data.identifier = '';\n if (this.debug) {\n let prefix = 'Add to Calendar Button';\n if (this.data.rsvp && Object.keys(this.data.rsvp).length > 0) {\n prefix = 'RSVP';\n }\n console.warn(prefix + ' generation: identifier invalid - using auto numbers instead');\n }\n } else {\n this.data.identifier = 'atcb-btn-' + this.data.identifier;\n }\n }\n if (this.data.identifier == null || this.data.identifier == '') {\n this.data.identifier = 'atcb-btn-' + atcbBtnCount;\n }\n this.identifier = this.data.identifier;\n }\n this.setAttribute('atcb-button-id', this.data.identifier);\n try {\n this.style.visibility = 'visible';\n this.style.opacity = '1';\n this.style.position = 'relative';\n this.style.outline = 'none !important';\n await atcb_build_button(this.shadowRoot, this.data);\n return true;\n } catch (e) {\n if (this.debug) {\n console.error(e.message ? e.message : e);\n atcb_render_debug_msg(this.shadowRoot, e);\n }\n return false;\n }\n }\n }\n if (!customElements.get('add-to-calendar-button')) {\n customElements.define('add-to-calendar-button', AddToCalendarButton);\n }\n}\nasync function atcb_process_inline_data(el, debug = false) {\n let data;\n try {\n data = atcb_read_attributes(el);\n await atcb_check_required(data);\n } catch {\n const slotInput = el.innerHTML.trim();\n if (!slotInput) {\n throw new Error('Add to Calendar Button generation failed: No data provided.');\n }\n try {\n const atcbJsonInput = JSON.parse(atcb_secure_content(slotInput.replace(/(\\r\\n|\\n|\\r)/g, ''), false));\n await atcb_check_required(atcbJsonInput);\n data = atcbJsonInput;\n } catch (jsonError) {\n if (debug) {\n console.error(jsonError);\n }\n throw new Error('Add to Calendar Button generation failed: no data provided or missing required fields - see console logs for details');\n }\n }\n return data;\n}\nfunction atcb_read_attributes(el, params = atcbWcParams) {\n let data = {};\n for (let i = 0; i < params.length; i++) {\n let attr = params[`${i}`];\n if (el.hasAttribute(`${attr}`)) {\n let inputVal = atcb_secure_content(el.getAttribute(`${attr}`).replace(/(\\\\r\\\\n|\\\\n|\\\\r)/g, ''), false);\n let val;\n if (atcbWcBooleanParams.includes(attr)) {\n val = !inputVal || inputVal === '' || inputVal.toLowerCase() === 'true' ? true : false;\n } else if (atcbWcObjectParams.includes(attr)) {\n const cleanedInput = (function () {\n if (!inputVal || inputVal === '') {\n return '{}';\n }\n if (inputVal.substring(0, 1) != '{') {\n return '{' + inputVal + '}';\n }\n return inputVal;\n })();\n val = JSON.parse(cleanedInput);\n } else if (atcbWcObjectArrayParams.includes(attr)) {\n const cleanedInput = (function () {\n if (!inputVal || inputVal === '') {\n return '[]';\n }\n if (inputVal.substring(0, 1) != '[') {\n return '[' + inputVal + ']';\n }\n return inputVal;\n })();\n val = JSON.parse(cleanedInput);\n } else if (atcbWcArrayParams.includes(attr)) {\n const cleanedInput = (function () {\n let newVal = inputVal;\n if (inputVal.includes('\"') || inputVal.includes(\"'\")) {\n if (inputVal.includes('[')) {\n newVal = inputVal.substring(2, inputVal.length - 2);\n } else {\n newVal = inputVal.substring(1, inputVal.length - 1);\n }\n }\n if (!inputVal.includes('|')) {\n newVal = newVal.replace(/\\s/g, '');\n }\n return newVal;\n })();\n if (cleanedInput.includes(\"','\")) {\n val = cleanedInput.split(\"','\");\n } else {\n val = cleanedInput.split('\",\"');\n }\n } else if (atcbWcNumberParams.includes(attr)) {\n val = parseInt(inputVal);\n } else {\n val = inputVal;\n }\n if ((typeof val === 'object' && Object.keys(val).length === 0) || (Array.isArray(val) && (val.length === 0 || (val.length === 1 && val[0] === '')))) {\n continue;\n }\n data[`${attr}`] = val;\n }\n }\n return data;\n}\nasync function atcb_build_button(host, data) {\n try {\n host.host.classList.add('add-to-calendar');\n data = await atcb_decorate_data(data);\n await atcb_validate(data);\n const rootObj = host.querySelector('.atcb-initialized');\n atcb_set_light_mode(host, data);\n rootObj.setAttribute('lang', data.language);\n atcb_load_css(host, rootObj, data);\n atcb_setup_state_management(data);\n atcb_set_global_event_listener(host, data);\n atcb_init_log(data.proKey, data.debug);\n if (!data.hidden) {\n if (typeof atcb_generate_rsvp_form === 'function' && data.rsvp && Object.keys(data.rsvp).length > 0) {\n if (!data.inlineRsvp) {\n await atcb_generate_rsvp_button(host, data);\n } else {\n await atcb_generate_rsvp_form(host, data, rootObj);\n }\n } else {\n atcb_generate_button(host, rootObj, data);\n }\n if (!data.hideRichData && !data.subscribe && data.name && data.dates[0].location && data.dates[0].startDate) {\n atcb_generate_rich_data(data, host.host);\n }\n }\n atcb_log_event('initialization', data.identifier, data.identifier);\n if (!data.proKey && data.hideBranding && !document.getElementById('atcb-reference')) {\n atcb_create_atcbl(document.body, false, false, true);\n }\n return true;\n } catch (e) {\n throw new Error(e.message);\n }\n}\nfunction atcb_cleanup(host, identifier) {\n atcb_close(host);\n atcb_unset_global_event_listener(identifier);\n const schemaEl = document.getElementById('atcb-schema-' + identifier);\n if (schemaEl) {\n schemaEl.remove();\n }\n Array.from(host.querySelectorAll('.atcb-debug-error-msg'))\n .concat(Array.from(host.querySelectorAll('style')))\n .concat(Array.from(host.querySelectorAll('link')))\n .concat(Array.from(host.querySelectorAll('.atcb-placeholder')))\n .concat(Array.from(host.querySelectorAll('.atcb-button-wrapper')))\n .forEach((el) => el.remove());\n delete atcbStates[`${identifier}`];\n}\nfunction atcb_set_light_mode(shadowRoot, data) {\n shadowRoot.host.classList.remove('atcb-dark', 'atcb-light', 'atcb-bodyScheme');\n const hostLightMode = (function () {\n if (data.lightMode == 'bodyScheme') {\n if (\n document.body.classList.contains('atcb-dark') ||\n document.documentElement.classList.contains('atcb-dark') ||\n document.body.classList.contains('atcp-dark') ||\n document.documentElement.classList.contains('atcp-dark') ||\n document.body.classList.contains('dark') ||\n document.documentElement.classList.contains('dark')\n ) {\n return 'dark';\n } else {\n return 'light';\n }\n }\n return data.lightMode;\n })();\n shadowRoot.host.classList.add('atcb-' + hostLightMode);\n}\nfunction atcb_csp_nonce(host) {\n const cspnonceRegex = /[`'\"()[\\]{}<>\\s]/;\n if (!host.host.hasAttribute('cspnonce')) {\n return null;\n }\n if (cspnonceRegex.test(host.host.getAttribute('cspnonce'))) {\n throw new Error('cspnonce input contains forbidden characters.');\n }\n return host.host.getAttribute('cspnonce');\n}\nasync function atcb_load_css(host, rootObj = null, data) {\n const nonceVal = atcb_csp_nonce(host);\n if (!document.getElementById('atcb-global-style')) {\n const cssGlobalContent = document.createElement('style');\n cssGlobalContent.id = 'atcb-global-style';\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n cssGlobalContent.innerText = '.atcb-modal-no-scroll{overflow-y:hidden !important;-webkit-overflow-scrolling:touch;} body.atcb-modal-no-scroll{padding-right:' + scrollBarWidth + 'px;}.atcb-attribution{display:none;}';\n if (nonceVal) {\n cssGlobalContent.setAttribute('nonce', nonceVal);\n }\n document.head.append(cssGlobalContent);\n }\n const generalCssContent = document.createElement('style');\n const initWidth = data.inlineRsvp && data.rsvp && Object.keys(data.rsvp).length > 0 ? '100%' : 'fit-content';\n generalCssContent.innerText = `.atcb-initialized { display: block; position: relative; width: ${initWidth}; }.atcb-initialized.atcb-inline { display: inline-block; }.atcb-initialized.atcb-buttons-list { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--buttonslist-gap); }.atcb-hidden { display: none; }`;\n if (nonceVal) {\n generalCssContent.setAttribute('nonce', nonceVal);\n }\n host.prepend(generalCssContent);\n const overrideDefaultCss = (function () {\n if (data.styleLight) {\n return ':host{' + atcb_secure_content(data.styleLight.replace(/(\\\\r\\\\n|\\\\n|\\\\r)/g, ''), false) + '}';\n }\n return '';\n })();\n const overrideDarkCss = (function () {\n if (data.styleDark) {\n return ':host(.atcb-dark){' + atcb_secure_content(data.styleDark.replace(/(\\\\r\\\\n|\\\\n|\\\\r)/g, ''), false) + '}';\n }\n return '';\n })();\n if (data.customCss && data.customCss !== '') {\n const cssFile = document.createElement('link');\n cssFile.setAttribute('rel', 'stylesheet');\n cssFile.setAttribute('type', 'text/css');\n cssFile.setAttribute('href', data.customCss);\n if (nonceVal) {\n cssFile.setAttribute('nonce', nonceVal);\n }\n if (!rootObj) {\n await loadExternalCssAsynch(cssFile, host, null, nonceVal, null, false, false, overrideDefaultCss + overrideDarkCss);\n } else {\n const placeholder = document.createElement('div');\n placeholder.classList.add('atcb-placeholder');\n host.prepend(placeholder);\n const placeholderCssContent = document.createElement('style');\n placeholderCssContent.innerText = '.atcb-placeholder { background-color: #777; border-radius: 200px; height: 40px; opacity: .3; width: 150px; }';\n if (nonceVal) {\n placeholderCssContent.setAttribute('nonce', nonceVal);\n }\n host.prepend(placeholderCssContent);\n loadExternalCssAsynch(cssFile, host, rootObj, nonceVal, placeholder, data.inline, data.buttonsList, overrideDefaultCss + overrideDarkCss);\n }\n return;\n }\n if (data.buttonStyle !== 'none' && atcbCssTemplate[`${data.buttonStyle}`]) {\n const cssContent = document.createElement('style');\n if (nonceVal) {\n cssContent.setAttribute('nonce', nonceVal);\n }\n cssContent.innerText = atcbCssTemplate[`${data.buttonStyle}`] + overrideDefaultCss + overrideDarkCss;\n host.prepend(cssContent);\n }\n if (rootObj) {\n if (data.inline) {\n rootObj.style.display = 'inline-block';\n rootObj.classList.add('atcb-inline');\n } else {\n if (data.buttonsList) {\n rootObj.classList.add('atcb-buttons-list');\n }\n }\n rootObj.classList.remove('atcb-hidden');\n }\n}\nasync function loadExternalCssAsynch(cssFile, host, rootObj = null, nonceVal = null, placeholder = null, inline = false, buttonsList = false, overrideCss = '') {\n if (overrideCss !== '') {\n const cssContent = document.createElement('style');\n cssContent.innerText = overrideCss;\n if (nonceVal) {\n cssContent.setAttribute('nonce', nonceVal);\n }\n host.prepend(cssContent);\n }\n try {\n host.prepend(cssFile);\n await new Promise((resolve) => {\n cssFile.onload = resolve;\n });\n if (rootObj) {\n if (placeholder) {\n placeholder.remove();\n }\n if (inline) {\n rootObj.style.display = 'inline-block';\n rootObj.classList.add('atcb-inline');\n } else {\n if (buttonsList) {\n rootObj.classList.add('atcb-buttons-list');\n }\n }\n rootObj.classList.remove('atcb-hidden');\n }\n } catch (e) {\n console.log(e);\n }\n}\nfunction atcb_render_debug_msg(host, error) {\n if (host.querySelector('.atcb-debug-error-msg')) return;\n const nonceVal = atcb_csp_nonce(host);\n const errorBanner = document.createElement('div');\n errorBanner.classList.add('atcb-debug-error-msg');\n const cssContent = document.createElement('style');\n cssContent.innerText = '.atcb-debug-error-msg { color: #bf2e2e; font-size: 12px; font-weight: bold; padding: 12px 15px; border: 2px solid #bf2e2e; max-width: 180px; border-radius: 13px; }';\n if (nonceVal) {\n cssContent.setAttribute('nonce', nonceVal);\n }\n host.prepend(cssContent);\n errorBanner.textContent = error;\n host.append(errorBanner);\n}\nasync function atcb_action(inputData, triggerElement, keyboardTrigger = false) {\n if (!atcbIsBrowser()) {\n return;\n }\n let data;\n try {\n data = await (async function () {\n const cleanedInput = atcb_secure_content(inputData);\n if (cleanedInput.prokey && cleanedInput.prokey !== '') {\n cleanedInput.proKey = cleanedInput.prokey;\n }\n if (cleanedInput.proKey && cleanedInput.proKey !== '') {\n try {\n const proData = await atcb_get_pro_data(cleanedInput.proKey, null, cleanedInput);\n return proData;\n } catch (e) {\n throw new Error(e.message);\n }\n } else {\n return cleanedInput;\n }\n })();\n } catch (e) {\n console.error(e);\n return;\n }\n data.debug = data.debug === 'true';\n try {\n await atcb_check_required(data);\n } catch (e) {\n if (data.debug) {\n console.error(e);\n }\n throw new Error('Add to Calendar Button generation failed: no data provided or missing required fields - see console logs for details');\n }\n data = await atcb_decorate_data(data);\n let root = document.body;\n data.trigger = 'click';\n if (triggerElement) {\n root = triggerElement;\n if (triggerElement.id && triggerElement.id !== '') {\n data.identifier = triggerElement.id;\n } else {\n if (data.identifier && data.identifier != '' && /^[\\w-]+$/.test(data.identifier)) {\n data.identifier = 'atcb-btn-' + data.identifier;\n } else {\n data.identifier = 'atcb-btn-custom';\n }\n triggerElement.id = data.identifier;\n }\n if (data.listStyle === 'dropdown' || data.listStyle === 'dropdown-static' || data.listStyle === 'dropup-static') {\n data.listStyle = 'modal';\n }\n } else {\n data.identifier = 'atcb-btn-custom';\n data.listStyle = 'modal';\n }\n try {\n await atcb_validate(data);\n } catch (e) {\n console.error(e);\n return false;\n }\n const oneOption = (function () {\n if (data.options.length === 1) {\n return true;\n }\n return false;\n })();\n const potentialExistingHost = document.getElementById('atcb-customTrigger-' + data.identifier + '-host');\n if (potentialExistingHost) {\n atcb_close(potentialExistingHost.shadowRoot, false);\n if (atcbStates[`${atcbStates['active']}`]) {\n delete atcbStates[`${atcbStates['active']}`];\n }\n potentialExistingHost.remove();\n }\n atcb_log_event('initialization', data.identifier, data.identifier);\n if (!data.blockInteraction && !data.hidden) {\n const host = document.createElement('div');\n host.id = 'atcb-customTrigger-' + data.identifier + '-host';\n if (root === document.body) {\n document.body.append(host);\n } else {\n root.after(host);\n }\n if (triggerElement) {\n const btnDim = triggerElement.getBoundingClientRect();\n host.style.position = 'relative';\n host.style.left = -btnDim.width + 'px';\n host.style.top = btnDim.height + 'px';\n }\n host.setAttribute('atcb-button-id', data.identifier);\n host.attachShadow({ mode: 'open', delegateFocus: true });\n const elem = document.createElement('template');\n elem.innerHTML = template;\n host.shadowRoot.append(elem.content.cloneNode(true));\n const rootObj = host.shadowRoot.querySelector('.atcb-initialized');\n atcb_setup_state_management(data);\n atcb_set_light_mode(host.shadowRoot, data);\n host.shadowRoot.querySelector('.atcb-initialized').setAttribute('lang', data.language);\n atcb_load_css(host.shadowRoot, rootObj, data);\n atcb_set_global_event_listener(host.shadowRoot, data);\n if (typeof atcb_generate_rsvp_form === 'function' && data.rsvp && Object.keys(data.rsvp).length > 0) {\n atcb_generate_rsvp_form(host.shadowRoot, data, triggerElement, keyboardTrigger);\n } else {\n if (oneOption) {\n atcb_generate_links(host.shadowRoot, data.options[0], data, 'all', keyboardTrigger);\n atcb_log_event('openSingletonLink', data.identifier, data.identifier);\n } else {\n atcb_toggle(host.shadowRoot, 'open', data, triggerElement, keyboardTrigger);\n }\n }\n }\n atcb_init_log(data.proKey, data.debug);\n if (data.debug) {\n console.log('Add to Calendar Button \"' + data.identifier + '\" triggered');\n }\n return data.identifier;\n}\nfunction atcb_setup_state_management(data) {\n const singleDates = [];\n for (let i = 0; i < data.options.length; i++) {\n singleDates[data.options[`${i}`]] = [];\n for (let id = 1; id <= data.dates.length; id++) {\n if (data.dates[id - 1].status.toLowerCase() === 'cancelled') {\n singleDates[data.options[`${i}`]].push(1);\n } else {\n singleDates[data.options[`${i}`]].push(0);\n }\n }\n }\n atcbStates[data.identifier] = singleDates;\n}\nfunction atcb_init_log(pro = '', debug = false) {\n if (!atcbInitialGlobalInit) {\n const versionOutput = (function () {\n if (debug) {\n return ' (version ' + atcbVersion + ')';\n }\n return '';\n })();\n if (pro != '') {\n console.log('Add to Calendar PRO script initialized' + versionOutput + ' | https://add-to-calendar-pro.com');\n } else {\n console.log('%c\\nAdd to Calendar Button script initialized' + versionOutput + '\\n' + 'see https://add-to-calendar-button.com for details.\\n', 'font-weight: bold;');\n console.log('✨ %cPRO version available at https://add-to-calendar-pro.com ← check it out!', 'font-weight: bold; line-height: 60px;');\n }\n atcbInitialGlobalInit = true;\n }\n}\nasync function atcb_get_pro_data(licenseKey, el = null, directData = {}) {\n /*!\n * @preserve\n * PER LICENSE AGREEMENT, YOU ARE NOT ALLOWED TO REMOVE OR CHANGE THIS FUNCTION!\n */\n if (licenseKey && licenseKey !== '') {\n try {\n const proOverride = el ? el.proOverride : directData.proOverride;\n const dataOverrides = el ? atcb_read_attributes(el, proOverride ? atcbWcParams : atcbWcProParams) : directData;\n const response = await fetch(`https://${dataOverrides.dev ? 'event-dev.caldn.net' : 'event.caldn.net'}/${licenseKey}/config.json`);\n if (response.ok) {\n const data = await response.json();\n if (proOverride) {\n atcbWcParams.forEach((key) => {\n if (Object.prototype.hasOwnProperty.call(dataOverrides, key) && ['hideBranding', 'hidebranding', 'ty', 'rsvp'].indexOf(key) === -1) {\n data[`${key}`] = dataOverrides[`${key}`];\n }\n });\n } else {\n atcbWcProParams.forEach((key) => {\n if (Object.prototype.hasOwnProperty.call(dataOverrides, key)) {\n data[`${key}`] = dataOverrides[`${key}`];\n }\n });\n }\n if (dataOverrides.rsvp && Object.prototype.hasOwnProperty.call(dataOverrides.rsvp, 'none')) {\n delete data.rsvp;\n }\n if (!data.name || data.name === '') {\n throw new Error('Not possible to read proKey config from server...');\n }\n if (data.landingpage.domain && data.landingpage.domain !== '' && atcb_secure_url(data.landingpage.domain)) {\n data.domain = data.landingpage.domain;\n delete data.landingpage;\n }\n data.proKey = licenseKey;\n data.identifier = licenseKey;\n return data;\n }\n throw new Error('Not possible to read proKey config from server...');\n } catch {\n throw new Error('Add to Calendar Button proKey invalid or server not responding!');\n }\n }\n return {};\n}\nfunction atcb_set_global_event_listener(host, data) {\n if (!atcbIsBrowser()) {\n return;\n }\n if (data.lightMode == 'bodyScheme') {\n lightModeMutationObserver[data.identifier] = new MutationObserver(function (mutationsList) {\n mutationsList.forEach((mutation) => {\n if (mutation.attributeName === 'class') {\n atcb_set_light_mode(host, data);\n }\n });\n });\n lightModeMutationObserver[data.identifier].observe(document.documentElement, { attributes: true });\n lightModeMutationObserver[data.identifier].observe(document.body, { attributes: true });\n }\n if (!atcbInitialGlobalInit) {\n document.addEventListener('keyup', atcb_global_listener_keyup);\n document.addEventListener('keydown', atcb_global_listener_keydown);\n window.addEventListener('resize', atcb_global_listener_resize);\n }\n}\nfunction atcb_global_listener_keyup(event) {\n const host = (function () {\n const root = document.querySelector('[atcb-button-id=\"' + atcbStates['active'] + '\"]');\n if (root) {\n return root.shadowRoot;\n }\n return null;\n })();\n if (host && event.key === 'Escape') {\n atcb_log_event('closeList', 'Ecs Hit', atcbStates['active']);\n atcb_toggle(host, 'close', '', '', true);\n }\n}\nfunction atcb_global_listener_keydown(event) {\n const host = (function () {\n const root = document.querySelector('[atcb-button-id=\"' + atcbStates['active'] + '\"]');\n const rootModal = document.getElementById(atcbStates['active'] + '-modal-host');\n if (rootModal) {\n return rootModal.shadowRoot;\n }\n if (root) {\n return root.shadowRoot;\n }\n return null;\n })();\n if (host && host.querySelector('.atcb-list') && (event.key === 'ArrowDown' || event.key === 'ArrowUp' || event.key === 'Tab')) {\n event.preventDefault();\n let targetFocus = 0;\n let currFocusOption = host.activeElement;\n const optionListCount = host.querySelectorAll('.atcb-list-item').length;\n if (currFocusOption && currFocusOption.classList.contains('atcb-list-item')) {\n if (event.key === 'ArrowDown' && currFocusOption.dataset.optionNumber < optionListCount) {\n targetFocus = parseInt(currFocusOption.dataset.optionNumber) + 1;\n } else if (event.key === 'Tab') {\n if (currFocusOption.dataset.optionNumber < optionListCount) {\n targetFocus = parseInt(currFocusOption.dataset.optionNumber) + 1;\n } else {\n targetFocus = 1;\n }\n } else if (event.key === 'ArrowUp' && currFocusOption.dataset.optionNumber >= 1) {\n targetFocus = parseInt(currFocusOption.dataset.optionNumber) - 1;\n }\n if (targetFocus > 0) {\n host.querySelector('.atcb-list-item[data-option-number=\"' + targetFocus + '\"]').focus();\n }\n } else {\n switch (event.key) {\n default:\n host.querySelector('.atcb-list-item[data-option-number=\"1\"]').focus();\n break;\n case 'ArrowUp':\n host.querySelector('.atcb-list-item[data-option-number=\"' + optionListCount + '\"]').focus();\n break;\n }\n }\n }\n}\nfunction atcb_global_listener_resize() {\n const host = (function () {\n const root = document.querySelector('[atcb-button-id=\"' + atcbStates['active'] + '\"]');\n const rootModal = document.getElementById(atcbStates['active'] + '-modal-host');\n if (rootModal) {\n return rootModal.shadowRoot;\n }\n if (root) {\n return root.shadowRoot;\n }\n return null;\n })();\n if (host) {\n const activeOverlay = host.querySelector('#atcb-bgoverlay');\n if (activeOverlay) {\n atcb_set_fullsize(activeOverlay);\n atcb_manage_body_scroll(host);\n }\n }\n}\nfunction atcb_unset_global_event_listener(identifier) {\n if (typeof lightModeMutationObserver[`${identifier}`] !== 'undefined') {\n lightModeMutationObserver[`${identifier}`].disconnect();\n }\n}\n\nexport { atcb_action, i18nStrings, atcbCssTemplate as cssStyles, atcb_generate_ty, atcb_generate_timestring };"],"names":["tzlibZonesDB","tzlibZonesDetailsDB","tzlib_get_content","tzName","nameParts","split","length","tzlib_enrich_data","console","error","string","shortenerMap","key","value","Object","entries","replaceAll","tzlib_get_ical_block","jsonType","arguments","undefined","tzBlock","location","tzidLine","output","replace","JSON","stringify","tzlib_get_offset","isoDate","isoTime","match","date","Date","dateYear","getFullYear","dateMonth","getMonth","dateDay","getDate","dateHour","getHours","timezoneData","tzBreakpoints","breakpointCount","i","startsWith","offset","hour","parseInt","substr","rruleParts","rruleMonth","month","day","theCase","keys","find","helperArrayWeekdays","numberDays","weekdayCount","getDay","weekdays","SU","MO","TU","WE","TH","FR","SA","d","occurence","actualDay","breakpointWeekday","dayIndex","tzlibZoneNames","atcbVersion","atcbCssTemplate","atcbIsBrowser","window","atcbIsiOS","test","navigator","userAgent","atcbIsAndroid","atcbIsSafari","atcbIsMobile","atcbIsWebView","atcbIsProblematicWebView","atcbDefaultTarget","atcbOptions","atcbValidRecurrOptions","atcbInvalidSubscribeOptions","atcbIOSInvalidOptions","atcbAndroidInvalidOptions","atcbStates","atcbWcParams","atcbWcProParams","atcbWcBooleanParams","atcbWcObjectParams","atcbWcObjectArrayParams","atcbWcArrayParams","atcbWcNumberParams","atcbIcon","trigger","apple","google","ical","msteams","ms365","outlookcom","yahoo","close","warning","checkmark","rsvp","atcb_decorate_data","data","attr","val","toString","trim","toLowerCase","atcb_decorate_data_boolean","timeZone","atcb_decorate_data_timezone","inlineRSVP","inline","listStyle","buttonStyle","hideTextLabelList","hideTextLabelButton","buttonsList","atcb_decorate_data_style","theOptions","fakeIOS","optionsIOS","optionsMobile","fakeMobile","fakeAndroid","options","newOptions","iCalGiven","appleGiven","optionName","includes","recurrence","recurrence_until","subscribe","push","icsFile","endsWith","atcb_decorate_data_options","toUpperCase","recurrence_simplyfied","substring","rruleObj","forEach","rule","UNTIL","recurrence_count","COUNT","recurrence_byDay","BYDAY","recurrence_byMonth","BYMONTH","recurrence_byMonthDay","BYMONTHDAY","recurrence_interval","INTERVAL","recurrence_frequency","FREQ","recurrence_weekstart","endTime","slice","atcb_decorate_data_rrule","sizes","size","sizeParts","atcb_decorate_sizes","lightMode","matchMedia","matches","atcb_decorate_light_mode","pastDateHandling","allOverdue","dates","overdue","disabled","hidden","allCancelled","status","blockInteraction","atcb_decorate_data_button_status_handling","atcb_decorate_data_description","name","sequence","organizer","attendee","availability","onlineEvent","uid","atcb_generate_uuid","customVar","sanitizedKey","RegExp","sort","a","b","timestamp","atcb_decorate_data_extend","atcb_decorate_data_meta","atcb_decorate_data_dates","language","availableLanguages","rtlLanguages","rtl","atcb_decorate_data_i18n","proKey","expired","expires","max","bookings","dev","response","fetch","method","ok","Error","responseJson","json","total","atcb_check_bookings","seatsLeft","bookedOut","atcb_decorate_data_rsvp","tz","useUserTZ","cleanedUpDates","atcb_date_cleanup","startDate","endDate","startTime","atcb_date_specials_calculation","now","created","atcb_format_datetime","updated","description","descriptionHtmlFree","atcb_rewrite_html_elements","descriptionHtmlFreeICal","dateTimeData","isValidTodayFormat","dateStr","point","isValidDateFormat","dateString","today","todayString","getUTCFullYear","getUTCMonth","getUTCDate","dateStringParts","dateParts","newDate","UTC","setDate","toISOString","atcb_date_calculation","tmpSplitStartDate","browserTimezone","Intl","DateTimeFormat","resolvedOptions","newStartDateTime","atcb_translate_via_time_zone","newEndDateTime","type","timeString","tmpDate","offsetEnd","getTime","currentUtcDate","atcb_check_required","requiredMultiFieldFlex","every","field","atcb_validate","msgPrefix","identifier","atcb_validate_icsFile","customCss","atcb_secure_url","atcb_validate_buttonStyle","atcb_validate_subscribe","atcb_validate_created","atcb_validate_updated","async","option","atcb_validate_options","msgSuffix","atcb_validate_status","atcb_validate_availability","atcb_validate_organizer","atcb_validate_attendee","atcb_validate_uid","atcb_validate_sequence","atcb_validate_timezone","atcb_validate_datetime","e","message","atcb_validate_date_blocks","atcb_validate_rrule","atcb_validate_rrule_simplyfied","icsFileStr","organizerParts","atcb_validEmail","attendeeParts","debug","warn","log","validTimeZones","namesArr","Array","isArray","key2","value2","key3","tzlib_get_timezones","selectedDate","time","timeParts","dateKey","atcb_toggle","host","action","button","keyboardTrigger","generatedButton","atcb_open","classList","contains","querySelector","atcb_close","atcb_log_event","list","optionsList","document","createElement","add","setAttribute","role","listCount","optionItem","tabIndex","dataset","optionNumber","append","atcb_generate_label","hideIconList","atcb_generate_dropdown_list","listWrapper","bgOverlay","atcb_generate_bg_overlay","hideBackground","modalHost","atcb_generate_modal_host","hideBranding","atcb_create_atcbl","atcb_set_sizes","atcb_manage_body_scroll","atcb_set_fullsize","forceOverlay","newHost","from","children","node","tagName","cloneNode","removeAttribute","style","opacity","atcb_position_shadow_button","addEventListener","atcb_position_shadow_button_listener","atcb_generate_overlay_dom","display","setTimeout","atcb_position_list","focusEl","hostEl","getElementById","shadowRoot","focus","preventScroll","blur","existingModalHost","getAttribute","allModals","querySelectorAll","remove","nextModal","availableButtons","getElementsByTagName","newFocusEl","modal","body","documentElement","concat","el","hiddenButton","removeEventListener","atcb_generate_ty","dataObj","copyIcon","hostname","tyHost","tyData","ty","url","headline","atcb_translate_hook","tyContent","text","encodeURIComponent","header","noIntro","label","button_label","fields","headerField","default","parse","atcb","filter","customForm","atcb_build_form","html","atcb_create_modal","copyBtn","atcb_copy_to_clipboard","innerHTML","event","preventDefault","click","tyForm","errorMsg","tyFormSubmit","tyFormSubmitting","valid","atcb_validate_form","textContent","bodyData","skipRadio","radio","checked","fieldId","sendPostRequest","atcb_generate_rsvp_form","rsvpData","noHeadline","hiddenContent","rsvpContent","sentStatus","localStorage","getItem","hideButton","inlineRsvp","staticID","initial_confirmation","maybe_option","maxAmount","maxpp","customEmailField","map","required","rsvpHost","rsvpInlineWrapper","rsvpInlineHeadline","rsvpInlineContent","atcbL","small","primary","id","closeBtn","cancelBtn","restartBtn","atcbHost","atcbData","hideIconButton","atcb_generate_button","rsvpForm","rsvpFormSubmit","rsvpFormSubmitting","rsvpRestart","staticFields","amountEl","amount","fieldsCopy","statusValEl","emailFieldId","bodyData_payload","request","setItem","form","hiddenForm","n","prevType","skipped","fieldValue","placeholder","fieldLabel","fieldPlaceholder","fieldHtml","atcb_create_field_html","defaultVal","state","input","atcb_secure_content","radioGroup","formData","FormData","requestData","headers","parent","icon","oneOption","code","atcb_debounce_leading","atcb_generate_links","atcb_debounce","defaultTriggerText","iconEl","textEl","atcb_generate_label_content","index","buttonTriggerWrapper","buttonTrigger","atcb_generate_date_button","buttonDropdownAnchor","hideCheckmark","btnCheck","darken","closable","target","currentTarget","fingerMoved","passive","atList","returnEl","licenseNoteOnly","innerHeight","innerWidth","mainHost","content","buttons","subEvents","goto","newOverlay","modalWrapper","modalCount","modalNr","parentButton","hideIconModal","modalIcon","modalHeadline","modalContent","modalsubEventsContentWrapper","modalsubEventsContent","modalSubEventButton","modalButtons","modalButton","href","atcb_subscribe_yahoo_modal_switch","atcb_set_fully_successful","subEvent","fullTimeInfo","atcb_generate_timestring","hoverText","cancelledInfo","recurringString","subEventAll","atcb_generate_time","start","allDay","allday","btnLeft","btnDay","btnMonth","toLocaleString","btnRight","btnDetails","btnHeadline","btnHeadlineText","btnLocation","btnLocationIcon","btnLocationText","lineClamp","alignSelf","textAlign","btnDescription","overflow","boxOrient","btnDateTime","btnDateTimeIcon","btnDateTimeText","block","btnDateTimeTextBlock","recurSign","btnHover","ariaLabel","join","reset","newModalHost","hasAttribute","transform","visibility","position","top","left","width","height","zIndex","attachShadow","mode","delegateFocus","elem","atcb_set_light_mode","atcb_load_css","atcb_generate_rich_data_recurrence","formattedDate","schemaRecurrenceContent","repeatFrequency","byDayString","byDays","helperMap","byMonthString","byMonthDayString","duration","multiDateModal","linkType","adjustedFileUrl","atcb_subscribe_ical","fileUrl","baseUrlApp","isGoogleCalId","newFileUrl","atcb_open_cal_url","atcb_subscribe_google","atcb_subscribe_microsoft","proxy","atcb_generate_subscribe_links","theSubEvent","atcb_generate_ical","individualButtons","atcb_generate_multidate_links","urlParts","end","tmpDataDescription","availabilityPart","fullUrl","atcb_generate_google","locationString","atcb_generate_msteams","atcb_generate_microsoft","allDayDate","formattedAllDayDate","atcb_generate_yahoo","subEventButton","atcb_saved_hook","atcb_ical_copy_note","calName","baseUrl","basePath","urlType","query","parts","domain","newTab","open","filename","filenameSuffix","iCalFileName","filenamePart","pop","atcb_determine_ical_filename","givenIcsFile","potentialHostAttendee","potentialHostCustomVar","bypassWebViewCheck","atcb_save_file","ics_lines","usedTimeZones","loopStart","loopEnd","timeAddon","timeZoneBlock","atcb_rewrite_ical_text","transpVal","dataUrl","file","save","createElementNS","rel","download","evt","MouseEvent","view","bubbles","cancelable","dispatchEvent","URL","webkitURL","revokeObjectURL","targetCal","addTimeZoneOffset","newStartDate","newEndDate","durationMS","durationHours","Math","floor","durationMinutes","durationString","offsetStart","formattedOffsetStart","formattedOffsetEnd","calcOffsetStart","calcOffsetEnd","setTime","getTimezoneOffset","formattedOffset","abs","datetime","regex","baseTimeZone","targetTimeZone","dateTime","dateTimeUTC","sign","offsetToMilliseconds","dateInTargetTimeZone","year","minute","hourCycle","format","startDateInfo","endDateInfo","timeZoneInfoStart","timeZoneInfoEnd","browserTimeOverride","enforceYear","hideTimeZone","tmpRootTZ","formattedTimeStart","formattedTimeEnd","timeBlocks","timeZoneInfoStringStart","timeZoneInfoStringEnd","magicLocationPhrases","j","dropYearStart","dropYearEnd","formatOptionsStart","get_format_options","formatOptionsEnd","toLocaleDateString","DateLong","Time","DateTimeLong","toLocaleTimeString","timeZoneInfo","hoursFormat","isJSON","cleanedUp","throwError","email","p1","atcb_parse_url_code","urlText","truncate","blockUpwards","blockDownwards","anchorSet","originalTrigger","triggerDim","getBoundingClientRect","btnDim","btnParentDim","parentNode","viewportHeight","clientHeight","minWidth","listDim","sideMargin","round","margin","bottom","maxWidth","after","originalShadowHost","modalShadowHost","wrapperDim","newWrapper","widthVal","active","modalObj","setProperty","c","crypto","getRandomValues","Uint8Array","dataString","tmpInput","editable","contentEditable","readOnly","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","setSelectionRange","select","execCommand","func","_this","timer","timeout","_len","args","_key","clearTimeout","apply","_this2","_len2","_key2","parentEl","category","dataLayer","eventCategory","eventAction","eventLabel","atcb_push_to_data_layer","calendarNames","i18nStrings","en","continue","cancel","recurring","thankyou","submit","de","es","pt","fr","nl","tr","zh","ar","hi","pl","no","fi","sv","cs","ja","it","ko","vi","ro","fa","et","uk","customLabels","atcb_translate","atcbInitialGlobalInit","atcbBtnCount","lightModeMutationObserver","template","AddToCalendarButton","HTMLElement","constructor","_initialized","Promise","resolve","_initializedResolver","this","initializing","initialized","ready","updatePending","connectedCallback","initializeComponent","debugVal","proOverrideVal","proOverride","atcb_get_pro_data","atcb_process_inline_data","atcb_render_debug_msg","initButton","whenInitialized","disconnectedCallback","atcb_cleanup","observedAttributes","observeAdditionally","element","attributeChangedCallback","oldValue","newValue","updateComponent","prefix","outline","rootObj","atcb_setup_state_management","atcb_set_global_event_listener","atcb_init_log","btnHostEl","atcb_generate_rsvp_button","hideRichData","schemaEl","schemaContentMulti","schemaContentFull","schemaContent","imageData","images","insertBefore","firstChild","atcb_generate_rich_data","atcb_build_button","customElements","get","define","atcb_read_attributes","slotInput","atcbJsonInput","jsonError","params","inputVal","cleanedInput","newVal","disconnect","atcb_unset_global_event_listener","hostLightMode","atcb_csp_nonce","nonceVal","cssGlobalContent","scrollBarWidth","clientWidth","innerText","head","generalCssContent","initWidth","prepend","overrideDefaultCss","styleLight","overrideDarkCss","styleDark","cssFile","placeholderCssContent","loadExternalCssAsynch","cssContent","overrideCss","onload","errorBanner","atcb_action","inputData","triggerElement","prokey","root","potentialExistingHost","singleDates","versionOutput","licenseKey","directData","dataOverrides","prototype","hasOwnProperty","call","indexOf","landingpage","MutationObserver","mutationsList","mutation","attributeName","observe","attributes","atcb_global_listener_keyup","atcb_global_listener_keydown","atcb_global_listener_resize","rootModal","targetFocus","currFocusOption","activeElement","optionListCount","activeOverlay"],"sourceRoot":""}