{"version":3,"sources":["utils/anchor-scroll.tsx","components/RancidBanner/styles.js","utils/city-conjugation.tsx","components/RancidBanner/index.tsx","components/AgencyList/AgencyListItem/styles.js","components/AgencyList/AgencyListItem/index.tsx","components/AgencyList/styles.js","components/AgencyList/index.tsx"],"names":["SmoothScroll","stop","clearTimeout","this","timer","scrollTo","id","callback","scrollSettings","hasWindow","settings","duration","easing","outQuint","x","t","b","c","d","percentage","startTime","node","document","getElementById","console","log","concat","nodeTop","offsetTop","offset","window","pageYOffset","targetY","getBoundingClientRect","height","Date","now","clearInterval","setTimeout","step","yScroll","elapsed","AnchorLink","props","children","tag","to","restProps","__rest","Tag","smooth","React","createElement","Object","assign","onClick","RancidBannerContainer","styled","div","attrs","_ref","bannerColor","className","clsx","withConfig","componentId","media","lg","_templateObject","_taggedTemplateLiteral","RancidBannerContent","boxShadow","wide","smd","_templateObject2","color","emSpacing","lineHeight","_templateObject3","DismissButton","button","_templateObject4","cities","own","in","conjugateCity","city","type","RancidBanner","enterDelay","onExit","textOverride","isInQuarantine","historyTracker","isVisible","setVisible","useState","getHistory","inCity","setInCity","enterTimeout","exitTimeout","bannerRef","useRef","useEffect","current","classList","add","requestAnimationFrame","addEventListener","onHistoryTrackUpdate","removeEventListener","event","detail","newCity","ref","Link","removeBanner","setQuarantine","FaIcon","icon","Card","rgba","md","css","xl","hasFormButton","Title","h4","ml","Address","p","fontFamily","condensed","_templateObject5","Contact","_templateObject6","Arrow","span","_templateObject7","_templateObject8","ContactButton","ariaRole","_templateObject9","_templateObject10","buttons","textLinkPrimary","withRouter","agency","history","withFormButton","isEmpty","address","canonicalPath","coordinates","email","marketingName","phone","postcode","telPhone","urlPart","itemScope","itemType","stopPropagation","preventDefault","body","remove","push","itemprop","aria-label","itemProp","e","href","target","Phone","withIcon","Email","split","content","latitude","longitude","onFormButtonClick","AgencyFilter","textStyles","PMedium","Agencies","dense","grid","gutterSmall","lgx","gutter","AgencyList","agencies","sortBy","sortDesc","withFilter","sortedAgencies","sort","sortFn","a","localeCompare","hasLotsOfAgencies","length","filteredAgencies","setFilteredAgencies","activeAgencyKey","setActiveAgencyKey","toggleAgencyFilter","key","filtered","filter","scrollToList","screen","availWidth","parseInt","breakpoints","behavior","left","top","rendering","isEqual","Fragment","map","agencyName","toLowerCase","replace","getAgencyName","AgencyListItem"],"mappings":"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","file":"assets/js/default-pages-AgencySearchPage-pages-MultiAgencyPage.chunk.js?cb=e07c97fc5db53d44f8ba","sourcesContent":["import React from \"react\";\nimport { hasWindow } from \"@utils\";\n\nexport class SmoothScroll {\n\ttimer: number;\n\n\tstop() {\n\t\tclearTimeout(this.timer);\n\t}\n\n\tscrollTo(id: string, callback?: (e?: any) => void, scrollSettings?: any) {\n\t\tif (!hasWindow) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst settings = {\n\t\t\tduration: 1000,\n\t\t\teasing: {\n\t\t\t\toutQuint(x: number, t: number, b: number, c: number, d: number) {\n\t\t\t\t\treturn c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tlet percentage: number;\n\t\tlet startTime: number;\n\t\tconst node = document.getElementById(id);\n\t\tif (!node) {\n\t\t\tconsole.log(`This page does not have an element with provided ID: ${id}`);\n\t\t\treturn;\n\t\t}\n\t\tconst nodeTop = node.offsetTop;\n\t\tconst offset = window.pageYOffset;\n\t\tconst delta = nodeTop - offset - (scrollSettings && scrollSettings.offset ? scrollSettings.offset : 0);\n\t\tconst nav = document.getElementById(\"main-nav\");\n\t\tconst navHeight = nav.getBoundingClientRect().height;\n\n\t\tconst targetY = delta - navHeight;\n\n\t\tstartTime = Date.now();\n\t\tpercentage = 0;\n\n\t\tif (this.timer) {\n\t\t\tclearInterval(this.timer);\n\t\t}\n\n\t\tfunction step() {\n\t\t\tlet yScroll: number;\n\t\t\tconst elapsed = Date.now() - startTime;\n\n\t\t\tif (elapsed > settings.duration) {\n\t\t\t\tclearTimeout(this.timer);\n\t\t\t}\n\n\t\t\tpercentage = elapsed / settings.duration;\n\n\t\t\tif (percentage > 1) {\n\t\t\t\tclearTimeout(this.timer);\n\n\t\t\t\tif (callback) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tyScroll = settings.easing.outQuint(0, elapsed, offset, targetY, settings.duration);\n\t\t\t\twindow.scrollTo(0, yScroll);\n\t\t\t\tthis.timer = setTimeout(step, 10);\n\t\t\t}\n\t\t}\n\n\t\tthis.timer = window.setTimeout(step, 10);\n\t}\n}\n\ninterface IProps {\n\tchildren: any;\n\ttag?: string;\n\tto: string;\n\t[key: string]: any;\n}\n\nconst AnchorLink = (props: IProps) => {\n\tconst { children, tag, to, ...restProps } = props;\n\tconst Tag: any = tag || \"span\";\n\n\tconst smooth = new SmoothScroll();\n\tconst onClick = () => smooth.scrollTo(to);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport default AnchorLink;\n","import styled, { keyframes } from \"styled-components\";\nimport clsx from \"clsx\";\nimport { color, boxShadow, emSpacing, lineHeight, media } from \"@utils/style-utils\";\n\nexport const RancidBannerContainer = styled.div.attrs(({ bannerColor }) => ({\n\tclassName: clsx(\"rancid-banner\", bannerColor),\n}))`\n\tmargin: 80px auto;\n\tmax-width: 1160px;\n\topacity: 0;\n\tpadding: 30px 15px;\n\tperspective: 1000px;\n\tposition: relative;\n\tz-index: 80;\n\tdisplay: none;\n\n\t${media.lg`\n\t\tmax-width: 1170px;\n\t\tpadding: 30px 20px;\n\t`}\n\n\t&.visible {\n\t\tdisplay: block;\n\t}\n\t&.enter {\n\t\topacity: 1;\n\t}\n`;\n\nexport const RancidBannerContent = styled.div`\n\tborder-radius: 4px;\n\tbox-shadow: ${boxShadow.wide};\n\tleft: 0;\n\topacity: 0;\n\tpadding: 16px 24px;\n\tposition: absolute;\n\ttext-align: center;\n\ttop: 50%;\n\ttransform: translateY(10%);\n\ttransition: opacity 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n\t\ttransform 0.6s cubic-bezier(0.68, -0.55, 0.265, 2.55);\n\twidth: 100%;\n\n\t${media.smd`\n\t\tpadding: 16px 68px;\n\t`}\n\n\ta {\n\t\tcolor: ${color(\"white\")};\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tfont-size: 16px;\n\t\tfont-weight: 500;\n\t\tjustify-content: center;\n\t\tletter-spacing: ${emSpacing(0.02)};\n\t\tline-height: ${lineHeight(18, 29)};\n\t\ttext-align: center;\n\t\ttext-decoration: none;\n\n\t\t${media.smd`\n\t\t\tfont-size: 18px;\n\t\t`}\n\t}\n\n\tspan {\n\t\tdisplay: inline-block;\n\n\t\t&.underlined {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\t.red & {\n\t\tbackground-color: ${color(\"coral\", 1)};\n\t}\n\n\t.green & {\n\t\tbackground-color: ${color(\"greenDark\", 2)};\n\t}\n\n\t.blue & {\n\t\tbackground-color: ${color(\"blue\", 1)};\n\t}\n\n\t.enter & {\n\t\topacity: 1;\n\t\ttransform: translateY(-50%);\n\t\ttransform-origin: center;\n\t}\n\n\t.exit & {\n\t\ttransition: transform 0.3s ease-in-out;\n\t\ttransform: translateY(-50%) rotateX(90deg);\n\t}\n`;\n\nexport const DismissButton = styled.button`\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tbackground: rgba(255, 255, 255, 0);\n\tborder: 0;\n\tborder: 8px solid rgba(255, 255, 255, 0);\n\tborder-radius: 50%;\n\tcolor: rgba(255, 255, 255, 0.5);\n\tcursor: pointer;\n\tfont-size: 14px;\n\theight: 38px;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\tright: -11px;\n\ttext-align: center;\n\ttop: -11px;\n\ttransition: background-color 150ms;\n\twidth: 38px;\n\n\t&.red {\n\t\tbackground-color: ${color(\"coral\", 2)};\n\t}\n\t&.green {\n\t\tbackground-color: ${color(\"greenDark\", 3)};\n\t}\n\t&.blue {\n\t\tbackground-color: ${color(\"blue\", 2)};\n\t}\n\n\t${media.smd`\n\t\tbackground: rgba(255, 255, 255, 0);\n\t\tborder: 0;\n\t\theight: 44px;\n\t\tright: 12px;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\t\twidth: 44px;\n\n\t\t&.red,\n\t\t&.green,\n\t\t&.blue {\n\t\t\tbackground: rgba(255, 255, 255, 0);\n\n\t\t\t.is-pointer & {\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground-color: rgba(255, 255, 255, 0.1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t`}\n\n\tsvg {\n\t\tmax-width: 17px;\n\t}\n`;\n","// prettier-ignore\nconst cities = {\n\t\"Akaa\": { own: \"Akaan\", in: \"Akaalla\" },\n\t\"Alajärvi\": { own: \"Alajärven\", in: \"Alajärvellä\" },\n\t\"Alavieska\": { own: \"Alavieskan\", in: \"Alavieskassa\" },\n\t\"Alavus\": { own: \"Alavuden\", in: \"Alavudella\" },\n\t\"Asikkala\": { own: \"Asikkalan\", in: \"Asikkalassa\" },\n\t\"Askola\": { own: \"Askolan\", in: \"Askolassa\" },\n\t\"Aura\": { own: \"Auran\", in: \"Aurassa\" },\n\t\"Brändö\": { own: \"Brändön\", in: \"Brändössa\" },\n\t\"Eckerö\": { own: \"Eckerön\", in: \"Eckerössä\" },\n\t\"Enonkoski\": { own: \"Enonkosken\", in: \"Enonkoskella\" },\n\t\"Enontekiö\": { own: \"Enontekiön\", in: \"Enontekiöllä\" },\n\t\"Espoo\": { own: \"Espoon\", in: \"Espoossa\" },\n\t\"Eura\": { own: \"Euran\", in: \"Eurassa\" },\n\t\"Eurajoki\": { own: \"Eurajoen\", in: \"Eurajoella\" },\n\t\"Evijärvi\": { own: \"Evijärven\", in: \"Evijärvellä\" },\n\t\"Finström\": { own: \"Finströmin\", in: \"Finströmissä\" },\n\t\"Forssa\": { own: \"Forssan\", in: \"Forssassa\" },\n\t\"Föglö\": { own: \"Föglön\", in: \"Föglössa\" },\n\t\"Geta\": { own: \"Getan\", in: \"Getassa\" },\n\t\"Haapajärvi\": { own: \"Haapajärven\", in: \"Haapajärvellä\" },\n\t\"Haapavesi\": { own: \"Haapaveden\", in: \"Haapavedellä\" },\n\t\"Hailuoto\": { own: \"Hailuodon\", in: \"Hailuodossa\" },\n\t\"Halsua\": { own: \"Halsuan\", in: \"Halsualla\" },\n\t\"Hamina\": { own: \"Haminan\", in: \"Haminassa\" },\n\t\"Hammarland\": { own: \"Hammarlandin\", in: \"Hammarlandissa\" },\n\t\"Hankasalmi\": { own: \"Hankasalmen\", in: \"Hankasalmella\" },\n\t\"Hanko\": { own: \"Hangon\", in: \"Hangossa\" },\n\t\"Harjavalta\": { own: \"Harjavallan\", in: \"Harjavallassa\" },\n\t\"Hartola\": { own: \"Hartolan\", in: \"Hartolassa\" },\n\t\"Hattula\": { own: \"Hattulan\", in: \"Hattulassa\" },\n\t\"Hausjärvi\": { own: \"Hausjärven\", in: \"Hausjärvellä\" },\n\t\"Heinola\": { own: \"Heinolan\", in: \"Heinolassa\" },\n\t\"Heinävesi\": { own: \"Heinäveden\", in: \"Heinävedellä\" },\n\t\"Helsinki\": { own: \"Helsingin\", in: \"Helsingissä\" },\n\t\"Hirvensalmi\": { own: \"Hirvensalmen\", in: \"Hirvensalmella\" },\n\t\"Hollola\": { own: \"Hollolan\", in: \"Hollolassa\" },\n\t\"Honkajoki\": { own: \"Honkajoen\", in: \"Honkajoella\" },\n\t\"Huittinen\": { own: \"Huittisten\", in: \"Huittisilla\" },\n\t\"Humppila\": { own: \"Humppilan\", in: \"Humppilassa\" },\n\t\"Hyrynsalmi\": { own: \"Hyrynsalmen\", in: \"Hyrynsalmella\" },\n\t\"Hyvinkää\": { own: \"Hyvinkään\", in: \"Hyvinkäällä\" },\n\t\"Hämeenkyrö\": { own: \"Hämeenkyrön\", in: \"Hämeenkyrössä\" },\n\t\"Hämeenlinna\": { own: \"Hämeenlinnan\", in: \"Hämeenlinnassa\" },\n\t\"Ii\": { own: \"Iin\", in: \"Iissä\" },\n\t\"Iisalmi\": { own: \"Iisalmen\", in: \"Iisalmella\" },\n\t\"Iitti\": { own: \"Iitin\", in: \"Iitissä\" },\n\t\"Ikaalinen\": { own: \"Ikaalisten\", in: \"Ikaalisissa\" },\n\t\"Ilmajoki\": { own: \"Ilmajoen\", in: \"Ilmajoella\" },\n\t\"Ilomantsi\": { own: \"Ilomantsin\", in: \"Ilomantsissa\" },\n\t\"Imatra\": { own: \"Imatran\", in: \"Imatralla\" },\n\t\"Inari\": { own: \"Inarin\", in: \"Inarissa\" },\n\t\"Inkoo\": { own: \"Inkoon\", in: \"Inkoossa\" },\n\t\"Isojoki\": { own: \"Isojoen\", in: \"Isojoella\" },\n\t\"Isokyrö\": { own: \"Isokyrön\", in: \"Isokyrössä\" },\n\t\"Janakkala\": { own: \"Janakkalan\", in: \"Janakkalassa\" },\n\t\"Joensuu\": { own: \"Joensuun\", in: \"Joensuussa\" },\n\t\"Jokioinen\": { own: \"Jokioisten\", in: \"Jokioisilla\" },\n\t\"Jomala\": { own: \"Jomalan\", in: \"Jomalassa\" },\n\t\"Joroinen\": { own: \"Joroisten\", in: \"Joroisilla\" },\n\t\"Joutsa\": { own: \"Joutsan\", in: \"Joutsassa\" },\n\t\"Juuka\": { own: \"Juukan\", in: \"Juukassa\" },\n\t\"Juupajoki\": { own: \"Juupajoen\", in: \"Juupajoella\" },\n\t\"Juva\": { own: \"Juvan\", in: \"Juvalla\" },\n\t\"Jyväskylä\": { own: \"Jyväskylän\", in: \"Jyväskylässä\" },\n\t\"Jämijärvi\": { own: \"Jämijärven\", in: \"Jämijärvellä\" },\n\t\"Jämsä\": { own: \"Jämsän\", in: \"Jämsässä\" },\n\t\"Järvenpää\": { own: \"Järvenpään\", in: \"Järvenpäässä\" },\n\t\"Kaarina\": { own: \"Kaarinan\", in: \"Kaarinassa\" },\n\t\"Kaavi\": { own: \"Kaavin\", in: \"Kaavissa\" },\n\t\"Kajaani\": { own: \"Kajaanin\", in: \"Kajaanissa\" },\n\t\"Kalajoki\": { own: \"Kalajoen\", in: \"Kalajoella\" },\n\t\"Kangasala\": { own: \"Kangasalan\", in: \"Kangasalla\" },\n\t\"Kangasniemi\": { own: \"Kangasniemen\", in: \"Kangasniemillä\" },\n\t\"Kankaanpää\": { own: \"Kankaanpään\", in: \"Kankaanpäässä\" },\n\t\"Kannonkoski\": { own: \"Kannonkosken\", in: \"Kannonkoskella\" },\n\t\"Kannus\": { own: \"Kannuksen\", in: \"Kannuksella\" },\n\t\"Karijoki\": { own: \"Karijoen\", in: \"Karijoella\" },\n\t\"Karkkila\": { own: \"Karkkilan\", in: \"Karkkilassa\" },\n\t\"Karstula\": { own: \"Karstulan\", in: \"Karstulassa\" },\n\t\"Karvia\": { own: \"Karvian\", in: \"Karvialla\" },\n\t\"Kauhajoki\": { own: \"Kauhajoen\", in: \"Kauhajoella\" },\n\t\"Kauhava\": { own: \"Kauhavan\", in: \"Kauhavalla\" },\n\t\"Kauniainen\": { own: \"Kauniaisten\", in: \"Kauniaisissa\" },\n\t\"Kaustinen\": { own: \"Kaustisen\", in: \"Kaustisilla\" },\n\t\"Keitele\": { own: \"Keiteleen\", in: \"Keiteleessä\" },\n\t\"Kemi\": { own: \"Kemin\", in: \"Kemissä\" },\n\t\"Kemijärvi\": { own: \"Kemijärven\", in: \"Kemijärvellä\" },\n\t\"Keminmaa\": { own: \"Keminmaan\", in: \"Keminmaalla\" },\n\t\"Kemiönsaari\": { own: \"Kemiönsaaren\", in: \"Kemiönsaaressa\" },\n\t\"Kempele\": { own: \"Kempeleen\", in: \"Kempeleellä\" },\n\t\"Kerava\": { own: \"Keravan\", in: \"Keravalla\" },\n\t\"Keuruu\": { own: \"Keuruun\", in: \"Keuruulla\" },\n\t\"Kihniö\": { own: \"Kihniön\", in: \"Kihniössä\" },\n\t\"Kinnula\": { own: \"Kinnulan\", in: \"Kinnulassa\" },\n\t\"Kirkkonummi\": { own: \"Kirkkonummen\", in: \"Kirkkonummella\" },\n\t\"Kitee\": { own: \"Kiteen\", in: \"Kiteellä\" },\n\t\"Kittilä\": { own: \"Kittilän\", in: \"Kittilässä\" },\n\t\"Kiuruvesi\": { own: \"Kiuruveden\", in: \"Kiuruvedellä\" },\n\t\"Kivijärvi\": { own: \"Kivijärven\", in: \"Kivijärvellä\" },\n\t\"Kokemäki\": { own: \"Kokemäen\", in: \"Kokemäellä\" },\n\t\"Kokkola\": { own: \"Kokkolan\", in: \"Kokkolassa\" },\n\t\"Kolari\": { own: \"Kolarin\", in: \"Kolarissa\" },\n\t\"Konnevesi\": { own: \"Konneveden\", in: \"Konnevedellä\" },\n\t\"Kontiolahti\": { own: \"Kontiolahden\", in: \"Kontiolahdella\" },\n\t\"Korsnäs\": { own: \"Korsnäsin\", in: \"Korsnäsissä\" },\n\t\"Koski TL\": { own: \"Koski TL:n\", in: \"Koski TL:ssä\" },\n\t\"Kotka\": { own: \"Kotkan\", in: \"Kotkassa\" },\n\t\"Kouvola\": { own: \"Kouvolan\", in: \"Kouvolassa\" },\n\t\"Kristiinankaupunki\": { own: \"Kristiinankaupungin\", in: \"Kristiinankaupungissa\" },\n\t\"Kruunupyy\": { own: \"Kruunupyyn\", in: \"Kruunupyyssä\" },\n\t\"Kuhmo\": { own: \"Kuhmon\", in: \"Kuhmossa\" },\n\t\"Kuhmoinen\": { own: \"Kuhmoisten\", in: \"Kuhmoisissa\" },\n\t\"Kumlinge\": { own: \"Kumlingen\", in: \"Kumlingessa\" },\n\t\"Kuopio\": { own: \"Kuopion\", in: \"Kuopiossa\" },\n\t\"Kuortane\": { own: \"Kuortaneen\", in: \"Kuortaneella\" },\n\t\"Kurikka\": { own: \"Kurikan\", in: \"Kurikassa\" },\n\t\"Kustavi\": { own: \"Kustavin\", in: \"Kustavissa\" },\n\t\"Kuusamo\": { own: \"Kuusamon\", in: \"Kuusamossa\" },\n\t\"Kyyjärvi\": { own: \"Kyyjärven\", in: \"Kyyjärvellä\" },\n\t\"Kärkölä\": { own: \"Kärkölän\", in: \"Kärkölässä\" },\n\t\"Kärsämäki\": { own: \"Kärsämäen\", in: \"Kärsämäellä\" },\n\t\"Kökar\": { own: \"Kökarin\", in: \"Kökarissa\" },\n\t\"Lahti\": { own: \"Lahden\", in: \"Lahdessa\" },\n\t\"Laihia\": { own: \"Laihian\", in: \"Laihialla\" },\n\t\"Laitila\": { own: \"Laitilan\", in: \"Laitilassa\" },\n\t\"Lapinjärvi\": { own: \"Lapinjärven\", in: \"Lapinjärvellä\" },\n\t\"Lapinlahti\": { own: \"Lapinlahden\", in: \"Lapinlahdella\" },\n\t\"Lappajärvi\": { own: \"Lappajärven\", in: \"Lappajärvellä\" },\n\t\"Lappeenranta\": { own: \"Lappeenrannan\", in: \"Lappeenrannassa\" },\n\t\"Lapua\": { own: \"Lapuan\", in: \"Laupualla\" },\n\t\"Laukaa\": { own: \"Laukaan\", in: \"Laukaalla\" },\n\t\"Lemi\": { own: \"Lemin\", in: \"Lemillä\" },\n\t\"Lemland\": { own: \"Lemlandin\", in: \"Lemlandissa\" },\n\t\"Lempäälä\": { own: \"Lempäälän\", in: \"Lempäälässä\" },\n\t\"Leppävirta\": { own: \"Leppävirran\", in: \"Leppävirralla\" },\n\t\"Lestijärvi\": { own: \"Lestijärven\", in: \"Lestijärvellä\" },\n\t\"Levi\": { own: \"Levin\", in: \"Levillä\" },\n\t\"Lieksa\": { own: \"Lieksan\", in: \"Lieksassa\" },\n\t\"Lieto\": { own: \"Liedon\", in: \"Liedossa\" },\n\t\"Liminka\": { own: \"Limingan\", in: \"Limingalla\" },\n\t\"Liperi\": { own: \"Liperin\", in: \"Liperissä\" },\n\t\"Lohja\": { own: \"Lohjan\", in: \"Lohjassa\" },\n\t\"Loimaa\": { own: \"Loimaan\", in: \"Loimaalla\" },\n\t\"Loppi\": { own: \"Lopen\", in: \"Lopella\" },\n\t\"Loviisa\": { own: \"Loviisan\", in: \"Loviisassa\" },\n\t\"Luhanka\": { own: \"Luhangan\", in: \"Luhangalla\" },\n\t\"Lumijoki\": { own: \"Lumijoen\", in: \"Lumijoella\" },\n\t\"Lumparland\": { own: \"Lumparlandin\", in: \"Lumparlandissa\" },\n\t\"Luoto\": { own: \"Luodon\", in: \"Luodossa\" },\n\t\"Luumäki\": { own: \"Luumäen\", in: \"Luumäellä\" },\n\t\"Maalahti\": { own: \"Maalahden\", in: \"Maalahdessa\" },\n\t\"Maarianhamina\": { own: \"Maarianhaminan\", in: \"Maarianhaminassa\" },\n\t\"Marttila\": { own: \"Marttilan\", in: \"Marttilassa\" },\n\t\"Masku\": { own: \"Maskun\", in: \"Maskussa\" },\n\t\"Merijärvi\": { own: \"Merijärven\", in: \"Merijärvellä\" },\n\t\"Merikarvia\": { own: \"Merikarvian\", in: \"Merikarvialla\" },\n\t\"Miehikkälä\": { own: \"Miehikkälän\", in: \"Miehikkälässä\" },\n\t\"Mikkeli\": { own: \"Mikkelin\", in: \"Mikkelissä\" },\n\t\"Muhos\": { own: \"Muhoksen\", in: \"Muhoksella\" },\n\t\"Multia\": { own: \"Multian\", in: \"Multiassa\" },\n\t\"Muonio\": { own: \"Muonion\", in: \"Muoniossa\" },\n\t\"Mustasaari\": { own: \"Mustasaaren\", in: \"Mustasaaressa\" },\n\t\"Muurame\": { own: \"Muuramen\", in: \"Muuramella\" },\n\t\"Mynämäki\": { own: \"Mynämäen\", in: \"Mynämäellä\" },\n\t\"Myrskylä\": { own: \"Myrskylän\", in: \"Myrskylässä\" },\n\t\"Mäntsälä\": { own: \"Mäntsälän\", in: \"Mäntsälässä\" },\n\t\"Mänttä\": { own: \"Mäntän\", in: \"Mäntässä\" },\n\t\"Mäntyharju\": { own: \"Mäntyharjun\", in: \"Mäntyharjussa\" },\n\t\"Naantali\": { own: \"Naantalin\", in: \"Naantalissa\" },\n\t\"Nakkila\": { own: \"Nakkilan\", in: \"Nakkilassa\" },\n\t\"Nivala\": { own: \"Nivalan\", in: \"Nivalassa\" },\n\t\"Nokia\": { own: \"Nokian\", in: \"Nokialla\" },\n\t\"Nousiainen\": { own: \"Nousiaisten\", in: \"Nousiaisilla\" },\n\t\"Nummela\": { own: \"Nummelan\", in: \"Nummelassa\" },\n\t\"Nurmes\": { own: \"Nurmeksen\", in: \"Nurmeksella\" },\n\t\"Nurmijärvi\": { own: \"Nurmijärven\", in: \"Nurmijärvellä\" },\n\t\"Närpiö\": { own: \"Närpiön\", in: \"Närpiössä\" },\n\t\"Orimattila\": { own: \"Orimattilan\", in: \"Orimattilassa\" },\n\t\"Oripää\": { own: \"Oripään\", in: \"Oripäässä\" },\n\t\"Orivesi\": { own: \"Oriveden\", in: \"Orivedellä\" },\n\t\"Oulainen\": { own: \"Oulaisten\", in: \"Oulaisilla\" },\n\t\"Oulu\": { own: \"Oulun\", in: \"Oulussa\" },\n\t\"Outokumpu\": { own: \"Outokummun\", in: \"Outokummussa\" },\n\t\"Padasjoki\": { own: \"Padasjoen\", in: \"Padasjoella\" },\n\t\"Paimio\": { own: \"Paimion\", in: \"Paimiossa\" },\n\t\"Paltamo\": { own: \"Paltamon\", in: \"Paltamossa\" },\n\t\"Parainen\": { own: \"Paraisten\", in: \"Paraisilla\" },\n\t\"Parikkala\": { own: \"Parikkalan\", in: \"Parikkalassa\" },\n\t\"Parkano\": { own: \"Parkanon\", in: \"Parkanossa\" },\n\t\"Pedersören kunta\": { own: \"Pedersören kunnan\", in: \"Pedersören kunnassa\" },\n\t\"Pelkosenniemi\": { own: \"Pelkosenniemen\", in: \"Pelkosenniemellä\" },\n\t\"Pello\": { own: \"Pellon\", in: \"Pellossa\" },\n\t\"Perho\": { own: \"Perhon\", in: \"Perhossa\" },\n\t\"Pertunmaa\": { own: \"Pertunmaan\", in: \"Pertunmaalla\" },\n\t\"Petäjävesi\": { own: \"Petäjäveden\", in: \"Petäjävedellä\" },\n\t\"Pieksämäki\": { own: \"Pieksämäen\", in: \"Pieksämäellä\" },\n\t\"Pielavesi\": { own: \"Pielaveden\", in: \"Pielavedellä\" },\n\t\"Pietarsaari\": { own: \"Pietarsaaren\", in: \"Pietarsaaressa\" },\n\t\"Pihtipudas\": { own: \"Pihtiputaan\", in: \"Pihtiputaalla\" },\n\t\"Pirkkala\": { own: \"Pirkkalan\", in: \"Pirkkalassa\" },\n\t\"Polvijärvi\": { own: \"Polvijärven\", in: \"Polvijärvellä\" },\n\t\"Pomarkku\": { own: \"Pomarkun\", in: \"Pomarkkussa\" },\n\t\"Pori\": { own: \"Porin\", in: \"Porissa\" },\n\t\"Pornainen\": { own: \"Pornaisten\", in: \"Pornaisissa\" },\n\t\"Porvoo\": { own: \"Porvoon\", in: \"Porvoossa\" },\n\t\"Posio\": { own: \"Posion\", in: \"Posiossa\" },\n\t\"Pudasjärvi\": { own: \"Pudasjärven\", in: \"Pudasjärvellä\" },\n\t\"Pukkila\": { own: \"Pukkilan\", in: \"Pukkilassa\" },\n\t\"Punkalaidun\": { own: \"Punkalaitumen\", in: \"Punkalaitumella\" },\n\t\"Puolanka\": { own: \"Puolangan\", in: \"Puolangassa\" },\n\t\"Puumala\": { own: \"Puumalan\", in: \"Puumalassa\" },\n\t\"Pyhtää\": { own: \"Pyhtään\", in: \"Pyhtäällä\" },\n\t\"Pyhäjoki\": { own: \"Pyhäjoen\", in: \"Pyhäjoella\" },\n\t\"Pyhäjärvi\": { own: \"Pyhäjärven\", in: \"Pyhäjärvellä\" },\n\t\"Pyhäntä\": { own: \"Pyhännän\", in: \"Pyhännällä\" },\n\t\"Pyhäranta\": { own: \"Pyhärannan\", in: \"Pyhärannalla\" },\n\t\"Pälkäne\": { own: \"Pälkäneen\", in: \"Pälkäneellä\" },\n\t\"Pöytyä\": { own: \"Pöytyän\", in: \"Pöytyällä\" },\n\t\"Raahe\": { own: \"Raahen\", in: \"Raahessa\" },\n\t\"Raasepori\": { own: \"Raaseporin\", in: \"Raaseporissa\" },\n\t\"Raisio\": { own: \"Raision\", in: \"Raisiossa\" },\n\t\"Rantasalmi\": { own: \"Rantasalmen\", in: \"Rantasalmella\" },\n\t\"Ranua\": { own: \"Ranuan\", in: \"Ranualla\" },\n\t\"Rauma\": { own: \"Rauman\", in: \"Raumalla\" },\n\t\"Rautalampi\": { own: \"Rautalammin\", in: \"Rautalammella\" },\n\t\"Rautavaara\": { own: \"Rautavaaran\", in: \"Rautavaarassa\" },\n\t\"Rautjärvi\": { own: \"Rautjärven\", in: \"Rautjärvellä\" },\n\t\"Reisjärvi\": { own: \"Reisjärven\", in: \"Reisjärvellä\" },\n\t\"Riihimäki\": { own: \"Riihimäen\", in: \"Riihimäellä\" },\n\t\"Ristijärvi\": { own: \"Ristijärven\", in: \"Ristijärvellä\" },\n\t\"Rovaniemi\": { own: \"Rovaniemen\", in: \"Rovaniemellä\" },\n\t\"Ruokolahti\": { own: \"Ruokolahden\", in: \"Ruokolahdella\" },\n\t\"Ruovesi\": { own: \"Ruoveden\", in: \"Ruovedellä\" },\n\t\"Rusko\": { own: \"Ruskon\", in: \"Ruskossa\" },\n\t\"Rääkkylä\": { own: \"Rääkkylän\", in: \"Rääkkylässä\" },\n\t\"Saarijärvi\": { own: \"Saarijärven\", in: \"Saarijärvellä\" },\n\t\"Salla\": { own: \"Sallan\", in: \"Sallassa\" },\n\t\"Salo\": { own: \"Salon\", in: \"Salossa\" },\n\t\"Saltvik\": { own: \"Saltvikin\", in: \"Saltvikissa\" },\n\t\"Sastamala\": { own: \"Sastamalan\", in: \"Sastamalassa\" },\n\t\"Sauvo\": { own: \"Sauvon\", in: \"Sauvossa\" },\n\t\"Savitaipale\": { own: \"Savitaipaleen\", in: \"Savitaipaleella\" },\n\t\"Savonlinna\": { own: \"Savonlinnan\", in: \"Savonlinnassa\" },\n\t\"Savukoski\": { own: \"Savukosken\", in: \"Savukoskella\" },\n\t\"Seinäjoki\": { own: \"Seinäjoen\", in: \"Seinäjoella\" },\n\t\"Sievi\": { own: \"Sievin\", in: \"Sievissä\" },\n\t\"Siikainen\": { own: \"Siikaisten\", in: \"Siikaisilla\" },\n\t\"Siikajoki\": { own: \"Siikajoen\", in: \"Siikajoella\" },\n\t\"Siikalatva\": { own: \"Siikalatvan\", in: \"Siikalatvassa\" },\n\t\"Siilinjärvi\": { own: \"Siilinjärven\", in: \"Siilinjärvellä\" },\n\t\"Simo\": { own: \"Simon\", in: \"Simossa\" },\n\t\"Sipoo\": { own: \"Sipoon\", in: \"Sipoossa\" },\n\t\"Siuntio\": { own: \"Siuntion\", in: \"Siuntiossa\" },\n\t\"Sodankylä\": { own: \"Sodankylän\", in: \"Sodankylässä\" },\n\t\"Soini\": { own: \"Soinin\", in: \"Soinissa\" },\n\t\"Somero\": { own: \"Someron\", in: \"Somerossa\" },\n\t\"Sonkajärvi\": { own: \"Sonkajärven\", in: \"Sonkajärvellä\" },\n\t\"Sotkamo\": { own: \"Sotkamon\", in: \"Sotkamossa\" },\n\t\"Sottunga\": { own: \"Sottungan\", in: \"Sottungassa\" },\n\t\"Sulkava\": { own: \"Sulkavan\", in: \"Sulkavalla\" },\n\t\"Sund\": { own: \"Sundin\", in: \"Sundissa\" },\n\t\"Suomussalmi\": { own: \"Suomussalmen\", in: \"Suomussalmella\" },\n\t\"Suonenjoki\": { own: \"Suonenjoen\", in: \"Suonenjoella\" },\n\t\"Sysmä\": { own: \"Sysmän\", in: \"Sysmässä\" },\n\t\"Säkylä\": { own: \"Säkylän\", in: \"Säkylässä\" },\n\t\"Taipalsaari\": { own: \"Taipalsaaren\", in: \"Taipalsaaressa\" },\n\t\"Taivalkoski\": { own: \"Taivalkosken\", in: \"Taivalkoskella\" },\n\t\"Taivassalo\": { own: \"Taivassalon\", in: \"Taivassalossa\" },\n\t\"Tammela\": { own: \"Tammelan\", in: \"Tammelassa\" },\n\t\"Tampere\": { own: \"Tampereen\", in: \"Tampereella\" },\n\t\"Tervo\": { own: \"Tervon\", in: \"Tervossa\" },\n\t\"Tervola\": { own: \"Tervolan\", in: \"Tervolassa\" },\n\t\"Teuva\": { own: \"Teuvan\", in: \"Teuvalla\" },\n\t\"Tohmajärvi\": { own: \"Tohmajärven\", in: \"Tohmajärvellä\" },\n\t\"Toholampi\": { own: \"Toholammen\", in: \"Toholammella\" },\n\t\"Toivakka\": { own: \"Toivakan\", in: \"Toivakassa\" },\n\t\"Tornio\": { own: \"Tornion\", in: \"Torniossa\" },\n\t\"Turku\": { own: \"Turun\", in: \"Turussa\" },\n\t\"Tuusniemi\": { own: \"Tuusniemen\", in: \"Tuusniemessä\" },\n\t\"Tuusula\": { own: \"Tuusulan\", in: \"Tuusulassa\" },\n\t\"Tyrnävä\": { own: \"Tyrnävän\", in: \"Tyrnävällä\" },\n\t\"Ulvila\": { own: \"Ulvilan\", in: \"Ulvilassa\" },\n\t\"Urjala\": { own: \"Urjalan\", in: \"Urjalassa\" },\n\t\"Utajärvi\": { own: \"Utajärven\", in: \"Utajärvellä\" },\n\t\"Utsjoki\": { own: \"Utsjoen\", in: \"Utsjoella\" },\n\t\"Uurainen\": { own: \"Uuraisten\", in: \"Uuraisilla\" },\n\t\"Uusikaarlepyy\": { own: \"Uudenkaarlepyyn\", in: \"Uudessakaarlepyyssä\" },\n\t\"Uusikaupunki\": { own: \"Uudenkaupungin\", in: \"Uudessakaupungissa\" },\n\t\"Vaala\": { own: \"Vaalan\", in: \"Vaalassa\" },\n\t\"Vaasa\": { own: \"Vaasan\", in: \"Vaasassa\" },\n\t\"Valkeakoski\": { own: \"Valkeakosken\", in: \"Valkeakoskella\" },\n\t\"Valtimo\": { own: \"Valtimon\", in: \"Valtimossa\" },\n\t\"Vantaa\": { own: \"Vantaan\", in: \"Vantaalla\" },\n\t\"Varkaus\": { own: \"Varkauden\", in: \"Varkaudessa\" },\n\t\"Vehmaa\": { own: \"Vehmaan\", in: \"Vehmaalla\" },\n\t\"Vesanto\": { own: \"Vesannon\", in: \"Vesannolla\" },\n\t\"Vesilahti\": { own: \"Vesilahden\", in: \"Vesilahdella\" },\n\t\"Veteli\": { own: \"Vetelin\", in: \"Vetelissä\" },\n\t\"Vieremä\": { own: \"Vieremän\", in: \"Vieremällä\" },\n\t\"Vihti\": { own: \"Vihdin\", in: \"Vihdissä\" },\n\t\"Viitasaari\": { own: \"Viitasaaren\", in: \"Viitasaaressa\" },\n\t\"Vimpeli\": { own: \"Vimpelin\", in: \"Vimpelissä\" },\n\t\"Virolahti\": { own: \"Virolahden\", in: \"Vironlahdella\" },\n\t\"Virrat\": { own: \"Virtojen\", in: \"Virroilla\" },\n\t\"Vårdö\": { own: \"Vårdön\", in: \"Vårdössa\" },\n\t\"Vöyri\": { own: \"Vöyrin\", in: \"Vöyrissä\" },\n\t\"Ylitornio\": { own: \"Ylitornion\", in: \"Ylitorniossa\" },\n\t\"Ylivieska\": { own: \"Ylivieskan\", in: \"Ylivieskassa\" },\n\t\"Ylöjärvi\": { own: \"Ylöjärven\", in: \"Ylöjärvellä\" },\n\t\"Ypäjä\": { own: \"Ypäjän\", in: \"Ypäjällä\" },\n\t\"Ähtäri\": { own: \"Ähtärin\", in: \"Ähtärissä\" },\n\t\"Äänekoski\": { own: \"Äänekosken\", in: \"Äänekoskella\" },\n};\n// prettier-ignore-end\n\nconst conjugateCity = (city: string, type: string): string => {\n\tif (!city) {\n\t\treturn \"\";\n\t}\n\n\tif ((!type && city) || !cities[city]) {\n\t\treturn city;\n\t}\n\n\tif (city && (type === \"own\" || type === \"in\") && cities[city]) {\n\t\treturn cities[city][type];\n\t}\n};\n\nexport default conjugateCity;\n","import React, { useEffect, useState, useRef } from \"react\";\nimport { RancidBannerContainer, DismissButton, RancidBannerContent } from \"./styles\";\nimport { Link } from \"react-router-dom\";\nimport conjugateCity from \"@utils/city-conjugation\";\nimport { FontAwesomeIcon as FaIcon } from \"@fortawesome/react-fontawesome\";\nimport { hasWindow } from \"@utils\";\nimport historyTracker, { HistoryField } from \"@services/history-tracker\";\n\ninterface IProps {\n\tbannerColor?: \"red\" | \"green\" | \"blue\";\n\tenterDelay?: number;\n\tonExit?: (e: any) => void;\n\ttextOverride?: string;\n\ttype: HistoryField;\n}\n\nconst RancidBanner = (props: IProps) => {\n\tconst { bannerColor = \"green\", enterDelay = 1000, onExit, textOverride, type } = props;\n\n\tif (!textOverride && !type) {\n\t\treturn null;\n\t}\n\n\tconst isInQuarantine = historyTracker.isInQuarantine();\n\tconst [isVisible, setVisible] = useState(true);\n\tconst city = historyTracker.getHistory(type) || null;\n\tconst [inCity, setInCity] = useState(conjugateCity(city, \"in\") || \"\");\n\tlet enterTimeout: number = null;\n\tlet exitTimeout: number = null;\n\tconst bannerRef = useRef(null);\n\n\tuseEffect(() => {\n\t\tif (hasWindow && bannerRef.current && isVisible && inCity && !isInQuarantine) {\n\t\t\tbannerRef.current.classList.add(\"visible\");\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tenterTimeout = window.setTimeout(() => {\n\t\t\t\t\tbannerRef.current.classList.add(\"enter\");\n\t\t\t\t}, enterDelay);\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tclearTimeout(enterTimeout);\n\t\t\tclearTimeout(exitTimeout);\n\t\t};\n\t}, [bannerRef.current]);\n\n\tuseEffect(() => {\n\t\tif (hasWindow) {\n\t\t\twindow.addEventListener(\"historyTrackUpdate\", onHistoryTrackUpdate);\n\t\t}\n\t\treturn () => {\n\t\t\tclearTimeout(enterTimeout);\n\t\t\tclearTimeout(exitTimeout);\n\t\t\tif (hasWindow) {\n\t\t\t\twindow.removeEventListener(\"historyTrackUpdate\", onHistoryTrackUpdate);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst onHistoryTrackUpdate = event => {\n\t\tif (event.detail && event.detail[type]) {\n\t\t\tconst newCity = conjugateCity(event.detail[type], \"in\");\n\t\t\tsetInCity(newCity);\n\t\t}\n\t};\n\n\tconst removeBanner = () => {\n\t\tbannerRef.current.classList.add(\"exit\");\n\n\t\tif (hasWindow) {\n\t\t\texitTimeout = window.setTimeout(() => {\n\t\t\t\tsetVisible(false);\n\t\t\t\thistoryTracker.setQuarantine(city);\n\n\t\t\t\tif (typeof onExit === \"function\") {\n\t\t\t\t\tonExit(city);\n\t\t\t\t}\n\t\t\t}, 450);\n\t\t}\n\t};\n\n\t// This needs to be always, SSR + Hydrate doens't like it magically appearing.\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{!textOverride ? `Oletko myymässä asuntoasi ${inCity}?` : textOverride} \n\t\t\t\t\tHanki osuva hinta-arvio ›\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RancidBanner;\n","import styled, { css } from \"styled-components\";\nimport { color, fontFamily, emSpacing, media, buttons } from \"@utils/style-utils\";\nimport { rgba } from \"polished\";\n\nexport const Card = styled.div.attrs(() => ({\n\tclassName: \"agency-list-item\",\n}))`\n\tbackground-color: ${color(\"white\")};\n\tborder: 1px solid ${color(\"greenDark\", 4)};\n\tborder-radius: 4px;\n\tcursor: pointer;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 35px;\n\toverflow: hidden;\n\tpadding: 30px 20px;\n\tpadding-right: 75px;\n\tposition: relative;\n\ttransform: scale(1);\n\ttransition: background-color 150ms, transform 150ms;\n\n\t&:hover {\n\t\tbackground-color: ${rgba(color(\"greenBright\", 4), 0.1)};\n\t}\n\n\t&:active {\n\t\ttransform: scale(0.98);\n\t}\n\n\t${media.md`\n\t\tpadding: 35px 30px;\n\t\tpadding-right: 90px;\n\n\t\t.arrow {\n\t\t\ttop: 34px;\n\t\t}\n\n\t\t${props =>\n\t\t\tprops.wide &&\n\t\t\tcss`\n\t\t\t\tpadding-left: 35px;\n\t\t\t\tpadding-right: 90px;\n\n\t\t\t\t.arrow {\n\t\t\t\t\tright: 32px;\n\t\t\t\t}\n\t\t\t`}\n\t`}\n\n\t${media.lg`\n\t\tpadding: 48px 45px;\n\t\tpadding-right: 90px;\n\n\t\t.contact {\n\t\t\tpadding-left: 29px;\n\t\t}\n\n\t\t.arrow {\n\t\t\ttop: 42px;\n\t\t}\n\t`}\n\n\t${media.xl`\n\t\t${props =>\n\t\t\tprops.wide &&\n\t\t\tcss`\n\t\t\t\tpadding-left: 72px;\n\t\t\t\tpadding-right: 120px;\n\n\t\t\t\t.arrow {\n\t\t\t\t\tright: 72px;\n\t\t\t\t\ttop: 42px;\n\t\t\t\t}\n\t\t\t`}\n\t`}\n\n\t${props =>\n\t\tprops.hasFormButton &&\n\t\tcss`\n\t\t\tpadding-bottom: 0 !important;\n\t\t`}\n`;\n\nexport const Title = styled.h4`\n\tcolor: ${color(\"greenBright\", 1)};\n\tfont-size: 16px;\n\tfont-weight: 500;\n\tmargin: 0 0 16px;\n\n\t${media.ml`\n\t\tfont-size: 17px;\n\t`}\n\n\ta {\n\t\tcolor: inherit;\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n`;\n\nexport const Address = styled.p`\n\tcolor: ${color(\"grey\", 2)};\n\tfont-family: ${fontFamily.condensed};\n\tfont-size: 15px;\n\tmargin: 0 0 40px;\n\n\ta {\n\t\tcolor: inherit;\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\t${media.ml`\n\t\tfont-size: 16px;\n\t`}\n`;\n\nexport const Contact = styled.p.attrs(() => ({\n\tclassName: \"contact\",\n}))`\n\tfont-family: ${fontFamily.condensed};\n\tfont-size: 15px;\n\tmargin: 0 0 16px;\n\tpadding-left: 22px;\n\tposition: relative;\n\n\t${media.ml`\n\t\tfont-size: 16px;\n\t`}\n\n\t&:last-of-type {\n\t\tmargin-bottom: 0;\n\t}\n\n\t.icon {\n\t\tdisplay: inline-block;\n\t\tcolor: ${color(\"greenBright\", 1)};\n\t\tfont-size: 14px;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 2px;\n\n\t\tsvg {\n\t\t\tmax-width: 15px;\n\t\t}\n\t}\n\n\ta {\n\t\tcolor: ${color(\"greenDark\", 1)};\n\t\tletter-spacing: ${emSpacing(0.02)};\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\tcolor: ${color(\"greenDark\", 2)};\n\t\t\ttext-decoration: underline;\n\t\t}\n\n\t\t+ a {\n\t\t\t&::before {\n\t\t\t\tcontent: \",\";\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmargin-right: 5px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const Arrow = styled.span.attrs(() => ({\n\tclassName: \"arrow\",\n}))`\n\tborder: 1px solid ${color(\"greenBright\", 1)};\n\tborder-radius: 50%;\n\tline-height: 1;\n\theight: 25px;\n\tposition: absolute;\n\tright: 20px;\n\ttop: 26px;\n\twidth: 25px;\n\n\t${media.md`\n\t\theight: 30px;\n\t\tright: 30px;\n\t\ttop: 24px;\n\t\twidth: 30px;\n\t`}\n\n\t${media.lg`\n\t\theight: 35px;\n\t\twidth: 35px;\n\t`}\n\n\t&::before {\n\t\tcolor: ${color(\"greenBright\", 1)};\n\t\tcontent: \"›\";\n\t\tdisplay: inline-block;\n\t\tfont-size: 20px;\n\t\tline-height: 1;\n\t\tleft: 0;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttext-align: center;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\t}\n`;\n\nexport const ContactButton = styled.div.attrs(() => ({\n\tariaRole: \"button\",\n\tclassName: \"agency-card-contact-button\",\n}))`\n\tborder-top: 1px solid ${color(\"greenDark\", 4)};\n\tcursor: pointer;\n\tdisplay: block;\n\ttext-align: center;\n\tpadding: 30px 15px;\n\tmargin-left: -20px;\n\tmargin-right: -75px;\n\tmargin-top: 45px;\n\n\t${media.md`\n\t\tmargin-left: -30px;\n\t\tmargin-right: -90px;\n\t\tpadding: 40px 15px;\n\t`}\n\n\t${media.lg`\n\t\tmargin-left: -45px;\n\t`}\n\n\tspan {\n\t\t${buttons.textLinkPrimary}\n\n\t\t&::after {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n","import React from \"react\";\nimport { withRouter, RouteComponentProps, Link } from \"react-router-dom\";\nimport { Card, Title, Address, Contact, Arrow, ContactButton } from \"./styles\";\nimport Phone from \"@components/Info/Phone\";\nimport Email from \"@components/Info/Email\";\nimport isEmpty from \"lodash-es/isEmpty\";\nimport { hasWindow } from \"@utils\";\n\ninterface IProps {\n\tagency: IAgency;\n\tonFormButtonClick?: (agency: IAgency) => void;\n\twithFormButton?: boolean;\n\t[key: string]: any;\n}\n\nconst AgencyListItem = (props: IProps & RouteComponentProps) => {\n\tconst { agency, history, wide, withFormButton } = props;\n\tif (isEmpty(agency)) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\taddress,\n\t\tcanonicalPath,\n\t\tcity,\n\t\tcoordinates,\n\t\temail,\n\t\tmarketingName,\n\t\tphone,\n\t\tpostcode,\n\t\ttelPhone,\n\t\turlPart,\n\t} = agency;\n\n\tconst navigate = event => {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\n\t\tif (canonicalPath) {\n\t\t\tdocument.body.classList.remove(\"loaded\");\n\t\t\tdocument.body.classList.add(\"load-start\");\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (hasWindow) {\n\t\t\t\t\thistory.push(canonicalPath);\n\t\t\t\t\twindow.scrollTo(0, 0);\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t}\n\t};\n\n\tif (!canonicalPath && !urlPart) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t<Link\n\t\t\t\t\taria-label={`Kiinteistömaailma ${marketingName}`}\n\t\t\t\t\titemProp=\"URL\"\n\t\t\t\t\tonClick={e => e.stopPropagation()}\n\t\t\t\t\tto={canonicalPath ? canonicalPath : urlPart}\n\t\t\t\t>\n\t\t\t\t\tKiinteistömaailma {marketingName}\n\t\t\t\t</Link>\n\t\t\t\n\t\t\t
\n\t\t\t\t e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{address}, {postcode}{\" \"}\n\t\t\t\t\t{city}\n\t\t\t\t\n\t\t\t
\n\t\t\t{phone && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{email && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\n\t\t\t{!isEmpty(coordinates) && (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t\n\n\t\t\t{withFormButton && (\n\t\t\t\t {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tprops.onFormButtonClick(agency);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tOta yhteyttä tai sovi esittely\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default withRouter(AgencyListItem);\n","import styled, { css } from \"styled-components\";\nimport { color, textStyles, media, grid } from \"@utils/style-utils\";\n\nexport const AgencyFilter = styled.div`\n\tmargin-left: -15px;\n\tmargin-right: -15px;\n\tmargin-bottom: 30px;\n\n\t${media.md`\n\t\tmargin-bottom: 50px;\n\t`}\n\n\t${media.lg`\n\t\tmargin-bottom: 80px;\n\t`}\n\n\tspan {\n\t\t${textStyles.PMedium}\n\t\tcolor: ${color(\"grey\", 1)};\n\t\tcursor: pointer;\n\t\tdisplay: inline-block;\n\t\tpadding: 2px 5px;\n\t\tmargin: 0 10px 5px;\n\t\ttransition: color 150ms;\n\n\t\t&:hover {\n\t\t\tcolor: ${color(\"greenBright\", 2)};\n\t\t}\n\n\t\t&.active {\n\t\t\tcolor: ${color(\"greenBright\", 1)};\n\t\t}\n\t}\n`;\n\nexport const Agencies = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t${props =>\n\t\tprops.dense &&\n\t\tcss`\n\t\t\t> div {\n\t\t\t\tflex-basis: 100%;\n\n\t\t\t\t${media.md`\n\t\t\t\t\tflex-basis: calc((100% - ${grid.gutterSmall}px) / 2);\n\n\t\t\t\t\t&:nth-of-type(odd) {\n\t\t\t\t\t\tmargin-right: ${grid.gutterSmall}px;\n\t\t\t\t\t}\n\t\t\t\t`}\n\n\t\t\t\t${media.lgx`\n\t\t\t\t\tflex-basis: calc((100% - ${grid.gutterSmall * 2}px) / 3);\n\n\t\t\t\t\t&:nth-of-type(odd) {\n\t\t\t\t\t\tmargin-right: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:nth-of-type(3n-2),\n\t\t\t\t\t&:nth-of-type(3n-1) {\n\t\t\t\t\t\tmargin-right: ${grid.gutterSmall}px;\n\t\t\t\t\t}\n\t\t\t\t`}\n\n\t\t\t\t${media.xl`\n\t\t\t\t\tflex-basis: calc((100% - ${grid.gutter * 2}px) / 3);\n\n\t\t\t\t\t&:nth-of-type(3n-2),\n\t\t\t\t\t&:nth-of-type(3n-1) {\n\t\t\t\t\t\tmargin-right: ${grid.gutter}px;\n\t\t\t\t\t}\n\t\t\t\t`}\n\t\t\t}\n\t\t`}\n\n\t${props =>\n\t\t!props.dense &&\n\t\tcss`\n\t\t\t> div {\n\t\t\t\tflex-basis: 100%;\n\n\t\t\t\t${media.md`\n\t\t\t\tflex-basis: calc((100% - ${grid.gutterSmall}px) / 2);\n\n\t\t\t\t&:nth-of-type(odd) {\n\t\t\t\t\tmargin-right: ${grid.gutterSmall}px;\n\t\t\t\t}\n\t\t\t`}\n\n\t\t\t\t${media.lg`\n\t\t\t\tflex-basis: calc((100% - ${grid.gutter}px) / 2);\n\n\t\t\t\t&:nth-of-type(odd) {\n\t\t\t\t\tmargin-right: ${grid.gutter}px;\n\t\t\t\t}\n\t\t\t`}\n\t\t\t}\n\t\t`}\n`;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport isEmpty from \"lodash-es/isEmpty\";\nimport { AgencyFilter, Agencies } from \"./styles\";\nimport AgencyListItem from \"@components/AgencyList/AgencyListItem\";\nimport isEqual from \"react-fast-compare\";\nimport { SmoothScroll } from \"@utils/anchor-scroll\";\nimport { hasWindow } from \"@utils\";\nimport { breakpoints } from \"@utils/style-utils\";\n\ninterface IProps {\n\tagencies: IAgency[];\n\tsortBy?: string;\n\tsortDesc?: boolean;\n\twithFilter?: boolean;\n}\n\nconst getAgencyName = (agency: IAgency): string => {\n\tconst agencyName = agency.marketingName.split(\" \");\n\n\tif (agencyName[0].toLowerCase() === \"vuokravälitys\") {\n\t\treturn agencyName[0];\n\t} else {\n\t\tif (!agencyName[1]) return agency.marketingName;\n\t\treturn agencyName[1].replace(\",\", \"\");\n\t}\n};\n\nconst AgencyList = (props: IProps) => {\n\tconst { agencies, sortBy = null, sortDesc = false, withFilter = false } = props;\n\n\tif (isEmpty(agencies)) {\n\t\treturn null;\n\t}\n\n\tconst sortFn = (a: IAgency, b: IAgency) => {\n\t\tif (sortDesc) {\n\t\t\treturn b[sortBy].localeCompare(a[sortBy]);\n\t\t} else {\n\t\t\treturn a[sortBy].localeCompare(b[sortBy]);\n\t\t}\n\t};\n\n\tconst sortedAgencies = !isEmpty(agencies) && sortBy ? agencies.sort(sortFn) : agencies;\n\tconst hasLotsOfAgencies = agencies.length > 8;\n\tconst [filteredAgencies, setFilteredAgencies] = useState(sortedAgencies);\n\tconst [activeAgencyKey, setActiveAgencyKey] = useState(null);\n\n\tconst scrollToList = () => {\n\t\tconst isMobile = hasWindow && screen.availWidth <= parseInt(breakpoints.lgx);\n\t\tif (isMobile) {\n\t\t\twindow.scrollTo({\n\t\t\t\tbehavior: \"smooth\",\n\t\t\t\tleft: 0,\n\t\t\t\ttop: document.getElementById('agency-list').offsetTop - 75\n\t\t\t});\n\t\t} else {\n\t\t\tconst smoothie = new SmoothScroll();\n\t\t\tsmoothie.scrollTo(\"agency-list\", () => {}, { offset: 25 });\n\t\t}\n\t};\n\n\tconst toggleAgencyFilter = (key: string | number) => {\n\t\tif (activeAgencyKey === key) {\n\t\t\tsetActiveAgencyKey(null);\n\t\t\tsetFilteredAgencies(sortedAgencies);\n\t\t} else {\n\t\t\tconst filtered = sortedAgencies.filter((agency: IAgency) => agency.key === key);\n\t\t\tsetActiveAgencyKey(key);\n\t\t\tsetFilteredAgencies(filtered);\n\t\t\tscrollToList();\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tlet rendering = true;\n\t\tif (!isEqual(agencies, filteredAgencies) && rendering) {\n\t\t\tsetFilteredAgencies(agencies);\n\t\t}\n\n\t\treturn () => {\n\t\t\trendering = false;\n\t\t};\n\t}, [agencies]);\n\n\treturn (\n\t\t\n\t\t\t{withFilter && (\n\t\t\t\t\n\t\t\t\t\t{sortedAgencies.map((agency: IAgency) => (\n\t\t\t\t\t\t toggleAgencyFilter(agency.key)}\n\t\t\t\t\t\t\tclassName={activeAgencyKey === agency.key ? \"active\" : \"\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getAgencyName(agency)}\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t{filteredAgencies.map((agency: IAgency) => (\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AgencyList;\n"],"sourceRoot":""}