Make WordPress Themes

Changeset 356252


Ignore:
Timestamp:
10/30/2026 06:33:18 AM (5 hours ago)
Author:
themedropbox
Message:

New version of Tour Manager - 1.6

Location:
tour-manager/1.6
Files:
4 added
4 deleted
9 edited
1 copied

Legend:

Unmodified
Added
Removed
  • tour-manager/1.6/font-awesome/css/all.css

    r353398 r356252  
    1002310023}
    1002410024
    10025 .fa-wordpress-simple {
     10025.fa-WordPress-simple {
    1002610026  --fa: "\f411";
    1002710027}
  • tour-manager/1.6/font-awesome/css/all.min.css

    r353398 r356252  
    77
    88.fa-0{--fa:"\30 "}.fa-1{--fa:"\31 "}.fa-2{--fa:"\32 "}.fa-3{--fa:"\33 "}.fa-4{--fa:"\34 "}.fa-5{--fa:"\35 "}.fa-6{--fa:"\36 "}.fa-7{--fa:"\37 "}.fa-8{--fa:"\38 "}.fa-9{--fa:"\39 "}.fa-exclamation{--fa:"\!"}.fa-hashtag{--fa:"\#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}.fa-percent,.fa-percentage{--fa:"\%"}.fa-asterisk{--fa:"\*"}.fa-add,.fa-plus{--fa:"\+"}.fa-less-than{--fa:"\<"}.fa-equals{--fa:"\="}.fa-greater-than{--fa:"\>"}.fa-question{--fa:"\?"}.fa-at{--fa:"\@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-faucet{--fa:"\e005"}.fa-faucet-drip{--fa:"\e006"}.fa-house-chimney-window{--fa:"\e00d"}.fa-house-signal{--fa:"\e012"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-trailer{--fa:"\e041"}.fa-bacteria{--fa:"\e059"}.fa-bacterium{--fa:"\e05a"}.fa-box-tissue{--fa:"\e05b"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-hand-sparkles{--fa:"\e05d"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}.fa-head-side-cough{--fa:"\e061"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-head-side-mask{--fa:"\e063"}.fa-head-side-virus{--fa:"\e064"}.fa-house-chimney-user{--fa:"\e065"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-lungs-virus{--fa:"\e067"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-plane-slash{--fa:"\e069"}.fa-pump-medical{--fa:"\e06a"}.fa-pump-soap{--fa:"\e06b"}.fa-shield-virus{--fa:"\e06c"}.fa-sink{--fa:"\e06d"}.fa-soap{--fa:"\e06e"}.fa-stopwatch-20{--fa:"\e06f"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-store-slash{--fa:"\e071"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-users-slash{--fa:"\e073"}.fa-virus{--fa:"\e074"}.fa-virus-slash{--fa:"\e075"}.fa-viruses{--fa:"\e076"}.fa-vest{--fa:"\e085"}.fa-vest-patches{--fa:"\e086"}.fa-arrow-trend-down{--fa:"\e097"}.fa-arrow-trend-up{--fa:"\e098"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-austral-sign{--fa:"\e0a9"}.fa-baht-sign{--fa:"\e0ac"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-book-bookmark{--fa:"\e0bb"}.fa-camera-rotate{--fa:"\e0d8"}.fa-cedi-sign{--fa:"\e0df"}.fa-chart-column{--fa:"\e0e3"}.fa-chart-gantt{--fa:"\e0e4"}.fa-clapperboard{--fa:"\e131"}.fa-clover{--fa:"\e139"}.fa-code-compare{--fa:"\e13a"}.fa-code-fork{--fa:"\e13b"}.fa-code-pull-request{--fa:"\e13c"}.fa-colon-sign{--fa:"\e140"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-display{--fa:"\e163"}.fa-dong-sign{--fa:"\e169"}.fa-elevator{--fa:"\e16d"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-florin-sign{--fa:"\e184"}.fa-folder-closed{--fa:"\e185"}.fa-franc-sign{--fa:"\e18f"}.fa-guarani-sign{--fa:"\e19a"}.fa-gun{--fa:"\e19b"}.fa-hands-clapping{--fa:"\e1a8"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-kip-sign{--fa:"\e1c4"}.fa-lari-sign{--fa:"\e1c8"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-manat-sign{--fa:"\e1d5"}.fa-mask-face{--fa:"\e1d7"}.fa-mill-sign{--fa:"\e1ed"}.fa-money-bills{--fa:"\e1f3"}.fa-naira-sign{--fa:"\e1f6"}.fa-notdef{--fa:"\e1fe"}.fa-panorama{--fa:"\e209"}.fa-peseta-sign{--fa:"\e221"}.fa-peso-sign{--fa:"\e222"}.fa-plane-up{--fa:"\e22d"}.fa-rupiah-sign{--fa:"\e23d"}.fa-stairs{--fa:"\e289"}.fa-timeline{--fa:"\e29c"}.fa-truck-front{--fa:"\e2b7"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-vault{--fa:"\e2c5"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bowl-rice{--fa:"\e2eb"}.fa-person-pregnant{--fa:"\e31e"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-house-crack{--fa:"\e3b1"}.fa-house-medical{--fa:"\e3b2"}.fa-cent-sign{--fa:"\e3f5"}.fa-plus-minus{--fa:"\e43c"}.fa-sailboat{--fa:"\e445"}.fa-section{--fa:"\e447"}.fa-shrimp{--fa:"\e448"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-chart-simple{--fa:"\e473"}.fa-diagram-next{--fa:"\e476"}.fa-diagram-predecessor{--fa:"\e477"}.fa-diagram-successor{--fa:"\e47a"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-bug-slash{--fa:"\e490"}.fa-file-circle-plus{--fa:"\e494"}.fa-shop-lock{--fa:"\e4a5"}.fa-virus-covid{--fa:"\e4a8"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-anchor-lock{--fa:"\e4ad"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-arrows-spin{--fa:"\e4bb"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-bore-hole{--fa:"\e4c3"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-bottle-water{--fa:"\e4c5"}.fa-bowl-food{--fa:"\e4c6"}.fa-boxes-packing{--fa:"\e4c7"}.fa-bridge{--fa:"\e4c8"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-bridge-water{--fa:"\e4ce"}.fa-bucket{--fa:"\e4cf"}.fa-bugs{--fa:"\e4d0"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-building-circle-check{--fa:"\e4d2"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-building-flag{--fa:"\e4d5"}.fa-building-lock{--fa:"\e4d6"}.fa-building-ngo{--fa:"\e4d7"}.fa-building-shield{--fa:"\e4d8"}.fa-building-un{--fa:"\e4d9"}.fa-building-user{--fa:"\e4da"}.fa-building-wheat{--fa:"\e4db"}.fa-burst{--fa:"\e4dc"}.fa-car-on{--fa:"\e4dd"}.fa-car-tunnel{--fa:"\e4de"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-children{--fa:"\e4e1"}.fa-circle-nodes{--fa:"\e4e2"}.fa-clipboard-question{--fa:"\e4e3"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-computer{--fa:"\e4e5"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-explosion{--fa:"\e4e9"}.fa-ferry{--fa:"\e4ea"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-file-circle-question{--fa:"\e4ef"}.fa-file-shield{--fa:"\e4f0"}.fa-fire-burner{--fa:"\e4f1"}.fa-fish-fins{--fa:"\e4f2"}.fa-flask-vial{--fa:"\e4f3"}.fa-glass-water{--fa:"\e4f4"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-handcuffs{--fa:"\e4f8"}.fa-hands-bound{--fa:"\e4f9"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-heart-circle-plus{--fa:"\e500"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-helicopter-symbol{--fa:"\e502"}.fa-helmet-un{--fa:"\e503"}.fa-hill-avalanche{--fa:"\e507"}.fa-hill-rockslide{--fa:"\e508"}.fa-house-circle-check{--fa:"\e509"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-house-fire{--fa:"\e50c"}.fa-house-flag{--fa:"\e50d"}.fa-house-flood-water{--fa:"\e50e"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-house-lock{--fa:"\e510"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-house-medical-flag{--fa:"\e514"}.fa-house-tsunami{--fa:"\e515"}.fa-jar{--fa:"\e516"}.fa-jar-wheat{--fa:"\e517"}.fa-jet-fighter-up{--fa:"\e518"}.fa-jug-detergent{--fa:"\e519"}.fa-kitchen-set{--fa:"\e51a"}.fa-land-mine-on{--fa:"\e51b"}.fa-landmark-flag{--fa:"\e51c"}.fa-laptop-file{--fa:"\e51d"}.fa-lines-leaning{--fa:"\e51e"}.fa-location-pin-lock{--fa:"\e51f"}.fa-locust{--fa:"\e520"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-mask-ventiOutfitr{--fa:"\e524"}.fa-mattress-pillow{--fa:"\e525"}.fa-mobile-retro{--fa:"\e527"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-mosquito{--fa:"\e52b"}.fa-mosquito-net{--fa:"\e52c"}.fa-mound{--fa:"\e52d"}.fa-mountain-city{--fa:"\e52e"}.fa-mountain-sun{--fa:"\e52f"}.fa-oil-well{--fa:"\e532"}.fa-people-group{--fa:"\e533"}.fa-people-line{--fa:"\e534"}.fa-people-pulling{--fa:"\e535"}.fa-people-robbery{--fa:"\e536"}.fa-people-roof{--fa:"\e537"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-person-burst{--fa:"\e53b"}.fa-person-cane{--fa:"\e53c"}.fa-person-chalkboard{--fa:"\e53d"}.fa-person-circle-check{--fa:"\e53e"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-person-circle-minus{--fa:"\e540"}.fa-person-circle-plus{--fa:"\e541"}.fa-person-circle-question{--fa:"\e542"}.fa-person-circle-xmark{--fa:"\e543"}.fa-person-dress-burst{--fa:"\e544"}.fa-person-drowning{--fa:"\e545"}.fa-person-falling{--fa:"\e546"}.fa-person-falling-burst{--fa:"\e547"}.fa-person-half-dress{--fa:"\e548"}.fa-person-harassing{--fa:"\e549"}.fa-person-military-pointing{--fa:"\e54a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-person-military-to-person{--fa:"\e54c"}.fa-person-rays{--fa:"\e54d"}.fa-person-rifle{--fa:"\e54e"}.fa-person-shelter{--fa:"\e54f"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-person-walking-luggage{--fa:"\e554"}.fa-plane-circle-check{--fa:"\e555"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-plane-lock{--fa:"\e558"}.fa-plate-wheat{--fa:"\e55a"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-plug-circle-check{--fa:"\e55c"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-ranking-star{--fa:"\e561"}.fa-road-barrier{--fa:"\e562"}.fa-road-bridge{--fa:"\e563"}.fa-road-circle-check{--fa:"\e564"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-road-circle-xmark{--fa:"\e566"}.fa-road-lock{--fa:"\e567"}.fa-road-spikes{--fa:"\e568"}.fa-rug{--fa:"\e569"}.fa-sack-xmark{--fa:"\e56a"}.fa-school-circle-check{--fa:"\e56b"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-school-flag{--fa:"\e56e"}.fa-school-lock{--fa:"\e56f"}.fa-sheet-plastic{--fa:"\e571"}.fa-shield-cat{--fa:"\e572"}.fa-shield-dog{--fa:"\e573"}.fa-shield-heart{--fa:"\e574"}.fa-square-nfi{--fa:"\e576"}.fa-square-person-confined{--fa:"\e577"}.fa-square-virus{--fa:"\e578"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-tarp{--fa:"\e57b"}.fa-tarp-droplet{--fa:"\e57c"}.fa-tent{--fa:"\e57d"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tent-arrows-down{--fa:"\e581"}.fa-tents{--fa:"\e582"}.fa-toilet-portable{--fa:"\e583"}.fa-toilets-portable{--fa:"\e584"}.fa-tower-cell{--fa:"\e585"}.fa-tower-observation{--fa:"\e586"}.fa-tree-city{--fa:"\e587"}.fa-trowel{--fa:"\e589"}.fa-trowel-bricks{--fa:"\e58a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-truck-droplet{--fa:"\e58c"}.fa-truck-field{--fa:"\e58d"}.fa-truck-field-un{--fa:"\e58e"}.fa-truck-plane{--fa:"\e58f"}.fa-users-between-lines{--fa:"\e591"}.fa-users-line{--fa:"\e592"}.fa-users-rays{--fa:"\e593"}.fa-users-rectangle{--fa:"\e594"}.fa-users-viewfinder{--fa:"\e595"}.fa-vial-circle-check{--fa:"\e596"}.fa-vial-virus{--fa:"\e597"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-worm{--fa:"\e599"}.fa-xmarks-lines{--fa:"\e59a"}.fa-child-dress{--fa:"\e59c"}.fa-child-reaching{--fa:"\e59d"}.fa-file-circle-check{--fa:"\e5a0"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-person-through-window{--fa:"\e5a9"}.fa-plant-wilt{--fa:"\e5aa"}.fa-stapler{--fa:"\e5af"}.fa-train-tram{--fa:"\e5b4"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-chart-diagram{--fa:"\e695"}.fa-comment-nodes{--fa:"\e696"}.fa-file-fragment{--fa:"\e697"}.fa-file-half-dashed{--fa:"\e698"}.fa-hexagon-nodes{--fa:"\e699"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-square-binary{--fa:"\e69b"}.fa-pentagon{--fa:"\e790"}.fa-non-binary{--fa:"\e807"}.fa-spiral{--fa:"\e80a"}.fa-mobile-vibrate{--fa:"\e816"}.fa-single-quote-left{--fa:"\e81b"}.fa-single-quote-right{--fa:"\e81c"}.fa-bus-side{--fa:"\e81d"}.fa-heptagon,.fa-septagon{--fa:"\e820"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-music{--fa:"\f001"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-check{--fa:"\f00c"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-power-off{--fa:"\f011"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-road{--fa:"\f018"}.fa-download{--fa:"\f019"}.fa-inbox{--fa:"\f01c"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-lock{--fa:"\f023"}.fa-flag{--fa:"\f024"}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}.fa-volume-off{--fa:"\f026"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-qrcode{--fa:"\f029"}.fa-barcode{--fa:"\f02a"}.fa-tag{--fa:"\f02b"}.fa-tags{--fa:"\f02c"}.fa-book{--fa:"\f02d"}.fa-bookmark{--fa:"\f02e"}.fa-print{--fa:"\f02f"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-font{--fa:"\f031"}.fa-bold{--fa:"\f032"}.fa-italic{--fa:"\f033"}.fa-text-height{--fa:"\f034"}.fa-text-width{--fa:"\f035"}.fa-align-left{--fa:"\f036"}.fa-align-center{--fa:"\f037"}.fa-align-right{--fa:"\f038"}.fa-align-justify{--fa:"\f039"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-indent{--fa:"\f03c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-image{--fa:"\f03e"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-backward{--fa:"\f04a"}.fa-play{--fa:"\f04b"}.fa-pause{--fa:"\f04c"}.fa-stop{--fa:"\f04d"}.fa-forward{--fa:"\f04e"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-eject{--fa:"\f052"}.fa-chevron-left{--fa:"\f053"}.fa-chevron-right{--fa:"\f054"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-crosshairs{--fa:"\f05b"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-left{--fa:"\f060"}.fa-arrow-right{--fa:"\f061"}.fa-arrow-up{--fa:"\f062"}.fa-arrow-down{--fa:"\f063"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-expand{--fa:"\f065"}.fa-compress{--fa:"\f066"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-gift{--fa:"\f06b"}.fa-leaf{--fa:"\f06c"}.fa-fire{--fa:"\f06d"}.fa-eye{--fa:"\f06e"}.fa-eye-slash{--fa:"\f070"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-plane{--fa:"\f072"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-comment{--fa:"\f075"}.fa-magnet{--fa:"\f076"}.fa-chevron-up{--fa:"\f077"}.fa-chevron-down{--fa:"\f078"}.fa-retweet{--fa:"\f079"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-folder-open{--fa:"\f07c"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-camera-retro{--fa:"\f083"}.fa-key{--fa:"\f084"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-comments{--fa:"\f086"}.fa-star-half{--fa:"\f089"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-trophy{--fa:"\f091"}.fa-upload{--fa:"\f093"}.fa-lemon{--fa:"\f094"}.fa-phone{--fa:"\f095"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-unlock{--fa:"\f09c"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-bullhorn{--fa:"\f0a1"}.fa-certificate{--fa:"\f0a3"}.fa-hand-point-right{--fa:"\f0a4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-hand-point-up{--fa:"\f0a6"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-globe{--fa:"\f0ac"}.fa-wrench{--fa:"\f0ad"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-filter{--fa:"\f0b0"}.fa-briefcase{--fa:"\f0b1"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-users{--fa:"\f0c0"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-cloud{--fa:"\f0c2"}.fa-flask{--fa:"\f0c3"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-copy{--fa:"\f0c5"}.fa-paperclip{--fa:"\f0c6"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-square{--fa:"\f0c8"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-strikethrough{--fa:"\f0cc"}.fa-underline{--fa:"\f0cd"}.fa-table{--fa:"\f0ce"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-truck{--fa:"\f0d1"}.fa-money-bill{--fa:"\f0d6"}.fa-caret-down{--fa:"\f0d7"}.fa-caret-up{--fa:"\f0d8"}.fa-caret-left{--fa:"\f0d9"}.fa-caret-right{--fa:"\f0da"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-envelope{--fa:"\f0e0"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-sitemap{--fa:"\f0e8"}.fa-umbrella{--fa:"\f0e9"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-lightbulb{--fa:"\f0eb"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-stethoscope{--fa:"\f0f1"}.fa-suitcase{--fa:"\f0f2"}.fa-bell{--fa:"\f0f3"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-angle-left{--fa:"\f104"}.fa-angle-right{--fa:"\f105"}.fa-angle-up{--fa:"\f106"}.fa-angle-down{--fa:"\f107"}.fa-laptop{--fa:"\f109"}.fa-tablet-button{--fa:"\f10a"}.fa-mobile-button{--fa:"\f10b"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-spinner{--fa:"\f110"}.fa-circle{--fa:"\f111"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-gamepad{--fa:"\f11b"}.fa-keyboard{--fa:"\f11c"}.fa-flag-checkered{--fa:"\f11e"}.fa-terminal{--fa:"\f120"}.fa-code{--fa:"\f121"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-location-arrow{--fa:"\f124"}.fa-crop{--fa:"\f125"}.fa-code-branch{--fa:"\f126"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-info{--fa:"\f129"}.fa-superscript{--fa:"\f12b"}.fa-subscript{--fa:"\f12c"}.fa-eraser{--fa:"\f12d"}.fa-puzzle-piece{--fa:"\f12e"}.fa-microphone{--fa:"\f130"}.fa-microphone-slash{--fa:"\f131"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-calendar{--fa:"\f133"}.fa-fire-extinguisher{--fa:"\f134"}.fa-rocket{--fa:"\f135"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-anchor{--fa:"\f13d"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-bullseye{--fa:"\f140"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-ticket{--fa:"\f145"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-file{--fa:"\f15b"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-thumbs-up{--fa:"\f164"}.fa-thumbs-down{--fa:"\f165"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-male,.fa-person{--fa:"\f183"}.fa-sun{--fa:"\f185"}.fa-moon{--fa:"\f186"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-bug{--fa:"\f188"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-wheelchair{--fa:"\f193"}.fa-lira-sign{--fa:"\f195"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-language{--fa:"\f1ab"}.fa-fax{--fa:"\f1ac"}.fa-building{--fa:"\f1ad"}.fa-child{--fa:"\f1ae"}.fa-paw{--fa:"\f1b0"}.fa-cube{--fa:"\f1b2"}.fa-cubes{--fa:"\f1b3"}.fa-recycle{--fa:"\f1b8"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-tree{--fa:"\f1bb"}.fa-database{--fa:"\f1c0"}.fa-file-pdf{--fa:"\f1c1"}.fa-file-word{--fa:"\f1c2"}.fa-file-excel{--fa:"\f1c3"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-file-image{--fa:"\f1c5"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-file-audio{--fa:"\f1c7"}.fa-file-video{--fa:"\f1c8"}.fa-file-code{--fa:"\f1c9"}.fa-life-ring{--fa:"\f1cd"}.fa-circle-notch{--fa:"\f1ce"}.fa-paper-plane{--fa:"\f1d8"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-paragraph{--fa:"\f1dd"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-bomb{--fa:"\f1e2"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-binoculars{--fa:"\f1e5"}.fa-plug{--fa:"\f1e6"}.fa-newspaper{--fa:"\f1ea"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-calcuOutfitr{--fa:"\f1ec"}.fa-bell-slash{--fa:"\f1f6"}.fa-trash{--fa:"\f1f8"}.fa-copyright{--fa:"\f1f9"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-toggle-off{--fa:"\f204"}.fa-toggle-on{--fa:"\f205"}.fa-bicycle{--fa:"\f206"}.fa-bus{--fa:"\f207"}.fa-closed-captioning{--fa:"\f20a"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-cart-plus{--fa:"\f217"}.fa-cart-arrow-down{--fa:"\f218"}.fa-diamond{--fa:"\f219"}.fa-ship{--fa:"\f21a"}.fa-user-secret{--fa:"\f21b"}.fa-motorcycle{--fa:"\f21c"}.fa-street-view{--fa:"\f21d"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-venus{--fa:"\f221"}.fa-mars{--fa:"\f222"}.fa-mercury{--fa:"\f223"}.fa-mars-and-venus{--fa:"\f224"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-venus-double{--fa:"\f226"}.fa-mars-double{--fa:"\f227"}.fa-venus-mars{--fa:"\f228"}.fa-mars-stroke{--fa:"\f229"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-neuter{--fa:"\f22c"}.fa-genderless{--fa:"\f22d"}.fa-server{--fa:"\f233"}.fa-user-plus{--fa:"\f234"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-bed{--fa:"\f236"}.fa-train{--fa:"\f238"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-i-cursor{--fa:"\f246"}.fa-object-group{--fa:"\f247"}.fa-object-ungroup{--fa:"\f248"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-clone{--fa:"\f24d"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-hand-scissors{--fa:"\f257"}.fa-hand-lizard{--fa:"\f258"}.fa-hand-spock{--fa:"\f259"}.fa-hand-pointer{--fa:"\f25a"}.fa-hand-peace{--fa:"\f25b"}.fa-trademark{--fa:"\f25c"}.fa-registered{--fa:"\f25d"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-calendar-plus{--fa:"\f271"}.fa-calendar-minus{--fa:"\f272"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-calendar-check{--fa:"\f274"}.fa-industry{--fa:"\f275"}.fa-map-pin{--fa:"\f276"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-map{--fa:"\f279"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-universal-access{--fa:"\f29a"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-audio-description{--fa:"\f29e"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-braille{--fa:"\f2a1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}.fa-envelope-open{--fa:"\f2b6"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-id-badge{--fa:"\f2c1"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-shower{--fa:"\f2cc"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-podcast{--fa:"\f2ce"}.fa-window-maximize{--fa:"\f2d0"}.fa-window-minimize{--fa:"\f2d1"}.fa-window-restore{--fa:"\f2d2"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-microchip{--fa:"\f2db"}.fa-snowflake{--fa:"\f2dc"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-stopwatch{--fa:"\f2f2"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-poo{--fa:"\f2fe"}.fa-images{--fa:"\f302"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-pen{--fa:"\f304"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-octagon{--fa:"\f306"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-hexagon{--fa:"\f312"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-clipboard{--fa:"\f328"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-alarm-clock{--fa:"\f34e"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-repeat{--fa:"\f363"}.fa-code-commit{--fa:"\f386"}.fa-code-merge{--fa:"\f387"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-gem{--fa:"\f3a5"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-lock-open{--fa:"\f3c1"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-phone-slash{--fa:"\f3dd"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-bowling-ball{--fa:"\f436"}.fa-chess{--fa:"\f439"}.fa-chess-bishop{--fa:"\f43a"}.fa-chess-board{--fa:"\f43c"}.fa-chess-king{--fa:"\f43f"}.fa-chess-knight{--fa:"\f441"}.fa-chess-pawn{--fa:"\f443"}.fa-chess-queen{--fa:"\f445"}.fa-chess-rook{--fa:"\f447"}.fa-dumbbell{--fa:"\f44b"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-hockey-puck{--fa:"\f453"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-square-full{--fa:"\f45c"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-box{--fa:"\f466"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-briefcase-medical{--fa:"\f469"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-capsules{--fa:"\f46b"}.fa-clipboard-check{--fa:"\f46c"}.fa-clipboard-list{--fa:"\f46d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-dna{--fa:"\f471"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-file-medical{--fa:"\f477"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-notes-medical{--fa:"\f481"}.fa-pallet{--fa:"\f482"}.fa-pills{--fa:"\f484"}.fa-prescription-bottle{--fa:"\f485"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-smoking{--fa:"\f48d"}.fa-syringe{--fa:"\f48e"}.fa-tablets{--fa:"\f490"}.fa-thermometer{--fa:"\f491"}.fa-vial{--fa:"\f492"}.fa-vials{--fa:"\f493"}.fa-warehouse{--fa:"\f494"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-x-ray{--fa:"\f497"}.fa-box-open{--fa:"\f49e"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-comment-slash{--fa:"\f4b3"}.fa-couch{--fa:"\f4b8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-dove{--fa:"\f4ba"}.fa-hand-holding{--fa:"\f4bd"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-parachute-box{--fa:"\f4cd"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-piggy-bank{--fa:"\f4d3"}.fa-ribbon{--fa:"\f4d6"}.fa-route{--fa:"\f4d7"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-tape{--fa:"\f4db"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-truck-moving{--fa:"\f4df"}.fa-video-slash{--fa:"\f4e2"}.fa-wine-glass{--fa:"\f4e3"}.fa-user-astronaut{--fa:"\f4fb"}.fa-user-check{--fa:"\f4fc"}.fa-user-clock{--fa:"\f4fd"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-user-graduate{--fa:"\f501"}.fa-user-lock{--fa:"\f502"}.fa-user-minus{--fa:"\f503"}.fa-user-ninja{--fa:"\f504"}.fa-user-shield{--fa:"\f505"}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}.fa-user-tag{--fa:"\f507"}.fa-user-tie{--fa:"\f508"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-blender{--fa:"\f517"}.fa-book-open{--fa:"\f518"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-broom{--fa:"\f51a"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-church{--fa:"\f51d"}.fa-coins{--fa:"\f51e"}.fa-compact-disc{--fa:"\f51f"}.fa-crow{--fa:"\f520"}.fa-crown{--fa:"\f521"}.fa-dice{--fa:"\f522"}.fa-dice-five{--fa:"\f523"}.fa-dice-four{--fa:"\f524"}.fa-dice-one{--fa:"\f525"}.fa-dice-six{--fa:"\f526"}.fa-dice-three{--fa:"\f527"}.fa-dice-two{--fa:"\f528"}.fa-divide{--fa:"\f529"}.fa-door-closed{--fa:"\f52a"}.fa-door-open{--fa:"\f52b"}.fa-feather{--fa:"\f52d"}.fa-frog{--fa:"\f52e"}.fa-gas-pump{--fa:"\f52f"}.fa-glasses{--fa:"\f530"}.fa-greater-than-equal{--fa:"\f532"}.fa-helicopter{--fa:"\f533"}.fa-infinity{--fa:"\f534"}.fa-kiwi-bird{--fa:"\f535"}.fa-less-than-equal{--fa:"\f537"}.fa-memory{--fa:"\f538"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-money-bill-wave{--fa:"\f53a"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-money-check{--fa:"\f53c"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-not-equal{--fa:"\f53e"}.fa-palette{--fa:"\f53f"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-receipt{--fa:"\f543"}.fa-robot{--fa:"\f544"}.fa-ruler{--fa:"\f545"}.fa-ruler-combined{--fa:"\f546"}.fa-ruler-horizontal{--fa:"\f547"}.fa-ruler-vertical{--fa:"\f548"}.fa-school{--fa:"\f549"}.fa-screwdriver{--fa:"\f54a"}.fa-shoe-prints{--fa:"\f54b"}.fa-skull{--fa:"\f54c"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-store{--fa:"\f54e"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-stroopwafel{--fa:"\f551"}.fa-toolbox{--fa:"\f552"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-wallet{--fa:"\f555"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-archway{--fa:"\f557"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-award{--fa:"\f559"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-bezier-curve{--fa:"\f55b"}.fa-bong{--fa:"\f55c"}.fa-brush{--fa:"\f55d"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-cannabis{--fa:"\f55f"}.fa-check-double{--fa:"\f560"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-cookie{--fa:"\f563"}.fa-cookie-bite{--fa:"\f564"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-drum{--fa:"\f569"}.fa-drum-steelpan{--fa:"\f56a"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-file-contract{--fa:"\f56c"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-file-invoice{--fa:"\f570"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-file-prescription{--fa:"\f572"}.fa-file-signature{--fa:"\f573"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-fill{--fa:"\f575"}.fa-fill-drip{--fa:"\f576"}.fa-fingerprint{--fa:"\f577"}.fa-fish{--fa:"\f578"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}.fa-headset{--fa:"\f590"}.fa-highlighter{--fa:"\f591"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-hotel{--fa:"\f594"}.fa-joint{--fa:"\f595"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-marker{--fa:"\f5a1"}.fa-medal{--fa:"\f5a2"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-monument{--fa:"\f5a6"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-paint-roller{--fa:"\f5aa"}.fa-passport{--fa:"\f5ab"}.fa-pen-fancy{--fa:"\f5ac"}.fa-pen-nib{--fa:"\f5ad"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-plane-arrival{--fa:"\f5af"}.fa-plane-departure{--fa:"\f5b0"}.fa-prescription{--fa:"\f5b1"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-signature{--fa:"\f5b7"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-solar-panel{--fa:"\f5ba"}.fa-spa{--fa:"\f5bb"}.fa-splotch{--fa:"\f5bc"}.fa-spray-can{--fa:"\f5bd"}.fa-stamp{--fa:"\f5bf"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-swatchbook{--fa:"\f5c3"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-tooth{--fa:"\f5c9"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-weight-hanging{--fa:"\f5cd"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-atom{--fa:"\f5d2"}.fa-bone{--fa:"\f5d7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-brain{--fa:"\f5dc"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-car-side{--fa:"\f5e4"}.fa-charging-station{--fa:"\f5e7"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}.fa-laptop-code{--fa:"\f5fc"}.fa-layer-group{--fa:"\f5fd"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-lungs{--fa:"\f604"}.fa-microscope{--fa:"\f610"}.fa-oil-can{--fa:"\f613"}.fa-poop{--fa:"\f619"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-star-of-life{--fa:"\f621"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-teeth{--fa:"\f62e"}.fa-teeth-open{--fa:"\f62f"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-traffic-light{--fa:"\f637"}.fa-truck-monster{--fa:"\f63b"}.fa-truck-pickup{--fa:"\f63c"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-ankh{--fa:"\f644"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-city{--fa:"\f64f"}.fa-comment-dollar{--fa:"\f651"}.fa-comments-dollar{--fa:"\f653"}.fa-cross{--fa:"\f654"}.fa-dharmachakra{--fa:"\f655"}.fa-envelope-open-text{--fa:"\f658"}.fa-folder-minus{--fa:"\f65d"}.fa-folder-plus{--fa:"\f65e"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-gopuram{--fa:"\f664"}.fa-hamsa{--fa:"\f665"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-jedi{--fa:"\f669"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-kaaba{--fa:"\f66b"}.fa-khanda{--fa:"\f66d"}.fa-landmark{--fa:"\f66f"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-menorah{--fa:"\f676"}.fa-mosque{--fa:"\f678"}.fa-om{--fa:"\f679"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-peace{--fa:"\f67c"}.fa-place-of-worship{--fa:"\f67f"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-socks{--fa:"\f696"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-star-and-crescent{--fa:"\f699"}.fa-star-of-david{--fa:"\f69a"}.fa-synagogue{--fa:"\f69b"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-torii-gate{--fa:"\f6a1"}.fa-vihara{--fa:"\f6a7"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-yin-yang{--fa:"\f6ad"}.fa-blender-phone{--fa:"\f6b6"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-campground{--fa:"\f6bb"}.fa-cat{--fa:"\f6be"}.fa-chair{--fa:"\f6c0"}.fa-cloud-moon{--fa:"\f6c3"}.fa-cloud-sun{--fa:"\f6c4"}.fa-cow{--fa:"\f6c8"}.fa-dice-d20{--fa:"\f6cf"}.fa-dice-d6{--fa:"\f6d1"}.fa-dog{--fa:"\f6d3"}.fa-dragon{--fa:"\f6d5"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-dungeon{--fa:"\f6d9"}.fa-file-csv{--fa:"\f6dd"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-ghost{--fa:"\f6e2"}.fa-hammer{--fa:"\f6e3"}.fa-hanukiah{--fa:"\f6e6"}.fa-hat-wizard{--fa:"\f6e8"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-hippo{--fa:"\f6ed"}.fa-horse{--fa:"\f6f0"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-mask{--fa:"\f6fa"}.fa-mountain{--fa:"\f6fc"}.fa-network-wired{--fa:"\f6ff"}.fa-otter{--fa:"\f700"}.fa-ring{--fa:"\f70b"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-scroll{--fa:"\f70e"}.fa-skull-crossbones{--fa:"\f714"}.fa-slash{--fa:"\f715"}.fa-spider{--fa:"\f717"}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}.fa-tractor{--fa:"\f722"}.fa-user-injured{--fa:"\f728"}.fa-vr-cardboard{--fa:"\f729"}.fa-wand-sparkles{--fa:"\f72b"}.fa-wind{--fa:"\f72e"}.fa-wine-bottle{--fa:"\f72f"}.fa-cloud-meatball{--fa:"\f73b"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-cloud-rain{--fa:"\f73d"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-democrat{--fa:"\f747"}.fa-flag-usa{--fa:"\f74d"}.fa-hurricane{--fa:"\f751"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-meteor{--fa:"\f753"}.fa-person-booth{--fa:"\f756"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-rainbow{--fa:"\f75b"}.fa-republican{--fa:"\f75e"}.fa-smog{--fa:"\f75f"}.fa-temperature-high{--fa:"\f769"}.fa-temperature-low{--fa:"\f76b"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-tornado{--fa:"\f76f"}.fa-volcano{--fa:"\f770"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-water{--fa:"\f773"}.fa-baby{--fa:"\f77c"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-biohazard{--fa:"\f780"}.fa-blog{--fa:"\f781"}.fa-calendar-day{--fa:"\f783"}.fa-calendar-week{--fa:"\f784"}.fa-candy-cane{--fa:"\f786"}.fa-carrot{--fa:"\f787"}.fa-cash-register{--fa:"\f788"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-dumpster{--fa:"\f793"}.fa-dumpster-fire{--fa:"\f794"}.fa-ethernet{--fa:"\f796"}.fa-gifts{--fa:"\f79c"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-grip-lines{--fa:"\f7a4"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-guitar{--fa:"\f7a6"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-holly-berry{--fa:"\f7aa"}.fa-horse-head{--fa:"\f7ab"}.fa-icicles{--fa:"\f7ad"}.fa-igloo{--fa:"\f7ae"}.fa-mitten{--fa:"\f7b5"}.fa-mug-hot{--fa:"\f7b6"}.fa-radiation{--fa:"\f7b9"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-restroom{--fa:"\f7bd"}.fa-satellite{--fa:"\f7bf"}.fa-satellite-dish{--fa:"\f7c0"}.fa-sd-card{--fa:"\f7c2"}.fa-sim-card{--fa:"\f7c4"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-sleigh{--fa:"\f7cc"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-snowman{--fa:"\f7d0"}.fa-snowplow{--fa:"\f7d2"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-toilet{--fa:"\f7d8"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-bacon{--fa:"\f7e5"}.fa-book-medical{--fa:"\f7e6"}.fa-bread-slice{--fa:"\f7ec"}.fa-cheese{--fa:"\f7ef"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-clipboard-user{--fa:"\f7f3"}.fa-comment-medical{--fa:"\f7f5"}.fa-crutch{--fa:"\f7f7"}.fa-disease{--fa:"\f7fa"}.fa-egg{--fa:"\f7fb"}.fa-folder-tree{--fa:"\f802"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-hand-middle-finger{--fa:"\f806"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-hospital-user{--fa:"\f80d"}.fa-hotdog{--fa:"\f80f"}.fa-ice-cream{--fa:"\f810"}.fa-laptop-medical{--fa:"\f812"}.fa-pager{--fa:"\f815"}.fa-pepper-hot{--fa:"\f816"}.fa-pizza-slice{--fa:"\f818"}.fa-sack-dollar{--fa:"\f81d"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-user-nurse{--fa:"\f82f"}.fa-wave-square{--fa:"\f83e"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-border-all{--fa:"\f84c"}.fa-border-none{--fa:"\f850"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-fan{--fa:"\f863"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-spell-check{--fa:"\f891"}.fa-voicemail{--fa:"\f897"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-radio{--fa:"\f8d7"}.fa-record-vinyl{--fa:"\f8d9"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-caravan{--fa:"\f8ff"}
    9 :host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:"\e007"}.fa-ideal{--fa:"\e013"}.fa-microblog{--fa:"\e01a"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-unity{--fa:"\e049"}.fa-dailymotion{--fa:"\e052"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-mixer{--fa:"\e056"}.fa-shopify{--fa:"\e057"}.fa-deezer{--fa:"\e077"}.fa-edge-legacy{--fa:"\e078"}.fa-google-pay{--fa:"\e079"}.fa-rust{--fa:"\e07a"}.fa-tiktok{--fa:"\e07b"}.fa-unsplash{--fa:"\e07c"}.fa-cloudflare{--fa:"\e07d"}.fa-guilded{--fa:"\e07e"}.fa-hive{--fa:"\e07f"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-instalod{--fa:"\e081"}.fa-octopus-deploy{--fa:"\e082"}.fa-perbyte{--fa:"\e083"}.fa-uncharted{--fa:"\e084"}.fa-watchman-monitoring{--fa:"\e087"}.fa-wodu{--fa:"\e088"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-bots{--fa:"\e340"}.fa-cmplid{--fa:"\e360"}.fa-bilibili{--fa:"\e3d9"}.fa-golang{--fa:"\e40f"}.fa-pix{--fa:"\e43a"}.fa-sitrox{--fa:"\e44a"}.fa-hashnode{--fa:"\e499"}.fa-meta{--fa:"\e49b"}.fa-padlet{--fa:"\e4a0"}.fa-nfc-directional{--fa:"\e530"}.fa-nfc-symbol{--fa:"\e531"}.fa-screenpal{--fa:"\e570"}.fa-space-awesome{--fa:"\e5ac"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-odysee{--fa:"\e5c6"}.fa-stubber{--fa:"\e5c7"}.fa-debian{--fa:"\e60b"}.fa-shoelace{--fa:"\e60c"}.fa-threads{--fa:"\e618"}.fa-square-threads{--fa:"\e619"}.fa-square-x-twitter{--fa:"\e61a"}.fa-x-twitter{--fa:"\e61b"}.fa-opensuse{--fa:"\e62b"}.fa-letterboxd{--fa:"\e62d"}.fa-square-letterboxd{--fa:"\e62e"}.fa-mintbit{--fa:"\e62f"}.fa-google-scholar{--fa:"\e63b"}.fa-brave{--fa:"\e63c"}.fa-brave-reverse{--fa:"\e63d"}.fa-pixiv{--fa:"\e640"}.fa-upwork{--fa:"\e641"}.fa-webflow{--fa:"\e65c"}.fa-signal-messenger{--fa:"\e663"}.fa-bluesky{--fa:"\e671"}.fa-jxl{--fa:"\e67b"}.fa-square-upwork{--fa:"\e67c"}.fa-web-awesome{--fa:"\e682"}.fa-square-web-awesome{--fa:"\e683"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-dart-lang{--fa:"\e693"}.fa-flutter{--fa:"\e694"}.fa-files-pinwheel{--fa:"\e69f"}.fa-css{--fa:"\e6a2"}.fa-square-bluesky{--fa:"\e6a3"}.fa-openai{--fa:"\e7cf"}.fa-square-linkedin{--fa:"\e7d0"}.fa-cash-app{--fa:"\e7d4"}.fa-disqus{--fa:"\e7d5"}.fa-11ty,.fa-eleventy{--fa:"\e7d6"}.fa-kakao-talk{--fa:"\e7d7"}.fa-linktree{--fa:"\e7d8"}.fa-notion{--fa:"\e7d9"}.fa-pandora{--fa:"\e7da"}.fa-pixelfed{--fa:"\e7db"}.fa-tidal{--fa:"\e7dc"}.fa-vsco{--fa:"\e7dd"}.fa-w3c{--fa:"\e7de"}.fa-lumon{--fa:"\e7e2"}.fa-lumon-drop{--fa:"\e7e3"}.fa-square-figma{--fa:"\e7e4"}.fa-tex{--fa:"\e7ff"}.fa-duolingo{--fa:"\e812"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-linkedin{--fa:"\f08c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-twitter{--fa:"\f099"}.fa-facebook{--fa:"\f09a"}.fa-github{--fa:"\f09b"}.fa-pinterest{--fa:"\f0d2"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-google-plus-g{--fa:"\f0d5"}.fa-linkedin-in{--fa:"\f0e1"}.fa-github-alt{--fa:"\f113"}.fa-maxcdn{--fa:"\f136"}.fa-html5{--fa:"\f13b"}.fa-css3{--fa:"\f13c"}.fa-btc{--fa:"\f15a"}.fa-youtube{--fa:"\f167"}.fa-xing{--fa:"\f168"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-dropbox{--fa:"\f16b"}.fa-stack-overflow{--fa:"\f16c"}.fa-instagram{--fa:"\f16d"}.fa-flickr{--fa:"\f16e"}.fa-adn{--fa:"\f170"}.fa-bitbucket{--fa:"\f171"}.fa-tumblr{--fa:"\f173"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-apple{--fa:"\f179"}.fa-windows{--fa:"\f17a"}.fa-android{--fa:"\f17b"}.fa-linux{--fa:"\f17c"}.fa-dribbble{--fa:"\f17d"}.fa-skype{--fa:"\f17e"}.fa-foursquare{--fa:"\f180"}.fa-trello{--fa:"\f181"}.fa-gratipay{--fa:"\f184"}.fa-vk{--fa:"\f189"}.fa-weibo{--fa:"\f18a"}.fa-renren{--fa:"\f18b"}.fa-pagelines{--fa:"\f18c"}.fa-stack-exchange{--fa:"\f18d"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-WordPress{--fa:"\f19a"}.fa-openid{--fa:"\f19b"}.fa-yahoo{--fa:"\f19e"}.fa-google{--fa:"\f1a0"}.fa-reddit{--fa:"\f1a1"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-stumbleupon{--fa:"\f1a4"}.fa-delicious{--fa:"\f1a5"}.fa-digg{--fa:"\f1a6"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-drupal{--fa:"\f1a9"}.fa-joomla{--fa:"\f1aa"}.fa-behance{--fa:"\f1b4"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-steam{--fa:"\f1b6"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-spotify{--fa:"\f1bc"}.fa-deviantart{--fa:"\f1bd"}.fa-soundcloud{--fa:"\f1be"}.fa-vine{--fa:"\f1ca"}.fa-codepen{--fa:"\f1cb"}.fa-jsfiddle{--fa:"\f1cc"}.fa-rebel{--fa:"\f1d0"}.fa-empire{--fa:"\f1d1"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-git{--fa:"\f1d3"}.fa-hacker-news{--fa:"\f1d4"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-qq{--fa:"\f1d6"}.fa-weixin{--fa:"\f1d7"}.fa-slideshare{--fa:"\f1e7"}.fa-twitch{--fa:"\f1e8"}.fa-yelp{--fa:"\f1e9"}.fa-paypal{--fa:"\f1ed"}.fa-google-wallet{--fa:"\f1ee"}.fa-cc-visa{--fa:"\f1f0"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-cc-discover{--fa:"\f1f2"}.fa-cc-amex{--fa:"\f1f3"}.fa-cc-paypal{--fa:"\f1f4"}.fa-cc-stripe{--fa:"\f1f5"}.fa-lastfm{--fa:"\f202"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-ioxhost{--fa:"\f208"}.fa-angellist{--fa:"\f209"}.fa-buysellads{--fa:"\f20d"}.fa-connectdevelop{--fa:"\f20e"}.fa-dashcube{--fa:"\f210"}.fa-forumbee{--fa:"\f211"}.fa-leanpub{--fa:"\f212"}.fa-sellsy{--fa:"\f213"}.fa-shirtsinbulk{--fa:"\f214"}.fa-simplybuilt{--fa:"\f215"}.fa-skyatlas{--fa:"\f216"}.fa-pinterest-p{--fa:"\f231"}.fa-whatsapp{--fa:"\f232"}.fa-viacoin{--fa:"\f237"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-y-combinator{--fa:"\f23b"}.fa-optin-monster{--fa:"\f23c"}.fa-opencart{--fa:"\f23d"}.fa-expeditedssl{--fa:"\f23e"}.fa-cc-jcb{--fa:"\f24b"}.fa-cc-diners-club{--fa:"\f24c"}.fa-creative-commons{--fa:"\f25e"}.fa-gg{--fa:"\f260"}.fa-gg-circle{--fa:"\f261"}.fa-odnoklassniki{--fa:"\f263"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-get-pocket{--fa:"\f265"}.fa-wikipedia-w{--fa:"\f266"}.fa-safari{--fa:"\f267"}.fa-chrome{--fa:"\f268"}.fa-firefox{--fa:"\f269"}.fa-opera{--fa:"\f26a"}.fa-internet-explorer{--fa:"\f26b"}.fa-contao{--fa:"\f26d"}.fa-500px{--fa:"\f26e"}.fa-amazon{--fa:"\f270"}.fa-houzz{--fa:"\f27c"}.fa-vimeo-v{--fa:"\f27d"}.fa-black-tie{--fa:"\f27e"}.fa-fonticons{--fa:"\f280"}.fa-reddit-alien{--fa:"\f281"}.fa-edge{--fa:"\f282"}.fa-codiepie{--fa:"\f284"}.fa-modx{--fa:"\f285"}.fa-fort-awesome{--fa:"\f286"}.fa-usb{--fa:"\f287"}.fa-product-hunt{--fa:"\f288"}.fa-mixcloud{--fa:"\f289"}.fa-scribd{--fa:"\f28a"}.fa-bluetooth{--fa:"\f293"}.fa-bluetooth-b{--fa:"\f294"}.fa-gitlab{--fa:"\f296"}.fa-wpbeginner{--fa:"\f297"}.fa-wpforms{--fa:"\f298"}.fa-envira{--fa:"\f299"}.fa-glide{--fa:"\f2a5"}.fa-glide-g{--fa:"\f2a6"}.fa-viadeo{--fa:"\f2a9"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-pied-piper{--fa:"\f2ae"}.fa-first-order{--fa:"\f2b0"}.fa-yoast{--fa:"\f2b1"}.fa-themeisle{--fa:"\f2b2"}.fa-google-plus{--fa:"\f2b3"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-linode{--fa:"\f2b8"}.fa-quora{--fa:"\f2c4"}.fa-free-code-camp{--fa:"\f2c5"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-bandcamp{--fa:"\f2d5"}.fa-grav{--fa:"\f2d6"}.fa-etsy{--fa:"\f2d7"}.fa-imdb{--fa:"\f2d8"}.fa-ravelry{--fa:"\f2d9"}.fa-sellcast{--fa:"\f2da"}.fa-superpowers{--fa:"\f2dd"}.fa-wpexplorer{--fa:"\f2de"}.fa-meetup{--fa:"\f2e0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-accessible-icon{--fa:"\f368"}.fa-accusoft{--fa:"\f369"}.fa-adversal{--fa:"\f36a"}.fa-affiliatetheme{--fa:"\f36b"}.fa-algolia{--fa:"\f36c"}.fa-amilia{--fa:"\f36d"}.fa-angrycreative{--fa:"\f36e"}.fa-app-store{--fa:"\f36f"}.fa-app-store-ios{--fa:"\f370"}.fa-apper{--fa:"\f371"}.fa-asymmetrik{--fa:"\f372"}.fa-audible{--fa:"\f373"}.fa-avianex{--fa:"\f374"}.fa-aws{--fa:"\f375"}.fa-bimobject{--fa:"\f378"}.fa-bitcoin{--fa:"\f379"}.fa-bity{--fa:"\f37a"}.fa-blackberry{--fa:"\f37b"}.fa-blogger{--fa:"\f37c"}.fa-blogger-b{--fa:"\f37d"}.fa-buromobelexperte{--fa:"\f37f"}.fa-centercode{--fa:"\f380"}.fa-cloudscale{--fa:"\f383"}.fa-cloudsmith{--fa:"\f384"}.fa-cloudversify{--fa:"\f385"}.fa-cpanel{--fa:"\f388"}.fa-css3-alt{--fa:"\f38b"}.fa-cuttlefish{--fa:"\f38c"}.fa-d-and-d{--fa:"\f38d"}.fa-deploydog{--fa:"\f38e"}.fa-deskpro{--fa:"\f38f"}.fa-digital-ocean{--fa:"\f391"}.fa-discord{--fa:"\f392"}.fa-discourse{--fa:"\f393"}.fa-dochub{--fa:"\f394"}.fa-docker{--fa:"\f395"}.fa-draft2digital{--fa:"\f396"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-dyalog{--fa:"\f399"}.fa-earlybirds{--fa:"\f39a"}.fa-erlang{--fa:"\f39d"}.fa-facebook-f{--fa:"\f39e"}.fa-facebook-messenger{--fa:"\f39f"}.fa-firstdraft{--fa:"\f3a1"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-freebsd{--fa:"\f3a4"}.fa-gitkraken{--fa:"\f3a6"}.fa-gofore{--fa:"\f3a7"}.fa-goodreads{--fa:"\f3a8"}.fa-goodreads-g{--fa:"\f3a9"}.fa-google-drive{--fa:"\f3aa"}.fa-google-play{--fa:"\f3ab"}.fa-gripfire{--fa:"\f3ac"}.fa-grunt{--fa:"\f3ad"}.fa-gulp{--fa:"\f3ae"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-hotjar{--fa:"\f3b1"}.fa-hubspot{--fa:"\f3b2"}.fa-itunes{--fa:"\f3b4"}.fa-itunes-note{--fa:"\f3b5"}.fa-jenkins{--fa:"\f3b6"}.fa-joget{--fa:"\f3b7"}.fa-js{--fa:"\f3b8"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-keycdn{--fa:"\f3ba"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-laravel{--fa:"\f3bd"}.fa-line{--fa:"\f3c0"}.fa-lyft{--fa:"\f3c3"}.fa-magento{--fa:"\f3c4"}.fa-medapps{--fa:"\f3c6"}.fa-medrt{--fa:"\f3c8"}.fa-microsoft{--fa:"\f3ca"}.fa-mix{--fa:"\f3cb"}.fa-mizuni{--fa:"\f3cc"}.fa-monero{--fa:"\f3d0"}.fa-napster{--fa:"\f3d2"}.fa-node-js{--fa:"\f3d3"}.fa-npm{--fa:"\f3d4"}.fa-ns8{--fa:"\f3d5"}.fa-nutritionix{--fa:"\f3d6"}.fa-page4{--fa:"\f3d7"}.fa-palfed{--fa:"\f3d8"}.fa-patreon{--fa:"\f3d9"}.fa-periscope{--fa:"\f3da"}.fa-phabricator{--fa:"\f3db"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-playstation{--fa:"\f3df"}.fa-pushed{--fa:"\f3e1"}.fa-python{--fa:"\f3e2"}.fa-red-river{--fa:"\f3e3"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-replyd{--fa:"\f3e6"}.fa-resolving{--fa:"\f3e7"}.fa-rocketchat{--fa:"\f3e8"}.fa-rockrms{--fa:"\f3e9"}.fa-schlix{--fa:"\f3ea"}.fa-searchengin{--fa:"\f3eb"}.fa-servicestack{--fa:"\f3ec"}.fa-sistrix{--fa:"\f3ee"}.fa-speakap{--fa:"\f3f3"}.fa-staylinked{--fa:"\f3f5"}.fa-steam-symbol{--fa:"\f3f6"}.fa-sticker-mule{--fa:"\f3f7"}.fa-studiovinari{--fa:"\f3f8"}.fa-supple{--fa:"\f3f9"}.fa-uber{--fa:"\f402"}.fa-uikit{--fa:"\f403"}.fa-uniregistry{--fa:"\f404"}.fa-untappd{--fa:"\f405"}.fa-ussunnah{--fa:"\f407"}.fa-vaadin{--fa:"\f408"}.fa-viber{--fa:"\f409"}.fa-vimeo{--fa:"\f40a"}.fa-vnv{--fa:"\f40b"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-whmcs{--fa:"\f40d"}.fa-wordpress-simple{--fa:"\f411"}.fa-xbox{--fa:"\f412"}.fa-yandex{--fa:"\f413"}.fa-yandex-international{--fa:"\f414"}.fa-apple-pay{--fa:"\f415"}.fa-cc-apple-pay{--fa:"\f416"}.fa-fly{--fa:"\f417"}.fa-node{--fa:"\f419"}.fa-osi{--fa:"\f41a"}.fa-react{--fa:"\f41b"}.fa-autoprefixer{--fa:"\f41c"}.fa-less{--fa:"\f41d"}.fa-sass{--fa:"\f41e"}.fa-vuejs{--fa:"\f41f"}.fa-angular{--fa:"\f420"}.fa-aviato{--fa:"\f421"}.fa-ember{--fa:"\f423"}.fa-gitter{--fa:"\f426"}.fa-hooli{--fa:"\f427"}.fa-strava{--fa:"\f428"}.fa-stripe{--fa:"\f429"}.fa-stripe-s{--fa:"\f42a"}.fa-typo3{--fa:"\f42b"}.fa-amazon-pay{--fa:"\f42c"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-ethereum{--fa:"\f42e"}.fa-korvue{--fa:"\f42f"}.fa-elementor{--fa:"\f430"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-flipboard{--fa:"\f44d"}.fa-hips{--fa:"\f452"}.fa-php{--fa:"\f457"}.fa-quinscape{--fa:"\f459"}.fa-readme{--fa:"\f4d5"}.fa-java{--fa:"\f4e4"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-ebay{--fa:"\f4f4"}.fa-keybase{--fa:"\f4f5"}.fa-mastodon{--fa:"\f4f6"}.fa-r-project{--fa:"\f4f7"}.fa-researchgate{--fa:"\f4f8"}.fa-teamspeak{--fa:"\f4f9"}.fa-first-order-alt{--fa:"\f50a"}.fa-fulcrum{--fa:"\f50b"}.fa-galactic-republic{--fa:"\f50c"}.fa-galactic-senate{--fa:"\f50d"}.fa-jedi-order{--fa:"\f50e"}.fa-mandalorian{--fa:"\f50f"}.fa-old-republic{--fa:"\f510"}.fa-phoenix-squadron{--fa:"\f511"}.fa-sith{--fa:"\f512"}.fa-trade-federation{--fa:"\f513"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-hornbill{--fa:"\f592"}.fa-mailchimp{--fa:"\f59e"}.fa-megaport{--fa:"\f5a3"}.fa-nimblr{--fa:"\f5a8"}.fa-rev{--fa:"\f5b2"}.fa-shopware{--fa:"\f5b5"}.fa-squarespace{--fa:"\f5be"}.fa-themeco{--fa:"\f5c6"}.fa-weebly{--fa:"\f5cc"}.fa-wix{--fa:"\f5cf"}.fa-ello{--fa:"\f5f1"}.fa-hackerrank{--fa:"\f5f7"}.fa-kaggle{--fa:"\f5fa"}.fa-markdown{--fa:"\f60f"}.fa-neos{--fa:"\f612"}.fa-zhihu{--fa:"\f63f"}.fa-alipay{--fa:"\f642"}.fa-the-red-yeti{--fa:"\f69d"}.fa-critical-role{--fa:"\f6c9"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-dev{--fa:"\f6cc"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-think-peaks{--fa:"\f731"}.fa-reacteurope{--fa:"\f75d"}.fa-artstation{--fa:"\f77a"}.fa-atlassian{--fa:"\f77b"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-centos{--fa:"\f789"}.fa-confluence{--fa:"\f78d"}.fa-dhl{--fa:"\f790"}.fa-diaspora{--fa:"\f791"}.fa-fedex{--fa:"\f797"}.fa-fedora{--fa:"\f798"}.fa-figma{--fa:"\f799"}.fa-intercom{--fa:"\f7af"}.fa-invision{--fa:"\f7b0"}.fa-jira{--fa:"\f7b1"}.fa-mendeley{--fa:"\f7b3"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-redhat{--fa:"\f7bc"}.fa-sketch{--fa:"\f7c6"}.fa-sourcetree{--fa:"\f7d3"}.fa-suse{--fa:"\f7d6"}.fa-ubuntu{--fa:"\f7df"}.fa-ups{--fa:"\f7e0"}.fa-usps{--fa:"\f7e1"}.fa-yarn{--fa:"\f7e3"}.fa-airbnb{--fa:"\f834"}.fa-battle-net{--fa:"\f835"}.fa-bootstrap{--fa:"\f836"}.fa-buffer{--fa:"\f837"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-itch-io{--fa:"\f83a"}.fa-salesforce{--fa:"\f83b"}.fa-speaker-deck{--fa:"\f83c"}.fa-symfony{--fa:"\f83d"}.fa-waze{--fa:"\f83f"}.fa-yammer{--fa:"\f840"}.fa-git-alt{--fa:"\f841"}.fa-stackpath{--fa:"\f842"}.fa-cotton-bureau{--fa:"\f89e"}.fa-buy-n-large{--fa:"\f8a6"}.fa-mdb{--fa:"\f8ca"}.fa-orcid{--fa:"\f8d2"}.fa-swift{--fa:"\f8e1"}.fa-umbraco{--fa:"\f8e8"}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
     9:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:"\e007"}.fa-ideal{--fa:"\e013"}.fa-microblog{--fa:"\e01a"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-unity{--fa:"\e049"}.fa-dailymotion{--fa:"\e052"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-mixer{--fa:"\e056"}.fa-shopify{--fa:"\e057"}.fa-deezer{--fa:"\e077"}.fa-edge-legacy{--fa:"\e078"}.fa-google-pay{--fa:"\e079"}.fa-rust{--fa:"\e07a"}.fa-tiktok{--fa:"\e07b"}.fa-unsplash{--fa:"\e07c"}.fa-cloudflare{--fa:"\e07d"}.fa-guilded{--fa:"\e07e"}.fa-hive{--fa:"\e07f"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-instalod{--fa:"\e081"}.fa-octopus-deploy{--fa:"\e082"}.fa-perbyte{--fa:"\e083"}.fa-uncharted{--fa:"\e084"}.fa-watchman-monitoring{--fa:"\e087"}.fa-wodu{--fa:"\e088"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-bots{--fa:"\e340"}.fa-cmplid{--fa:"\e360"}.fa-bilibili{--fa:"\e3d9"}.fa-golang{--fa:"\e40f"}.fa-pix{--fa:"\e43a"}.fa-sitrox{--fa:"\e44a"}.fa-hashnode{--fa:"\e499"}.fa-meta{--fa:"\e49b"}.fa-padlet{--fa:"\e4a0"}.fa-nfc-directional{--fa:"\e530"}.fa-nfc-symbol{--fa:"\e531"}.fa-screenpal{--fa:"\e570"}.fa-space-awesome{--fa:"\e5ac"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-odysee{--fa:"\e5c6"}.fa-stubber{--fa:"\e5c7"}.fa-debian{--fa:"\e60b"}.fa-shoelace{--fa:"\e60c"}.fa-threads{--fa:"\e618"}.fa-square-threads{--fa:"\e619"}.fa-square-x-twitter{--fa:"\e61a"}.fa-x-twitter{--fa:"\e61b"}.fa-opensuse{--fa:"\e62b"}.fa-letterboxd{--fa:"\e62d"}.fa-square-letterboxd{--fa:"\e62e"}.fa-mintbit{--fa:"\e62f"}.fa-google-scholar{--fa:"\e63b"}.fa-brave{--fa:"\e63c"}.fa-brave-reverse{--fa:"\e63d"}.fa-pixiv{--fa:"\e640"}.fa-upwork{--fa:"\e641"}.fa-webflow{--fa:"\e65c"}.fa-signal-messenger{--fa:"\e663"}.fa-bluesky{--fa:"\e671"}.fa-jxl{--fa:"\e67b"}.fa-square-upwork{--fa:"\e67c"}.fa-web-awesome{--fa:"\e682"}.fa-square-web-awesome{--fa:"\e683"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-dart-lang{--fa:"\e693"}.fa-flutter{--fa:"\e694"}.fa-files-pinwheel{--fa:"\e69f"}.fa-css{--fa:"\e6a2"}.fa-square-bluesky{--fa:"\e6a3"}.fa-openai{--fa:"\e7cf"}.fa-square-linkedin{--fa:"\e7d0"}.fa-cash-app{--fa:"\e7d4"}.fa-disqus{--fa:"\e7d5"}.fa-11ty,.fa-eleventy{--fa:"\e7d6"}.fa-kakao-talk{--fa:"\e7d7"}.fa-linktree{--fa:"\e7d8"}.fa-notion{--fa:"\e7d9"}.fa-pandora{--fa:"\e7da"}.fa-pixelfed{--fa:"\e7db"}.fa-tidal{--fa:"\e7dc"}.fa-vsco{--fa:"\e7dd"}.fa-w3c{--fa:"\e7de"}.fa-lumon{--fa:"\e7e2"}.fa-lumon-drop{--fa:"\e7e3"}.fa-square-figma{--fa:"\e7e4"}.fa-tex{--fa:"\e7ff"}.fa-duolingo{--fa:"\e812"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-linkedin{--fa:"\f08c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-twitter{--fa:"\f099"}.fa-facebook{--fa:"\f09a"}.fa-github{--fa:"\f09b"}.fa-pinterest{--fa:"\f0d2"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-google-plus-g{--fa:"\f0d5"}.fa-linkedin-in{--fa:"\f0e1"}.fa-github-alt{--fa:"\f113"}.fa-maxcdn{--fa:"\f136"}.fa-html5{--fa:"\f13b"}.fa-css3{--fa:"\f13c"}.fa-btc{--fa:"\f15a"}.fa-youtube{--fa:"\f167"}.fa-xing{--fa:"\f168"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-dropbox{--fa:"\f16b"}.fa-stack-overflow{--fa:"\f16c"}.fa-instagram{--fa:"\f16d"}.fa-flickr{--fa:"\f16e"}.fa-adn{--fa:"\f170"}.fa-bitbucket{--fa:"\f171"}.fa-tumblr{--fa:"\f173"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-apple{--fa:"\f179"}.fa-windows{--fa:"\f17a"}.fa-android{--fa:"\f17b"}.fa-linux{--fa:"\f17c"}.fa-dribbble{--fa:"\f17d"}.fa-skype{--fa:"\f17e"}.fa-foursquare{--fa:"\f180"}.fa-trello{--fa:"\f181"}.fa-gratipay{--fa:"\f184"}.fa-vk{--fa:"\f189"}.fa-weibo{--fa:"\f18a"}.fa-renren{--fa:"\f18b"}.fa-pagelines{--fa:"\f18c"}.fa-stack-exchange{--fa:"\f18d"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-WordPress{--fa:"\f19a"}.fa-openid{--fa:"\f19b"}.fa-yahoo{--fa:"\f19e"}.fa-google{--fa:"\f1a0"}.fa-reddit{--fa:"\f1a1"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-stumbleupon{--fa:"\f1a4"}.fa-delicious{--fa:"\f1a5"}.fa-digg{--fa:"\f1a6"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-drupal{--fa:"\f1a9"}.fa-joomla{--fa:"\f1aa"}.fa-behance{--fa:"\f1b4"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-steam{--fa:"\f1b6"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-spotify{--fa:"\f1bc"}.fa-deviantart{--fa:"\f1bd"}.fa-soundcloud{--fa:"\f1be"}.fa-vine{--fa:"\f1ca"}.fa-codepen{--fa:"\f1cb"}.fa-jsfiddle{--fa:"\f1cc"}.fa-rebel{--fa:"\f1d0"}.fa-empire{--fa:"\f1d1"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-git{--fa:"\f1d3"}.fa-hacker-news{--fa:"\f1d4"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-qq{--fa:"\f1d6"}.fa-weixin{--fa:"\f1d7"}.fa-slideshare{--fa:"\f1e7"}.fa-twitch{--fa:"\f1e8"}.fa-yelp{--fa:"\f1e9"}.fa-paypal{--fa:"\f1ed"}.fa-google-wallet{--fa:"\f1ee"}.fa-cc-visa{--fa:"\f1f0"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-cc-discover{--fa:"\f1f2"}.fa-cc-amex{--fa:"\f1f3"}.fa-cc-paypal{--fa:"\f1f4"}.fa-cc-stripe{--fa:"\f1f5"}.fa-lastfm{--fa:"\f202"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-ioxhost{--fa:"\f208"}.fa-angellist{--fa:"\f209"}.fa-buysellads{--fa:"\f20d"}.fa-connectdevelop{--fa:"\f20e"}.fa-dashcube{--fa:"\f210"}.fa-forumbee{--fa:"\f211"}.fa-leanpub{--fa:"\f212"}.fa-sellsy{--fa:"\f213"}.fa-shirtsinbulk{--fa:"\f214"}.fa-simplybuilt{--fa:"\f215"}.fa-skyatlas{--fa:"\f216"}.fa-pinterest-p{--fa:"\f231"}.fa-whatsapp{--fa:"\f232"}.fa-viacoin{--fa:"\f237"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-y-combinator{--fa:"\f23b"}.fa-optin-monster{--fa:"\f23c"}.fa-opencart{--fa:"\f23d"}.fa-expeditedssl{--fa:"\f23e"}.fa-cc-jcb{--fa:"\f24b"}.fa-cc-diners-club{--fa:"\f24c"}.fa-creative-commons{--fa:"\f25e"}.fa-gg{--fa:"\f260"}.fa-gg-circle{--fa:"\f261"}.fa-odnoklassniki{--fa:"\f263"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-get-pocket{--fa:"\f265"}.fa-wikipedia-w{--fa:"\f266"}.fa-safari{--fa:"\f267"}.fa-chrome{--fa:"\f268"}.fa-firefox{--fa:"\f269"}.fa-opera{--fa:"\f26a"}.fa-internet-explorer{--fa:"\f26b"}.fa-contao{--fa:"\f26d"}.fa-500px{--fa:"\f26e"}.fa-amazon{--fa:"\f270"}.fa-houzz{--fa:"\f27c"}.fa-vimeo-v{--fa:"\f27d"}.fa-black-tie{--fa:"\f27e"}.fa-fonticons{--fa:"\f280"}.fa-reddit-alien{--fa:"\f281"}.fa-edge{--fa:"\f282"}.fa-codiepie{--fa:"\f284"}.fa-modx{--fa:"\f285"}.fa-fort-awesome{--fa:"\f286"}.fa-usb{--fa:"\f287"}.fa-product-hunt{--fa:"\f288"}.fa-mixcloud{--fa:"\f289"}.fa-scribd{--fa:"\f28a"}.fa-bluetooth{--fa:"\f293"}.fa-bluetooth-b{--fa:"\f294"}.fa-gitlab{--fa:"\f296"}.fa-wpbeginner{--fa:"\f297"}.fa-wpforms{--fa:"\f298"}.fa-envira{--fa:"\f299"}.fa-glide{--fa:"\f2a5"}.fa-glide-g{--fa:"\f2a6"}.fa-viadeo{--fa:"\f2a9"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-pied-piper{--fa:"\f2ae"}.fa-first-order{--fa:"\f2b0"}.fa-yoast{--fa:"\f2b1"}.fa-themeisle{--fa:"\f2b2"}.fa-google-plus{--fa:"\f2b3"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-linode{--fa:"\f2b8"}.fa-quora{--fa:"\f2c4"}.fa-free-code-camp{--fa:"\f2c5"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-bandcamp{--fa:"\f2d5"}.fa-grav{--fa:"\f2d6"}.fa-etsy{--fa:"\f2d7"}.fa-imdb{--fa:"\f2d8"}.fa-ravelry{--fa:"\f2d9"}.fa-sellcast{--fa:"\f2da"}.fa-superpowers{--fa:"\f2dd"}.fa-wpexplorer{--fa:"\f2de"}.fa-meetup{--fa:"\f2e0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-accessible-icon{--fa:"\f368"}.fa-accusoft{--fa:"\f369"}.fa-adversal{--fa:"\f36a"}.fa-affiliatetheme{--fa:"\f36b"}.fa-algolia{--fa:"\f36c"}.fa-amilia{--fa:"\f36d"}.fa-angrycreative{--fa:"\f36e"}.fa-app-store{--fa:"\f36f"}.fa-app-store-ios{--fa:"\f370"}.fa-apper{--fa:"\f371"}.fa-asymmetrik{--fa:"\f372"}.fa-audible{--fa:"\f373"}.fa-avianex{--fa:"\f374"}.fa-aws{--fa:"\f375"}.fa-bimobject{--fa:"\f378"}.fa-bitcoin{--fa:"\f379"}.fa-bity{--fa:"\f37a"}.fa-blackberry{--fa:"\f37b"}.fa-blogger{--fa:"\f37c"}.fa-blogger-b{--fa:"\f37d"}.fa-buromobelexperte{--fa:"\f37f"}.fa-centercode{--fa:"\f380"}.fa-cloudscale{--fa:"\f383"}.fa-cloudsmith{--fa:"\f384"}.fa-cloudversify{--fa:"\f385"}.fa-cpanel{--fa:"\f388"}.fa-css3-alt{--fa:"\f38b"}.fa-cuttlefish{--fa:"\f38c"}.fa-d-and-d{--fa:"\f38d"}.fa-deploydog{--fa:"\f38e"}.fa-deskpro{--fa:"\f38f"}.fa-digital-ocean{--fa:"\f391"}.fa-discord{--fa:"\f392"}.fa-discourse{--fa:"\f393"}.fa-dochub{--fa:"\f394"}.fa-docker{--fa:"\f395"}.fa-draft2digital{--fa:"\f396"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-dyalog{--fa:"\f399"}.fa-earlybirds{--fa:"\f39a"}.fa-erlang{--fa:"\f39d"}.fa-facebook-f{--fa:"\f39e"}.fa-facebook-messenger{--fa:"\f39f"}.fa-firstdraft{--fa:"\f3a1"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-freebsd{--fa:"\f3a4"}.fa-gitkraken{--fa:"\f3a6"}.fa-gofore{--fa:"\f3a7"}.fa-goodreads{--fa:"\f3a8"}.fa-goodreads-g{--fa:"\f3a9"}.fa-google-drive{--fa:"\f3aa"}.fa-google-play{--fa:"\f3ab"}.fa-gripfire{--fa:"\f3ac"}.fa-grunt{--fa:"\f3ad"}.fa-gulp{--fa:"\f3ae"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-hotjar{--fa:"\f3b1"}.fa-hubspot{--fa:"\f3b2"}.fa-itunes{--fa:"\f3b4"}.fa-itunes-note{--fa:"\f3b5"}.fa-jenkins{--fa:"\f3b6"}.fa-joget{--fa:"\f3b7"}.fa-js{--fa:"\f3b8"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-keycdn{--fa:"\f3ba"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-laravel{--fa:"\f3bd"}.fa-line{--fa:"\f3c0"}.fa-lyft{--fa:"\f3c3"}.fa-magento{--fa:"\f3c4"}.fa-medapps{--fa:"\f3c6"}.fa-medrt{--fa:"\f3c8"}.fa-microsoft{--fa:"\f3ca"}.fa-mix{--fa:"\f3cb"}.fa-mizuni{--fa:"\f3cc"}.fa-monero{--fa:"\f3d0"}.fa-napster{--fa:"\f3d2"}.fa-node-js{--fa:"\f3d3"}.fa-npm{--fa:"\f3d4"}.fa-ns8{--fa:"\f3d5"}.fa-nutritionix{--fa:"\f3d6"}.fa-page4{--fa:"\f3d7"}.fa-palfed{--fa:"\f3d8"}.fa-patreon{--fa:"\f3d9"}.fa-periscope{--fa:"\f3da"}.fa-phabricator{--fa:"\f3db"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-playstation{--fa:"\f3df"}.fa-pushed{--fa:"\f3e1"}.fa-python{--fa:"\f3e2"}.fa-red-river{--fa:"\f3e3"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-replyd{--fa:"\f3e6"}.fa-resolving{--fa:"\f3e7"}.fa-rocketchat{--fa:"\f3e8"}.fa-rockrms{--fa:"\f3e9"}.fa-schlix{--fa:"\f3ea"}.fa-searchengin{--fa:"\f3eb"}.fa-servicestack{--fa:"\f3ec"}.fa-sistrix{--fa:"\f3ee"}.fa-speakap{--fa:"\f3f3"}.fa-staylinked{--fa:"\f3f5"}.fa-steam-symbol{--fa:"\f3f6"}.fa-sticker-mule{--fa:"\f3f7"}.fa-studiovinari{--fa:"\f3f8"}.fa-supple{--fa:"\f3f9"}.fa-uber{--fa:"\f402"}.fa-uikit{--fa:"\f403"}.fa-uniregistry{--fa:"\f404"}.fa-untappd{--fa:"\f405"}.fa-ussunnah{--fa:"\f407"}.fa-vaadin{--fa:"\f408"}.fa-viber{--fa:"\f409"}.fa-vimeo{--fa:"\f40a"}.fa-vnv{--fa:"\f40b"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-whmcs{--fa:"\f40d"}.fa-WordPress-simple{--fa:"\f411"}.fa-xbox{--fa:"\f412"}.fa-yandex{--fa:"\f413"}.fa-yandex-international{--fa:"\f414"}.fa-apple-pay{--fa:"\f415"}.fa-cc-apple-pay{--fa:"\f416"}.fa-fly{--fa:"\f417"}.fa-node{--fa:"\f419"}.fa-osi{--fa:"\f41a"}.fa-react{--fa:"\f41b"}.fa-autoprefixer{--fa:"\f41c"}.fa-less{--fa:"\f41d"}.fa-sass{--fa:"\f41e"}.fa-vuejs{--fa:"\f41f"}.fa-angular{--fa:"\f420"}.fa-aviato{--fa:"\f421"}.fa-ember{--fa:"\f423"}.fa-gitter{--fa:"\f426"}.fa-hooli{--fa:"\f427"}.fa-strava{--fa:"\f428"}.fa-stripe{--fa:"\f429"}.fa-stripe-s{--fa:"\f42a"}.fa-typo3{--fa:"\f42b"}.fa-amazon-pay{--fa:"\f42c"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-ethereum{--fa:"\f42e"}.fa-korvue{--fa:"\f42f"}.fa-elementor{--fa:"\f430"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-flipboard{--fa:"\f44d"}.fa-hips{--fa:"\f452"}.fa-php{--fa:"\f457"}.fa-quinscape{--fa:"\f459"}.fa-readme{--fa:"\f4d5"}.fa-java{--fa:"\f4e4"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-ebay{--fa:"\f4f4"}.fa-keybase{--fa:"\f4f5"}.fa-mastodon{--fa:"\f4f6"}.fa-r-project{--fa:"\f4f7"}.fa-researchgate{--fa:"\f4f8"}.fa-teamspeak{--fa:"\f4f9"}.fa-first-order-alt{--fa:"\f50a"}.fa-fulcrum{--fa:"\f50b"}.fa-galactic-republic{--fa:"\f50c"}.fa-galactic-senate{--fa:"\f50d"}.fa-jedi-order{--fa:"\f50e"}.fa-mandalorian{--fa:"\f50f"}.fa-old-republic{--fa:"\f510"}.fa-phoenix-squadron{--fa:"\f511"}.fa-sith{--fa:"\f512"}.fa-trade-federation{--fa:"\f513"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-hornbill{--fa:"\f592"}.fa-mailchimp{--fa:"\f59e"}.fa-megaport{--fa:"\f5a3"}.fa-nimblr{--fa:"\f5a8"}.fa-rev{--fa:"\f5b2"}.fa-shopware{--fa:"\f5b5"}.fa-squarespace{--fa:"\f5be"}.fa-themeco{--fa:"\f5c6"}.fa-weebly{--fa:"\f5cc"}.fa-wix{--fa:"\f5cf"}.fa-ello{--fa:"\f5f1"}.fa-hackerrank{--fa:"\f5f7"}.fa-kaggle{--fa:"\f5fa"}.fa-markdown{--fa:"\f60f"}.fa-neos{--fa:"\f612"}.fa-zhihu{--fa:"\f63f"}.fa-alipay{--fa:"\f642"}.fa-the-red-yeti{--fa:"\f69d"}.fa-critical-role{--fa:"\f6c9"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-dev{--fa:"\f6cc"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-think-peaks{--fa:"\f731"}.fa-reacteurope{--fa:"\f75d"}.fa-artstation{--fa:"\f77a"}.fa-atlassian{--fa:"\f77b"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-centos{--fa:"\f789"}.fa-confluence{--fa:"\f78d"}.fa-dhl{--fa:"\f790"}.fa-diaspora{--fa:"\f791"}.fa-fedex{--fa:"\f797"}.fa-fedora{--fa:"\f798"}.fa-figma{--fa:"\f799"}.fa-intercom{--fa:"\f7af"}.fa-invision{--fa:"\f7b0"}.fa-jira{--fa:"\f7b1"}.fa-mendeley{--fa:"\f7b3"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-redhat{--fa:"\f7bc"}.fa-sketch{--fa:"\f7c6"}.fa-sourcetree{--fa:"\f7d3"}.fa-suse{--fa:"\f7d6"}.fa-ubuntu{--fa:"\f7df"}.fa-ups{--fa:"\f7e0"}.fa-usps{--fa:"\f7e1"}.fa-yarn{--fa:"\f7e3"}.fa-airbnb{--fa:"\f834"}.fa-battle-net{--fa:"\f835"}.fa-bootstrap{--fa:"\f836"}.fa-buffer{--fa:"\f837"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-itch-io{--fa:"\f83a"}.fa-salesforce{--fa:"\f83b"}.fa-speaker-deck{--fa:"\f83c"}.fa-symfony{--fa:"\f83d"}.fa-waze{--fa:"\f83f"}.fa-yammer{--fa:"\f840"}.fa-git-alt{--fa:"\f841"}.fa-stackpath{--fa:"\f842"}.fa-cotton-bureau{--fa:"\f89e"}.fa-buy-n-large{--fa:"\f8a6"}.fa-mdb{--fa:"\f8ca"}.fa-orcid{--fa:"\f8d2"}.fa-swift{--fa:"\f8e1"}.fa-umbraco{--fa:"\f8e8"}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
  • tour-manager/1.6/functions.php

    r353398 r356252  
    33 * Tour Manager functions and definitions
    44 *
    5  * @link https://developer.wordpress.org/themes/basics/theme-functions/
     5 * @link https://developer.WordPress.org/themes/basics/theme-functions/
    66 *
    77 * @package Tour Manager
    … …  
    100100        require_once get_theme_file_path( '/inc/customizer.php' );
    101101
     102        // Getting Started page slug and URL (needed before the wizard loads).
     103        if ( ! defined( 'TOUR_MANAGER_GETTING_STARTED_SLUG' ) ) {
     104                define( 'TOUR_MANAGER_GETTING_STARTED_SLUG', 'tourmanager-wizard' );
     105        }
     106        if ( ! defined( 'TOUR_MANAGER_GETTING_STARTED_URL' ) ) {
     107                define( 'TOUR_MANAGER_GETTING_STARTED_URL', admin_url( 'themes.php?page=' . TOUR_MANAGER_GETTING_STARTED_SLUG ) );
     108        }
     109
    102110        /**
    103      * Demo Import
    104      */
    105     require get_parent_theme_file_path( '/inc/get-started/demo-import-settings.php' );
    106 
    107     if ( ! defined( 'TOUR_MANAGER_FREE_THEME_URL' ) ) {
    108         define( 'TOUR_MANAGER_FREE_THEME_URL', 'https://www.seothemesexpert.com/products/tour-manager' );
    109     }
    110     if ( ! defined( 'TOUR_MANAGER_PRO_THEME_URL' ) ) {
    111         define( 'TOUR_MANAGER_PRO_THEME_URL', 'https://www.seothemesexpert.com/products/travel-agent-website-template' );
    112     }
    113     if ( ! defined( 'TOUR_MANAGER_FREE_DOC_URL' ) ) {
    114         define( 'TOUR_MANAGER_FREE_DOC_URL', 'https://demo.seothemesexpert.com/documentation/expert-travel-agent-pro/' );
    115     }
    116     if ( ! defined( 'TOUR_MANAGER_DEMO_THEME_URL' ) ) {
    117         define( 'TOUR_MANAGER_DEMO_THEME_URL', 'https://demo.seothemesexpert.com/expert-travel-agent/' );
    118     }
    119     if ( ! defined( 'TOUR_MANAGER_RATE_THEME_URL' ) ) {
    120         define( 'TOUR_MANAGER_RATE_THEME_URL', 'https://wordpress.org/support/theme/tour-manager/reviews/' );
    121     }
    122     if ( ! defined( 'TOUR_MANAGER_SUPPORT_THEME_URL' ) ) {
    123         define( 'TOUR_MANAGER_SUPPORT_THEME_URL', 'https://wordpress.org/support/theme/tour-manager/' );
    124     }
    125     if ( ! defined( 'TOUR_MANAGER_THEME_BUNDLE_URL' ) ) {
    126         define( 'TOUR_MANAGER_THEME_BUNDLE_URL', 'https://www.seothemesexpert.com/products/wordpress-theme-bundle' );
    127     }
     111         * Demo Import (also loads TGM)
     112         */
     113        require get_parent_theme_file_path( '/inc/get-started/demo-import-settings.php' );
     114
     115        if ( ! defined( 'TOUR_MANAGER_FREE_THEME_URL' ) ) {
     116                define( 'TOUR_MANAGER_FREE_THEME_URL', 'https://www.seothemesexpert.com/products/tour-manager' );
     117        }
     118        if ( ! defined( 'TOUR_MANAGER_PRO_THEME_URL' ) ) {
     119                define( 'TOUR_MANAGER_PRO_THEME_URL', 'https://www.seothemesexpert.com/products/travel-agent-website-template' );
     120        }
     121        if ( ! defined( 'TOUR_MANAGER_FREE_DOC_URL' ) ) {
     122                define( 'TOUR_MANAGER_FREE_DOC_URL', 'https://demo.seothemesexpert.com/documentation/expert-travel-agent-pro/' );
     123        }
     124        if ( ! defined( 'TOUR_MANAGER_DEMO_THEME_URL' ) ) {
     125                define( 'TOUR_MANAGER_DEMO_THEME_URL', 'https://demo.seothemesexpert.com/expert-travel-agent/' );
     126        }
     127        if ( ! defined( 'TOUR_MANAGER_RATE_THEME_URL' ) ) {
     128                define( 'TOUR_MANAGER_RATE_THEME_URL', 'https://wordpress.org/support/theme/tour-manager/reviews/' );
     129        }
     130        if ( ! defined( 'TOUR_MANAGER_SUPPORT_THEME_URL' ) ) {
     131                define( 'TOUR_MANAGER_SUPPORT_THEME_URL', 'https://wordpress.org/support/theme/tour-manager/' );
     132        }
     133        if ( ! defined( 'TOUR_MANAGER_THEME_BUNDLE_URL' ) ) {
     134                define( 'TOUR_MANAGER_THEME_BUNDLE_URL', 'https://www.seothemesexpert.com/products/WordPress-theme-bundle' );
     135        }
     136
     137        // Prices (USD) and coupon shown on the Getting Started page.
     138        if ( ! defined( 'TOUR_MANAGER_PRO_PRICE' ) ) {
     139                define( 'TOUR_MANAGER_PRO_PRICE', 45 );
     140        }
     141        if ( ! defined( 'TOUR_MANAGER_BUNDLE_PRICE' ) ) {
     142                define( 'TOUR_MANAGER_BUNDLE_PRICE', 79 );
     143        }
     144        if ( ! defined( 'TOUR_MANAGER_BUNDLE_THEME_COUNT' ) ) {
     145                define( 'TOUR_MANAGER_BUNDLE_THEME_COUNT', 60 );
     146        }
     147        if ( ! defined( 'TOUR_MANAGER_COUPON_CODE' ) ) {
     148                define( 'TOUR_MANAGER_COUPON_CODE', 'STEPRO10' );
     149        }
     150        if ( ! defined( 'TOUR_MANAGER_COUPON_PERCENT' ) ) {
     151                define( 'TOUR_MANAGER_COUPON_PERCENT', 10 );
     152        }
     153        if ( ! defined( 'TOUR_MANAGER_BUNDLE_COUPON_CODE' ) ) {
     154                define( 'TOUR_MANAGER_BUNDLE_COUPON_CODE', 'EXPERT20' );
     155        }
     156        if ( ! defined( 'TOUR_MANAGER_BUNDLE_COUPON_PERCENT' ) ) {
     157                define( 'TOUR_MANAGER_BUNDLE_COUPON_PERCENT', 20 );
     158        }
     159
     160        // Time to wait before the upgrade popup shows again (48 hours).
     161        if ( ! defined( 'TOUR_MANAGER_POPUP_INTERVAL' ) ) {
     162                define( 'TOUR_MANAGER_POPUP_INTERVAL', 2 * DAY_IN_SECONDS );
     163        }
     164
    128165}
    129166add_action( 'after_setup_theme', 'tour_manager_init_setup' );
    130167
     168
     169/**
     170 * Getting Started state.
     171 *
     172 * Steps are stored in one option: plugins, homepage, customize or done.
     173 */
     174function tour_manager_get_setup_step() {
     175        return (string) get_option( 'tour_manager_setup_step', 'plugins' );
     176}
     177
     178function tour_manager_setup_is_complete() {
     179        return 'done' === tour_manager_get_setup_step();
     180}
     181
     182/**
     183 * Whether the welcome notice should be printed on this screen.
     184 *
     185 * It stays on every admin screen until the user clicks its close (x) button;
     186 * only the Getting Started page itself skips it.
     187 */
     188function tour_manager_show_welcome_notice() {
     189        if ( get_option( 'tour_manager_welcome_notice_dismissed' ) || ! current_user_can( 'edit_theme_options' ) ) {
     190                return false;
     191        }
     192        $tour_manager_screen = get_current_screen();
     193        return ! $tour_manager_screen || 'appearance_page_' . TOUR_MANAGER_GETTING_STARTED_SLUG !== $tour_manager_screen->id;
     194}
    131195
    132196// Show Admin Notice
    133197function tour_manager_promo_notice() {
    134     if (get_option('tour_manager_notice_dismissed')) {
    135         return;
    136     }
    137 
    138     if (isset($_GET['page']) && $_GET['page'] === 'tourmanager-wizard') {
    139         return;
    140     }
    141 
    142     $tour_manager_theme = wp_get_theme();
    143     $tour_manager_theme_title = $tour_manager_theme->get( 'Name' );
    144     $tour_manager_theme_version = $tour_manager_theme->get( 'Version' );
    145 
    146     ?>
    147     <div class="notice tour-manager-notice is-dismissible">
    148         <div>
    149             <h3>
    150                 <span><?php echo esc_html( '(Version: ' . $tour_manager_theme_version . ')' ); ?></span><br>
    151                 <?php esc_html_e( 'Thank you for choosing,', 'tour-manager'); ?>
    152                 <?php echo esc_html( $tour_manager_theme_title ); ?> <?php esc_html_e( '!!!', 'tour-manager'); ?>
    153             </h3>
    154             <p><?php esc_html_e( 'Welcome! You can now easily start building your website using our beautiful and user-friendly themes. No need to worry about setup — with our one-click demo importer, your site can look just like the demo in minutes. All the tools and information you need to get started are right here!', 'tour-manager'); ?></p>
    155             <a class="button button-primary tour-manager-buy-now" href="<?php echo esc_url(admin_url('themes.php?page=tourmanager-wizard')); ?>" target="_blank">
    156                 <?php esc_html_e( 'Get Started', 'tour-manager') ?>
    157             </a>
    158             <a class="button button-primary tour-manager-bundle-button" target="_blank" href="<?php echo esc_url( TOUR_MANAGER_THEME_BUNDLE_URL ); ?>">
    159                 <?php echo esc_html__( 'Get All 60+ Themes @ $79', 'tour-manager' ); ?>
    160             </a>
    161         </div>
    162         <div class="tour-manager-image-wrap">
    163             <img src="<?php echo esc_url(get_stylesheet_directory_uri() . '/screenshot.png'); ?>">
    164         </div>
    165         <canvas id="tour-manager-notice-confetti"></canvas>
    166     </div>
    167     <?php
    168 }
    169 add_action('admin_notices', 'tour_manager_promo_notice');
    170 
    171 add_action('wp_ajax_tour_manager_dismiss_notice', 'tour_manager_dismiss_notice');
     198        if ( ! tour_manager_show_welcome_notice() ) {
     199                return;
     200        }
     201
     202        $tour_manager_theme_title = wp_get_theme()->get( 'Name' );
     203        ?>
     204        <div class="notice expert-notice is-dismissible">
     205                <div class="expert-notice__thumb">
     206                        <img src="<?php echo esc_url( get_template_directory_uri() . '/screenshot.png' ); ?>" alt="">
     207                </div>
     208                <div class="expert-notice__text">
     209                        <p class="expert-notice__title">
     210                                <?php
     211                                /* translators: %s: Theme name. */
     212                                printf( esc_html__( 'Thanks for activating %s!', 'tour-manager' ), esc_html( $tour_manager_theme_title ) );
     213                                ?>
     214                        </p>
     215                        <p class="notice_para"><?php esc_html_e( 'Install the recommended plugins and make the homepage your own in about 4 minutes.', 'tour-manager' ); ?></p>
     216                </div>
     217                <div class="expert-notice__actions">
     218                        <a class="button button-primary expert-notice__start" href="<?php echo esc_url( TOUR_MANAGER_GETTING_STARTED_URL ); ?>">
     219                                <span class="dashicons dashicons-controls-play" aria-hidden="true"></span>
     220                                <?php esc_html_e( 'Start setup', 'tour-manager' ); ?>
     221                        </a>
     222                        <a class="button expert-notice__upgrade" href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" target="_blank" rel="noopener">
     223                                <span class="dashicons dashicons-star-filled" aria-hidden="true"></span>
     224                                <?php esc_html_e( 'Upgrade to Pro', 'tour-manager' ); ?>
     225                                <span class="expert-notice__tag">
     226                                        <?php
     227                                        /* translators: 1: Coupon code, 2: Discount percentage. */
     228                                        printf( esc_html__( '%1$s · %2$d%% off', 'tour-manager' ), '<code>' . esc_html( TOUR_MANAGER_COUPON_CODE ) . '</code>', (int) TOUR_MANAGER_COUPON_PERCENT );
     229                                        ?>
     230                                </span>
     231                        </a>
     232                        <a class="expert-notice__link" href="<?php echo esc_url( TOUR_MANAGER_DEMO_THEME_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'View demo', 'tour-manager' ); ?></a>
     233                </div>
     234        </div>
     235        <?php
     236}
     237add_action( 'admin_notices', 'tour_manager_promo_notice' );
     238
     239add_action( 'wp_ajax_tour_manager_dismiss_notice', 'tour_manager_dismiss_notice' );
    172240function tour_manager_dismiss_notice() {
    173     update_option('tour_manager_notice_dismissed', true);
    174     wp_send_json_success();
    175 }
    176 
    177 add_action('after_switch_theme', 'tour_manager_reset_notice_on_activation');
     241        check_ajax_referer( 'tour_manager_dismiss_notice', 'nonce' );
     242        if ( ! current_user_can( 'edit_theme_options' ) ) {
     243                wp_send_json_error();
     244        }
     245        update_option( 'tour_manager_welcome_notice_dismissed', true );
     246        wp_send_json_success();
     247}
     248
     249add_action( 'after_switch_theme', 'tour_manager_reset_notice_on_activation' );
    178250function tour_manager_reset_notice_on_activation() {
    179     delete_option('tour_manager_notice_dismissed');
    180 }
    181 
    182 function tour_manager_enqueue_admin_assets() {
    183     wp_enqueue_script(
    184         'tour-manager-confetti',
    185         get_template_directory_uri() . '/inc/get-started/assets/js/confetti/confetti.min.js',
    186         ['jquery'],
    187         null,
    188         true
    189     );
    190 
    191     wp_enqueue_script(
    192         'tour-manager-notice-confetti-js',
    193         get_template_directory_uri() . '/inc/get-started/assets/js/plugin-update-notice.js',
    194         ['tour-manager-confetti'],
    195         null,
    196         true
    197     );
    198 
    199     wp_enqueue_script(
    200         'tour-manager-notice-dismiss',
    201         get_template_directory_uri() . '/inc/get-started/assets/js/notice-dismiss.js',
    202         ['jquery'],
    203         null,
    204         true
    205     );
    206 }
    207 add_action('admin_enqueue_scripts', 'tour_manager_enqueue_admin_assets');
     251        delete_option( 'tour_manager_welcome_notice_dismissed' );
     252        // Show the upgrade popup again right after the theme is (re)activated.
     253        delete_option( 'tour_manager_popup_next_show' );
     254}
     255
     256/**
     257 * "Upgrade to Pro" link in the admin bar.
     258 */
     259function tour_manager_admin_bar_upgrade( $tour_manager_wp_admin_bar ) {
     260        if ( ! is_admin() || ! current_user_can( 'edit_theme_options' ) ) {
     261                return;
     262        }
     263        $tour_manager_wp_admin_bar->add_node(
     264                array(
     265                        'id'    => 'expert-upgrade',
     266                        'title' => '<span class="ab-icon" aria-hidden="true"></span><span class="ab-label">' . sprintf(
     267                                /* translators: %d: Discount percentage. */
     268                                esc_html__( 'Upgrade to Pro · %d%% off', 'tour-manager' ),
     269                                (int) TOUR_MANAGER_COUPON_PERCENT
     270                        ) . '</span>',
     271                        'href'  => esc_url( TOUR_MANAGER_PRO_THEME_URL ),
     272                        'meta'  => array(
     273                                'target' => '_blank',
     274                                'rel'    => 'noopener',
     275                        ),
     276                )
     277        );
     278}
     279add_action( 'admin_bar_menu', 'tour_manager_admin_bar_upgrade', 100 );
     280
     281function tour_manager_enqueue_admin_assets( $tour_manager_hook ) {
     282        // Notice, admin bar and menu styles are small and needed on every screen.
     283        wp_enqueue_style(
     284                'expert-admin',
     285                get_template_directory_uri() . '/inc/get-started/assets/css/expert-admin.css',
     286                array(),
     287                TOUR_MANAGER_VERSION
     288        );
     289
     290        if ( 'appearance_page_' . TOUR_MANAGER_GETTING_STARTED_SLUG === $tour_manager_hook ) {
     291                wp_enqueue_style(
     292                        'expert-getting-started',
     293                        get_template_directory_uri() . '/inc/get-started/assets/css/expert-getting-started.css',
     294                        array( 'expert-admin' ),
     295                        TOUR_MANAGER_VERSION
     296                );
     297        }
     298
     299        wp_enqueue_script(
     300                'expert-admin',
     301                get_template_directory_uri() . '/inc/get-started/assets/js/expert-admin.js',
     302                array( 'jquery' ),
     303                TOUR_MANAGER_VERSION,
     304                true
     305        );
     306
     307        wp_localize_script(
     308                'expert-admin',
     309                'expertAdminNotice',
     310                array(
     311                        'ajaxurl' => admin_url( 'admin-ajax.php' ),
     312                        'nonce'   => wp_create_nonce( 'tour_manager_dismiss_notice' ),
     313                )
     314        );
     315}
     316add_action( 'admin_enqueue_scripts', 'tour_manager_enqueue_admin_assets' );
  • tour-manager/1.6/inc/get-started/demo-import-contents.php

    r339390 r356252  
    22
    33/**
    4  * Wizard
     4 * Getting Started wizard
    55 *
    66 * @package Whizzie
    … …  
    1010
    1111class Whizzie {
    12        
    13         protected $version = '1.1.0';
    14        
     12
     13        protected $version = '2.0.0';
     14
    1515        /** @var string Current theme name, used as namespace in actions. */
    1616        protected $tour_manager_theme_name = '';
    1717        protected $tour_manager_theme_title = '';
    18        
     18
    1919        /** @var string Wizard page slug and title. */
    2020        protected $tour_manager_page_slug = '';
    2121        protected $tour_manager_page_title = '';
    22        
     22
    2323        /** @var array Wizard steps set by user. */
    2424        protected $config_steps = array();
    25        
     25
    2626        /**
    2727         * Relative plugin url for this plugin folder
    … …  
    3333        public $tour_manager_plugin_path;
    3434        public $parent_slug;
    35        
     35
    3636        /**
    3737         * TGMPA instance storage
    … …  
    4040         */
    4141        protected $tgmpa_instance;
    42        
     42
    4343        /**
    4444         * TGMPA Menu slug
    … …  
    4747         */
    4848        protected $tgmpa_menu_slug = 'tgmpa-install-plugins';
    49        
     49
    5050        /**
    5151         * TGMPA Menu url
    … …  
    5454         */
    5555        protected $tgmpa_url = 'themes.php?page=tgmpa-install-plugins';
    56        
     56
    5757        /**
    5858         * Constructor
    5959         *
    60          * @param $config       Our config parameters
    61          */
    62         public function __construct( $config ) {
    63                 $this->set_vars( $config );
     60         * @param $tour_manager_config  Our config parameters
     61         */
     62        public function __construct( $tour_manager_config ) {
     63                $this->set_vars( $tour_manager_config );
    6464                $this->init();
    6565        }
    66        
     66
    6767        /**
    6868         * Set some settings
    6969         * @since 1.0.0
    70          * @param $config       Our config parameters
    71          */
    72         public function set_vars( $config ) {
    73        
     70         * @param $tour_manager_config  Our config parameters
     71         */
     72        public function set_vars( $tour_manager_config ) {
     73
    7474                require_once trailingslashit( WHIZZIE_DIR ) . 'tgm/class-tgm-plugin-activation.php';
    7575                require_once trailingslashit( WHIZZIE_DIR ) . 'tgm/tgm.php';
    7676
    77                 if( isset( $config['tour_manager_page_slug'] ) ) {
    78                         $this->tour_manager_page_slug = esc_attr( $config['tour_manager_page_slug'] );
    79                 }
    80                 if( isset( $config['tour_manager_page_title'] ) ) {
    81                         $this->tour_manager_page_title = esc_attr( $config['tour_manager_page_title'] );
    82                 }
    83                 if( isset( $config['steps'] ) ) {
    84                         $this->config_steps = $config['steps'];
    85                 }
    86                
     77                if ( isset( $tour_manager_config['tour_manager_page_title'] ) ) {
     78                        $this->tour_manager_page_title = $tour_manager_config['tour_manager_page_title'];
     79                }
     80                if ( isset( $tour_manager_config['steps'] ) ) {
     81                        $this->config_steps = $tour_manager_config['steps'];
     82                }
     83
    8784                $this->tour_manager_plugin_path = trailingslashit( dirname( __FILE__ ) );
    88                 $relative_url = str_replace( get_template_directory(), '', $this->tour_manager_plugin_path );
    89                 $this->tour_manager_plugin_url = trailingslashit( get_template_directory_uri() . $relative_url );
     85                $tour_manager_relative_url = str_replace( get_template_directory(), '', $this->tour_manager_plugin_path );
     86                $this->tour_manager_plugin_url = trailingslashit( get_template_directory_uri() . $tour_manager_relative_url );
    9087                $tour_manager_current_theme = wp_get_theme();
    9188                $this->tour_manager_theme_title = $tour_manager_current_theme->get( 'Name' );
    9289                $this->tour_manager_theme_name = strtolower( preg_replace( '#[^a-zA-Z]#', '', $tour_manager_current_theme->get( 'Name' ) ) );
    93                 $this->tour_manager_page_slug = apply_filters( $this->tour_manager_theme_name . '_theme_setup_wizard_tour_manager_page_slug', $this->tour_manager_theme_name . '-wizard' );
     90                $this->tour_manager_page_slug = apply_filters( $this->tour_manager_theme_name . '_theme_setup_wizard_tour_manager_page_slug', TOUR_MANAGER_GETTING_STARTED_SLUG );
    9491                $this->parent_slug = apply_filters( $this->tour_manager_theme_name . '_theme_setup_wizard_parent_slug', '' );
    9592
    9693        }
    97        
     94
    9895        /**
    9996         * Hooks and filters
    10097         * @since 1.0.0
    101          */     
     98         */
    10299        public function init() {
    103                
     100
    104101                if ( class_exists( 'TGM_Plugin_Activation' ) && isset( $GLOBALS['tgmpa'] ) ) {
    105102                        add_action( 'init', array( $this, 'get_tgmpa_instance' ), 30 );
    … …  
    108105                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
    109106                add_action( 'admin_menu', array( $this, 'menu_page' ) );
    110                 add_action( 'admin_init', array( $this, 'get_plugins' ), 30 );
    111107                add_filter( 'tgmpa_load', array( $this, 'tgmpa_load' ), 10, 1 );
    112108                add_action( 'wp_ajax_setup_plugins', array( $this, 'setup_plugins' ) );
    113                 add_action( 'wp_ajax_setup_widgets', array( $this, 'setup_widgets' ) );
    114                
    115         }
    116        
    117         public function enqueue_scripts() {
    118                 wp_enqueue_style( 'tour-manager-demo-import-style', get_template_directory_uri() . '/inc/get-started/assets/css/demo-import-style.css');
    119                 wp_register_script( 'tour-manager-demo-import-script', get_template_directory_uri() . '/inc/get-started/assets/js/demo-import-script.js', array( 'jquery' ), time() );
    120                 wp_localize_script(
    121                         'tour-manager-demo-import-script',
    122                         'whizzie_params',
     109                add_action( 'wp_ajax_tour_manager_setup_progress', array( $this, 'save_progress' ) );
     110                add_action( 'wp_ajax_tour_manager_popup_seen', array( $this, 'popup_seen' ) );
     111
     112        }
     113
     114        /**
     115         * Admin page hook of the Getting Started screen.
     116         *
     117         * @return string
     118         */
     119        public function get_page_hook() {
     120                return 'appearance_page_' . $this->tour_manager_page_slug;
     121        }
     122
     123        public function enqueue_scripts( $tour_manager_hook ) {
     124                if ( $this->get_page_hook() !== $tour_manager_hook ) {
     125                        return;
     126                }
     127
     128                wp_enqueue_script(
     129                        'expert-confetti',
     130                        get_template_directory_uri() . '/inc/get-started/assets/js/confetti/confetti.min.js',
     131                        array(),
     132                        TOUR_MANAGER_VERSION,
     133                        true
     134                );
     135                wp_enqueue_script(
     136                        'expert-getting-started',
     137                        get_template_directory_uri() . '/inc/get-started/assets/js/expert-getting-started.js',
     138                        array( 'jquery', 'expert-confetti' ),
     139                        TOUR_MANAGER_VERSION,
     140                        true
     141                );
     142                wp_localize_script(
     143                        'expert-getting-started',
     144                        'expertGettingStarted',
    123145                        array(
    124                                 'ajaxurl'               => admin_url( 'admin-ajax.php' ),
    125                                 'wpnonce'               => wp_create_nonce( 'whizzie_nonce' ),
    126                                 'verify_text'   => esc_html( 'verifying', 'tour-manager' )
     146                                'ajaxUrl'     => admin_url( 'admin-ajax.php' ),
     147                                'nonce'       => wp_create_nonce( 'tour_manager_getting_started' ),
     148                                'pluginNonce' => wp_create_nonce( 'whizzie_nonce' ),
     149                                'pageSlug'    => $this->tour_manager_page_slug,
     150                                'i18n'        => array(
     151                                        'installing' => __( 'Installing…', 'tour-manager' ),
     152                                        'working'    => __( 'Working…', 'tour-manager' ),
     153                                        'active'     => __( 'Active', 'tour-manager' ),
     154                                        'failed'     => __( 'Failed', 'tour-manager' ),
     155                                        'failedNote' => __( 'Some plugins could not be installed. You can install them later from Appearance › Install Plugins, or continue now.', 'tour-manager' ),
     156                                        'continue'   => __( 'Continue', 'tour-manager' ),
     157                                        'copied'     => __( 'Copied', 'tour-manager' ),
     158                                        'copy'       => __( 'Copy', 'tour-manager' ),
     159                                        'saveError'  => __( 'Could not save your progress. Please reload the page and try again.', 'tour-manager' ),
     160                                ),
    127161                        )
    128162                );
    129                 wp_enqueue_script( 'tour-manager-demo-import-script' );
    130         }
    131        
    132         public static function get_instance() {
    133                 if ( ! self::$instance ) {
    134                         self::$instance = new self;
    135                 }
    136                 return self::$instance;
    137         }
    138        
    139         public function tgmpa_load( $status ) {
     163        }
     164
     165        public function tgmpa_load( $tour_manager_status ) {
    140166                return is_admin() || current_user_can( 'install_themes' );
    141167        }
    142                        
     168
    143169        /**
    144170         * Get configured TGMPA instance
    … …  
    150176                $this->tgmpa_instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
    151177        }
    152        
    153         /**
    154          * Update $tgmpa_menu_slug and $tgmpa_parent_slug from TGMPA instance
     178
     179        /**
     180         * Update $tgmpa_menu_slug and $tour_manager_tgmpa_parent_slug from TGMPA instance
    155181         *
    156182         * @access public
    … …  
    160186                $this->tgmpa_menu_slug = ( property_exists( $this->tgmpa_instance, 'menu' ) ) ? $this->tgmpa_instance->menu : $this->tgmpa_menu_slug;
    161187                $this->tgmpa_menu_slug = apply_filters( $this->tour_manager_theme_name . '_theme_setup_wizard_tgmpa_menu_slug', $this->tgmpa_menu_slug );
    162                 $tgmpa_parent_slug = ( property_exists( $this->tgmpa_instance, 'parent_slug' ) && $this->tgmpa_instance->parent_slug !== 'themes.php' ) ? 'admin.php' : 'themes.php';
    163                 $this->tgmpa_url = apply_filters( $this->tour_manager_theme_name . '_theme_setup_wizard_tgmpa_url', $tgmpa_parent_slug . '?page=' . $this->tgmpa_menu_slug );
    164         }
    165        
    166         /**
    167          * Make a modal screen for the wizard
     188                $tour_manager_tgmpa_parent_slug = ( property_exists( $this->tgmpa_instance, 'parent_slug' ) && $this->tgmpa_instance->parent_slug !== 'themes.php' ) ? 'admin.php' : 'themes.php';
     189                $this->tgmpa_url = apply_filters( $this->tour_manager_theme_name . '_theme_setup_wizard_tgmpa_url', $tour_manager_tgmpa_parent_slug . '?page=' . $this->tgmpa_menu_slug );
     190        }
     191
     192        /**
     193         * Register the Getting Started page and the Upgrade link under Appearance.
    168194         */
    169195        public function menu_page() {
    170                 add_theme_page( esc_html( $this->tour_manager_page_title ), esc_html( $this->tour_manager_page_title ), 'manage_options', $this->tour_manager_page_slug, array( $this, 'wizard_page' ) );
    171         }
    172        
    173         /**
    174          * Make an interface for the wizard
    175          */
    176         public function wizard_page() {
    177                 tgmpa_load_bulk_installer();
    178 
    179                 if ( ! class_exists( 'TGM_Plugin_Activation' ) || ! isset( $GLOBALS['tgmpa'] ) ) {
    180                         die( esc_html__( 'Failed to find TGM', 'tour-manager' ) );
    181                 }
    182 
    183                 $url = wp_nonce_url( add_query_arg( array( 'plugins' => 'go' ) ), 'whizzie-setup' );
    184                 $method = '';
    185                 $fields = array_keys( $_POST );
    186 
    187                 if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, $fields ) ) ) {
    188                         return true;
    189                 }
    190 
    191                 if ( ! WP_Filesystem( $creds ) ) {
    192                         request_filesystem_credentials( esc_url_raw( $url ), $method, true, false, $fields );
    193                         return true;
    194                 }
    195 
    196                 $tour_manager_theme = wp_get_theme();
    197                 $tour_manager_theme_title = $tour_manager_theme->get( 'Name' );
    198                 $tour_manager_theme_version = $tour_manager_theme->get( 'Version' );
    199 
    200                 ?>
    201                 <div class="wrap">
    202                         <?php
    203                         // Theme Title and Version
    204                         printf( '<h1>%s %s</h1>', esc_html( $tour_manager_theme_title ), esc_html( '(Version :- ' . $tour_manager_theme_version . ')' ) );
    205                         ?>
    206                        
    207                         <div class="card whizzie-wrap">
    208 
    209                                 <div class="demo_content_image">
    210                                         <div class="demo_content">
    211                                                 <?php
    212 
    213                                                 $tour_manager_steps = $this->get_steps();
    214                                                 echo '<ul class="whizzie-menu">';
    215                                                 foreach ( $tour_manager_steps as $tour_manager_step ) {
    216                                                         $class = 'step step-' . esc_attr( $tour_manager_step['id'] );
    217                                                         echo '<li data-step="' . esc_attr( $tour_manager_step['id'] ) . '" class="' . esc_attr( $class ) . '">';
    218                                                         printf( '<h2>%s</h2>', esc_html( $tour_manager_step['title'] ) );
    219 
    220                                                         $content = call_user_func( array( $this, $tour_manager_step['view'] ) );
    221                                                         if ( isset( $content['summary'] ) ) {
    222                                                                 printf(
    223                                                                         '<div class="summary">%s</div>',
    224                                                                         wp_kses_post( $content['summary'] )
    225                                                                 );
    226                                                         }
    227                                                         if ( isset( $content['detail'] ) ) {
    228                                                                 printf( '<p><a href="#" class="more-info">%s</a></p>', esc_html__( 'More Info', 'tour-manager' ) );
    229                                                                 printf(
    230                                                                         '<div class="detail">%s</div>',
    231                                                                         wp_kses_post( $content['detail'] )
    232                                                                 );
    233                                                         }
    234                                                         if ( isset( $tour_manager_step['button_text'] ) && $tour_manager_step['button_text'] ) {
    235                                                                 printf(
    236                                                                         '<div class="button-wrap"><a href="#" class="button button-primary do-it" data-callback="%s" data-step="%s">%s</a></div>',
    237                                                                         esc_attr( $tour_manager_step['callback'] ),
    238                                                                         esc_attr( $tour_manager_step['id'] ),
    239                                                                         esc_html( $tour_manager_step['button_text'] )
    240                                                                 );
    241                                                         }
    242                                                         if ( isset( $tour_manager_step['can_skip'] ) && $tour_manager_step['can_skip'] ) {
    243                                                                 printf(
    244                                                                         '<div class="button-wrap" style="margin-left: 0.5em;"><a href="#" class="button button-secondary do-it" data-callback="%s" data-step="%s">%s</a></div>',
    245                                                                         esc_attr( 'do_next_step' ),
    246                                                                         esc_attr( $tour_manager_step['id'] ),
    247                                                                         esc_html__( 'Skip', 'tour-manager' )
    248                                                                 );
    249                                                         }
    250                                                         echo '</li>';
    251                                                 }
    252                                                 echo '</ul>';
    253                                                 ?>
    254                                                
    255                                                 <ul class="whizzie-nav">
    256                                                         <?php
    257                                                         foreach ( $tour_manager_steps as $tour_manager_step ) {
    258                                                                 if ( isset( $tour_manager_step['icon'] ) && $tour_manager_step['icon'] ) {
    259                                                                         echo '<li class="nav-step-' . esc_attr( $tour_manager_step['id'] ) . '"><span class="dashicons dashicons-' . esc_attr( $tour_manager_step['icon'] ) . '"></span></li>';
    260                                                                 }
    261                                                         }
    262                                                         ?>
    263                                                 </ul>
    264 
    265                                                 <div class="step-loading"><span class="spinner"></span></div>
    266                                         </div> <!-- .demo_content -->
    267 
    268                                         <div class="demo_image">
    269                                                 <div class="demo_image buttons">
    270                                                         <a href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" class="button button-primary bundle" target="_blank"><?php echo esc_html__( 'Get Pro Theme', 'tour-manager' ); ?></a>
    271                                                         <a href="<?php echo esc_url( TOUR_MANAGER_DEMO_THEME_URL ); ?>" class="button button-primary bundle pro" target="_blank"><?php echo esc_html__( 'Live Demo', 'tour-manager' ); ?></a>
    272                                                         <a href="<?php echo esc_url( TOUR_MANAGER_FREE_DOC_URL ); ?>" target="_blank" class="button button-primary"><?php echo esc_html__( 'Free Documentation', 'tour-manager' ); ?></a>
    273                                                         <a href="<?php echo esc_url( TOUR_MANAGER_SUPPORT_THEME_URL ); ?>" target="_blank" class="button button-primary"><?php echo esc_html__( 'Support', 'tour-manager' ); ?></a>
    274                                                 </div>
    275                                                 <img src="<?php echo esc_url( get_stylesheet_directory_uri() . '/screenshot.png' ); ?>" alt="<?php echo esc_attr( $tour_manager_theme_title ); ?>" />
    276                                         </div> <!-- .demo_image -->
    277 
    278                                 </div> <!-- .demo_content_image -->
    279 
    280                                 <div class="bundle-getstart-div">
    281                                         <div class="bundle-getstart-img-div">
    282                                                 <a target="_blank" href="<?php echo esc_url( TOUR_MANAGER_THEME_BUNDLE_URL ); ?>">
    283                                                         <img class="bundle-imgs" src="<?php echo esc_url( get_stylesheet_directory_uri() . '/images/bundle_image.png' ); ?>" alt="<?php echo esc_attr( $tour_manager_theme_title ); ?>" />
    284                                                 </a>
    285                                         </div>
    286                                         <div class="bundle-getstart-lifetime-div">
    287                                                 <h2><?php echo esc_html__( 'WordPress Theme Bundle | 60+ Premium Designs for Every Need', 'tour-manager' ); ?></h2>
    288                                                 <a class="button button-primary" target="_blank" href="<?php echo esc_url( TOUR_MANAGER_THEME_BUNDLE_URL ); ?>">
    289                                                         <?php echo esc_html__( 'Get All 60+ Themes @ $79', 'tour-manager' ); ?>
    290                                                 </a>
    291                                         </div>
    292                                 </div>
    293 
    294                         </div> <!-- .whizzie-wrap -->
    295 
    296 
    297                         <div class="about-wrappp-main-div">
    298                                 <h1 class="title" style="margin:0;"><?php esc_html_e( 'More Information', 'tour-manager' ); ?></h1>
    299                                 <div class="about-wrappp">
    300                                         <div class="about-wrappp-boxes-div">
    301                                                 <div class="about_wrappp_demo_content">
    302                                                         <p class="about-description" style="margin-bottom:0;" ><?php esc_html_e( 'Quick Links:', 'tour-manager' ); ?></p>
    303                                                         <div class="feature-section two-col">
    304                                                                 <div class="card buy-noww" style="background:linear-gradient(to bottom,#0189f0,#024985) !important;">
    305                                                                         <h2 style="color:#fff;" class="title"><?php esc_html_e( 'Upgrade To Pro', 'tour-manager' ); ?></h2>
    306                                                                         <p style="color:#fff;"><?php esc_html_e( 'Take a step towards excellence, try our premium theme. Use Code', 'tour-manager' ) ?><span class="usecode"><?php esc_html_e('" STEPRO10 "', 'tour-manager'); ?></span></p>
    307                                                                         <p><a  style="background: red !important;" href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Upgrade Pro', 'tour-manager' ); ?></a></p>
    308                                                                 </div>
    309 
    310                                                                 <div class="card">
    311                                                                         <h2 class="title"><?php esc_html_e( 'Lite Documentation', 'tour-manager' ); ?></h2>
    312                                                                         <p><?php esc_html_e( 'The free theme documentation can help you set up the theme.', 'tour-manager' ) ?></p>
    313                                                                         <p><a href="<?php echo esc_url( TOUR_MANAGER_FREE_DOC_URL ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Lite Documentation', 'tour-manager' ); ?></a></p>
    314                                                                 </div>
    315 
    316                                                                 <div class="card">
    317                                                                         <h2 class="title"><?php esc_html_e( 'Theme Info', 'tour-manager' ); ?></h2>
    318                                                                         <p><?php esc_html_e( 'Know more about Expert Business Consultant.', 'tour-manager' ) ?></p>
    319                                                                         <p><a href="<?php echo esc_url( TOUR_MANAGER_FREE_THEME_URL ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Theme Info', 'tour-manager' ); ?></a></p>
    320                                                                 </div>
    321 
    322                                                                 <div class="card">
    323                                                                         <h2 class="title"><?php esc_html_e( 'Theme Customizer', 'tour-manager' ); ?></h2>
    324                                                                         <p><?php esc_html_e( 'You can get all theme options in customizer.', 'tour-manager' ) ?></p>
    325                                                                         <p><a href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Customize', 'tour-manager' ); ?></a></p>
    326                                                                 </div>
    327 
    328                                                                 <div class="card">
    329                                                                         <h2 class="title"><?php esc_html_e( 'Need Support?', 'tour-manager' ); ?></h2>
    330                                                                         <p><?php esc_html_e( 'If you are having some issues with the theme or you want to tweak some thing, you can contact us our expert team will help you.', 'tour-manager' ) ?></p>
    331                                                                         <p><a href="<?php echo esc_url( TOUR_MANAGER_SUPPORT_THEME_URL ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Support Forum', 'tour-manager' ); ?></a></p>
    332                                                                 </div>
    333 
    334                                                                 <div class="card">
    335                                                                         <h2 class="title"><?php esc_html_e( 'Review', 'tour-manager' ); ?></h2>
    336                                                                         <p><?php esc_html_e( 'If you have loved our theme please show your support with the review.', 'tour-manager' ) ?></p>
    337                                                                         <p><a href="<?php echo esc_url( TOUR_MANAGER_RATE_THEME_URL ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Rate Us', 'tour-manager' ); ?></a></p>
    338                                                                 </div>         
    339                                                         </div>
    340                                                 </div> <!-- .about_wrappp_demo_content -->
    341                                         </div> <!-- .about-wrappp-boxes-div -->
    342 
    343                                         <div class="about-wrappp-free-pro-div">
    344                                                 <p class="about-description"><?php esc_html_e( 'View Free vs Pro Table below:', 'tour-manager' ); ?></p>
    345                                                 <div class="seo-theme-table">
    346                                                         <table>
    347                                                                 <thead>
    348                                                                         <tr><th scope="col"></th>
    349                                                                                 <th class="head" scope="col"><?php esc_html_e( 'Free Theme', 'tour-manager' ); ?></th>
    350                                                                                 <th class="head" scope="col"><?php esc_html_e( 'Pro Theme', 'tour-manager' ); ?></th>
    351                                                                         </tr>
    352                                                                 </thead>
    353                                                                 <tbody>
    354                                                                 <tr class="odd" scope="row">
    355                                                                                 <td headers="features" class="feature"><span><?php esc_html_e( 'One click demo import', 'tour-manager' ); ?></span></td>
    356                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    357                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    358                                                                         </tr>
    359                                                                         <tr class="odd" scope="row">
    360                                                                                 <td headers="features" class="feature"><?php esc_html_e( '15+ Theme Sections', 'tour-manager' ); ?></td>
    361                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    362                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    363                                                                         </tr>
    364                                                                         <tr class="odd" scope="row">
    365                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Extensive Typography Settings & Color Pallets', 'tour-manager' ); ?></td>
    366                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    367                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    368                                                                         </tr>
    369                                                                         <tr class="odd" scope="row">
    370                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Fully SEO Optimized', 'tour-manager' ); ?></td>
    371                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    372                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    373                                                                         </tr>
    374                                                                         <tr class="odd" scope="row">
    375                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Expert Technical Support', 'tour-manager' ); ?></td>
    376                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    377                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    378                                                                         </tr>
    379                                                                         <tr class="odd" scope="row">
    380                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Attractive Preloader Design', 'tour-manager' ); ?></td>
    381                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    382                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    383                                                                         </tr>
    384                                                                         <tr class="odd" scope="row">
    385                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Enhanced Plugin Integration', 'tour-manager' ); ?></td>
    386                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    387                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    388                                                                         </tr>   
    389                                                                         <tr class="odd" scope="row">
    390                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Custom Post Types', 'tour-manager' ); ?></td>
    391                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    392                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    393                                                                         </tr>
    394                                                                         <tr class="odd" scope="row">
    395                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'High-Level Compatibility with Modern Browsers', 'tour-manager' ); ?></td>
    396                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    397                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    398                                                                         </tr>
    399                                                                         <tr class="odd" scope="row">
    400                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Real-Time Theme Customizer', 'tour-manager' ); ?></td>
    401                                                                                 <td><span class="dashicons dashicons-no-alt"></span></td>
    402                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    403                                                                         </tr>
    404                                                                         <tr class="odd" scope="row">
    405                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Easy Customization', 'tour-manager' ); ?></td>
    406                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    407                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    408                                                                         </tr>
    409                                                                         <tr class="odd" scope="row">
    410                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Regular Bug Fixes', 'tour-manager' ); ?></td>
    411                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    412                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    413                                                                         </tr>
    414                                                                         <tr class="odd" scope="row">
    415                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Responsive Design', 'tour-manager' ); ?></td>
    416                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    417                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    418                                                                         </tr>
    419                                                                         <tr class="odd" scope="row">
    420                                                                                 <td headers="features" class="feature"><?php esc_html_e( 'Multiple Blog Layouts', 'tour-manager' ); ?></td>
    421                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    422                                                                                 <td><span class="dashicons dashicons-saved"></span></td>
    423                                                                         </tr>
    424                                                                         <tr class="odd" scope="row">
    425                                                                                 <td class="feature feature--empty"></td>
    426                                                                                 <td class="feature feature--empty"></td>
    427                                                                                 <td headers="comp-2" class="td-btn-2"><a class="button button-primary bundle" href="<?php echo esc_url(TOUR_MANAGER_PRO_THEME_URL);?>" target="_blank"><?php esc_html_e( 'Go for Premium', 'tour-manager' ); ?></a></td>
    428                                                                         </tr>
    429                                                                 </tbody>
    430                                                         </table>
    431                                                 </div>
    432                                         </div>
    433 
    434                                 </div> <!-- .about-wrappp -->
    435                         </div> <!-- .about-wrappp-main-div -->
    436                 </div> <!-- .wrap -->
    437                 <?php
    438         }
    439 
    440 
    441                
    442         /**
    443          * Set options for the steps
    444          * Incorporate any options set by the theme dev
    445          * Return the array for the steps
    446          * @return Array
     196                $tour_manager_menu_title = esc_html( $this->tour_manager_page_title );
     197                if ( ! tour_manager_setup_is_complete() ) {
     198                        $tour_manager_menu_title .= ' <span class="awaiting-mod"><span class="pending-count">1</span></span>';
     199                }
     200                add_theme_page( esc_html( $this->tour_manager_page_title ), $tour_manager_menu_title, 'manage_options', $this->tour_manager_page_slug, array( $this, 'wizard_page' ) );
     201
     202                global $submenu;
     203                if ( current_user_can( 'edit_theme_options' ) && isset( $submenu['themes.php'] ) ) {
     204                        $submenu['themes.php'][] = array(
     205                                esc_html__( 'Upgrade to Pro', 'tour-manager' ),
     206                                'edit_theme_options',
     207                                esc_url( TOUR_MANAGER_PRO_THEME_URL ),
     208                                esc_html__( 'Upgrade to Pro', 'tour-manager' ),
     209                                'expert-menu-upgrade',
     210                        );
     211                }
     212        }
     213
     214        /**
     215         * Steps with any values the theme dev set in demo-import-settings.php.
     216         *
     217         * @return array
    447218         */
    448219        public function get_steps() {
    449                 $tour_manager_dev_steps = $this->config_steps;
    450                 $tour_manager_steps = array(
    451                         'intro' => array(
    452                                 'id'                    => 'intro',
    453                                 'title'                 => __( 'Welcome to ', 'tour-manager' ) . $this->tour_manager_theme_title,
    454                                 'icon'                  => 'dashboard',
    455                                 'view'                  => 'get_step_intro',
    456                                 'callback'              => 'do_next_step',
    457                                 'button_text'   => __( 'Start Now', 'tour-manager' ),
    458                                 'can_skip'              => false
     220                $tour_manager_steps = array(
     221                        'plugins'   => array(
     222                                'id'       => 'plugins',
     223                                'title'    => __( 'Install plugins', 'tour-manager' ),
     224                                'duration' => __( 'About 1 min', 'tour-manager' ),
     225                                'view'     => 'get_step_plugins',
    459226                        ),
    460                         'plugins' => array(
    461                                 'id'                    => 'plugins',
    462                                 'title'                 => __( 'Plugins', 'tour-manager' ),
    463                                 'icon'                  => 'admin-plugins',
    464                                 'view'                  => 'get_step_plugins',
    465                                 'callback'              => 'install_plugins',
    466                                 'button_text'   => __( 'Install Plugins', 'tour-manager' ),
    467                                 'can_skip'              => true
     227                        'homepage'  => array(
     228                                'id'       => 'homepage',
     229                                'title'    => __( 'Review homepage', 'tour-manager' ),
     230                                'duration' => __( 'About 1 min', 'tour-manager' ),
     231                                'view'     => 'get_step_homepage',
    468232                        ),
    469                         // 'widgets' => array(
    470                         //      'id'                    => 'widgets',
    471                         //      'title'                 => __( 'Demo Importer', 'tour-manager' ),
    472                         //      'icon'                  => 'welcome-widgets-menus',
    473                         //      'view'                  => 'get_step_widgets',
    474                         //      'callback'              => 'install_widgets',
    475                         //      'button_text'   => __( 'Import Demo Content', 'tour-manager' ),
    476                         //      'can_skip'              => true
    477                         // ),
    478                         'done' => array(
    479                                 'id'                    => 'done',
    480                                 'title'                 => __( 'All Done', 'tour-manager' ),
    481                                 'icon'                  => 'yes',
    482                                 'view'                  => 'get_step_done',
    483                                 'callback'              => ''
    484                         )
     233                        'customize' => array(
     234                                'id'       => 'customize',
     235                                'title'    => __( 'Customize & launch', 'tour-manager' ),
     236                                'duration' => __( 'About 2 min', 'tour-manager' ),
     237                                'view'     => 'get_step_customize',
     238                        ),
    485239                );
    486                
    487                 // Iterate through each step and replace with dev config values
    488                 if( $tour_manager_dev_steps ) {
    489                         // Configurable elements - these are the only ones the dev can update from demo-import-settings.php
    490                         $can_config = array( 'title', 'icon', 'button_text', 'can_skip' );
    491                         foreach( $tour_manager_dev_steps as $tour_manager_dev_step ) {
    492                                 // We can only proceed if an ID exists and matches one of our IDs
    493                                 if( isset( $tour_manager_dev_step['id'] ) ) {
    494                                         $id = $tour_manager_dev_step['id'];
    495                                         if( isset( $tour_manager_steps[$id] ) ) {
    496                                                 foreach( $can_config as $element ) {
    497                                                         if( isset( $tour_manager_dev_step[$element] ) ) {
    498                                                                 $tour_manager_steps[$id][$element] = $tour_manager_dev_step[$element];
    499                                                         }
    500                                                 }
     240
     241                // Configurable elements - these are the only ones the dev can update from demo-import-settings.php
     242                $tour_manager_can_config = array( 'title', 'duration' );
     243                foreach ( $this->config_steps as $tour_manager_dev_step ) {
     244                        if ( isset( $tour_manager_dev_step['id'], $tour_manager_steps[ $tour_manager_dev_step['id'] ] ) ) {
     245                                foreach ( $tour_manager_can_config as $tour_manager_element ) {
     246                                        if ( isset( $tour_manager_dev_step[ $tour_manager_element ] ) ) {
     247                                                $tour_manager_steps[ $tour_manager_dev_step['id'] ][ $tour_manager_element ] = $tour_manager_dev_step[ $tour_manager_element ];
    501248                                        }
    502249                                }
    … …  
    505252                return $tour_manager_steps;
    506253        }
    507        
    508         /**
    509          * Print the content for the intro step
    510          */
    511         public function get_step_intro() { ?>
    512                 <div class="summary">
    513                         <div class="steps_content">
    514                                 <p>
    515                                         <?php printf(
     254
     255        /**
     256         * Make an interface for the wizard
     257         */
     258        public function wizard_page() {
     259                tgmpa_load_bulk_installer();
     260
     261                if ( ! class_exists( 'TGM_Plugin_Activation' ) || ! isset( $GLOBALS['tgmpa'] ) ) {
     262                        die( esc_html__( 'Failed to find TGM', 'tour-manager' ) );
     263                }
     264
     265                $tour_manager_url = wp_nonce_url( add_query_arg( array( 'plugins' => 'go' ) ), 'whizzie-setup' );
     266                $tour_manager_method = '';
     267                $tour_manager_fields = array_keys( $_POST );
     268
     269                if ( false === ( $tour_manager_creds = request_filesystem_credentials( esc_url_raw( $tour_manager_url ), $tour_manager_method, false, false, $tour_manager_fields ) ) ) {
     270                        return true;
     271                }
     272
     273                if ( ! WP_Filesystem( $tour_manager_creds ) ) {
     274                        request_filesystem_credentials( esc_url_raw( $tour_manager_url ), $tour_manager_method, true, false, $tour_manager_fields );
     275                        return true;
     276                }
     277
     278                $tour_manager_steps        = $this->get_steps();
     279                $tour_manager_current_step = tour_manager_get_setup_step();
     280                $tour_manager_is_complete  = 'done' === $tour_manager_current_step;
     281                if ( ! $tour_manager_is_complete && ! isset( $tour_manager_steps[ $tour_manager_current_step ] ) ) {
     282                        $tour_manager_current_step = key( $tour_manager_steps );
     283                }
     284                $tour_manager_popup_due = time() >= (int) get_option( 'tour_manager_popup_next_show', 0 );
     285
     286                ?>
     287                <div class="wrap expert-gs" data-state="<?php echo esc_attr( $tour_manager_is_complete ? 'done' : 'setup' ); ?>">
     288                        <h1 class="screen-reader-text"><?php echo esc_html( $this->tour_manager_page_title ); ?></h1>
     289                        <hr class="wp-header-end">
     290
     291                        <?php $this->render_header(); ?>
     292
     293                        <div class="expert-gs__body">
     294                                <section class="expert-gs__setup" <?php echo $tour_manager_is_complete ? 'hidden' : ''; ?>>
     295                                        <?php $this->render_setup( $tour_manager_steps, $tour_manager_is_complete ? key( $tour_manager_steps ) : $tour_manager_current_step ); ?>
     296                                </section>
     297
     298                                <section class="expert-gs__done" <?php echo $tour_manager_is_complete ? '' : 'hidden'; ?>>
     299                                        <?php $this->render_done( count( $tour_manager_steps ) ); ?>
     300                                </section>
     301
     302                                <?php
     303                                $this->render_pricing();
     304                                $this->render_compare();
     305                                ?>
     306
     307                                <section class="expert-gs__help" <?php echo $tour_manager_is_complete ? '' : 'hidden'; ?>>
     308                                        <?php $this->render_help(); ?>
     309                                </section>
     310
     311                                <?php $this->render_faq(); ?>
     312                        </div>
     313
     314                        <?php $this->render_popup( $tour_manager_popup_due ); ?>
     315                </div>
     316                <?php
     317        }
     318
     319        /**
     320         * Page header with the theme name and quick links.
     321         */
     322        protected function render_header() {
     323                $tour_manager_theme = wp_get_theme();
     324                ?>
     325                <header class="expert-gs__header">
     326                        <div class="expert-gs__brand">
     327                                <span class="expert-gs__logo dashicons dashicons-admin-appearance" aria-hidden="true"></span>
     328                                <div>
     329                                        <p class="expert-gs__name"><?php echo esc_html( $this->tour_manager_theme_title ); ?></p>
     330                                        <p class="expert-gs__meta">
     331                                                <?php
     332                                                printf(
     333                                                        /* translators: 1: Theme version, 2: Theme author. */
     334                                                        esc_html__( 'Free theme · v%1$s · by %2$s', 'tour-manager' ),
     335                                                        esc_html( $tour_manager_theme->get( 'Version' ) ),
     336                                                        esc_html__( 'SEO Themes Expert', 'tour-manager' )
     337                                                );
     338                                                ?>
     339                                        </p>
     340                                </div>
     341                        </div>
     342                        <nav class="expert-gs__links" aria-label="<?php esc_attr_e( 'Theme links', 'tour-manager' ); ?>">
     343                                <a href="<?php echo esc_url( TOUR_MANAGER_FREE_THEME_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Theme info', 'tour-manager' ); ?></a>
     344                                <a href="<?php echo esc_url( TOUR_MANAGER_FREE_DOC_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Documentation', 'tour-manager' ); ?></a>
     345                                <a href="<?php echo esc_url( TOUR_MANAGER_SUPPORT_THEME_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Support', 'tour-manager' ); ?></a>
     346                                <a href="<?php echo esc_url( TOUR_MANAGER_DEMO_THEME_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Live demo', 'tour-manager' ); ?></a>
     347                                <a class="expert-btn expert-btn--accent" href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" target="_blank" rel="noopener"><span class="dashicons dashicons-star-filled" aria-hidden="true"></span><?php esc_html_e( 'Upgrade to Pro', 'tour-manager' ); ?></a>
     348                        </nav>
     349                </header>
     350                <?php
     351        }
     352
     353        /**
     354         * Stepper card and sidebar shown until setup is finished.
     355         *
     356         * @param array  $tour_manager_steps        Wizard steps.
     357         * @param string $tour_manager_current_step Step to open on page load.
     358         */
     359        protected function render_setup( $tour_manager_steps, $tour_manager_current_step ) {
     360                $tour_manager_ids   = array_keys( $tour_manager_steps );
     361                $tour_manager_index = array_search( $tour_manager_current_step, $tour_manager_ids, true );
     362                ?>
     363                <div class="expert-gs__grid">
     364                        <div class="expert-card expert-wizard" data-current="<?php echo esc_attr( $tour_manager_current_step ); ?>">
     365                                <ol class="expert-stepper">
     366                                        <?php
     367                                        $tour_manager_i = 0;
     368                                        foreach ( $tour_manager_steps as $tour_manager_step ) {
     369                                                $tour_manager_class = 'expert-stepper__item';
     370                                                if ( $tour_manager_i < $tour_manager_index ) {
     371                                                        $tour_manager_class .= ' is-done';
     372                                                } elseif ( $tour_manager_i === $tour_manager_index ) {
     373                                                        $tour_manager_class .= ' is-current';
     374                                                }
     375                                                ?>
     376                                                <li class="<?php echo esc_attr( $tour_manager_class ); ?>" data-step="<?php echo esc_attr( $tour_manager_step['id'] ); ?>">
     377                                                        <span class="expert-stepper__num"><?php echo esc_html( $tour_manager_i + 1 ); ?></span>
     378                                                        <span class="expert-stepper__text">
     379                                                                <strong><?php echo esc_html( $tour_manager_step['title'] ); ?></strong>
     380                                                                <small><?php echo esc_html( $tour_manager_step['duration'] ); ?></small>
     381                                                        </span>
     382                                                </li>
     383                                                <?php
     384                                                $tour_manager_i++;
     385                                        }
     386                                        ?>
     387                                </ol>
     388
     389                                <?php
     390                                $tour_manager_i = 0;
     391                                foreach ( $tour_manager_steps as $tour_manager_step ) {
     392                                        $tour_manager_i++;
     393                                        ?>
     394                                        <div class="expert-wizard__panel" data-step="<?php echo esc_attr( $tour_manager_step['id'] ); ?>" <?php echo $tour_manager_step['id'] === $tour_manager_current_step ? '' : 'hidden'; ?>>
     395                                                <p class="expert-eyebrow">
     396                                                        <?php
     397                                                        /* translators: 1: Current step number, 2: Total steps. */
     398                                                        printf( esc_html__( 'Step %1$d of %2$d', 'tour-manager' ), (int) $tour_manager_i, count( $tour_manager_steps ) );
     399                                                        ?>
     400                                                </p>
     401                                                <?php call_user_func( array( $this, $tour_manager_step['view'] ) ); ?>
     402                                        </div>
     403                                        <?php
     404                                }
     405                                ?>
     406
     407                                <p class="expert-wizard__foot">
     408                                        <span class="dashicons dashicons-shield" aria-hidden="true"></span>
     409                                        <?php esc_html_e( 'You can re-run this setup any time from Appearance › Getting Started.', 'tour-manager' ); ?>
     410                                </p>
     411                        </div>
     412
     413                        <aside class="expert-gs__aside">
     414                                <div class="expert-card expert-preview">
     415                                        <div class="expert-preview__shot">
     416                                                <img src="<?php echo esc_url( get_template_directory_uri() . '/screenshot.png' ); ?>" alt="<?php echo esc_attr( $this->tour_manager_theme_title ); ?>">
     417                                        </div>
     418                                        <h3><?php esc_html_e( 'Your homepage', 'tour-manager' ); ?></h3>
     419                                        <p><?php esc_html_e( 'Homepage sections are ready, waiting for your own text.', 'tour-manager' ); ?></p>
     420                                        <a class="expert-btn expert-btn--ghost expert-btn--block" href="<?php echo esc_url( TOUR_MANAGER_DEMO_THEME_URL ); ?>" target="_blank" rel="noopener"><span class="dashicons dashicons-visibility" aria-hidden="true"></span><?php esc_html_e( 'Open the live demo', 'tour-manager' ); ?></a>
     421                                </div>
     422                                <div class="expert-card expert-stuck">
     423                                        <h3><?php esc_html_e( 'Stuck on something?', 'tour-manager' ); ?></h3>
     424                                        <a href="<?php echo esc_url( TOUR_MANAGER_FREE_DOC_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Read the setup guide', 'tour-manager' ); ?></a>
     425                                        <a href="<?php echo esc_url( TOUR_MANAGER_SUPPORT_THEME_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Ask in the support forum', 'tour-manager' ); ?></a>
     426                                </div>
     427                        </aside>
     428                </div>
     429                <?php
     430        }
     431
     432        /**
     433         * Step 1: recommended plugins.
     434         */
     435        public function get_step_plugins() {
     436                $tour_manager_rows    = $this->get_plugin_rows();
     437                $tour_manager_pending = array_filter(
     438                        $tour_manager_rows,
     439                        function ( $tour_manager_row ) {
     440                                return ! $tour_manager_row['active'];
     441                        }
     442                );
     443                ?>
     444                <h2 class="expert-title"><?php esc_html_e( 'Install the plugins the theme uses', 'tour-manager' ); ?></h2>
     445                <p class="expert-lead"><?php esc_html_e( 'These power parts of the homepage. They are free and we install and activate them for you.', 'tour-manager' ); ?></p>
     446
     447                <ul class="expert-plugins">
     448                        <?php foreach ( $tour_manager_rows as $tour_manager_slug => $tour_manager_row ) : ?>
     449                                <li class="expert-plugin<?php echo $tour_manager_row['active'] ? ' is-active' : ''; ?>" data-slug="<?php echo esc_attr( $tour_manager_slug ); ?>">
     450                                        <label>
     451                                                <input type="checkbox" value="<?php echo esc_attr( $tour_manager_slug ); ?>" <?php checked( true ); ?> <?php disabled( $tour_manager_row['active'] ); ?>>
     452                                                <span class="expert-plugin__text">
     453                                                        <strong><?php echo esc_html( $tour_manager_row['name'] ); ?></strong>
     454                                                        <?php if ( $tour_manager_row['description'] ) : ?>
     455                                                                <small><?php echo esc_html( $tour_manager_row['description'] ); ?></small>
     456                                                        <?php endif; ?>
     457                                                </span>
     458                                        </label>
     459                                        <span class="expert-plugin__status">
     460                                                <?php
     461                                                if ( $tour_manager_row['active'] ) {
     462                                                        esc_html_e( 'Active', 'tour-manager' );
     463                                                } elseif ( $tour_manager_row['required'] ) {
     464                                                        esc_html_e( 'Required', 'tour-manager' );
     465                                                } else {
     466                                                        esc_html_e( 'Recommended', 'tour-manager' );
     467                                                }
     468                                                ?>
     469                                        </span>
     470                                </li>
     471                        <?php endforeach; ?>
     472                </ul>
     473
     474                <p class="expert-note expert-note--error" data-role="plugin-error" hidden></p>
     475
     476                <p class="expert-note">
     477                        <span class="dashicons dashicons-lock" aria-hidden="true"></span>
     478                        <span>
     479                                <?php esc_html_e( 'Want more homepage sections and color options? They come with', 'tour-manager' ); ?>
     480                                <a href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'the Pro version', 'tour-manager' ); ?></a>.
     481                        </span>
     482                </p>
     483
     484                <div class="expert-actions">
     485                        <button type="button" class="expert-btn expert-btn--primary" data-action="install-plugins">
     486                                <span class="expert-btn__label"><?php echo $tour_manager_pending ? esc_html__( 'Install & continue', 'tour-manager' ) : esc_html__( 'Continue', 'tour-manager' ); ?></span>
     487                                <span class="dashicons dashicons-arrow-right-alt" aria-hidden="true"></span>
     488                        </button>
     489                        <?php if ( $tour_manager_pending ) : ?>
     490                                <button type="button" class="expert-link" data-action="next"><?php esc_html_e( 'Skip this step', 'tour-manager' ); ?></button>
     491                        <?php endif; ?>
     492                </div>
     493                <?php
     494        }
     495
     496        /**
     497         * Step 2: review the homepage built from the theme's patterns.
     498         */
     499        public function get_step_homepage() {
     500                ?>
     501                <h2 class="expert-title"><?php esc_html_e( 'Your homepage is ready to review', 'tour-manager' ); ?></h2>
     502                <p class="expert-lead"><?php esc_html_e( 'The theme builds your homepage from ready-made block patterns, so it already looks like the demo. Open it in a new tab, check it out, then come back here.', 'tour-manager' ); ?></p>
     503
     504                <ul class="expert-checks">
     505                        <li><span class="dashicons dashicons-yes" aria-hidden="true"></span><?php esc_html_e( 'Banner with your headline and call to action', 'tour-manager' ); ?></li>
     506                        <li><span class="dashicons dashicons-yes" aria-hidden="true"></span><?php esc_html_e( 'Ready-made homepage sections', 'tour-manager' ); ?></li>
     507                        <li><span class="dashicons dashicons-yes" aria-hidden="true"></span><?php esc_html_e( 'Header and footer with your contact details', 'tour-manager' ); ?></li>
     508                </ul>
     509
     510                <div class="expert-actions">
     511                        <button type="button" class="expert-btn expert-btn--primary" data-action="next">
     512                                <?php esc_html_e( 'Looks good, continue', 'tour-manager' ); ?>
     513                                <span class="dashicons dashicons-arrow-right-alt" aria-hidden="true"></span>
     514                        </button>
     515                        <a class="expert-btn expert-btn--ghost" href="<?php echo esc_url( home_url( '/' ) ); ?>" target="_blank" rel="noopener">
     516                                <?php esc_html_e( 'Open homepage', 'tour-manager' ); ?>
     517                                <span class="dashicons dashicons-external" aria-hidden="true"></span>
     518                        </a>
     519                        <button type="button" class="expert-link" data-action="back"><?php esc_html_e( 'Back', 'tour-manager' ); ?></button>
     520                </div>
     521                <?php
     522        }
     523
     524        /**
     525         * Step 3: shortcuts into the Site Editor.
     526         */
     527        public function get_step_customize() {
     528                ?>
     529                <h2 class="expert-title"><?php esc_html_e( 'Make it yours', 'tour-manager' ); ?></h2>
     530                <p class="expert-lead"><?php esc_html_e( 'Replace the sample text and images with your own. Each link opens the Site Editor in a new tab.', 'tour-manager' ); ?></p>
     531
     532                <ul class="expert-tasks">
     533                        <?php foreach ( $this->get_customize_links() as $tour_manager_task ) : ?>
     534                                <li class="expert-task">
     535                                        <span class="expert-task__icon dashicons dashicons-<?php echo esc_attr( $tour_manager_task['icon'] ); ?>" aria-hidden="true"></span>
     536                                        <span class="expert-task__text">
     537                                                <strong><?php echo esc_html( $tour_manager_task['title'] ); ?></strong>
     538                                                <small><?php echo esc_html( $tour_manager_task['text'] ); ?></small>
     539                                        </span>
     540                                        <a class="expert-btn expert-btn--ghost expert-btn--sm" href="<?php echo esc_url( $tour_manager_task['url'] ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Open', 'tour-manager' ); ?><span class="dashicons dashicons-external" aria-hidden="true"></span></a>
     541                                </li>
     542                        <?php endforeach; ?>
     543                </ul>
     544
     545                <div class="expert-actions">
     546                        <button type="button" class="expert-btn expert-btn--primary" data-action="finish">
     547                                <?php esc_html_e( 'Finish setup', 'tour-manager' ); ?>
     548                                <span class="dashicons dashicons-yes" aria-hidden="true"></span>
     549                        </button>
     550                        <button type="button" class="expert-link" data-action="back"><?php esc_html_e( 'Back', 'tour-manager' ); ?></button>
     551                </div>
     552                <?php
     553        }
     554
     555        /**
     556         * Site Editor shortcuts used in step 3.
     557         *
     558         * @return array
     559         */
     560        protected function get_customize_links() {
     561                $tour_manager_stylesheet = get_stylesheet();
     562                return array(
     563                        array(
     564                                'icon'  => 'admin-home',
     565                                'title' => __( 'Edit the homepage', 'tour-manager' ),
     566                                'text'  => __( 'Headline, photos and the sections of your homepage.', 'tour-manager' ),
     567                                'url'   => admin_url( 'site-editor.php?postType=wp_template&postId=' . rawurlencode( $tour_manager_stylesheet . '//front-page' ) . '&canvas=edit' ),
     568                        ),
     569                        array(
     570                                'icon'  => 'format-image',
     571                                'title' => __( 'Upload your logo and menu', 'tour-manager' ),
     572                                'text'  => __( 'Replace the sample logo in the header.', 'tour-manager' ),
     573                                'url'   => admin_url( 'site-editor.php?postType=wp_template_part&postId=' . rawurlencode( $tour_manager_stylesheet . '//header' ) . '&canvas=edit' ),
     574                        ),
     575                        array(
     576                                'icon'  => 'phone',
     577                                'title' => __( 'Add your phone number and email', 'tour-manager' ),
     578                                'text'  => __( 'Shown in the footer so customers can reach you.', 'tour-manager' ),
     579                                'url'   => admin_url( 'site-editor.php?postType=wp_template_part&postId=' . rawurlencode( $tour_manager_stylesheet . '//footer' ) . '&canvas=edit' ),
     580                        ),
     581                        array(
     582                                'icon'  => 'art',
     583                                'title' => __( 'Pick colors and fonts', 'tour-manager' ),
     584                                'text'  => __( 'Match the site to your brand.', 'tour-manager' ),
     585                                'url'   => admin_url( 'site-editor.php?path=%2Fwp_global_styles' ),
     586                        ),
     587                );
     588        }
     589
     590        /**
     591         * Card shown once all steps are finished.
     592         *
     593         * @param int $tour_manager_step_count Number of wizard steps.
     594         */
     595        protected function render_done( $tour_manager_step_count ) {
     596                ?>
     597                <div class="expert-card expert-ready">
     598                        <span class="expert-ready__check dashicons dashicons-yes" aria-hidden="true"></span>
     599                        <div class="expert-ready__body">
     600                                <p class="expert-eyebrow expert-eyebrow--success">
     601                                        <?php
     602                                        /* translators: 1: Completed steps, 2: Total steps. */
     603                                        printf( esc_html__( 'Setup complete · %1$d of %2$d steps', 'tour-manager' ), (int) $tour_manager_step_count, (int) $tour_manager_step_count );
     604                                        ?>
     605                                </p>
     606                                <h2 class="expert-title expert-title--lg"><?php esc_html_e( 'Your site is ready', 'tour-manager' ); ?></h2>
     607                                <p class="expert-lead"><?php esc_html_e( 'Preview it, then replace the sample logo, text and images with your own.', 'tour-manager' ); ?></p>
     608                                <div class="expert-actions">
     609                                        <a class="expert-btn expert-btn--primary" href="<?php echo esc_url( home_url( '/' ) ); ?>" target="_blank" rel="noopener">
     610                                                <?php esc_html_e( 'Preview site', 'tour-manager' ); ?>
     611                                                <span class="dashicons dashicons-external" aria-hidden="true"></span>
     612                                        </a>
     613                                        <a class="expert-btn expert-btn--ghost" href="<?php echo esc_url( admin_url( 'site-editor.php' ) ); ?>"><span class="dashicons dashicons-admin-customizer" aria-hidden="true"></span><?php esc_html_e( 'Open Site Editor', 'tour-manager' ); ?></a>
     614                                        <a class="expert-link" href="<?php echo esc_url( admin_url() ); ?>"><span class="dashicons dashicons-dashboard" aria-hidden="true"></span><?php esc_html_e( 'Go to dashboard', 'tour-manager' ); ?></a>
     615                                        <button type="button" class="expert-link expert-link--muted" data-action="restart"><span class="dashicons dashicons-update" aria-hidden="true"></span><?php esc_html_e( 'Run setup again', 'tour-manager' ); ?></button>
     616                                </div>
     617                        </div>
     618                        <div class="expert-ready__shot">
     619                                <img src="<?php echo esc_url( get_template_directory_uri() . '/screenshot.png' ); ?>" alt="<?php echo esc_attr( $this->tour_manager_theme_title ); ?>">
     620                        </div>
     621                </div>
     622                <?php
     623        }
     624
     625        /**
     626         * Free / Pro / Bundle plans.
     627         */
     628        protected function render_pricing() {
     629                $tour_manager_pro_price      = (float) TOUR_MANAGER_PRO_PRICE;
     630                $tour_manager_discount_price = $tour_manager_pro_price * ( 100 - (int) TOUR_MANAGER_COUPON_PERCENT ) / 100;
     631                $tour_manager_per_theme      = (float) TOUR_MANAGER_BUNDLE_PRICE / max( 1, (int) TOUR_MANAGER_BUNDLE_THEME_COUNT );
     632                $tour_manager_bundle_deal    = (float) TOUR_MANAGER_BUNDLE_PRICE * ( 100 - (int) TOUR_MANAGER_BUNDLE_COUPON_PERCENT ) / 100;
     633                ?>
     634                <section class="expert-card expert-pricing" id="expert-pricing">
     635                        <div class="expert-plans">
     636                                <div class="expert-plan">
     637                                        <h3 class="expert-plan__name"><?php esc_html_e( 'Free', 'tour-manager' ); ?></h3>
     638                                        <p class="expert-plan__for"><?php esc_html_e( 'What you have now', 'tour-manager' ); ?></p>
     639                                        <p class="expert-plan__price"><?php echo esc_html( $this->format_price( 0 ) ); ?></p>
     640                                        <?php
     641                                        $this->render_list(
     642                                                array(
     643                                                        __( 'Responsive design', 'tour-manager' ),
     644                                                        __( 'Multiple blog layouts', 'tour-manager' ),
     645                                                        __( 'Easy customization', 'tour-manager' ),
     646                                                        __( 'Regular bug fixes', 'tour-manager' ),
     647                                                )
     648                                        );
     649                                        ?>
     650                                        <span class="expert-btn expert-btn--muted expert-btn--block" aria-disabled="true"><span class="dashicons dashicons-yes-alt" aria-hidden="true"></span><?php esc_html_e( 'Current plan', 'tour-manager' ); ?></span>
     651                                </div>
     652
     653                                <div class="expert-plan expert-plan--featured">
     654                                        <span class="expert-plan__flag"><?php esc_html_e( 'Most popular', 'tour-manager' ); ?></span>
     655                                        <h3 class="expert-plan__name">
     656                                                <?php
    516657                                                /* translators: %s: Theme name. */
    517                                                 esc_html__('Thank you for choosing the %s theme. You will only need a few minutes to configure and launch your new website with the help of this quick setup tutorial. To begin using your website, simply follow the wizard\'s instructions.', 'tour-manager'),
    518                                                 esc_html($this->tour_manager_theme_title)
    519                                         ); ?>
     658                                                printf( esc_html__( '%s Pro', 'tour-manager' ), esc_html( $this->tour_manager_theme_title ) );
     659                                                ?>
     660                                        </h3>
     661                                        <p class="expert-plan__for"><?php esc_html_e( 'For one business site', 'tour-manager' ); ?></p>
     662                                        <p class="expert-plan__price"><?php echo esc_html( $this->format_price( $tour_manager_pro_price ) ); ?> <small><?php esc_html_e( 'one-time', 'tour-manager' ); ?></small></p>
     663                                        <p class="expert-plan__deal">
     664                                                <?php
     665                                                /* translators: %s: Discounted price. */
     666                                                printf( esc_html__( 'Only %s with code', 'tour-manager' ), '<strong>' . esc_html( $this->format_price( $tour_manager_discount_price ) ) . '</strong>' );
     667                                                ?>
     668                                        </p>
     669                                        <?php $this->render_coupon( 'sm' ); ?>
     670                                        <p class="expert-plan__lead"><?php esc_html_e( 'Everything in Free, plus:', 'tour-manager' ); ?></p>
     671                                        <?php
     672                                        $this->render_list(
     673                                                array(
     674                                                        __( '15+ extra homepage sections', 'tour-manager' ),
     675                                                        __( 'Typography & color palettes', 'tour-manager' ),
     676                                                        __( 'Custom post types', 'tour-manager' ),
     677                                                        __( 'Fully SEO-optimized markup', 'tour-manager' ),
     678                                                        __( 'Preloader & real-time customizer', 'tour-manager' ),
     679                                                        __( 'Expert technical support', 'tour-manager' ),
     680                                                )
     681                                        );
     682                                        ?>
     683                                        <a class="expert-btn expert-btn--primary expert-btn--block" href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" target="_blank" rel="noopener"><span class="dashicons dashicons-unlock" aria-hidden="true"></span><?php esc_html_e( 'Upgrade to Pro', 'tour-manager' ); ?><span class="dashicons dashicons-arrow-right-alt" aria-hidden="true"></span></a>
     684                                </div>
     685
     686                                <div class="expert-plan">
     687                                        <h3 class="expert-plan__name"><?php esc_html_e( 'Theme Bundle', 'tour-manager' ); ?></h3>
     688                                        <p class="expert-plan__for"><?php esc_html_e( 'For agencies and multiple sites', 'tour-manager' ); ?></p>
     689                                        <p class="expert-plan__price"><?php echo esc_html( $this->format_price( TOUR_MANAGER_BUNDLE_PRICE ) ); ?> <small><?php esc_html_e( 'one-time', 'tour-manager' ); ?></small></p>
     690                                        <p class="expert-plan__for">
     691                                                <?php
     692                                                /* translators: %s: Price per theme. */
     693                                                printf( esc_html__( 'About %s per theme', 'tour-manager' ), esc_html( $this->format_price( $tour_manager_per_theme ) ) );
     694                                                ?>
     695                                        </p>
     696                                        <p class="expert-plan__deal">
     697                                                <?php
     698                                                /* translators: %s: Discounted price. */
     699                                                printf( esc_html__( 'Only %s with code', 'tour-manager' ), '<strong>' . esc_html( $this->format_price( $tour_manager_bundle_deal ) ) . '</strong>' );
     700                                                ?>
     701                                        </p>
     702                                        <?php $this->render_coupon( 'sm', TOUR_MANAGER_BUNDLE_COUPON_CODE ); ?>
     703                                        <?php
     704                                        $this->render_list(
     705                                                array(
     706                                                        /* translators: %s: Theme name. */
     707                                                        sprintf( __( '%s Pro included', 'tour-manager' ), $this->tour_manager_theme_title ),
     708                                                        /* translators: %s: Number of themes, e.g. 70+. */
     709                                                        sprintf( __( '%s premium WordPress themes', 'tour-manager' ), TOUR_MANAGER_BUNDLE_THEME_COUNT . '+' ),
     710                                                        __( 'One payment, every design', 'tour-manager' ),
     711                                                )
     712                                        );
     713                                        ?>
     714                                        <a class="expert-btn expert-btn--ghost expert-btn--block" href="<?php echo esc_url( TOUR_MANAGER_THEME_BUNDLE_URL ); ?>" target="_blank" rel="noopener">
     715                                                <span class="dashicons dashicons-screenoptions" aria-hidden="true"></span>
     716                                                <?php
     717                                                /* translators: %s: Number of themes, e.g. 70+. */
     718                                                printf( esc_html__( 'Get all %s themes', 'tour-manager' ), esc_html( TOUR_MANAGER_BUNDLE_THEME_COUNT . '+' ) );
     719                                                ?>
     720                                        </a>
     721                                </div>
     722                        </div>
     723                </section>
     724                <?php
     725        }
     726
     727        /**
     728         * Free vs Pro feature table.
     729         */
     730        protected function render_compare() {
     731                $tour_manager_features = array(
     732                        __( 'One-click setup', 'tour-manager' )                       => true,
     733                        __( 'Responsive design', 'tour-manager' )                     => true,
     734                        __( 'Multiple blog layouts', 'tour-manager' )                 => true,
     735                        __( 'Regular bug fixes', 'tour-manager' )                     => true,
     736                        __( 'Easy customization', 'tour-manager' )                    => true,
     737                        __( '15+ theme sections', 'tour-manager' )                    => false,
     738                        __( 'Typography settings & color palettes', 'tour-manager' )  => false,
     739                        __( 'Fully SEO optimized', 'tour-manager' )                   => false,
     740                        __( 'Custom post types', 'tour-manager' )                     => false,
     741                        __( 'Real-time theme customizer', 'tour-manager' )            => false,
     742                        __( 'Enhanced plugin integration', 'tour-manager' )           => false,
     743                        __( 'Attractive preloader', 'tour-manager' )                  => false,
     744                        __( 'Expert technical support', 'tour-manager' )              => false,
     745                );
     746                ?>
     747                <section class="expert-card expert-compare">
     748                        <h2 class="expert-title"><?php esc_html_e( 'Compare Free and Pro', 'tour-manager' ); ?></h2>
     749                        <div class="expert-compare__scroll">
     750                                <table class="expert-table">
     751                                        <thead>
     752                                                <tr>
     753                                                        <th scope="col"><?php esc_html_e( 'Feature', 'tour-manager' ); ?></th>
     754                                                        <th scope="col"><?php esc_html_e( 'Free', 'tour-manager' ); ?></th>
     755                                                        <th scope="col" class="is-pro"><?php esc_html_e( 'Pro', 'tour-manager' ); ?></th>
     756                                                </tr>
     757                                        </thead>
     758                                        <tbody>
     759                                                <?php foreach ( $tour_manager_features as $tour_manager_label => $tour_manager_in_free ) : ?>
     760                                                        <tr>
     761                                                                <th scope="row"><?php echo esc_html( $tour_manager_label ); ?></th>
     762                                                                <td>
     763                                                                        <?php if ( $tour_manager_in_free ) : ?>
     764                                                                                <span class="dashicons dashicons-yes" aria-hidden="true"></span><span class="screen-reader-text"><?php esc_html_e( 'Included', 'tour-manager' ); ?></span>
     765                                                                        <?php else : ?>
     766                                                                                <span class="expert-dash" aria-hidden="true">—</span><span class="screen-reader-text"><?php esc_html_e( 'Not included', 'tour-manager' ); ?></span>
     767                                                                        <?php endif; ?>
     768                                                                </td>
     769                                                                <td class="is-pro"><span class="dashicons dashicons-yes" aria-hidden="true"></span><span class="screen-reader-text"><?php esc_html_e( 'Included', 'tour-manager' ); ?></span></td>
     770                                                        </tr>
     771                                                <?php endforeach; ?>
     772                                        </tbody>
     773                                        <tfoot>
     774                                                <tr>
     775                                                        <td colspan="2"></td>
     776                                                        <td class="is-pro">
     777                                                                <a class="expert-btn expert-btn--primary expert-btn--sm" href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" target="_blank" rel="noopener"><span class="dashicons dashicons-unlock" aria-hidden="true"></span><?php esc_html_e( 'Upgrade to Pro', 'tour-manager' ); ?></a>
     778                                                        </td>
     779                                                </tr>
     780                                        </tfoot>
     781                                </table>
     782                        </div>
     783                </section>
     784                <?php
     785        }
     786
     787        /**
     788         * Review request and help links, shown after setup.
     789         */
     790        protected function render_help() {
     791                ?>
     792                <div class="expert-help">
     793                        <div class="expert-card expert-review">
     794                                <div>
     795                                        <h3>
     796                                                <?php
     797                                                /* translators: %s: Theme name. */
     798                                                printf( esc_html__( 'Enjoying %s?', 'tour-manager' ), esc_html( $this->tour_manager_theme_title ) );
     799                                                ?>
     800                                        </h3>
     801                                        <p><?php esc_html_e( 'A short review on WordPress.org helps other site owners find the theme.', 'tour-manager' ); ?></p>
     802                                </div>
     803                                <a class="expert-btn expert-btn--ghost" href="<?php echo esc_url( TOUR_MANAGER_RATE_THEME_URL ); ?>" target="_blank" rel="noopener">
     804                                        <span class="dashicons dashicons-star-filled" aria-hidden="true"></span>
     805                                        <?php esc_html_e( 'Leave a review', 'tour-manager' ); ?>
     806                                </a>
     807                        </div>
     808                        <div class="expert-card expert-stuck">
     809                                <h3><?php esc_html_e( 'Need a hand?', 'tour-manager' ); ?></h3>
     810                                <a href="<?php echo esc_url( TOUR_MANAGER_FREE_DOC_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Read the documentation', 'tour-manager' ); ?></a>
     811                                <a href="<?php echo esc_url( TOUR_MANAGER_SUPPORT_THEME_URL ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Ask in the support forum', 'tour-manager' ); ?></a>
     812                        </div>
     813                </div>
     814                <?php
     815        }
     816
     817        /**
     818         * Common questions about upgrading.
     819         */
     820        protected function render_faq() {
     821                $tour_manager_faqs = array(
     822                        __( 'Will I lose my content when I upgrade?', 'tour-manager' ) => __( 'No. Your posts, pages, media and menus are stored in WordPress, not in the theme, so they stay. Template edits made in the Site Editor belong to the free theme, so check those after switching.', 'tour-manager' ),
     823                        __( 'How do I use the discount?', 'tour-manager' )               => sprintf(
     824                                /* translators: 1: Pro coupon code, 2: Pro discount percentage, 3: Bundle coupon code, 4: Bundle discount percentage. */
     825                                __( 'Enter %1$s at checkout to take %2$d%% off the Pro theme, or %3$s to take %4$d%% off the Theme Bundle.', 'tour-manager' ),
     826                                TOUR_MANAGER_COUPON_CODE,
     827                                (int) TOUR_MANAGER_COUPON_PERCENT,
     828                                TOUR_MANAGER_BUNDLE_COUPON_CODE,
     829                                (int) TOUR_MANAGER_BUNDLE_COUPON_PERCENT
     830                        ),
     831                        __( 'What is in the Theme Bundle?', 'tour-manager' )             => sprintf(
     832                                /* translators: 1: Number of themes, 2: Theme name. */
     833                                __( 'Every premium theme in the collection (%1$s designs, %2$s Pro included) for a single payment. A good fit if you build sites for several businesses.', 'tour-manager' ),
     834                                TOUR_MANAGER_BUNDLE_THEME_COUNT . '+',
     835                                $this->tour_manager_theme_title
     836                        ),
     837                        __( 'Can I keep using the free theme?', 'tour-manager' )         => __( 'Yes. The free theme stays free and keeps receiving updates. Upgrade only when you need the extra sections and support.', 'tour-manager' ),
     838                );
     839                ?>
     840                <section class="expert-faq">
     841                        <h2 class="expert-title"><?php esc_html_e( 'Questions before upgrading', 'tour-manager' ); ?></h2>
     842                        <div class="expert-faq__grid">
     843                                <?php foreach ( $tour_manager_faqs as $tour_manager_question => $tour_manager_answer ) : ?>
     844                                        <div class="expert-card expert-faq__item">
     845                                                <h3><?php echo esc_html( $tour_manager_question ); ?></h3>
     846                                                <p><?php echo esc_html( $tour_manager_answer ); ?></p>
     847                                        </div>
     848                                <?php endforeach; ?>
     849                        </div>
     850                </section>
     851                <?php
     852        }
     853
     854        /**
     855         * Bottom-right upgrade popup.
     856         *
     857         * @param bool $tour_manager_due Whether the popup's waiting period is over.
     858         */
     859        protected function render_popup( $tour_manager_due ) {
     860                $tour_manager_per_theme = (float) TOUR_MANAGER_BUNDLE_PRICE / max( 1, (int) TOUR_MANAGER_BUNDLE_THEME_COUNT );
     861                ?>
     862                <div class="expert-popup" role="dialog" aria-modal="false" aria-labelledby="expert-popup-title" data-due="<?php echo $tour_manager_due ? '1' : '0'; ?>" hidden>
     863                        <button type="button" class="expert-popup__close" data-action="popup-close" aria-label="<?php esc_attr_e( 'Close', 'tour-manager' ); ?>">
     864                                <span class="dashicons dashicons-no-alt" aria-hidden="true"></span>
     865                        </button>
     866                        <div class="expert-popup__head">
     867                                <p class="expert-eyebrow"><?php esc_html_e( 'Premium templates', 'tour-manager' ); ?></p>
     868                                <h2 id="expert-popup-title">
     869                                        <?php
     870                                        /* translators: %s: Theme name. */
     871                                        printf( esc_html__( 'Unlock every %s template', 'tour-manager' ), esc_html( $this->tour_manager_theme_title ) );
     872                                        ?>
     873                                </h2>
     874                                <p><?php esc_html_e( 'Your site runs the free templates. Get the premium ones with Pro, or every theme with the bundle.', 'tour-manager' ); ?></p>
     875                        </div>
     876
     877                        <div class="expert-popup__offer is-featured">
     878                                <div class="expert-popup__row">
     879                                        <strong>
     880                                                <?php
     881                                                /* translators: %s: Theme name. */
     882                                                printf( esc_html__( '%s Pro', 'tour-manager' ), esc_html( $this->tour_manager_theme_title ) );
     883                                                ?>
     884                                        </strong>
     885                                        <strong><?php echo esc_html( $this->format_price( TOUR_MANAGER_PRO_PRICE ) ); ?></strong>
     886                                </div>
     887                                <p class="expert-popup__feat"><span class="dashicons dashicons-yes" aria-hidden="true"></span><?php esc_html_e( '15+ sections, colors & fonts, expert support', 'tour-manager' ); ?></p>
     888                                <div class="expert-popup__row">
     889                                        <span class="expert-popup__deal">
     890                                                <?php
     891                                                /* translators: %d: Discount percentage. */
     892                                                printf( esc_html__( '%d%% off with code', 'tour-manager' ), (int) TOUR_MANAGER_COUPON_PERCENT );
     893                                                ?>
     894                                        </span>
     895                                        <?php $this->render_coupon( 'sm' ); ?>
     896                                </div>
     897                                <a class="expert-btn expert-btn--primary expert-btn--sm expert-btn--block" href="<?php echo esc_url( TOUR_MANAGER_PRO_THEME_URL ); ?>" target="_blank" rel="noopener"><span class="dashicons dashicons-unlock" aria-hidden="true"></span><?php esc_html_e( 'Upgrade to Pro', 'tour-manager' ); ?></a>
     898                        </div>
     899
     900                        <div class="expert-popup__offer">
     901                                <div class="expert-popup__row">
     902                                        <strong><?php esc_html_e( 'Theme Bundle', 'tour-manager' ); ?> <span class="expert-badge"><?php esc_html_e( 'Best value', 'tour-manager' ); ?></span></strong>
     903                                        <strong><?php echo esc_html( $this->format_price( TOUR_MANAGER_BUNDLE_PRICE ) ); ?></strong>
     904                                </div>
     905                                <p class="expert-popup__feat">
     906                                        <span class="dashicons dashicons-yes" aria-hidden="true"></span>
     907                                        <?php
     908                                        /* translators: 1: Number of themes, 2: Price per theme. */
     909                                        printf( esc_html__( '%1$s premium themes · about %2$s each', 'tour-manager' ), esc_html( TOUR_MANAGER_BUNDLE_THEME_COUNT . '+' ), esc_html( $this->format_price( $tour_manager_per_theme ) ) );
     910                                        ?>
    520911                                </p>
     912                                <div class="expert-popup__row">
     913                                        <span class="expert-popup__deal">
     914                                                <?php
     915                                                /* translators: %d: Discount percentage. */
     916                                                printf( esc_html__( '%d%% off with code', 'tour-manager' ), (int) TOUR_MANAGER_BUNDLE_COUPON_PERCENT );
     917                                                ?>
     918                                        </span>
     919                                        <?php $this->render_coupon( 'sm', TOUR_MANAGER_BUNDLE_COUPON_CODE ); ?>
     920                                </div>
     921                                <a class="expert-btn expert-btn--ghost expert-btn--sm expert-btn--block" href="<?php echo esc_url( TOUR_MANAGER_THEME_BUNDLE_URL ); ?>" target="_blank" rel="noopener"><span class="dashicons dashicons-cart" aria-hidden="true"></span><?php esc_html_e( 'Get the bundle', 'tour-manager' ); ?></a>
     922                        </div>
     923
     924                        <div class="expert-popup__foot">
     925                                <span><?php esc_html_e( 'One-time payment', 'tour-manager' ); ?></span>
     926                                <button type="button" class="expert-link expert-link--muted" data-action="popup-close"><span class="dashicons dashicons-clock" aria-hidden="true"></span><?php esc_html_e( 'Remind me later', 'tour-manager' ); ?></button>
    521927                        </div>
    522928                </div>
    523         <?php }
    524 
    525         /**
    526          * Get the content for the plugins step
    527          * @return $content Array
    528          */
    529         public function get_step_plugins() {
    530         $plugins = $this->get_plugins();
    531         $content = array(); ?>
    532                 <div class="summary">
    533                         <p>
    534                                 <?php esc_html_e('Additional plugins always make your website exceptional. Install these plugins by clicking the install button. You may also deactivate them from the dashboard.','tour-manager') ?>
    535                         </p>
    536                 </div>
    537                 <?php // The detail element is initially hidden from the user
    538                 $content['detail'] = '<ul class="whizzie-do-plugins">';
    539                 // Add each plugin into a list
    540                 foreach( $plugins['all'] as $slug=>$plugin ) {
    541                        
    542                         if ( $slug != 'yith-woocommerce-wishlist' ) {
    543                                 $content['detail'] .= '<li data-slug="' . esc_attr( $slug ) . '">' . esc_html( $plugin['name'] ) . '<span>';
    544                                 $keys = array();
    545                                 if ( isset( $plugins['install'][ $slug ] ) ) {
    546                                         $keys[] = 'Installation';
    547                                 }
    548                                 if ( isset( $plugins['update'][ $slug ] ) ) {
    549                                         $keys[] = 'Update';
    550                                 }
    551                                 if ( isset( $plugins['activate'][ $slug ] ) ) {
    552                                         $keys[] = 'Activation';
    553                                 }
    554                                 $content['detail'] .= implode( ' and ', $keys ) . ' required';
    555                                 $content['detail'] .= '</span></li>';
    556                         }
    557                 }
    558                 $content['detail'] .= '</ul>';
    559                
    560                 return $content;
    561         }
    562        
    563         /**
    564          * Print the content for the widgets step
    565          * @since 1.1.0
    566          */
    567         public function get_step_widgets() { ?>
    568         <div class="summary">
    569                 <p>
    570                         <?php esc_html_e('This theme supports importing the demo content and adding widgets. Get them installed with the below button. Using the Customizer, it is possible to update or even deactivate them.','tour-manager'); ?>
    571                 </p>
    572         </div>
    573         <?php }
    574        
    575         /**
    576          * Print the content for the final step
    577          */
    578         public function get_step_done() { ?>
    579                 <div id="tour-manager-demo-setup-guid">
    580                         <div class="customize_div"><?php echo esc_html( 'Now Customize your website' ); ?>
    581                                 <a target="_blank" href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="customize_link">
    582                                         <?php echo esc_html( 'Customize ' ); ?>
    583                                         <span class="dashicons dashicons-share-alt2"></span>
    584                                 </a>
    585                         </div>
    586                         <div class="tour-manager-setup-finish">
    587                                 <a href="<?php echo esc_url( admin_url() ); ?>" class="button button-primary">
    588                                         <?php esc_html_e( 'Go To Dashboard', 'tour-manager' ); ?>
    589                                 </a>
    590                                 <a target="_blank" href="<?php echo esc_url( get_home_url() ); ?>" class="button button-primary">
    591                                         <?php esc_html_e( 'Preview Site', 'tour-manager' ); ?>
    592                                 </a>
    593                         </div>
    594                 </div>
    595         <?php }
    596 
     929                <?php
     930        }
     931
     932        /**
     933         * Highlighted coupon code with a copy button.
     934         *
     935         * @param string $tour_manager_size Optional size modifier, e.g. "sm".
     936         * @param string $tour_manager_code Coupon code; defaults to the Pro coupon.
     937         */
     938        protected function render_coupon( $tour_manager_size = '', $tour_manager_code = TOUR_MANAGER_COUPON_CODE ) {
     939                $tour_manager_class = 'expert-coupon' . ( $tour_manager_size ? ' expert-coupon--' . $tour_manager_size : '' );
     940                ?>
     941                <span class="<?php echo esc_attr( $tour_manager_class ); ?>">
     942                        <span class="expert-coupon__icon dashicons dashicons-tag" aria-hidden="true"></span>
     943                        <code class="expert-coupon__code"><?php echo esc_html( $tour_manager_code ); ?></code>
     944                        <button type="button" class="expert-coupon__copy" data-action="copy" data-copy="<?php echo esc_attr( $tour_manager_code ); ?>">
     945                                <span class="dashicons dashicons-admin-page" aria-hidden="true"></span>
     946                                <span class="expert-coupon__label"><?php esc_html_e( 'Copy', 'tour-manager' ); ?></span>
     947                        </button>
     948                </span>
     949                <?php
     950        }
     951
     952        /**
     953         * Print a check-mark list.
     954         *
     955         * @param array $tour_manager_items Plain-text items.
     956         */
     957        protected function render_list( $tour_manager_items ) {
     958                echo '<ul class="expert-list">';
     959                foreach ( $tour_manager_items as $tour_manager_item ) {
     960                        echo '<li><span class="dashicons dashicons-yes" aria-hidden="true"></span>' . esc_html( $tour_manager_item ) . '</li>';
     961                }
     962                echo '</ul>';
     963        }
     964
     965        /**
     966         * Format a USD price, dropping ".00".
     967         *
     968         * @param float $tour_manager_amount Price.
     969         * @return string
     970         */
     971        protected function format_price( $tour_manager_amount ) {
     972                $tour_manager_amount = (float) $tour_manager_amount;
     973                $tour_manager_places = ( floor( $tour_manager_amount ) == $tour_manager_amount ) ? 0 : 2;
     974                return '$' . number_format_i18n( $tour_manager_amount, $tour_manager_places );
     975        }
     976
     977        /**
     978         * Every plugin registered with TGMPA, with its status.
     979         *
     980         * @return array
     981         */
     982        protected function get_plugin_rows() {
     983                $tour_manager_rows     = array();
     984                $tour_manager_instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
     985                foreach ( $tour_manager_instance->plugins as $tour_manager_slug => $tour_manager_plugin ) {
     986                        $tour_manager_rows[ $tour_manager_slug ] = array(
     987                                'name'        => $tour_manager_plugin['name'],
     988                                'description' => isset( $tour_manager_plugin['description'] ) ? $tour_manager_plugin['description'] : '',
     989                                'required'    => ! empty( $tour_manager_plugin['required'] ),
     990                                'active'      => $tour_manager_instance->is_plugin_active( $tour_manager_slug ),
     991                        );
     992                }
     993                // WooCommerce goes first: shop plugins can only be activated once it is active.
     994                if ( isset( $tour_manager_rows['woocommerce'] ) ) {
     995                        $tour_manager_rows = array( 'woocommerce' => $tour_manager_rows['woocommerce'] ) + $tour_manager_rows;
     996                }
     997                return $tour_manager_rows;
     998        }
    597999
    5981000        /**
    … …  
    6001002         */
    6011003        public function get_plugins() {
    602                 $instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
    603                 $plugins = array(
     1004                $tour_manager_instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
     1005                $tour_manager_plugins = array(
    6041006                        'all'           => array(),
    6051007                        'install'       => array(),
    … …  
    6071009                        'activate'      => array()
    6081010                );
    609                 foreach( $instance->plugins as $slug=>$plugin ) {
    610                         if( $instance->is_plugin_active( $slug ) && false === $instance->does_plugin_have_update( $slug ) ) {
     1011                foreach( $tour_manager_instance->plugins as $tour_manager_slug=>$tour_manager_plugin ) {
     1012                        if( $tour_manager_instance->is_plugin_active( $tour_manager_slug ) && false === $tour_manager_instance->does_plugin_have_update( $tour_manager_slug ) ) {
    6111013                                // Plugin is installed and up to date
    6121014                                continue;
    6131015                        } else {
    614                                 $plugins['all'][$slug] = $plugin;
    615                                 if( ! $instance->is_plugin_installed( $slug ) ) {
    616                                         $plugins['install'][$slug] = $plugin;
     1016                                $tour_manager_plugins['all'][$tour_manager_slug] = $tour_manager_plugin;
     1017                                if( ! $tour_manager_instance->is_plugin_installed( $tour_manager_slug ) ) {
     1018                                        $tour_manager_plugins['install'][$tour_manager_slug] = $tour_manager_plugin;
    6171019                                } else {
    618                                         if( false !== $instance->does_plugin_have_update( $slug ) ) {
    619                                                 $plugins['update'][$slug] = $plugin;
     1020                                        if( false !== $tour_manager_instance->does_plugin_have_update( $tour_manager_slug ) ) {
     1021                                                $tour_manager_plugins['update'][$tour_manager_slug] = $tour_manager_plugin;
    6201022                                        }
    621                                         if( $instance->can_plugin_activate( $slug ) ) {
    622                                                 $plugins['activate'][$slug] = $plugin;
     1023                                        if( $tour_manager_instance->can_plugin_activate( $tour_manager_slug ) ) {
     1024                                                $tour_manager_plugins['activate'][$tour_manager_slug] = $tour_manager_plugin;
    6231025                                        }
    6241026                                }
    6251027                        }
    6261028                }
    627                 return $plugins;
    628         }
    629 
    630         /**
    631          * Get the widgets.wie file from the /content folder
    632          * @return Mixed        Either the file or false
    633          * @since 1.1.0
    634          */
    635         public function has_widget_file() {
    636                 if( file_exists( $this->widget_file_url ) ) {
    637                         return true;
    638                 }
    639                 return false;
    640         }
    641        
     1029                return $tour_manager_plugins;
     1030        }
     1031
    6421032        public function setup_plugins() {
    643                 if ( ! check_ajax_referer( 'whizzie_nonce', 'wpnonce' ) || empty( $_POST['slug'] ) ) {
     1033                if ( ! check_ajax_referer( 'whizzie_nonce', 'wpnonce', false ) || empty( $_POST['slug'] ) ) {
    6441034                        wp_send_json_error( array( 'error' => 1, 'message' => esc_html__( 'No Slug Found','tour-manager' ) ) );
    6451035                }
    646                 $json = array();
     1036                if ( ! current_user_can( 'install_plugins' ) || ! current_user_can( 'activate_plugins' ) ) {
     1037                        wp_send_json_error( array( 'error' => 1, 'message' => esc_html__( 'You are not allowed to install plugins.','tour-manager' ) ) );
     1038                }
     1039                $tour_manager_slug = sanitize_key( wp_unslash( $_POST['slug'] ) );
     1040                $tour_manager_json = array();
    6471041                // send back some json we use to hit up TGM
    648                 $plugins = $this->get_plugins();
    649                
     1042                $tour_manager_plugins = $this->get_plugins();
     1043
    6501044                // what are we doing with this plugin?
    651                 foreach ( $plugins['activate'] as $slug => $plugin ) {
    652                         if ( $_POST['slug'] == $slug ) {
    653                                 $json = array(
     1045                foreach ( $tour_manager_plugins['activate'] as $tour_manager_plugin_slug => $tour_manager_plugin ) {
     1046                        if ( $tour_manager_slug === $tour_manager_plugin_slug ) {
     1047                                $tour_manager_json = array(
    6541048                                        'url'           => admin_url( $this->tgmpa_url ),
    655                                         'plugin'        => array( $slug ),
     1049                                        'plugin'        => array( $tour_manager_plugin_slug ),
    6561050                                        'tgmpa-page'    => $this->tgmpa_menu_slug,
    6571051                                        'plugin_status' => 'all',
    … …  
    6591053                                        'action'        => 'tgmpa-bulk-activate',
    6601054                                        'action2'       => - 1,
    661                                         'message'       => esc_html__( 'Activating Plugin','tour-manager' ),
     1055                                        'message'       => esc_html__( 'Activating…','tour-manager' ),
    6621056                                );
    6631057                                break;
    6641058                        }
    6651059                }
    666                 foreach ( $plugins['update'] as $slug => $plugin ) {
    667                         if ( $_POST['slug'] == $slug ) {
    668                                 $json = array(
     1060                foreach ( $tour_manager_plugins['update'] as $tour_manager_plugin_slug => $tour_manager_plugin ) {
     1061                        if ( $tour_manager_slug === $tour_manager_plugin_slug ) {
     1062                                $tour_manager_json = array(
    6691063                                        'url'           => admin_url( $this->tgmpa_url ),
    670                                         'plugin'        => array( $slug ),
     1064                                        'plugin'        => array( $tour_manager_plugin_slug ),
    6711065                                        'tgmpa-page'    => $this->tgmpa_menu_slug,
    6721066                                        'plugin_status' => 'all',
    … …  
    6741068                                        'action'        => 'tgmpa-bulk-update',
    6751069                                        'action2'       => - 1,
    676                                         'message'       => esc_html__( 'Updating Plugin','tour-manager' ),
     1070                                        'message'       => esc_html__( 'Updating…','tour-manager' ),
    6771071                                );
    6781072                                break;
    6791073                        }
    6801074                }
    681                 foreach ( $plugins['install'] as $slug => $plugin ) {
    682                         if ( $_POST['slug'] == $slug ) {
    683                                 $json = array(
     1075                foreach ( $tour_manager_plugins['install'] as $tour_manager_plugin_slug => $tour_manager_plugin ) {
     1076                        if ( $tour_manager_slug === $tour_manager_plugin_slug ) {
     1077                                $tour_manager_json = array(
    6841078                                        'url'           => admin_url( $this->tgmpa_url ),
    685                                         'plugin'        => array( $slug ),
     1079                                        'plugin'        => array( $tour_manager_plugin_slug ),
    6861080                                        'tgmpa-page'    => $this->tgmpa_menu_slug,
    6871081                                        'plugin_status' => 'all',
    … …  
    6891083                                        'action'        => 'tgmpa-bulk-install',
    6901084                                        'action2'       => - 1,
    691                                         'message'       => esc_html__( 'Installing Plugin','tour-manager' ),
     1085                                        'message'       => esc_html__( 'Installing…','tour-manager' ),
    6921086                                );
    6931087                                break;
    6941088                        }
    6951089                }
    696                 if ( $json ) {
    697                         $json['hash'] = md5( serialize( $json ) ); // used for checking if duplicates happen, move to next plugin
    698                         wp_send_json( $json );
     1090                if ( $tour_manager_json ) {
     1091                        $tour_manager_json['hash'] = md5( serialize( $tour_manager_json ) ); // used for checking if duplicates happen, move to next plugin
     1092                        wp_send_json( $tour_manager_json );
    6991093                } else {
    700                         wp_send_json( array( 'done' => 1, 'message' => esc_html__( 'Success','tour-manager' ) ) );
    701                 }
    702                 exit;
    703         }
    704 
    705        
    706         /**
    707          * Imports the Demo Content
    708          * @since 1.1.0
    709          */
    710         public function setup_widgets(){
    711 
    712                
    713             exit;
     1094                        wp_send_json( array( 'done' => 1, 'message' => esc_html__( 'Active','tour-manager' ) ) );
     1095                }
     1096        }
     1097
     1098        /**
     1099         * Save the step the user reached so a reload resumes there.
     1100         */
     1101        public function save_progress() {
     1102                check_ajax_referer( 'tour_manager_getting_started', 'nonce' );
     1103                if ( ! current_user_can( 'edit_theme_options' ) ) {
     1104                        wp_send_json_error( null, 403 );
     1105                }
     1106                $tour_manager_step    = isset( $_POST['step'] ) ? sanitize_key( wp_unslash( $_POST['step'] ) ) : '';
     1107                $tour_manager_allowed = array_merge( array_keys( $this->get_steps() ), array( 'done' ) );
     1108                if ( ! in_array( $tour_manager_step, $tour_manager_allowed, true ) ) {
     1109                        wp_send_json_error( null, 400 );
     1110                }
     1111                update_option( 'tour_manager_setup_step', $tour_manager_step, false );
     1112                wp_send_json_success( array( 'step' => $tour_manager_step ) );
     1113        }
     1114
     1115        /**
     1116         * The popup was shown: wait TOUR_MANAGER_POPUP_INTERVAL before showing it again.
     1117         */
     1118        public function popup_seen() {
     1119                check_ajax_referer( 'tour_manager_getting_started', 'nonce' );
     1120                if ( ! current_user_can( 'edit_theme_options' ) ) {
     1121                        wp_send_json_error( null, 403 );
     1122                }
     1123                update_option( 'tour_manager_popup_next_show', time() + (int) TOUR_MANAGER_POPUP_INTERVAL, false );
     1124                wp_send_json_success();
    7141125        }
    7151126}
  • tour-manager/1.6/inc/get-started/demo-import-settings.php

    r339390 r356252  
    11<?php
    22/**
    3  * Settings for demo import
     3 * Settings for the Getting Started wizard
    44 *
    55 */
    … …  
    1313// Load the Whizzie class and other dependencies
    1414require trailingslashit( WHIZZIE_DIR ) . 'demo-import-contents.php';
    15 // Gets the theme object
    16 $tour_manager_current_theme = wp_get_theme();
    17 $tour_manager_theme_title = $tour_manager_current_theme->get( 'Name' );
    18 
    1915
    2016/**
    … …  
    2218 **/
    2319
    24 // Change the title and slug of your wizard page
    25 $config['tour_manager_page_slug']       = 'tour-manager';
    26 $config['tour_manager_page_title']      = 'Theme Information';
     20// Change the title of your wizard page
     21$tour_manager_config['tour_manager_page_title'] = __( 'Getting Started', 'tour-manager' );
    2722
    2823// You can remove elements here as required
    2924// Don't rename the IDs - nothing will break but your changes won't get carried through
    30 $config['steps'] = array(
    31         'intro' => array(
    32                 'id'                    => 'intro', // ID for section - don't rename
    33                 'title'                 => __( 'Welcome to ', 'tour-manager' ) . $tour_manager_theme_title, // Section title
    34                 'icon'                  => 'dashboard', // Uses Dashicons
    35                 'button_text'   => __( 'Start Now', 'tour-manager' ), // Button text
    36                 'can_skip'              => false // Show a skip button?
     25$tour_manager_config['steps'] = array(
     26        'plugins' => array(
     27                'id'       => 'plugins',
     28                'title'    => __( 'Install plugins', 'tour-manager' ),
     29                'duration' => __( 'About 1 min', 'tour-manager' ),
    3730        ),
    38         'plugins' => array(
    39                 'id'                    => 'plugins',
    40                 'title'                 => __( 'Plugins', 'tour-manager' ),
    41                 'icon'                  => 'admin-plugins',
    42                 'button_text'   => __( 'Install Plugins', 'tour-manager' ),
    43                 'can_skip'              => true
     31        'homepage' => array(
     32                'id'       => 'homepage',
     33                'title'    => __( 'Review homepage', 'tour-manager' ),
     34                'duration' => __( 'About 1 min', 'tour-manager' ),
    4435        ),
    45         'widgets' => array(
    46                 'id'                    => 'widgets',
    47                 'title'                 => __( 'Demo Importer', 'tour-manager' ),
    48                 'icon'                  => 'welcome-widgets-menus',
    49                 'button_text'   => __( 'Import Demo Content', 'tour-manager' ),
    50                 'can_skip'              => true
     36        'customize' => array(
     37                'id'       => 'customize',
     38                'title'    => __( 'Customize & launch', 'tour-manager' ),
     39                'duration' => __( 'About 2 min', 'tour-manager' ),
    5140        ),
    52         'done' => array(
    53                 'id'                    => 'done',
    54                 'title'                 => __( 'All Done', 'tour-manager' ),
    55                 'icon'                  => 'yes',
    56         )
    5741);
    5842
    … …  
    6044 * This kicks off the wizard
    6145 **/
    62 if( class_exists( 'Whizzie' ) ) {
    63         $Whizzie = new Whizzie( $config );
     46if ( class_exists( 'Whizzie' ) ) {
     47        $tour_manager_Whizzie = new Whizzie( $tour_manager_config );
    6448}
  • tour-manager/1.6/inc/get-started/tgm/tgm.php

    r353398 r356252  
    11<?php
    22
    3 require get_template_directory() . '/inc/get-started/tgm/class-tgm-plugin-activation.php';
     3require_once get_template_directory() . '/inc/get-started/tgm/class-tgm-plugin-activation.php';
    44/**
    55 * Recommended plugins.
    66 */
    77function tour_manager_register_recommended_plugins() {
    8         $plugins = array(
     8        $tour_manager_plugins = array(
    99                array(
    1010                        'name'             => __( 'FAQly – Ultimate FAQ', 'tour-manager' ),
    1111                        'slug'             => 'faqly-ultimate-faq',
     12                        'description'      => __( 'Adds ready-made FAQ blocks for common customer questions.', 'tour-manager' ),
    1213                        'required'         => false,
    1314                        'force_activation' => false,
    1415                ),
    1516                array(
    16             'name'             => __( 'Hotel Booking Lite', 'tour-manager' ),
    17             'slug'             => 'motopress-hotel-booking-lite',
    18             'source'           => '',
    19             'required'         => false,
    20             'force_activation' => false,
    21         )
     17                        'name'             => __( 'Hotel Booking Lite', 'tour-manager' ),
     18                        'slug'             => 'motopress-hotel-booking-lite',
     19                        'description'      => __( 'Handles rooms, availability and bookings.', 'tour-manager' ),
     20                        'required'         => false,
     21                        'force_activation' => false,
     22                ),
    2223        );
    23         $config = array();
    24         tgmpa( $plugins, $config );
     24        $tour_manager_config = array();
     25        tgmpa( $tour_manager_plugins, $tour_manager_config );
    2526}
    2627add_action( 'tgmpa_register', 'tour_manager_register_recommended_plugins' );
  • tour-manager/1.6/languages/tour-manager.pot

    r353398 r356252  
    44msgstr ""
    55"Project-Id-Version: Tour Manager 1.0\n"
    6 "Report-Msgid-Bugs-To: https://wordpress.org/support/theme/tour-manager\n"
     6"Report-Msgid-Bugs-To: https://WordPress.org/support/theme/tour-manager\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    88"Language-Team: LANGUAGE <LL@li.org>\n"
  • tour-manager/1.6/readme.txt

    r353398 r356252  
    4444= 1.5 =
    4545* Improved Theme Performance.
     46
     47= 1.6 =
     48* Improved Theme Structure.
    4649== Copyright ==
    4750
    48 * Based on Twenty Twenty-Two WordPress Theme, (C) 2021 wordpress.org. Twenty Twenty-Two is distributed under the terms of the GNU GPL.
     51* Based on Twenty Twenty-Two WordPress Theme, (C) 2021 WordPress.org. Twenty Twenty-Two is distributed under the terms of the GNU GPL.
    4952* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2018 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
    5053
    … …  
    147150License: CC0 1.0 Universal (CC0 1.0)
    148151License URI: https://creativecommons.org/publicdomain/zero/1.0/Stable tag: 1.2
    149 Stable tag: 1.5
     152Stable tag: 1.6
  • tour-manager/1.6/style.css

    r353398 r356252  
    66Author URI: https://www.seothemesexpert.com/
    77Description: Tour Manager Theme offers a structured design suitable for displaying travel packages, destination information, schedules, and booking-related content. The layout includes sections for featured tours, galleries, pricing details, testimonials, blogs, and inquiry forms. Responsive design support allows the website to adapt across different screen sizes and devices. The theme includes customization settings for colors, fonts, headers, banners, and homepage sections. It supports widget areas, navigation menus, and standard content formats for flexible website management. Compatibility with page builder plugins allows easier editing and layout adjustments without extensive coding. Additional functionality includes SEO-friendly markup, translation support, social media integration, and organized inner page templates. The theme is also compatible with contact form plugins and image gallery features for presenting travel-related content clearly. Built-in customization options help manage layouts and styling while maintaining consistent performance. The overall design focuses on providing a simple and organized structure for tour listings, destination pages, and informational content without relying on overly complex visual elements or unnecessary features.
    8 Version: 1.5
     8Version: 1.6
    99Requires at least: 5.9
    1010Tested up to: 7.1
    … …  
    1818Use it to make something cool, have fun, and share what you've learned.
    1919
    20 Tour Manager is based on Twenty Twenty-Two WordPress Theme, (C) 2021 wordpress.org
     20Tour Manager is based on Twenty Twenty-Two WordPress Theme, (C) 2021 WordPress.org
    2121Twenty Twenty-Two is distributed under the terms of the GNU GPL.
    2222
Note: See TracChangeset for help on using the changeset viewer.