=Basic setup. Still need to define fields and SEO settings for most content and taxonomies
3 files deleted
6 files modified
22 files added
| | |
| | | .icon-google-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjIsMTI4YTk0LDk0LDAsMSwxLTIxLjQ5LTU5LjgyLDYsNiwwLDEsMS05LjI1LDcuNjRBODIsODIsMCwxLDAsMjA5Ljc4LDEzNEgxMjhhNiw2LDAsMCwxLDAtMTJoODhBNiw2LDAsMCwxLDIyMiwxMjhaIi8+PC9zdmc+');}.icon-apple-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTkuNCwxNjcuODRDMjAxLjcxLDE1NS42OSwxOTgsMTM1LjEyLDE5OCwxMjBjMC0xOC40MiwxMy44Ni0zNC4yOSwyMi4xMi00Mi4xMmE2LDYsMCwwLDAsMC04LjcxQzIwOCw1Ny43LDE4Ny4wNyw1MCwxNjgsNTBhNzAuMjMsNzAuMjMsMCwwLDAtNDAsMTIuNTUsNjkuNiw2OS42LDAsMCwwLTg5LjMxLDguMDhBNzIuNjMsNzIuNjMsMCwwLDAsMTgsMTIzLjM1YTEyNS4xMSwxMjUuMTEsMCwwLDAsMzkuNTMsODguMzNBMzcuODUsMzcuODUsMCwwLDAsODMuNiwyMjJoODcuN0EzNy44MywzNy44MywwLDAsMCwxOTksMjEwLjA3YTEyMi42LDEyMi42LDAsMCwwLDE3LjU0LTI0LjJjNi41NS0xMiw1Ljc3LTEzLjc1LDUtMTUuNDhBNi4wNyw2LjA3LDAsMCwwLDIxOS40LDE2Ny44NFptLTI5LjIzLDM0QTI1LjgyLDI1LjgyLDAsMCwxLDE3MS4zLDIxMEg4My42QTI1Ljg1LDI1Ljg1LDAsMCwxLDY1Ljc4LDIwMywxMTMuMjEsMTEzLjIxLDAsMCwxLDMwLDEyM2E2MC41NSw2MC41NSwwLDAsMSwxNy4yMS00NEE1Ni44Miw1Ni44MiwwLDAsMSw4OCw2MmguODFhNTcuMzUsNTcuMzUsMCwwLDEsMzUuNDQsMTIuNzEsNiw2LDAsMCwwLDcuNSwwQTU3LjM5LDU3LjM5LDAsMCwxLDE2OCw2MmMxMy44OSwwLDI4LjgxLDQuNjgsMzkuMTEsMTItOS40NCwxMC4xNC0yMS4xLDI2LjU5LTIxLjEsNDYsMCwyMy43OCw3LjgxLDQyLjYsMjIuNjYsNTQuNzdBMTA3LjMzLDEwNy4zMywwLDAsMSwxOTAuMTcsMjAxLjg5Wm0tNjAtMTcxLjM5QTM4LDM4LDAsMCwxLDE2NywyaDFhNiw2LDAsMCwxLDAsMTJoLTFhMjYsMjYsMCwwLDAtMjUuMTgsMTkuNSw2LDYsMCwxLDEtMTEuNjItM1oiLz48L3N2Zz4=');}.icon-check-circle{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNzIuMjQsOTkuNzZhNiw2LDAsMCwxLDAsOC40OGwtNTYsNTZhNiw2LDAsMCwxLTguNDgsMGwtMjQtMjRhNiw2LDAsMCwxLDguNDgtOC40OEwxMTIsMTUxLjUxbDUxLjc2LTUxLjc1QTYsNiwwLDAsMSwxNzIuMjQsOTkuNzZaTTIzMCwxMjhBMTAyLDEwMiwwLDEsMSwxMjgsMjYsMTAyLjEyLDEwMi4xMiwwLDAsMSwyMzAsMTI4Wm0tMTIsMGE5MCw5MCwwLDEsMC05MCw5MEE5MC4xLDkwLjEsMCwwLDAsMjE4LDEyOFoiLz48L3N2Zz4=');}.icon-cloud-slash{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik01Mi40NCwzNkE2LDYsMCwwLDAsNDMuNTYsNDRsNDAuMTgsNDQuMmMtLjQ1Ljg3LS45LDEuNzUtMS4zMiwyLjY0QTYyLDYyLDAsMSwwLDcyLDIxNGg4OGE4NS4yMyw4NS4yMywwLDAsMCwzMi4zNS02LjNMMjAzLjU2LDIyMGE2LDYsMCwwLDAsOC44OC04LjA4Wk0xNjAsMjAySDcyYTUwLDUwLDAsMSwxLDUuOS05OS42NEE4Ni4yNSw4Ni4yNSwwLDAsMCw3NCwxMjhhNiw2LDAsMCwwLDEyLDAsNzMuOTIsNzMuOTIsMCwwLDEsNi40NC0zMC4ybDkxLjIyLDEwMC4zNEE3My42NSw3My42NSwwLDAsMSwxNjAsMjAyWm04Ni03NGE4NS44NSw4NS44NSwwLDAsMS0yMS44NSw1Ny4yNyw2LDYsMCwwLDEtNC40NywyLDYsNiwwLDAsMS00LjQ3LTEwLDc0LDc0LDAsMCwwLTk5LTEwOC45Miw2LDYsMCwxLDEtNy4xMS05LjY3QTg2LDg2LDAsMCwxLDI0NiwxMjhaIi8+PC9zdmc+');}.icon-exclamation-mark{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNDIsMjAwYTE0LDE0LDAsMSwxLTE0LTE0QTE0LDE0LDAsMCwxLDE0MiwyMDBabS0xNC00MmE2LDYsMCwwLDAsNi02VjQ4YTYsNiwwLDAsMC0xMiwwVjE1MkE2LDYsMCwwLDAsMTI4LDE1OFoiLz48L3N2Zz4=');}.icon-cloud-arrow-down{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yNDYsMTI4YTg1LjI3LDg1LjI3LDAsMCwxLTE3LjIsNTEuNiw2LDYsMCwxLDEtOS42LTcuMkE3NCw3NCwwLDEsMCw4NiwxMjhhNiw2LDAsMCwxLTEyLDAsODUuNTQsODUuNTQsMCwwLDEsMy45MS0yNS42NEE1MC42OCw1MC42OCwwLDAsMCw3MiwxMDJhNTAsNTAsMCwwLDAsMCwxMDBIOTZhNiw2LDAsMCwxLDAsMTJINzJBNjIsNjIsMCwxLDEsODIuNDMsOTAuODgsODYsODYsMCwwLDEsMjQ2LDEyOFptLTY2LjI0LDQzLjc2TDE1OCwxOTMuNTFWMTI4YTYsNiwwLDAsMC0xMiwwdjY1LjUxbC0yMS43Ni0yMS43NWE2LDYsMCwwLDAtOC40OCw4LjQ4bDMyLDMyYTYsNiwwLDAsMCw4LjQ4LDBsMzItMzJhNiw2LDAsMCwwLTguNDgtOC40OFoiLz48L3N2Zz4=');}.icon-caret-down{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTIuMjQsMTAwLjI0bC04MCw4MGE2LDYsMCwwLDEtOC40OCwwbC04MC04MGE2LDYsMCwwLDEsOC40OC04LjQ4TDEyOCwxNjcuNTFsNzUuNzYtNzUuNzVhNiw2LDAsMCwxLDguNDgsOC40OFoiLz48L3N2Zz4=');}.icon-cloud-arrow-up{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xODguMjQsMTY0LjI0YTYsNiwwLDAsMS04LjQ4LDBMMTU4LDE0Mi40OVYyMDhhNiw2LDAsMCwxLTEyLDBWMTQyLjQ5bC0yMS43NiwyMS43NWE2LDYsMCwwLDEtOC40OC04LjQ4bDMyLTMyYTYsNiwwLDAsMSw4LjQ4LDBsMzIsMzJBNiw2LDAsMCwxLDE4OC4yNCwxNjQuMjRaTTE2MCw0MkE4Ni4xLDg2LjEsMCwwLDAsODIuNDMsOTAuODgsNjIsNjIsMCwxLDAsNzIsMjE0aDQwYTYsNiwwLDAsMCwwLTEySDcyYTUwLDUwLDAsMCwxLDAtMTAwLDUwLjY4LDUwLjY4LDAsMCwxLDUuOTEuMzZBODUuNTQsODUuNTQsMCwwLDAsNzQsMTI4YTYsNiwwLDAsMCwxMiwwLDc0LDc0LDAsMSwxLDEwMy42LDY3Ljg1LDYsNiwwLDAsMCw0LjgsMTFBODYsODYsMCwwLDAsMTYwLDQyWiIvPjwvc3ZnPg==');}.icon-cloud-check{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjAsNDJBODYuMTEsODYuMTEsMCwwLDAsODIuNDMsOTAuODgsNjIsNjIsMCwxLDAsNzIsMjE0aDg4YTg2LDg2LDAsMCwwLDAtMTcyWm0wLDE2MEg3MmE1MCw1MCwwLDAsMSwwLTEwMCw1MC42Nyw1MC42NywwLDAsMSw1LjkxLjM1QTg1LjYxLDg1LjYxLDAsMCwwLDc0LDEyOGE2LDYsMCwwLDAsMTIsMCw3NCw3NCwwLDEsMSw3NCw3NFptMzYuMjQtOTQuMjRhNiw2LDAsMCwxLDAsOC40OGwtNDgsNDhhNiw2LDAsMCwxLTguNDgsMGwtMjQtMjRhNiw2LDAsMCwxLDguNDgtOC40OEwxNDQsMTUxLjUxbDQzLjc2LTQzLjc1QTYsNiwwLDAsMSwxOTYuMjQsMTA3Ljc2WiIvPjwvc3ZnPg==');}.icon-cloud-warning{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjAsNDJBODYuMTEsODYuMTEsMCwwLDAsODIuNDMsOTAuODgsNjIsNjIsMCwxLDAsNzIsMjE0aDg4YTg2LDg2LDAsMCwwLDAtMTcyWm0wLDE2MEg3MmE1MCw1MCwwLDAsMSwwLTEwMCw1MC42Nyw1MC42NywwLDAsMSw1LjkxLjM1QTg1LjYxLDg1LjYxLDAsMCwwLDc0LDEyOGE2LDYsMCwwLDAsMTIsMCw3NCw3NCwwLDEsMSw3NCw3NFptLTYtNzRWODhhNiw2LDAsMCwxLDEyLDB2NDBhNiw2LDAsMCwxLTEyLDBabTE2LDM2YTEwLDEwLDAsMSwxLTEwLTEwQTEwLDEwLDAsMCwxLDE3MCwxNjRaIi8+PC9zdmc+');}.icon-syncing{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiI+PHBhdGggaWQ9InJlZnJlc2giIGQ9Ik0xNjAuMDQ3IDEyMi44NzVhMzAuNzg0IDMwLjc4NCAwIDAgMC0yMS43NSA4Ljc5N2MtMi44NDIgMy4wMDMtLjQ2NyA0Ljk3MSAxLjMxMiAzLjE1NiAxMS4wNDMtMTAuNzg2IDI4LjcxLTEwLjY4IDM5LjYyNS4yMzRsNy4yMDMgNy4yMDRoLTEyLjg3NWMtMy4zNDcuMDA4LTMuMTY1IDMuODc1IDAgMy44NzVoMTYuMTFjMi4wNjIgMCAyLjU0LTEuNDE4IDIuNTYyLTQuOTdsLjA5NC0xNC45MjFjLjAyLTMuMjktMy40MzctMy4xNjUtMy40MzcgMHYxMi44NmwtNy4yMDMtNy4xODhhMzAuNzY4IDMwLjc2OCAwIDAgMC0yMS42NDEtOS4wNDd6bS0yOS41OTQgMzkuNzk3Yy0yLjA2MiAwLTIuNTI0IDEuNDAyLTIuNTQ3IDQuOTUzbC0uMDk0IDE0LjkyMmMtLjAyIDMuMjkgMy40MjIgMy4xNjQgMy40MjIgMHYtMTIuODZsNy4yMDMgNy4yMDRjMTEuOTU2IDExLjk1NSAzMS4zMTIgMTIuMDY0IDQzLjQwNy4yNSAyLjg0Mi0zLjAwMy40NTEtNC45ODgtMS4zMjgtMy4xNzItMTEuMDQzIDEwLjc4Ni0yOC43MSAxMC42OC0zOS42MjUtLjIzNWwtNy4xODgtNy4yMDNoMTIuODZjMy4zNDctLjAwOCAzLjE2NS0zLjg2IDAtMy44NmgtMTYuMTF6Ii8+PHBhdGggZD0iTTE2MCA0NGE4NC4xMSA4NC4xMSAwIDAgMC03Ni40MSA0OS4xMkE2MC43MSA2MC43MSAwIDAgMCA3MiA5MmE2MCA2MCAwIDAgMCAwIDEyMGg4OGE4NCA4NCAwIDAgMCAwLTE2OFptMCAxNjBINzJhNTIgNTIgMCAxIDEgOC41NS0xMDMuM0E4My42NiA4My42NiAwIDAgMCA3NiAxMjhhNCA0IDAgMCAwIDggMCA3NiA3NiAwIDEgMSA3NiA3NloiLz48L3N2Zz4=');}.icon-cloud-x{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjAsNDJBODYuMTEsODYuMTEsMCwwLDAsODIuNDMsOTAuODgsNjIsNjIsMCwxLDAsNzIsMjE0aDg4YTg2LDg2LDAsMCwwLDAtMTcyWm0wLDE2MEg3MmE1MCw1MCwwLDAsMSwwLTEwMCw1MC42Nyw1MC42NywwLDAsMSw1LjkxLjM1QTg1LjYxLDg1LjYxLDAsMCwwLDc0LDEyOGE2LDYsMCwwLDAsMTIsMCw3NCw3NCwwLDEsMSw3NCw3NFptMjguMjQtODUuNzZMMTY4LjQ4LDEzNmwxOS43NiwxOS43NmE2LDYsMCwxLDEtOC40OCw4LjQ4TDE2MCwxNDQuNDhsLTE5Ljc2LDE5Ljc2YTYsNiwwLDAsMS04LjQ4LTguNDhMMTUxLjUyLDEzNmwtMTkuNzYtMTkuNzZhNiw2LDAsMCwxLDguNDgtOC40OEwxNjAsMTI3LjUybDE5Ljc2LTE5Ljc2YTYsNiwwLDAsMSw4LjQ4LDguNDhaIi8+PC9zdmc+');}.icon-arrows-clockwise{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjIsNDhWOTZhNiw2LDAsMCwxLTYsNkgxNjhhNiw2LDAsMCwxLDAtMTJoMzMuNTJMMTgzLjQ3LDcyYTgxLjUxLDgxLjUxLDAsMCwwLTU3LjUzLTI0aC0uNDZBODEuNSw4MS41LDAsMCwwLDY4LjE5LDcxLjI4YTYsNiwwLDEsMS04LjM4LTguNTgsOTMuMzgsOTMuMzgsMCwwLDEsNjUuNjctMjYuNzZIMTI2YTkzLjQ1LDkzLjQ1LDAsMCwxLDY2LDI3LjUzbDE4LDE4VjQ4YTYsNiwwLDAsMSwxMiwwWk0xODcuODEsMTg0LjcyYTgxLjUsODEuNSwwLDAsMS01Ny4yOSwyMy4zNGgtLjQ2YTgxLjUxLDgxLjUxLDAsMCwxLTU3LjUzLTI0TDU0LjQ4LDE2Nkg4OGE2LDYsMCwwLDAsMC0xMkg0MGE2LDYsMCwwLDAtNiw2djQ4YTYsNiwwLDAsMCwxMiwwVjE3NC40OGwxOCwxOC4wNWE5My40NSw5My40NSwwLDAsMCw2NiwyNy41M2guNTJhOTMuMzgsOTMuMzgsMCwwLDAsNjUuNjctMjYuNzYsNiw2LDAsMSwwLTguMzgtOC41OFoiLz48L3N2Zz4=');}.icon-share-fat{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzYuMjQsMTA3Ljc2bC04MC04MEE2LDYsMCwwLDAsMTQ2LDMyVjc0LjJjLTU0LjQ4LDMuNTktMTIwLjM5LDU1LTEyNy45MywxMjAuNjZhMTAsMTAsMCwwLDAsMTcuMjMsOGgwQzQ2LjU2LDE5MC44NSw4NywxNTIuNiwxNDYsMTUwLjEzVjE5MmE2LDYsMCwwLDAsMTAuMjQsNC4yNGw4MC04MEE2LDYsMCwwLDAsMjM2LjI0LDEwNy43NlpNMTU4LDE3Ny41MlYxNDRhNiw2LDAsMCwwLTYtNmMtMjcuNzMsMC01NC43Niw3LjI1LTgwLjMyLDIxLjU1YTE5My4zOCwxOTMuMzgsMCwwLDAtNDAuODEsMzAuNjVjNC43LTI2LjU2LDIwLjE2LTUyLDQ0LTcyLjI3Qzk4LjQ3LDk3Ljk0LDEyNy4yOSw4NiwxNTIsODZhNiw2LDAsMCwwLDYtNlY0Ni40OUwyMjMuNTEsMTEyWiIvPjwvc3ZnPg==');}.icon-trash{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTYsNTBIMTc0VjQwYTIyLDIyLDAsMCwwLTIyLTIySDEwNEEyMiwyMiwwLDAsMCw4Miw0MFY1MEg0MGE2LDYsMCwwLDAsMCwxMkg1MFYyMDhhMTQsMTQsMCwwLDAsMTQsMTRIMTkyYTE0LDE0LDAsMCwwLDE0LTE0VjYyaDEwYTYsNiwwLDAsMCwwLTEyWk05NCw0MGExMCwxMCwwLDAsMSwxMC0xMGg0OGExMCwxMCwwLDAsMSwxMCwxMFY1MEg5NFpNMTk0LDIwOGEyLDIsMCwwLDEtMiwySDY0YTIsMiwwLDAsMS0yLTJWNjJIMTk0Wk0xMTAsMTA0djY0YTYsNiwwLDAsMS0xMiwwVjEwNGE2LDYsMCwwLDEsMTIsMFptNDgsMHY2NGE2LDYsMCwwLDEtMTIsMFYxMDRhNiw2LDAsMCwxLDEyLDBaIi8+PC9zdmc+');}.icon-star{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzcuMjgsOTcuODdBMTQuMTgsMTQuMTgsMCwwLDAsMjI0Ljc2LDg4bC02MC4yNS00Ljg3LTIzLjIyLTU2LjJhMTQuMzcsMTQuMzcsMCwwLDAtMjYuNTgsMEw5MS40OSw4My4xMSwzMS4yNCw4OGExNC4xOCwxNC4xOCwwLDAsMC0xMi41Miw5Ljg5QTE0LjQzLDE0LjQzLDAsMCwwLDIzLDExMy4zMkw2OSwxNTIuOTNsLTE0LDU5LjI1YTE0LjQsMTQuNCwwLDAsMCw1LjU5LDE1LDE0LjEsMTQuMSwwLDAsMCwxNS45MS42TDEyOCwxOTYuMTJsNTEuNTgsMzEuNzFhMTQuMSwxNC4xLDAsMCwwLDE1LjkxLS42LDE0LjQsMTQuNCwwLDAsMCw1LjU5LTE1bC0xNC01OS4yNUwyMzMsMTEzLjMyQTE0LjQzLDE0LjQzLDAsMCwwLDIzNy4yOCw5Ny44N1ptLTEyLjE0LDYuMzctNDguNjksNDJhNiw2LDAsMCwwLTEuOTIsNS45MmwxNC44OCw2Mi43OWEyLjM1LDIuMzUsMCwwLDEtLjk1LDIuNTcsMi4yNCwyLjI0LDAsMCwxLTIuNi4xTDEzMS4xNCwxODRhNiw2LDAsMCwwLTYuMjgsMEw3MC4xNCwyMTcuNjFhMi4yNCwyLjI0LDAsMCwxLTIuNi0uMSwyLjM1LDIuMzUsMCwwLDEtMS0yLjU3bDE0Ljg4LTYyLjc5YTYsNiwwLDAsMC0xLjkyLTUuOTJsLTQ4LjY5LTQyYTIuMzcsMi4zNywwLDAsMS0uNzMtMi42NSwyLjI4LDIuMjgsMCwwLDEsMi4wNy0xLjY1bDYzLjkyLTUuMTZhNiw2LDAsMCwwLDUuMDYtMy42OWwyNC42My01OS42YTIuMzUsMi4zNSwwLDAsMSw0LjM4LDBsMjQuNjMsNTkuNmE2LDYsMCwwLDAsNS4wNiwzLjY5bDYzLjkyLDUuMTZhMi4yOCwyLjI4LDAsMCwxLDIuMDcsMS42NUEyLjM3LDIuMzcsMCwwLDEsMjI1LjE0LDEwNC4yNFoiLz48L3N2Zz4=');}.icon-alphabetical{--icon:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTgzLjc4IDE4NC4wNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNTkuNTg2IDY5Ljc0MmMtMC44NTEzIDAtMS40NjEgMC4xOTY1Ni0xLjgzNjYgMC41OTcxOC0wLjM1MDU0IDAuMzc1NTgtMC41Mjk1OCAxLjAyMjktMC41Mjk1OCAxLjk0OTNzMC4xNzkwMyAxLjU5MzcgMC41Mjk1OCAxLjk5NDRjMC4zNzU1OCAwLjM3NTU4IDAuOTg1MjkgMC41NjMzOCAxLjgzNjYgMC41NjMzOGg3LjAxOTdsLTEyLjQyOCAzNC4zNjZoLTIuMTA3Yy0wLjg1MTMgMC0xLjQ2MSAwLjE5NjU2LTEuODM2NiAwLjU5NzE4LTAuMzUwNTQgMC4zNzU1OC0wLjUyOTU3IDEuMDM0MS0wLjUyOTU3IDEuOTYwNiAwIDAuOTI2NDQgMC4xNzkwMyAxLjU4MjUgMC41Mjk1NyAxLjk4MyAwLjM3NTU4IDAuMzc1NTkgMC45ODUyOSAwLjU2MzM4IDEuODM2NiAwLjU2MzM4aDEyLjU1MmMwLjg1MTMgMCAxLjQ1MjItMC4xODc3OSAxLjgwMjgtMC41NjMzOCAwLjM3NTU4LTAuNDAwNjIgMC41NjMzNy0xLjA1NjYgMC41NjMzNy0xLjk4MyAwLTAuOTI2NDUtMC4xODc3OS0xLjU4NS0wLjU2MzM3LTEuOTYwNi0wLjM1MDU0LTAuNDAwNjItMC45NTE0Ny0wLjU5NzE4LTEuODAyOC0wLjU5NzE4aC00LjU1MjFsMy4xMjExLTguOTM0OWgxOC4yMmwzLjA3NiA4LjkzNDloLTUuMDcwNGMtMC44NTEzIDAtMS40NjEgMC4xOTY1Ni0xLjgzNjYgMC41OTcxOC0wLjM1MDU0IDAuMzc1NTgtMC41Mjk1OCAxLjAzNDEtMC41Mjk1OCAxLjk2MDYgMCAwLjkyNjQ0IDAuMTc5MDMgMS41ODI1IDAuNTI5NTggMS45ODMgMC4zNzU1OCAwLjM3NTU5IDAuOTg1MjkgMC41NjMzOCAxLjgzNjYgMC41NjMzOGgxMy4yOTZjMC44NTEzIDAgMS40NTIyLTAuMTg3NzkgMS44MDI4LTAuNTYzMzggMC4zNzU1OC0wLjQwMDYyIDAuNTYzMzctMS4wNTY2IDAuNTYzMzctMS45ODMgMC0wLjkyNjQ1LTAuMTg3NzktMS41ODUtMC41NjMzNy0xLjk2MDYtMC4zNTA1NC0wLjQwMDYyLTAuOTUxNDctMC41OTcxOC0xLjgwMjgtMC41OTcxOGgtMi4yODczbC0xMy4yNjItMzcuMDM2Yy0wLjMwMDQ3LTAuODUxMy0wLjc1OTk0LTEuNDYxLTEuMzg1OS0xLjgzNjYtMC42MDA5My0wLjQwMDYyLTEuNDA5Ny0wLjU5NzE4LTIuNDExMy0wLjU5NzE4em00NC4xNDYgMGMtMC44NTEzIDAtMS40NzIzIDAuMTk2NTYtMS44NDc4IDAuNTk3MTgtMC4zNTA1NSAwLjM3NTU4LTAuNTE4MyAxLjAyMjktMC41MTgzIDEuOTQ5M3YxMS45MWMwIDAuODc2MzMgMC4yMDUzMiAxLjUwNjEgMC42MzA5OCAxLjg4MTcgMC40MjU2NiAwLjM3NTU4IDEuMTU5MyAwLjU2MzM3IDIuMTg1OSAwLjU2MzM3czEuNzQ5LTAuMTg3NzkgMi4xNzQ3LTAuNTYzMzdjMC40MjU2OS0wLjM3NTU4IDAuNjQyMjYtMS4wMDUzIDAuNjQyMjYtMS44ODE3di05LjM1MTdoMTguODUxbC0yNC43NTQgMzUuMzAxYy0wLjM1MDU0IDAuNTI1ODItMC41MTgzMSAxLjA3MTctMC41MTgzMSAxLjYyMjYgMCAwLjkyNjQ1IDAuMTY3NzcgMS41ODI1IDAuNTE4MzEgMS45ODMxIDAuMzc1NTggMC4zNzU1OCAwLjk5NjU0IDAuNTYzMzggMS44NDc4IDAuNTYzMzhoMjguNzY2YzAuODUxMyAwIDEuNDUyMi0wLjE4NzggMS44MDI4LTAuNTYzMzggMC4zNzU1OC0wLjQwMDYyIDAuNTYzMzgtMS4wNTY2IDAuNTYzMzgtMS45ODMxdi0xMi42NjVjMC0wLjg3NjMzLTAuMjE2NTgtMS40OTQ4LTAuNjQyMjUtMS44NzA0LTAuNDI1NjYtMC4zNzU1OC0xLjE0OC0wLjU2MzM4LTIuMTc0Ny0wLjU2MzM4LTEuMDI2NiAwLTEuNzQ5IDAuMTg3NzktMi4xNzQ3IDAuNTYzMzgtMC40MjU2NiAwLjM3NTU4LTAuNjQyMjQgMC45OTQwMi0wLjY0MjI0IDEuODcwNHYxMC4xMDdoLTE5Ljk3OGwyNC45MDEtMzUuNDU5YzAuMjUwMzktMC4zNTA1NCAwLjM3MTgzLTAuODM4ODMgMC4zNzE4My0xLjQ2NDggMC0wLjkyNjQ1LTAuMTg3OC0xLjU3MzctMC41NjMzOC0xLjk0OTMtMC4zNTA1NS0wLjQwMDYyLTAuOTUxNDctMC41OTcxOC0xLjgwMjgtMC41OTcxOHptLTMxLjc1MiA1LjEwNDJoMC43MDk4NWw2Ljk4NTkgMjAuMzE1aC0xNC43MTZ6bS0zNy43MjMtNDkuMTgzYy00LjczNDIgMC04LjYzMTMgMy44OTctOC42MzEzIDguNjMxM3YxMTUuNDdjMCA0LjczNDIgMy44OTcgOC42MzEzIDguNjMxMyA4LjYzMTNoMTE1LjI2YzQuNzM0MiAwIDguNjQyMS0zLjg5NyA4LjY0MjEtOC42MzEzdi0xMTUuNDdjMC00LjczNDItMy45MDgyLTguNjMxMy04LjY0MjEtOC42MzEzem0wIDUuNzI0aDExNS4yNmMxLjY1OCAwIDIuOTA3IDEuMjQ5MSAyLjkwNyAyLjkwNzF2MTE1LjQ3YzAgMS42NTgtMS4yNDkxIDIuOTA3LTIuOTA3IDIuOTA3aC0xMTUuMjZjLTEuNjU4IDAtMi44OTU4LTEuMjQ5MS0yLjg5NTgtMi45MDd2LTExNS40N2MwLTEuNjU4IDEuMjM3OC0yLjkwNzEgMi44OTU4LTIuOTA3MXoiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIuNzIxMTQiLz48L3N2Zz4=');}.icon-sparkle{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xOTYuODksMTMwLjk0LDE0NC40LDExMS42LDEyNS4wNiw1OS4xMWExMy45MiwxMy45MiwwLDAsMC0yNi4xMiwwTDc5LjYsMTExLjYsMjcuMTEsMTMwLjk0YTEzLjkyLDEzLjkyLDAsMCwwLDAsMjYuMTJMNzkuNiwxNzYuNGwxOS4zNCw1Mi40OWExMy45MiwxMy45MiwwLDAsMCwyNi4xMiwwTDE0NC40LDE3Ni40bDUyLjQ5LTE5LjM0YTEzLjkyLDEzLjkyLDAsMCwwLDAtMjYuMTJabS00LjE1LDE0Ljg2LTU1LjA4LDIwLjNhNiw2LDAsMCwwLTMuNTYsMy41NmwtMjAuMyw1NS4wOGExLjkyLDEuOTIsMCwwLDEtMy42LDBMODkuOSwxNjkuNjZhNiw2LDAsMCwwLTMuNTYtMy41NkwzMS4yNiwxNDUuOGExLjkyLDEuOTIsMCwwLDEsMC0zLjZsNTUuMDgtMjAuM2E2LDYsMCwwLDAsMy41Ni0zLjU2bDIwLjMtNTUuMDhhMS45MiwxLjkyLDAsMCwxLDMuNiwwbDIwLjMsNTUuMDhhNiw2LDAsMCwwLDMuNTYsMy41Nmw1NS4wOCwyMC4zYTEuOTIsMS45MiwwLDAsMSwwLDMuNlpNMTQ2LDQwYTYsNiwwLDAsMSw2LTZoMThWMTZhNiw2LDAsMCwxLDEyLDBWMzRoMThhNiw2LDAsMCwxLDAsMTJIMTgyVjY0YTYsNiwwLDAsMS0xMiwwVjQ2SDE1MkE2LDYsMCwwLDEsMTQ2LDQwWk0yNDYsODhhNiw2LDAsMCwxLTYsNkgyMzB2MTBhNiw2LDAsMCwxLTEyLDBWOTRIMjA4YTYsNiwwLDAsMSwwLTEyaDEwVjcyYTYsNiwwLDAsMSwxMiwwVjgyaDEwQTYsNiwwLDAsMSwyNDYsODhaIi8+PC9zdmc+');}.icon-sun-dim{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjIsNDBWMzJhNiw2LDAsMCwxLDEyLDB2OGE2LDYsMCwwLDEtMTIsMFptNjgsODhhNjIsNjIsMCwxLDEtNjItNjJBNjIuMDcsNjIuMDcsMCwwLDEsMTkwLDEyOFptLTEyLDBhNTAsNTAsMCwxLDAtNTAsNTBBNTAuMDYsNTAuMDYsMCwwLDAsMTc4LDEyOFpNNTkuNzYsNjguMjRhNiw2LDAsMSwwLDguNDgtOC40OGwtOC04YTYsNiwwLDAsMC04LjQ4LDguNDhabTAsMTE5LjUyLTgsOGE2LDYsMCwxLDAsOC40OCw4LjQ4bDgtOGE2LDYsMCwxLDAtOC40OC04LjQ4Wm0xMzYtMTM2LTgsOGE2LDYsMCwxLDAsOC40OCw4LjQ4bDgtOGE2LDYsMCwwLDAtOC40OC04LjQ4Wm0uNDgsMTM2YTYsNiwwLDAsMC04LjQ4LDguNDhsOCw4YTYsNiwwLDAsMCw4LjQ4LTguNDhaTTQwLDEyMkgzMmE2LDYsMCwwLDAsMCwxMmg4YTYsNiwwLDAsMCwwLTEyWm04OCw4OGE2LDYsMCwwLDAtNiw2djhhNiw2LDAsMCwwLDEyLDB2LThBNiw2LDAsMCwwLDEyOCwyMTBabTk2LTg4aC04YTYsNiwwLDAsMCwwLDEyaDhhNiw2LDAsMCwwLDAtMTJaIi8+PC9zdmc+');}.icon-moon{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzIuMTMsMTQzLjY0YTYsNiwwLDAsMC02LTEuNDlBOTAuMDcsOTAuMDcsMCwwLDEsMTEzLjg2LDI5Ljg1YTYsNiwwLDAsMC03LjQ5LTcuNDhBMTAyLjg4LDEwMi44OCwwLDAsMCw1NC40OCw1OC42OCwxMDIsMTAyLDAsMCwwLDE5Ny4zMiwyMDEuNTJhMTAyLjg4LDEwMi44OCwwLDAsMCwzNi4zMS01MS44OUE2LDYsMCwwLDAsMjMyLjEzLDE0My42NFptLTQyLDQ4LjI5YTkwLDkwLDAsMCwxLTEyNi0xMjZBOTAuOSw5MC45LDAsMCwxLDk5LjY1LDM3LjY2LDEwMi4wNiwxMDIuMDYsMCwwLDAsMjE4LjM0LDE1Ni4zNSw5MC45LDkwLjksMCwwLDEsMTkwLjEsMTkxLjkzWiIvPjwvc3ZnPg==');}.icon-house{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTcuOSwxMTAuMWwtODAtODBhMTQsMTQsMCwwLDAtMTkuOCwwbC04MCw4MEExMy45MiwxMy45MiwwLDAsMCwzNCwxMjB2OTZhNiw2LDAsMCwwLDYsNmg2NGE2LDYsMCwwLDAsNi02VjE1OGgzNnY1OGE2LDYsMCwwLDAsNiw2aDY0YTYsNiwwLDAsMCw2LTZWMTIwQTEzLjkyLDEzLjkyLDAsMCwwLDIxNy45LDExMC4xWk0yMTAsMjEwSDE1OFYxNTJhNiw2LDAsMCwwLTYtNkgxMDRhNiw2LDAsMCwwLTYsNnY1OEg0NlYxMjBhMiwyLDAsMCwxLC41OC0xLjQybDgwLTgwYTIsMiwwLDAsMSwyLjg0LDBsODAsODBBMiwyLDAsMCwxLDIxMCwxMjBaIi8+PC9zdmc+');}.icon-x{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMDQuMjQsMTk1Ljc2YTYsNiwwLDEsMS04LjQ4LDguNDhMMTI4LDEzNi40OSw2MC4yNCwyMDQuMjRhNiw2LDAsMCwxLTguNDgtOC40OEwxMTkuNTEsMTI4LDUxLjc2LDYwLjI0YTYsNiwwLDAsMSw4LjQ4LTguNDhMMTI4LDExOS41MWw2Ny43Ni02Ny43NWE2LDYsMCwwLDEsOC40OCw4LjQ4TDEzNi40OSwxMjhaIi8+PC9zdmc+');}.icon-drop-simple{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNzIuNTMsNDkuMDZhMjUxLjQyLDI1MS40MiwwLDAsMC00MS4wOS0zOCw2LDYsMCwwLDAtNi44OCwwLDI1MS40MiwyNTEuNDIsMCwwLDAtNDEuMDksMzhDNTYuMzQsODAuMjYsNDIsMTEzLjA5LDQyLDE0NGE4Niw4NiwwLDAsMCwxNzIsMEMyMTQsMTEzLjA5LDE5OS42Niw4MC4yNiwxNzIuNTMsNDkuMDZaTTEyOCwyMThhNzQuMDksNzQuMDksMCwwLDEtNzQtNzRjMC01OS42Miw1OS0xMDguOTMsNzQtMTIwLjUxQzE0MywzNS4wNywyMDIsODQuMzgsMjAyLDE0NEE3NC4wOSw3NC4wOSwwLDAsMSwxMjgsMjE4WiIvPjwvc3ZnPg==');}.icon-list{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjIsMTI4YTYsNiwwLDAsMS02LDZINDBhNiw2LDAsMCwxLDAtMTJIMjE2QTYsNiwwLDAsMSwyMjIsMTI4Wk00MCw3MEgyMTZhNiw2LDAsMCwwLDAtMTJINDBhNiw2LDAsMCwwLDAsMTJaTTIxNiwxODZINDBhNiw2LDAsMCwwLDAsMTJIMjE2YTYsNiwwLDAsMCwwLTEyWiIvPjwvc3ZnPg==');}.icon-facebook-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjgsMjZBMTAyLDEwMiwwLDEsMCwyMzAsMTI4LDEwMi4xMiwxMDIuMTIsMCwwLDAsMTI4LDI2Wm02LDE5MS44VjE1MGgyNmE2LDYsMCwwLDAsMC0xMkgxMzRWMTEyYTE4LDE4LDAsMCwxLDE4LTE4aDE2YTYsNiwwLDAsMCwwLTEySDE1MmEzMCwzMCwwLDAsMC0zMCwzMHYyNkg5NmE2LDYsMCwwLDAsMCwxMmgyNnY2Ny44YTkwLDkwLDAsMSwxLDEyLDBaIi8+PC9zdmc+');}.icon-instagram-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjgsODJhNDYsNDYsMCwxLDAsNDYsNDZBNDYuMDYsNDYuMDYsMCwwLDAsMTI4LDgyWm0wLDgwYTM0LDM0LDAsMSwxLDM0LTM0QTM0LDM0LDAsMCwxLDEyOCwxNjJaTTE3NiwyNkg4MEE1NC4wNiw1NC4wNiwwLDAsMCwyNiw4MHY5NmE1NC4wNiw1NC4wNiwwLDAsMCw1NCw1NGg5NmE1NC4wNiw1NC4wNiwwLDAsMCw1NC01NFY4MEE1NC4wNiw1NC4wNiwwLDAsMCwxNzYsMjZabTQyLDE1MGE0Miw0MiwwLDAsMS00Miw0Mkg4MGE0Miw0MiwwLDAsMS00Mi00MlY4MEE0Miw0MiwwLDAsMSw4MCwzOGg5NmE0Miw0MiwwLDAsMSw0Miw0MlpNMTkwLDc2YTEwLDEwLDAsMSwxLTEwLTEwQTEwLDEwLDAsMCwxLDE5MCw3NloiLz48L3N2Zz4=');}.icon-star-half-fi{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzkuMTgsOTcuMjZBMTYuMzgsMTYuMzgsMCwwLDAsMjI0LjkyLDg2bC01OS00Ljc2TDE0My4xNCwyNi4xNWExNi4zNiwxNi4zNiwwLDAsMC0zMC4yNywwTDkwLjExLDgxLjIzLDMxLjA4LDg2YTE2LjQ2LDE2LjQ2LDAsMCwwLTkuMzcsMjguODZsNDUsMzguODNMNTMsMjExLjc1YTE2LjQsMTYuNCwwLDAsMCwyNC41LDE3LjgyTDEyOCwxOTguNDlsNTAuNTMsMzEuMDhBMTYuNCwxNi40LDAsMCwwLDIwMywyMTEuNzVsLTEzLjc2LTU4LjA3LDQ1LTM4LjgzQTE2LjQzLDE2LjQzLDAsMCwwLDIzOS4xOCw5Ny4yNlptLTE1LjM0LDUuNDctNDguNyw0MmE4LDgsMCwwLDAtMi41Niw3LjkxbDE0Ljg4LDYyLjhhLjM3LjM3LDAsMCwxLS4xNy40OGMtLjE4LjE0LS4yMy4xMS0uMzgsMGwtNTQuNzItMzMuNjVBOCw4LDAsMCwwLDEyOCwxODEuMVYzMmMuMjQsMCwuMjcuMDguMzUuMjZMMTUzLDkxLjg2YTgsOCwwLDAsMCw2Ljc1LDQuOTJsNjMuOTEsNS4xNmMuMTYsMCwuMjUsMCwuMzQuMjlTMjI0LDEwMi42MywyMjMuODQsMTAyLjczWiIvPjwvc3ZnPg==');}.icon-star-fi{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzQuMjksMTE0Ljg1bC00NSwzOC44M0wyMDMsMjExLjc1YTE2LjQsMTYuNCwwLDAsMS0yNC41LDE3LjgyTDEyOCwxOTguNDksNzcuNDcsMjI5LjU3QTE2LjQsMTYuNCwwLDAsMSw1MywyMTEuNzVsMTMuNzYtNTguMDctNDUtMzguODNBMTYuNDYsMTYuNDYsMCwwLDEsMzEuMDgsODZsNTktNC43NiwyMi43Ni01NS4wOGExNi4zNiwxNi4zNiwwLDAsMSwzMC4yNywwbDIyLjc1LDU1LjA4LDU5LDQuNzZhMTYuNDYsMTYuNDYsMCwwLDEsOS4zNywyOC44NloiLz48L3N2Zz4=');} |
| | | .icon-google-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjQsMTI4YTk2LDk2LDAsMSwxLTIxLjk1LTYxLjA5LDgsOCwwLDEsMS0xMi4zMywxMC4xOEE4MCw4MCwwLDEsMCwyMDcuNiwxMzZIMTI4YTgsOCwwLDAsMSwwLTE2aDg4QTgsOCwwLDAsMSwyMjQsMTI4WiIvPjwvc3ZnPg==');}.icon-apple-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjMuMywxNjkuNTlhOC4wNyw4LjA3LDAsMCwwLTIuOC0zLjRDMjAzLjUzLDE1NC41MywyMDAsMTM0LjY0LDIwMCwxMjBjMC0xNy42NywxMy40Ny0zMy4wNiwyMS41LTQwLjY3YTgsOCwwLDAsMCwwLTExLjYyQzIwOC44Miw1NS43NCwxODcuODIsNDgsMTY4LDQ4YTcyLjIsNzIuMiwwLDAsMC00MCwxMi4xMyw3MS41Niw3MS41NiwwLDAsMC05MC43MSw5LjA5QTc0LjYzLDc0LjYzLDAsMCwwLDE2LDEyMy40YTEyNy4wNiwxMjcuMDYsMCwwLDAsNDAuMTQsODkuNzNBMzkuOCwzOS44LDAsMCwwLDgzLjU5LDIyNGg4Ny42OGEzOS44NCwzOS44NCwwLDAsMCwyOS4xMi0xMi41NywxMjUsMTI1LDAsMCwwLDE3LjgyLTI0LjZDMjI1LjIzLDE3NCwyMjQuMzMsMTcyLDIyMy4zLDE2OS41OVptLTM0LjYzLDMwLjk0YTIzLjc2LDIzLjc2LDAsMCwxLTE3LjQsNy40N0g4My41OWEyMy44MiwyMy44MiwwLDAsMS0xNi40NC02LjUxQTExMS4xNCwxMTEuMTQsMCwwLDEsMzIsMTIzLDU4LjUsNTguNSwwLDAsMSw0OC42NSw4MC40Nyw1NC44MSw1NC44MSwwLDAsMSw4OCw2NGguNzhBNTUuNDUsNTUuNDUsMCwwLDEsMTIzLDc2LjI4YTgsOCwwLDAsMCwxMCwwQTU1LjQ0LDU1LjQ0LDAsMCwxLDE2OCw2NGE3MC42NCw3MC42NCwwLDAsMSwzNiwxMC4zNWMtMTMsMTQuNTItMjAsMzAuNDctMjAsNDUuNjUsMCwyMy43Nyw3LjY0LDQyLjczLDIyLjE4LDU1LjNBMTA1LjgyLDEwNS44MiwwLDAsMSwxODguNjcsMjAwLjUzWk0xMjguMjMsMzBBNDAsNDAsMCwwLDEsMTY3LDBoMWE4LDgsMCwwLDEsMCwxNmgtMWEyNCwyNCwwLDAsMC0yMy4yNCwxOCw4LDgsMCwxLDEtMTUuNS00WiIvPjwvc3ZnPg==');}.icon-check-circle{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNzMuNjYsOTguMzRhOCw4LDAsMCwxLDAsMTEuMzJsLTU2LDU2YTgsOCwwLDAsMS0xMS4zMiwwbC0yNC0yNGE4LDgsMCwwLDEsMTEuMzItMTEuMzJMMTEyLDE0OC42OWw1MC4zNC01MC4zNUE4LDgsMCwwLDEsMTczLjY2LDk4LjM0Wk0yMzIsMTI4QTEwNCwxMDQsMCwxLDEsMTI4LDI0LDEwNC4xMSwxMDQuMTEsMCwwLDEsMjMyLDEyOFptLTE2LDBhODgsODgsMCwxLDAtODgsODhBODguMSw4OC4xLDAsMCwwLDIxNiwxMjhaIi8+PC9zdmc+');}.icon-cloud-slash{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik01My45MiwzNC42MkE4LDgsMCwxLDAsNDIuMDgsNDUuMzhMODEuMzIsODguNTVsLS4wNi4xMkE2NSw2NSwwLDAsMCw3Miw4OGE2NCw2NCwwLDAsMCwwLDEyOGg4OGE4Ny4zNCw4Ny4zNCwwLDAsMCwzMS44LTUuOTNsMTAuMjgsMTEuMzFhOCw4LDAsMSwwLDExLjg0LTEwLjc2Wk0xNjAsMjAwSDcyYTQ4LDQ4LDAsMCwxLDAtOTZjMS4xLDAsMi4yLDAsMy4zLjEyQTg4LjQsODguNCwwLDAsMCw3MiwxMjhhOCw4LDAsMCwwLDE2LDAsNzIuMjUsNzIuMjUsMCwwLDEsNS4wNi0yNi41NGw4Nyw5NS43QTcxLjY2LDcxLjY2LDAsMCwxLDE2MCwyMDBabTg4LTcyYTg3Ljg5LDg3Ljg5LDAsMCwxLTIyLjM1LDU4LjYxQTgsOCwwLDAsMSwyMTMuNzEsMTc2LDcyLDcyLDAsMCwwLDExNy4zNyw3MGE4LDgsMCwwLDEtOS40OC0xMi44OUE4OCw4OCwwLDAsMSwyNDgsMTI4WiIvPjwvc3ZnPg==');}.icon-exclamation-mark{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNDQsMjAwYTE2LDE2LDAsMSwxLTE2LTE2QTE2LDE2LDAsMCwxLDE0NCwyMDBabS0xNi00MGE4LDgsMCwwLDAsOC04VjQ4YTgsOCwwLDAsMC0xNiwwVjE1MkE4LDgsMCwwLDAsMTI4LDE2MFoiLz48L3N2Zz4=');}.icon-cloud-arrow-down{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yNDgsMTI4YTg3LjM0LDg3LjM0LDAsMCwxLTE3LjYsNTIuODEsOCw4LDAsMSwxLTEyLjgtOS42MkE3MS4zNCw3MS4zNCwwLDAsMCwyMzIsMTI4YTcyLDcyLDAsMCwwLTE0NCwwLDgsOCwwLDAsMS0xNiwwLDg4LDg4LDAsMCwxLDMuMjktMjMuODhDNzQuMiwxMDQsNzMuMSwxMDQsNzIsMTA0YTQ4LDQ4LDAsMCwwLDAsOTZIOTZhOCw4LDAsMCwxLDAsMTZINzJBNjQsNjQsMCwxLDEsODEuMjksODguNjgsODgsODgsMCwwLDEsMjQ4LDEyOFptLTY5LjY2LDQyLjM0TDE2MCwxODguNjlWMTI4YTgsOCwwLDAsMC0xNiwwdjYwLjY5bC0xOC4zNC0xOC4zNWE4LDgsMCwwLDAtMTEuMzIsMTEuMzJsMzIsMzJhOCw4LDAsMCwwLDExLjMyLDBsMzItMzJhOCw4LDAsMCwwLTExLjMyLTExLjMyWiIvPjwvc3ZnPg==');}.icon-caret-down{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTMuNjYsMTAxLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzIsMGwtODAtODBBOCw4LDAsMCwxLDUzLjY2LDkwLjM0TDEyOCwxNjQuNjlsNzQuMzQtNzQuMzVhOCw4LDAsMCwxLDExLjMyLDExLjMyWiIvPjwvc3ZnPg==');}.icon-cloud-arrow-up{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNzguMzQsMTY1LjY2LDE2MCwxNDcuMzFWMjA4YTgsOCwwLDAsMS0xNiwwVjE0Ny4zMWwtMTguMzQsMTguMzVhOCw4LDAsMCwxLTExLjMyLTExLjMybDMyLTMyYTgsOCwwLDAsMSwxMS4zMiwwbDMyLDMyYTgsOCwwLDAsMS0xMS4zMiwxMS4zMlpNMTYwLDQwQTg4LjA4LDg4LjA4LDAsMCwwLDgxLjI5LDg4LjY4LDY0LDY0LDAsMSwwLDcyLDIxNmg0MGE4LDgsMCwwLDAsMC0xNkg3MmE0OCw0OCwwLDAsMSwwLTk2YzEuMSwwLDIuMiwwLDMuMjkuMTJBODgsODgsMCwwLDAsNzIsMTI4YTgsOCwwLDAsMCwxNiwwLDcyLDcyLDAsMSwxLDEwMC44LDY2LDgsOCwwLDAsMCwzLjIsMTUuMzQsNy45LDcuOSwwLDAsMCwzLjItLjY4QTg4LDg4LDAsMCwwLDE2MCw0MFoiLz48L3N2Zz4=');}.icon-cloud-check{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjAsNDBBODguMDksODguMDksMCwwLDAsODEuMjksODguNjcsNjQsNjQsMCwxLDAsNzIsMjE2aDg4YTg4LDg4LDAsMCwwLDAtMTc2Wm0wLDE2MEg3MmE0OCw0OCwwLDAsMSwwLTk2YzEuMSwwLDIuMiwwLDMuMjkuMTFBODgsODgsMCwwLDAsNzIsMTI4YTgsOCwwLDAsMCwxNiwwLDcyLDcyLDAsMSwxLDcyLDcyWm0zNy42Ni05My42NmE4LDgsMCwwLDEsMCwxMS4zMmwtNDgsNDhhOCw4LDAsMCwxLTExLjMyLDBsLTI0LTI0YTgsOCwwLDAsMSwxMS4zMi0xMS4zMkwxNDQsMTQ4LjY5bDQyLjM0LTQyLjM1QTgsOCwwLDAsMSwxOTcuNjYsMTA2LjM0WiIvPjwvc3ZnPg==');}.icon-cloud-warning{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjAsNDBBODguMDksODguMDksMCwwLDAsODEuMjksODguNjcsNjQsNjQsMCwxLDAsNzIsMjE2aDg4YTg4LDg4LDAsMCwwLDAtMTc2Wm0wLDE2MEg3MmE0OCw0OCwwLDAsMSwwLTk2YzEuMSwwLDIuMiwwLDMuMjkuMTFBODgsODgsMCwwLDAsNzIsMTI4YTgsOCwwLDAsMCwxNiwwLDcyLDcyLDAsMSwxLDcyLDcyWm0tOC03MlY4OGE4LDgsMCwwLDEsMTYsMHY0MGE4LDgsMCwwLDEtMTYsMFptMjAsMzZhMTIsMTIsMCwxLDEtMTItMTJBMTIsMTIsMCwwLDEsMTcyLDE2NFoiLz48L3N2Zz4=');}.icon-syncing{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiI+PHBhdGggaWQ9InJlZnJlc2giIGQ9Ik0xNjAuMDQ3IDEyMi44NzVhMzAuNzg0IDMwLjc4NCAwIDAgMC0yMS43NSA4Ljc5N2MtMi44NDIgMy4wMDMtLjQ2NyA0Ljk3MSAxLjMxMiAzLjE1NiAxMS4wNDMtMTAuNzg2IDI4LjcxLTEwLjY4IDM5LjYyNS4yMzRsNy4yMDMgNy4yMDRoLTEyLjg3NWMtMy4zNDcuMDA4LTMuMTY1IDMuODc1IDAgMy44NzVoMTYuMTFjMi4wNjIgMCAyLjU0LTEuNDE4IDIuNTYyLTQuOTdsLjA5NC0xNC45MjFjLjAyLTMuMjktMy40MzctMy4xNjUtMy40MzcgMHYxMi44NmwtNy4yMDMtNy4xODhhMzAuNzY4IDMwLjc2OCAwIDAgMC0yMS42NDEtOS4wNDd6bS0yOS41OTQgMzkuNzk3Yy0yLjA2MiAwLTIuNTI0IDEuNDAyLTIuNTQ3IDQuOTUzbC0uMDk0IDE0LjkyMmMtLjAyIDMuMjkgMy40MjIgMy4xNjQgMy40MjIgMHYtMTIuODZsNy4yMDMgNy4yMDRjMTEuOTU2IDExLjk1NSAzMS4zMTIgMTIuMDY0IDQzLjQwNy4yNSAyLjg0Mi0zLjAwMy40NTEtNC45ODgtMS4zMjgtMy4xNzItMTEuMDQzIDEwLjc4Ni0yOC43MSAxMC42OC0zOS42MjUtLjIzNWwtNy4xODgtNy4yMDNoMTIuODZjMy4zNDctLjAwOCAzLjE2NS0zLjg2IDAtMy44NmgtMTYuMTF6Ii8+PHBhdGggZD0iTTE2MCA0NGE4NC4xMSA4NC4xMSAwIDAgMC03Ni40MSA0OS4xMkE2MC43MSA2MC43MSAwIDAgMCA3MiA5MmE2MCA2MCAwIDAgMCAwIDEyMGg4OGE4NCA4NCAwIDAgMCAwLTE2OFptMCAxNjBINzJhNTIgNTIgMCAxIDEgOC41NS0xMDMuM0E4My42NiA4My42NiAwIDAgMCA3NiAxMjhhNCA0IDAgMCAwIDggMCA3NiA3NiAwIDEgMSA3NiA3NloiLz48L3N2Zz4=');}.icon-cloud-x{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjAsNDBBODguMDksODguMDksMCwwLDAsODEuMjksODguNjcsNjQsNjQsMCwxLDAsNzIsMjE2aDg4YTg4LDg4LDAsMCwwLDAtMTc2Wm0wLDE2MEg3MmE0OCw0OCwwLDAsMSwwLTk2YzEuMSwwLDIuMiwwLDMuMjkuMTFBODgsODgsMCwwLDAsNzIsMTI4YTgsOCwwLDAsMCwxNiwwLDcyLDcyLDAsMSwxLDcyLDcyWm0yOS42Ni04Mi4zNEwxNzEuMzEsMTM2bDE4LjM1LDE4LjM0YTgsOCwwLDAsMS0xMS4zMiwxMS4zMkwxNjAsMTQ3LjMxbC0xOC4zNCwxOC4zNWE4LDgsMCwwLDEtMTEuMzItMTEuMzJMMTQ4LjY5LDEzNmwtMTguMzUtMTguMzRhOCw4LDAsMCwxLDExLjMyLTExLjMyTDE2MCwxMjQuNjlsMTguMzQtMTguMzVhOCw4LDAsMCwxLDExLjMyLDExLjMyWiIvPjwvc3ZnPg==');}.icon-arrows-clockwise{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjQsNDhWOTZhOCw4LDAsMCwxLTgsOEgxNjhhOCw4LDAsMCwxLDAtMTZoMjguNjlMMTgyLjA2LDczLjM3YTc5LjU2LDc5LjU2LDAsMCwwLTU2LjEzLTIzLjQzaC0uNDVBNzkuNTIsNzkuNTIsMCwwLDAsNjkuNTksNzIuNzEsOCw4LDAsMCwxLDU4LjQxLDYxLjI3YTk2LDk2LDAsMCwxLDEzNSwuNzlMMjA4LDc2LjY5VjQ4YTgsOCwwLDAsMSwxNiwwWk0xODYuNDEsMTgzLjI5YTgwLDgwLDAsMCwxLTExMi40Ny0uNjZMNTkuMzEsMTY4SDg4YTgsOCwwLDAsMCwwLTE2SDQwYTgsOCwwLDAsMC04LDh2NDhhOCw4LDAsMCwwLDE2LDBWMTc5LjMxbDE0LjYzLDE0LjYzQTk1LjQzLDk1LjQzLDAsMCwwLDEzMCwyMjIuMDZoLjUzYTk1LjM2LDk1LjM2LDAsMCwwLDY3LjA3LTI3LjMzLDgsOCwwLDAsMC0xMS4xOC0xMS40NFoiLz48L3N2Zz4=');}.icon-share-fat{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzcuNjYsMTA2LjM1bC04MC04MEE4LDgsMCwwLDAsMTQ0LDMyVjcyLjM1Yy0yNS45NCwyLjIyLTU0LjU5LDE0LjkyLTc4LjE2LDM0LjkxLTI4LjM4LDI0LjA4LTQ2LjA1LDU1LjExLTQ5Ljc2LDg3LjM3YTEyLDEyLDAsMCwwLDIwLjY4LDkuNThoMGMxMS0xMS43MSw1MC4xNC00OC43NCwxMDcuMjQtNTJWMTkyYTgsOCwwLDAsMCwxMy42Niw1LjY1bDgwLTgwQTgsOCwwLDAsMCwyMzcuNjYsMTA2LjM1Wk0xNjAsMTcyLjY5VjE0NGE4LDgsMCwwLDAtOC04Yy0yOC4wOCwwLTU1LjQzLDcuMzMtODEuMjksMjEuOGExOTYuMTcsMTk2LjE3LDAsMCwwLTM2LjU3LDI2LjUyYzUuOC0yMy44NCwyMC40Mi00Ni41MSw0Mi4wNS02NC44NkM5OS40MSw5OS43NywxMjcuNzUsODgsMTUyLDg4YTgsOCwwLDAsMCw4LThWNTEuMzJMMjIwLjY5LDExMloiLz48L3N2Zz4=');}.icon-trash{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTYsNDhIMTc2VjQwYTI0LDI0LDAsMCwwLTI0LTI0SDEwNEEyNCwyNCwwLDAsMCw4MCw0MHY4SDQwYTgsOCwwLDAsMCwwLDE2aDhWMjA4YTE2LDE2LDAsMCwwLDE2LDE2SDE5MmExNiwxNiwwLDAsMCwxNi0xNlY2NGg4YTgsOCwwLDAsMCwwLTE2Wk05Niw0MGE4LDgsMCwwLDEsOC04aDQ4YTgsOCwwLDAsMSw4LDh2OEg5NlptOTYsMTY4SDY0VjY0SDE5MlpNMTEyLDEwNHY2NGE4LDgsMCwwLDEtMTYsMFYxMDRhOCw4LDAsMCwxLDE2LDBabTQ4LDB2NjRhOCw4LDAsMCwxLTE2LDBWMTA0YTgsOCwwLDAsMSwxNiwwWiIvPjwvc3ZnPg==');}.icon-star{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzkuMTgsOTcuMjZBMTYuMzgsMTYuMzgsMCwwLDAsMjI0LjkyLDg2bC01OS00Ljc2TDE0My4xNCwyNi4xNWExNi4zNiwxNi4zNiwwLDAsMC0zMC4yNywwTDkwLjExLDgxLjIzLDMxLjA4LDg2YTE2LjQ2LDE2LjQ2LDAsMCwwLTkuMzcsMjguODZsNDUsMzguODNMNTMsMjExLjc1YTE2LjM4LDE2LjM4LDAsMCwwLDI0LjUsMTcuODJMMTI4LDE5OC40OWw1MC41MywzMS4wOEExNi40LDE2LjQsMCwwLDAsMjAzLDIxMS43NWwtMTMuNzYtNTguMDcsNDUtMzguODNBMTYuNDMsMTYuNDMsMCwwLDAsMjM5LjE4LDk3LjI2Wm0tMTUuMzQsNS40Ny00OC43LDQyYTgsOCwwLDAsMC0yLjU2LDcuOTFsMTQuODgsNjIuOGEuMzcuMzcsMCwwLDEtLjE3LjQ4Yy0uMTguMTQtLjIzLjExLS4zOCwwbC01NC43Mi0zMy42NWE4LDgsMCwwLDAtOC4zOCwwTDY5LjA5LDIxNS45NGMtLjE1LjA5LS4xOS4xMi0uMzgsMGEuMzcuMzcsMCwwLDEtLjE3LS40OGwxNC44OC02Mi44YTgsOCwwLDAsMC0yLjU2LTcuOTFsLTQ4LjctNDJjLS4xMi0uMS0uMjMtLjE5LS4xMy0uNXMuMTgtLjI3LjMzLS4yOWw2My45Mi01LjE2QTgsOCwwLDAsMCwxMDMsOTEuODZsMjQuNjItNTkuNjFjLjA4LS4xNy4xMS0uMjUuMzUtLjI1cy4yNy4wOC4zNS4yNUwxNTMsOTEuODZhOCw4LDAsMCwwLDYuNzUsNC45Mmw2My45Miw1LjE2Yy4xNSwwLC4yNCwwLC4zMy4yOVMyMjQsMTAyLjYzLDIyMy44NCwxMDIuNzNaIi8+PC9zdmc+');}.icon-alphabetical{--icon:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTgzLjc4IDE4NC4wNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNTkuNTg2IDY5Ljc0MmMtMC44NTEzIDAtMS40NjEgMC4xOTY1Ni0xLjgzNjYgMC41OTcxOC0wLjM1MDU0IDAuMzc1NTgtMC41Mjk1OCAxLjAyMjktMC41Mjk1OCAxLjk0OTNzMC4xNzkwMyAxLjU5MzcgMC41Mjk1OCAxLjk5NDRjMC4zNzU1OCAwLjM3NTU4IDAuOTg1MjkgMC41NjMzOCAxLjgzNjYgMC41NjMzOGg3LjAxOTdsLTEyLjQyOCAzNC4zNjZoLTIuMTA3Yy0wLjg1MTMgMC0xLjQ2MSAwLjE5NjU2LTEuODM2NiAwLjU5NzE4LTAuMzUwNTQgMC4zNzU1OC0wLjUyOTU3IDEuMDM0MS0wLjUyOTU3IDEuOTYwNiAwIDAuOTI2NDQgMC4xNzkwMyAxLjU4MjUgMC41Mjk1NyAxLjk4MyAwLjM3NTU4IDAuMzc1NTkgMC45ODUyOSAwLjU2MzM4IDEuODM2NiAwLjU2MzM4aDEyLjU1MmMwLjg1MTMgMCAxLjQ1MjItMC4xODc3OSAxLjgwMjgtMC41NjMzOCAwLjM3NTU4LTAuNDAwNjIgMC41NjMzNy0xLjA1NjYgMC41NjMzNy0xLjk4MyAwLTAuOTI2NDUtMC4xODc3OS0xLjU4NS0wLjU2MzM3LTEuOTYwNi0wLjM1MDU0LTAuNDAwNjItMC45NTE0Ny0wLjU5NzE4LTEuODAyOC0wLjU5NzE4aC00LjU1MjFsMy4xMjExLTguOTM0OWgxOC4yMmwzLjA3NiA4LjkzNDloLTUuMDcwNGMtMC44NTEzIDAtMS40NjEgMC4xOTY1Ni0xLjgzNjYgMC41OTcxOC0wLjM1MDU0IDAuMzc1NTgtMC41Mjk1OCAxLjAzNDEtMC41Mjk1OCAxLjk2MDYgMCAwLjkyNjQ0IDAuMTc5MDMgMS41ODI1IDAuNTI5NTggMS45ODMgMC4zNzU1OCAwLjM3NTU5IDAuOTg1MjkgMC41NjMzOCAxLjgzNjYgMC41NjMzOGgxMy4yOTZjMC44NTEzIDAgMS40NTIyLTAuMTg3NzkgMS44MDI4LTAuNTYzMzggMC4zNzU1OC0wLjQwMDYyIDAuNTYzMzctMS4wNTY2IDAuNTYzMzctMS45ODMgMC0wLjkyNjQ1LTAuMTg3NzktMS41ODUtMC41NjMzNy0xLjk2MDYtMC4zNTA1NC0wLjQwMDYyLTAuOTUxNDctMC41OTcxOC0xLjgwMjgtMC41OTcxOGgtMi4yODczbC0xMy4yNjItMzcuMDM2Yy0wLjMwMDQ3LTAuODUxMy0wLjc1OTk0LTEuNDYxLTEuMzg1OS0xLjgzNjYtMC42MDA5My0wLjQwMDYyLTEuNDA5Ny0wLjU5NzE4LTIuNDExMy0wLjU5NzE4em00NC4xNDYgMGMtMC44NTEzIDAtMS40NzIzIDAuMTk2NTYtMS44NDc4IDAuNTk3MTgtMC4zNTA1NSAwLjM3NTU4LTAuNTE4MyAxLjAyMjktMC41MTgzIDEuOTQ5M3YxMS45MWMwIDAuODc2MzMgMC4yMDUzMiAxLjUwNjEgMC42MzA5OCAxLjg4MTcgMC40MjU2NiAwLjM3NTU4IDEuMTU5MyAwLjU2MzM3IDIuMTg1OSAwLjU2MzM3czEuNzQ5LTAuMTg3NzkgMi4xNzQ3LTAuNTYzMzdjMC40MjU2OS0wLjM3NTU4IDAuNjQyMjYtMS4wMDUzIDAuNjQyMjYtMS44ODE3di05LjM1MTdoMTguODUxbC0yNC43NTQgMzUuMzAxYy0wLjM1MDU0IDAuNTI1ODItMC41MTgzMSAxLjA3MTctMC41MTgzMSAxLjYyMjYgMCAwLjkyNjQ1IDAuMTY3NzcgMS41ODI1IDAuNTE4MzEgMS45ODMxIDAuMzc1NTggMC4zNzU1OCAwLjk5NjU0IDAuNTYzMzggMS44NDc4IDAuNTYzMzhoMjguNzY2YzAuODUxMyAwIDEuNDUyMi0wLjE4NzggMS44MDI4LTAuNTYzMzggMC4zNzU1OC0wLjQwMDYyIDAuNTYzMzgtMS4wNTY2IDAuNTYzMzgtMS45ODMxdi0xMi42NjVjMC0wLjg3NjMzLTAuMjE2NTgtMS40OTQ4LTAuNjQyMjUtMS44NzA0LTAuNDI1NjYtMC4zNzU1OC0xLjE0OC0wLjU2MzM4LTIuMTc0Ny0wLjU2MzM4LTEuMDI2NiAwLTEuNzQ5IDAuMTg3NzktMi4xNzQ3IDAuNTYzMzgtMC40MjU2NiAwLjM3NTU4LTAuNjQyMjQgMC45OTQwMi0wLjY0MjI0IDEuODcwNHYxMC4xMDdoLTE5Ljk3OGwyNC45MDEtMzUuNDU5YzAuMjUwMzktMC4zNTA1NCAwLjM3MTgzLTAuODM4ODMgMC4zNzE4My0xLjQ2NDggMC0wLjkyNjQ1LTAuMTg3OC0xLjU3MzctMC41NjMzOC0xLjk0OTMtMC4zNTA1NS0wLjQwMDYyLTAuOTUxNDctMC41OTcxOC0xLjgwMjgtMC41OTcxOHptLTMxLjc1MiA1LjEwNDJoMC43MDk4NWw2Ljk4NTkgMjAuMzE1aC0xNC43MTZ6bS0zNy43MjMtNDkuMTgzYy00LjczNDIgMC04LjYzMTMgMy44OTctOC42MzEzIDguNjMxM3YxMTUuNDdjMCA0LjczNDIgMy44OTcgOC42MzEzIDguNjMxMyA4LjYzMTNoMTE1LjI2YzQuNzM0MiAwIDguNjQyMS0zLjg5NyA4LjY0MjEtOC42MzEzdi0xMTUuNDdjMC00LjczNDItMy45MDgyLTguNjMxMy04LjY0MjEtOC42MzEzem0wIDUuNzI0aDExNS4yNmMxLjY1OCAwIDIuOTA3IDEuMjQ5MSAyLjkwNyAyLjkwNzF2MTE1LjQ3YzAgMS42NTgtMS4yNDkxIDIuOTA3LTIuOTA3IDIuOTA3aC0xMTUuMjZjLTEuNjU4IDAtMi44OTU4LTEuMjQ5MS0yLjg5NTgtMi45MDd2LTExNS40N2MwLTEuNjU4IDEuMjM3OC0yLjkwNzEgMi44OTU4LTIuOTA3MXoiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIuNzIxMTQiLz48L3N2Zz4=');}.icon-magic-wand{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik00OCw2NGE4LDgsMCwwLDEsOC04SDcyVjQwYTgsOCwwLDAsMSwxNiwwVjU2aDE2YTgsOCwwLDAsMSwwLDE2SDg4Vjg4YTgsOCwwLDAsMS0xNiwwVjcySDU2QTgsOCwwLDAsMSw0OCw2NFpNMTg0LDE5MmgtOHYtOGE4LDgsMCwwLDAtMTYsMHY4aC04YTgsOCwwLDAsMCwwLDE2aDh2OGE4LDgsMCwwLDAsMTYsMHYtOGg4YTgsOCwwLDAsMCwwLTE2Wm01Ni00OEgyMjRWMTI4YTgsOCwwLDAsMC0xNiwwdjE2SDE5MmE4LDgsMCwwLDAsMCwxNmgxNnYxNmE4LDgsMCwwLDAsMTYsMFYxNjBoMTZhOCw4LDAsMCwwLDAtMTZaTTIxOS4zMSw4MCw4MCwyMTkuMzFhMTYsMTYsMCwwLDEtMjIuNjIsMEwzNi42OCwxOTguNjNhMTYsMTYsMCwwLDEsMC0yMi42M0wxNzYsMzYuNjlhMTYsMTYsMCwwLDEsMjIuNjMsMGwyMC42OCwyMC42OEExNiwxNiwwLDAsMSwyMTkuMzEsODBabS01NC42MywzMkwxNDQsOTEuMzFsLTk2LDk2TDY4LjY4LDIwOFpNMjA4LDY4LjY5LDE4Ny4zMSw0OGwtMzIsMzJMMTc2LDEwMC42OVoiLz48L3N2Zz4=');}.icon-sun-dim{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjAsNDBWMzJhOCw4LDAsMCwxLDE2LDB2OGE4LDgsMCwwLDEtMTYsMFptNzIsODhhNjQsNjQsMCwxLDEtNjQtNjRBNjQuMDcsNjQuMDcsMCwwLDEsMTkyLDEyOFptLTE2LDBhNDgsNDgsMCwxLDAtNDgsNDhBNDguMDUsNDguMDUsMCwwLDAsMTc2LDEyOFpNNTguMzQsNjkuNjZBOCw4LDAsMCwwLDY5LjY2LDU4LjM0bC04LThBOCw4LDAsMCwwLDUwLjM0LDYxLjY2Wm0wLDExNi42OC04LDhhOCw4LDAsMCwwLDExLjMyLDExLjMybDgtOGE4LDgsMCwwLDAtMTEuMzItMTEuMzJaTTE5Miw3MmE4LDgsMCwwLDAsNS42Ni0yLjM0bDgtOGE4LDgsMCwwLDAtMTEuMzItMTEuMzJsLTgsOEE4LDgsMCwwLDAsMTkyLDcyWm01LjY2LDExNC4zNGE4LDgsMCwwLDAtMTEuMzIsMTEuMzJsOCw4YTgsOCwwLDAsMCwxMS4zMi0xMS4zMlpNNDAsMTIwSDMyYTgsOCwwLDAsMCwwLDE2aDhhOCw4LDAsMCwwLDAtMTZabTg4LDg4YTgsOCwwLDAsMC04LDh2OGE4LDgsMCwwLDAsMTYsMHYtOEE4LDgsMCwwLDAsMTI4LDIwOFptOTYtODhoLThhOCw4LDAsMCwwLDAsMTZoOGE4LDgsMCwwLDAsMC0xNloiLz48L3N2Zz4=');}.icon-moon{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzMuNTQsMTQyLjIzYTgsOCwwLDAsMC04LTIsODguMDgsODguMDgsMCwwLDEtMTA5LjgtMTA5LjgsOCw4LDAsMCwwLTEwLTEwLDEwNC44NCwxMDQuODQsMCwwLDAtNTIuOTEsMzdBMTA0LDEwNCwwLDAsMCwxMzYsMjI0YTEwMy4wOSwxMDMuMDksMCwwLDAsNjIuNTItMjAuODgsMTA0Ljg0LDEwNC44NCwwLDAsMCwzNy01Mi45MUE4LDgsMCwwLDAsMjMzLjU0LDE0Mi4yM1pNMTg4LjksMTkwLjM0QTg4LDg4LDAsMCwxLDY1LjY2LDY3LjExYTg5LDg5LDAsMCwxLDMxLjQtMjZBMTA2LDEwNiwwLDAsMCw5Niw1NiwxMDQuMTEsMTA0LjExLDAsMCwwLDIwMCwxNjBhMTA2LDEwNiwwLDAsMCwxNC45Mi0xLjA2QTg5LDg5LDAsMCwxLDE4OC45LDE5MC4zNFoiLz48L3N2Zz4=');}.icon-house{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTkuMzEsMTA4LjY4bC04MC04MGExNiwxNiwwLDAsMC0yMi42MiwwbC04MCw4MEExNS44NywxNS44NywwLDAsMCwzMiwxMjB2OTZhOCw4LDAsMCwwLDgsOGg2NGE4LDgsMCwwLDAsOC04VjE2MGgzMnY1NmE4LDgsMCwwLDAsOCw4aDY0YTgsOCwwLDAsMCw4LThWMTIwQTE1Ljg3LDE1Ljg3LDAsMCwwLDIxOS4zMSwxMDguNjhaTTIwOCwyMDhIMTYwVjE1MmE4LDgsMCwwLDAtOC04SDEwNGE4LDgsMCwwLDAtOCw4djU2SDQ4VjEyMGw4MC04MCw4MCw4MFoiLz48L3N2Zz4=');}.icon-floppy-disk{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTkuMzEsNzIsMTg0LDM2LjY5QTE1Ljg2LDE1Ljg2LDAsMCwwLDE3Mi42OSwzMkg0OEExNiwxNiwwLDAsMCwzMiw0OFYyMDhhMTYsMTYsMCwwLDAsMTYsMTZIMjA4YTE2LDE2LDAsMCwwLDE2LTE2VjgzLjMxQTE1Ljg2LDE1Ljg2LDAsMCwwLDIxOS4zMSw3MlpNMTY4LDIwOEg4OFYxNTJoODBabTQwLDBIMTg0VjE1MmExNiwxNiwwLDAsMC0xNi0xNkg4OGExNiwxNiwwLDAsMC0xNiwxNnY1Nkg0OFY0OEgxNzIuNjlMMjA4LDgzLjMxWk0xNjAsNzJhOCw4LDAsMCwxLTgsOEg5NmE4LDgsMCwwLDEsMC0xNmg1NkE4LDgsMCwwLDEsMTYwLDcyWiIvPjwvc3ZnPg==');}.icon-clock{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjgsMjRBMTA0LDEwNCwwLDEsMCwyMzIsMTI4LDEwNC4xMSwxMDQuMTEsMCwwLDAsMTI4LDI0Wm0wLDE5MmE4OCw4OCwwLDEsMSw4OC04OEE4OC4xLDg4LjEsMCwwLDEsMTI4LDIxNlptNjQtODhhOCw4LDAsMCwxLTgsOEgxMjhhOCw4LDAsMCwxLTgtOFY3MmE4LDgsMCwwLDEsMTYsMHY0OGg0OEE4LDgsMCwwLDEsMTkyLDEyOFoiLz48L3N2Zz4=');}.icon-x-square{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMDgsMzJINDhBMTYsMTYsMCwwLDAsMzIsNDhWMjA4YTE2LDE2LDAsMCwwLDE2LDE2SDIwOGExNiwxNiwwLDAsMCwxNi0xNlY0OEExNiwxNiwwLDAsMCwyMDgsMzJabTAsMTc2SDQ4VjQ4SDIwOFYyMDhaTTE2NS42NiwxMDEuNjYsMTM5LjMxLDEyOGwyNi4zNSwyNi4zNGE4LDgsMCwwLDEtMTEuMzIsMTEuMzJMMTI4LDEzOS4zMWwtMjYuMzQsMjYuMzVhOCw4LDAsMCwxLTExLjMyLTExLjMyTDExNi42OSwxMjgsOTAuMzQsMTAxLjY2YTgsOCwwLDAsMSwxMS4zMi0xMS4zMkwxMjgsMTE2LjY5bDI2LjM0LTI2LjM1YTgsOCwwLDAsMSwxMS4zMiwxMS4zMloiLz48L3N2Zz4=');}.icon-eye-closed{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjgsMTc1YTgsOCwwLDAsMS0xMC45Mi0zbC0xOS0zMy4yQTEyMy4yMywxMjMuMjMsMCwwLDEsMTYyLDE1NS40Nmw1Ljg3LDM1LjIyYTgsOCwwLDAsMS02LjU4LDkuMjFBOC40LDguNCwwLDAsMSwxNjAsMjAwYTgsOCwwLDAsMS03Ljg4LTYuNjlsLTUuNzctMzQuNThhMTMzLjA2LDEzMy4wNiwwLDAsMS0zNi42OCwwbC01Ljc3LDM0LjU4QTgsOCwwLDAsMSw5NiwyMDBhOC40LDguNCwwLDAsMS0xLjMyLS4xMSw4LDgsMCwwLDEtNi41OC05LjIxTDk0LDE1NS40NmExMjMuMjMsMTIzLjIzLDAsMCwxLTM2LjA2LTE2LjY5TDM5LDE3MkE4LDgsMCwxLDEsMjUuMDYsMTY0bDIwLTM1YTE1My40NywxNTMuNDcsMCwwLDEtMTkuMy0yMEE4LDgsMCwxLDEsMzguMjIsOTljMTYuNiwyMC41NCw0NS42NCw0NSw4OS43OCw0NXM3My4xOC0yNC40OSw4OS43OC00NUE4LDgsMCwxLDEsMjMwLjIyLDEwOWExNTMuNDcsMTUzLjQ3LDAsMCwxLTE5LjMsMjBsMjAsMzVBOCw4LDAsMCwxLDIyOCwxNzVaIi8+PC9zdmc+');}.icon-x{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMDUuNjYsMTk0LjM0YTgsOCwwLDAsMS0xMS4zMiwxMS4zMkwxMjgsMTM5LjMxLDYxLjY2LDIwNS42NmE4LDgsMCwwLDEtMTEuMzItMTEuMzJMMTE2LjY5LDEyOCw1MC4zNCw2MS42NkE4LDgsMCwwLDEsNjEuNjYsNTAuMzRMMTI4LDExNi42OWw2Ni4zNC02Ni4zNWE4LDgsMCwwLDEsMTEuMzIsMTEuMzJMMTM5LjMxLDEyOFoiLz48L3N2Zz4=');}.icon-drop-simple{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNzQsNDcuNzVhMjU0LjE5LDI1NC4xOSwwLDAsMC00MS40NS0zOC4zLDgsOCwwLDAsMC05LjE4LDBBMjU0LjE5LDI1NC4xOSwwLDAsMCw4Miw0Ny43NUM1NC41MSw3OS4zMiw0MCwxMTIuNiw0MCwxNDRhODgsODgsMCwwLDAsMTc2LDBDMjE2LDExMi42LDIwMS40OSw3OS4zMiwxNzQsNDcuNzVaTTEyOCwyMTZhNzIuMDgsNzIuMDgsMCwwLDEtNzItNzJjMC01Ny4yMyw1NS40Ny0xMDUsNzItMTE4LDE2LjUzLDEzLDcyLDYwLjc1LDcyLDExOEE3Mi4wOCw3Mi4wOCwwLDAsMSwxMjgsMjE2WiIvPjwvc3ZnPg==');}.icon-x-circle{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjUuNjYsMTAxLjY2LDEzOS4zMSwxMjhsMjYuMzUsMjYuMzRhOCw4LDAsMCwxLTExLjMyLDExLjMyTDEyOCwxMzkuMzFsLTI2LjM0LDI2LjM1YTgsOCwwLDAsMS0xMS4zMi0xMS4zMkwxMTYuNjksMTI4LDkwLjM0LDEwMS42NmE4LDgsMCwwLDEsMTEuMzItMTEuMzJMMTI4LDExNi42OWwyNi4zNC0yNi4zNWE4LDgsMCwwLDEsMTEuMzIsMTEuMzJaTTIzMiwxMjhBMTA0LDEwNCwwLDEsMSwxMjgsMjQsMTA0LjExLDEwNC4xMSwwLDAsMSwyMzIsMTI4Wm0tMTYsMGE4OCw4OCwwLDEsMC04OCw4OEE4OC4xLDg4LjEsMCwwLDAsMjE2LDEyOFoiLz48L3N2Zz4=');}.icon-magnifying-glass{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjkuNjYsMjE4LjM0bC01MC4wNy01MC4wNmE4OC4xMSw4OC4xMSwwLDEsMC0xMS4zMSwxMS4zMWw1MC4wNiw1MC4wN2E4LDgsMCwwLDAsMTEuMzItMTEuMzJaTTQwLDExMmE3Miw3MiwwLDEsMSw3Miw3MkE3Mi4wOCw3Mi4wOCwwLDAsMSw0MCwxMTJaIi8+PC9zdmc+');}.icon-plus-square{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMDgsMzJINDhBMTYsMTYsMCwwLDAsMzIsNDhWMjA4YTE2LDE2LDAsMCwwLDE2LDE2SDIwOGExNiwxNiwwLDAsMCwxNi0xNlY0OEExNiwxNiwwLDAsMCwyMDgsMzJabTAsMTc2SDQ4VjQ4SDIwOFYyMDhabS0zMi04MGE4LDgsMCwwLDEtOCw4SDEzNnYzMmE4LDgsMCwwLDEtMTYsMFYxMzZIODhhOCw4LDAsMCwxLDAtMTZoMzJWODhhOCw4LDAsMCwxLDE2LDB2MzJoMzJBOCw4LDAsMCwxLDE3NiwxMjhaIi8+PC9zdmc+');}.icon-infinity{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yNDgsMTI4YTU2LDU2LDAsMCwxLTk1LjYsMzkuNmwtLjMzLS4zNUw5Mi4xMiw5OS41NWE0MCw0MCwwLDEsMCwwLDU2LjlsOC41Mi05LjYyYTgsOCwwLDEsMSwxMiwxMC42MWwtOC42OSw5LjgxLS4zMy4zNWE1Niw1NiwwLDEsMSwwLTc5LjJsLjMzLjM1LDU5Ljk1LDY3LjdhNDAsNDAsMCwxLDAsMC01Ni45bC04LjUyLDkuNjJhOCw4LDAsMSwxLTEyLTEwLjYxbDguNjktOS44MS4zMy0uMzVBNTYsNTYsMCwwLDEsMjQ4LDEyOFoiLz48L3N2Zz4=');}.icon-arrow-counter-clockwise{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjQsMTI4YTk2LDk2LDAsMCwxLTk0LjcxLDk2SDEyOEE5NS4zOCw5NS4zOCwwLDAsMSw2Mi4xLDE5Ny44YTgsOCwwLDAsMSwxMS0xMS42M0E4MCw4MCwwLDEsMCw3MS40Myw3MS4zOWEzLjA3LDMuMDcsMCwwLDEtLjI2LjI1TDQ0LjU5LDk2SDcyYTgsOCwwLDAsMSwwLDE2SDI0YTgsOCwwLDAsMS04LThWNTZhOCw4LDAsMCwxLDE2LDBWODUuOEw2MC4yNSw2MEE5Niw5NiwwLDAsMSwyMjQsMTI4WiIvPjwvc3ZnPg==');}.icon-facebook-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjgsMjRBMTA0LDEwNCwwLDEsMCwyMzIsMTI4LDEwNC4xMSwxMDQuMTEsMCwwLDAsMTI4LDI0Wm04LDE5MS42M1YxNTJoMjRhOCw4LDAsMCwwLDAtMTZIMTM2VjExMmExNiwxNiwwLDAsMSwxNi0xNmgxNmE4LDgsMCwwLDAsMC0xNkgxNTJhMzIsMzIsMCwwLDAtMzIsMzJ2MjRIOTZhOCw4LDAsMCwwLDAsMTZoMjR2NjMuNjNhODgsODgsMCwxLDEsMTYsMFoiLz48L3N2Zz4=');}.icon-instagram-logo{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjgsODBhNDgsNDgsMCwxLDAsNDgsNDhBNDguMDUsNDguMDUsMCwwLDAsMTI4LDgwWm0wLDgwYTMyLDMyLDAsMSwxLDMyLTMyQTMyLDMyLDAsMCwxLDEyOCwxNjBaTTE3NiwyNEg4MEE1Ni4wNiw1Ni4wNiwwLDAsMCwyNCw4MHY5NmE1Ni4wNiw1Ni4wNiwwLDAsMCw1Niw1Nmg5NmE1Ni4wNiw1Ni4wNiwwLDAsMCw1Ni01NlY4MEE1Ni4wNiw1Ni4wNiwwLDAsMCwxNzYsMjRabTQwLDE1MmE0MCw0MCwwLDAsMS00MCw0MEg4MGE0MCw0MCwwLDAsMS00MC00MFY4MEE0MCw0MCwwLDAsMSw4MCw0MGg5NmE0MCw0MCwwLDAsMSw0MCw0MFpNMTkyLDc2YTEyLDEyLDAsMSwxLTEyLTEyQTEyLDEyLDAsMCwxLDE5Miw3NloiLz48L3N2Zz4=');}.icon-list{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjQsMTI4YTgsOCwwLDAsMS04LDhINDBhOCw4LDAsMCwxLDAtMTZIMjE2QTgsOCwwLDAsMSwyMjQsMTI4Wk00MCw3MkgyMTZhOCw4LDAsMCwwLDAtMTZINDBhOCw4LDAsMCwwLDAsMTZaTTIxNiwxODRINDBhOCw4LDAsMCwwLDAsMTZIMjE2YTgsOCwwLDAsMCwwLTE2WiIvPjwvc3ZnPg==');}.icon-door{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzIsMjE2SDIwOFY0MGExNiwxNiwwLDAsMC0xNi0xNkg2NEExNiwxNiwwLDAsMCw0OCw0MFYyMTZIMjRhOCw4LDAsMCwwLDAsMTZIMjMyYTgsOCwwLDAsMCwwLTE2Wk02NCw0MEgxOTJWMjE2SDY0Wm0xMDQsOTJhMTIsMTIsMCwxLDEtMTItMTJBMTIsMTIsMCwwLDEsMTY4LDEzMloiLz48L3N2Zz4=');}.icon-bell{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjEuOCwxNzUuOTRDMjE2LjI1LDE2Ni4zOCwyMDgsMTM5LjMzLDIwOCwxMDRhODAsODAsMCwxLDAtMTYwLDBjMCwzNS4zNC04LjI2LDYyLjM4LTEzLjgxLDcxLjk0QTE2LDE2LDAsMCwwLDQ4LDIwMEg4OC44MWE0MCw0MCwwLDAsMCw3OC4zOCwwSDIwOGExNiwxNiwwLDAsMCwxMy44LTI0LjA2Wk0xMjgsMjE2YTI0LDI0LDAsMCwxLTIyLjYyLTE2aDQ1LjI0QTI0LDI0LDAsMCwxLDEyOCwyMTZaTTQ4LDE4NGM3LjctMTMuMjQsMTYtNDMuOTIsMTYtODBhNjQsNjQsMCwxLDEsMTI4LDBjMCwzNi4wNSw4LjI4LDY2LjczLDE2LDgwWiIvPjwvc3ZnPg==');}.icon-bell-ringing{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjQsNzEuMWE4LDgsMCwwLDEtMTAuNzgtMy40Miw5NC4xMyw5NC4xMywwLDAsMC0zMy40Ni0zNi45MSw4LDgsMCwxLDEsOC41NC0xMy41NCwxMTEuNDYsMTExLjQ2LDAsMCwxLDM5LjEyLDQzLjA5QTgsOCwwLDAsMSwyMjQsNzEuMVpNMzUuNzEsNzJhOCw4LDAsMCwwLDcuMS00LjMyQTk0LjEzLDk0LjEzLDAsMCwxLDc2LjI3LDMwLjc3YTgsOCwwLDEsMC04LjU0LTEzLjU0QTExMS40NiwxMTEuNDYsMCwwLDAsMjguNjEsNjAuMzIsOCw4LDAsMCwwLDM1LjcxLDcyWm0xODYuMSwxMDMuOTRBMTYsMTYsMCwwLDEsMjA4LDIwMEgxNjcuMmE0MCw0MCwwLDAsMS03OC40LDBINDhhMTYsMTYsMCwwLDEtMTMuNzktMjQuMDZDNDMuMjIsMTYwLjM5LDQ4LDEzOC4yOCw0OCwxMTJhODAsODAsMCwwLDEsMTYwLDBDMjA4LDEzOC4yNywyMTIuNzgsMTYwLjM4LDIyMS44MSwxNzUuOTRaTTE1MC42MiwyMDBIMTA1LjM4YTI0LDI0LDAsMCwwLDQ1LjI0LDBaTTIwOCwxODRjLTEwLjY0LTE4LjI3LTE2LTQyLjQ5LTE2LTcyYTY0LDY0LDAsMCwwLTEyOCwwYzAsMjkuNTItNS4zOCw1My43NC0xNiw3MloiLz48L3N2Zz4=');}.icon-check{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjkuNjYsNzcuNjZsLTEyOCwxMjhhOCw4LDAsMCwxLTExLjMyLDBsLTU2LTU2YTgsOCwwLDAsMSwxMS4zMi0xMS4zMkw5NiwxODguNjksMjE4LjM0LDY2LjM0YTgsOCwwLDAsMSwxMS4zMiwxMS4zMloiLz48L3N2Zz4=');}.icon-sign-out{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMjAsMjE2YTgsOCwwLDAsMS04LDhINDhhOCw4LDAsMCwxLTgtOFY0MGE4LDgsMCwwLDEsOC04aDY0YTgsOCwwLDAsMSwwLDE2SDU2VjIwOGg1NkE4LDgsMCwwLDEsMTIwLDIxNlptMTA5LjY2LTkzLjY2LTQwLTQwYTgsOCwwLDAsMC0xMS4zMiwxMS4zMkwyMDQuNjksMTIwSDExMmE4LDgsMCwwLDAsMCwxNmg5Mi42OWwtMjYuMzUsMjYuMzRhOCw4LDAsMCwwLDExLjMyLDExLjMybDQwLTQwQTgsOCwwLDAsMCwyMjkuNjYsMTIyLjM0WiIvPjwvc3ZnPg==');}.icon-question{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNDAsMTgwYTEyLDEyLDAsMSwxLTEyLTEyQTEyLDEyLDAsMCwxLDE0MCwxODBaTTEyOCw3MmMtMjIuMDYsMC00MCwxNi4xNS00MCwzNnY0YTgsOCwwLDAsMCwxNiwwdi00YzAtMTEsMTAuNzctMjAsMjQtMjBzMjQsOSwyNCwyMC0xMC43NywyMC0yNCwyMGE4LDgsMCwwLDAtOCw4djhhOCw4LDAsMCwwLDE2LDB2LS43MmMxOC4yNC0zLjM1LDMyLTE3LjksMzItMzUuMjhDMTY4LDg4LjE1LDE1MC4wNiw3MiwxMjgsNzJabTEwNCw1NkExMDQsMTA0LDAsMSwxLDEyOCwyNCwxMDQuMTEsMTA0LjExLDAsMCwxLDIzMiwxMjhabS0xNiwwYTg4LDg4LDAsMSwwLTg4LDg4QTg4LjEsODguMSwwLDAsMCwyMTYsMTI4WiIvPjwvc3ZnPg==');}.icon-sign-in{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNDEuNjYsMTMzLjY2bC00MCw0MGE4LDgsMCwwLDEtMTEuMzItMTEuMzJMMTE2LjY5LDEzNkgyNGE4LDgsMCwwLDEsMC0xNmg5Mi42OUw5MC4zNCw5My42NmE4LDgsMCwwLDEsMTEuMzItMTEuMzJsNDAsNDBBOCw4LDAsMCwxLDE0MS42NiwxMzMuNjZaTTIwMCwzMkgxMzZhOCw4LDAsMCwwLDAsMTZoNTZWMjA4SDEzNmE4LDgsMCwwLDAsMCwxNmg2NGE4LDgsMCwwLDAsOC04VjQwQTgsOCwwLDAsMCwyMDAsMzJaIi8+PC9zdmc+');}.icon-star-half-fi{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzkuMTgsOTcuMjZBMTYuMzgsMTYuMzgsMCwwLDAsMjI0LjkyLDg2bC01OS00Ljc2TDE0My4xNCwyNi4xNWExNi4zNiwxNi4zNiwwLDAsMC0zMC4yNywwTDkwLjExLDgxLjIzLDMxLjA4LDg2YTE2LjQ2LDE2LjQ2LDAsMCwwLTkuMzcsMjguODZsNDUsMzguODNMNTMsMjExLjc1YTE2LjQsMTYuNCwwLDAsMCwyNC41LDE3LjgyTDEyOCwxOTguNDlsNTAuNTMsMzEuMDhBMTYuNCwxNi40LDAsMCwwLDIwMywyMTEuNzVsLTEzLjc2LTU4LjA3LDQ1LTM4LjgzQTE2LjQzLDE2LjQzLDAsMCwwLDIzOS4xOCw5Ny4yNlptLTE1LjM0LDUuNDctNDguNyw0MmE4LDgsMCwwLDAtMi41Niw3LjkxbDE0Ljg4LDYyLjhhLjM3LjM3LDAsMCwxLS4xNy40OGMtLjE4LjE0LS4yMy4xMS0uMzgsMGwtNTQuNzItMzMuNjVBOCw4LDAsMCwwLDEyOCwxODEuMVYzMmMuMjQsMCwuMjcuMDguMzUuMjZMMTUzLDkxLjg2YTgsOCwwLDAsMCw2Ljc1LDQuOTJsNjMuOTEsNS4xNmMuMTYsMCwuMjUsMCwuMzQuMjlTMjI0LDEwMi42MywyMjMuODQsMTAyLjczWiIvPjwvc3ZnPg==');}.icon-star-fi{--icon:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMzQuMjksMTE0Ljg1bC00NSwzOC44M0wyMDMsMjExLjc1YTE2LjQsMTYuNCwwLDAsMS0yNC41LDE3LjgyTDEyOCwxOTguNDksNzcuNDcsMjI5LjU3QTE2LjQsMTYuNCwwLDAsMSw1MywyMTEuNzVsMTMuNzYtNTguMDctNDUtMzguODNBMTYuNDYsMTYuNDYsMCwwLDEsMzEuMDgsODZsNTktNC43NiwyMi43Ni01NS4wOGExNi4zNiwxNi4zNiwwLDAsMSwzMC4yNywwbDIyLjc1LDU1LjA4LDU5LDQuNzZhMTYuNDYsMTYuNDYsMCwwLDEsOS4zNywyOC44NloiLz48L3N2Zz4=');} |
| New file |
| | |
| | | <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" clip-rule="evenodd" viewBox="0 0 32 32"><path fill="#f9f9f9" d="M17.172 20.58c-.23 1.104.255 2.338 1.07 2.936-1.107 1.022-2.01 1.487-3.735 1.579a5.2 5.2 0 0 1-2.217-.495c-1.577-.803-2.552-2.137-2.78-3.386-.215-1.174-.088-2.32.25-3.4 1.28 3.554 5.118 4.475 7.412 2.765"/><path fill="#f9f9f9" d="M15.71 18.102c.385.342.921.574 1.622.601.08.316.183.44.455.694a2.4 2.4 0 0 0-.294.378c-2.441 2.07-6.315 1.172-7.484-2.658.3-.745.4-1 .836-1.656.53 2.035 3.134 2.913 4.865 2.641"/><path fill="#f9f9f9" d="M15.542 14.754q-.192.277-.365.613c-.33.643-.311 1.53.11 2.227-1.687.214-3.59-.625-4.15-2.585.491-.738.67-1 1.205-1.586.389 1.455 2.375 2.08 3.2 1.33"/><path fill="#f9f9f9" d="M12.71 13.012a20 20 0 0 1 1.904-1.828c.197.157.394.313.627.524.527.477.778.732 1.274 1.344-.395 2.018-3.257 2.015-3.805-.04"/><path fill="#ff0080" d="M12.152 25.041c-2.1.608-5.686-1.766-6.11-2.623.948.813 2.124 1.386 3.705 1.528-1.851-.703-3.067-1.92-4.001-3.374-1.604-2.494-1.243-4.064-1.325-4.958a1.62 1.62 0 0 0-.424-.986c.08.055.395.034.63.636.478 1.224.237 2.924 2.472 4.493-.83-1.017-1.095-2.723-.932-4.17.6-2.242 1.138-3.876-.036-5.375.594.115.978.619 1.372 1.681.688 1.859-.657 4.097.437 5.848-.429-1.776-.173-3.835 1.325-6.881.396-.804 1.1-1.58 1.771-2.46.868-1.138 1.24-2.235 1.067-2.693.81.78.43 2.161-.465 3.552-.986 1.533-2.482 3.088-1.501 4.966.914-.526 1.407-4.603 5.842-6.055 2.523-.826 3.746 1.045 3.987 2.377.209 1.149-.763 2.303.418 3.044.943.592 2.378-.314 1.902-2.21-.377-1.5.194-2.613 1.367-2.968-1.997 2.328.899 2.594-.394 5.769-1.217 2.987-4.356.177-4.56 2.201-.095.953 2.06 1.325 3.204.72 1.288-.683.856-2.122 1.907-2.109-.845.59-.399 1.376-1.396 2.616-.69.858-3.159 1.692-2.498 3.294 1.218 1.708 2.984.349 4.192-1.698 1.338-2.268-.256-5.213 2.644-6.594-.746.608-.914 1.195-1.144 2.014-.212.755.233 2.613-.111 4.449-.506 2.697-2.266 5.272-5.626 4.734-1.996-.365-3.213-2.98-1.326-4.523-.536-.19-.888-.633-.737-1.026-2.158-.081-2.767-1.413-2.22-2.644.76-1.712 2.867-2.465 2.066-3.984-.462-.874-1.783-1.155-2.37-.444q-.363-.328-.671-.571C12.51 12.21 8.06 16.755 9.047 21.402c.284 1.341 1.44 2.864 3.105 3.64"/><path fill="none" stroke="#f9f9f9" stroke-width=".25" d="M7.272 27.978C3.35 25.358.765 20.89.765 15.823c0-8.062 6.547-14.609 14.61-14.609s14.61 6.547 14.61 14.61c0 5.066-2.586 9.534-6.507 12.154"/><path fill="#f9f9f9" d="M21.473 27.979a.2.2 0 0 0-.06.02l-.167.083q-.052.027-.064.064-.01.036.013.084l.668 1.313q.025.049.059.062.036.01.09-.017l.166-.084q.056-.028.066-.063t-.015-.084l-.196-.384q.015.01.026.011l.572.256a.1.1 0 0 0 .037.008.2.2 0 0 0 .045-.018l.277-.14q.02-.01.024-.026.004-.015-.004-.03a.06.06 0 0 0-.031-.03l-.665-.262.186-.648a.05.05 0 0 0-.002-.043.04.04 0 0 0-.025-.022.04.04 0 0 0-.034.004l-.275.14a.1.1 0 0 0-.041.03.07.07 0 0 0-.016.035l-.138.569-.008.027-.4-.79q-.026-.05-.06-.062a.1.1 0 0 0-.028-.003m-13.104.144a.5.5 0 0 0-.119.022q-.231.066-.377.35a.6.6 0 0 0-.076.347q.022.165.13.299a.9.9 0 0 0 .294.224q.142.075.265.106.125.03.243.017.033-.005.042-.021a.1.1 0 0 0 .006-.031l-.004-.153q0-.03-.015-.039a.1.1 0 0 0-.037-.006.7.7 0 0 1-.16-.011.7.7 0 0 1-.17-.067.48.48 0 0 1-.215-.191.25.25 0 0 1 .008-.23l.75.386q.084.044.13-.049.137-.264.063-.484-.072-.22-.356-.367a.8.8 0 0 0-.402-.102m.117.281q.08-.005.174.043.126.066.156.158.03.095-.027.206l-.508-.262a.25.25 0 0 1 .155-.137.2.2 0 0 1 .05-.008m1.97.086-.019.006q-.032.014-.054.067l-.164.41a.34.34 0 0 0-.104-.114.7.7 0 0 0-.168-.093.64.64 0 0 0-.332-.047.5.5 0 0 0-.275.127.7.7 0 0 0-.188.277q-.237.594.436.863.168.068.338.084a.9.9 0 0 0 .293-.013l.537-1.344q.02-.05.006-.086t-.069-.059l-.166-.066a.14.14 0 0 0-.072-.012m9.224.201a.2.2 0 0 0-.05.01l-.136.043a.15.15 0 0 0-.092.07.13.13 0 0 0-.01.104l.018.055a.13.13 0 0 0 .067.08.15.15 0 0 0 .117.006l.136-.043q.069-.021.094-.07a.14.14 0 0 0 .01-.106l-.018-.055a.13.13 0 0 0-.136-.094m1.326.026a.747.747 0 0 0-.412.18.5.5 0 0 0-.135.185l-.037-.078q-.012-.022-.03-.025a.1.1 0 0 0-.044.005l-.186.075q-.042.015-.05.035t.007.058l.371.944q.02.05.053.066.034.014.092-.01l.172-.066q.058-.022.072-.055.012-.035-.008-.086l-.234-.593a.17.17 0 0 1 .015-.16.28.28 0 0 1 .143-.12q.09-.035.144-.011.055.024.09.115l.242.611q.02.052.053.068.034.015.092-.01l.174-.068q.055-.022.07-.054.015-.036-.006-.086l-.25-.635q-.079-.203-.234-.26a.4.4 0 0 0-.164-.025m-11.207.32a.3.3 0 0 1 .127.025.27.27 0 0 1 .142.114q.043.07.004.164l-.17.422a.4.4 0 0 1-.199-.035q-.152-.06-.2-.165-.044-.106.026-.283a.4.4 0 0 1 .158-.21.23.23 0 0 1 .112-.032m.94.098-.01.004q-.019.01-.03.05l-.265.979q-.016.053.002.086.02.03.08.047l.148.04q.061.017.092-.001.03-.02.045-.072l.166-.614a.2.2 0 0 1 .088-.129.19.19 0 0 1 .15-.017q.067.017.086.066.024.048.002.13l-.176.65q-.015.053.002.085.02.031.08.047l.137.037q.058.016.088-.002.032-.019.047-.072l.168-.619a.2.2 0 0 1 .086-.125.18.18 0 0 1 .144-.018q.07.02.092.069.025.048 0 .138l-.174.641a.12.12 0 0 0 .004.086q.017.03.076.047l.152.041q.058.016.088-.002.034-.02.047-.072l.18-.664q.057-.212-.016-.342a.38.38 0 0 0-.248-.182.47.47 0 0 0-.414.067q-.04-.19-.25-.247a.48.48 0 0 0-.408.069l.014-.09q.005-.024-.006-.037t-.04-.022l-.177-.046a.1.1 0 0 0-.05-.006zm9.1.025a.2.2 0 0 0-.04.008l-.176.055q-.06.019-.074.052-.016.032.002.086l.29.932q.018.052.05.07.03.016.09-.002l.175-.054q.06-.02.075-.051.017-.034.002-.086l-.292-.932q-.015-.052-.05-.07-.02-.012-.051-.008m-4.1.295-.116.002q-.045.001-.06.016a.1.1 0 0 0-.038.045q-.042.08-.064.136a.3.3 0 0 0-.02.108l.002.097-.12.004q-.061.001-.08.028-.021.023-.018.08l.004.082q0 .056.021.078.02.02.08.02l.121-.003.014.475a.48.48 0 0 0 .125.338q.12.121.346.115a.7.7 0 0 0 .4-.117q.03-.02.03-.04-.002-.01-.014-.03l-.096-.155q-.016-.026-.04-.025a.1.1 0 0 0-.028.012.4.4 0 0 1-.077.043.2.2 0 0 1-.082.013q-.081.003-.117-.039-.036-.04-.039-.136l-.012-.465.246-.006q.06-.002.079-.026.018-.023.017-.08l-.002-.082q0-.056-.021-.078-.02-.024-.08-.023l-.246.007-.008-.292q-.001-.056-.028-.08-.023-.024-.08-.022zm2.866.012a.746.746 0 0 0-.348.111.5.5 0 0 0-.163.16l-.026-.084q-.007-.023-.023-.029a.1.1 0 0 0-.045-.002l-.195.041q-.044.01-.055.027-.013.017-.004.059l.207.992q.011.053.041.074t.092.006l.18-.037q.06-.012.08-.04.018-.033.008-.087l-.13-.625a.17.17 0 0 1 .042-.156.27.27 0 0 1 .16-.092q.094-.02.144.014.05.033.07.127l.135.644q.012.054.041.076.032.02.092.006l.182-.039q.059-.012.078-.04.02-.033.01-.087l-.139-.668q-.044-.213-.187-.295a.43.43 0 0 0-.246-.056m-5.644.17a.63.63 0 0 0-.342.103.6.6 0 0 0-.25.43.6.6 0 0 0 .11.486q.155.194.482.244.33.051.533-.088a.6.6 0 0 0 .252-.431.6.6 0 0 0-.111-.485q-.152-.196-.48-.248a1 1 0 0 0-.194-.011m4.066.092-.08.005q-.328.036-.492.227a.6.6 0 0 0-.13.479q.03.29.23.44t.529.114q.33-.036.492-.222a.6.6 0 0 0 .133-.483.6.6 0 0 0-.232-.44.68.68 0 0 0-.45-.12m-3.045.074q-.028 0-.04.011-.016.015-.018.057l-.057 1.012q-.003.054.02.082.025.026.088.03l.183.01q.062.003.088-.02a.12.12 0 0 0 .031-.08l.036-.637a.17.17 0 0 1 .08-.141.27.27 0 0 1 .177-.047q.097.006.137.05t.035.141l-.037.659q-.003.054.02.082.026.026.087.029l.188.012q.06.002.086-.022.03-.025.031-.08l.037-.681q.012-.219-.105-.334a.46.46 0 0 0-.319-.13.7.7 0 0 0-.267.03.5.5 0 0 0-.2.113l-.003-.088q-.001-.024-.016-.035-.014-.01-.043-.012l-.199-.011zm-.939.136q.03-.001.064.004.14.022.202.118.06.095.035.26-.025.166-.112.238-.086.072-.226.05a.27.27 0 0 1-.2-.117q-.06-.097-.035-.262.026-.165.114-.236a.25.25 0 0 1 .158-.055m3.97.09a.26.26 0 0 1 .19.063q.084.075.102.24.018.168-.047.26-.066.092-.207.107-.138.015-.22-.06-.085-.08-.102-.244-.018-.165.046-.256.065-.093.204-.108zm2.481.162q-.012.002-.023.006l-.051.014a.11.11 0 0 0-.074.059.12.12 0 0 0-.008.093l.014.05q.014.05.054.077a.12.12 0 0 0 .094.01l.049-.014a.11.11 0 0 0 .072-.056.12.12 0 0 0 .01-.094l-.012-.049a.12.12 0 0 0-.058-.076.1.1 0 0 0-.067-.02"/></svg> |
| New file |
| | |
| | | <svg class="logo" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 32 32"> |
| | | <path fill="#f9f9f9" d="M18.37 22.798c-.305 1.456.336 3.082 1.41 3.87-1.46 1.349-2.65 1.961-4.925 2.083a6.9 6.9 0 0 1-2.921-.653c-2.08-1.06-3.365-2.817-3.667-4.464-.283-1.547-.115-3.058.33-4.482 1.688 4.685 6.748 5.9 9.773 3.646"/> |
| | | <path fill="#f9f9f9" d="M16.441 19.532c.508.45 1.216.755 2.139.792.106.416.241.58.6.915q-.223.236-.387.498c-3.219 2.729-8.326 1.545-9.867-3.504.396-.983.527-1.32 1.102-2.184.698 2.683 4.131 3.84 6.413 3.483"/> |
| | | <path fill="#f9f9f9" d="M16.22 15.117a7 7 0 0 0-.48.808c-.435.849-.411 2.017.144 2.937-2.224.281-4.732-.825-5.47-3.409.646-.973.883-1.317 1.588-2.09.512 1.918 3.13 2.743 4.218 1.754"/> |
| | | <path fill="#f9f9f9" d="M12.487 12.821a27 27 0 0 1 2.51-2.41c.26.207.519.413.826.69.696.629 1.026.966 1.68 1.772-.52 2.66-4.293 2.657-5.016-.052"/><path fill="#ff0080" id="flame" d="M11.75 28.68c-2.767.801-7.495-2.329-8.054-3.459 1.25 1.072 2.8 1.828 4.884 2.014-2.44-.926-4.043-2.532-5.275-4.447C1.19 19.5 1.667 17.43 1.56 16.251c-.05-.55-.255-.973-.559-1.3.106.072.52.046.83.84.63 1.612.313 3.854 3.26 5.922-1.095-1.341-1.444-3.59-1.23-5.498.792-2.955 1.501-5.11-.047-7.086.783.152 1.29.816 1.809 2.217.907 2.45-.867 5.4.576 7.71-.565-2.343-.228-5.057 1.747-9.073.522-1.06 1.45-2.082 2.335-3.243 1.144-1.5 1.635-2.946 1.407-3.55 1.067 1.028.566 2.85-.614 4.683-1.3 2.02-3.271 4.071-1.979 6.547 1.205-.694 1.856-6.068 7.703-7.983 3.325-1.09 4.938 1.378 5.256 3.133.275 1.516-1.006 3.037.551 4.015 1.244.78 3.136-.415 2.507-2.915-.497-1.978.257-3.445 1.803-3.912-2.632 3.068 1.185 3.42-.52 7.605-1.603 3.938-5.743.234-6.01 2.902-.126 1.256 2.715 1.747 4.223.948 1.697-.9 1.128-2.797 2.513-2.779-1.113.778-.525 1.814-1.84 3.449-.91 1.13-4.164 2.23-3.293 4.343 1.605 2.251 3.934.46 5.526-2.24 1.765-2.99-.337-6.872 3.487-8.693-.984.801-1.205 1.575-1.509 2.656-.279.995.308 3.444-.146 5.864-.667 3.557-2.987 6.95-7.417 6.243-2.632-.482-4.236-3.93-1.749-5.964-.706-.25-1.17-.834-.971-1.352-2.845-.107-3.648-1.863-2.927-3.486 1.002-2.257 3.78-3.25 2.723-5.252-.608-1.153-2.35-1.523-3.124-.586-.317-.287-.616-.54-.885-.753-2.772 2.102-8.637 8.093-7.338 14.22.375 1.767 1.9 3.775 4.093 4.797"/></svg> |
| | |
| | | } |
| | | $cache = (class_exists('JVBase\managers\Cache')) ? JVBase\managers\Cache::for('full-icons') : false; |
| | | |
| | | if (array_key_exists('className', $block['attrs'])) { |
| | | $logo = false; |
| | | if (str_contains($block['attrs']['className'], 'is-proper')) { |
| | | $logo = '<img class="logo" src="'.AEI_URL.'/assets/tatty-soap-rose-header.webp">'; |
| | | } |
| | | if ($logo) { |
| | | return $open.$logo.$close; |
| | | } |
| | | } |
| | | $logo = $cache->remember('logo', |
| | | function() { |
| | | return file_get_contents(AEI_DIR .'/assets/icons/edmonton-ink-logo.svg'); |
| | | }); |
| | | |
| | | return JVB()->blocks()->render_core_site_logo($block, $content); |
| | | return $open.$logo.$close; |
| | | } |
| | | |
| | | function aei_render_core_template_part(array $block, string $content): string |
| | | { |
| | | if (!array_key_exists('attrs', $block) || !array_key_exists('slug', $block['attrs']) || !in_array($block['attrs']['slug'], ['header', 'footer'])){ |
| | | return JVB()->blocks()->render_core_template_part($block, $content); |
| | | } |
| | | $content = JVB()->blocks()->render_core_template_part($block, $content); |
| | | $icon = file_get_contents(AEI_DIR .'/assets/icons/background.svg'); |
| | | $search = str_contains($content, '<header>') ? '</header>' : '</footer>'; |
| | | return str_replace($search, $icon.$search, $content); |
| | | |
| | | } |
| | |
| | | */ |
| | | |
| | | |
| | | require(AEI_DIR . '/content/soap.php'); |
| | | require(AEI_DIR . '/content/tattoos.php'); |
| | | require(AEI_DIR . '/content/piercings.php'); |
| | | require(AEI_DIR . '/content/artwork.php'); |
| | | require(AEI_DIR . '/content/offers.php'); |
| | | require(AEI_DIR . '/content/events.php'); |
| | | |
| | | //add_filter('jvb_content', 'aei_content'); |
| | | //function aei_content($content):array |
| New file |
| | |
| | | <?php |
| | | // /content/artwork.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_artwork'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_artwork_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_artwork',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_artwork_fields', 4); |
| | | |
| | | add_filter('aei_ArtworkSchemaDefault', 'aei_artwork_schema'); |
| | | add_filter('aei_ArtworkMetaDefault', 'aei_artwork_meta'); |
| | | add_filter('aei_ArtworkArchiveDefault', 'aei_artwork_archive'); |
| | | |
| | | function aei_artwork(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $artwork = Registrar::forPost('artwork', 'Artwork', 'Artwork') |
| | | ->setIcon('artwork') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'artworks', |
| | | 'with_front' => false, |
| | | ], |
| | | 'taxonomies' => [ |
| | | 'city', |
| | | 'art_form', |
| | | 'art_style', |
| | | 'art_theme', |
| | | ], |
| | | ]) |
| | | ->setAll([ |
| | | 'show_directory', |
| | | 'hide_single', |
| | | 'redirect_to_author', |
| | | 'favouritable', |
| | | 'karma', |
| | | 'show_feed' |
| | | ]) |
| | | ->setIntegration('facebook') |
| | | ->setIntegration('instagram'); |
| | | |
| | | //$directory = $artwork->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_artwork_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $artwork = Registrar::getInstance('artwork'); |
| | | // $breadcrumbs = $artwork->config('breadcrumbs'); |
| | | // $breadcrumbs->setCrumb('section'); |
| | | |
| | | |
| | | $fields = $artwork->fields(); |
| | | $fields->modifyField('post_thumbnail', 'label', 'Main Image'); |
| | | $fields->modifyField('post_content', 'label', 'Notes (optional)'); |
| | | $fields->addField('gallery', [ |
| | | 'type' => 'upload', |
| | | 'label' => 'Additional Images', |
| | | ]); |
| | | $fields->addField('art_form', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'art_form', |
| | | 'label' => 'Art Form', |
| | | ]); |
| | | $fields->addField('art_style', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'art_style', |
| | | 'label' => 'Art Style', |
| | | ]); |
| | | $fields->addField('art_theme', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'art_theme', |
| | | 'label' => 'Theme(s)', |
| | | 'hint' => 'The subject matter, concept, or idea(s) behind the artwork.', |
| | | ]); |
| | | $fields->addField('city', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'city', |
| | | 'label' => 'City', |
| | | ]); |
| | | |
| | | } |
| | | |
| | | function aei_artwork_schema():array |
| | | { |
| | | return [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\VisualArtwork', |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Artwork Artist', |
| | | ]; |
| | | } |
| | | |
| | | function aei_artwork_meta():array |
| | | { |
| | | return[ |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Artwork Artist', |
| | | 'description' => '{{style}} {{colour}} {{theme}} artwork in {{post_author.city}}.', |
| | | ]; |
| | | } |
| | | |
| | | function aei_artwork_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => 'Edmonton\'s Best Artwork', |
| | | 'description' => 'Artwork in Edmonton, Alberta.' |
| | | ]); |
| | | } |
| | | |
| | | function aei_artwork_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /content/event.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_event'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_event_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_event',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_event_fields', 4); |
| | | |
| | | add_filter('aei_EventSchemaDefault', 'aei_event_schema'); |
| | | add_filter('aei_EventMetaDefault', 'aei_event_meta'); |
| | | add_filter('aei_EventArchiveDefault', 'aei_event_archive'); |
| | | |
| | | function aei_event(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $event = Registrar::forPost('event', 'Event', 'Events') |
| | | ->setIcon('event') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'events', |
| | | 'with_front' => false, |
| | | ], |
| | | 'taxonomies' => [ |
| | | 'shop', |
| | | 'city', |
| | | 'event_type' |
| | | ], |
| | | ]) |
| | | ->setAll([ |
| | | 'show_directory', |
| | | 'favouritable', |
| | | 'karma', |
| | | 'show_feed', |
| | | 'is_calendar' |
| | | ]) |
| | | ->setIntegration('facebook') |
| | | ->setIntegration('instagram'); |
| | | |
| | | //$directory = $event->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_event_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $event = Registrar::getInstance('event'); |
| | | // $breadcrumbs = $event->config('breadcrumbs'); |
| | | // $breadcrumbs->setCrumb('section'); |
| | | |
| | | |
| | | $fields = $event->fields(); |
| | | $fields->modifyField('post_thumbnail', 'label', 'Event Poster'); |
| | | $fields->modifyField('post_content', 'label', 'About the Event'); |
| | | $fields->addField('gallery', [ |
| | | 'type' => 'upload', |
| | | 'label' => 'Additional Images', |
| | | ]); |
| | | $fields->addField('city', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'city', |
| | | 'label' => 'City', |
| | | ]); |
| | | $fields->addField('shop', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'shop', |
| | | 'label' => 'Tattoo Shop', |
| | | ]); |
| | | $fields->addField('event_type', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'event_type', |
| | | 'label' => 'Type of Event', |
| | | ]); |
| | | $fields->addField('url', [ |
| | | 'type' => 'text', |
| | | 'subtype' => 'url', |
| | | 'label' => 'URL for More Information', |
| | | ]); |
| | | $fields->addField('purchase_url', [ |
| | | 'type' => 'text', |
| | | 'subtype' => 'url', |
| | | 'label' => 'Purchase link', |
| | | ]); |
| | | $fields->addField('cost', [ |
| | | 'type' => 'text', |
| | | 'subtype' => 'number', |
| | | 'label' => 'Cost (leave blank for free)' |
| | | ]); |
| | | $fields->addField('max_attendees', [ |
| | | 'type' => 'text', |
| | | 'subtype' => 'number', |
| | | 'label' => 'Maximum Attendees' |
| | | ]); |
| | | |
| | | |
| | | } |
| | | |
| | | function aei_event_schema():array |
| | | { |
| | | return [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Event', |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Event Artist', |
| | | ]; |
| | | } |
| | | |
| | | function aei_event_meta():array |
| | | { |
| | | return[ |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Event Artist', |
| | | 'description' => '{{style}} {{colour}} {{theme}} event in {{post_author.city}}.', |
| | | ]; |
| | | } |
| | | |
| | | function aei_event_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => 'Edmonton\'s Best Events', |
| | | 'description' => 'Events in Edmonton, Alberta.' |
| | | ]); |
| | | } |
| | | |
| | | function aei_event_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /content/offer.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_offer'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_offer_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_offer',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_offer_fields', 4); |
| | | |
| | | add_filter('aei_OfferSchemaDefault', 'aei_offer_schema'); |
| | | add_filter('aei_OfferMetaDefault', 'aei_offer_meta'); |
| | | add_filter('aei_OfferArchiveDefault', 'aei_offer_archive'); |
| | | |
| | | function aei_offer(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $offer = Registrar::forPost('offer', 'Offer', 'Offers') |
| | | ->setIcon('offer') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'offers', |
| | | 'with_front' => false, |
| | | ], |
| | | 'taxonomies' => [ |
| | | 'city', |
| | | 'offer_for', |
| | | ], |
| | | ]) |
| | | ->setAll([ |
| | | 'show_directory', |
| | | 'hide_single', |
| | | 'redirect_to_author', |
| | | 'favouritable', |
| | | 'karma', |
| | | 'show_feed' |
| | | ]) |
| | | ->setIntegration('facebook') |
| | | ->setIntegration('instagram'); |
| | | |
| | | //$directory = $offer->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_offer_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $offer = Registrar::getInstance('offer'); |
| | | // $breadcrumbs = $offer->config('breadcrumbs'); |
| | | // $breadcrumbs->setCrumb('section'); |
| | | |
| | | |
| | | $fields = $offer->fields(); |
| | | $fields->modifyField('post_thumbnail', 'label', 'Main Image'); |
| | | $fields->modifyField('post_content', 'label', 'Notes (optional)'); |
| | | $fields->addField('gallery', [ |
| | | 'type' => 'upload', |
| | | 'label' => 'Additional Images', |
| | | ]); |
| | | $fields->addField('referral_code', [ |
| | | 'type' => 'text', |
| | | 'label' => 'Referral Code', |
| | | 'hint' => 'Some sort of tracking code to gauge how well it\'s working' |
| | | ]); |
| | | $fields->addField('url', [ |
| | | 'type' => 'url', |
| | | 'label' => 'Target URL', |
| | | 'hint' => 'Where you want folks to be directed to.' |
| | | ]); |
| | | $fields->addField('offer_for', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'offer_for', |
| | | 'label' => 'Offer for', |
| | | ]); |
| | | |
| | | } |
| | | |
| | | function aei_offer_schema():array |
| | | { |
| | | return [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Intangible\Offer', |
| | | 'name' => '{{post_title}} | by our supporter {{post_author.name}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_offer_meta():array |
| | | { |
| | | return[ |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Offer Artist', |
| | | 'description' => '{{style}} {{colour}} {{theme}} offer in {{post_author.city}}.', |
| | | ]; |
| | | } |
| | | |
| | | function aei_offer_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => 'Edmonton\'s Best Offers', |
| | | 'description' => 'Offers in Edmonton, Alberta.' |
| | | ]); |
| | | } |
| | | |
| | | function aei_offer_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /content/piercing.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_piercing'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_piercing_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_piercing',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_piercing_fields', 4); |
| | | |
| | | add_filter('aei_PiercingSchemaDefault', 'aei_piercing_schema'); |
| | | add_filter('aei_PiercingMetaDefault', 'aei_piercing_meta'); |
| | | add_filter('aei_PiercingArchiveDefault', 'aei_piercing_archive'); |
| | | |
| | | function aei_piercing(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $piercing = Registrar::forPost('piercing', 'Piercing', 'Piercings') |
| | | ->setIcon('piercing') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'piercings', |
| | | 'with_front' => false, |
| | | ], |
| | | 'taxonomies' => [ |
| | | 'city', |
| | | 'piercing_placement', |
| | | 'piercing_style', |
| | | ], |
| | | ]) |
| | | ->setAll([ |
| | | 'show_directory', |
| | | 'hide_single', |
| | | 'redirect_to_author', |
| | | 'favouritable', |
| | | 'karma', |
| | | 'show_feed' |
| | | ]) |
| | | ->setIntegration('facebook') |
| | | ->setIntegration('instagram'); |
| | | |
| | | //$directory = $piercing->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_piercing_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $piercing = Registrar::getInstance('piercing'); |
| | | // $breadcrumbs = $piercing->config('breadcrumbs'); |
| | | // $breadcrumbs->setCrumb('section'); |
| | | |
| | | |
| | | $fields = $piercing->fields(); |
| | | $fields->modifyField('post_thumbnail', 'label', 'Main Image'); |
| | | $fields->modifyField('post_content', 'label', 'Notes (optional)'); |
| | | $fields->addField('gallery', [ |
| | | 'type' => 'upload', |
| | | 'label' => 'Additional Images', |
| | | ]); |
| | | $fields->addField('piercing_placement', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'piercing_placement', |
| | | 'label' => 'Placement', |
| | | ]); |
| | | $fields->addField('piercing_style', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'piercing_style', |
| | | 'label' => 'Piercing Style', |
| | | ]); |
| | | } |
| | | |
| | | function aei_piercing_schema():array |
| | | { |
| | | return [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\VisualArtwork', |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Piercer', |
| | | ]; |
| | | } |
| | | |
| | | function aei_piercing_meta():array |
| | | { |
| | | return[ |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Piercer', |
| | | 'description' => '{{style}} {{colour}} {{theme}} piercing in {{post_author.city}}.', |
| | | ]; |
| | | } |
| | | |
| | | function aei_piercing_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => 'Edmonton\'s Best Piercings', |
| | | 'description' => 'Piercings in Edmonton, Alberta.' |
| | | ]); |
| | | } |
| | | |
| | | function aei_piercing_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /content/tattoo.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_tattoo'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_tattoo_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_tattoo',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_tattoo_fields', 4); |
| | | |
| | | add_filter('aei_TattooSchemaDefault', 'aei_tattoo_schema'); |
| | | add_filter('aei_TattooMetaDefault', 'aei_tattoo_meta'); |
| | | add_filter('aei_TattooArchiveDefault', 'aei_tattoo_archive'); |
| | | |
| | | function aei_tattoo(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $tattoo = Registrar::forPost('tattoo', 'Tattoo', 'Tattoos') |
| | | ->setIcon('tattoo') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'tattoos', |
| | | 'with_front' => false, |
| | | ], |
| | | 'taxonomies' => [ |
| | | 'city', |
| | | 'colour', |
| | | 'placement', |
| | | 'style', |
| | | 'theme' |
| | | ], |
| | | ]) |
| | | ->setAll([ |
| | | 'show_directory', |
| | | 'hide_single', |
| | | 'redirect_to_author', |
| | | 'favouritable', |
| | | 'karma', |
| | | 'show_feed' |
| | | ]) |
| | | ->setIntegration('facebook') |
| | | ->setIntegration('instagram'); |
| | | |
| | | //$directory = $tattoo->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_tattoo_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $tattoo = Registrar::getInstance('tattoo'); |
| | | // $breadcrumbs = $tattoo->config('breadcrumbs'); |
| | | // $breadcrumbs->setCrumb('section'); |
| | | |
| | | |
| | | $fields = $tattoo->fields(); |
| | | $fields->modifyField('post_thumbnail', 'label', 'Main Image'); |
| | | $fields->modifyField('post_content', 'label', 'Notes (optional)'); |
| | | $fields->addField('gallery', [ |
| | | 'type' => 'upload', |
| | | 'label' => 'Additional Images', |
| | | ]); |
| | | $fields->addField('colour', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'colour', |
| | | 'label' => 'Colour(s)', |
| | | ]); |
| | | $fields->addField('placement', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'placement', |
| | | 'label' => 'Placement', |
| | | ]); |
| | | $fields->addField('style', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'style', |
| | | 'label' => 'Tattoo Style', |
| | | ]); |
| | | $fields->addField('theme', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'theme', |
| | | 'label' => 'Tattoo Theme(s)', |
| | | 'hint' => 'The subject matter, concept, or idea(s) behind the tattoo.', |
| | | ]); |
| | | |
| | | } |
| | | |
| | | function aei_tattoo_schema():array |
| | | { |
| | | return [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\VisualArtwork', |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Tattoo Artist', |
| | | ]; |
| | | } |
| | | |
| | | function aei_tattoo_meta():array |
| | | { |
| | | return[ |
| | | 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Tattoo Artist', |
| | | 'description' => '{{style}} {{colour}} {{theme}} tattoo in {{post_author.city}}.', |
| | | ]; |
| | | } |
| | | |
| | | function aei_tattoo_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => 'Edmonton\'s Best Tattoos', |
| | | 'description' => 'Tattoos in Edmonton, Alberta.' |
| | | ]); |
| | | } |
| | | |
| | | function aei_tattoo_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| | |
| | | return; |
| | | } |
| | | $site = Site::getInstance(); |
| | | $site->set('icons', 'light'); |
| | | $site->set('icons', 'regular'); |
| | | $site->setAll([ |
| | | 'is_directory', |
| | | 'membership', |
| | | 'dashboard', |
| | | 'magic_link', |
| | | 'feed_block', |
| | | 'favourites', |
| | | 'help_menu' |
| | | // 'has_map', |
| | | // 'referrals', |
| | | ]); |
| | |
| | | 'cloudflare', |
| | | 'facebook', |
| | | 'gmb', |
| | | 'maps', |
| | | 'helcim', |
| | | 'postmark', |
| | | 'instagram', |
| | | 'umami' |
| | | ]); |
| | | |
| | | $login = $site->login(); |
| | | |
| | | } |
| | | /** |
| | | * Defines base options like: |
| | | * - directory & Membership |
| | | * - dashboard |
| | | * - membership settings (JVB_MEMBERSHIP) |
| | | * - post types (JVB_CONTENT) |
| | | * - taxonomies (JVB_TAXONOMY) |
| | | * - User Roles (JVB_USER) |
| | | * - enthusiast = (bool) short form for a subscriber-like user that can collect content for reference |
| | | * - forum = (bool) create a forum |
| | | * - member_only = (bool) if forum and this is true, creates a member-only forum in the custom dashboard |
| | | * |
| | | * as well as central filters for |
| | | * - rewrite rules |
| | | * - archive title |
| | | */ |
| | | add_filter('jvb_site', 'aei_setup_site'); |
| | | function aei_setup_site():array |
| | | |
| | | add_action('plugins_loaded', 'aei_membership_settings', 10); |
| | | function aei_membership_settings():void |
| | | { |
| | | return [ |
| | | 'icons' => 'light', |
| | | 'is_directory' => false, //as in, a membership directory |
| | | 'has_membership' => false, |
| | | 'has_map' => true, |
| | | 'dashboard' => true, |
| | | 'referrals' => true, |
| | | 'magicLink' => true, |
| | | 'support' => false, |
| | | 'feed_block' => false, |
| | | 'email_notifications' => false, |
| | | 'integrations' => [ |
| | | 'bluesky' => false, |
| | | 'cloudflare' => true, |
| | | 'facebook' => true, |
| | | 'maps' => true, |
| | | 'gmb' => true, |
| | | 'helcim' => true, |
| | | 'postmark' => true, |
| | | 'instagram' => true, |
| | | 'square' => false, |
| | | 'umami' => true, |
| | | ], |
| | | 'is_restaurant' => false, |
| | | 'limit_hours' => false, |
| | | 'enthusiast' => false, |
| | | 'favourites' => false, //optional flag to allow enthusiasts, but not favourites |
| | | ]; |
| | | if (!class_exists('JVBase\base\Site')) { |
| | | return; |
| | | } |
| | | $site = Site::getInstance(); |
| | | $membership = $site->membership(); |
| | | $membership->setAll([ |
| | | 'invitable', |
| | | 'term_approval', |
| | | 'member_verified' |
| | | ]); |
| | | |
| | | $membership->setInvitable([ |
| | | 'artist' => ['artist', 'enthusiast'], |
| | | 'enthusiast' => ['enthusiast'] |
| | | ]); |
| | | |
| | | $membership->setApprovers(['artist']); |
| | | $membership->setCanSeeForum(['artist']); |
| | | } |
| | | /** |
| | | * JVB_MEMBERSHIP defines the structure of the directory |
| | | * Options include: |
| | | * - membership_expires = useful if members pay a yearly membership fee |
| | | * - hide_expired = removes users once membership expired; only used if membership_expires is true |
| | | * - clip_expired = keeps users once membership expires, but limits the information shown; only used if membership_expires is true |
| | | * - membership_approval = verified users can approve other users |
| | | * - term_approval = (bool) verified users can create new terms, but needs approval |
| | | * - member_only = (array) if empty, open to any registered user. otherwise an array of registered user roles |
| | | */ |
| | | //add_filter('jvb_membership', 'aei_setup_membership'); |
| | | //function aei_setup_membership():array |
| | | //{ |
| | | // return [ |
| | | // 'member_content' => true, |
| | | // 'can_invite' => ['artist' => ['artist']], |
| | | // 'member_verified' => true, |
| | | // 'notifications' => true, |
| | | // 'forum' => true, |
| | | // 'member_only' => [ 'artist' ], |
| | | // 'member_expires' => false, |
| | | // 'hide_expired' => false, |
| | | // 'clip_expired' => false, |
| | | // 'term_approval' => true, |
| | | // 'can_approve' => [ 'artist' ] |
| | | // ]; |
| | | //} |
| | | // |
| | | //add_filter('jvbLoadingQuips', 'aei_loading_quips'); |
| | | //function aei_loading_quips(array $quips):array |
| | | //{ |
| | | // return []; |
| | | //} |
| | | |
| | | |
| | | add_filter('jvbBelowHeader', 'aei_header'); |
| | | function aei_header(string $header):string |
| | | { |
| | | return '<p>FREE LOCAL PICKUP at <a href="https://legacytattooremoval.ca/">Legacy Tattoo Removal</a>.</p>'; |
| | | } |
| | | //add_filter('jvbBelowHeader', 'aei_header'); |
| | | //function aei_header(string $header):string |
| | | //{ |
| | | // return '<p>FREE LOCAL PICKUP at <a href="https://legacytattooremoval.ca/">Legacy Tattoo Removal</a>.</p>'; |
| | | //} |
| | | |
| | | |
| | | |
| | |
| | | function alyns_acknowledgement():string |
| | | { |
| | | |
| | | return '<p>amiskwacîwâskahikan ᐊᒥᐢᑲᐧᒋᐋᐧᐢᑲᐦᐃᑲᐣ</p><p><a href="https://www.treatysix.org/#comp-lkljqlw1" title="Learn More">Treaty 6 territory</a></p><p>Edmonton, Alberta, Canada</p>'; |
| | | return '<p class="text-center">Respectfully, this land was <a href="https://edmonton.ink/amiskwaciwaskahikan/" data-type="page" data-id="4659">Amiskwaciwâskahikan</a> before it was ever Edmonton.</p>'; |
| | | } |
| | | |
| | | |
| | |
| | | add_filter('jvbRandomFooterText', 'aei_footer_text'); |
| | | function aei_footer_text(string $text):string |
| | | { |
| | | $privacy = get_privacy_policy_url(); |
| | | $privacy = ($privacy === '') ? '' : ' | <a href="'.$privacy.'">Privacy Policy</a>'; |
| | | return '<p class="font-small">©'.date('Y').' <a href="https://madimori.ca/">Madi Mori</a>'.$privacy.'</p><p class="font-small">Built with ♡ by <a href="https://jakevan.ca">Jake Van</a></p>'; |
| | | $aOpen = '<a href="https://legacytattooremoval.ca" title="Learn more about Legacy Tattoo Removal">'; |
| | | $options = array( |
| | | [ |
| | | 'text' => 'Built with ♡ by '.$aOpen.'your friendly neighbourhood laser nerds</a>.', |
| | | 'weight' => 25 |
| | | ], |
| | | [ |
| | | 'text' => 'Built with ♡ by your friends at '.$aOpen.'Legacy Tattoo Removal</a>.', |
| | | 'weight' => 15 |
| | | ], |
| | | [ |
| | | 'text' => 'Your friendly '.$aOpen.'Edmonton tattoo removal</a> crew.', |
| | | 'weight' => 15 |
| | | ], |
| | | [ |
| | | 'text' => $aOpen.'tattoo removal with ♡</a>', |
| | | 'weight' => 15 |
| | | ], |
| | | [ |
| | | 'text' => 'From '.$aOpen.'cover ups to fresh starts</a> - we\'re the laser nerds with ♡.', |
| | | 'weight' => 10 |
| | | ], |
| | | [ |
| | | 'text' => $aOpen.'See the difference at Legacy Tattoo Removal</a>', |
| | | 'weight' => 10 |
| | | ], |
| | | [ |
| | | 'text' => 'Make space for your next tattoo at '.$aOpen.'Legacy Tattoo Removal</a>.', |
| | | 'weight' => 10 |
| | | ], |
| | | [ |
| | | 'text' => $aOpen.'We\'re your artist\'s secret weapon</a>.', |
| | | 'weight' => 15 |
| | | ] |
| | | ); |
| | | $totalWeight = 0; |
| | | foreach ($options as $option) { |
| | | $totalWeight += (int)$option['weight']; |
| | | } |
| | | |
| | | $randomNumber = mt_rand(1, $totalWeight); |
| | | $weightSum = 0; |
| | | |
| | | foreach ($options as $option) { |
| | | $weightSum += (int)$option['weight']; |
| | | if ($randomNumber <= $weightSum) { |
| | | return '<p>'.$option['text'].'</p>'; |
| | | } |
| | | } |
| | | |
| | | return '<p>'.$options[0]['text'].'</p>'; |
| | | } |
| | | |
| | | add_filter('jvbRegisterCustomIcons', 'aei_custom_icons'); |
| | | function aei_custom_icons(array $icons):array |
| | | { |
| | | $icons['background'] = AEI_DIR . '/assets/icons/background.svg'; |
| | | // $icons['logo-jakevan'] = AEI_DIR . '/assets/icons/logo-concentric-jakevan.svg'; |
| | | // $icons['logo-right'] = AEI_DIR . '/assets/icons/logo-right-aligned.svg'; |
| | | // $icons['logo-right-jakevan'] = AEI_DIR . '/assets/icons/logo-right-aligned-jakevan.svg'; |
| | | // $icons['jakevan'] = AEI_DIR . '/assets/icons/jakevan.svg'; |
| | | // $icons['loading'] = AEI_DIR . '/assets/icons/loading.svg'; |
| | | $icons['logo'] = AEI_DIR . '/assets/icons/edmonton-ink-logo.svg'; |
| | | $icons['logo-text'] = AEI_DIR . '/assets/icons/edmonton-ink-circle.svg'; |
| | | return $icons; |
| | | } |
| | | add_filter('jvbMapIcons', 'aei_icons_map'); |
| | | function aei_icons_map(array $icons):array |
| | | { |
| | | return array_merge($icons, [ |
| | | 'tattoo' => 'drop-simple', |
| | | 'event' => 'calendar', |
| | | 'piercing' => 'needle', |
| | | 'artwork' => 'palette', |
| | | 'artform' => 'shapes', |
| | | 'city' => 'map-pin', |
| | | 'piercing-type' => 'nut', |
| | | 'theme' => 'folder-open', |
| | | 'style' => 'hash', |
| | | 'colour' => 'drop', |
| | | 'placement' => 'person-arms-spread', |
| | | 'media' => 'squares-four', |
| | | 'artist' => 'user', |
| | | 'artists' => 'users-three', |
| | | 'partner' => 'currency-circle-dollar', |
| | | 'shop' => 'storefront', |
| | | 'past' => 'clock-counter-clockwise', |
| | | 'future' => 'clock-clockwise', |
| | | 'offer' => 'hand-heart', |
| | | ]); |
| | | } |
| | |
| | | * -> add use_in_stats (bool) to use the field in user statistics |
| | | */ |
| | | |
| | | require(AEI_DIR . '/taxonomies/flags.php'); |
| | | require(AEI_DIR . '/taxonomies/cities.php'); |
| | | require(AEI_DIR . '/taxonomies/shops.php'); |
| | | require(AEI_DIR . '/taxonomies/placements.php'); |
| | | require(AEI_DIR . '/taxonomies/styles.php'); |
| | | require(AEI_DIR . '/taxonomies/themes.php'); |
| | | require(AEI_DIR . '/taxonomies/colours.php'); |
| | | |
| | | require(AEI_DIR . '/taxonomies/art-forms.php'); |
| | | require(AEI_DIR . '/taxonomies/artist-types.php'); |
| | | require(AEI_DIR . '/taxonomies/art-styles.php'); |
| | | require(AEI_DIR . '/taxonomies/art-themes.php'); |
| | | |
| | | //require(AEI_DIR . '/taxonomies/news-types.php'); |
| | | |
| | | require(AEI_DIR . '/taxonomies/offer-for.php'); |
| | | |
| | | require(AEI_DIR . '/taxonomies/piercing-styles.php'); |
| | | require(AEI_DIR . '/taxonomies/piercing-placements.php'); |
| | | |
| | | require(AEI_DIR . '/taxonomies/event-types.php'); |
| | | |
| | | //add_filter('jvb_taxonomy', 'aei_taxonomy'); |
| | | //function aei_taxonomy():array |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/art_form.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_art_form'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_art_form_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_art_form',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_art_form_fields', 4); |
| | | |
| | | add_filter('aei_Art_formSchemaDefault', 'aei_art_form_schema'); |
| | | add_filter('aei_Art_formMetaDefault', 'aei_art_form_meta'); |
| | | add_filter('aei_Art_formArchiveDefault', 'aei_art_form_archive'); |
| | | |
| | | function aei_art_form(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $art_form = Registrar::forTerm('art_form', 'Art Form', 'Art Forms') |
| | | ->setIcon('artform') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/art-form', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $art_form->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_art_form_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $art_form = Registrar::getInstance('art_form'); |
| | | |
| | | $fields = $art_form->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_art_form_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Art Form', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Art Form', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_art_form_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo art_forms in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_art_form_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_art_form_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/art_style.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_art_style'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_art_style_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_art_style',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_art_style_fields', 4); |
| | | |
| | | add_filter('aei_Art_art_styleSchemaDefault', 'aei_art_style_schema'); |
| | | add_filter('aei_Art_art_styleMetaDefault', 'aei_art_style_meta'); |
| | | add_filter('aei_Art_art_styleArchiveDefault', 'aei_art_style_archive'); |
| | | |
| | | function aei_art_style(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $art_style = Registrar::forTerm('art_style', 'Art Style', 'Art Styles') |
| | | ->setIcon('style') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/art-style', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $art_style->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_art_style_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $art_style = Registrar::getInstance('art_style'); |
| | | |
| | | $fields = $art_style->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_art_style_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Art Style', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Art Style', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_art_style_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo art_styles in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_art_style_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_art_style_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/art_theme.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_art_theme'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_art_theme_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_art_theme',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_art_theme_fields', 4); |
| | | |
| | | add_filter('aei_Art_themeSchemaDefault', 'aei_art_theme_schema'); |
| | | add_filter('aei_Art_themeMetaDefault', 'aei_art_theme_meta'); |
| | | add_filter('aei_Art_themeArchiveDefault', 'aei_art_theme_archive'); |
| | | |
| | | function aei_art_theme(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $art_theme = Registrar::forTerm('art_theme', 'Theme', 'Themes') |
| | | ->setIcon('theme') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/art-theme', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $art_theme->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_art_theme_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $art_theme = Registrar::getInstance('art_theme'); |
| | | |
| | | $fields = $art_theme->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_art_theme_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Art_theme', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Art_theme', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_art_theme_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo art_themes in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_art_theme_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_art_theme_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/artist_type.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_artist_type'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_artist_type_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_artist_type',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_artist_type_fields', 4); |
| | | |
| | | add_filter('aei_Artist_typeSchemaDefault', 'aei_artist_type_schema'); |
| | | add_filter('aei_Artist_typeMetaDefault', 'aei_artist_type_meta'); |
| | | add_filter('aei_Artist_typeArchiveDefault', 'aei_artist_type_archive'); |
| | | |
| | | function aei_artist_type(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $artist_type = Registrar::forTerm('artist_type', 'Artist Type', 'Artist Types') |
| | | ->setIcon('artists') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/artist-type', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $artist_type->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_artist_type_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $artist_type = Registrar::getInstance('artist_type'); |
| | | |
| | | $fields = $artist_type->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_artist_type_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Artist Type', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Artist Type', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_artist_type_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo artist_types in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_artist_type_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_artist_type_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/city.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_city'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_city_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_city',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_city_fields', 4); |
| | | |
| | | add_filter('aei_CitySchemaDefault', 'aei_city_schema'); |
| | | add_filter('aei_CityMetaDefault', 'aei_city_meta'); |
| | | add_filter('aei_CityArchiveDefault', 'aei_city_archive'); |
| | | |
| | | function aei_city(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $city = Registrar::forTerm('city', 'City', 'Cities') |
| | | ->setIcon('city') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/city', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $city->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_city_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $city = Registrar::getInstance('city'); |
| | | |
| | | $fields = $city->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_city_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian City', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\City', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_city_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo shops in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_city_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_city_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/colour.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_colour'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_colour_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_colour',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_colour_fields', 4); |
| | | |
| | | add_filter('aei_ColourSchemaDefault', 'aei_colour_schema'); |
| | | add_filter('aei_ColourMetaDefault', 'aei_colour_meta'); |
| | | add_filter('aei_ColourArchiveDefault', 'aei_colour_archive'); |
| | | |
| | | function aei_colour(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $colour = Registrar::forTerm('colour', 'Colour', 'Colours') |
| | | ->setIcon('colour') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/colour', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $colour->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_colour_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $colour = Registrar::getInstance('colour'); |
| | | |
| | | $fields = $colour->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_colour_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Colour', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Colour', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_colour_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo colours in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_colour_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_colour_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/event_type.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_event_type'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_event_type_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_event_type',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_event_type_fields', 4); |
| | | |
| | | add_filter('aei_Event_typeSchemaDefault', 'aei_event_type_schema'); |
| | | add_filter('aei_Event_typeMetaDefault', 'aei_event_type_meta'); |
| | | add_filter('aei_Event_typeArchiveDefault', 'aei_event_type_archive'); |
| | | |
| | | function aei_event_type(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $event_type = Registrar::forTerm('event_type', 'Event Type', 'Event Types') |
| | | ->setIcon('folder') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/type', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'event', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $event_type->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_event_type_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $event_type = Registrar::getInstance('event_type'); |
| | | |
| | | $fields = $event_type->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_event_type_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Event Type', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Event Type', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_event_type_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo events, and tattoo event_types in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_event_type_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Events', |
| | | ]); |
| | | } |
| | | |
| | | function aei_event_type_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/offer_for.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_offer_for'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_offer_for_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_offer_for',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_offer_for_fields', 4); |
| | | |
| | | add_filter('aei_Offer_forSchemaDefault', 'aei_offer_for_schema'); |
| | | add_filter('aei_Offer_forMetaDefault', 'aei_offer_for_meta'); |
| | | add_filter('aei_Offer_forArchiveDefault', 'aei_offer_for_archive'); |
| | | |
| | | function aei_offer_for(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $offer_for = Registrar::forTerm('offer_for', 'Offer For', 'Offer For') |
| | | ->setIcon('target') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'offers/for', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $offer_for->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_offer_for_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $offer_for = Registrar::getInstance('offer_for'); |
| | | |
| | | $fields = $offer_for->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_offer_for_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Offer For', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Offer For', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_offer_for_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo offer_fors in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_offer_for_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_offer_for_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/piercing_placement.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_piercing_placement'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_piercing_placement_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_piercing_placement',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_piercing_placement_fields', 4); |
| | | |
| | | add_filter('aei_Piercing_placementSchemaDefault', 'aei_piercing_placement_schema'); |
| | | add_filter('aei_Piercing_placementMetaDefault', 'aei_piercing_placement_meta'); |
| | | add_filter('aei_Piercing_placementArchiveDefault', 'aei_piercing_placement_archive'); |
| | | |
| | | function aei_piercing_placement(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $piercing_placement = Registrar::forTerm('piercing_placement', 'Placement', 'Placements') |
| | | ->setIcon('placement') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'piercings/in/body-part', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'piercing', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $piercing_placement->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_piercing_placement_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $piercing_placement = Registrar::getInstance('piercing_placement'); |
| | | |
| | | $fields = $piercing_placement->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_piercing_placement_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Placement', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Placement', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_piercing_placement_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo piercing_placements in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_piercing_placement_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_piercing_placement_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/piercing_style.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_piercing_style'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_piercing_style_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_piercing_style',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_piercing_style_fields', 4); |
| | | |
| | | add_filter('aei_Piercing_styleSchemaDefault', 'aei_piercing_style_schema'); |
| | | add_filter('aei_Piercing_styleMetaDefault', 'aei_piercing_style_meta'); |
| | | add_filter('aei_Piercing_styleArchiveDefault', 'aei_piercing_style_archive'); |
| | | |
| | | function aei_piercing_style(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $piercing_style = Registrar::forTerm('piercing_style', 'Placement', 'Placements') |
| | | ->setIcon('style') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'piercings/in/style', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'piercing', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $piercing_style->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_piercing_style_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $piercing_style = Registrar::getInstance('piercing_style'); |
| | | |
| | | $fields = $piercing_style->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_piercing_style_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Placement', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Placement', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_piercing_style_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo piercing_styles in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_piercing_style_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_piercing_style_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/placement.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_placement'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_placement_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_placement',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_placement_fields', 4); |
| | | |
| | | add_filter('aei_PlacementSchemaDefault', 'aei_placement_schema'); |
| | | add_filter('aei_PlacementMetaDefault', 'aei_placement_meta'); |
| | | add_filter('aei_PlacementArchiveDefault', 'aei_placement_archive'); |
| | | |
| | | function aei_placement(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $placement = Registrar::forTerm('placement', 'Placement', 'Placements') |
| | | ->setIcon('placement') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/body-part', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $placement->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_placement_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $placement = Registrar::getInstance('placement'); |
| | | |
| | | $fields = $placement->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_placement_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Placement', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Placement', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_placement_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo placements in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_placement_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_placement_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/shop.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_shop'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_shop_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_shop',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_shop_fields', 4); |
| | | |
| | | add_filter('aei_ShopSchemaDefault', 'aei_shop_schema'); |
| | | add_filter('aei_ShopMetaDefault', 'aei_shop_meta'); |
| | | add_filter('aei_ShopArchiveDefault', 'aei_shop_archive'); |
| | | |
| | | function aei_shop(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $shop = Registrar::forTerm('shop', 'Shop', 'Shops') |
| | | ->setIcon('shop') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'tattoo-shops', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | 'favouritable', |
| | | 'karma', |
| | | 'invitable', |
| | | 'is_content', |
| | | 'is_ownable', |
| | | 'verify_entry', |
| | | 'associate_user_content', |
| | | ]); |
| | | |
| | | //$directory = $shop->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_shop_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $shop = Registrar::getInstance('shop'); |
| | | |
| | | $fields = $shop->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_shop_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Shop', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Shop', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_shop_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo shops in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_shop_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_shop_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/style.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_style'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_style_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_style',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_style_fields', 4); |
| | | |
| | | add_filter('aei_StyleSchemaDefault', 'aei_style_schema'); |
| | | add_filter('aei_StyleMetaDefault', 'aei_style_meta'); |
| | | add_filter('aei_StyleArchiveDefault', 'aei_style_archive'); |
| | | |
| | | function aei_style(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $style = Registrar::forTerm('style', 'Style', 'Styles') |
| | | ->setIcon('style') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/style', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $style->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_style_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $style = Registrar::getInstance('style'); |
| | | |
| | | $fields = $style->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_style_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Style', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Style', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_style_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo styles in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_style_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_style_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| New file |
| | |
| | | <?php |
| | | // /taxonomies/theme.php |
| | | |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_theme'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_theme_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_theme',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_theme_fields', 4); |
| | | |
| | | add_filter('aei_ThemeSchemaDefault', 'aei_theme_schema'); |
| | | add_filter('aei_ThemeMetaDefault', 'aei_theme_meta'); |
| | | add_filter('aei_ThemeArchiveDefault', 'aei_theme_archive'); |
| | | |
| | | function aei_theme(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $theme = Registrar::forTerm('theme', 'Theme', 'Themes') |
| | | ->setIcon('theme') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'in/theme', |
| | | 'with_front' => false, |
| | | 'hierarchical' => true, |
| | | ], |
| | | 'for' => [ |
| | | 'artist', |
| | | 'event', |
| | | ], |
| | | 'hierarchical' => true, |
| | | ]) |
| | | ->setAll([ |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $theme->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_theme_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $theme = Registrar::getInstance('theme'); |
| | | |
| | | $fields = $theme->fields(); |
| | | $fields->addCommon('wiki'); |
| | | $fields->addCommon('alternate_name'); |
| | | $fields->addCommon('keywords'); |
| | | } |
| | | |
| | | function aei_theme_schema():array |
| | | { |
| | | return [ |
| | | // 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork', |
| | | 'name' => '{{name}} | Canadian Theme', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Theme', |
| | | 'name' => '{{name}}', |
| | | ], |
| | | 'description' => '{{description}}', |
| | | ]; |
| | | } |
| | | |
| | | function aei_theme_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo themes in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_theme_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_theme_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |
| | |
| | | * -> description of the user role. Used in the registration page |
| | | */ |
| | | |
| | | require(AEI_DIR . '/users/client.php'); |
| | | //require(AEI_DIR . '/users/enthusiast.php'); |
| | | |
| | | add_filter('jvb_user', 'aei_user'); |
| | | function aei_user():array |
| | | { |
| | | return [ |
| | | // 'enthusiast' => aei_user_enthusiast(), |
| | | 'client' => aei_user_client(), |
| | | ]; |
| | | } |
| | | |
| | | require(AEI_DIR . '/users/artists.php'); |
| New file |
| | |
| | | <?php |
| | | // /content/artist.php |
| | | |
| | | use JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\ProfilePage; |
| | | use JVBase\meta\Meta; |
| | | use JVBase\registrar\Registrar; |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | | |
| | | add_action('jvbDefineRegistrar', 'aei_artist'); |
| | | add_action('jvbDefineRegistrarFields', 'aei_artist_fields'); |
| | | |
| | | add_action('plugins_loaded', 'aei_artist',3); |
| | | //Add fields later so we can verify taxonomies/post types exist |
| | | add_action('plugins_loaded', 'aei_artist_fields', 4); |
| | | |
| | | add_filter('aei_ArtistSchemaDefault', 'aei_artist_schema'); |
| | | add_filter('aei_ArtistMetaDefault', 'aei_artist_meta'); |
| | | add_filter('aei_ArtistArchiveDefault', 'aei_artist_archive'); |
| | | |
| | | function aei_artist(){ |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $artist = Registrar::forUser('artist', 'Artist', 'Artists') |
| | | ->setAll([ |
| | | 'has_dashboard', |
| | | 'can_register', |
| | | 'keep_stats', |
| | | 'can_favourite', |
| | | 'member_verified', |
| | | ]) |
| | | ->setCreatable([ |
| | | 'piercer' => ['piercings','artwork','events'], |
| | | 'tattoo_artist' => ['tattoos','artwork','events'], |
| | | 'artist' => ['artwork'] |
| | | ]) |
| | | ->setUserSubtype('artist_type'); |
| | | |
| | | $artist->profile() |
| | | ->setIcon('artist') |
| | | ->make([ |
| | | 'rewrite' => [ |
| | | 'slug' => 'artist', |
| | | 'with_front' => false, |
| | | ], |
| | | 'taxonomies' => [ |
| | | 'art_form', |
| | | 'art_style', |
| | | 'art_theme', |
| | | 'artist_type', |
| | | 'city', |
| | | 'colours', |
| | | 'shop', |
| | | 'style', |
| | | 'theme', |
| | | ], |
| | | 'hierarchical' => false, |
| | | ]) |
| | | ->setAll([ |
| | | 'favouritable', |
| | | 'karma', |
| | | 'show_feed', |
| | | 'show_directory', |
| | | 'approve_new', |
| | | 'invitable', |
| | | 'track_changes', |
| | | ]); |
| | | |
| | | //$directory = $artist->getConfig('directory'); |
| | | |
| | | } |
| | | |
| | | function aei_artist_fields():void |
| | | { |
| | | if (!class_exists('JVBase\registrar\Registrar')) { |
| | | return; |
| | | } |
| | | $artist = Registrar::getInstance('artist'); |
| | | |
| | | $profile = $artist->getProfile(); |
| | | |
| | | $fields = $profile->fields(); |
| | | $fields->addField('display_name', [ |
| | | 'type' => 'text', |
| | | 'label' => 'display_name', |
| | | 'required' => true, |
| | | ]); |
| | | $fields->addField('first_name', [ |
| | | 'type' => 'text', |
| | | 'label' => 'First Name', |
| | | 'required' => true, |
| | | ]); |
| | | $fields->addField('phone', [ |
| | | 'type' => 'phone', |
| | | 'label' => 'Phone' |
| | | ]); |
| | | $fields->addField('email', [ |
| | | 'type' => 'email', |
| | | 'label' => 'Email' |
| | | ]); |
| | | $fields->addCommon('links'); |
| | | $fields->addCommon('contact'); |
| | | $fields->addField('followers', [ |
| | | 'type' => 'repeater', |
| | | 'label' => 'Social Followers', |
| | | 'hidden' => true, |
| | | 'fields' => [ |
| | | 'count' => [ |
| | | 'type' => 'text', |
| | | 'subtype'=> 'number', |
| | | 'label' => 'Count' |
| | | ], |
| | | 'source' => [ |
| | | 'type' => 'select', |
| | | 'label' => 'Source', |
| | | 'options' => [ |
| | | 'instagram' => 'Instagram', |
| | | 'facebook' => 'Facebook', |
| | | 'tiktok' => 'TikTok', |
| | | 'general' => 'General', |
| | | ] |
| | | ], |
| | | 'checked' => [ |
| | | 'type' => 'date', |
| | | 'label' => 'Lst Checked' |
| | | ] |
| | | ] |
| | | ]); |
| | | |
| | | $fields->addField('insta_handle', [ |
| | | 'type' => 'text', |
| | | 'hidden' => true, |
| | | 'label' => 'Instagram Handle' |
| | | ]); |
| | | |
| | | $fields->addField('show_online', [ |
| | | 'type' => 'true_false', |
| | | 'label' => 'Show Online', |
| | | ]); |
| | | |
| | | $fields->addField('featured_artist', [ |
| | | 'type' => 'true_false', |
| | | 'label' => 'Featured Artist', |
| | | 'hint' => 'Would you like a chance to be a featured artist?', |
| | | ]); |
| | | |
| | | $fields->addField('has_discounts', [ |
| | | 'type' => 'true_false', |
| | | 'label' => 'Discounts', |
| | | 'description' => 'Do you offer discounted or free services to those leaving domestic violence, gangs, covering hateful imagery, or trafficking? |
| | | |
| | | This will NOT be posted anywhere publicly. We work with local non-profits for our New Legacy Program, and we want to know who we can refer to. |
| | | |
| | | Some non-profits may have discretionary funds to put towards these services.', |
| | | ]); |
| | | $fields->addField('discounts', [ |
| | | 'type' => 'repeater', |
| | | 'label' => 'What do you offer?', |
| | | 'fields' => [ |
| | | 'for' => [ |
| | | 'type' => 'text', |
| | | 'label' => 'For: ', |
| | | 'hint' => 'Who is this for? Example: hateful symbolism, domestic violence, prison tattoos, gang tattoos, scars, human trafficking, etc' |
| | | ], |
| | | 'description' => [ |
| | | 'type' => 'textarea', |
| | | 'quill' => true, |
| | | 'label' => 'What do you offer?', |
| | | 'hint' => 'What do you offer? Discount/pro bono/sliding scale? What are the conditions?' |
| | | ] |
| | | ] |
| | | ]); |
| | | |
| | | $fields->addField('top_style', [ |
| | | 'type' => 'selector', |
| | | 'subtype'=> 'taxonomy', |
| | | 'isReference' => true, |
| | | 'taxonomy' => 'style', |
| | | 'max' => 3, |
| | | 'label' => 'Top Styles (Max 3)', |
| | | 'hint' => 'If you want to control which 3 styles show at the top of your profile, select your top favourite styles to work in. If you do not select any, it will be determined by the tattoo styles you post most often.' |
| | | ]); |
| | | |
| | | $fields->addField('top_theme', [ |
| | | 'type' => 'selector', |
| | | 'subtype'=> 'taxonomy', |
| | | 'isReference' => true, |
| | | 'taxonomy' => 'theme', |
| | | 'max' => 3, |
| | | 'label' => 'Top Themes (Max 3)', |
| | | 'hint' => 'If you want to control which 3 themes show at the top of your profile, select your top favourite styles to work in. If you do not select any, it will be determined by the tattoo themes you post most often.' |
| | | ]); |
| | | |
| | | $fields->addField('city', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'city', |
| | | 'label' => 'City', |
| | | ]); |
| | | |
| | | $fields->addField('shop', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'shop', |
| | | 'label' => 'Shop', |
| | | ]); |
| | | $fields->addField('requested_shop', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'isReference' => true, |
| | | 'taxonomy' => 'shop', |
| | | 'label' => 'Requested Shop', |
| | | 'hidden' => true, |
| | | ]); |
| | | |
| | | //TODO These two should probably be auto-added via management settings |
| | | $fields->addField('shop_owner',[ |
| | | 'hidden' => true, |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'shop', |
| | | 'isReference' => 'true', |
| | | 'label' => 'Shop Owner', |
| | | ]); |
| | | $fields->addField('shop_manager',[ |
| | | 'hidden' => true, |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'shop', |
| | | 'isReference' => 'true', |
| | | 'label' => 'Shop Manager', |
| | | ]); |
| | | |
| | | $fields->modifyField('post_excerpt', 'label', 'Short Bio'); |
| | | $fields->modifyField('post_excerpt', 'maxLength', 133); |
| | | $fields->modifyField('post_excerpt', 'description', 'A short description of yourself. 1-3 sentences.'); |
| | | |
| | | $fields->modifyField('post_content', 'label', 'Bio'); |
| | | $fields->modifyField('post_content', 'quill', true); |
| | | $fields->modifyField('post_content', 'description', 'A longer bio for your main profile.'); |
| | | |
| | | $fields->addField('image_portrait', [ |
| | | 'type' => 'upload', |
| | | 'label' => 'Profile Image' |
| | | ]); |
| | | $fields->addField('artist_type', [ |
| | | 'type' => 'selector', |
| | | 'subtype' => 'taxonomy', |
| | | 'taxonomy' => 'artist_type', |
| | | 'max' => 1, |
| | | 'label' => 'You are a:' |
| | | ]); |
| | | // $fields->addCommon('wiki'); |
| | | // $fields->addCommon('alternate_name'); |
| | | // $fields->addCommon('specialties'); |
| | | // $fields->addCommon('rate'); |
| | | // $fields->addCommon('awards'); |
| | | // $fields->addCommon('ratings'); |
| | | // $fields->addCommon('reviews'); |
| | | // $fields->addCommon('services'); |
| | | // $fields->addCommon('languages'); |
| | | // $fields->addCommon('credentials'); |
| | | // $fields->addCommon('keywords'); |
| | | |
| | | |
| | | $contact = $profile->addSection('contact') |
| | | ->setIcon('chat') |
| | | ->setFields([ |
| | | 'display_name', |
| | | 'first_name', |
| | | 'phone', |
| | | 'email', |
| | | 'public_contact', |
| | | 'admin_contact', |
| | | 'show_online', |
| | | 'featured_artist', |
| | | ]); |
| | | |
| | | $profileSection = $profile->addSection('profile') |
| | | ->setIcon('user') |
| | | ->setFields([ |
| | | 'image_portrait', |
| | | 'artist_type', |
| | | 'city', |
| | | 'shop', |
| | | 'post_excerpt', |
| | | 'post_content' |
| | | ]); |
| | | |
| | | $seo = $profile->getSEO(); |
| | | |
| | | // $seo = $profile->addSection('seo') |
| | | // ->setIcon('robot') |
| | | // ->setFields([ |
| | | // 'alternate_name', |
| | | // 'specialties', |
| | | // 'rate', |
| | | // 'awards', |
| | | // 'ratings', |
| | | // 'reviews', |
| | | // 'services', |
| | | // 'languages', |
| | | // 'credentials', |
| | | // 'keywords' |
| | | // ]); |
| | | |
| | | } |
| | | |
| | | function aei_artist_schema():array |
| | | { |
| | | return [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\ProfilePage', |
| | | 'name' => '{{post_title}} | Edmonton\'s Best {{artist_type.name}}', |
| | | 'about' => [ |
| | | 'type' => 'JVBase\managers\SEO\render\Thing\Person', |
| | | 'name' => '{{post_title}}', |
| | | 'givenName' => '{{first_name', |
| | | 'description' => '{{post_excerpt}}', |
| | | 'memberOf' => ['@id' => get_home_url().'/#organization'], |
| | | 'alternateName' => '{{alternate_name}}', |
| | | 'workLocation' => '{{city}}' |
| | | |
| | | ], |
| | | 'description' => '{{post_excerpt}}', |
| | | ]; |
| | | } |
| | | |
| | | add_filter('jvb_single_artit_profile_schema_output', 10, 2); |
| | | function aei_artist_schema_output(ProfilePage $profile, int $ID):ProfilePage |
| | | { |
| | | $person = $profile->getAbout(); |
| | | $meta = Meta::forPost($ID); |
| | | $public_contact = $meta->get('public_contact'); |
| | | foreach ($public_contact as $c) { |
| | | switch ($c) { |
| | | case 'text': |
| | | case 'call': |
| | | $phone = $meta->get('phone'); |
| | | if (!empty($phone)) { |
| | | $person->setTelephone($phone); |
| | | } |
| | | break; |
| | | case 'email': |
| | | $email = $meta->get('email'); |
| | | if(!empty($email)) { |
| | | $person->setEmail($email); |
| | | } |
| | | } |
| | | } |
| | | |
| | | $links = $meta->get('links'); |
| | | $sameAs = []; |
| | | foreach($links as $link) { |
| | | $sameAs[] = $link['url']; |
| | | } |
| | | if (!empty($links)) { |
| | | $person->setSameAs($sameAs); |
| | | } |
| | | |
| | | //TODO: Rating is not a property of Person |
| | | // $rating = $meta->get('average_rating'); |
| | | // if (!empty($rating) || $rating === 'none') { |
| | | // $total = $meta->get('total_ratings'); |
| | | // $person->setAggregateRating([ |
| | | // 'ratingValue' => $rating, |
| | | // 'ratingCount' => $total === '' ? 1 : $total, |
| | | // 'bestRating' => 5, |
| | | // 'worstRating' => 1, |
| | | // ]) |
| | | // } |
| | | |
| | | |
| | | |
| | | return $profile; |
| | | } |
| | | |
| | | function aei_artist_meta():array |
| | | { |
| | | return[ |
| | | 'name' => 'Best Tattoos in {{name}}', |
| | | 'description' => 'Tattoos, piercings, tattoo artists, and tattoo artists in {{name}}.' |
| | | ]; |
| | | } |
| | | |
| | | function aei_artist_archive(array $defaults):array |
| | | { |
| | | return array_merge($defaults, [ |
| | | 'name' => '{{name}}\'s Best Tattoo Artists', |
| | | ]); |
| | | } |
| | | |
| | | function aei_artist_reference_schema(array $defaults):array |
| | | { |
| | | return $defaults; |
| | | } |