update miletruth page and remove unwanted files

This commit is contained in:
2026-06-03 13:42:12 +05:30
parent 3bad62851c
commit 6eea5636fb
153 changed files with 6089 additions and 36024 deletions

View File

@@ -1,209 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="180" height="158" viewBox="0 0 180 158" fill="none">
<path d="M75.5135 92.6543L103.649 108.891V110.918L102.865 111.378L74.707 95.1416V93.1149L75.5135 92.6543Z" fill="#ffffff"></path>
<path d="M102.865 109.352L103.649 108.891V110.918L102.865 111.379L74.707 95.142V93.1152L102.865 109.352Z" fill="#686868"></path>
<path d="M55.7417 98.9414L19.0117 120.153V128.444L25.7863 132.359L62.5393 111.148L63.8988 109.19L64.5901 106.795V104.031L55.7417 98.9414Z" fill="#ffffff"></path>
<path d="M64.589 106.795L27.8359 128.007V125.243L64.589 104.031V106.795Z" fill="#686868"></path>
<path d="M63.8975 109.19L27.1445 130.379L27.8358 128.006L64.5888 106.795L63.8975 109.19Z" fill="#686868"></path>
<path d="M62.5382 111.147L25.7852 132.359L27.1447 130.378L63.8977 109.189L62.5382 111.147Z" fill="#686868"></path>
<path opacity="0.5" d="M25.7863 132.359L27.1458 130.378L27.8371 128.006V125.242L19.0117 120.152V128.444L25.7863 132.359Z" fill="#686868"></path>
<path d="M91.2729 106.91L99.96 111.931L99.2918 117.919L88.5078 111.701L91.2729 106.91Z" fill="#ffffff"></path>
<path d="M91.2729 106.91L99.96 111.931L99.2918 117.919L88.5078 111.701L91.2729 106.91Z" fill="#686868"></path>
<path d="M91.2729 106.91L99.96 111.931L99.2918 117.919L88.5078 111.701L91.2729 106.91Z" fill="#686868"></path>
<path d="M80.029 95.9473L6.26953 138.509V142.424L22.7681 151.936L96.5276 109.374L96.5045 105.459L80.029 95.9473Z" fill="#686868"></path>
<path opacity="0.5" d="M22.7681 148.02V151.935L6.26953 142.423V138.508L22.7681 148.02Z" fill="#686868"></path>
<path d="M96.506 105.459L22.7695 148.02V151.936L96.529 109.374L96.506 105.459Z" fill="#686868"></path>
<path d="M99.3863 115.708C99.3863 114.096 98.8103 112.967 97.9116 112.461L95.2156 110.918C94.2939 110.388 93.0496 110.48 91.644 111.286C88.8558 112.898 86.5977 116.813 86.5977 120.015C86.5977 121.627 87.1737 122.755 88.0724 123.285L90.7453 124.828C91.667 125.358 92.9344 125.289 94.3169 124.483C97.1281 122.825 99.3863 118.909 99.3863 115.708Z" fill="#ffffff"></path>
<path d="M99.3856 115.707C99.3856 112.483 97.1275 111.193 94.3393 112.805C91.5511 114.418 89.293 118.333 89.293 121.534C89.293 124.735 91.5511 126.048 94.3393 124.436C97.1275 122.824 99.3856 118.909 99.3856 115.707Z" fill="#686868"></path>
<path d="M97.4512 116.814C97.4512 114.833 96.0456 114.027 94.3174 115.017C92.5892 116.008 91.1836 118.426 91.1836 120.43C91.1836 122.41 92.5892 123.216 94.3174 122.226C96.0686 121.236 97.4512 118.817 97.4512 116.814Z" fill="#EAECF2"></path>
<path d="M96.8732 116.882C96.8732 115.108 95.6289 114.394 94.085 115.293C92.5412 116.191 91.2969 118.333 91.2969 120.106C91.2969 121.879 92.5412 122.593 94.085 121.718C95.6289 120.82 96.8732 118.655 96.8732 116.882Z" fill="#686868"></path>
<path d="M96.6438 117.689C96.6438 116.446 95.7682 115.939 94.6852 116.561C93.6022 117.183 92.7266 118.703 92.7266 119.946C92.7266 121.19 93.6022 121.697 94.6852 121.075C95.7682 120.453 96.6438 118.933 96.6438 117.689Z" fill="#EAECF2"></path>
<path d="M94.8001 117.505C94.6849 117.574 94.5927 117.505 94.5927 117.367C94.5927 117.229 94.6849 117.068 94.8001 116.999C94.9153 116.93 95.0075 116.976 95.0075 117.114C95.0305 117.275 94.9384 117.436 94.8001 117.505ZM95.0305 120.43C95.0305 120.292 94.9384 120.246 94.8232 120.315C94.7079 120.384 94.6158 120.545 94.6158 120.684C94.6158 120.822 94.7079 120.868 94.8232 120.799C94.9384 120.73 95.0305 120.545 95.0305 120.43ZM96.2288 118.335C96.344 118.265 96.4361 118.104 96.4361 117.966C96.4361 117.828 96.344 117.782 96.2288 117.851C96.1135 117.92 96.0214 118.081 96.0214 118.219C96.0214 118.335 96.1135 118.404 96.2288 118.335ZM93.3945 119.97C93.5097 119.901 93.6019 119.739 93.6019 119.601C93.6019 119.463 93.5097 119.417 93.3945 119.486C93.2793 119.555 93.1871 119.716 93.1871 119.855C93.1641 119.993 93.2562 120.039 93.3945 119.97ZM95.9753 117.252C96.0675 117.114 96.0675 116.953 95.9753 116.907C95.8831 116.861 95.7679 116.93 95.6757 117.091C95.5836 117.229 95.5836 117.39 95.6757 117.436C95.7449 117.459 95.8831 117.39 95.9753 117.252ZM93.9475 120.73C94.0397 120.592 94.0397 120.43 93.9475 120.384C93.8554 120.338 93.7171 120.407 93.648 120.569C93.5558 120.707 93.5558 120.868 93.648 120.914C93.7401 120.96 93.8784 120.868 93.9475 120.73ZM95.6757 119.739C95.7679 119.785 95.9062 119.716 95.9753 119.555C96.0675 119.417 96.0675 119.256 95.9753 119.21C95.8831 119.164 95.7679 119.233 95.6757 119.394C95.5836 119.532 95.5836 119.693 95.6757 119.739ZM93.648 118.588C93.7401 118.634 93.8554 118.565 93.9475 118.427C94.0397 118.288 94.0397 118.127 93.9475 118.081C93.8554 118.035 93.7171 118.104 93.648 118.265C93.5788 118.381 93.5788 118.542 93.648 118.588Z" fill="#686868"></path>
<path d="M95.977 118.542C95.977 117.989 95.5853 117.759 95.0783 118.035C94.5945 118.311 94.2027 119.002 94.1797 119.555C94.1797 120.108 94.5714 120.338 95.0783 120.062C95.5622 119.785 95.977 119.118 95.977 118.542Z" fill="#ffffff"></path>
<path d="M100.838 112.368L97.3587 109.512L96.5983 109.074L90.538 112.552L87.0586 119.415V124.966L87.842 125.403L88.6025 124.966V119.738L91.6671 113.68L96.8517 110.686L98.9025 112.368L99.2942 112.782V117.918L100.055 118.356L100.838 117.918V112.368Z" fill="#ffffff"></path>
<path d="M100.84 117.918L100.056 118.356V113.128L96.9917 110.617L91.6688 113.68L88.6042 119.737V124.966L87.8438 125.403V119.876L91.3001 113.012L97.3604 109.512L100.84 112.368V117.918Z" fill="#686868"></path>
<path d="M96.9898 110.617L96.8516 110.686L98.9024 112.368L99.2941 112.782V117.918L100.054 118.356V113.128L96.9898 110.617Z" fill="#686868"></path>
<path opacity="0.5" d="M96.9898 110.617L96.8516 110.686L98.9024 112.368L99.2941 112.782V117.918L100.054 118.356V113.128L96.9898 110.617Z" fill="#686868"></path>
<path opacity="0.3" d="M91.2984 113.013L90.538 112.553L87.0586 119.416L87.842 119.877L91.2984 113.013Z" fill="#686868"></path>
<path opacity="0.5" d="M87.842 119.877L87.0586 119.416V124.966L87.842 125.404V119.877Z" fill="#686868"></path>
<path d="M79.546 112.668L42.793 133.88V142.171L49.5905 146.086L86.3436 124.897L87.7031 122.917L88.3713 120.545V117.781L79.546 112.668Z" fill="#ffffff"></path>
<path d="M88.3702 120.545L51.6172 141.733V138.97L88.3702 117.781V120.545Z" fill="#686868"></path>
<path d="M87.7022 122.917L50.9492 144.106L51.6175 141.733L88.3705 120.545L87.7022 122.917Z" fill="#686868"></path>
<path d="M86.3429 124.897L49.5898 146.085L50.9494 144.105L87.7024 122.916L86.3429 124.897Z" fill="#686868"></path>
<path opacity="0.5" d="M49.5905 146.085L50.9501 144.105L51.6183 141.732V138.969L42.793 133.879V142.17L49.5905 146.085Z" fill="#686868"></path>
<path d="M74.4738 89.9824L29.8633 115.731V119.001L56.6849 134.501L101.319 108.753V105.482L74.4738 89.9824Z" fill="#ffffff"></path>
<path d="M101.317 105.482V108.753L56.6836 134.501V131.231L101.317 105.482Z" fill="#686868"></path>
<path opacity="0.5" d="M29.8633 115.73L56.6849 131.23V134.501L29.8633 119.001V115.73Z" fill="#686868"></path>
<path d="M78.6235 109.075L85.6745 104.999L85.6975 104.054L75.0979 97.9512L68.0469 102.028V102.972L78.6235 109.075Z" fill="#686868"></path>
<path d="M85.6991 104.055L85.676 104.999L78.625 109.075V108.131L85.6991 104.055Z" fill="#686868"></path>
<path opacity="0.5" d="M78.6235 108.131L68.0469 102.027V102.972L78.6235 109.075V108.131Z" fill="#686868"></path>
<path d="M74.4287 100.853C73.7835 101.221 73.4609 101.728 73.4609 102.211V102.603C73.4609 103.087 73.7835 103.593 74.4287 103.962C75.7191 104.722 77.839 104.722 79.1294 103.962C79.7746 103.593 80.0972 103.087 80.0972 102.603V102.234C80.0972 101.751 79.7746 101.244 79.1294 100.876C77.816 100.116 75.7191 100.116 74.4287 100.853Z" fill="#ffffff"></path>
<path opacity="0.5" d="M75.3041 101.566C74.4976 102.027 74.4976 102.81 75.3041 103.27C76.1336 103.731 77.4471 103.731 78.2766 103.27C79.0831 102.787 79.0831 102.027 78.2766 101.566C77.4471 101.106 76.1106 101.106 75.3041 101.566Z" fill="#686868"></path>
<path d="M80.0972 102.234C80.0972 102.718 79.7746 103.225 79.1294 103.593C77.839 104.353 75.7191 104.353 74.4287 103.593C73.7835 103.225 73.4609 102.718 73.4609 102.234V102.603C73.4609 103.087 73.7835 103.593 74.4287 103.962C75.7191 104.722 77.839 104.722 79.1294 103.962C79.7746 103.593 80.0972 103.087 80.0972 102.603V102.234Z" fill="#686868"></path>
<path d="M149.314 52.7188L177.449 68.9556V70.9823L176.666 71.443L148.508 55.1831V53.1794L149.314 52.7188Z" fill="#ffffff"></path>
<path d="M176.666 69.4165L177.449 68.9559V70.9826L176.666 71.4433L148.508 55.1834V53.1797L176.666 69.4165Z" fill="#686868"></path>
<path d="M152.403 53.502L55.3242 109.536V113.429L71.7997 122.94L168.878 66.929V63.0138L152.403 53.502Z" fill="#ffffff"></path>
<path opacity="0.5" d="M71.7997 119.049V122.941L55.3242 113.429V109.537L71.7997 119.049Z" fill="#686868"></path>
<path d="M168.879 63.0137L71.8008 119.048V122.94L168.879 66.9289V63.0137Z" fill="#686868"></path>
<path d="M115.855 99.8398L111.754 102.212V105.321L112.537 105.782L116.639 103.41V100.3L115.855 99.8398Z" fill="#ffffff"></path>
<path d="M112.537 102.673L111.754 102.212V105.322L112.537 105.782L116.639 103.41V100.301L112.537 102.673Z" fill="#686868"></path>
<path d="M121.985 99.7715L106.523 108.684V109.767L107.33 110.228L122.769 101.315V100.232L121.985 99.7715Z" fill="#ffffff"></path>
<path d="M107.33 109.145L106.523 108.685V109.767L107.33 110.228L122.769 101.315V100.232L107.33 109.145Z" fill="#686868"></path>
<path d="M167.935 73.3547L154.017 79.0434L153.211 79.527V75.6118L154.709 70.0152L165.493 63.7969L167.889 67.5509L168.742 72.7329L167.935 73.3547Z" fill="#ffffff"></path>
<path d="M167.935 73.3547L154.017 79.0434L153.211 79.527V75.6118L154.709 70.0152L165.493 63.7969L167.889 67.5509L168.742 72.7329L167.935 73.3547Z" fill="#686868"></path>
<path d="M171.967 75.6809L167.934 73.3548L167.128 68.311L165.008 65.0176L169.063 67.3437L171.16 70.6371L171.967 75.6809Z" fill="#ffffff"></path>
<path d="M171.967 75.6809L167.934 73.3548L167.128 68.311L165.008 65.0176L169.063 67.3437L171.16 70.6371L171.967 75.6809Z" fill="#686868"></path>
<path opacity="0.5" d="M171.967 75.6809L167.934 73.3548L167.128 68.311L165.008 65.0176L169.063 67.3437L171.16 70.6371L171.967 75.6809Z" fill="#686868"></path>
<path d="M169.293 75.358C169.293 73.7458 168.717 72.6173 167.818 72.0876L165.122 70.5445C164.2 70.0148 162.956 70.1069 161.55 70.913C158.762 72.5252 156.504 76.4174 156.504 79.6418C156.504 81.2539 157.08 82.3824 157.979 82.9122L160.652 84.4552C161.573 84.985 162.841 84.9159 164.223 84.1098C167.034 82.4746 169.293 78.5823 169.293 75.358Z" fill="#ffffff"></path>
<path d="M169.292 75.3577C169.292 72.1333 167.034 70.8436 164.246 72.4558C161.457 74.0679 159.199 77.9832 159.199 81.1845C159.199 84.3858 161.457 85.6986 164.246 84.0864C167.034 82.4743 169.292 78.582 169.292 75.3577Z" fill="#686868"></path>
<path d="M167.381 76.4641C167.381 74.4834 165.975 73.6773 164.247 74.6677C162.519 75.658 161.113 78.0762 161.113 80.0799C161.113 82.0606 162.519 82.8667 164.247 81.8764C165.975 80.886 167.381 78.4678 167.381 76.4641Z" fill="#EAECF2"></path>
<path d="M166.803 76.532C166.803 74.7587 165.559 74.0447 164.015 74.9429C162.471 75.8411 161.227 77.983 161.227 79.7564C161.227 81.5298 162.471 82.2437 164.015 81.3686C165.536 80.4703 166.803 78.3054 166.803 76.532Z" fill="#686868"></path>
<path d="M166.55 77.3377C166.55 76.094 165.674 75.5873 164.591 76.2092C163.508 76.831 162.633 78.3511 162.633 79.5947C162.633 80.8384 163.508 81.3451 164.591 80.7233C165.674 80.1014 166.55 78.5814 166.55 77.3377Z" fill="#EAECF2"></path>
<path d="M164.73 77.154C164.615 77.2231 164.522 77.1771 164.522 77.0389C164.522 76.9007 164.615 76.7395 164.73 76.6704C164.845 76.6013 164.937 76.6474 164.937 76.7855C164.937 76.9237 164.845 77.0849 164.73 77.154ZM164.937 80.079C164.937 79.9408 164.845 79.8947 164.73 79.9638C164.615 80.0329 164.522 80.1941 164.522 80.3323C164.522 80.4705 164.615 80.5166 164.73 80.4475C164.845 80.3784 164.937 80.2172 164.937 80.079ZM166.158 77.9832C166.274 77.9141 166.366 77.7528 166.366 77.6147C166.366 77.4765 166.274 77.4304 166.158 77.4995C166.043 77.5686 165.951 77.7298 165.951 77.868C165.928 77.9832 166.02 78.0522 166.158 77.9832ZM163.301 79.6184C163.416 79.5493 163.509 79.388 163.509 79.2499C163.509 79.1117 163.416 79.0656 163.301 79.1347C163.186 79.2038 163.094 79.365 163.094 79.5032C163.094 79.6414 163.186 79.6874 163.301 79.6184ZM165.882 76.9007C165.974 76.7625 165.974 76.6013 165.882 76.5552C165.79 76.5092 165.675 76.5783 165.582 76.7164C165.49 76.8546 165.49 77.0158 165.582 77.0619C165.675 77.131 165.79 77.0389 165.882 76.9007ZM163.877 80.3784C163.969 80.2402 163.969 80.079 163.877 80.0329C163.785 79.9868 163.67 80.0559 163.578 80.2172C163.485 80.3553 163.485 80.5166 163.578 80.5626C163.647 80.6087 163.785 80.5166 163.877 80.3784ZM165.582 79.388C165.675 79.4341 165.813 79.365 165.882 79.2038C165.974 79.0656 165.974 78.9044 165.882 78.8583C165.79 78.8123 165.675 78.8814 165.582 79.0426C165.49 79.1808 165.49 79.342 165.582 79.388ZM163.555 78.2365C163.647 78.2826 163.785 78.2135 163.854 78.0522C163.946 77.9141 163.946 77.7528 163.854 77.7068C163.762 77.6607 163.624 77.7298 163.555 77.891C163.485 78.0292 163.485 78.1904 163.555 78.2365Z" fill="#686868"></path>
<path d="M165.884 78.1905C165.884 77.6147 165.492 77.4074 165.008 77.6838C164.524 77.9601 164.109 78.6511 164.109 79.2269C164.109 79.7796 164.501 80.0099 165.008 79.7335C165.492 79.4572 165.884 78.7662 165.884 78.1905Z" fill="#ffffff"></path>
<path d="M171.922 69.8771L169.526 66.146L165.493 63.7969L153.373 69.2552L151.875 74.8287V78.744L157.244 81.8532L158.05 81.3925V77.8458L161.484 71.7195L169.065 67.3436L171.162 70.6371L171.968 75.6809L172.775 75.059L171.922 69.8771Z" fill="#ffffff"></path>
<path d="M171.966 75.6813L171.16 70.6375L169.063 67.3441L161.482 71.72L158.049 77.8462V81.393L157.242 81.8536V77.9383L158.763 72.3649L169.524 66.1465L171.92 69.8775L172.773 75.0595L171.966 75.6813Z" fill="#686868"></path>
<path d="M151.896 74.8516L151.781 78.6977L157.242 81.853V77.9377L151.896 74.8516Z" fill="#ffffff"></path>
<path opacity="0.5" d="M151.896 74.8516L151.781 78.6977L157.242 81.853V77.9377L151.896 74.8516Z" fill="#686868"></path>
<path opacity="0.5" d="M158.765 72.365L157.244 77.9385L151.875 74.8294L153.373 69.2559L158.765 72.365Z" fill="#686868"></path>
<path d="M152.173 82.4524L138.256 88.1411L137.449 88.6017V84.7094L138.947 79.1129L149.731 72.8945L152.127 76.6486L152.98 81.8306L152.173 82.4524Z" fill="#ffffff"></path>
<path d="M152.173 82.4524L138.256 88.1411L137.449 88.6017V84.7094L138.947 79.1129L149.731 72.8945L152.127 76.6486L152.98 81.8306L152.173 82.4524Z" fill="#686868"></path>
<path d="M156.205 84.7786L152.173 82.4525L151.366 77.4087L149.246 74.1152L153.279 76.4414L155.398 79.7348L156.205 84.7786Z" fill="#ffffff"></path>
<path d="M156.205 84.7786L152.173 82.4525L151.366 77.4087L149.246 74.1152L153.279 76.4414L155.398 79.7348L156.205 84.7786Z" fill="#686868"></path>
<path opacity="0.5" d="M156.205 84.7786L152.173 82.4525L151.366 77.4087L149.246 74.1152L153.279 76.4414L155.398 79.7348L156.205 84.7786Z" fill="#686868"></path>
<path d="M153.531 84.4557C153.531 82.8435 152.955 81.715 152.056 81.1853L149.36 79.6422C148.438 79.1125 147.194 79.2046 145.789 80.0107C143 81.6228 140.742 85.5381 140.742 88.7394C140.742 90.3516 141.318 91.4801 142.217 92.0098L144.89 93.5529C145.812 94.0826 147.079 94.0135 148.461 93.2074C151.273 91.5722 153.531 87.68 153.531 84.4557Z" fill="#ffffff"></path>
<path d="M153.53 84.4551C153.53 81.2538 151.272 79.941 148.484 81.5532C145.696 83.1654 143.438 87.0806 143.438 90.2819C143.438 93.4832 145.696 94.796 148.484 93.1838C151.272 91.5717 153.53 87.6794 153.53 84.4551Z" fill="#686868"></path>
<path d="M151.619 85.5617C151.619 83.5811 150.214 82.775 148.485 83.7653C146.757 84.7556 145.352 87.1739 145.352 89.1776C145.352 91.1583 146.757 91.9643 148.485 90.974C150.214 89.9837 151.619 87.5654 151.619 85.5617Z" fill="#EAECF2"></path>
<path d="M151.041 85.6301C151.041 83.8567 149.797 83.1427 148.253 84.0179C146.709 84.9161 145.465 87.058 145.465 88.8314C145.465 90.6048 146.709 91.3187 148.253 90.4436C149.774 89.5684 151.041 87.4035 151.041 85.6301Z" fill="#686868"></path>
<path d="M150.788 86.4354C150.788 85.1917 149.913 84.685 148.83 85.3068C147.747 85.9287 146.871 87.4487 146.871 88.6924C146.871 89.9361 147.747 90.4427 148.83 89.8209C149.913 89.1991 150.788 87.679 150.788 86.4354Z" fill="#EAECF2"></path>
<path d="M148.968 86.2515C148.853 86.3206 148.761 86.2745 148.761 86.1363C148.761 85.9981 148.853 85.8369 148.968 85.7678C149.083 85.6987 149.175 85.7678 149.175 85.883C149.175 86.0212 149.083 86.1824 148.968 86.2515ZM149.175 89.1534C149.175 89.0152 149.083 88.9691 148.968 89.0382C148.853 89.1073 148.761 89.2685 148.761 89.4067C148.761 89.5449 148.853 89.591 148.968 89.5219C149.083 89.4758 149.175 89.2916 149.175 89.1534ZM150.397 87.0806C150.512 87.0115 150.604 86.8503 150.604 86.7121C150.604 86.5739 150.512 86.5279 150.397 86.597C150.281 86.666 150.189 86.8273 150.189 86.9654C150.189 87.1036 150.281 87.1497 150.397 87.0806ZM147.539 88.7158C147.655 88.6467 147.747 88.4855 147.747 88.3473C147.747 88.2091 147.655 88.1631 147.539 88.2322C147.424 88.3012 147.332 88.4625 147.332 88.6007C147.332 88.7388 147.424 88.7849 147.539 88.7158ZM150.12 85.9981C150.212 85.86 150.212 85.6987 150.12 85.6527C150.028 85.6066 149.89 85.6757 149.821 85.8369C149.728 85.9751 149.728 86.1363 149.821 86.1824C149.913 86.2054 150.028 86.1363 150.12 85.9981ZM148.115 89.4758C148.208 89.3376 148.208 89.1764 148.115 89.1304C148.023 89.0843 147.885 89.1534 147.816 89.2916C147.724 89.4298 147.724 89.591 147.816 89.637C147.885 89.7061 148.023 89.614 148.115 89.4758ZM149.821 88.4855C149.913 88.5316 150.051 88.4625 150.12 88.3012C150.212 88.1631 150.212 88.0018 150.12 87.9558C150.028 87.9097 149.89 87.9788 149.821 88.14C149.728 88.2782 149.728 88.4394 149.821 88.4855ZM147.793 87.3339C147.885 87.38 148 87.3109 148.092 87.1497C148.185 87.0115 148.185 86.8503 148.092 86.8042C148 86.7582 147.862 86.8273 147.793 86.9885C147.724 87.1267 147.724 87.2879 147.793 87.3339Z" fill="#686868"></path>
<path d="M150.122 87.2879C150.122 86.7351 149.73 86.5048 149.246 86.7812C148.762 87.0575 148.348 87.7485 148.348 88.3242C148.348 88.877 148.739 89.1073 149.246 88.8309C149.73 88.5546 150.122 87.8636 150.122 87.2879Z" fill="#ffffff"></path>
<path d="M156.16 78.9977L153.787 75.2207L149.731 72.8945L137.611 78.3529L136.113 83.9264V87.8416L141.482 90.9508L142.289 90.4672V86.9434L145.722 80.8172L153.28 76.4413L155.4 79.7347L156.206 84.7785L157.013 84.1567L156.16 78.9977Z" fill="#ffffff"></path>
<path d="M156.205 84.7786L155.398 79.7348L153.278 76.4413L145.72 80.8172L142.287 86.9435V90.4672L141.48 90.9509V87.0356L143.001 81.4621L153.785 75.2207L156.159 78.9978L157.011 84.1567L156.205 84.7786Z" fill="#686868"></path>
<path d="M136.135 83.9492L136.02 87.7954L141.481 90.9506V87.0354L136.135 83.9492Z" fill="#ffffff"></path>
<path opacity="0.5" d="M136.135 83.9492L136.02 87.7954L141.481 90.9506V87.0354L136.135 83.9492Z" fill="#686868"></path>
<path opacity="0.5" d="M143.003 81.4627L141.482 87.0362L136.113 83.927L137.611 78.3535L143.003 81.4627Z" fill="#686868"></path>
<path d="M136.412 91.5251L122.494 97.2368L121.688 97.6974V93.8051L123.185 88.2086L133.969 81.9902L136.366 85.7443L137.218 90.9263L136.412 91.5251Z" fill="#ffffff"></path>
<path d="M136.412 91.5251L122.494 97.2368L121.688 97.6974V93.8051L123.185 88.2086L133.969 81.9902L136.366 85.7443L137.218 90.9263L136.412 91.5251Z" fill="#686868"></path>
<path d="M140.466 93.8743L136.411 91.5251L135.604 86.5044L133.484 83.2109L137.517 85.5371L139.637 88.8305L140.466 93.8743Z" fill="#ffffff"></path>
<path d="M140.466 93.8743L136.411 91.5251L135.604 86.5044L133.484 83.2109L137.517 85.5371L139.637 88.8305L140.466 93.8743Z" fill="#686868"></path>
<path opacity="0.5" d="M140.466 93.8743L136.411 91.5251L135.604 86.5044L133.484 83.2109L137.517 85.5371L139.637 88.8305L140.466 93.8743Z" fill="#686868"></path>
<path d="M137.769 93.5514C137.769 91.9392 137.193 90.8107 136.294 90.281L133.598 88.7379C132.677 88.2082 131.432 88.3003 130.027 89.1064C127.239 90.7185 124.98 94.6338 124.98 97.8351C124.98 99.4473 125.557 100.576 126.455 101.106L129.128 102.649C130.05 103.178 131.317 103.109 132.7 102.303C135.511 100.668 137.769 96.7527 137.769 93.5514Z" fill="#ffffff"></path>
<path d="M137.768 93.551C137.768 90.3267 135.51 89.037 132.722 90.6491C129.934 92.2613 127.676 96.1766 127.676 99.3779C127.676 102.602 129.934 103.892 132.722 102.28C135.51 100.668 137.768 96.7524 137.768 93.551Z" fill="#686868"></path>
<path d="M135.857 94.6574C135.857 92.6768 134.452 91.8707 132.724 92.861C130.995 93.8514 129.59 96.2696 129.59 98.2733C129.59 100.254 130.995 101.06 132.724 100.07C134.452 99.0564 135.857 96.6611 135.857 94.6574Z" fill="#EAECF2"></path>
<path d="M135.279 94.7258C135.279 92.9524 134.035 92.2384 132.491 93.1136C130.947 94.0118 129.703 96.1537 129.703 97.9271C129.703 99.7005 130.947 100.414 132.491 99.5393C134.012 98.6641 135.279 96.4992 135.279 94.7258Z" fill="#686868"></path>
<path d="M135.027 95.5311C135.027 94.2874 134.151 93.7807 133.068 94.4025C131.985 95.0244 131.109 96.5444 131.109 97.7881C131.109 99.0318 131.985 99.5385 133.068 98.9166C134.151 98.2948 135.027 96.7747 135.027 95.5311Z" fill="#EAECF2"></path>
<path d="M133.206 95.3472C133.091 95.4163 132.999 95.3472 132.999 95.232C132.999 95.0938 133.091 94.9326 133.206 94.8635C133.322 94.7944 133.414 94.8635 133.414 94.9787C133.414 95.1169 133.322 95.2781 133.206 95.3472ZM133.414 98.2721C133.414 98.1339 133.322 98.0879 133.206 98.157C133.091 98.2261 132.999 98.3873 132.999 98.5255C132.999 98.6637 133.091 98.7097 133.206 98.6406C133.322 98.5715 133.414 98.3873 133.414 98.2721ZM134.635 96.1763C134.75 96.1072 134.842 95.946 134.842 95.8078C134.842 95.6696 134.75 95.6236 134.635 95.6927C134.52 95.7617 134.428 95.923 134.428 96.0612C134.405 96.1763 134.497 96.2454 134.635 96.1763ZM131.778 97.8115C131.893 97.7424 131.985 97.5812 131.985 97.443C131.985 97.3048 131.893 97.2588 131.778 97.3279C131.662 97.397 131.57 97.5582 131.57 97.6964C131.57 97.8345 131.662 97.8806 131.778 97.8115ZM134.358 95.0938C134.451 94.9557 134.451 94.7944 134.358 94.7484C134.266 94.7023 134.128 94.7714 134.059 94.9326C133.967 95.0708 133.967 95.232 134.059 95.2781C134.151 95.3011 134.266 95.232 134.358 95.0938ZM132.354 98.5715C132.446 98.4333 132.446 98.2721 132.354 98.2261C132.262 98.18 132.123 98.2491 132.054 98.4103C131.962 98.5485 131.962 98.7097 132.054 98.7558C132.123 98.8018 132.262 98.7097 132.354 98.5715ZM134.059 97.5812C134.151 97.6273 134.289 97.5582 134.358 97.3969C134.451 97.2588 134.451 97.0975 134.358 97.0515C134.266 97.0054 134.128 97.0745 134.059 97.2357C133.967 97.3739 133.967 97.5351 134.059 97.5812ZM132.031 96.4296C132.123 96.4757 132.239 96.4066 132.331 96.2454C132.423 96.1072 132.423 95.946 132.331 95.8999C132.239 95.8539 132.123 95.923 132.031 96.0842C131.962 96.2224 131.962 96.3836 132.031 96.4296Z" fill="#686868"></path>
<path d="M134.36 96.3836C134.36 95.8308 133.968 95.6005 133.485 95.8769C133.001 96.1532 132.586 96.8442 132.586 97.42C132.586 97.9727 132.978 98.203 133.485 97.9266C133.968 97.6272 134.36 96.9593 134.36 96.3836Z" fill="#ffffff"></path>
<path d="M140.399 88.0704L138.025 84.3164L133.97 81.9902L121.849 87.4486L120.352 93.0221V96.9373L125.72 100.047L126.527 99.5629V96.0391L129.96 89.8899L137.518 85.537L139.638 88.8304L140.468 93.8742L141.251 93.2524L140.399 88.0704Z" fill="#ffffff"></path>
<path d="M140.466 93.8743L139.637 88.8305L137.517 85.537L129.959 89.8899L126.525 96.0392V99.5629L125.719 100.047V96.1313L127.24 90.5578L138.024 84.3164L140.397 88.0705L141.25 93.2524L140.466 93.8743Z" fill="#686868"></path>
<path d="M120.373 93.0449L120.258 96.8911L125.719 100.046V96.1311L120.373 93.0449Z" fill="#ffffff"></path>
<path opacity="0.5" d="M120.373 93.0449L120.258 96.8911L125.719 100.046V96.1311L120.373 93.0449Z" fill="#686868"></path>
<path opacity="0.5" d="M127.241 90.5584L125.72 96.1319L120.352 93.0227L121.849 87.4492L127.241 90.5584Z" fill="#686868"></path>
<path d="M145.882 0L31.8438 65.7996V110.457L65.1173 129.641L179.132 63.8419V19.1848L145.882 0Z" fill="white"></path>
<path opacity="0.4" d="M179.132 19.1855V63.8426L65.1168 129.642L65.0938 84.9851L179.132 19.1855Z" fill="#686868"></path>
<path opacity="0.2" d="M31.8438 65.7988L65.0943 84.9836L65.1173 129.641L31.8438 110.456V65.7988Z" fill="#686868"></path>
<path opacity="0.4" d="M36.9375 97.6055V113.382L60.0262 126.694V110.917L36.9375 97.6055Z" fill="#686868"></path>
<path d="M0 111.01L0.714322 110.596L2.35035 111.54L3.06467 112.784V117.16L2.35035 117.574L0.714322 116.607L0 115.386V111.01Z" fill="#ffffff"></path>
<path opacity="0.5" d="M2.35035 111.54L0.714322 110.596L0 111.01V115.386L0.115213 115.593V111.747L0.529981 111.517L1.77428 112.231L2.18905 112.945V116.837L1.77428 117.09L0.599109 116.4L0.714322 116.607L2.35035 117.574L3.06467 117.16V112.784L2.35035 111.54Z" fill="#686868"></path>
<path d="M3.06312 115.709L2.1875 115.387V116.838L4.90653 119.164L5.68998 118.726V116.746L3.06312 115.709Z" fill="#ffffff"></path>
<path opacity="0.5" d="M4.90653 117.183L2.1875 115.387V116.838L4.90653 119.164V117.183Z" fill="#686868"></path>
<path d="M5.6897 118.725L4.90625 119.162V117.182L5.6897 116.744V118.725Z" fill="#686868"></path>
<path d="M0 108.2L0.714322 107.785L2.35035 108.729L3.06467 109.973V111.24L2.35035 111.631L0.714322 110.687L0 109.466V108.2Z" fill="#ffffff"></path>
<path opacity="0.5" d="M2.35035 108.729L0.714322 107.785L0 108.2V109.466L0.115213 109.674V108.937L0.529981 108.706L1.77428 109.42L2.18905 110.134V110.917L1.77428 111.171L0.599109 110.48L0.714322 110.687L2.35035 111.631L3.06467 111.24V109.973L2.35035 108.729Z" fill="#686868"></path>
<path d="M3.06312 110.665L2.1875 110.365V110.918L4.90653 113.244L5.68998 112.807V112.162L3.06312 110.665Z" fill="#ffffff"></path>
<path opacity="0.5" d="M4.90653 112.599L2.1875 110.365V110.918L4.90653 113.244V112.599Z" fill="#686868"></path>
<path d="M5.6897 112.807L4.90625 113.245V112.6L5.6897 112.162V112.807Z" fill="#686868"></path>
<path d="M40.1171 136.436L48.8042 141.433L48.1359 147.421L37.375 141.203L40.1171 136.436Z" fill="#ffffff"></path>
<path d="M40.1171 136.436L48.8042 141.433L48.1359 147.421L37.375 141.203L40.1171 136.436Z" fill="#686868"></path>
<path d="M40.1171 136.436L48.8042 141.433L48.1359 147.421L37.375 141.203L40.1171 136.436Z" fill="#686868"></path>
<path d="M48.2301 145.233C48.2301 143.621 47.654 142.492 46.7553 141.986L44.0594 140.42C43.1376 139.89 41.8933 139.982 40.4877 140.788C37.6996 142.4 35.4414 146.315 35.4414 149.517C35.4414 151.129 36.0175 152.257 36.9161 152.787L39.5891 154.33C40.5108 154.86 41.7781 154.791 43.1607 153.985C45.9719 152.35 48.2301 148.434 48.2301 145.233Z" fill="#ffffff"></path>
<path d="M48.2294 145.232C48.2294 142.031 45.9712 140.718 43.1831 142.331C40.3949 143.943 38.1367 147.858 38.1367 151.059C38.1367 154.261 40.3949 155.573 43.1831 153.961C45.9712 152.349 48.2294 148.434 48.2294 145.232Z" fill="#686868"></path>
<path d="M46.3184 146.339C46.3184 144.358 44.9128 143.552 43.1846 144.543C41.4564 145.533 40.0508 147.951 40.0508 149.955C40.0508 151.936 41.4564 152.742 43.1846 151.751C44.9128 150.738 46.3184 148.32 46.3184 146.339Z" fill="#EAECF2"></path>
<path d="M45.7404 146.384C45.7404 144.611 44.4961 143.897 42.9522 144.772C41.4084 145.67 40.1641 147.812 40.1641 149.585C40.1641 151.359 41.4084 152.073 42.9522 151.197C44.4961 150.322 45.7404 148.157 45.7404 146.384Z" fill="#686868"></path>
<path d="M45.4876 147.213C45.4876 145.969 44.6119 145.462 43.5289 146.084C42.4459 146.706 41.5703 148.226 41.5703 149.47C41.5703 150.713 42.4459 151.22 43.5289 150.598C44.6119 149.976 45.4876 148.456 45.4876 147.213Z" fill="#EAECF2"></path>
<path d="M43.6673 147.03C43.5521 147.099 43.4599 147.03 43.4599 146.915C43.4599 146.777 43.5521 146.616 43.6673 146.547C43.7825 146.478 43.8747 146.524 43.8747 146.662C43.8747 146.777 43.7825 146.961 43.6673 147.03ZM43.8747 149.932C43.8747 149.794 43.7825 149.748 43.6673 149.817C43.5521 149.886 43.4599 150.047 43.4599 150.186C43.4599 150.324 43.5521 150.37 43.6673 150.301C43.7825 150.232 43.8747 150.07 43.8747 149.932ZM45.0959 147.836C45.2111 147.767 45.3033 147.606 45.3033 147.468C45.3033 147.33 45.2111 147.284 45.0959 147.353C44.9807 147.422 44.8885 147.583 44.8885 147.721C44.8655 147.859 44.9807 147.906 45.0959 147.836ZM42.2386 149.495C42.3538 149.426 42.446 149.264 42.446 149.126C42.446 148.988 42.3538 148.942 42.2386 149.011C42.1234 149.08 42.0312 149.241 42.0312 149.38C42.0312 149.495 42.1234 149.564 42.2386 149.495ZM44.8194 146.754C44.9116 146.616 44.9116 146.455 44.8194 146.409C44.7272 146.362 44.612 146.432 44.5199 146.593C44.4277 146.731 44.4277 146.892 44.5199 146.938C44.612 146.984 44.7503 146.892 44.8194 146.754ZM42.8147 150.255C42.9069 150.117 42.9069 149.955 42.8147 149.909C42.7225 149.863 42.5843 149.932 42.5151 150.093C42.423 150.232 42.423 150.393 42.5151 150.439C42.5843 150.462 42.7225 150.393 42.8147 150.255ZM44.5199 149.264C44.612 149.31 44.7503 149.241 44.8194 149.08C44.9116 148.942 44.9116 148.781 44.8194 148.735C44.7272 148.689 44.589 148.758 44.5199 148.919C44.4277 149.057 44.4277 149.218 44.5199 149.264ZM42.5151 148.09C42.6073 148.136 42.7456 148.067 42.8147 147.906C42.9069 147.767 42.9069 147.606 42.8147 147.56C42.7225 147.514 42.5843 147.583 42.5151 147.744C42.423 147.883 42.423 148.044 42.5151 148.09Z" fill="#686868"></path>
<path d="M44.8208 148.065C44.8208 147.512 44.429 147.282 43.9221 147.559C43.4382 147.835 43.0234 148.526 43.0234 149.102C43.0234 149.677 43.4152 149.908 43.9221 149.608C44.429 149.309 44.8208 148.618 44.8208 148.065Z" fill="#ffffff"></path>
<path d="M36.3161 148.688L38.7356 144.013L11.8218 128.49L5.07031 132.382V141.226L31.9611 156.749L36.3392 154.239L36.3161 148.688Z" fill="#ffffff"></path>
<path d="M36.339 154.239L31.9609 156.75V147.906L38.7355 144.014L36.316 148.689L36.339 154.239Z" fill="#686868"></path>
<path opacity="0.5" d="M31.9611 156.75L5.07031 141.227V132.383L31.9611 147.906V156.75Z" fill="#686868"></path>
<path d="M55.2329 131.714L28.3191 116.168L8.87109 127.407V130.194L35.7849 145.717L38.8726 143.92L39.2643 142.815L45.555 139.199L46.0158 139.798L55.2329 134.501V131.714Z" fill="#ffffff"></path>
<path d="M35.7852 145.718L38.8729 143.921L39.2646 142.816L45.5552 139.2L46.0161 139.799L55.2332 134.502V131.715L35.7852 142.931V145.718Z" fill="#686868"></path>
<path opacity="0.5" d="M35.7849 145.716V142.929L8.87109 127.406V130.193L35.7849 145.716Z" fill="#686868"></path>
<path d="M31.9592 147.906L5.06839 132.383L3.13281 134.824V143.668L27.7424 157.878L31.9592 156.75V147.906Z" fill="#ffffff"></path>
<path opacity="0.8" d="M27.7422 157.879L31.959 156.75V147.906L27.7422 149.012V157.879Z" fill="#686868"></path>
<path opacity="0.5" d="M27.7424 157.878L3.13281 143.668V134.824L27.7424 149.011V157.878Z" fill="#686868"></path>
<path d="M3.13281 134.822V143.666L6.01314 146.43L22.9495 156.218L27.7424 157.876V149.009L3.13281 134.822Z" fill="#ffffff"></path>
<path opacity="0.5" d="M22.9481 156.218L6.01172 146.43V137.586L22.925 147.351L22.9481 156.218Z" fill="#686868"></path>
<path opacity="0.6" d="M6.01314 137.586L3.13281 134.822V143.666L6.01314 146.43V137.586Z" fill="#686868"></path>
<path opacity="0.6" d="M22.9492 147.352V156.218L27.7421 157.877V149.01L22.9492 147.352Z" fill="#686868"></path>
<path d="M55.6022 116.191V109.673L28.7114 94.1504L24.8633 96.3614V118.172L51.7771 133.695V111.884V119.208V133.695L55.6022 131.484V116.191Z" fill="white"></path>
<path opacity="0.6" d="M51.7771 133.695L24.8633 118.172V96.3613L51.7771 111.884V133.695Z" fill="#686868"></path>
<path opacity="0.4" d="M55.6024 131.484L51.7773 133.695V119.209V111.885L55.6024 109.674V116.192V131.484Z" fill="#686868"></path>
<path opacity="0.6" d="M55.6022 109.673L51.7771 111.884L24.8633 96.3614L28.7114 94.1504L55.6022 109.673Z" fill="#686868"></path>
<path d="M51.386 133.925V119.438V112.114L49.6348 111.124L24.4722 96.5915L22.721 95.5781L5.07031 105.781V132.382L31.9611 147.905L36.4774 145.302L38.0213 141.64L51.386 133.925Z" fill="white"></path>
<path opacity="0.6" d="M38.4802 117.55L49.6329 111.124L24.4703 96.5915L22.719 95.5781L11.5664 102.027L38.4802 117.55Z" fill="#686868"></path>
<path opacity="0.4" d="M49.6346 111.125L31.9609 121.305V134.617V147.905L36.4773 145.303L38.0212 141.641L51.3859 133.926V119.439V112.115L49.6346 111.125Z" fill="#686868"></path>
<path opacity="0.2" d="M5.07031 105.781L31.9611 121.304V147.905L5.07031 132.382V105.781Z" fill="#686868"></path>
<path d="M31.9592 134.617L5.06839 119.094L4.53841 119.393L3.13281 123.285V134.824L27.7424 149.011L31.9592 147.906V134.617Z" fill="white"></path>
<path opacity="0.4" d="M27.7422 137.496L31.429 134.917L31.959 134.617V147.906L27.7422 149.012V137.496Z" fill="#686868"></path>
<path opacity="0.2" d="M27.7424 149.011L3.13281 134.824V123.285L27.7424 137.495V149.011Z" fill="#686868"></path>
<path d="M5.06904 109.121L4.53906 109.444V119.393L31.4298 134.916L31.9598 134.616V124.667L5.06904 109.121Z" fill="#ffffff"></path>
<path d="M31.4297 134.917L31.9597 134.617V124.668L31.4297 124.967V134.917Z" fill="#686868"></path>
<path opacity="0.5" d="M31.4298 134.916V124.966L4.53906 109.443V119.393L31.4298 134.916Z" fill="#686868"></path>
<path d="M31.4298 134.916V124.966L26.5909 123.492L7.07375 112.23L4.53906 109.443V119.393L6.70507 122.41L26.1992 133.672L31.4298 134.916Z" fill="#ffffff"></path>
<path d="M21.3621 123.515L21.7077 120.682L15.0484 116.836L14.6797 119.669L21.3621 123.515Z" fill="#686868"></path>
<path d="M30.7148 124.736L30.4844 126.579L31.4291 127.132V124.967L30.7148 124.736Z" fill="#686868"></path>
<path d="M10.9664 114.463L7.0722 112.229L6.72656 111.838V117.78L10.9664 114.463Z" fill="#686868"></path>
<path d="M28.5034 132.337L9.00934 121.074L6.84333 119.094L4.53906 119.393L6.70507 122.41L26.1992 133.672L31.4298 134.916V133.028L28.5034 132.337Z" fill="#686868"></path>
<path opacity="0.3" d="M7.07336 112.23L6.68163 122.41L4.51562 119.393V109.443L7.07336 112.23ZM26.5905 123.492L26.1988 133.672L31.4294 134.916V124.966L26.5905 123.492Z" fill="#686868"></path>
<path d="M26.5905 123.492L7.07336 112.23L4.51562 109.443V119.393L6.68163 122.41L26.1988 133.672L31.4294 134.916V124.966L26.5905 123.492ZM26.3601 133.257L7.00423 122.064L4.97648 119.232V110.572L6.79685 112.576L26.3601 123.861L30.9916 125.266V134.34L26.3601 133.257Z" fill="#686868"></path>
<path d="M42.4199 119.508L33.6406 124.575V133.303L42.4199 126.44V119.508Z" fill="#ffffff"></path>
<path opacity="0.4" d="M43.9414 118.632V125.242L48.4808 121.696L49.7251 118.655V115.293L43.9414 118.632Z" fill="#686868"></path>
<path d="M41.1523 135.952L42.4197 135.238V132.451L41.1523 133.188V135.952Z" fill="#ffffff"></path>
<path d="M41.8671 135.1L41.4062 135.376V133.488L41.8671 133.234V135.1Z" fill="#686868"></path>
<path d="M49.6783 141.872L46.1989 139.016L45.4385 138.578L39.3783 142.079L35.9219 148.942V154.493L36.6823 154.93L37.4427 154.47V149.264L40.5074 143.207L45.715 140.19L47.7428 141.872L48.1345 142.309V147.422L48.9179 147.86L49.6783 147.422V141.872Z" fill="#ffffff"></path>
<path d="M49.6796 147.422L48.9192 147.86V142.655L45.8546 140.121L40.5087 143.207L37.444 149.264V154.469L36.6836 154.93V149.38L40.163 142.516L46.2002 139.016L49.6796 141.871V147.422Z" fill="#686868"></path>
<path d="M45.8531 140.121L45.7148 140.19L47.7426 141.871L48.1343 142.309V147.422L48.9178 147.86V142.655L45.8531 140.121Z" fill="#686868"></path>
<path opacity="0.5" d="M45.8531 140.121L45.7148 140.19L47.7426 141.871L48.1343 142.309V147.422L48.9178 147.86V142.655L45.8531 140.121Z" fill="#686868"></path>
<path opacity="0.3" d="M40.1617 142.516L39.3783 142.078L35.9219 148.941L36.6823 149.379L40.1617 142.516Z" fill="#686868"></path>
<path opacity="0.5" d="M36.6823 149.379L35.9219 148.941V154.492L36.6823 154.929V149.379Z" fill="#686868"></path>
<path d="M55.2342 96.1772L28.3204 80.6543L14.8635 96.062L11.6836 101.52L38.5974 117.043L49.6348 110.664L51.3861 111.677L55.2342 109.466V96.1772Z" fill="white"></path>
<path opacity="0.4" d="M55.2344 109.467L51.3863 111.678L49.6351 110.664L38.5977 117.044L41.7775 111.585L55.2344 96.1777V109.467Z" fill="#686868"></path>
<path opacity="0.1" d="M38.5974 117.044L41.7773 111.585L14.8635 96.0625L11.6836 101.521L38.5974 117.044Z" fill="#686868"></path>
<path d="M27.7424 137.495L3.13281 123.285V134.824L6.01314 137.587L22.9264 147.353L27.7424 149.011V137.495Z" fill="white"></path>
<path opacity="0.3" d="M3.13281 123.285V134.824L6.01314 137.587V130.31L3.13281 123.285Z" fill="#686868"></path>
<path opacity="0.3" d="M3.13281 123.285V134.824L4.1006 135.146V129.204L3.13281 123.285Z" fill="#686868"></path>
<path opacity="0.3" d="M27.7417 137.494V149.01L22.9258 147.351V140.074L27.7417 137.494Z" fill="#686868"></path>
<path opacity="0.3" d="M27.7436 137.494V149.01L24.8633 147.121V141.179L27.7436 137.494Z" fill="#686868"></path>
<path d="M6.01562 137.586L22.9289 147.352V140.074L6.01562 130.309V137.586Z" fill="#ffffff"></path>
<path opacity="0.5" d="M6.01562 137.586L22.9289 147.352V140.074L6.01562 130.309V137.586Z" fill="#686868"></path>
<path d="M27.7424 137.495L22.9264 140.075L6.01314 130.31L3.13281 123.285L4.7458 125.105L24.5625 136.551L27.7424 137.495Z" fill="#ffffff"></path>
<path opacity="0.4" d="M32.8117 124.045L32.7656 124.068V133.903V147.468L32.973 147.33V133.903V124.207L43.0657 118.38V138.716L43.2961 138.601V117.988L32.8117 124.045Z" fill="#686868"></path>
<path d="M31.9592 121.304L5.06839 105.781L4.12365 106.334L3.13281 110.664V111.562L27.7424 125.772L31.9592 124.667V121.304Z" fill="white"></path>
<path opacity="0.4" d="M27.7422 124.874V125.773L31.959 124.667V121.305L31.0142 121.857L27.7422 124.874Z" fill="#686868"></path>
<path opacity="0.1" d="M27.7424 124.874L31.0144 121.857L4.12365 106.334L3.13281 110.664L27.7424 124.874Z" fill="#686868"></path>
<path opacity="0.2" d="M27.7424 125.772V124.874L3.13281 110.664V111.562L27.7424 125.772Z" fill="#686868"></path>
<path d="M38.2031 121.949L33.6406 124.575V128.398L37.1431 130.425L38.2031 121.949Z" fill="#686868"></path>
<path d="M33.6406 124.575V133.303L42.4199 126.44V119.508L33.6406 124.575ZM34.0784 132.405V124.828L41.959 120.268V126.21L34.0784 132.405Z" fill="#686868"></path>
<path d="M27.7423 150.783L24.1016 149.539V152.165L27.7423 153.431L29.8853 152.856V150.23L27.7423 150.783Z" fill="white"></path>
<path opacity="0.4" d="M29.8852 150.23L27.7422 150.783V153.432L29.8852 152.856V150.23Z" fill="#686868"></path>
<path d="M5.06839 138.438L3.13281 136.596V139.244L5.06839 141.087V138.438Z" fill="white"></path>
<path opacity="0.5" d="M7.14453 132.682V137.403L21.8227 145.878V141.157L7.14453 132.682Z" fill="#686868"></path>
<path d="M21.8227 141.157V141.871L7.14453 133.396V132.682L21.8227 141.157ZM7.14453 134.017V134.731L21.8457 143.207V142.493L7.14453 134.017ZM7.14453 135.353V136.067L21.8457 144.543V143.829L7.14453 135.353ZM7.14453 136.666V137.38L21.8457 145.855V145.141L7.14453 136.666Z" fill="#686868"></path>
<path opacity="0.5" d="M7.14453 139.338V144.059L21.8227 152.535V147.813L7.14453 139.338Z" fill="#686868"></path>
<path d="M21.8227 147.813V148.527L7.14453 140.052V139.338L21.8227 147.813ZM7.14453 140.674V141.388L21.8457 149.863V149.149L7.14453 140.674ZM7.14453 141.986V142.7L21.8457 151.176V150.462L7.14453 141.986ZM7.14453 143.322V144.036L21.8457 152.512V151.798L7.14453 143.322Z" fill="#686868"></path>
<path d="M37.3078 152.281L35.5105 151.244L33.1602 152.603V153.386L34.9344 154.422L37.3078 153.064V152.281Z" fill="#ffffff"></path>
<path d="M34.9336 153.64V154.423L37.307 153.064V152.281L34.9336 153.64Z" fill="#686868"></path>
<path opacity="0.5" d="M33.1602 152.604V153.387L34.9344 154.423V153.64L33.1602 152.604Z" fill="#686868"></path>
<path d="M35.5105 148.135L33.1602 149.494V152.603L33.9436 153.063L36.317 151.705V148.595L35.5105 148.135Z" fill="#ffffff"></path>
<path opacity="0.5" d="M33.1602 149.494V152.603L33.9436 153.064V149.955L33.1602 149.494Z" fill="#686868"></path>
<path d="M33.9453 149.955V153.064L36.3187 151.705V148.596L33.9453 149.955Z" fill="#686868"></path>
<path d="M36.7518 132.198L36.0375 130.977L34.3784 130.033L33.6641 130.425V134.801L34.3784 136.044L36.0375 136.989L36.7518 136.574V132.198Z" fill="#ffffff"></path>
<path opacity="0.5" d="M36.0375 130.977L34.3784 130.033L33.6641 130.425V134.801L33.7793 135.008V131.185L34.194 130.954L35.4383 131.668L35.8531 132.382V136.275L35.4383 136.505L34.2632 135.837L34.3784 136.044L36.0375 136.989L36.7518 136.574V132.198L36.0375 130.977Z" fill="#686868"></path>
<path d="M32.6038 132.268L31.8203 132.705V134.686L33.7789 135.077V133.626L33.6637 133.373L32.6038 132.268Z" fill="#ffffff"></path>
<path opacity="0.5" d="M31.8203 132.705L33.7789 133.626V135.077L31.8203 134.686V132.705Z" fill="#686868"></path>
<path d="M36.7518 129.388L36.0375 128.167L34.3784 127.223L33.6641 127.614V128.881L34.3784 130.125L36.0375 131.069L36.7518 130.654V129.388Z" fill="#ffffff"></path>
<path opacity="0.5" d="M36.0375 128.167L34.3784 127.223L33.6641 127.614V128.881L33.7793 129.088V128.374L34.194 128.144L35.4383 128.835L35.8531 129.572V130.355L35.4383 130.608L34.2632 129.917L34.3784 130.125L36.0375 131.069L36.7518 130.654V129.388L36.0375 128.167Z" fill="#686868"></path>
<path d="M32.6038 127.684L31.8203 128.121V128.766L33.7789 129.158V128.605L33.6637 128.328L32.6038 127.684Z" fill="#ffffff"></path>
<path opacity="0.5" d="M31.8203 128.121L33.7789 128.605V129.157L31.8203 128.766V128.121Z" fill="#686868"></path>
</svg>

Before

Width:  |  Height:  |  Size: 49 KiB

26
jest.config.ts Normal file
View File

@@ -0,0 +1,26 @@
import type { Config } from "jest";
import nextJest from "next/jest.js";
// Point Next's Jest transformer at the app root so next.config + .env + SWC
// transforms (TS/JSX, path aliases) are wired up automatically.
const createJestConfig = nextJest({ dir: "./" });
const config: Config = {
testEnvironment: "jest-environment-jsdom",
setupFilesAfterEnv: ["<rootDir>/jest.setup.ts"],
// Resolve the `@/*` path alias from tsconfig.
moduleNameMapper: {
"^@/(.*)$": "<rootDir>/src/$1",
},
testMatch: ["<rootDir>/src/**/*.test.ts", "<rootDir>/src/**/*.test.tsx"],
// Only the pure helper modules are meaningful to cover; 3D/canvas/scroll
// components are excluded from coverage (untestable under jsdom).
collectCoverageFrom: [
"src/components/strategy/theme.ts",
"src/components/optimization/math.ts",
"src/components/optimization/constants.ts",
"src/components/logisticsbrain/math.ts",
],
};
export default createJestConfig(config);

4
jest.setup.ts Normal file
View File

@@ -0,0 +1,4 @@
// Extends Jest's `expect` with DOM matchers (toBeInTheDocument, etc.) for any
// future component tests. Pure-function specs don't need it, but it's the
// standard Next.js + Testing Library setup.
import "@testing-library/jest-dom";

4630
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -6,10 +6,12 @@
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint"
"lint": "eslint",
"test": "jest",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage"
},
"dependencies": {
"@emailjs/browser": "^4.4.1",
"@react-three/drei": "^10.7.7",
"@react-three/fiber": "^9.6.1",
"@react-three/postprocessing": "^3.0.4",
@@ -23,14 +25,19 @@
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@types/jest": "^30.0.0",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/three": "^0.171.0",
"eslint": "^9",
"eslint-config-next": "16.2.6",
"puppeteer-core": "^23.11.1",
"jest": "^30.4.2",
"jest-environment-jsdom": "^30.4.1",
"tailwindcss": "^4",
"ts-node": "^10.9.2",
"typescript": "^5"
}
}

View File

@@ -1,486 +0,0 @@
/* comparison approach -- ── SECTION HTML ── */
/* ── ALL STYLES SCOPED UNDER .dm-compare-section ── */
.dm-compare-section *,
.dm-compare-section *::before,
.dm-compare-section *::after {
box-sizing: border-box;
}
.dm-compare-section {
--dm-red: #c01227;
--dm-red-light: #fdf0f2;
--dm-red-border: rgba(192, 18, 39, 0.12);
--dm-red-hover: rgba(192, 18, 39, 0.025);
--dm-green: #1dab6e;
--dm-green-light: #edfaf4;
--dm-dark: #1a1e2e;
--dm-muted: #8d93a8;
--dm-white: #ffffff;
--dm-border: rgba(0, 0, 0, 0.07);
width: 100%;
max-width: 1100px;
margin: 0 auto;
padding: 90px 40px 100px;
position: relative;
font-family: "Manrope", Sans-serif;
}
/* grid background */
.dm-compare-section::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(0, 0, 0, 0.035) 1px, transparent 1px),
linear-gradient(to bottom, rgba(0, 0, 0, 0.035) 1px, transparent 1px);
background-size: 70px 70px;
pointer-events: none;
mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
-webkit-mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
z-index: 0;
border-radius: 24px;
}
/* ── HEADER ── */
.dm-compare-section .dm-section-header {
text-align: center;
margin-bottom: 56px;
position: relative;
z-index: 1;
}
.dm-compare-section .dm-eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 11px;
font-weight: 700;
letter-spacing: 3.5px;
text-transform: uppercase;
color: var(--dm-red);
margin-bottom: 18px;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.55s ease, transform 0.55s ease;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
content: '';
display: block;
width: 28px;
height: 1px;
background: var(--dm-red);
}
.dm-compare-section .dm-section-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: clamp(36px, 5vw, 62px);
font-weight: 800;
color: var(--dm-dark);
line-height: 1.05;
letter-spacing: -1px;
margin: 0;
opacity: 0;
transform: translateY(28px);
transition: opacity 0.65s ease 0.12s, transform 0.65s ease 0.12s;
}
.dm-compare-section .dm-section-title em {
font-style: normal;
color: var(--dm-red);
position: relative;
}
.dm-compare-section .dm-section-title em::after {
content: '';
position: absolute;
bottom: 3px;
left: 0;
right: 0;
height: 3px;
background: var(--dm-red);
border-radius: 2px;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.8s cubic-bezier(.16, 1, .3, 1) 0.85s;
}
.dm-compare-section .dm-section-sub {
margin-top: 18px;
font-size: 15.5px;
color: var(--dm-muted);
line-height: 1.7;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.65s ease 0.26s, transform 0.65s ease 0.26s;
}
/* ── IN-VIEW TRIGGERS ── */
.dm-compare-section.dm-in-view .dm-eyebrow {
opacity: 1;
transform: translateY(0);
}
.dm-compare-section.dm-in-view .dm-section-title {
opacity: 1;
transform: translateY(0);
}
.dm-compare-section.dm-in-view .dm-section-title em::after {
transform: scaleX(1);
}
.dm-compare-section.dm-in-view .dm-section-sub {
opacity: 1;
transform: translateY(0);
}
/* ── TABLE WRAPPER ── */
.dm-compare-section .dm-compare-wrap {
position: relative;
z-index: 1;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 8px 50px rgba(0, 0, 0, 0.09);
background: var(--dm-white);
opacity: 0;
transform: translateY(40px);
transition: opacity 0.75s cubic-bezier(.16, 1, .3, 1) 0.35s,
transform 0.75s cubic-bezier(.16, 1, .3, 1) 0.35s;
}
.dm-compare-section.dm-in-view .dm-compare-wrap {
opacity: 1;
transform: translateY(0);
}
/* ── COLUMN HEADERS ── */
.dm-compare-section .dm-col-headers {
display: grid;
grid-template-columns: 1fr 1fr;
position: relative;
}
.dm-compare-section .dm-col-headers::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 50%;
width: 1px;
background: var(--dm-border);
}
.dm-compare-section .dm-col-head {
padding: 26px 40px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 2.5px;
text-transform: uppercase;
display: flex;
align-items: center;
gap: 10px;
}
.dm-compare-section .dm-col-head.dm-traditional {
background: #f7f8fa;
color: var(--dm-muted);
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-col-head.dm-doormile {
background: var(--dm-red-light);
color: var(--dm-red);
border-bottom: 1px solid var(--dm-red-border);
position: relative;
overflow: hidden;
}
.dm-compare-section .dm-col-head.dm-doormile::after {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 60%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
animation: dm-shimmer 3s ease-in-out infinite 1.2s;
}
@keyframes dm-shimmer {
0% {
left: -100%;
}
50% {
left: 140%;
}
100% {
left: 140%;
}
}
.dm-compare-section .dm-col-head-icon {
width: 28px;
height: 28px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon {
background: #ececee;
}
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon {
background: rgba(192, 18, 39, 0.15);
}
.dm-compare-section .dm-col-head-icon svg {
width: 14px;
height: 14px;
stroke-width: 2.5;
stroke-linecap: round;
stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon svg {
stroke: var(--dm-muted);
}
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon svg {
stroke: var(--dm-red);
}
/* ── ROWS ── */
.dm-compare-section .dm-compare-row {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
position: relative;
overflow: hidden;
opacity: 0;
transform: translateX(-16px);
transition: opacity 0.5s ease, transform 0.5s cubic-bezier(.16, 1, .3, 1);
}
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(1) {
opacity: 1;
transform: translateX(0);
transition-delay: 0.55s;
}
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(2) {
opacity: 1;
transform: translateX(0);
transition-delay: 0.68s;
}
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(3) {
opacity: 1;
transform: translateX(0);
transition-delay: 0.81s;
}
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(4) {
opacity: 1;
transform: translateX(0);
transition-delay: 0.94s;
}
.dm-compare-section .dm-compare-row::before {
content: '';
position: absolute;
inset: 0;
background: var(--dm-red-hover);
opacity: 0;
transition: opacity 0.25s;
pointer-events: none;
}
.dm-compare-section .dm-compare-row:hover::before {
opacity: 1;
}
/* ── CELLS ── */
.dm-compare-section .dm-cell {
padding: 28px 40px;
display: flex;
align-items: center;
gap: 16px;
font-size: 15px;
line-height: 1.5;
position: relative;
}
.dm-compare-section .dm-cell.dm-right {
border-left: 1px solid var(--dm-border);
background: rgba(253, 248, 248, 0.4);
}
/* ── ICONS ── */
.dm-compare-section .dm-cell-icon {
flex-shrink: 0;
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.35s cubic-bezier(.16, 1, .3, 1);
}
.dm-compare-section .dm-compare-row:hover .dm-cell-icon {
transform: scale(1.18) rotate(-5deg);
}
.dm-compare-section .dm-cell-icon.dm-bad {
background: var(--dm-red-light);
}
.dm-compare-section .dm-cell-icon.dm-good {
background: var(--dm-green-light);
}
.dm-compare-section .dm-cell-icon svg {
width: 15px;
height: 15px;
stroke-width: 2.5;
stroke-linecap: round;
stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-cell-icon.dm-bad svg {
stroke: var(--dm-red);
}
.dm-compare-section .dm-cell-icon.dm-good svg {
stroke: var(--dm-green);
}
.dm-compare-section .dm-cell-text {
font-weight: 500;
color: var(--dm-dark);
transition: color 0.2s;
margin: 0;
}
.dm-compare-section .dm-cell.dm-left .dm-cell-text {
color: var(--dm-muted);
}
.dm-compare-section .dm-compare-row:hover .dm-cell.dm-right .dm-cell-text {
color: var(--dm-dark);
}
/* ── FOOTER BAR ── */
.dm-compare-section .dm-compare-footer {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
}
.dm-compare-section .dm-footer-cell {
padding: 22px 40px;
font-size: 12px;
font-family: 'Barlow Condensed', sans-serif;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--dm-muted);
background: #f9fafb;
}
.dm-compare-section .dm-footer-cell.dm-right {
background: var(--dm-red-light);
color: var(--dm-red);
border-left: 1px solid var(--dm-red-border);
display: flex;
align-items: center;
gap: 8px;
}
.dm-compare-section .dm-footer-cell .dm-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--dm-red);
flex-shrink: 0;
animation: dm-pulse 1.8s ease-in-out infinite;
}
@keyframes dm-pulse {
0%,
100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.35;
transform: scale(0.55);
}
}
/* ── RESPONSIVE ── */
@media (max-width: 680px) {
.dm-compare-section {
padding: 60px 16px 70px;
}
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell {
padding: 20px 20px;
}
.dm-compare-section .dm-footer-cell {
padding: 18px 20px;
}
.dm-compare-section .dm-col-head {
font-size: 11px;
letter-spacing: 1.5px;
}
}
/*
<script>(function () {
var section=document.getElementById('dm-compare');
if ( !section) return;
function activate() {
section.classList.add('dm-in-view');
}
if ('IntersectionObserver' in window) {
var io=new IntersectionObserver(function (entries) {
entries.forEach(function (e) {
if (e.isIntersecting) {
activate(); io.unobserve(e.target);
}
});
}
, {
threshold: 0.15
});
io.observe(section);
}
else {
setTimeout(activate, 300);
}
})();
</script>
*/

View File

@@ -1,100 +0,0 @@
.e--ua-appleWebkit.rtl {
--flex-right: flex-start
}
.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right {
--justify-content: var(--flex-right,flex-end)
}
.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center {
--justify-content: center
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid {
display: flex;
flex-wrap: wrap;
justify-content: var(--justify-content,space-between);
margin-left: calc(-.5 * var(--grid-column-gap));
margin-right: calc(-.5 * var(--grid-column-gap));
width: auto
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item {
margin-left: calc(.5 * var(--grid-column-gap));
margin-right: calc(.5 * var(--grid-column-gap))
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid {
display: inline-block
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item {
margin-left: 0;
margin-right: 0
}
@media (max-width: 1024px) {
.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right {
--justify-content:var(--flex-right,flex-end)
}
.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center {
--justify-content: center
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid {
display: flex;
flex-wrap: wrap;
justify-content: var(--justify-content,space-between);
margin-left: calc(-.5 * var(--grid-column-gap));
margin-right: calc(-.5 * var(--grid-column-gap));
width: auto
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item {
margin-left: calc(.5 * var(--grid-column-gap));
margin-right: calc(.5 * var(--grid-column-gap))
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid {
display: inline-block
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item {
margin-left: 0;
margin-right: 0
}
}
@media (max-width: 767px) {
.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right {
--justify-content:var(--flex-right,flex-end)
}
.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center {
--justify-content: center
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid {
display: flex;
flex-wrap: wrap;
justify-content: var(--justify-content,space-between);
margin-left: calc(-.5 * var(--grid-column-gap));
margin-right: calc(-.5 * var(--grid-column-gap));
width: auto
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item {
margin-left: calc(.5 * var(--grid-column-gap));
margin-right: calc(.5 * var(--grid-column-gap))
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid {
display: inline-block
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item {
margin-left: 0;
margin-right: 0
}
}

View File

@@ -1,510 +0,0 @@
.elementor-lightbox {
--lightbox-ui-color: hsla(0, 0%, 93%, .9);
--lightbox-ui-color-hover: #fff;
--lightbox-text-color: var(--lightbox-ui-color);
--lightbox-header-icons-size: 20px;
--lightbox-navigation-icons-size: 25px
}
.elementor-lightbox:not(.elementor-popup-modal) .dialog-header,
.elementor-lightbox:not(.elementor-popup-modal) .dialog-message {
text-align: center
}
.elementor-lightbox .dialog-header {
display: none
}
.elementor-lightbox .dialog-widget-content {
background: none;
box-shadow: none;
height: 100%;
width: 100%
}
.elementor-lightbox .dialog-message {
animation-duration: .3s;
height: 100%
}
.elementor-lightbox .dialog-message.dialog-lightbox-message {
padding: 0
}
.elementor-lightbox .dialog-lightbox-close-button {
cursor: pointer;
display: flex;
font-size: var(--lightbox-header-icons-size);
inset-inline-end: .75em;
line-height: 1;
margin-top: 13px;
padding: .25em;
position: absolute;
z-index: 2
}
.elementor-lightbox .dialog-lightbox-close-button svg {
height: 1em;
width: 1em
}
.elementor-lightbox .dialog-lightbox-close-button,
.elementor-lightbox .elementor-swiper-button {
color: var(--lightbox-ui-color);
opacity: 1;
transition: all .3s
}
.elementor-lightbox .dialog-lightbox-close-button svg,
.elementor-lightbox .elementor-swiper-button svg {
fill: var(--lightbox-ui-color)
}
.elementor-lightbox .dialog-lightbox-close-button:hover,
.elementor-lightbox .elementor-swiper-button:hover {
color: var(--lightbox-ui-color-hover)
}
.elementor-lightbox .dialog-lightbox-close-button:hover svg,
.elementor-lightbox .elementor-swiper-button:hover svg {
fill: var(--lightbox-ui-color-hover)
}
.elementor-lightbox .swiper {
height: 100%
}
.elementor-lightbox .elementor-lightbox-item {
align-items: center;
box-sizing: border-box;
display: flex;
height: 100%;
justify-content: center;
margin: auto;
padding: 70px;
position: relative
}
@media (max-width:767px) {
.elementor-lightbox .elementor-lightbox-item {
padding: 70px 0
}
}
.elementor-lightbox .elementor-lightbox-image {
max-height: 100%;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none
}
.elementor-lightbox .elementor-lightbox-image,
.elementor-lightbox .elementor-lightbox-image:hover {
border: none;
filter: none;
opacity: 1
}
.elementor-lightbox .elementor-lightbox-image {
border-radius: 2px;
box-shadow: 0 0 30px rgba(0, 0, 0, .3), 0 0 8px -5px rgba(0, 0, 0, .3)
}
.elementor-lightbox .elementor-video-container {
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: 100%
}
.elementor-lightbox .elementor-video-container .elementor-video-landscape,
.elementor-lightbox .elementor-video-container .elementor-video-portrait,
.elementor-lightbox .elementor-video-container .elementor-video-square {
height: 100%;
margin: auto;
width: 100%
}
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
.elementor-lightbox .elementor-video-container .elementor-video-square iframe {
background-color: #000;
border: 0
}
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
.elementor-lightbox .elementor-video-container .elementor-video-landscape video,
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
.elementor-lightbox .elementor-video-container .elementor-video-portrait video,
.elementor-lightbox .elementor-video-container .elementor-video-square iframe,
.elementor-lightbox .elementor-video-container .elementor-video-square video {
aspect-ratio: var(--video-aspect-ratio, 1.77777)
}
.elementor-lightbox .elementor-video-container .elementor-video-square iframe,
.elementor-lightbox .elementor-video-container .elementor-video-square video {
height: min(90vh, 90vw);
width: min(90vh, 90vw)
}
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
.elementor-lightbox .elementor-video-container .elementor-video-landscape video {
height: auto;
max-height: 90vh;
width: 100%
}
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
.elementor-lightbox .elementor-video-container .elementor-video-portrait video {
height: 100%;
max-width: 90vw
}
@media (min-width:1025px) {
.elementor-lightbox .elementor-video-container .elementor-video-landscape {
max-height: 85vh;
width: 85vw
}
.elementor-lightbox .elementor-video-container .elementor-video-portrait {
height: 85vh;
max-width: 85vw
}
}
@media (max-width:1024px) {
.elementor-lightbox .elementor-video-container .elementor-video-landscape {
max-height: 95vh;
width: 95vw
}
.elementor-lightbox .elementor-video-container .elementor-video-portrait {
height: 95vh;
max-width: 95vw
}
}
.elementor-lightbox .swiper .elementor-swiper-button-prev {
left: 0
}
.elementor-lightbox .swiper .elementor-swiper-button-next {
right: 0
}
.elementor-lightbox .swiper .swiper-pagination-fraction {
color: #fff;
width: -moz-max-content;
width: max-content
}
.elementor-lightbox .elementor-swiper-button:focus {
outline-width: 1px
}
.elementor-lightbox .elementor-swiper-button-next,
.elementor-lightbox .elementor-swiper-button-prev {
align-items: center;
display: flex;
font-size: var(--lightbox-navigation-icons-size);
height: 100%;
justify-content: center;
width: 15%
}
@media (max-width:1024px) {
.elementor-lightbox .elementor-swiper-button-next:active,
.elementor-lightbox .elementor-swiper-button-prev:active {
-webkit-tap-highlight-color: transparent;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
.elementor-lightbox .elementor-swiper-button-next i,
.elementor-lightbox .elementor-swiper-button-next svg,
.elementor-lightbox .elementor-swiper-button-prev i,
.elementor-lightbox .elementor-swiper-button-prev svg {
cursor: pointer
}
.elementor-lightbox .elementor-swiper-button-next i:active,
.elementor-lightbox .elementor-swiper-button-next svg:active,
.elementor-lightbox .elementor-swiper-button-prev i:active,
.elementor-lightbox .elementor-swiper-button-prev svg:active {
background-color: rgba(0, 0, 0, .5);
outline: none
}
}
@media (max-width:767px) {
.elementor-lightbox .elementor-swiper-button:focus {
outline: none
}
.elementor-lightbox .elementor-swiper-button-next,
.elementor-lightbox .elementor-swiper-button-prev {
width: 20%
}
.elementor-lightbox .elementor-swiper-button-next:active,
.elementor-lightbox .elementor-swiper-button-prev:active {
-webkit-tap-highlight-color: transparent;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
.elementor-lightbox .elementor-swiper-button-next i,
.elementor-lightbox .elementor-swiper-button-prev i {
background-color: rgba(0, 0, 0, .5);
padding: 10px
}
.elementor-lightbox .elementor-swiper-button-next i,
.elementor-lightbox .elementor-swiper-button-next svg,
.elementor-lightbox .elementor-swiper-button-prev i,
.elementor-lightbox .elementor-swiper-button-prev svg {
cursor: pointer
}
.elementor-lightbox .elementor-swiper-button-next i:active,
.elementor-lightbox .elementor-swiper-button-next svg:active,
.elementor-lightbox .elementor-swiper-button-prev i:active,
.elementor-lightbox .elementor-swiper-button-prev svg:active {
background-color: rgba(0, 0, 0, .5);
outline: none
}
.elementor-lightbox .elementor-swiper-button-prev {
justify-content: flex-start;
left: 0
}
.elementor-lightbox .elementor-swiper-button-next {
justify-content: flex-end;
right: 0
}
}
.elementor-slideshow__counter {
color: currentColor;
font-size: .75em;
width: -moz-max-content;
width: max-content
}
.elementor-slideshow__footer,
.elementor-slideshow__header {
left: 0;
padding: 15px 20px;
position: absolute;
transition: .3s;
width: 100%
}
.elementor-slideshow__footer {
color: var(--lightbox-text-color)
}
.elementor-slideshow__header {
align-items: center;
color: var(--lightbox-ui-color);
display: flex;
flex-direction: row-reverse;
font-size: var(--lightbox-header-icons-size);
padding-inline-end: 2.6em;
padding-inline-start: 1em;
top: 0;
z-index: 10
}
.elementor-slideshow__header>i,
.elementor-slideshow__header>svg {
cursor: pointer;
margin: 0 .35em;
padding: .25em
}
.elementor-slideshow__header>i {
font-size: inherit
}
.elementor-slideshow__header>i:hover {
color: var(--lightbox-ui-color-hover)
}
.elementor-slideshow__header>svg {
box-sizing: content-box;
fill: var(--lightbox-ui-color);
height: 1em;
width: 1em
}
.elementor-slideshow__header>svg:hover {
fill: var(--lightbox-ui-color-hover)
}
.elementor-slideshow__header .elementor-slideshow__counter {
margin-inline-end: auto
}
.elementor-slideshow__header .elementor-icon-share {
z-index: 5
}
.elementor-slideshow__share-menu {
background-color: transparent;
height: 0;
overflow: hidden;
position: absolute;
transition: background-color .4s;
width: 0
}
.elementor-slideshow__share-menu .elementor-slideshow__share-links a {
color: #0c0d0e
}
.elementor-slideshow__share-links {
background-color: #fff;
border-radius: 3px;
box-shadow: 0 4px 15px rgba(0, 0, 0, .3);
display: block;
inset-inline-end: 2.8em;
min-width: 200px;
opacity: 0;
padding: 14px 20px;
position: absolute;
top: 3em;
transform: scale(0);
transform-origin: 90% 10%;
transition: all .25s .1s
}
.elementor-slideshow__share-links a {
color: #3f444b;
display: block;
font-size: 12px;
line-height: 2.5;
opacity: 0;
text-align: start;
transition: opacity .5s .1s
}
.elementor-slideshow__share-links a:hover {
color: #000
}
.elementor-slideshow__share-links a i,
.elementor-slideshow__share-links a svg {
margin-inline-end: .75em
}
.elementor-slideshow__share-links a i {
font-size: 1.25em
}
.elementor-slideshow__share-links a svg {
height: 1.25em;
width: 1.25em
}
.elementor-slideshow__share-links:before {
border: .45em solid transparent;
border-bottom-color: #fff;
content: "";
display: block;
inset-inline-end: .5em;
position: absolute;
top: 1px;
transform: translateY(-100%) scaleX(.7)
}
.elementor-slideshow__footer {
bottom: 0;
position: fixed;
z-index: 5
}
.elementor-slideshow__description,
.elementor-slideshow__title {
margin: 0
}
.elementor-slideshow__title {
font-size: 16px;
font-weight: 700
}
.elementor-slideshow__description {
font-size: 14px
}
.elementor-slideshow--ui-hidden .elementor-slideshow__footer,
.elementor-slideshow--ui-hidden .elementor-slideshow__header {
opacity: 0;
pointer-events: none
}
.elementor-slideshow--ui-hidden .elementor-swiper-button-next,
.elementor-slideshow--ui-hidden .elementor-swiper-button-prev {
opacity: 0
}
.elementor-slideshow--fullscreen-mode .elementor-video-container {
width: 100%
}
.elementor-slideshow--zoom-mode .elementor-slideshow__footer,
.elementor-slideshow--zoom-mode .elementor-slideshow__header {
background-color: rgba(0, 0, 0, .5)
}
.elementor-slideshow--zoom-mode .elementor-swiper-button-next,
.elementor-slideshow--zoom-mode .elementor-swiper-button-prev {
opacity: 0;
pointer-events: none
}
.elementor-slideshow--share-mode .elementor-slideshow__share-menu {
background-color: rgba(0, 0, 0, .5);
cursor: default;
height: 100vh;
left: 0;
opacity: 1;
top: 0;
width: 100vw
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links {
transform: scale(1)
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links,
.elementor-slideshow--share-mode .elementor-slideshow__share-links a {
opacity: 1
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter {
color: #1da1f2
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook {
color: #3b5998
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest {
color: #bd081c
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold {
color: #9da5ae
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter {
fill: #1da1f2
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook {
fill: #3b5998
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest {
fill: #bd081c
}
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold {
fill: #9da5ae
}
.elementor-slideshow--share-mode .eicon-share-arrow {
z-index: 2
}

View File

@@ -1,369 +0,0 @@
.dialog-widget-content {
background-color: var(--e-a-bg-default);
border-radius: 3px;
box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
overflow: hidden;
position: absolute
}
.dialog-message {
box-sizing: border-box;
line-height: 1.5
}
.dialog-close-button {
color: var(--e-a-color-txt);
cursor: pointer;
font-size: 15px;
inset-inline-end: 15px;
line-height: 1;
margin-block-start: 15px;
position: absolute;
transition: var(--e-a-transition-hover)
}
.dialog-close-button:hover {
color: var(--e-a-color-txt-hover)
}
.dialog-prevent-scroll {
max-height: 100vh;
overflow: hidden
}
.dialog-type-lightbox {
background-color: rgba(0, 0, 0, .8);
bottom: 0;
height: 100%;
left: 0;
position: fixed;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
width: 100%;
z-index: 9999
}
.elementor-editor-active .elementor-popup-modal {
background-color: initial
}
.dialog-type-alert .dialog-widget-content,
.dialog-type-confirm .dialog-widget-content {
margin: auto;
padding: 20px;
width: 400px
}
.dialog-type-alert .dialog-header,
.dialog-type-confirm .dialog-header {
font-size: 15px;
font-weight: 500
}
.dialog-type-alert .dialog-header:after,
.dialog-type-confirm .dialog-header:after {
border-block-end: var(--e-a-border);
content: "";
display: block;
margin-block-end: 10px;
margin-inline-end: -20px;
margin-inline-start: -20px;
padding-block-end: 10px
}
.dialog-type-alert .dialog-message,
.dialog-type-confirm .dialog-message {
min-height: 50px
}
.dialog-type-alert .dialog-buttons-wrapper,
.dialog-type-confirm .dialog-buttons-wrapper {
display: flex;
gap: 15px;
justify-content: flex-end;
padding-block-start: 10px
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button {
background-color: var(--e-a-btn-bg);
border: none;
border-radius: var(--e-a-border-radius);
color: var(--e-a-btn-color-invert);
font-size: 12px;
font-weight: 500;
line-height: 1.2;
outline: none;
padding: 8px 16px;
transition: var(--e-a-transition-hover)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover {
border: none
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover {
background-color: var(--e-a-btn-bg-hover);
color: var(--e-a-btn-color-invert)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:active,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:active {
background-color: var(--e-a-btn-bg-active)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:not([disabled]),
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not([disabled]) {
cursor: pointer
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:disabled,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:disabled {
background-color: var(--e-a-btn-bg-disabled);
color: var(--e-a-btn-color-disabled)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon {
display: none
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt {
background: transparent;
color: var(--e-a-color-txt)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover {
background: var(--e-a-bg-hover);
color: var(--e-a-color-txt-hover)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled {
background: transparent;
color: var(--e-a-color-txt-disabled)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt-border,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt-border {
border: 1px solid var(--e-a-color-txt-muted)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success {
background-color: var(--e-a-btn-bg-success)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover {
background-color: var(--e-a-btn-bg-success-hover)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary {
background-color: var(--e-a-btn-bg-primary);
color: var(--e-a-btn-color)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:hover {
background-color: var(--e-a-btn-bg-primary-hover);
color: var(--e-a-btn-color)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt {
background: transparent;
color: var(--e-a-color-primary-bold)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover {
background: var(--e-a-bg-primary)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro {
background-color: var(--e-a-btn-bg-accent)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:hover {
background-color: var(--e-a-btn-bg-accent-hover)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:active,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:active,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:active,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:active {
background-color: var(--e-a-btn-bg-accent-active)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info {
background-color: var(--e-a-btn-bg-info)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover {
background-color: var(--e-a-btn-bg-info-hover)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning {
background-color: var(--e-a-btn-bg-warning)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover {
background-color: var(--e-a-btn-bg-warning-hover)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger {
background-color: var(--e-a-btn-bg-danger)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger.color-white,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger.color-white,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger.color-white,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger.color-white {
color: var(--e-a-color-white)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover {
background-color: var(--e-a-btn-bg-danger-hover)
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button i,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button i {
margin-inline-end: 5px
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:visited,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:visited {
color: initial
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled],
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled] {
background-color: var(--e-a-btn-bg-disabled);
cursor: not-allowed
}
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:focus,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:hover,
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:visited,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:focus,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:hover,
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:visited {
background-color: var(--e-a-btn-bg-disabled)
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +0,0 @@
/*!
* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(../fonts/fa-solid-900.eot);
src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url("../fonts/fa-solid-900.svg#fontawesome") format("svg")
}
.fa,.fas {
font-family: 'Font Awesome 5 Free';
font-weight: 900
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,731 +0,0 @@
/**
* Swiper 8.4.5
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2022 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: November 21, 2022
*/
@font-face {
font-family: swiper-icons;
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
font-weight: 400;
font-style: normal
}
:root {
--swiper-theme-color: #007aff
}
.swiper {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
z-index: 1
}
.swiper-vertical>.swiper-wrapper {
flex-direction: column
}
.swiper-wrapper {
position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
box-sizing: content-box
}
.swiper-android .swiper-slide,
.swiper-wrapper {
transform: translate3d(0px, 0, 0)
}
.swiper-pointer-events {
touch-action: pan-y
}
.swiper-pointer-events.swiper-vertical {
touch-action: pan-x
}
.swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform
}
.swiper-slide-invisible-blank {
visibility: hidden
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
height: auto
}
.swiper-autoheight .swiper-wrapper {
align-items: flex-start;
transition-property: transform, height
}
.swiper-backface-hidden .swiper-slide {
transform: translateZ(0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden
}
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px
}
.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
transform-style: preserve-3d
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10
}
.swiper-3d .swiper-slide-shadow {
background: rgba(0, 0, 0, .15)
}
.swiper-3d .swiper-slide-shadow-left {
background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-right {
background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-top {
background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}
.swiper-css-mode>.swiper-wrapper {
overflow: auto;
scrollbar-width: none;
-ms-overflow-style: none
}
.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
display: none
}
.swiper-css-mode>.swiper-wrapper>.swiper-slide {
scroll-snap-align: start start
}
.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
scroll-snap-type: x mandatory
}
.swiper-vertical.swiper-css-mode>.swiper-wrapper {
scroll-snap-type: y mandatory
}
.swiper-centered>.swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999
}
.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before)
}
.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after)
}
.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before)
}
.swiper-centered.swiper-vertical>.swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after)
}
.swiper-centered>.swiper-wrapper>.swiper-slide {
scroll-snap-align: center center
}
.swiper-virtual .swiper-slide {
-webkit-backface-visibility: hidden;
transform: translateZ(0)
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
content: '';
position: absolute;
left: 0;
top: 0;
pointer-events: none
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
height: 1px;
width: var(--swiper-virtual-size)
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
width: 1px;
height: var(--swiper-virtual-size)
}
:root {
--swiper-navigation-size: 44px
}
.swiper-button-next,
.swiper-button-prev {
position: absolute;
top: 50%;
width: calc(var(--swiper-navigation-size)/ 44 * 27);
height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
z-index: 10;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--swiper-navigation-color, var(--swiper-theme-color))
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
opacity: .35;
cursor: auto;
pointer-events: none
}
.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
opacity: 0;
cursor: auto;
pointer-events: none
}
.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
display: none !important
}
.swiper-button-next:after,
.swiper-button-prev:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
left: 10px;
right: auto
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev'
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: 10px;
left: auto
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
content: 'next'
}
.swiper-button-lock {
display: none
}
.swiper-pagination {
position: absolute;
text-align: center;
transition: .3s opacity;
transform: translate3d(0, 0, 0);
z-index: 10
}
.swiper-pagination.swiper-pagination-hidden {
opacity: 0
}
.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
display: none !important
}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
bottom: 10px;
left: 0;
width: 100%
}
.swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transform: scale(.33);
position: relative
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
transform: scale(1)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
transform: scale(1)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
transform: scale(.66)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
transform: scale(.33)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
transform: scale(.66)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
transform: scale(.33)
}
.swiper-pagination-bullet {
width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
display: inline-block;
border-radius: 50%;
background: var(--swiper-pagination-bullet-inactive-color, #000);
opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}
button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
box-shadow: none;
-webkit-appearance: none;
appearance: none
}
.swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer
}
.swiper-pagination-bullet:only-child {
display: none !important
}
.swiper-pagination-bullet-active {
opacity: var(--swiper-pagination-bullet-opacity, 1);
background: var(--swiper-pagination-color, var(--swiper-theme-color))
}
.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
right: 10px;
top: 50%;
transform: translate3d(0px, -50%, 0)
}
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
display: block
}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
transform: translateY(-50%);
width: 8px
}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
transition: .2s transform, .2s top
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
transform: translateX(-50%);
white-space: nowrap
}
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: .2s transform, .2s left
}
.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: .2s transform, .2s right
}
.swiper-pagination-progressbar {
background: rgba(0, 0, 0, .25);
position: absolute
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: var(--swiper-pagination-color, var(--swiper-theme-color));
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
transform-origin: left top
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
transform-origin: right top
}
.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
width: 100%;
height: 4px;
left: 0;
top: 0
}
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
width: 4px;
height: 100%;
left: 0;
top: 0
}
.swiper-pagination-lock {
display: none
}
.swiper-scrollbar {
border-radius: 10px;
position: relative;
-ms-touch-action: none;
background: rgba(0, 0, 0, .1)
}
.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
display: none !important
}
.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
position: absolute;
left: 1%;
bottom: 3px;
z-index: 50;
height: 5px;
width: 98%
}
.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
position: absolute;
right: 3px;
top: 1%;
z-index: 50;
width: 5px;
height: 98%
}
.swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: rgba(0, 0, 0, .5);
border-radius: 10px;
left: 0;
top: 0
}
.swiper-scrollbar-cursor-drag {
cursor: move
}
.swiper-scrollbar-lock {
display: none
}
.swiper-zoom-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center
}
.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
max-width: 100%;
max-height: 100%;
object-fit: contain
}
.swiper-slide-zoomed {
cursor: move
}
.swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
transform-origin: 50%;
box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent
}
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear
}
.swiper-lazy-preloader-white {
--swiper-preloader-color: #fff
}
.swiper-lazy-preloader-black {
--swiper-preloader-color: #000
}
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg)
}
100% {
transform: rotate(360deg)
}
}
.swiper .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000
}
.swiper-free-mode>.swiper-wrapper {
transition-timing-function: ease-out;
margin: 0 auto
}
.swiper-grid>.swiper-wrapper {
flex-wrap: wrap
}
.swiper-grid-column>.swiper-wrapper {
flex-wrap: wrap;
flex-direction: column
}
.swiper-fade.swiper-free-mode .swiper-slide {
transition-timing-function: ease-out
}
.swiper-fade .swiper-slide {
pointer-events: none;
transition-property: opacity
}
.swiper-fade .swiper-slide .swiper-slide {
pointer-events: none
}
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto
}
.swiper-cube {
overflow: visible
}
.swiper-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
transform-origin: 0 0;
width: 100%;
height: 100%
}
.swiper-cube .swiper-slide .swiper-slide {
pointer-events: none
}
.swiper-cube.swiper-rtl .swiper-slide {
transform-origin: 100% 0
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next+.swiper-slide,
.swiper-cube .swiper-slide-prev {
pointer-events: auto;
visibility: visible
}
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden
}
.swiper-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
opacity: .6;
z-index: 0
}
.swiper-cube .swiper-cube-shadow:before {
content: '';
background: #000;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
filter: blur(50px)
}
.swiper-flip {
overflow: visible
}
.swiper-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1
}
.swiper-flip .swiper-slide .swiper-slide {
pointer-events: none
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto
}
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden
}
.swiper-creative .swiper-slide {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
transition-property: transform, opacity, height
}
.swiper-cards {
overflow: visible
}
.swiper-cards .swiper-slide {
transform-origin: center bottom;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,79 +0,0 @@
.elementor-tab-title a {
color: inherit
}
.elementor-accordion {
text-align: start
}
.elementor-accordion .elementor-accordion-item {
border: 1px solid #d5d8dc
}
.elementor-accordion .elementor-accordion-item+.elementor-accordion-item {
border-block-start:none}
.elementor-accordion .elementor-tab-title {
cursor: pointer;
font-weight: 700;
line-height: 1;
margin: 0;
outline: none;
padding: 15px 20px
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
display: inline-block;
width: 1.5em
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg {
height: 1em;
width: 1em
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right {
float: right;
text-align: right
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left {
float: left;
text-align: left
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed {
display: block
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed {
display: none
}
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened {
display: block
}
.elementor-accordion .elementor-tab-content {
border-block-start:1px solid #d5d8dc;display: none;
padding: 15px 20px
}
@media (max-width: 480px) {
.elementor-accordion .elementor-tab-title {
padding:12px 15px
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
width: 1.2em
}
.elementor-accordion .elementor-tab-content {
padding: 7px 15px
}
}
.e-con-inner>.elementor-widget-accordion,.e-con>.elementor-widget-accordion {
width: var(--container-widget-width);
--flex-grow: var( --container-widget-flex-grow )
}

View File

@@ -1,133 +0,0 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget-divider {
--divider-border-style: none;
--divider-border-width: 1px;
--divider-color: #0c0d0e;
--divider-icon-size: 20px;
--divider-element-spacing: 10px;
--divider-pattern-height: 24px;
--divider-pattern-size: 20px;
--divider-pattern-url: none;
--divider-pattern-repeat: repeat-x
}
.elementor-widget-divider .elementor-divider {
display: flex
}
.elementor-widget-divider .elementor-divider__text {
font-size: 15px;
line-height: 1;
max-width: 95%
}
.elementor-widget-divider .elementor-divider__element {
flex-shrink: 0;
margin: 0 var(--divider-element-spacing)
}
.elementor-widget-divider .elementor-icon {
font-size: var(--divider-icon-size)
}
.elementor-widget-divider .elementor-divider-separator {
direction: ltr;
display: flex;
margin: 0
}
.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator {
align-items: center
}
.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before {
border-block-end:0;border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color);content: "";
display: block;
flex-grow: 1
}
.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-left .elementor-divider-separator:before {
content: none
}
.elementor-widget-divider--element-align-left .elementor-divider__element {
margin-left: 0
}
.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-right .elementor-divider-separator:after {
content: none
}
.elementor-widget-divider--element-align-right .elementor-divider__element {
margin-right: 0
}
.elementor-widget-divider--element-align-start .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-start .elementor-divider-separator:before {
content: none
}
.elementor-widget-divider--element-align-start .elementor-divider__element {
margin-inline-start:0}
.elementor-widget-divider--element-align-end .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-end .elementor-divider-separator:after {
content: none
}
.elementor-widget-divider--element-align-end .elementor-divider__element {
margin-inline-end:0}
.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}
.elementor-widget-divider--separator-type-pattern {
--divider-border-style: none
}
.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator {
background-color: var(--divider-color);
-webkit-mask-image: var(--divider-pattern-url);
mask-image: var(--divider-pattern-url);
-webkit-mask-repeat: var(--divider-pattern-repeat);
mask-repeat: var(--divider-pattern-repeat);
-webkit-mask-size: var(--divider-pattern-size) 100%;
mask-size: var(--divider-pattern-size) 100%;
min-height: var(--divider-pattern-height);
width: 100%
}
.elementor-widget-divider--no-spacing {
--divider-pattern-size: auto
}
.elementor-widget-divider--bg-round {
--divider-pattern-repeat: round
}
.rtl .elementor-widget-divider .elementor-divider__text {
direction: rtl
}
.e-con-inner>.elementor-widget-divider,.e-con>.elementor-widget-divider {
width: var(--container-widget-width,100%);
--flex-grow: var( --container-widget-flex-grow )
}

View File

@@ -1,223 +0,0 @@
.elementor-widget-icon-box .elementor-icon-box-wrapper {
display: flex;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box .elementor-icon-box-icon {
display: inline-block;
flex: 0 0 auto;
line-height: 0
}
.elementor-widget-icon-box .elementor-icon-box-content {
flex-grow: 1;
width: 100%
}
.elementor-widget-icon-box .elementor-icon-box-title a {
color: inherit
}
.elementor-widget-icon-box .elementor-icon-box-description {
margin: 0
}
.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper {
flex-direction: row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
@media (min-width: -1) {
.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-widescreen-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 1200px) {
.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-laptop-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 1020px) {
.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-tablet_extra-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 840px) {
.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-tablet-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 660px) {
.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-mobile_extra-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 480px) {
.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-mobile-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon {
flex-direction: column
}
}

View File

@@ -1,362 +0,0 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container,.elementor-widget:not(:has(.elementor-widget-container)) .elementor-widget-container {
overflow: hidden
}
.elementor-widget .elementor-icon-list-items.elementor-inline-items {
display: flex;
flex-wrap: wrap;
margin-inline:-8px}
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-inline-item {
word-break: break-word
}
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
margin-inline:8px}
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after {
border-width: 0;
border-inline-start-width:1px;border-style: solid;
height: 100%;
inset-inline-end: -8px;
inset-inline-start: auto;
position: relative;
width: auto
}
.elementor-widget .elementor-icon-list-items {
list-style-type: none;
margin: 0;
padding: 0
}
.elementor-widget .elementor-icon-list-item {
margin: 0;
padding: 0;
position: relative
}
.elementor-widget .elementor-icon-list-item:after {
inset-block-end: 0;
position: absolute;
width: 100%
}
.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a {
align-items: var(--icon-vertical-align,center);
display: flex;
font-size: inherit
}
.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
align-self: center;
padding-inline-start:5px}
.elementor-widget .elementor-icon-list-icon {
display: flex;
inset-block-start: var(--icon-vertical-offset,initial);
position: relative
}
.elementor-widget .elementor-icon-list-icon svg {
height: var(--e-icon-list-icon-size,1em);
width: var(--e-icon-list-icon-size,1em)
}
.elementor-widget .elementor-icon-list-icon i {
font-size: var(--e-icon-list-icon-size);
width: 1.25em
}
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon {
text-align: var(--e-icon-list-icon-align)
}
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
margin: var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)
}
.elementor-widget.elementor-list-item-link-full_width a {
width: 100%
}
.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a {
justify-content: center
}
.elementor-widget.elementor-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
@media (min-width: -1) {
.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-widescreen-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-widescreen-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: -1) {
.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-laptop-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-laptop-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a {
justify-content: center
}
.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: 1024px) {
.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-tablet-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-tablet-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: -1) {
.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: 767px) {
.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-mobile-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-mobile-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
#left-area ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items {
padding: 0
}

View File

@@ -1,17 +0,0 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget-image {
text-align: center
}
.elementor-widget-image a {
display: inline-block
}
.elementor-widget-image a img[src$=".jpeg"] {
width: 48px
}
.elementor-widget-image img {
display: inline-block;
vertical-align: middle
}

View File

@@ -1,291 +0,0 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-0:not(:has(.elementor-widget-container)),.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0:not(:has(.elementor-widget-container)),.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0:not(:has(.elementor-widget-container)) {
font-size: 0;
line-height: 1
}
.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid {
display: inline-grid
}
.elementor-widget-social-icons .elementor-grid {
grid-column-gap: var(--grid-column-gap,5px);
grid-row-gap: var(--grid-row-gap,5px);
grid-template-columns: var(--grid-template-columns);
justify-content: var(--justify-content,center);
justify-items: var(--justify-content,center)
}
.elementor-icon.elementor-social-icon {
font-size: var(--icon-size,25px);
height: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
line-height: var(--icon-size,25px);
width: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em))
}
.elementor-social-icon {
--e-social-icon-icon-color: #fff;
align-items: center;
background-color: #69727d;
cursor: pointer;
display: inline-flex;
justify-content: center;
text-align: center
}
.elementor-social-icon i {
color: var(--e-social-icon-icon-color)
}
.elementor-social-icon svg {
fill: var(--e-social-icon-icon-color)
}
.elementor-social-icon:last-child {
margin: 0
}
.elementor-social-icon:hover {
color: #fff;
opacity: .9
}
.elementor-social-icon-android {
background-color: #a4c639
}
.elementor-social-icon-apple {
background-color: #999
}
.elementor-social-icon-behance {
background-color: #1769ff
}
.elementor-social-icon-bitbucket {
background-color: #205081
}
.elementor-social-icon-codepen {
background-color: #000
}
.elementor-social-icon-delicious {
background-color: #39f
}
.elementor-social-icon-deviantart {
background-color: #05cc47
}
.elementor-social-icon-digg {
background-color: #005be2
}
.elementor-social-icon-dribbble {
background-color: #ea4c89
}
.elementor-social-icon-elementor {
background-color: #d30c5c
}
.elementor-social-icon-envelope {
background-color: #ea4335
}
.elementor-social-icon-facebook,.elementor-social-icon-facebook-f {
background-color: #3b5998
}
.elementor-social-icon-flickr {
background-color: #0063dc
}
.elementor-social-icon-foursquare {
background-color: #2d5be3
}
.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp {
background-color: #006400
}
.elementor-social-icon-github {
background-color: #333
}
.elementor-social-icon-gitlab {
background-color: #e24329
}
.elementor-social-icon-globe {
background-color: #69727d
}
.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g {
background-color: #dd4b39
}
.elementor-social-icon-houzz {
background-color: #7ac142
}
.elementor-social-icon-instagram {
background-color: #262626
}
.elementor-social-icon-jsfiddle {
background-color: #487aa2
}
.elementor-social-icon-link {
background-color: #818a91
}
.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in {
background-color: #0077b5
}
.elementor-social-icon-medium {
background-color: #00ab6b
}
.elementor-social-icon-meetup {
background-color: #ec1c40
}
.elementor-social-icon-mixcloud {
background-color: #273a4b
}
.elementor-social-icon-odnoklassniki {
background-color: #f4731c
}
.elementor-social-icon-pinterest {
background-color: #bd081c
}
.elementor-social-icon-product-hunt {
background-color: #da552f
}
.elementor-social-icon-reddit {
background-color: #ff4500
}
.elementor-social-icon-rss {
background-color: #f26522
}
.elementor-social-icon-shopping-cart {
background-color: #4caf50
}
.elementor-social-icon-skype {
background-color: #00aff0
}
.elementor-social-icon-slideshare {
background-color: #0077b5
}
.elementor-social-icon-snapchat {
background-color: #fffc00
}
.elementor-social-icon-soundcloud {
background-color: #f80
}
.elementor-social-icon-spotify {
background-color: #2ebd59
}
.elementor-social-icon-stack-overflow {
background-color: #fe7a15
}
.elementor-social-icon-steam {
background-color: #00adee
}
.elementor-social-icon-stumbleupon {
background-color: #eb4924
}
.elementor-social-icon-telegram {
background-color: #2ca5e0
}
.elementor-social-icon-threads {
background-color: #000
}
.elementor-social-icon-thumb-tack {
background-color: #1aa1d8
}
.elementor-social-icon-tripadvisor {
background-color: #589442
}
.elementor-social-icon-tumblr {
background-color: #35465c
}
.elementor-social-icon-twitch {
background-color: #6441a5
}
.elementor-social-icon-twitter {
background-color: #1da1f2
}
.elementor-social-icon-viber {
background-color: #665cac
}
.elementor-social-icon-vimeo {
background-color: #1ab7ea
}
.elementor-social-icon-vk {
background-color: #45668e
}
.elementor-social-icon-weibo {
background-color: #dd2430
}
.elementor-social-icon-weixin {
background-color: #31a918
}
.elementor-social-icon-whatsapp {
background-color: #25d366
}
.elementor-social-icon-wordpress {
background-color: #21759b
}
.elementor-social-icon-x-twitter {
background-color: #000
}
.elementor-social-icon-xing {
background-color: #026466
}
.elementor-social-icon-yelp {
background-color: #af0606
}
.elementor-social-icon-youtube {
background-color: #cd201f
}
.elementor-social-icon-500px {
background-color: #0099e5
}

View File

@@ -1 +0,0 @@
<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 391 B

View File

@@ -1 +0,0 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 612 KiB

View File

@@ -1,6 +0,0 @@
<svg width="512" height="277" viewBox="0 0 512 277" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M439.583 276.738C430.907 276.745 422.423 274.178 415.206 269.362C407.989 264.546 402.362 257.698 399.038 249.684C395.713 241.67 394.84 232.85 396.529 224.34C398.217 215.829 402.392 208.011 408.525 201.874C414.658 195.736 422.473 191.556 430.982 189.861C439.491 188.166 448.312 189.032 456.329 192.351C464.345 195.67 471.197 201.292 476.018 208.506C480.839 215.719 483.412 224.201 483.412 232.877C483.407 244.502 478.788 255.651 470.571 263.874C462.353 272.098 451.208 276.724 439.583 276.738ZM439.583 205.016C434.071 205.009 428.681 206.638 424.095 209.696C419.509 212.753 415.933 217.102 413.82 222.193C411.706 227.283 411.15 232.886 412.221 238.293C413.293 243.699 415.944 248.667 419.839 252.567C423.734 256.466 428.698 259.123 434.104 260.201C439.509 261.278 445.113 260.728 450.206 258.621C455.299 256.513 459.652 252.942 462.715 248.359C465.777 243.777 467.412 238.389 467.412 232.877C467.41 225.494 464.478 218.414 459.26 213.19C454.043 207.967 446.966 205.027 439.583 205.016ZM208.447 276.738C199.77 276.747 191.286 274.181 184.067 269.367C176.849 264.553 171.22 257.705 167.894 249.692C164.568 241.678 163.693 232.857 165.381 224.346C167.068 215.835 171.242 208.016 177.375 201.877C183.507 195.739 191.322 191.557 199.832 189.862C208.341 188.166 217.162 189.032 225.179 192.35C233.197 195.669 240.049 201.291 244.871 208.504C249.692 215.718 252.266 224.2 252.266 232.877C252.257 244.5 247.639 255.645 239.425 263.867C231.21 272.09 220.07 276.719 208.447 276.738ZM208.447 205.016C202.935 205.007 197.544 206.634 192.956 209.69C188.369 212.747 184.791 217.095 182.676 222.185C180.561 227.276 180.003 232.879 181.073 238.286C182.143 243.694 184.794 248.662 188.688 252.563C192.583 256.464 197.547 259.121 202.953 260.2C208.359 261.278 213.963 260.729 219.057 258.622C224.15 256.514 228.504 252.943 231.567 248.36C234.631 243.778 236.266 238.389 236.266 232.877C236.26 225.497 233.329 218.42 228.114 213.197C222.9 207.975 215.827 205.033 208.447 205.016Z" fill="black"/>
<path d="M497.29 240.877H475.413C473.291 240.877 471.256 240.034 469.756 238.534C468.256 237.033 467.413 234.999 467.413 232.877C467.413 230.755 468.256 228.72 469.756 227.22C471.256 225.72 473.291 224.877 475.413 224.877H495.029V182.456C495.024 176.72 493.555 171.081 490.762 166.072L447.455 88.4289C447.085 87.7662 446.545 87.2143 445.891 86.8299C445.237 86.4455 444.492 86.2427 443.733 86.2422H384.714V224.909H403.765C405.886 224.909 407.921 225.752 409.422 227.252C410.922 228.752 411.765 230.787 411.765 232.909C411.765 235.031 410.922 237.065 409.422 238.566C407.921 240.066 405.886 240.909 403.765 240.909H376.714C374.592 240.909 372.558 240.066 371.057 238.566C369.557 237.065 368.714 235.031 368.714 232.909V78.2422C368.714 76.1205 369.557 74.0856 371.057 72.5853C372.558 71.085 374.592 70.2422 376.714 70.2422H443.733C447.342 70.2404 450.886 71.2025 453.999 73.029C457.112 74.8554 459.68 77.48 461.439 80.6315L504.735 158.285C508.852 165.676 511.014 173.995 511.018 182.456V227.149C511.012 230.788 509.564 234.276 506.991 236.85C504.418 239.423 500.929 240.871 497.29 240.877ZM172.618 240.877H95.9141C93.7923 240.877 91.7575 240.034 90.2572 238.534C88.7569 237.033 87.9141 234.999 87.9141 232.877V171.352C87.9141 169.23 88.7569 167.195 90.2572 165.695C91.7575 164.194 93.7923 163.352 95.9141 163.352C98.0358 163.352 100.071 164.194 101.571 165.695C103.071 167.195 103.914 169.23 103.914 171.352V224.877H172.618C174.74 224.877 176.775 225.72 178.275 227.22C179.775 228.72 180.618 230.755 180.618 232.877C180.618 234.999 179.775 237.033 178.275 238.534C176.775 240.034 174.74 240.877 172.618 240.877ZM95.9141 142.968C93.7923 142.968 91.7575 142.125 90.2572 140.624C88.7569 139.124 87.9141 137.089 87.9141 134.968V81.2502C87.9141 79.1285 88.7569 77.0936 90.2572 75.5933C91.7575 74.093 93.7923 73.2502 95.9141 73.2502C98.0358 73.2502 100.071 74.093 101.571 75.5933C103.071 77.0936 103.914 79.1285 103.914 81.2502V135C103.906 137.116 103.059 139.142 101.56 140.636C100.06 142.129 98.0303 142.968 95.9141 142.968Z" fill="black"/>
<path d="M376.715 240.877H244.267C242.145 240.877 240.111 240.034 238.61 238.533C237.11 237.033 236.267 234.998 236.267 232.877C236.267 230.755 237.11 228.72 238.61 227.22C240.111 225.719 242.145 224.877 244.267 224.877H368.715V15.5859H103.915V48.5353C103.915 50.657 103.072 52.6918 101.572 54.1921C100.072 55.6924 98.0369 56.5353 95.9152 56.5353C93.7935 56.5353 91.7586 55.6924 90.2583 54.1921C88.7581 52.6918 87.9152 50.657 87.9152 48.5353V14.1139C87.9208 10.2608 89.4547 6.56717 92.1804 3.84356C94.906 1.11995 98.6007 -0.411242 102.454 -0.414062H370.187C374.039 -0.40842 377.731 1.12401 380.454 3.84732C383.177 6.57063 384.71 10.2626 384.715 14.1139V232.877C384.715 234.998 383.872 237.033 382.372 238.533C380.872 240.034 378.837 240.877 376.715 240.877ZM127.542 179.351H26.0059C23.8841 179.351 21.8493 178.508 20.349 177.008C18.8487 175.508 18.0059 173.473 18.0059 171.351C18.0059 169.23 18.8487 167.195 20.349 165.694C21.8493 164.194 23.8841 163.351 26.0059 163.351H127.542C129.664 163.351 131.698 164.194 133.199 165.694C134.699 167.195 135.542 169.23 135.542 171.351C135.542 173.473 134.699 175.508 133.199 177.008C131.698 178.508 129.664 179.351 127.542 179.351Z" fill="black"/>
<path d="M208.448 142.967H66.7626C64.6409 142.967 62.6061 142.124 61.1058 140.624C59.6055 139.124 58.7626 137.089 58.7626 134.967C58.7626 132.845 59.6055 130.811 61.1058 129.31C62.6061 127.81 64.6409 126.967 66.7626 126.967H208.448C210.57 126.967 212.605 127.81 214.105 129.31C215.605 130.811 216.448 132.845 216.448 134.967C216.448 137.089 215.605 139.124 214.105 140.624C212.605 142.124 210.57 142.967 208.448 142.967ZM62.3573 100.727H7.0293C4.90757 100.727 2.87273 99.8843 1.37244 98.384C-0.127848 96.8837 -0.970703 94.8489 -0.970703 92.7272C-0.970703 90.6054 -0.127848 88.5706 1.37244 87.0703C2.87273 85.57 4.90757 84.7272 7.0293 84.7272H62.3573C64.479 84.7272 66.5139 85.57 68.0142 87.0703C69.5144 88.5706 70.3573 90.6054 70.3573 92.7272C70.3573 94.8489 69.5144 96.8837 68.0142 98.384C66.5139 99.8843 64.479 100.727 62.3573 100.727ZM151.072 56.5351H53.408C51.2862 56.5351 49.2514 55.6923 47.7511 54.192C46.2508 52.6917 45.408 50.6569 45.408 48.5352C45.408 46.4134 46.2508 44.3786 47.7511 42.8783C49.2514 41.378 51.2862 40.5352 53.408 40.5352H151.072C153.194 40.5352 155.229 41.378 156.729 42.8783C158.229 44.3786 159.072 46.4134 159.072 48.5352C159.072 50.6569 158.229 52.6917 156.729 54.192C155.229 55.6923 153.194 56.5351 151.072 56.5351Z" fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 909 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 777 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 712 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 672 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 835 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 764 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 647 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 873 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 904 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -1,178 +0,0 @@
<svg width="100%" viewBox="0 0 680 1120" role="img" xmlns="http://www.w3.org/2000/svg">
<title style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">ML dispatch pipeline with preprocessing stages</title>
<desc style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">Full ML pipeline from API ingress through preprocessing, GPS denoising, feature engineering, clustering, risk check, scoring, VRP, and dispatch</desc>
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</marker>
</defs>
<!-- API Ingress -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="190" y="30" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(12, 68, 124);stroke:rgb(133, 183, 235);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="340" y="52" text-anchor="middle" dominant-baseline="central" style="fill:rgb(181, 212, 244);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">API ingress</text>
<text x="340" y="70" text-anchor="middle" dominant-baseline="central" style="fill:rgb(133, 183, 235);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Raw request entry point</text>
</g>
<line x1="340" y1="82" x2="340" y2="110" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- ── PREPROCESSING BLOCK ── -->
<rect x="100" y="116" width="480" height="230" rx="12" fill="none" stroke="var(--color-border-secondary)" stroke-width="0.8" stroke-dasharray="5 3" style="fill:none;stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:5px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="118" y="134" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:start;dominant-baseline:auto">Input processing</text>
<!-- Data cleansing -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="155" y="144" width="220" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="265" y="166" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Data cleansing</text>
<text x="265" y="184" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Remove nulls, fix types</text>
</g>
<!-- Data preprocessing -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="395" y="144" width="170" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="480" y="166" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Preprocessing</text>
<text x="480" y="184" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Normalise, impute</text>
</g>
<!-- arrow between cleansing and preprocessing -->
<line x1="375" y1="170" x2="393" y2="170" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- Feature selection -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="155" y="222" width="200" height="52" rx="8" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="255" y="244" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Feature selection</text>
<text x="255" y="262" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Drop low-variance cols</text>
</g>
<!-- PCA (optional) -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="385" y="222" width="180" height="52" rx="8" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="475" y="244" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">PCA (optional)</text>
<text x="475" y="262" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Dimensionality reduction</text>
</g>
<!-- arrow between feature selection and PCA -->
<line x1="355" y1="248" x2="383" y2="248" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- Down arrows inside block -->
<line x1="265" y1="196" x2="265" y2="220" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="480" y1="196" x2="480" y2="220" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- Merge lines from both bottom boxes down to GPS -->
<line x1="255" y1="274" x2="255" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="475" y1="274" x2="475" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="255" y1="296" x2="340" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="340" y1="296" x2="475" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="340" y1="296" x2="340" y2="358" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- GPS Denoising -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="190" y="362" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="340" y="384" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">GPS denoising</text>
<text x="340" y="402" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Kalman filter state estimation</text>
</g>
<line x1="340" y1="414" x2="340" y2="442" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- 7-encoder pipeline dashed container -->
<rect x="100" y="448" width="480" height="140" rx="12" fill="none" stroke="var(--color-border-secondary)" stroke-width="0.8" stroke-dasharray="5 3" style="fill:none;stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:5px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="118" y="466" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:start;dominant-baseline:auto">7-encoder pipeline</text>
<!-- Row 1 encoders -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="115" y="474" width="105" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="167" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Label enc.</text>
<text x="167" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Kitchen → int</text>
</g>
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="232" y="474" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="287" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Frequency enc.</text>
<text x="287" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Popularity ratio</text>
</g>
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="354" y="474" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="409" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Geohash enc.</text>
<text x="409" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Lat/lon → zone</text>
</g>
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="476" y="474" width="93" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="522" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Cyclic time</text>
<text x="522" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Hour sin/cos</text>
</g>
<!-- Row 2 encoders -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="150" y="530" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="205" y="546" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Min-max norm.</text>
<text x="205" y="562" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Scale 01</text>
</g>
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="278" y="530" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="333" y="546" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Target enc.</text>
<text x="333" y="562" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Avg profit/kitchen</text>
</g>
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="406" y="530" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="461" y="546" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Profit density</text>
<text x="461" y="562" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Profit + distance</text>
</g>
<line x1="340" y1="588" x2="340" y2="620" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- Geohash clustering -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="190" y="624" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="340" y="646" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Geohash clustering</text>
<text x="340" y="664" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Orders → spatial zones</text>
</g>
<line x1="340" y1="676" x2="340" y2="704" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- ID3 risk check -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="190" y="708" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(99, 56, 6);stroke:rgb(239, 159, 39);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="340" y="730" text-anchor="middle" dominant-baseline="central" style="fill:rgb(250, 199, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">ID3 risk check</text>
<text x="340" y="748" text-anchor="middle" dominant-baseline="central" style="fill:rgb(239, 159, 39);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Risky vs safe classification</text>
</g>
<!-- Safe branch -->
<line x1="250" y1="760" x2="250" y2="808" stroke="var(--color-border-secondary)" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="226" y="786" text-anchor="middle" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:auto">safe</text>
<!-- Risky branch → penalty box -->
<line x1="430" y1="760" x2="490" y2="760" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="490" y1="760" x2="490" y2="800" stroke="var(--color-border-secondary)" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="454" y="754" text-anchor="middle" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:auto">risky</text>
<!-- 25% penalty -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="445" y="804" width="120" height="44" rx="8" stroke-width="0.5" style="fill:rgb(121, 31, 31);stroke:rgb(240, 149, 149);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="505" y="820" text-anchor="middle" dominant-baseline="central" style="fill:rgb(247, 193, 193);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">25% penalty</text>
<text x="505" y="836" text-anchor="middle" dominant-baseline="central" style="fill:rgb(240, 149, 149);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Score damped</text>
</g>
<!-- penalty merges back down to composite -->
<line x1="505" y1="848" x2="505" y2="872" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="505" y1="872" x2="430" y2="872" stroke="var(--color-border-secondary)" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- Composite scoring -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="190" y="808" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(12, 68, 124);stroke:rgb(133, 183, 235);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="340" y="830" text-anchor="middle" dominant-baseline="central" style="fill:rgb(181, 212, 244);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Composite scoring</text>
<text x="340" y="848" text-anchor="middle" dominant-baseline="central" style="fill:rgb(133, 183, 235);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Distance + profit margin</text>
</g>
<line x1="340" y1="860" x2="340" y2="920" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- VRP solver -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="190" y="924" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="340" y="946" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">VRP solver</text>
<text x="340" y="964" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">OR-Tools combinatorial opt.</text>
</g>
<line x1="340" y1="976" x2="340" y2="1004" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<!-- Output dispatch -->
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
<rect x="190" y="1008" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(39, 80, 10);stroke:rgb(151, 196, 89);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="340" y="1030" text-anchor="middle" dominant-baseline="central" style="fill:rgb(192, 221, 151);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Output dispatch</text>
<text x="340" y="1048" text-anchor="middle" dominant-baseline="central" style="fill:rgb(151, 196, 89);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Final route assignment</text>
</g>
<!-- ML feedback loop label -->
<line x1="618" y1="624" x2="618" y2="1060" stroke="var(--color-border-tertiary)" stroke-width="0.8" stroke-dasharray="4 3" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:4px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<line x1="618" y1="624" x2="490" y2="624" stroke="var(--color-border-tertiary)" stroke-width="0.8" stroke-dasharray="4 3" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:4px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
<text x="630" y="840" text-anchor="middle" transform="rotate(90 630 840)" style="fill:var(--color-text-tertiary);fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:auto">ML feedback loop</text>
</svg>

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="currentColor" width="30" height="30"><g transform="translate(1 1)" stroke-width="5" fill="none" fill-rule="evenodd"><circle stroke-opacity=".4" cx="24" cy="24" r="22.2"/><path d="M46.2 24c0-12.2-9.9-22.2-22.2-22.2"><animateTransform accumulate="none" additive="replace" attributeName="transform" calcMode="linear" dur="1s" fill="remove" from="0 24 24" repeatCount="indefinite" restart="always" to="360 24 24" type="rotate"/></path></g></svg>

Before

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 MiB

View File

@@ -1,189 +0,0 @@
/*! elementor - v3.32.0 - 05-10-2025 */
"use strict";
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([[131], {
5249: (e, t, a) => {
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.default = void 0,
a(6281),
a(4846),
a(7458),
a(6211);
class baseTabs extends elementorModules.frontend.handlers.Base {
getDefaultSettings() {
return {
selectors: {
tablist: '[role="tablist"]',
tabTitle: ".elementor-tab-title",
tabContent: ".elementor-tab-content"
},
classes: {
active: "elementor-active"
},
showTabFn: "show",
hideTabFn: "hide",
toggleSelf: !0,
hidePrevious: !0,
autoExpand: !0,
keyDirection: {
ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1,
ArrowUp: -1,
ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1,
ArrowDown: 1
}
}
}
getDefaultElements() {
const e = this.getSettings("selectors");
return {
$tabTitles: this.findElement(e.tabTitle),
$tabContents: this.findElement(e.tabContent)
}
}
activateDefaultTab() {
const e = this.getSettings();
if (!e.autoExpand || "editor" === e.autoExpand && !this.isEdit)
return;
const t = this.getEditSettings("activeItemIndex") || 1
, a = {
showTabFn: e.showTabFn,
hideTabFn: e.hideTabFn
};
this.setSettings({
showTabFn: "show",
hideTabFn: "hide"
}),
this.changeActiveTab(t),
this.setSettings(a)
}
handleKeyboardNavigation(e) {
const t = e.currentTarget
, a = jQuery(t.closest(this.getSettings("selectors").tablist))
, i = a.find(this.getSettings("selectors").tabTitle)
, s = "vertical" === a.attr("aria-orientation");
switch (e.key) {
case "ArrowLeft":
case "ArrowRight":
if (s)
return;
break;
case "ArrowUp":
case "ArrowDown":
if (!s)
return;
e.preventDefault();
break;
case "Home":
return e.preventDefault(),
void i.first().trigger("focus");
case "End":
return e.preventDefault(),
void i.last().trigger("focus");
default:
return
}
const n = t.getAttribute("data-tab") - 1
, r = this.getSettings("keyDirection")[e.key]
, o = i[n + r];
o ? o.focus() : -1 === n + r ? i.last().trigger("focus") : i.first().trigger("focus")
}
deactivateActiveTab(e) {
const t = this.getSettings()
, a = t.classes.active
, i = e ? '[data-tab="' + e + '"]' : "." + a
, s = this.elements.$tabTitles.filter(i)
, n = this.elements.$tabContents.filter(i);
s.add(n).removeClass(a + " active"),
s.closest(".elementor-accordion-item").removeClass("active"),
s.attr({
tabindex: "-1",
"aria-selected": "false",
"aria-expanded": "false"
}),
n[t.hideTabFn](),
n.attr("hidden", "hidden")
}
activateTab(e) {
const t = this.getSettings()
, a = t.classes.active
, i = this.elements.$tabTitles.filter('[data-tab="' + e + '"]')
, s = this.elements.$tabContents.filter('[data-tab="' + e + '"]')
, n = "show" === t.showTabFn ? 0 : 400;
i.add(s).addClass(a + " active"),
i.closest(".elementor-accordion-item").addClass("active"),
i.attr({
tabindex: "0",
"aria-selected": "true",
"aria-expanded": "true"
}),
s[t.showTabFn](n, () => elementorFrontend.elements.$window.trigger("elementor-pro/motion-fx/recalc")),
s.removeAttr("hidden")
}
isActiveTab(e) {
return this.elements.$tabTitles.filter('[data-tab="' + e + '"]').hasClass(this.getSettings("classes.active"))
}
bindEvents() {
this.elements.$tabTitles.on({
keydown: e => {
jQuery(e.target).is("a") && "Enter" === e.key && e.preventDefault(),
["End", "Home", "ArrowUp", "ArrowDown"].includes(e.key) && this.handleKeyboardNavigation(e)
}
,
keyup: e => {
switch (e.code) {
case "ArrowLeft":
case "ArrowRight":
this.handleKeyboardNavigation(e);
break;
case "Enter":
case "Space":
e.preventDefault(),
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
}
}
,
click: e => {
e.preventDefault(),
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
}
})
}
onInit() {
super.onInit(...arguments),
this.activateDefaultTab()
}
onEditSettingsChange(e) {
"activeItemIndex" === e && this.activateDefaultTab()
}
changeActiveTab(e) {
const t = this.isActiveTab(e)
, a = this.getSettings();
if (t) return;
!a.toggleSelf && t || !a.hidePrevious || this.deactivateActiveTab(),
!a.hidePrevious && t && this.deactivateActiveTab(e),
t || this.activateTab(e)
}
}
t.default = baseTabs
}
,
9675: (e, t, a) => {
var i = a(6784);
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.default = void 0;
var s = i(a(5249));
class Accordion extends s.default {
getDefaultSettings() {
return {
...super.getDefaultSettings(),
showTabFn: "slideDown",
hideTabFn: "slideUp"
}
}
}
t.default = Accordion
}
}]);

View File

@@ -1,97 +0,0 @@
jQuery(function(t) {
if ("undefined" == typeof wc_add_to_cart_params) return !1;
var a = function() {
this.requests = [], this.addRequest = this.addRequest.bind(this), this.run = this.run.bind(this), this.$liveRegion = this.createLiveRegion(), t(document.body).on("click", ".add_to_cart_button:not(.wc-interactive)", {
addToCartHandler: this
}, this.onAddToCart).on("click", ".remove_from_cart_button", {
addToCartHandler: this
}, this.onRemoveFromCart).on("added_to_cart", {
addToCartHandler: this
}, this.onAddedToCart).on("removed_from_cart", {
addToCartHandler: this
}, this.onRemovedFromCart).on("ajax_request_not_sent.adding_to_cart", this.updateButton)
};
a.prototype.addRequest = function(t) {
this.requests.push(t), 1 === this.requests.length && this.run()
}, a.prototype.run = function() {
var a = this,
e = a.requests[0].complete;
a.requests[0].complete = function() {
"function" == typeof e && e(), a.requests.shift(), a.requests.length > 0 && a.run()
}, t.ajax(this.requests[0])
}, a.prototype.onAddToCart = function(a) {
var e = t(this);
if (e.is(".ajax_add_to_cart")) {
if (!e.attr("data-product_id")) return !0;
if (a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"), a.preventDefault(), e.removeClass("added"), e.addClass("loading"), !1 === t(document.body).triggerHandler("should_send_ajax_request.adding_to_cart", [e])) return t(document.body).trigger("ajax_request_not_sent.adding_to_cart", [!1, !1, e]), !0;
var r = {};
t.each(e.data(), function(t, a) {
r[t] = a
}), t.each(e[0].dataset, function(t, a) {
r[t] = a
}), t(document.body).trigger("adding_to_cart", [e, r]), a.data.addToCartHandler.addRequest({
type: "POST",
url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "add_to_cart"),
data: r,
success: function(a) {
a && (a.error && a.product_url ? window.location = a.product_url : "yes" !== wc_add_to_cart_params.cart_redirect_after_add ? t(document.body).trigger("added_to_cart", [a.fragments, a.cart_hash, e]) : window.location = wc_add_to_cart_params.cart_url)
},
dataType: "json"
})
}
}, a.prototype.onRemoveFromCart = function(a) {
var e = t(this),
r = e.closest(".woocommerce-mini-cart-item");
a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"), a.preventDefault(), r.block({
message: null,
overlayCSS: {
opacity: .6
}
}), a.data.addToCartHandler.addRequest({
type: "POST",
url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "remove_from_cart"),
data: {
cart_item_key: e.data("cart_item_key")
},
success: function(a) {
a && a.fragments ? t(document.body).trigger("removed_from_cart", [a.fragments, a.cart_hash, e]) : window.location = e.attr("href")
},
error: function() {
window.location = e.attr("href")
},
dataType: "json"
})
}, a.prototype.updateButton = function(a, e, r, d) {
if (d = void 0 !== d && d) {
if (d.removeClass("loading"), e && d.addClass("added"), e && !wc_add_to_cart_params.is_cart && 0 === d.parent().find(".added_to_cart").length) {
var o = document.createElement("a");
o.href = wc_add_to_cart_params.cart_url, o.className = "added_to_cart wc-forward", o.title = wc_add_to_cart_params.i18n_view_cart, o.textContent = wc_add_to_cart_params.i18n_view_cart, d.after(o)
}
t(document.body).trigger("wc_cart_button_updated", [d])
}
}, a.prototype.updateFragments = function(a, e) {
e && (t.each(e, function(a) {
t(a).addClass("updating").fadeTo("400", "0.6").block({
message: null,
overlayCSS: {
opacity: .6
}
})
}), t.each(e, function(a, e) {
t(a).replaceWith(e), t(a).stop(!0).css("opacity", "1").unblock()
}), t(document.body).trigger("wc_fragments_loaded"))
}, a.prototype.alertCartUpdated = function(t, a, e, r) {
if (r = void 0 !== r && r) {
var d = r.data("success_message");
if (!d) return;
t.data.addToCartHandler.$liveRegion.delay(1e3).text(d).attr("aria-relevant", "all")
}
}, a.prototype.createLiveRegion = function() {
var a = t(".widget_shopping_cart_live_region");
return a.length ? a : t('<div class="widget_shopping_cart_live_region screen-reader-text" role="status"></div>').appendTo("body")
}, a.prototype.onAddedToCart = function(t, a, e, r) {
t.data.addToCartHandler.updateButton(t, a, e, r), t.data.addToCartHandler.updateFragments(t, a), t.data.addToCartHandler.alertCartUpdated(t, a, e, r)
}, a.prototype.onRemovedFromCart = function(t, a, e, r) {
t.data.addToCartHandler.updateFragments(t, a), t.data.addToCartHandler.alertCartUpdated(t, a, e, r)
}, new a
});

View File

@@ -1,31 +0,0 @@
((e, s) => {
let o = {
noStateCountries: [],
init() {
s(e).on("load", o.onLoad), s(document).on("wpformsRepeaterFieldCloneCreated", o.setChangeHandlers)
},
onLoad() {
o.noStateCountries = wpforms_settings ? .address_field ? .list_countries_without_states || [], o.noStateCountries.length && o.setChangeHandlers()
},
setChangeHandlers() {
s(".wpforms-field-address").each(function() {
var e = s(this).find("select.wpforms-field-address-country");
e.length && (o.handleCountryChange(e), e.off("change").on("change", function() {
o.handleCountryChange(this)
}))
})
},
handleCountryChange(e) {
var e = s(e),
t = e.closest(".wpforms-field").find(".wpforms-field-address-state"),
n = t.closest(".wpforms-field-row");
n.length && (e = e.val(), o.handleStateInput(t, n, e))
},
handleStateInput(e, t, n) {
o.noStateCountries.includes(n) ? (e.val("").prop("disabled", !0).prop("required", !1).on("change", function() {
s(this).val("")
}), t.addClass("wpforms-without-state")) : (e.prop("disabled", !1).prop("required", t.find(".wpforms-first input").prop("required")).off("change"), t.removeClass("wpforms-without-state"))
}
};
o.init(), o
})(window, jQuery);

683
public/js/core.min.js vendored
View File

@@ -1,683 +0,0 @@
/*! jQuery UI - v1.13.3 - 2024-04-26
* https://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
! function(t) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery)
}(function(x) {
"use strict";
var t, e, i, n, W, C, o, s, r, l, a, h, u;
function E(t, e, i) {
return [parseFloat(t[0]) * (a.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (a.test(t[1]) ? i / 100 : 1)]
}
function L(t, e) {
return parseInt(x.css(t, e), 10) || 0
}
function N(t) {
return null != t && t === t.window
}
x.ui = x.ui || {}, x.ui.version = "1.13.3",
/*!
* jQuery UI :data 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.extend(x.expr.pseudos, {
data: x.expr.createPseudo ? x.expr.createPseudo(function(e) {
return function(t) {
return !!x.data(t, e)
}
}) : function(t, e, i) {
return !!x.data(t, i[3])
}
}),
/*!
* jQuery UI Disable Selection 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.extend({
disableSelection: (t = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown", function() {
return this.on(t + ".ui-disableSelection", function(t) {
t.preventDefault()
})
}),
enableSelection: function() {
return this.off(".ui-disableSelection")
}
}),
/*!
* jQuery UI Focusable 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.focusable = function(t, e) {
var i, n, o, s = t.nodeName.toLowerCase();
return "area" === s ? (o = (i = t.parentNode).name, !(!t.href || !o || "map" !== i.nodeName.toLowerCase()) && 0 < (i = x("img[usemap='#" + o + "']")).length && i.is(":visible")) : (/^(input|select|textarea|button|object)$/.test(s) ? (n = !t.disabled) && (o = x(t).closest("fieldset")[0]) && (n = !o.disabled) : n = "a" === s && t.href || e, n && x(t).is(":visible") && function(t) {
var e = t.css("visibility");
for (;
"inherit" === e;) t = t.parent(), e = t.css("visibility");
return "visible" === e
}(x(t)))
}, x.extend(x.expr.pseudos, {
focusable: function(t) {
return x.ui.focusable(t, null != x.attr(t, "tabindex"))
}
}), x.fn._form = function() {
return "string" == typeof this[0].form ? this.closest("form") : x(this[0].form)
},
/*!
* jQuery UI Form Reset Mixin 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.formResetMixin = {
_formResetHandler: function() {
var e = x(this);
setTimeout(function() {
var t = e.data("ui-form-reset-instances");
x.each(t, function() {
this.refresh()
})
})
},
_bindFormResetHandler: function() {
var t;
this.form = this.element._form(), this.form.length && ((t = this.form.data("ui-form-reset-instances") || []).length || this.form.on("reset.ui-form-reset", this._formResetHandler), t.push(this), this.form.data("ui-form-reset-instances", t))
},
_unbindFormResetHandler: function() {
var t;
this.form.length && ((t = this.form.data("ui-form-reset-instances")).splice(x.inArray(this, t), 1), t.length ? this.form.data("ui-form-reset-instances", t) : this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))
}
}, x.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
/*!
* jQuery UI Support for jQuery core 1.8.x and newer 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*
*/
x.expr.pseudos || (x.expr.pseudos = x.expr[":"]), x.uniqueSort || (x.uniqueSort = x.unique), x.escapeSelector || (e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, i = function(t, e) {
return e ? "\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t
}, x.escapeSelector = function(t) {
return (t + "").replace(e, i)
}), x.fn.even && x.fn.odd || x.fn.extend({
even: function() {
return this.filter(function(t) {
return t % 2 == 0
})
},
odd: function() {
return this.filter(function(t) {
return t % 2 == 1
})
}
}),
/*!
* jQuery UI Keycode 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.keyCode = {
BACKSPACE: 8,
COMMA: 188,
DELETE: 46,
DOWN: 40,
END: 35,
ENTER: 13,
ESCAPE: 27,
HOME: 36,
LEFT: 37,
PAGE_DOWN: 34,
PAGE_UP: 33,
PERIOD: 190,
RIGHT: 39,
SPACE: 32,
TAB: 9,
UP: 38
},
/*!
* jQuery UI Labels 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.labels = function() {
var t, e, i;
return this.length ? this[0].labels && this[0].labels.length ? this.pushStack(this[0].labels) : (e = this.eq(0).parents("label"), (t = this.attr("id")) && (i = (i = this.eq(0).parents().last()).add((i.length ? i : this).siblings()), t = "label[for='" + x.escapeSelector(t) + "']", e = e.add(i.find(t).addBack(t))), this.pushStack(e)) : this.pushStack([])
}, x.ui.plugin = {
add: function(t, e, i) {
var n, o = x.ui[t].prototype;
for (n in i) o.plugins[n] = o.plugins[n] || [], o.plugins[n].push([e, i[n]])
},
call: function(t, e, i, n) {
var o, s = t.plugins[e];
if (s && (n || t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType))
for (o = 0; o < s.length; o++) t.options[s[o][0]] && s[o][1].apply(t.element, i)
}
},
/*!
* jQuery UI Position 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*
* https://api.jqueryui.com/position/
*/
W = Math.max, C = Math.abs, o = /left|center|right/, s = /top|center|bottom/, r = /[\+\-]\d+(\.[\d]+)?%?/, l = /^\w+/, a = /%$/, h = x.fn.position, x.position = {
scrollbarWidth: function() {
var t, e, i;
return void 0 !== n ? n : (i = (e = x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0], x("body").append(e), t = i.offsetWidth, e.css("overflow", "scroll"), t === (i = i.offsetWidth) && (i = e[0].clientWidth), e.remove(), n = t - i)
},
getScrollInfo: function(t) {
var e = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x"),
i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y"),
e = "scroll" === e || "auto" === e && t.width < t.element[0].scrollWidth;
return {
width: "scroll" === i || "auto" === i && t.height < t.element[0].scrollHeight ? x.position.scrollbarWidth() : 0,
height: e ? x.position.scrollbarWidth() : 0
}
},
getWithinInfo: function(t) {
var e = x(t || window),
i = N(e[0]),
n = !!e[0] && 9 === e[0].nodeType;
return {
element: e,
isWindow: i,
isDocument: n,
offset: !i && !n ? x(t).offset() : {
left: 0,
top: 0
},
scrollLeft: e.scrollLeft(),
scrollTop: e.scrollTop(),
width: e.outerWidth(),
height: e.outerHeight()
}
}
}, x.fn.position = function(f) {
var c, d, p, g, m, v, y, w, b, _, t, e;
return f && f.of ? (v = "string" == typeof(f = x.extend({}, f)).of ? x(document).find(f.of) : x(f.of), y = x.position.getWithinInfo(f.within), w = x.position.getScrollInfo(y), b = (f.collision || "flip").split(" "), _ = {}, e = 9 === (e = (t = v)[0]).nodeType ? {
width: t.width(),
height: t.height(),
offset: {
top: 0,
left: 0
}
} : N(e) ? {
width: t.width(),
height: t.height(),
offset: {
top: t.scrollTop(),
left: t.scrollLeft()
}
} : e.preventDefault ? {
width: 0,
height: 0,
offset: {
top: e.pageY,
left: e.pageX
}
} : {
width: t.outerWidth(),
height: t.outerHeight(),
offset: t.offset()
}, v[0].preventDefault && (f.at = "left top"), d = e.width, p = e.height, m = x.extend({}, g = e.offset), x.each(["my", "at"], function() {
var t, e, i = (f[this] || "").split(" ");
(i = 1 === i.length ? o.test(i[0]) ? i.concat(["center"]) : s.test(i[0]) ? ["center"].concat(i) : ["center", "center"] : i)[0] = o.test(i[0]) ? i[0] : "center", i[1] = s.test(i[1]) ? i[1] : "center", t = r.exec(i[0]), e = r.exec(i[1]), _[this] = [t ? t[0] : 0, e ? e[0] : 0], f[this] = [l.exec(i[0])[0], l.exec(i[1])[0]]
}), 1 === b.length && (b[1] = b[0]), "right" === f.at[0] ? m.left += d : "center" === f.at[0] && (m.left += d / 2), "bottom" === f.at[1] ? m.top += p : "center" === f.at[1] && (m.top += p / 2), c = E(_.at, d, p), m.left += c[0], m.top += c[1], this.each(function() {
var i, t, r = x(this),
l = r.outerWidth(),
a = r.outerHeight(),
e = L(this, "marginLeft"),
n = L(this, "marginTop"),
o = l + e + L(this, "marginRight") + w.width,
s = a + n + L(this, "marginBottom") + w.height,
h = x.extend({}, m),
u = E(_.my, r.outerWidth(), r.outerHeight());
"right" === f.my[0] ? h.left -= l : "center" === f.my[0] && (h.left -= l / 2), "bottom" === f.my[1] ? h.top -= a : "center" === f.my[1] && (h.top -= a / 2), h.left += u[0], h.top += u[1], i = {
marginLeft: e,
marginTop: n
}, x.each(["left", "top"], function(t, e) {
x.ui.position[b[t]] && x.ui.position[b[t]][e](h, {
targetWidth: d,
targetHeight: p,
elemWidth: l,
elemHeight: a,
collisionPosition: i,
collisionWidth: o,
collisionHeight: s,
offset: [c[0] + u[0], c[1] + u[1]],
my: f.my,
at: f.at,
within: y,
elem: r
})
}), f.using && (t = function(t) {
var e = g.left - h.left,
i = e + d - l,
n = g.top - h.top,
o = n + p - a,
s = {
target: {
element: v,
left: g.left,
top: g.top,
width: d,
height: p
},
element: {
element: r,
left: h.left,
top: h.top,
width: l,
height: a
},
horizontal: i < 0 ? "left" : 0 < e ? "right" : "center",
vertical: o < 0 ? "top" : 0 < n ? "bottom" : "middle"
};
d < l && C(e + i) < d && (s.horizontal = "center"), p < a && C(n + o) < p && (s.vertical = "middle"), W(C(e), C(i)) > W(C(n), C(o)) ? s.important = "horizontal" : s.important = "vertical", f.using.call(this, t, s)
}), r.offset(x.extend(h, {
using: t
}))
})) : h.apply(this, arguments)
}, x.ui.position = {
fit: {
left: function(t, e) {
var i, n = e.within,
o = n.isWindow ? n.scrollLeft : n.offset.left,
n = n.width,
s = t.left - e.collisionPosition.marginLeft,
r = o - s,
l = s + e.collisionWidth - n - o;
n < e.collisionWidth ? 0 < r && l <= 0 ? (i = t.left + r + e.collisionWidth - n - o, t.left += r - i) : t.left = !(0 < l && r <= 0) && l < r ? o + n - e.collisionWidth : o : 0 < r ? t.left += r : 0 < l ? t.left -= l : t.left = W(t.left - s, t.left)
},
top: function(t, e) {
var i, n = e.within,
n = n.isWindow ? n.scrollTop : n.offset.top,
o = e.within.height,
s = t.top - e.collisionPosition.marginTop,
r = n - s,
l = s + e.collisionHeight - o - n;
o < e.collisionHeight ? 0 < r && l <= 0 ? (i = t.top + r + e.collisionHeight - o - n, t.top += r - i) : t.top = !(0 < l && r <= 0) && l < r ? n + o - e.collisionHeight : n : 0 < r ? t.top += r : 0 < l ? t.top -= l : t.top = W(t.top - s, t.top)
}
},
flip: {
left: function(t, e) {
var i = e.within,
n = i.offset.left + i.scrollLeft,
o = i.width,
i = i.isWindow ? i.scrollLeft : i.offset.left,
s = t.left - e.collisionPosition.marginLeft,
r = s - i,
s = s + e.collisionWidth - o - i,
l = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0,
a = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0,
h = -2 * e.offset[0];
r < 0 ? ((o = t.left + l + a + h + e.collisionWidth - o - n) < 0 || o < C(r)) && (t.left += l + a + h) : 0 < s && (0 < (n = t.left - e.collisionPosition.marginLeft + l + a + h - i) || C(n) < s) && (t.left += l + a + h)
},
top: function(t, e) {
var i = e.within,
n = i.offset.top + i.scrollTop,
o = i.height,
i = i.isWindow ? i.scrollTop : i.offset.top,
s = t.top - e.collisionPosition.marginTop,
r = s - i,
s = s + e.collisionHeight - o - i,
l = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0,
a = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0,
h = -2 * e.offset[1];
r < 0 ? ((o = t.top + l + a + h + e.collisionHeight - o - n) < 0 || o < C(r)) && (t.top += l + a + h) : 0 < s && (0 < (n = t.top - e.collisionPosition.marginTop + l + a + h - i) || C(n) < s) && (t.top += l + a + h)
}
},
flipfit: {
left: function() {
x.ui.position.flip.left.apply(this, arguments), x.ui.position.fit.left.apply(this, arguments)
},
top: function() {
x.ui.position.flip.top.apply(this, arguments), x.ui.position.fit.top.apply(this, arguments)
}
}
}, x.ui.safeActiveElement = function(e) {
var i;
try {
i = e.activeElement
} catch (t) {
i = e.body
}
return i = (i = i || e.body).nodeName ? i : e.body
}, x.ui.safeBlur = function(t) {
t && "body" !== t.nodeName.toLowerCase() && x(t).trigger("blur")
},
/*!
* jQuery UI Scroll Parent 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.scrollParent = function(t) {
var e = this.css("position"),
i = "absolute" === e,
n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
t = this.parents().filter(function() {
var t = x(this);
return (!i || "static" !== t.css("position")) && n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"))
}).eq(0);
return "fixed" !== e && t.length ? t : x(this[0].ownerDocument || document)
},
/*!
* jQuery UI Tabbable 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.extend(x.expr.pseudos, {
tabbable: function(t) {
var e = x.attr(t, "tabindex"),
i = null != e;
return (!i || 0 <= e) && x.ui.focusable(t, i)
}
}),
/*!
* jQuery UI Unique ID 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.extend({
uniqueId: (u = 0, function() {
return this.each(function() {
this.id || (this.id = "ui-id-" + ++u)
})
}),
removeUniqueId: function() {
return this.each(function() {
/^ui-id-\d+$/.test(this.id) && x(this).removeAttr("id")
})
}
});
/*!
* jQuery UI Widget 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
var f, c = 0,
d = Array.prototype.hasOwnProperty,
p = Array.prototype.slice;
x.cleanData = (f = x.cleanData, function(t) {
for (var e, i, n = 0; null != (i = t[n]); n++)(e = x._data(i, "events")) && e.remove && x(i).triggerHandler("remove");
f(t)
}), x.widget = function(t, i, e) {
var n, o, s, r = {},
l = t.split(".")[0],
a = l + "-" + (t = t.split(".")[1]);
return e || (e = i, i = x.Widget), Array.isArray(e) && (e = x.extend.apply(null, [{}].concat(e))), x.expr.pseudos[a.toLowerCase()] = function(t) {
return !!x.data(t, a)
}, x[l] = x[l] || {}, n = x[l][t], o = x[l][t] = function(t, e) {
if (!this || !this._createWidget) return new o(t, e);
arguments.length && this._createWidget(t, e)
}, x.extend(o, n, {
version: e.version,
_proto: x.extend({}, e),
_childConstructors: []
}), (s = new i).options = x.widget.extend({}, s.options), x.each(e, function(e, n) {
function o() {
return i.prototype[e].apply(this, arguments)
}
function s(t) {
return i.prototype[e].apply(this, t)
}
r[e] = "function" != typeof n ? n : function() {
var t, e = this._super,
i = this._superApply;
return this._super = o, this._superApply = s, t = n.apply(this, arguments), this._super = e, this._superApply = i, t
}
}), o.prototype = x.widget.extend(s, {
widgetEventPrefix: n && s.widgetEventPrefix || t
}, r, {
constructor: o,
namespace: l,
widgetName: t,
widgetFullName: a
}), n ? (x.each(n._childConstructors, function(t, e) {
var i = e.prototype;
x.widget(i.namespace + "." + i.widgetName, o, e._proto)
}), delete n._childConstructors) : i._childConstructors.push(o), x.widget.bridge(t, o), o
}, x.widget.extend = function(t) {
for (var e, i, n = p.call(arguments, 1), o = 0, s = n.length; o < s; o++)
for (e in n[o]) i = n[o][e], d.call(n[o], e) && void 0 !== i && (x.isPlainObject(i) ? t[e] = x.isPlainObject(t[e]) ? x.widget.extend({}, t[e], i) : x.widget.extend({}, i) : t[e] = i);
return t
}, x.widget.bridge = function(s, e) {
var r = e.prototype.widgetFullName || s;
x.fn[s] = function(i) {
var t = "string" == typeof i,
n = p.call(arguments, 1),
o = this;
return t ? this.length || "instance" !== i ? this.each(function() {
var t, e = x.data(this, r);
return "instance" === i ? (o = e, !1) : e ? "function" != typeof e[i] || "_" === i.charAt(0) ? x.error("no such method '" + i + "' for " + s + " widget instance") : (t = e[i].apply(e, n)) !== e && void 0 !== t ? (o = t && t.jquery ? o.pushStack(t.get()) : t, !1) : void 0 : x.error("cannot call methods on " + s + " prior to initialization; attempted to call method '" + i + "'")
}) : o = void 0 : (n.length && (i = x.widget.extend.apply(null, [i].concat(n))), this.each(function() {
var t = x.data(this, r);
t ? (t.option(i || {}), t._init && t._init()) : x.data(this, r, new e(i, this))
})), o
}
}, x.Widget = function() {}, x.Widget._childConstructors = [], x.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "<div>",
options: {
classes: {},
disabled: !1,
create: null
},
_createWidget: function(t, e) {
e = x(e || this.defaultElement || this)[0], this.element = x(e), this.uuid = c++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = x(), this.hoverable = x(), this.focusable = x(), this.classesElementLookup = {}, e !== this && (x.data(e, this.widgetFullName, this), this._on(!0, this.element, {
remove: function(t) {
t.target === e && this.destroy()
}
}), this.document = x(e.style ? e.ownerDocument : e.document || e), this.window = x(this.document[0].defaultView || this.document[0].parentWindow)), this.options = x.widget.extend({}, this.options, this._getCreateOptions(), t), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init()
},
_getCreateOptions: function() {
return {}
},
_getCreateEventData: x.noop,
_create: x.noop,
_init: x.noop,
destroy: function() {
var i = this;
this._destroy(), x.each(this.classesElementLookup, function(t, e) {
i._removeClass(e, t)
}), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace)
},
_destroy: x.noop,
widget: function() {
return this.element
},
option: function(t, e) {
var i, n, o, s = t;
if (0 === arguments.length) return x.widget.extend({}, this.options);
if ("string" == typeof t)
if (s = {}, t = (i = t.split(".")).shift(), i.length) {
for (n = s[t] = x.widget.extend({}, this.options[t]), o = 0; o < i.length - 1; o++) n[i[o]] = n[i[o]] || {}, n = n[i[o]];
if (t = i.pop(), 1 === arguments.length) return void 0 === n[t] ? null : n[t];
n[t] = e
} else {
if (1 === arguments.length) return void 0 === this.options[t] ? null : this.options[t];
s[t] = e
}
return this._setOptions(s), this
},
_setOptions: function(t) {
for (var e in t) this._setOption(e, t[e]);
return this
},
_setOption: function(t, e) {
return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this
},
_setOptionClasses: function(t) {
var e, i, n;
for (e in t) n = this.classesElementLookup[e], t[e] !== this.options.classes[e] && n && n.length && (i = x(n.get()), this._removeClass(n, e), i.addClass(this._classes({
element: i,
keys: e,
classes: t,
add: !0
})))
},
_setOptionDisabled: function(t) {
this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"))
},
enable: function() {
return this._setOptions({
disabled: !1
})
},
disable: function() {
return this._setOptions({
disabled: !0
})
},
_classes: function(o) {
var s = [],
r = this;
function t(t, e) {
for (var i, n = 0; n < t.length; n++) i = r.classesElementLookup[t[n]] || x(), i = o.add ? (function() {
var i = [];
o.element.each(function(t, e) {
x.map(r.classesElementLookup, function(t) {
return t
}).some(function(t) {
return t.is(e)
}) || i.push(e)
}), r._on(x(i), {
remove: "_untrackClassesElement"
})
}(), x(x.uniqueSort(i.get().concat(o.element.get())))) : x(i.not(o.element).get()), r.classesElementLookup[t[n]] = i, s.push(t[n]), e && o.classes[t[n]] && s.push(o.classes[t[n]])
}
return (o = x.extend({
element: this.element,
classes: this.options.classes || {}
}, o)).keys && t(o.keys.match(/\S+/g) || [], !0), o.extra && t(o.extra.match(/\S+/g) || []), s.join(" ")
},
_untrackClassesElement: function(i) {
var n = this;
x.each(n.classesElementLookup, function(t, e) {
-1 !== x.inArray(i.target, e) && (n.classesElementLookup[t] = x(e.not(i.target).get()))
}), this._off(x(i.target))
},
_removeClass: function(t, e, i) {
return this._toggleClass(t, e, i, !1)
},
_addClass: function(t, e, i) {
return this._toggleClass(t, e, i, !0)
},
_toggleClass: function(t, e, i, n) {
var o = "string" == typeof t || null === t,
e = {
extra: o ? e : i,
keys: o ? t : e,
element: o ? this.element : t,
add: n = "boolean" == typeof n ? n : i
};
return e.element.toggleClass(this._classes(e), n), this
},
_on: function(o, s, t) {
var r, l = this;
"boolean" != typeof o && (t = s, s = o, o = !1), t ? (s = r = x(s), this.bindings = this.bindings.add(s)) : (t = s, s = this.element, r = this.widget()), x.each(t, function(t, e) {
function i() {
if (o || !0 !== l.options.disabled && !x(this).hasClass("ui-state-disabled")) return ("string" == typeof e ? l[e] : e).apply(l, arguments)
}
"string" != typeof e && (i.guid = e.guid = e.guid || i.guid || x.guid++);
var t = t.match(/^([\w:-]*)\s*(.*)$/),
n = t[1] + l.eventNamespace,
t = t[2];
t ? r.on(n, t, i) : s.on(n, i)
})
},
_off: function(t, e) {
e = (e || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, t.off(e), this.bindings = x(this.bindings.not(t).get()), this.focusable = x(this.focusable.not(t).get()), this.hoverable = x(this.hoverable.not(t).get())
},
_delay: function(t, e) {
var i = this;
return setTimeout(function() {
return ("string" == typeof t ? i[t] : t).apply(i, arguments)
}, e || 0)
},
_hoverable: function(t) {
this.hoverable = this.hoverable.add(t), this._on(t, {
mouseenter: function(t) {
this._addClass(x(t.currentTarget), null, "ui-state-hover")
},
mouseleave: function(t) {
this._removeClass(x(t.currentTarget), null, "ui-state-hover")
}
})
},
_focusable: function(t) {
this.focusable = this.focusable.add(t), this._on(t, {
focusin: function(t) {
this._addClass(x(t.currentTarget), null, "ui-state-focus")
},
focusout: function(t) {
this._removeClass(x(t.currentTarget), null, "ui-state-focus")
}
})
},
_trigger: function(t, e, i) {
var n, o, s = this.options[t];
if (i = i || {}, (e = x.Event(e)).type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase(), e.target = this.element[0], o = e.originalEvent)
for (n in o) n in e || (e[n] = o[n]);
return this.element.trigger(e, i), !("function" == typeof s && !1 === s.apply(this.element[0], [e].concat(i)) || e.isDefaultPrevented())
}
}, x.each({
show: "fadeIn",
hide: "fadeOut"
}, function(s, r) {
x.Widget.prototype["_" + s] = function(e, t, i) {
var n, o = (t = "string" == typeof t ? {
effect: t
} : t) ? !0 !== t && "number" != typeof t && t.effect || r : s;
"number" == typeof(t = t || {}) ? t = {
duration: t
}: !0 === t && (t = {}), n = !x.isEmptyObject(t), t.complete = i, t.delay && e.delay(t.delay), n && x.effects && x.effects.effect[o] ? e[s](t) : o !== s && e[o] ? e[o](t.duration, t.easing, i) : e.queue(function(t) {
x(this)[s](), i && i.call(e[0]), t()
})
}
})
});

View File

@@ -1,405 +0,0 @@
/*!
* Dialogs Manager v4.9.4
* https://github.com/kobizz/dialogs-manager
*
* Copyright Kobi Zaltzberg
* Released under the MIT license
* https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt
*/
! function(t, e) {
"use strict";
var n = {
widgetsTypes: {},
createWidgetType: function(e, i, o) {
o || (o = this.Widget);
var s = function() {
o.apply(this, arguments)
},
r = s.prototype = new o(e);
return r.types = r.types.concat([e]), t.extend(r, i), r.constructor = s, s.extend = function(t, e) {
return n.createWidgetType(t, e, s)
}, s
},
addWidgetType: function(t, e, n) {
return e && e.prototype instanceof this.Widget ? this.widgetsTypes[t] = e : this.widgetsTypes[t] = this.createWidgetType(t, e, n)
},
getWidgetType: function(t) {
return this.widgetsTypes[t]
}
};
n.Instance = function() {
var e = this,
i = {},
o = {};
e.openDialogs = [];
var s = function(e) {
t.extend(o, {
classPrefix: "dialog",
effects: {
show: "fadeIn",
hide: "fadeOut"
}
}, e)
};
this.createWidget = function(t, i) {
var o = new(n.getWidgetType(t))(t);
return i = i || {}, o.init(e, i), o
}, this.getSettings = function(t) {
return t ? o[t] : Object.create(o)
}, this.maybeLoadAssets = async function() {
if (!!window.elementorFrontend ? .utils ? .assetsLoader) try {
await elementorFrontend.utils.assetsLoader.load("style", "dialog")
} catch (t) {
console.error("Failed to load assets:", t)
}
}, this.init = function(n) {
return this.maybeLoadAssets(), s(n), i.body = t("body"), e
}, e.init()
}, n.Widget = function(e) {
var i = this,
o = {},
s = {},
r = {},
a = 0,
c = ["refreshPosition"],
d = function(t, e) {
var n = o.effects[t],
i = r.widget;
if ("function" == typeof n) n.apply(i, e);
else {
if (!i[n]) throw "Reference Error: The effect " + n + " not found";
i[n].apply(i, e)
}
},
u = function(e) {
if (!f(e)) {
if (o.hide.onClick) {
if (t(e.target).closest(o.selectors.preventClose).length) return
} else if (e.target !== this) return;
i.hide()
}
},
l = function(e) {
f(e) || t(e.target).closest(r.widget).length || function(e) {
return !!o.hide.ignore && !!t(e.target).closest(o.hide.ignore).length
}(e) || i.hide()
},
g = function() {
t.each(o, (function(t) {
var e = t.match(/^on([A-Z].*)/);
e && (e = e[1].charAt(0).toLowerCase() + e[1].slice(1), i.on(e, this))
}))
},
f = function(t) {
return "click" === t.type && 2 === t.button
},
h = function(t) {
27 === t.which && i.hide()
},
p = function() {
var t = [r.window];
r.iframe && t.push(jQuery(r.iframe[0].contentWindow)), t.forEach((function(t) {
o.hide.onEscKeyPress && t.off("keyup", h), o.hide.onOutsideClick && t[0].removeEventListener("click", l, !0), o.hide.onOutsideContextMenu && t[0].removeEventListener("contextmenu", l, !0), o.position.autoRefresh && t.off("resize", i.refreshPosition)
})), (o.hide.onClick || o.hide.onBackgroundClick) && r.widget.off("click", u)
};
this.addElement = function(e, n, i) {
var s = r[e] = t(n || "<div>"),
a = function(t) {
return t.replace(/([a-z])([A-Z])/g, (function() {
return arguments[1] + "-" + arguments[2].toLowerCase()
}))
}(e);
return i = i ? i + " " : "", i += o.classes.globalPrefix + "-" + a, i += " " + o.classes.prefix + "-" + a, s.addClass(i), s
}, this.destroy = function() {
const t = i.getElements("widget") ? .attr("id"),
e = i.parent.openDialogs.lastIndexOf(t);
return -1 !== e && i.parent.openDialogs.splice(e, 1), p(), r.widget.remove(), i.trigger("destroy"), i
}, this.getElements = function(t) {
return t ? r[t] : r
}, this.getSettings = function(t) {
var e = Object.create(o);
return t ? e[t] : e
}, this.hide = function() {
if (!i.isVisible()) return;
const t = i.getElements("widget") ? .attr("id"),
e = i.parent.openDialogs;
return e[e.length - 1] === t ? (e.pop(), clearTimeout(a), d("hide", arguments), p(), o.preventScroll && i.getElements("body").removeClass(o.classes.preventScroll), i.trigger("hide"), i) : void 0
}, this.init = function(s, a) {
if (!(s instanceof n.Instance)) throw "The " + i.widgetName + " must to be initialized from an instance of DialogsManager.Instance";
var d;
return i.parent = s, d = c.concat(i.getClosureMethods()), t.each(d, (function() {
var t = i[this];
i[this] = function() {
t.apply(i, arguments)
}
})), i.trigger("init", a),
function(n, s) {
var r = t.extend(!0, {}, n.getSettings());
o = {
headerMessage: "",
message: "",
effects: r.effects,
classes: {
globalPrefix: r.classPrefix,
prefix: r.classPrefix + "-" + e,
preventScroll: r.classPrefix + "-prevent-scroll"
},
selectors: {
preventClose: "." + r.classPrefix + "-prevent-close"
},
container: "body",
preventScroll: !1,
iframe: null,
closeButton: !1,
closeButtonOptions: {
iconClass: r.classPrefix + "-close-button-icon",
attributes: {
role: "button",
tabindex: 0,
"aria-label": "Close",
href: "#"
},
iconElement: "<i>"
},
position: {
element: "widget",
my: "center",
at: "center",
enable: !0,
autoRefresh: !1
},
hide: {
auto: !1,
autoDelay: 5e3,
onClick: !1,
onOutsideClick: !0,
onOutsideContextMenu: !1,
onBackgroundClick: !0,
onEscKeyPress: !0,
ignore: ""
}
}, t.extend(!0, o, i.getDefaultSettings(), s), g()
}(s, a),
function() {
if (i.addElement("widget"), i.addElement("header"), i.addElement("message"), i.addElement("window", window), i.addElement("body", document.body), i.addElement("container", o.container), o.iframe && i.addElement("iframe", o.iframe), o.closeButton) {
o.closeButtonClass && (o.closeButtonOptions.iconClass = o.closeButtonClass);
const e = t("<a>", o.closeButtonOptions.attributes),
n = t(o.closeButtonOptions.iconElement).addClass(o.closeButtonOptions.iconClass);
e.append(n), i.addElement("closeButton", e)
}
var e = i.getSettings("id");
e && i.setID(e);
var n = [];
t.each(i.types, (function() {
n.push(o.classes.globalPrefix + "-type-" + this)
})), n.push(i.getSettings("className")), r.widget.addClass(n.join(" ")).attr({
"aria-modal": !0,
role: "document",
tabindex: 0
})
}(), i.buildWidget(), i.attachEvents(), i.trigger("ready"), i
}, this.isVisible = function() {
return r.widget.is(":visible")
}, this.on = function(e, n) {
return "object" == typeof e ? (t.each(e, (function(t) {
i.on(t, this)
})), i) : (e.split(" ").forEach((function(t) {
s[t] || (s[t] = []), s[t].push(n)
})), i)
}, this.off = function(t, e) {
if (!s[t]) return i;
if (!e) return delete s[t], i;
var n = s[t].indexOf(e);
return -1 !== n && s[t].splice(n, 1), i
}, this.refreshPosition = function() {
if (o.position.enable) {
var e = t.extend({}, o.position);
r[e.of] && (e.of = r[e.of]), e.of || (e.of = window), o.iframe && function(t) {
if (t.my) {
var e = /([+-]\d+)?$/,
n = r.iframe.offset(),
i = r.iframe[0].contentWindow,
o = t.my.split(" "),
s = [];
1 === o.length && (/left|right/.test(o[0]) ? o.push("center") : o.unshift("center")), o.forEach((function(t, o) {
var r = t.replace(e, (function(t) {
return t = +t || 0, (t += o ? n.top - i.scrollY : n.left - i.scrollX) >= 0 && (t = "+" + t), t
}));
s.push(r)
})), t.my = s.join(" ")
}
}(e), r[e.element].position(e)
}
}, this.setID = function(t) {
return r.widget.attr("id", t), i
}, this.setHeaderMessage = function(t) {
return i.getElements("header").html(t), i
}, this.setMessage = function(t) {
return r.message.html(t), i
}, this.setSettings = function(e, n) {
return jQuery.isPlainObject(n) ? t.extend(!0, o[e], n) : o[e] = n, i
}, this.show = function() {
var t;
clearTimeout(a), r.widget.appendTo(r.container).hide(), d("show", arguments), i.refreshPosition(), o.hide.auto && (a = setTimeout(i.hide, o.hide.autoDelay)), t = [r.window], r.iframe && t.push(jQuery(r.iframe[0].contentWindow)), t.forEach((function(t) {
o.hide.onEscKeyPress && t.on("keyup", h), o.hide.onOutsideClick && t[0].addEventListener("click", l, !0), o.hide.onOutsideContextMenu && t[0].addEventListener("contextmenu", l, !0), o.position.autoRefresh && t.on("resize", i.refreshPosition)
})), (o.hide.onClick || o.hide.onBackgroundClick) && r.widget.on("click", u), o.preventScroll && i.getElements("body").addClass(o.classes.preventScroll), i.trigger("show");
const e = i.getElements("widget") ? .attr("id");
return i.parent.openDialogs.push(e), i
}, this.trigger = function(e, n) {
var o = "on" + e[0].toUpperCase() + e.slice(1);
i[o] && i[o](n);
var r = s[e];
if (r) return t.each(r, (function(t, e) {
e.call(i, n)
})), i
}
}, n.Widget.prototype.types = [], n.Widget.prototype.buildWidget = function() {
var t = this.getElements(),
e = this.getSettings();
t.widget.append(t.header, t.message), this.setHeaderMessage(e.headerMessage), this.setMessage(e.message), this.getSettings("closeButton") && t.widget.prepend(t.closeButton)
}, n.Widget.prototype.attachEvents = function() {
var t = this;
t.getSettings("closeButton") && t.getElements("closeButton").on("click", (function(e) {
e.preventDefault(), t.hide()
}))
}, n.Widget.prototype.getDefaultSettings = function() {
return {}
}, n.Widget.prototype.getClosureMethods = function() {
return []
}, n.Widget.prototype.onHide = function() {}, n.Widget.prototype.onShow = function() {}, n.Widget.prototype.onInit = function() {}, n.Widget.prototype.onReady = function() {}, n.widgetsTypes.simple = n.Widget, n.addWidgetType("buttons", {
activeKeyUp: function(t) {
9 === t.which && t.preventDefault(), this.hotKeys[t.which] && this.hotKeys[t.which](this)
},
activeKeyDown: function(t) {
if (this.focusedButton) {
if (9 === t.which) {
t.preventDefault();
var e, n = this.focusedButton.index();
t.shiftKey ? (e = n - 1) < 0 && (e = this.buttons.length - 1) : (e = n + 1) >= this.buttons.length && (e = 0), this.focusedButton = this.buttons[e].trigger("focus")
}
}
},
addButton: function(e) {
var n = this,
i = n.getSettings(),
o = jQuery.extend(i.button, e),
s = e.classes ? e.classes + " " : "";
s += i.classes.globalPrefix + "-button";
var r = n.addElement(e.name, t("<" + o.tag + ">").html(e.text), s);
n.buttons.push(r);
var a = function() {
i.hide.onButtonClick && n.hide(), "function" == typeof e.callback && e.callback.call(this, n)
};
return r.on("click", a), e.hotKey && (this.hotKeys[e.hotKey] = a), this.getElements("buttonsWrapper").append(r), e.focus && (this.focusedButton = r), n
},
bindHotKeys: function() {
this.getElements("window").on({
keyup: this.activeKeyUp,
keydown: this.activeKeyDown
})
},
buildWidget: function() {
n.Widget.prototype.buildWidget.apply(this, arguments);
var t = this.addElement("buttonsWrapper");
this.getElements("widget").append(t)
},
getClosureMethods: function() {
return ["activeKeyUp", "activeKeyDown"]
},
getDefaultSettings: function() {
return {
hide: {
onButtonClick: !0
},
button: {
tag: "button"
}
}
},
onHide: function() {
this.unbindHotKeys()
},
onInit: function() {
this.buttons = [], this.hotKeys = {}, this.focusedButton = null
},
onShow: function() {
this.bindHotKeys(), this.focusedButton || (this.focusedButton = this.buttons[0]), this.focusedButton && this.focusedButton.trigger("focus")
},
unbindHotKeys: function() {
this.getElements("window").off({
keyup: this.activeKeyUp,
keydown: this.activeKeyDown
})
}
}), n.addWidgetType("lightbox", n.getWidgetType("buttons").extend("lightbox", {
getDefaultSettings: function() {
var e = n.getWidgetType("buttons").prototype.getDefaultSettings.apply(this, arguments);
return t.extend(!0, e, {
contentWidth: "auto",
contentHeight: "auto",
position: {
element: "widgetContent",
of: "widget",
autoRefresh: !0
}
})
},
buildWidget: function() {
n.getWidgetType("buttons").prototype.buildWidget.apply(this, arguments);
var t = this.addElement("widgetContent"),
e = this.getElements();
t.append(e.header, e.message, e.buttonsWrapper), e.widget.html(t), e.closeButton && t.prepend(e.closeButton)
},
onReady: function() {
var t = this.getElements(),
e = this.getSettings();
"auto" !== e.contentWidth && t.message.width(e.contentWidth), "auto" !== e.contentHeight && t.message.height(e.contentHeight)
}
})), n.addWidgetType("confirm", n.getWidgetType("lightbox").extend("confirm", {
onReady: function() {
n.getWidgetType("lightbox").prototype.onReady.apply(this, arguments);
var t = this.getSettings("strings"),
e = "cancel" === this.getSettings("defaultOption");
this.addButton({
name: "cancel",
text: t.cancel,
callback: function(t) {
t.trigger("cancel")
},
focus: e
}), this.addButton({
name: "ok",
text: t.confirm,
callback: function(t) {
t.trigger("confirm")
},
focus: !e
})
},
getDefaultSettings: function() {
var t = n.getWidgetType("lightbox").prototype.getDefaultSettings.apply(this, arguments);
return t.strings = {
confirm: "OK",
cancel: "Cancel"
}, t.defaultOption = "cancel", t
}
})), n.addWidgetType("alert", n.getWidgetType("lightbox").extend("alert", {
onReady: function() {
n.getWidgetType("lightbox").prototype.onReady.apply(this, arguments);
var t = this.getSettings("strings");
this.addButton({
name: "ok",
text: t.confirm,
callback: function(t) {
t.trigger("confirm")
}
})
},
getDefaultSettings: function() {
var t = n.getWidgetType("lightbox").prototype.getDefaultSettings.apply(this, arguments);
return t.strings = {
confirm: "OK"
}, t
}
})), e.DialogsManager = n
}("undefined" != typeof jQuery ? jQuery : "function" == typeof require && require("jquery"), "undefined" != typeof module && void 0 !== module.exports ? module.exports : window);

View File

@@ -1,194 +0,0 @@
'use strict';
function animate_heading($scope) {
if ($scope.data('settings') && $scope.data('settings')._animation && $scope.data('settings')._animation == 'logico_heading_animation') {
const $title = $scope.find('.logico-title');
if ($title.hasClass('animated-ready')) return;
$title.addClass('animated-ready');
const text = $title.text().trim();
if (!text) return;
$title.empty();
let count = 0;
const words = text.split(/\s+/);
words.forEach(function(word) {
const $word = jQuery('<span class="word"></span>');
for (let i = 0; i < word.length; i++) {
const $letter = jQuery('<span class="letter"></span>').text(word[i]);
$letter.css('animation-delay', (count / 50) + 's');
$word.append($letter);
count++;
}
$title.append($word).append(' ');
});
$scope.removeClass('elementor-invisible');
}
}
function sticky_element_activate(obj) {
if (obj.hasClass('sticky-container-on')) {
let el_offset = obj.offset().top
, el_height = Math.round(obj.outerHeight())
, el_ready = Math.round(el_offset + el_height + 200)
, el_start = Math.round(el_offset + el_height + 400);
if ((obj.css('position') === 'static' || obj.css('position') === 'relative') && obj.prev('.sticky-container-placeholder').length <= 0) {
obj.before('<div class="sticky-container-placeholder"></div>')
}
jQuery(window).on('scroll', function() {
let st = Math.round(jQuery(window).scrollTop());
if (st <= el_ready) {
obj.removeClass('sticky-container-ready');
obj.prev('.sticky-container-placeholder').removeAttr('style')
} else {
obj.addClass('sticky-container-ready');
obj.prev('.sticky-container-placeholder').height(el_height)
}
if (st <= el_start) {
obj.removeClass('sticky-container-active')
} else {
obj.addClass('sticky-container-active')
}
})
}
}
jQuery(window).on('elementor/frontend/init', function() {
elementorFrontend.hooks.addAction('frontend/element_ready/logico_blog_listing.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 300);
setTimeout(fix_responsive_iframe, 600);
if (jQuery(window.wp.mediaelement).length > 0) {
jQuery(window.wp.mediaelement.initialize)
}
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_portfolio_listing.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500);
setTimeout(isotope_init, 2500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_testimonial_carousel.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_awards.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_timeline.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_steps.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_content_slider.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_image_carousel.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_decorative_block.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
decorative_block_animate()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_wpforms.default', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
wrap_multycolumns_wpform_fields($scope);
jQuery('.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text').each(function() {
check_custom_field(jQuery(this))
})
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/section', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7)
}
sticky_element_activate($scope);
jQuery(window).on('resize', function() {
sticky_element_activate($scope)
})
});
elementorFrontend.hooks.addAction('frontend/element_ready/container', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7)
}
sticky_element_activate($scope);
jQuery(window).on('resize', function() {
sticky_element_activate($scope)
})
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_page_title.default', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
if ($scope.innerWidth() > 1020) {
jQuery('.page-title-decoration.animation-enable', $scope).addClass('animated')
}
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_search.default', function($scope) {
jQuery('.site-search', $scope).detach().prependTo('body');
if (jQuery('body').hasClass('elementor-editor-active')) {
search_panel_open();
overlay_close_all()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_slide_sidebar.default', function($scope) {
jQuery('.slide-sidebar-wrapper', $scope).detach().prependTo('body');
if (jQuery('body').hasClass('elementor-editor-active')) {
side_panel_open();
overlay_close_all()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_tracking.default', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
tracking_popup_open()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_heading.default', function($scope) {
animate_heading($scope)
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_navigation_menu.default', function($scope) {
jQuery('.mobile-header-menu-container', $scope).detach().prependTo('body');
if (jQuery('body').hasClass('elementor-editor-active')) {
mobile_menu_open();
overlay_close_all()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/image.default', function($scope) {
if (jQuery(window).width() >= 1021) {
const $wrapper = $scope;
const cursor = jQuery('.hovered-text', $scope);
function showCustomCursor(event) {
if (jQuery('body').hasClass('rtl')) {
cursor.css('left', event.clientX - 20).css('top', event.clientY)
} else {
cursor.css('left', event.clientX + 20).css('top', event.clientY)
}
}
if (cursor.length > 0) {
$wrapper.mousemove(showCustomCursor);
$wrapper.mouseleave(function(e) {
if (!jQuery('body').hasClass('elementor-editor-active')) {
cursor.removeClass('active')
}
});
$wrapper.mouseenter(function(e) {
if (!jQuery('body').hasClass('elementor-editor-active')) {
cursor.addClass('active')
}
})
}
}
})
})

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,145 +0,0 @@
/*! This file is auto-generated */
/*!
* imagesLoaded PACKAGED v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
! function(t, e) {
"object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e()
}("undefined" != typeof window ? window : this, (function() {
function t() {}
let e = t.prototype;
return e.on = function(t, e) {
if (!t || !e) return this;
let i = this._events = this._events || {},
s = i[t] = i[t] || [];
return s.includes(e) || s.push(e), this
}, e.once = function(t, e) {
if (!t || !e) return this;
this.on(t, e);
let i = this._onceEvents = this._onceEvents || {};
return (i[t] = i[t] || {})[e] = !0, this
}, e.off = function(t, e) {
let i = this._events && this._events[t];
if (!i || !i.length) return this;
let s = i.indexOf(e);
return -1 != s && i.splice(s, 1), this
}, e.emitEvent = function(t, e) {
let i = this._events && this._events[t];
if (!i || !i.length) return this;
i = i.slice(0), e = e || [];
let s = this._onceEvents && this._onceEvents[t];
for (let n of i) {
s && s[n] && (this.off(t, n), delete s[n]), n.apply(this, e)
}
return this
}, e.allOff = function() {
return delete this._events, delete this._onceEvents, this
}, t
})),
/*!
* imagesLoaded v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
function(t, e) {
"object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter")) : t.imagesLoaded = e(t, t.EvEmitter)
}("undefined" != typeof window ? window : this, (function(t, e) {
let i = t.jQuery,
s = t.console;
function n(t, e, o) {
if (!(this instanceof n)) return new n(t, e, o);
let r = t;
var h;
("string" == typeof t && (r = document.querySelectorAll(t)), r) ? (this.elements = (h = r, Array.isArray(h) ? h : "object" == typeof h && "number" == typeof h.length ? [...h] : [h]), this.options = {}, "function" == typeof e ? o = e : Object.assign(this.options, e), o && this.on("always", o), this.getImages(), i && (this.jqDeferred = new i.Deferred), setTimeout(this.check.bind(this))) : s.error(`Bad element for imagesLoaded ${r||t}`)
}
n.prototype = Object.create(e.prototype), n.prototype.getImages = function() {
this.images = [], this.elements.forEach(this.addElementImages, this)
};
const o = [1, 9, 11];
n.prototype.addElementImages = function(t) {
"IMG" === t.nodeName && this.addImage(t), !0 === this.options.background && this.addElementBackgroundImages(t);
let {
nodeType: e
} = t;
if (!e || !o.includes(e)) return;
let i = t.querySelectorAll("img");
for (let t of i) this.addImage(t);
if ("string" == typeof this.options.background) {
let e = t.querySelectorAll(this.options.background);
for (let t of e) this.addElementBackgroundImages(t)
}
};
const r = /url\((['"])?(.*?)\1\)/gi;
function h(t) {
this.img = t
}
function d(t, e) {
this.url = t, this.element = e, this.img = new Image
}
return n.prototype.addElementBackgroundImages = function(t) {
let e = getComputedStyle(t);
if (!e) return;
let i = r.exec(e.backgroundImage);
for (; null !== i;) {
let s = i && i[2];
s && this.addBackground(s, t), i = r.exec(e.backgroundImage)
}
}, n.prototype.addImage = function(t) {
let e = new h(t);
this.images.push(e)
}, n.prototype.addBackground = function(t, e) {
let i = new d(t, e);
this.images.push(i)
}, n.prototype.check = function() {
if (this.progressedCount = 0, this.hasAnyBroken = !1, !this.images.length) return void this.complete();
let t = (t, e, i) => {
setTimeout((() => {
this.progress(t, e, i)
}))
};
this.images.forEach((function(e) {
e.once("progress", t), e.check()
}))
}, n.prototype.progress = function(t, e, i) {
this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emitEvent("progress", [this, t, e]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t), this.progressedCount === this.images.length && this.complete(), this.options.debug && s && s.log(`progress: ${i}`, t, e)
}, n.prototype.complete = function() {
let t = this.hasAnyBroken ? "fail" : "done";
if (this.isComplete = !0, this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) {
let t = this.hasAnyBroken ? "reject" : "resolve";
this.jqDeferred[t](this)
}
}, h.prototype = Object.create(e.prototype), h.prototype.check = function() {
this.getIsImageComplete() ? this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.img.crossOrigin && (this.proxyImage.crossOrigin = this.img.crossOrigin), this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.proxyImage.src = this.img.currentSrc || this.img.src)
}, h.prototype.getIsImageComplete = function() {
return this.img.complete && this.img.naturalWidth
}, h.prototype.confirm = function(t, e) {
this.isLoaded = t;
let {
parentNode: i
} = this.img, s = "PICTURE" === i.nodeName ? i : this.img;
this.emitEvent("progress", [this, s, e])
}, h.prototype.handleEvent = function(t) {
let e = "on" + t.type;
this[e] && this[e](t)
}, h.prototype.onload = function() {
this.confirm(!0, "onload"), this.unbindEvents()
}, h.prototype.onerror = function() {
this.confirm(!1, "onerror"), this.unbindEvents()
}, h.prototype.unbindEvents = function() {
this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
}, d.prototype = Object.create(h.prototype), d.prototype.check = function() {
this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url, this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents())
}, d.prototype.unbindEvents = function() {
this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
}, d.prototype.confirm = function(t, e) {
this.isLoaded = t, this.emitEvent("progress", [this, this.element, e])
}, n.makeJQueryPlugin = function(e) {
(e = e || t.jQuery) && (i = e, i.fn.imagesLoaded = function(t, e) {
return new n(this, t, e).jqDeferred.promise(i(this))
})
}, n.makeJQueryPlugin(), n
}));

File diff suppressed because it is too large Load Diff

View File

@@ -1,297 +0,0 @@
/*! jQuery Migrate v3.4.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
"undefined" == typeof jQuery.migrateMute && (jQuery.migrateMute = !0),
function(t) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], function(e) {
return t(e, window)
}) : "object" == typeof module && module.exports ? module.exports = t(require("jquery"), window) : t(jQuery, window)
}(function(s, n) {
"use strict";
function e(e) {
return 0 <= function(e, t) {
for (var r = /^(\d+)\.(\d+)\.(\d+)/, n = r.exec(e) || [], o = r.exec(t) || [], a = 1; a <= 3; a++) {
if (+o[a] < +n[a]) return 1;
if (+n[a] < +o[a]) return -1
}
return 0
}(s.fn.jquery, e)
}
s.migrateVersion = "3.4.1";
var t = Object.create(null);
s.migrateDisablePatches = function() {
for (var e = 0; e < arguments.length; e++) t[arguments[e]] = !0
}, s.migrateEnablePatches = function() {
for (var e = 0; e < arguments.length; e++) delete t[arguments[e]]
}, s.migrateIsPatchEnabled = function(e) {
return !t[e]
}, n.console && n.console.log && (s && e("3.0.0") && !e("5.0.0") || n.console.log("JQMIGRATE: jQuery 3.x-4.x REQUIRED"), s.migrateWarnings && n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"), n.console.log("JQMIGRATE: Migrate is installed" + (s.migrateMute ? "" : " with logging active") + ", version " + s.migrateVersion));
var o = {};
function u(e, t) {
var r = n.console;
!s.migrateIsPatchEnabled(e) || s.migrateDeduplicateWarnings && o[t] || (o[t] = !0, s.migrateWarnings.push(t + " [" + e + "]"), r && r.warn && !s.migrateMute && (r.warn("JQMIGRATE: " + t), s.migrateTrace && r.trace && r.trace()))
}
function r(e, t, r, n, o) {
Object.defineProperty(e, t, {
configurable: !0,
enumerable: !0,
get: function() {
return u(n, o), r
},
set: function(e) {
u(n, o), r = e
}
})
}
function a(e, t, r, n, o) {
var a = e[t];
e[t] = function() {
return o && u(n, o), (s.migrateIsPatchEnabled(n) ? r : a || s.noop).apply(this, arguments)
}
}
function c(e, t, r, n, o) {
if (!o) throw new Error("No warning message provided");
return a(e, t, r, n, o), 0
}
function i(e, t, r, n) {
return a(e, t, r, n), 0
}
s.migrateDeduplicateWarnings = !0, s.migrateWarnings = [], void 0 === s.migrateTrace && (s.migrateTrace = !0), s.migrateReset = function() {
o = {}, s.migrateWarnings.length = 0
}, "BackCompat" === n.document.compatMode && u("quirks", "jQuery is not compatible with Quirks Mode");
var d, l, p, f = {},
m = s.fn.init,
y = s.find,
h = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,
g = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,
v = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
for (d in i(s.fn, "init", function(e) {
var t = Array.prototype.slice.call(arguments);
return s.migrateIsPatchEnabled("selector-empty-id") && "string" == typeof e && "#" === e && (u("selector-empty-id", "jQuery( '#' ) is not a valid selector"), t[0] = []), m.apply(this, t)
}, "selector-empty-id"), s.fn.init.prototype = s.fn, i(s, "find", function(t) {
var r = Array.prototype.slice.call(arguments);
if ("string" == typeof t && h.test(t)) try {
n.document.querySelector(t)
} catch (e) {
t = t.replace(g, function(e, t, r, n) {
return "[" + t + r + '"' + n + '"]'
});
try {
n.document.querySelector(t), u("selector-hash", "Attribute selector with '#' must be quoted: " + r[0]), r[0] = t
} catch (e) {
u("selector-hash", "Attribute selector with '#' was not fixed: " + r[0])
}
}
return y.apply(this, r)
}, "selector-hash"), y) Object.prototype.hasOwnProperty.call(y, d) && (s.find[d] = y[d]);
c(s.fn, "size", function() {
return this.length
}, "size", "jQuery.fn.size() is deprecated and removed; use the .length property"), c(s, "parseJSON", function() {
return JSON.parse.apply(null, arguments)
}, "parseJSON", "jQuery.parseJSON is deprecated; use JSON.parse"), c(s, "holdReady", s.holdReady, "holdReady", "jQuery.holdReady is deprecated"), c(s, "unique", s.uniqueSort, "unique", "jQuery.unique is deprecated; use jQuery.uniqueSort"), r(s.expr, "filters", s.expr.pseudos, "expr-pre-pseudos", "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"), r(s.expr, ":", s.expr.pseudos, "expr-pre-pseudos", "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"), e("3.1.1") && c(s, "trim", function(e) {
return null == e ? "" : (e + "").replace(v, "$1")
}, "trim", "jQuery.trim is deprecated; use String.prototype.trim"), e("3.2.0") && (c(s, "nodeName", function(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
}, "nodeName", "jQuery.nodeName is deprecated"), c(s, "isArray", Array.isArray, "isArray", "jQuery.isArray is deprecated; use Array.isArray")), e("3.3.0") && (c(s, "isNumeric", function(e) {
var t = typeof e;
return ("number" == t || "string" == t) && !isNaN(e - parseFloat(e))
}, "isNumeric", "jQuery.isNumeric() is deprecated"), s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
f["[object " + t + "]"] = t.toLowerCase()
}), c(s, "type", function(e) {
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? f[Object.prototype.toString.call(e)] || "object" : typeof e
}, "type", "jQuery.type is deprecated"), c(s, "isFunction", function(e) {
return "function" == typeof e
}, "isFunction", "jQuery.isFunction() is deprecated"), c(s, "isWindow", function(e) {
return null != e && e === e.window
}, "isWindow", "jQuery.isWindow() is deprecated")), s.ajax && (l = s.ajax, p = /(=)\?(?=&|$)|\?\?/, i(s, "ajax", function() {
var e = l.apply(this, arguments);
return e.promise && (c(e, "success", e.done, "jqXHR-methods", "jQXHR.success is deprecated and removed"), c(e, "error", e.fail, "jqXHR-methods", "jQXHR.error is deprecated and removed"), c(e, "complete", e.always, "jqXHR-methods", "jQXHR.complete is deprecated and removed")), e
}, "jqXHR-methods"), e("4.0.0") || s.ajaxPrefilter("+json", function(e) {
!1 !== e.jsonp && (p.test(e.url) || "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && p.test(e.data)) && u("jsonp-promotion", "JSON-to-JSONP auto-promotion is deprecated")
}));
var j = s.fn.removeAttr,
b = s.fn.toggleClass,
w = /\S+/g;
function x(e) {
return e.replace(/-([a-z])/g, function(e, t) {
return t.toUpperCase()
})
}
i(s.fn, "removeAttr", function(e) {
var r = this,
n = !1;
return s.each(e.match(w), function(e, t) {
s.expr.match.bool.test(t) && r.each(function() {
if (!1 !== s(this).prop(t)) return !(n = !0)
}), n && (u("removeAttr-bool", "jQuery.fn.removeAttr no longer sets boolean properties: " + t), r.prop(t, !1))
}), j.apply(this, arguments)
}, "removeAttr-bool"), i(s.fn, "toggleClass", function(t) {
return void 0 !== t && "boolean" != typeof t ? b.apply(this, arguments) : (u("toggleClass-bool", "jQuery.fn.toggleClass( boolean ) is deprecated"), this.each(function() {
var e = this.getAttribute && this.getAttribute("class") || "";
e && s.data(this, "__className__", e), this.setAttribute && this.setAttribute("class", !e && !1 !== t && s.data(this, "__className__") || "")
}))
}, "toggleClass-bool");
var Q, A, R = !1,
C = /^[a-z]/,
N = /^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;
s.swap && s.each(["height", "width", "reliableMarginRight"], function(e, t) {
var r = s.cssHooks[t] && s.cssHooks[t].get;
r && (s.cssHooks[t].get = function() {
var e;
return R = !0, e = r.apply(this, arguments), R = !1, e
})
}), i(s, "swap", function(e, t, r, n) {
var o, a, i = {};
for (a in R || u("swap", "jQuery.swap() is undocumented and deprecated"), t) i[a] = e.style[a], e.style[a] = t[a];
for (a in o = r.apply(e, n || []), t) e.style[a] = i[a];
return o
}, "swap"), e("3.4.0") && "undefined" != typeof Proxy && (s.cssProps = new Proxy(s.cssProps || {}, {
set: function() {
return u("cssProps", "jQuery.cssProps is deprecated"), Reflect.set.apply(this, arguments)
}
})), e("4.0.0") ? (A = {
animationIterationCount: !0,
columnCount: !0,
fillOpacity: !0,
flexGrow: !0,
flexShrink: !0,
fontWeight: !0,
gridArea: !0,
gridColumn: !0,
gridColumnEnd: !0,
gridColumnStart: !0,
gridRow: !0,
gridRowEnd: !0,
gridRowStart: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
}, "undefined" != typeof Proxy ? s.cssNumber = new Proxy(A, {
get: function() {
return u("css-number", "jQuery.cssNumber is deprecated"), Reflect.get.apply(this, arguments)
},
set: function() {
return u("css-number", "jQuery.cssNumber is deprecated"), Reflect.set.apply(this, arguments)
}
}) : s.cssNumber = A) : A = s.cssNumber, Q = s.fn.css, i(s.fn, "css", function(e, t) {
var r, n, o = this;
return e && "object" == typeof e && !Array.isArray(e) ? (s.each(e, function(e, t) {
s.fn.css.call(o, e, t)
}), this) : ("number" == typeof t && (r = x(e), n = r, C.test(n) && N.test(n[0].toUpperCase() + n.slice(1)) || A[r] || u("css-number", 'Number-typed values are deprecated for jQuery.fn.css( "' + e + '", value )')), Q.apply(this, arguments))
}, "css-number");
var S, P, k, H, E = s.data;
i(s, "data", function(e, t, r) {
var n, o, a;
if (t && "object" == typeof t && 2 === arguments.length) {
for (a in n = s.hasData(e) && E.call(this, e), o = {}, t) a !== x(a) ? (u("data-camelCase", "jQuery.data() always sets/gets camelCased names: " + a), n[a] = t[a]) : o[a] = t[a];
return E.call(this, e, o), t
}
return t && "string" == typeof t && t !== x(t) && (n = s.hasData(e) && E.call(this, e)) && t in n ? (u("data-camelCase", "jQuery.data() always sets/gets camelCased names: " + t), 2 < arguments.length && (n[t] = r), n[t]) : E.apply(this, arguments)
}, "data-camelCase"), s.fx && (k = s.Tween.prototype.run, H = function(e) {
return e
}, i(s.Tween.prototype, "run", function() {
1 < s.easing[this.easing].length && (u("easing-one-arg", "'jQuery.easing." + this.easing.toString() + "' should use only one argument"), s.easing[this.easing] = H), k.apply(this, arguments)
}, "easing-one-arg"), S = s.fx.interval, P = "jQuery.fx.interval is deprecated", n.requestAnimationFrame && Object.defineProperty(s.fx, "interval", {
configurable: !0,
enumerable: !0,
get: function() {
return n.document.hidden || u("fx-interval", P), s.migrateIsPatchEnabled("fx-interval") && void 0 === S ? 13 : S
},
set: function(e) {
u("fx-interval", P), S = e
}
}));
var M = s.fn.load,
q = s.event.add,
O = s.event.fix;
s.event.props = [], s.event.fixHooks = {}, r(s.event.props, "concat", s.event.props.concat, "event-old-patch", "jQuery.event.props.concat() is deprecated and removed"), i(s.event, "fix", function(e) {
var t, r = e.type,
n = this.fixHooks[r],
o = s.event.props;
if (o.length) {
u("event-old-patch", "jQuery.event.props are deprecated and removed: " + o.join());
while (o.length) s.event.addProp(o.pop())
}
if (n && !n._migrated_ && (n._migrated_ = !0, u("event-old-patch", "jQuery.event.fixHooks are deprecated and removed: " + r), (o = n.props) && o.length))
while (o.length) s.event.addProp(o.pop());
return t = O.call(this, e), n && n.filter ? n.filter(t, e) : t
}, "event-old-patch"), i(s.event, "add", function(e, t) {
return e === n && "load" === t && "complete" === n.document.readyState && u("load-after-event", "jQuery(window).on('load'...) called after load event occurred"), q.apply(this, arguments)
}, "load-after-event"), s.each(["load", "unload", "error"], function(e, t) {
i(s.fn, t, function() {
var e = Array.prototype.slice.call(arguments, 0);
return "load" === t && "string" == typeof e[0] ? M.apply(this, e) : (u("shorthand-removed-v3", "jQuery.fn." + t + "() is deprecated"), e.splice(0, 0, t), arguments.length ? this.on.apply(this, e) : (this.triggerHandler.apply(this, e), this))
}, "shorthand-removed-v3")
}), s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e, r) {
c(s.fn, r, function(e, t) {
return 0 < arguments.length ? this.on(r, null, e, t) : this.trigger(r)
}, "shorthand-deprecated-v3", "jQuery.fn." + r + "() event shorthand is deprecated")
}), s(function() {
s(n.document).triggerHandler("ready")
}), s.event.special.ready = {
setup: function() {
this === n.document && u("ready-event", "'ready' event is deprecated")
}
}, c(s.fn, "bind", function(e, t, r) {
return this.on(e, null, t, r)
}, "pre-on-methods", "jQuery.fn.bind() is deprecated"), c(s.fn, "unbind", function(e, t) {
return this.off(e, null, t)
}, "pre-on-methods", "jQuery.fn.unbind() is deprecated"), c(s.fn, "delegate", function(e, t, r, n) {
return this.on(t, e, r, n)
}, "pre-on-methods", "jQuery.fn.delegate() is deprecated"), c(s.fn, "undelegate", function(e, t, r) {
return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", r)
}, "pre-on-methods", "jQuery.fn.undelegate() is deprecated"), c(s.fn, "hover", function(e, t) {
return this.on("mouseenter", e).on("mouseleave", t || e)
}, "pre-on-methods", "jQuery.fn.hover() is deprecated");
function T(e) {
var t = n.document.implementation.createHTMLDocument("");
return t.body.innerHTML = e, t.body && t.body.innerHTML
}
var F = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi;
s.UNSAFE_restoreLegacyHtmlPrefilter = function() {
s.migrateEnablePatches("self-closed-tags")
}, i(s, "htmlPrefilter", function(e) {
var t, r;
return (r = (t = e).replace(F, "<$1></$2>")) !== t && T(t) !== T(r) && u("self-closed-tags", "HTML tags must be properly nested and closed: " + t), e.replace(F, "<$1></$2>")
}, "self-closed-tags"), s.migrateDisablePatches("self-closed-tags");
var D, W, _, I = s.fn.offset;
return i(s.fn, "offset", function() {
var e = this[0];
return !e || e.nodeType && e.getBoundingClientRect ? I.apply(this, arguments) : (u("offset-valid-elem", "jQuery.fn.offset() requires a valid DOM element"), arguments.length ? this : void 0)
}, "offset-valid-elem"), s.ajax && (D = s.param, i(s, "param", function(e, t) {
var r = s.ajaxSettings && s.ajaxSettings.traditional;
return void 0 === t && r && (u("param-ajax-traditional", "jQuery.param() no longer uses jQuery.ajaxSettings.traditional"), t = r), D.call(this, e, t)
}, "param-ajax-traditional")), c(s.fn, "andSelf", s.fn.addBack, "andSelf", "jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"), s.Deferred && (W = s.Deferred, _ = [
["resolve", "done", s.Callbacks("once memory"), s.Callbacks("once memory"), "resolved"],
["reject", "fail", s.Callbacks("once memory"), s.Callbacks("once memory"), "rejected"],
["notify", "progress", s.Callbacks("memory"), s.Callbacks("memory")]
], i(s, "Deferred", function(e) {
var a = W(),
i = a.promise();
function t() {
var o = arguments;
return s.Deferred(function(n) {
s.each(_, function(e, t) {
var r = "function" == typeof o[e] && o[e];
a[t[1]](function() {
var e = r && r.apply(this, arguments);
e && "function" == typeof e.promise ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[t[0] + "With"](this === i ? n.promise() : this, r ? [e] : arguments)
})
}), o = null
}).promise()
}
return c(a, "pipe", t, "deferred-pipe", "deferred.pipe() is deprecated"), c(i, "pipe", t, "deferred-pipe", "deferred.pipe() is deprecated"), e && e.call(a, a), a
}, "deferred-pipe"), s.Deferred.exceptionHook = W.exceptionHook), s
});

View File

@@ -1,254 +0,0 @@
/*!
* jQuery blockUI plugin
* Version 2.70.0-2014.11.23
* Requires jQuery v1.7 or later
*
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007-2013 M. Alsup
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Thanks to Amir-Hossein Sobhi for some excellent contributions!
*/
! function() {
"use strict";
function e(e) {
e.fn._fadeIn = e.fn.fadeIn;
var t = e.noop || function() {},
o = /MSIE/.test(navigator.userAgent),
n = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent),
i = (document.documentMode, "function" == typeof document.createElement("div").style.setExpression && document.createElement("div").style.setExpression);
e.blockUI = function(e) {
d(window, e)
}, e.unblockUI = function(e) {
a(window, e)
}, e.growlUI = function(t, o, n, i) {
var s = e('<div class="growlUI"></div>');
t && s.append("<h1>" + t + "</h1>"), o && s.append("<h2>" + o + "</h2>"), n === undefined && (n = 3e3);
var l = function(t) {
t = t || {}, e.blockUI({
message: s,
fadeIn: "undefined" != typeof t.fadeIn ? t.fadeIn : 700,
fadeOut: "undefined" != typeof t.fadeOut ? t.fadeOut : 1e3,
timeout: "undefined" != typeof t.timeout ? t.timeout : n,
centerY: !1,
showOverlay: !1,
onUnblock: i,
css: e.blockUI.defaults.growlCSS
})
};
l();
s.css("opacity");
s.on("mouseover", function() {
l({
fadeIn: 0,
timeout: 3e4
});
var t = e(".blockMsg");
t.stop(), t.fadeTo(300, 1)
}).on("mouseout", function() {
e(".blockMsg").fadeOut(1e3)
})
}, e.fn.block = function(t) {
if (this[0] === window) return e.blockUI(t), this;
var o = e.extend({}, e.blockUI.defaults, t || {});
return this.each(function() {
var t = e(this);
o.ignoreIfBlocked && t.data("blockUI.isBlocked") || t.unblock({
fadeOut: 0
})
}), this.each(function() {
"static" == e.css(this, "position") && (this.style.position = "relative", e(this).data("blockUI.static", !0)), this.style.zoom = 1, d(this, t)
})
}, e.fn.unblock = function(t) {
return this[0] === window ? (e.unblockUI(t), this) : this.each(function() {
a(this, t)
})
}, e.blockUI.version = 2.7, e.blockUI.defaults = {
message: "<h1>Please wait...</h1>",
title: null,
draggable: !0,
theme: !1,
css: {
padding: 0,
margin: 0,
width: "30%",
top: "40%",
left: "35%",
textAlign: "center",
color: "#000",
border: "3px solid #aaa",
backgroundColor: "#fff",
cursor: "wait"
},
themedCSS: {
width: "30%",
top: "40%",
left: "35%"
},
overlayCSS: {
backgroundColor: "#000",
opacity: .6,
cursor: "wait"
},
cursorReset: "default",
growlCSS: {
width: "350px",
top: "10px",
left: "",
right: "10px",
border: "none",
padding: "5px",
opacity: .6,
cursor: "default",
color: "#fff",
backgroundColor: "#000",
"-webkit-border-radius": "10px",
"-moz-border-radius": "10px",
"border-radius": "10px"
},
iframeSrc: /^https/i.test(window.location.href || "") ? "javascript:false" : "about:blank",
forceIframe: !1,
baseZ: 1e3,
centerX: !0,
centerY: !0,
allowBodyStretch: !0,
bindEvents: !0,
constrainTabKey: !0,
fadeIn: 200,
fadeOut: 400,
timeout: 0,
showOverlay: !0,
focusInput: !0,
focusableElements: ":input:enabled:visible",
onBlock: null,
onUnblock: null,
onOverlayClick: null,
quirksmodeOffsetHack: 4,
blockMsgClass: "blockMsg",
ignoreIfBlocked: !1
};
var s = null,
l = [];
function d(d, c) {
var u, b, h = d == window,
k = c && c.message !== undefined ? c.message : undefined;
if (!(c = e.extend({}, e.blockUI.defaults, c || {})).ignoreIfBlocked || !e(d).data("blockUI.isBlocked")) {
if (c.overlayCSS = e.extend({}, e.blockUI.defaults.overlayCSS, c.overlayCSS || {}), u = e.extend({}, e.blockUI.defaults.css, c.css || {}), c.onOverlayClick && (c.overlayCSS.cursor = "pointer"), b = e.extend({}, e.blockUI.defaults.themedCSS, c.themedCSS || {}), k = k === undefined ? c.message : k, h && s && a(window, {
fadeOut: 0
}), k && "string" != typeof k && (k.parentNode || k.jquery)) {
var y = k.jquery ? k[0] : k,
m = {};
e(d).data("blockUI.history", m), m.el = y, m.parent = y.parentNode, m.display = y.style.display, m.position = y.style.position, m.parent && m.parent.removeChild(y)
}
e(d).data("blockUI.onUnblock", c.onUnblock);
var g, v, I, w, U = c.baseZ;
g = o || c.forceIframe ? e('<iframe class="blockUI" style="z-index:' + U++ + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + c.iframeSrc + '"></iframe>') : e('<div class="blockUI" style="display:none"></div>'), v = c.theme ? e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:' + U++ + ';display:none"></div>') : e('<div class="blockUI blockOverlay" style="z-index:' + U++ + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'), c.theme && h ? (w = '<div class="blockUI ' + c.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + (U + 10) + ';display:none;position:fixed">', c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || "&nbsp;") + "</div>"), w += '<div class="ui-widget-content ui-dialog-content"></div>', w += "</div>") : c.theme ? (w = '<div class="blockUI ' + c.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:' + (U + 10) + ';display:none;position:absolute">', c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || "&nbsp;") + "</div>"), w += '<div class="ui-widget-content ui-dialog-content"></div>', w += "</div>") : w = h ? '<div class="blockUI ' + c.blockMsgClass + ' blockPage" style="z-index:' + (U + 10) + ';display:none;position:fixed"></div>' : '<div class="blockUI ' + c.blockMsgClass + ' blockElement" style="z-index:' + (U + 10) + ';display:none;position:absolute"></div>', I = e(w), k && (c.theme ? (I.css(b), I.addClass("ui-widget-content")) : I.css(u)), c.theme || v.css(c.overlayCSS), v.css("position", h ? "fixed" : "absolute"), (o || c.forceIframe) && g.css("opacity", 0);
var x = [g, v, I],
C = e(h ? "body" : d);
e.each(x, function() {
this.appendTo(C)
}), c.theme && c.draggable && e.fn.draggable && I.draggable({
handle: ".ui-dialog-titlebar",
cancel: "li"
});
var S = i && (!e.support.boxModel || e("object,embed", h ? null : d).length > 0);
if (n || S) {
if (h && c.allowBodyStretch && e.support.boxModel && e("html,body").css("height", "100%"), (n || !e.support.boxModel) && !h) var E = p(d, "borderTopWidth"),
O = p(d, "borderLeftWidth"),
T = E ? "(0 - " + E + ")" : 0,
M = O ? "(0 - " + O + ")" : 0;
e.each(x, function(e, t) {
var o = t[0].style;
if (o.position = "absolute", e < 2) h ? o.setExpression("height", "Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:" + c.quirksmodeOffsetHack + ') + "px"') : o.setExpression("height", 'this.parentNode.offsetHeight + "px"'), h ? o.setExpression("width", 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') : o.setExpression("width", 'this.parentNode.offsetWidth + "px"'), M && o.setExpression("left", M), T && o.setExpression("top", T);
else if (c.centerY) h && o.setExpression("top", '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'), o.marginTop = 0;
else if (!c.centerY && h) {
var n = "((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + " + (c.css && c.css.top ? parseInt(c.css.top, 10) : 0) + ') + "px"';
o.setExpression("top", n)
}
})
}
if (k && (c.theme ? I.find(".ui-widget-content").append(k) : I.append(k), (k.jquery || k.nodeType) && e(k).show()), (o || c.forceIframe) && c.showOverlay && g.show(), c.fadeIn) {
var B = c.onBlock ? c.onBlock : t,
j = c.showOverlay && !k ? B : t,
H = k ? B : t;
c.showOverlay && v._fadeIn(c.fadeIn, j), k && I._fadeIn(c.fadeIn, H)
} else c.showOverlay && v.show(), k && I.show(), c.onBlock && c.onBlock.bind(I)();
if (r(1, d, c), h ? (s = I[0], l = e(c.focusableElements, s), c.focusInput && setTimeout(f, 20)) : function(e, t, o) {
var n = e.parentNode,
i = e.style,
s = (n.offsetWidth - e.offsetWidth) / 2 - p(n, "borderLeftWidth"),
l = (n.offsetHeight - e.offsetHeight) / 2 - p(n, "borderTopWidth");
t && (i.left = s > 0 ? s + "px" : "0");
o && (i.top = l > 0 ? l + "px" : "0")
}(I[0], c.centerX, c.centerY), c.timeout) {
var z = setTimeout(function() {
h ? e.unblockUI(c) : e(d).unblock(c)
}, c.timeout);
e(d).data("blockUI.timeout", z)
}
}
}
function a(t, o) {
var n, i, d = t == window,
a = e(t),
u = a.data("blockUI.history"),
f = a.data("blockUI.timeout");
f && (clearTimeout(f), a.removeData("blockUI.timeout")), o = e.extend({}, e.blockUI.defaults, o || {}), r(0, t, o), null === o.onUnblock && (o.onUnblock = a.data("blockUI.onUnblock"), a.removeData("blockUI.onUnblock")), i = d ? e(document.body).children().filter(".blockUI").add("body > .blockUI") : a.find(">.blockUI"), o.cursorReset && (i.length > 1 && (i[1].style.cursor = o.cursorReset), i.length > 2 && (i[2].style.cursor = o.cursorReset)), d && (s = l = null), o.fadeOut ? (n = i.length, i.stop().fadeOut(o.fadeOut, function() {
0 == --n && c(i, u, o, t)
})) : c(i, u, o, t)
}
function c(t, o, n, i) {
var s = e(i);
if (!s.data("blockUI.isBlocked")) {
t.each(function(e, t) {
this.parentNode && this.parentNode.removeChild(this)
}), o && o.el && (o.el.style.display = o.display, o.el.style.position = o.position, o.el.style.cursor = "default", o.parent && o.parent.appendChild(o.el), s.removeData("blockUI.history")), s.data("blockUI.static") && s.css("position", "static"), "function" == typeof n.onUnblock && n.onUnblock(i, n);
var l = e(document.body),
d = l.width(),
a = l[0].style.width;
l.width(d - 1).width(d), l[0].style.width = a
}
}
function r(t, o, n) {
var i = o == window,
l = e(o);
if ((t || (!i || s) && (i || l.data("blockUI.isBlocked"))) && (l.data("blockUI.isBlocked", t), i && n.bindEvents && (!t || n.showOverlay))) {
var d = "mousedown mouseup keydown keypress keyup touchstart touchend touchmove";
t ? e(document).on(d, n, u) : e(document).off(d, u)
}
}
function u(t) {
if ("keydown" === t.type && t.keyCode && 9 == t.keyCode && s && t.data.constrainTabKey) {
var o = l,
n = !t.shiftKey && t.target === o[o.length - 1],
i = t.shiftKey && t.target === o[0];
if (n || i) return setTimeout(function() {
f(i)
}, 10), !1
}
var d = t.data,
a = e(t.target);
return a.hasClass("blockOverlay") && d.onOverlayClick && d.onOverlayClick(t), a.parents("div." + d.blockMsgClass).length > 0 || 0 === a.parents().children().filter("div.blockUI").length
}
function f(e) {
if (l) {
var t = l[!0 === e ? l.length - 1 : 0];
t && t.trigger("focus")
}
}
function p(t, o) {
return parseInt(e.css(t, o), 10) || 0
}
}
"function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], e) : e(jQuery)
}();

View File

@@ -1,54 +0,0 @@
/*!
* jQuery Cookie Plugin v1.4.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
! function(e) {
"function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? e(require("jquery")) : e(jQuery)
}(function(e) {
var n = /\+/g;
function o(e) {
return r.raw ? e : encodeURIComponent(e)
}
function i(e, o) {
var i = r.raw ? e : function(e) {
0 === e.indexOf('"') && (e = e.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\"));
try {
return e = decodeURIComponent(e.replace(n, " ")), r.json ? JSON.parse(e) : e
} catch (o) {}
}(e);
return "function" == typeof o ? o(i) : i
}
var r = e.cookie = function(n, t, u) {
if (t !== undefined && "function" != typeof t) {
if ("number" == typeof(u = e.extend({}, r.defaults, u)).expires) {
var c = u.expires,
f = u.expires = new Date;
f.setTime(+f + 864e5 * c)
}
return document.cookie = [o(n), "=", function(e) {
return o(r.json ? JSON.stringify(e) : String(e))
}(t), u.expires ? "; expires=" + u.expires.toUTCString() : "", u.path ? "; path=" + u.path : "", u.domain ? "; domain=" + u.domain : "", u.secure ? "; secure" : ""].join("")
}
for (var d, a = n ? undefined : {}, p = document.cookie ? document.cookie.split("; ") : [], s = 0, m = p.length; s < m; s++) {
var x = p[s].split("="),
y = (d = x.shift(), r.raw ? d : decodeURIComponent(d)),
k = x.join("=");
if (n && n === y) {
a = i(k, t);
break
}
n || (k = i(k)) === undefined || (a[y] = k)
}
return a
};
r.defaults = {}, e.removeCookie = function(n, o) {
return e.cookie(n) !== undefined && (e.cookie(n, "", e.extend({}, o, {
expires: -1
})), !e.cookie(n))
}
});

View File

@@ -1,178 +0,0 @@
/**
* jQuery.marquee - scrolling text like old marquee element
* @author Aamir Afridi - aamirafridi(at)gmail(dot)com / http://aamirafridi.com/jquery/jquery-marquee-plugin
*/
(function(f) {
f.fn.marquee = function(x) {
return this.each(function() {
var a = f.extend({}, f.fn.marquee.defaults, x),
b = f(this),
c, t, e = 3,
y = "animation-play-state",
p = !1,
E = function(a, b, c) {
for (var e = ["webkit", "moz", "MS", "o", ""], d = 0; d < e.length; d++) e[d] || (b = b.toLowerCase()), a.addEventListener(e[d] + b, c, !1)
},
F = function(a) {
var b = [],
c;
for (c in a) a.hasOwnProperty(c) && b.push(c + ":" + a[c]);
b.push();
return "{" + b.join(",") + "}"
},
l = {
pause: function() {
p && a.allowCss3Support ? c.css(y, "paused") : f.fn.pause && c.pause();
b.data("runningStatus",
"paused");
b.trigger("paused")
},
resume: function() {
p && a.allowCss3Support ? c.css(y, "running") : f.fn.resume && c.resume();
b.data("runningStatus", "resumed");
b.trigger("resumed")
},
toggle: function() {
l["resumed" == b.data("runningStatus") ? "pause" : "resume"]()
},
destroy: function() {
clearTimeout(b.timer);
b.find("*").addBack().unbind();
b.html(b.find(".js-marquee:first").html())
}
};
if ("string" === typeof x) f.isFunction(l[x]) && (c || (c = b.find(".js-marquee-wrapper")), !0 === b.data("css3AnimationIsSupported") && (p = !0), l[x]());
else {
var u;
f.each(a, function(c, d) {
u = b.attr("data-" + c);
if ("undefined" !== typeof u) {
switch (u) {
case "true":
u = !0;
break;
case "false":
u = !1
}
a[c] = u
}
});
a.speed && (a.duration = parseInt(b.width(), 10) / a.speed * 1E3);
var v = "up" == a.direction || "down" == a.direction;
a.gap = a.duplicated ? parseInt(a.gap) : 0;
b.wrapInner('<div class="js-marquee"></div>');
var h = b.find(".js-marquee").css({
"margin-right": a.gap,
"float": "left"
});
a.duplicated && h.clone(!0).appendTo(b);
b.wrapInner('<div style="width:100000px" class="js-marquee-wrapper"></div>');
c = b.find(".js-marquee-wrapper");
if (v) {
var k = b.height();
c.removeAttr("style");
b.height(k);
b.find(".js-marquee").css({
"float": "none",
"margin-bottom": a.gap,
"margin-right": 0
});
a.duplicated && b.find(".js-marquee:last").css({
"margin-bottom": 0
});
var q = b.find(".js-marquee:first").height() + a.gap;
a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10) * a.duration, a.duration *= parseInt(q, 10) / parseInt(k, 10)) : a.duration *= (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10)
} else {
var m =
b.find(".js-marquee:first").width() + a.gap;
var n = b.width();
a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10) * a.duration, a.duration *= parseInt(m, 10) / parseInt(n, 10)) : a.duration *= (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10)
}
a.duplicated && (a.duration /= 2);
if (a.allowCss3Support) {
h = document.body || document.createElement("div");
var g = "marqueeAnimation-" + Math.floor(1E7 * Math.random()),
A = ["Webkit", "Moz", "O", "ms", "Khtml"],
B = "animation",
d = "",
r = "";
h.style.animation &&
(r = "@keyframes " + g + " ", p = !0);
if (!1 === p)
for (var z = 0; z < A.length; z++)
if (void 0 !== h.style[A[z] + "AnimationName"]) {
h = "-" + A[z].toLowerCase() + "-";
B = h + B;
y = h + y;
r = "@" + h + "keyframes " + g + " ";
p = !0;
break
}
p && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s infinite " + a.css3easing, b.data("css3AnimationIsSupported", !0))
}
var C = function() {
c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + q + "px") + ")")
},
D = function() {
c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + m + "px") + ")")
};
a.duplicated ?
(v ? a.startVisible ? c.css("transform", "translateY(0)") : c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + (2 * q - a.gap) + "px") + ")") : a.startVisible ? c.css("transform", "translateX(0)") : c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + (2 * m - a.gap) + "px") + ")"), a.startVisible || (e = 1)) : a.startVisible ? e = 2 : v ? C() : D();
var w = function() {
a.duplicated && (1 === e ? (a._originalDuration = a.duration, a.duration = v ? "up" == a.direction ? a.duration + k / (q / a.duration) : 2 * a.duration : "left" == a.direction ? a.duration + n /
(m / a.duration) : 2 * a.duration, d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing), e++) : 2 === e && (a.duration = a._originalDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), e++));
v ? a.duplicated ? (2 < e && c.css("transform", "translateY(" + ("up" == a.direction ? 0 : "-" + q + "px") + ")"), t = {
transform: "translateY(" + ("up" == a.direction ? "-" + q + "px" : 0) + ")"
}) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing), t = {
transform: "translateY(" +
("up" == a.direction ? "-" + q + "px" : k + "px") + ")"
}, e++) : 3 === e && (a.duration = a._completeDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), C()) : (C(), t = {
transform: "translateY(" + ("up" == a.direction ? "-" + c.height() + "px" : k + "px") + ")"
}) : a.duplicated ? (2 < e && c.css("transform", "translateX(" + ("left" == a.direction ? 0 : "-" + m + "px") + ")"), t = {
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : 0) + ")"
}) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing),
t = {
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")"
}, e++) : 3 === e && (a.duration = a._completeDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), D()) : (D(), t = {
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")"
});
b.trigger("beforeStarting");
if (p) {
c.css(B, d);
var h = r + " { 100% " + F(t) + "}",
l = c.find("style");
0 !== l.length ? l.filter(":last").html(h) : f("head").append("<style>" + h + "</style>");
E(c[0], "AnimationIteration", function() {
b.trigger("finished")
});
E(c[0], "AnimationEnd", function() {
w();
b.trigger("finished")
})
} else c.animate(t, a.duration, a.easing, function() {
b.trigger("finished");
a.pauseOnCycle ? b.timer = setTimeout(w, a.delayBeforeStart) : w()
});
b.data("runningStatus", "resumed")
};
b.bind("pause", l.pause);
b.bind("resume", l.resume);
a.pauseOnHover && (b.bind("mouseenter", l.pause), b.bind("mouseleave", l.resume));
p && a.allowCss3Support ? w() : b.timer = setTimeout(w, a.delayBeforeStart)
}
})
};
f.fn.marquee.defaults = {
allowCss3Support: !0,
css3easing: "linear",
easing: "linear",
delayBeforeStart: 1E3,
direction: "left",
duplicated: !1,
duration: 5E3,
gap: 20,
pauseOnCycle: !1,
pauseOnHover: !1,
startVisible: !1
}
})(jQuery);

3193
public/js/jquery.min.js vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,624 +0,0 @@
/*! jQuery Validation Plugin - v1.21.0 - 7/17/2024
* https://jqueryvalidation.org/
* Copyright (c) 2024 Jörn Zaefferer; Licensed MIT */
! function(a) {
"function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof module && module.exports ? module.exports = a(require("jquery")) : a(jQuery)
}(function(a) {
a.extend(a.fn, {
validate: function(b) {
if (!this.length) return void(b && b.debug && window.console && console.warn("Nothing selected, can't validate, returning nothing."));
var c = a.data(this[0], "validator");
return c ? c : (this.attr("novalidate", "novalidate"), c = new a.validator(b, this[0]), a.data(this[0], "validator", c), c.settings.onsubmit && (this.on("click.validate", ":submit", function(b) {
c.submitButton = b.currentTarget, a(this).hasClass("cancel") && (c.cancelSubmit = !0), void 0 !== a(this).attr("formnovalidate") && (c.cancelSubmit = !0)
}), this.on("submit.validate", function(b) {
function d() {
var d, e;
return c.submitButton && (c.settings.submitHandler || c.formSubmitted) && (d = a("<input type='hidden'/>").attr("name", c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)), !(c.settings.submitHandler && !c.settings.debug) || (e = c.settings.submitHandler.call(c, c.currentForm, b), d && d.remove(), void 0 !== e && e)
}
return c.settings.debug && b.preventDefault(), c.cancelSubmit ? (c.cancelSubmit = !1, d()) : c.form() ? c.pendingRequest ? (c.formSubmitted = !0, !1) : d() : (c.focusInvalid(), !1)
})), c)
},
valid: function() {
var b, c, d;
return a(this[0]).is("form") ? b = this.validate().form() : (d = [], b = !0, c = a(this[0].form).validate(), this.each(function() {
b = c.element(this) && b, b || (d = d.concat(c.errorList))
}), c.errorList = d), b
},
rules: function(b, c) {
var d, e, f, g, h, i, j = this[0],
k = "undefined" != typeof this.attr("contenteditable") && "false" !== this.attr("contenteditable");
if (null != j && (!j.form && k && (j.form = this.closest("form")[0], j.name = this.attr("name")), null != j.form)) {
if (b) switch (d = a.data(j.form, "validator").settings, e = d.rules, f = a.validator.staticRules(j), b) {
case "add":
a.extend(f, a.validator.normalizeRule(c)), delete f.messages, e[j.name] = f, c.messages && (d.messages[j.name] = a.extend(d.messages[j.name], c.messages));
break;
case "remove":
return c ? (i = {}, a.each(c.split(/\s/), function(a, b) {
i[b] = f[b], delete f[b]
}), i) : (delete e[j.name], f)
}
return g = a.validator.normalizeRules(a.extend({}, a.validator.classRules(j), a.validator.attributeRules(j), a.validator.dataRules(j), a.validator.staticRules(j)), j), g.required && (h = g.required, delete g.required, g = a.extend({
required: h
}, g)), g.remote && (h = g.remote, delete g.remote, g = a.extend(g, {
remote: h
})), g
}
}
});
var b = function(a) {
return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")
};
a.extend(a.expr.pseudos || a.expr[":"], {
blank: function(c) {
return !b("" + a(c).val())
},
filled: function(c) {
var d = a(c).val();
return null !== d && !!b("" + d)
},
unchecked: function(b) {
return !a(b).prop("checked")
}
}), a.validator = function(b, c) {
this.settings = a.extend(!0, {}, a.validator.defaults, b), this.currentForm = c, this.init()
}, a.validator.format = function(b, c) {
return 1 === arguments.length ? function() {
var c = a.makeArray(arguments);
return c.unshift(b), a.validator.format.apply(this, c)
} : void 0 === c ? b : (arguments.length > 2 && c.constructor !== Array && (c = a.makeArray(arguments).slice(1)), c.constructor !== Array && (c = [c]), a.each(c, function(a, c) {
b = b.replace(new RegExp("\\{" + a + "\\}", "g"), function() {
return c
})
}), b)
}, a.extend(a.validator, {
defaults: {
messages: {},
groups: {},
rules: {},
errorClass: "error",
pendingClass: "pending",
validClass: "valid",
errorElement: "label",
focusCleanup: !1,
focusInvalid: !0,
errorContainer: a([]),
errorLabelContainer: a([]),
onsubmit: !0,
ignore: ":hidden",
ignoreTitle: !1,
customElements: [],
onfocusin: function(a) {
this.lastActive = a, this.settings.focusCleanup && (this.settings.unhighlight && this.settings.unhighlight.call(this, a, this.settings.errorClass, this.settings.validClass), this.hideThese(this.errorsFor(a)))
},
onfocusout: function(a) {
this.checkable(a) || !(a.name in this.submitted) && this.optional(a) || this.element(a)
},
onkeyup: function(b, c) {
var d = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];
9 === c.which && "" === this.elementValue(b) || a.inArray(c.keyCode, d) !== -1 || (b.name in this.submitted || b.name in this.invalid) && this.element(b)
},
onclick: function(a) {
a.name in this.submitted ? this.element(a) : a.parentNode.name in this.submitted && this.element(a.parentNode)
},
highlight: function(b, c, d) {
"radio" === b.type ? this.findByName(b.name).addClass(c).removeClass(d) : a(b).addClass(c).removeClass(d)
},
unhighlight: function(b, c, d) {
"radio" === b.type ? this.findByName(b.name).removeClass(c).addClass(d) : a(b).removeClass(c).addClass(d)
}
},
setDefaults: function(b) {
a.extend(a.validator.defaults, b)
},
messages: {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
number: "Please enter a valid number.",
digits: "Please enter only digits.",
equalTo: "Please enter the same value again.",
maxlength: a.validator.format("Please enter no more than {0} characters."),
minlength: a.validator.format("Please enter at least {0} characters."),
rangelength: a.validator.format("Please enter a value between {0} and {1} characters long."),
range: a.validator.format("Please enter a value between {0} and {1}."),
max: a.validator.format("Please enter a value less than or equal to {0}."),
min: a.validator.format("Please enter a value greater than or equal to {0}."),
step: a.validator.format("Please enter a multiple of {0}.")
},
autoCreateRanges: !1,
prototype: {
init: function() {
function b(b) {
var c = "undefined" != typeof a(this).attr("contenteditable") && "false" !== a(this).attr("contenteditable");
if (!this.form && c && (this.form = a(this).closest("form")[0], this.name = a(this).attr("name")), d === this.form) {
var e = a.data(this.form, "validator"),
f = "on" + b.type.replace(/^validate/, ""),
g = e.settings;
g[f] && !a(this).is(g.ignore) && g[f].call(e, this, b)
}
}
this.labelContainer = a(this.settings.errorLabelContainer), this.errorContext = this.labelContainer.length && this.labelContainer || a(this.currentForm), this.containers = a(this.settings.errorContainer).add(this.settings.errorLabelContainer), this.submitted = {}, this.valueCache = {}, this.pendingRequest = 0, this.pending = {}, this.invalid = {}, this.reset();
var c, d = this.currentForm,
e = this.groups = {};
a.each(this.settings.groups, function(b, c) {
"string" == typeof c && (c = c.split(/\s/)), a.each(c, function(a, c) {
e[c] = b
})
}), c = this.settings.rules, a.each(c, function(b, d) {
c[b] = a.validator.normalizeRule(d)
});
var f = [":text", "[type='password']", "[type='file']", "select", "textarea", "[type='number']", "[type='search']", "[type='tel']", "[type='url']", "[type='email']", "[type='datetime']", "[type='date']", "[type='month']", "[type='week']", "[type='time']", "[type='datetime-local']", "[type='range']", "[type='color']", "[type='radio']", "[type='checkbox']", "[contenteditable]", "[type='button']"],
g = ["select", "option", "[type='radio']", "[type='checkbox']"];
a(this.currentForm).on("focusin.validate focusout.validate keyup.validate", f.concat(this.settings.customElements).join(", "), b).on("click.validate", g.concat(this.settings.customElements).join(", "), b), this.settings.invalidHandler && a(this.currentForm).on("invalid-form.validate", this.settings.invalidHandler)
},
form: function() {
return this.checkForm(), a.extend(this.submitted, this.errorMap), this.invalid = a.extend({}, this.errorMap), this.valid() || a(this.currentForm).triggerHandler("invalid-form", [this]), this.showErrors(), this.valid()
},
checkForm: function() {
this.prepareForm();
for (var a = 0, b = this.currentElements = this.elements(); b[a]; a++) this.check(b[a]);
return this.valid()
},
element: function(b) {
var c, d, e = this.clean(b),
f = this.validationTargetFor(e),
g = this,
h = !0;
return void 0 === f ? delete this.invalid[e.name] : (this.prepareElement(f), this.currentElements = a(f), d = this.groups[f.name], d && a.each(this.groups, function(a, b) {
b === d && a !== f.name && (e = g.validationTargetFor(g.clean(g.findByName(a))), e && e.name in g.invalid && (g.currentElements.push(e), h = g.check(e) && h))
}), c = this.check(f) !== !1, h = h && c, c ? this.invalid[f.name] = !1 : this.invalid[f.name] = !0, this.numberOfInvalids() || (this.toHide = this.toHide.add(this.containers)), this.showErrors(), a(b).attr("aria-invalid", !c)), h
},
showErrors: function(b) {
if (b) {
var c = this;
a.extend(this.errorMap, b), this.errorList = a.map(this.errorMap, function(a, b) {
return {
message: a,
element: c.findByName(b)[0]
}
}), this.successList = a.grep(this.successList, function(a) {
return !(a.name in b)
})
}
this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors()
},
resetForm: function() {
a.fn.resetForm && a(this.currentForm).resetForm(), this.invalid = {}, this.submitted = {}, this.prepareForm(), this.hideErrors();
var b = this.elements().removeData("previousValue").removeAttr("aria-invalid");
this.resetElements(b)
},
resetElements: function(a) {
var b;
if (this.settings.unhighlight)
for (b = 0; a[b]; b++) this.settings.unhighlight.call(this, a[b], this.settings.errorClass, ""), this.findByName(a[b].name).removeClass(this.settings.validClass);
else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)
},
numberOfInvalids: function() {
return this.objectLength(this.invalid)
},
objectLength: function(a) {
var b, c = 0;
for (b in a) void 0 !== a[b] && null !== a[b] && a[b] !== !1 && c++;
return c
},
hideErrors: function() {
this.hideThese(this.toHide)
},
hideThese: function(a) {
a.not(this.containers).text(""), this.addWrapper(a).hide()
},
valid: function() {
return 0 === this.size()
},
size: function() {
return this.errorList.length
},
focusInvalid: function() {
if (this.settings.focusInvalid) try {
a(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").trigger("focus").trigger("focusin")
} catch (b) {}
},
findLastActive: function() {
var b = this.lastActive;
return b && 1 === a.grep(this.errorList, function(a) {
return a.element.name === b.name
}).length && b
},
elements: function() {
var b = this,
c = {},
d = ["input", "select", "textarea", "[contenteditable]"];
return a(this.currentForm).find(d.concat(this.settings.customElements).join(", ")).not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function() {
var d = this.name || a(this).attr("name"),
e = "undefined" != typeof a(this).attr("contenteditable") && "false" !== a(this).attr("contenteditable");
return !d && b.settings.debug && window.console && console.error("%o has no name assigned", this), e && (this.form = a(this).closest("form")[0], this.name = d), this.form === b.currentForm && (!(d in c || !b.objectLength(a(this).rules())) && (c[d] = !0, !0))
})
},
clean: function(b) {
return a(b)[0]
},
errors: function() {
var b = this.settings.errorClass.split(" ").join(".");
return a(this.settings.errorElement + "." + b, this.errorContext)
},
resetInternals: function() {
this.successList = [], this.errorList = [], this.errorMap = {}, this.toShow = a([]), this.toHide = a([])
},
reset: function() {
this.resetInternals(), this.currentElements = a([])
},
prepareForm: function() {
this.reset(), this.toHide = this.errors().add(this.containers)
},
prepareElement: function(a) {
this.reset(), this.toHide = this.errorsFor(a)
},
elementValue: function(b) {
var c, d, e = a(b),
f = b.type,
g = "undefined" != typeof e.attr("contenteditable") && "false" !== e.attr("contenteditable");
return "radio" === f || "checkbox" === f ? this.findByName(b.name).filter(":checked").val() : "number" === f && "undefined" != typeof b.validity ? b.validity.badInput ? "NaN" : e.val() : (c = g ? e.text() : e.val(), "file" === f ? "C:\\fakepath\\" === c.substr(0, 12) ? c.substr(12) : (d = c.lastIndexOf("/"), d >= 0 ? c.substr(d + 1) : (d = c.lastIndexOf("\\"), d >= 0 ? c.substr(d + 1) : c)) : "string" == typeof c ? c.replace(/\r/g, "") : c)
},
check: function(b) {
b = this.validationTargetFor(this.clean(b));
var c, d, e, f, g = a(b).rules(),
h = a.map(g, function(a, b) {
return b
}).length,
i = !1,
j = this.elementValue(b);
this.abortRequest(b), "function" == typeof g.normalizer ? f = g.normalizer : "function" == typeof this.settings.normalizer && (f = this.settings.normalizer), f && (j = f.call(b, j), delete g.normalizer);
for (d in g) {
e = {
method: d,
parameters: g[d]
};
try {
if (c = a.validator.methods[d].call(this, j, b, e.parameters), "dependency-mismatch" === c && 1 === h) {
i = !0;
continue
}
if (i = !1, "pending" === c) return void(this.toHide = this.toHide.not(this.errorsFor(b)));
if (!c) return this.formatAndAdd(b, e), !1
} catch (k) {
throw this.settings.debug && window.console && console.log("Exception occurred when checking element " + b.id + ", check the '" + e.method + "' method.", k), k instanceof TypeError && (k.message += ". Exception occurred when checking element " + b.id + ", check the '" + e.method + "' method."), k
}
}
if (!i) return this.objectLength(g) && this.successList.push(b), !0
},
customDataMessage: function(b, c) {
return a(b).data("msg" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()) || a(b).data("msg")
},
customMessage: function(a, b) {
var c = this.settings.messages[a];
return c && (c.constructor === String ? c : c[b])
},
findDefined: function() {
for (var a = 0; a < arguments.length; a++)
if (void 0 !== arguments[a]) return arguments[a]
},
defaultMessage: function(b, c) {
"string" == typeof c && (c = {
method: c
});
var d = this.findDefined(this.customMessage(b.name, c.method), this.customDataMessage(b, c.method), !this.settings.ignoreTitle && b.title || void 0, a.validator.messages[c.method], "<strong>Warning: No message defined for " + b.name + "</strong>"),
e = /\$?\{(\d+)\}/g;
return "function" == typeof d ? d = d.call(this, c.parameters, b) : e.test(d) && (d = a.validator.format(d.replace(e, "{$1}"), c.parameters)), d
},
formatAndAdd: function(a, b) {
var c = this.defaultMessage(a, b);
this.errorList.push({
message: c,
element: a,
method: b.method
}), this.errorMap[a.name] = c, this.submitted[a.name] = c
},
addWrapper: function(a) {
return this.settings.wrapper && (a = a.add(a.parent(this.settings.wrapper))), a
},
defaultShowErrors: function() {
var a, b, c;
for (a = 0; this.errorList[a]; a++) c = this.errorList[a], this.settings.highlight && this.settings.highlight.call(this, c.element, this.settings.errorClass, this.settings.validClass), this.showLabel(c.element, c.message);
if (this.errorList.length && (this.toShow = this.toShow.add(this.containers)), this.settings.success)
for (a = 0; this.successList[a]; a++) this.showLabel(this.successList[a]);
if (this.settings.unhighlight)
for (a = 0, b = this.validElements(); b[a]; a++) this.settings.unhighlight.call(this, b[a], this.settings.errorClass, this.settings.validClass);
this.toHide = this.toHide.not(this.toShow), this.hideErrors(), this.addWrapper(this.toShow).show()
},
validElements: function() {
return this.currentElements.not(this.invalidElements())
},
invalidElements: function() {
return a(this.errorList).map(function() {
return this.element
})
},
showLabel: function(b, c) {
var d, e, f, g, h = this.errorsFor(b),
i = this.idOrName(b),
j = a(b).attr("aria-describedby");
h.length ? (h.removeClass(this.settings.validClass).addClass(this.settings.errorClass), this.settings && this.settings.escapeHtml ? h.text(c || "") : h.html(c || "")) : (h = a("<" + this.settings.errorElement + ">").attr("id", i + "-error").addClass(this.settings.errorClass), this.settings && this.settings.escapeHtml ? h.text(c || "") : h.html(c || ""), d = h, this.settings.wrapper && (d = h.hide().show().wrap("<" + this.settings.wrapper + "/>").parent()), this.labelContainer.length ? this.labelContainer.append(d) : this.settings.errorPlacement ? this.settings.errorPlacement.call(this, d, a(b)) : d.insertAfter(b), h.is("label") ? h.attr("for", i) : 0 === h.parents("label[for='" + this.escapeCssMeta(i) + "']").length && (f = h.attr("id"), j ? j.match(new RegExp("\\b" + this.escapeCssMeta(f) + "\\b")) || (j += " " + f) : j = f, a(b).attr("aria-describedby", j), e = this.groups[b.name], e && (g = this, a.each(g.groups, function(b, c) {
c === e && a("[name='" + g.escapeCssMeta(b) + "']", g.currentForm).attr("aria-describedby", h.attr("id"))
})))), !c && this.settings.success && (h.text(""), "string" == typeof this.settings.success ? h.addClass(this.settings.success) : this.settings.success(h, b)), this.toShow = this.toShow.add(h)
},
errorsFor: function(b) {
var c = this.escapeCssMeta(this.idOrName(b)),
d = a(b).attr("aria-describedby"),
e = "label[for='" + c + "'], label[for='" + c + "'] *";
return d && (e = e + ", #" + this.escapeCssMeta(d).replace(/\s+/g, ", #")), this.errors().filter(e)
},
escapeCssMeta: function(a) {
return void 0 === a ? "" : a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g, "\\$1")
},
idOrName: function(a) {
return this.groups[a.name] || (this.checkable(a) ? a.name : a.id || a.name)
},
validationTargetFor: function(b) {
return this.checkable(b) && (b = this.findByName(b.name)), a(b).not(this.settings.ignore)[0]
},
checkable: function(a) {
return /radio|checkbox/i.test(a.type)
},
findByName: function(b) {
return a(this.currentForm).find("[name='" + this.escapeCssMeta(b) + "']")
},
getLength: function(b, c) {
switch (c.nodeName.toLowerCase()) {
case "select":
return a("option:selected", c).length;
case "input":
if (this.checkable(c)) return this.findByName(c.name).filter(":checked").length
}
return b.length
},
depend: function(a, b) {
return !this.dependTypes[typeof a] || this.dependTypes[typeof a](a, b)
},
dependTypes: {
"boolean": function(a) {
return a
},
string: function(b, c) {
return !!a(b, c.form).length
},
"function": function(a, b) {
return a(b)
}
},
optional: function(b) {
var c = this.elementValue(b);
return !a.validator.methods.required.call(this, c, b) && "dependency-mismatch"
},
elementAjaxPort: function(a) {
return "validate" + a.name
},
startRequest: function(b) {
this.pending[b.name] || (this.pendingRequest++, a(b).addClass(this.settings.pendingClass), this.pending[b.name] = !0)
},
stopRequest: function(b, c) {
this.pendingRequest--, this.pendingRequest < 0 && (this.pendingRequest = 0), delete this.pending[b.name], a(b).removeClass(this.settings.pendingClass), c && 0 === this.pendingRequest && this.formSubmitted && this.form() && 0 === this.pendingRequest ? (a(this.currentForm).trigger("submit"), this.submitButton && a("input:hidden[name='" + this.submitButton.name + "']", this.currentForm).remove(), this.formSubmitted = !1) : !c && 0 === this.pendingRequest && this.formSubmitted && (a(this.currentForm).triggerHandler("invalid-form", [this]), this.formSubmitted = !1)
},
abortRequest: function(b) {
var c;
this.pending[b.name] && (c = this.elementAjaxPort(b), a.ajaxAbort(c), this.pendingRequest--, this.pendingRequest < 0 && (this.pendingRequest = 0), delete this.pending[b.name], a(b).removeClass(this.settings.pendingClass))
},
previousValue: function(b, c) {
return c = "string" == typeof c && c || "remote", a.data(b, "previousValue") || a.data(b, "previousValue", {
old: null,
valid: !0,
message: this.defaultMessage(b, {
method: c
})
})
},
destroy: function() {
this.resetForm(), a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")
}
},
classRuleSettings: {
required: {
required: !0
},
email: {
email: !0
},
url: {
url: !0
},
date: {
date: !0
},
dateISO: {
dateISO: !0
},
number: {
number: !0
},
digits: {
digits: !0
},
creditcard: {
creditcard: !0
}
},
addClassRules: function(b, c) {
b.constructor === String ? this.classRuleSettings[b] = c : a.extend(this.classRuleSettings, b)
},
classRules: function(b) {
var c = {},
d = a(b).attr("class");
return d && a.each(d.split(" "), function() {
this in a.validator.classRuleSettings && a.extend(c, a.validator.classRuleSettings[this])
}), c
},
normalizeAttributeRule: function(a, b, c, d) {
/min|max|step/.test(c) && (null === b || /number|range|text/.test(b)) && (d = Number(d), isNaN(d) && (d = void 0)), d || 0 === d ? a[c] = d : b === c && "range" !== b && (a["date" === b ? "dateISO" : c] = !0)
},
attributeRules: function(b) {
var c, d, e = {},
f = a(b),
g = b.getAttribute("type");
for (c in a.validator.methods) "required" === c ? (d = b.getAttribute(c), "" === d && (d = !0), d = !!d) : d = f.attr(c), this.normalizeAttributeRule(e, g, c, d);
return e.maxlength && /-1|2147483647|524288/.test(e.maxlength) && delete e.maxlength, e
},
dataRules: function(b) {
var c, d, e = {},
f = a(b),
g = b.getAttribute("type");
for (c in a.validator.methods) d = f.data("rule" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()), "" === d && (d = !0), this.normalizeAttributeRule(e, g, c, d);
return e
},
staticRules: function(b) {
var c = {},
d = a.data(b.form, "validator");
return d.settings.rules && (c = a.validator.normalizeRule(d.settings.rules[b.name]) || {}), c
},
normalizeRules: function(b, c) {
return a.each(b, function(d, e) {
if (e === !1) return void delete b[d];
if (e.param || e.depends) {
var f = !0;
switch (typeof e.depends) {
case "string":
f = !!a(e.depends, c.form).length;
break;
case "function":
f = e.depends.call(c, c)
}
f ? b[d] = void 0 === e.param || e.param : (a.data(c.form, "validator").resetElements(a(c)), delete b[d])
}
}), a.each(b, function(a, d) {
b[a] = "function" == typeof d && "normalizer" !== a ? d(c) : d
}), a.each(["minlength", "maxlength"], function() {
b[this] && (b[this] = Number(b[this]))
}), a.each(["rangelength", "range"], function() {
var a;
b[this] && (Array.isArray(b[this]) ? b[this] = [Number(b[this][0]), Number(b[this][1])] : "string" == typeof b[this] && (a = b[this].replace(/[\[\]]/g, "").split(/[\s,]+/), b[this] = [Number(a[0]), Number(a[1])]))
}), a.validator.autoCreateRanges && (null != b.min && null != b.max && (b.range = [b.min, b.max], delete b.min, delete b.max), null != b.minlength && null != b.maxlength && (b.rangelength = [b.minlength, b.maxlength], delete b.minlength, delete b.maxlength)), b
},
normalizeRule: function(b) {
if ("string" == typeof b) {
var c = {};
a.each(b.split(/\s/), function() {
c[this] = !0
}), b = c
}
return b
},
addMethod: function(b, c, d) {
a.validator.methods[b] = c, a.validator.messages[b] = void 0 !== d ? d : a.validator.messages[b], c.length < 3 && a.validator.addClassRules(b, a.validator.normalizeRule(b))
},
methods: {
required: function(b, c, d) {
if (!this.depend(d, c)) return "dependency-mismatch";
if ("select" === c.nodeName.toLowerCase()) {
var e = a(c).val();
return e && e.length > 0
}
return this.checkable(c) ? this.getLength(b, c) > 0 : void 0 !== b && null !== b && b.length > 0
},
email: function(a, b) {
return this.optional(b) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)
},
url: function(a, b) {
return this.optional(b) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)
},
date: function() {
var a = !1;
return function(b, c) {
return a || (a = !0, this.settings.debug && window.console && console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")), this.optional(c) || !/Invalid|NaN/.test(new Date(b).toString())
}
}(),
dateISO: function(a, b) {
return this.optional(b) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)
},
number: function(a, b) {
return this.optional(b) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:-?\.\d+)?$/.test(a)
},
digits: function(a, b) {
return this.optional(b) || /^\d+$/.test(a)
},
minlength: function(a, b, c) {
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
return this.optional(b) || d >= c
},
maxlength: function(a, b, c) {
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
return this.optional(b) || d <= c
},
rangelength: function(a, b, c) {
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
return this.optional(b) || d >= c[0] && d <= c[1]
},
min: function(a, b, c) {
return this.optional(b) || a >= c
},
max: function(a, b, c) {
return this.optional(b) || a <= c
},
range: function(a, b, c) {
return this.optional(b) || a >= c[0] && a <= c[1]
},
step: function(b, c, d) {
var e, f = a(c).attr("type"),
g = "Step attribute on input type " + f + " is not supported.",
h = ["text", "number", "range"],
i = new RegExp("\\b" + f + "\\b"),
j = f && !i.test(h.join()),
k = function(a) {
var b = ("" + a).match(/(?:\.(\d+))?$/);
return b && b[1] ? b[1].length : 0
},
l = function(a) {
return Math.round(a * Math.pow(10, e))
},
m = !0;
if (j) throw new Error(g);
return e = k(d), (k(b) > e || l(b) % l(d) !== 0) && (m = !1), this.optional(c) || m
},
equalTo: function(b, c, d) {
var e = a(d);
return this.settings.onfocusout && e.not(".validate-equalTo-blur").length && e.addClass("validate-equalTo-blur").on("blur.validate-equalTo", function() {
a(c).valid()
}), b === e.val()
},
remote: function(b, c, d, e) {
if (this.optional(c)) return "dependency-mismatch";
e = "string" == typeof e && e || "remote";
var f, g, h, i = this.previousValue(c, e);
return this.settings.messages[c.name] || (this.settings.messages[c.name] = {}), i.originalMessage = i.originalMessage || this.settings.messages[c.name][e], this.settings.messages[c.name][e] = i.message, d = "string" == typeof d && {
url: d
} || d, h = a.param(a.extend({
data: b
}, d.data)), null !== i.valid && i.old === h ? i.valid : (i.old = h, i.valid = null, f = this, this.startRequest(c), g = {}, g[c.name] = b, a.ajax(a.extend(!0, {
mode: "abort",
port: this.elementAjaxPort(c),
dataType: "json",
data: g,
context: f.currentForm,
success: function(a) {
var d, g, h, j = a === !0 || "true" === a;
f.settings.messages[c.name][e] = i.originalMessage, j ? (h = f.formSubmitted, f.toHide = f.errorsFor(c), f.formSubmitted = h, f.successList.push(c), f.invalid[c.name] = !1, f.showErrors()) : (d = {}, g = a || f.defaultMessage(c, {
method: e,
parameters: b
}), d[c.name] = i.message = g, f.invalid[c.name] = !0, f.showErrors(d)), i.valid = j, f.stopRequest(c, j)
}
}, d)), "pending")
}
}
});
var c, d = {};
return a.ajaxPrefilter ? a.ajaxPrefilter(function(b, c, e) {
var f = b.port;
"abort" === b.mode && (a.ajaxAbort(f), d[f] = e)
}) : (c = a.ajax, a.ajax = function(b) {
var e = ("mode" in b ? b : a.ajaxSettings).mode,
f = ("port" in b ? b : a.ajaxSettings).port;
return "abort" === e ? (a.ajaxAbort(f), d[f] = c.apply(this, arguments), d[f]) : c.apply(this, arguments)
}), a.ajaxAbort = function(a) {
d[a] && (d[a].abort(), delete d[a])
}, a
});

Some files were not shown because too many files have changed in this diff Show More