From 6ea53e2c31fe329902558449c5b8e63b9a19b59f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=86=E3=82=AF=E3=83=8B=E3=82=AB=E3=83=AB=E8=AB=8F?= =?UTF-8?q?=E8=A8=AA=E5=AD=90?= Date: Sat, 5 Feb 2022 14:05:00 +0900 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E5=88=9D=E3=82=B3=E3=83=9F=E3=83=83?= =?UTF-8?q?=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 68 + .gitattributes | 5 + .gitignore | 9 + README.md | 79 + app/Console/Kernel.php | 41 + app/Exceptions/Handler.php | 55 + app/Http/Controllers/Controller.php | 12 + app/Http/Controllers/Engine.php | 111 + app/Http/Controllers/MailerController.php | 74 + app/Http/Controllers/Peertube/About.php | 29 + app/Http/Controllers/Peertube/Account.php | 46 + app/Http/Controllers/Peertube/Admin/Users.php | 36 + app/Http/Controllers/Peertube/AuthTrait.php | 25 + app/Http/Controllers/Peertube/Channel.php | 44 + app/Http/Controllers/Peertube/Common.php | 119 + app/Http/Controllers/Peertube/Home.php | 35 + app/Http/Controllers/Peertube/Login.php | 62 + app/Http/Controllers/Peertube/Logout.php | 25 + app/Http/Controllers/Peertube/Myaccount.php | 33 + .../Controllers/Peertube/Myaccount/Abuses.php | 37 + .../Peertube/Myaccount/Applications.php | 34 + .../Peertube/Myaccount/Blocklist/Accounts.php | 34 + .../Peertube/Myaccount/Blocklist/Servers.php | 34 + .../Peertube/Myaccount/Notification.php | 48 + .../Peertube/Myaccount/Settings.php | 34 + app/Http/Controllers/Peertube/Mylibrary.php | 33 + .../Peertube/Mylibrary/History/Videos.php | 34 + .../Peertube/Mylibrary/Subscriptions.php | 34 + .../Peertube/Mylibrary/Videochannels.php | 34 + .../Peertube/Mylibrary/Videoplaylists.php | 34 + .../Controllers/Peertube/Mylibrary/Videos.php | 34 + app/Http/Controllers/Peertube/Signup.php | 33 + .../Controllers/Peertube/Videos/Local.php | 34 + .../Controllers/Peertube/Videos/Overview.php | 31 + .../Peertube/Videos/Recentlyadded.php | 34 + .../Peertube/Videos/Subscriptions.php | 34 + .../Controllers/Peertube/Videos/Trending.php | 33 + .../Controllers/Peertube/Videos/Upload.php | 29 + app/Http/Controllers/Peertube/Watch.php | 54 + app/Http/Controllers/RssFeedController.php | 23 + app/Http/Kernel.php | 68 + app/Http/Middleware/Authenticate.php | 21 + .../Middleware/CheckForMaintenanceMode.php | 17 + app/Http/Middleware/EncryptCookies.php | 17 + .../Middleware/RedirectIfAuthenticated.php | 27 + app/Http/Middleware/TrimStrings.php | 18 + app/Http/Middleware/TrustHosts.php | 20 + app/Http/Middleware/TrustProxies.php | 23 + app/Http/Middleware/VerifyCsrfToken.php | 17 + app/Providers/AppServiceProvider.php | 29 + app/Providers/AuthServiceProvider.php | 30 + app/Providers/BroadcastServiceProvider.php | 21 + app/Providers/EventServiceProvider.php | 34 + app/Providers/RouteServiceProvider.php | 80 + app/helpers.php | 159 + artisan | 53 + bootstrap/app.php | 55 + bootstrap/cache/.gitignore | 2 + composer.json | 65 + config/app.php | 232 + config/auth.php | 117 + config/broadcasting.php | 59 + config/cache.php | 104 + config/cors.php | 34 + config/database.php | 167 + config/filesystems.php | 92 + config/hashing.php | 52 + config/logging.php | 104 + config/mail.php | 119 + config/queue.php | 89 + config/services.php | 33 + config/session.php | 201 + config/view.php | 36 + database/.gitignore | 2 + database/factories/UserFactory.php | 28 + .../2014_10_12_000000_create_users_table.php | 36 + ..._08_19_000000_create_failed_jobs_table.php | 35 + database/seeds/DatabaseSeeder.php | 16 + phpunit.xml | 31 + public/.htaccess | 21 + public/css/account.css | 1645 ++ public/css/channel.css | 735 + public/css/common.css | 1626 ++ public/css/custom.css | 57 + public/css/global.css | 113 + public/css/login.css | 430 + public/css/myaccount.css | 512 + public/css/style.css | 473 + public/css/styles.css | 15423 ++++++++++++++++ public/css/videoslist.css | 147 + public/css/watch.css | 12 + public/favicon.ico | Bin 0 -> 15086 bytes public/fonts/jpserriffont.woff | Bin 0 -> 6644 bytes public/img/antazorg.png | Bin 0 -> 336914 bytes .../6fd97df9bfea41748061893ce36cefee.jpeg | Bin 0 -> 388663 bytes public/img/bash/81004208_p0.jpg | Bin 0 -> 3428249 bytes public/img/bash/app_icon.png | Bin 0 -> 5140 bytes public/img/bash/app_icon.webp | Bin 0 -> 528 bytes public/img/bash/bottom_bg.png | Bin 0 -> 542 bytes public/img/bash/bottom_left.png | Bin 0 -> 563 bytes public/img/bash/bottom_right.png | Bin 0 -> 564 bytes public/img/bash/discord_top_left.png | Bin 0 -> 1458 bytes public/img/bash/left_bg.png | Bin 0 -> 547 bytes public/img/bash/note_bg.png | Bin 0 -> 5335 bytes public/img/bash/note_icon.png | Bin 0 -> 4562 bytes public/img/bash/note_icon.webp | Bin 0 -> 832 bytes public/img/bash/note_top_left.png | Bin 0 -> 1346 bytes public/img/bash/right_bg.png | Bin 0 -> 545 bytes public/img/bash/root_bg.png | Bin 0 -> 536 bytes public/img/bash/top_bg.png | Bin 0 -> 589 bytes public/img/bash/top_left.png | Bin 0 -> 1194 bytes public/img/bash/top_max.png | Bin 0 -> 794 bytes public/img/bash/top_max_hover.png | Bin 0 -> 1072 bytes public/img/bash/top_min.png | Bin 0 -> 804 bytes public/img/bash/top_min_hover.png | Bin 0 -> 1088 bytes public/img/bash/top_right.png | Bin 0 -> 1222 bytes public/img/bash/top_right_hover.png | Bin 0 -> 1220 bytes public/img/bash/user_bg.png | Bin 0 -> 536 bytes public/img/favicon.jpeg | Bin 0 -> 806 bytes public/img/flag/ASEAN.png | Bin 0 -> 1121 bytes public/img/flag/Afghanistan.png | Bin 0 -> 990 bytes public/img/flag/African Union(OAS).png | Bin 0 -> 666 bytes public/img/flag/Albania.png | Bin 0 -> 1007 bytes public/img/flag/Algeria.png | Bin 0 -> 962 bytes public/img/flag/American Samoa.png | Bin 0 -> 1493 bytes public/img/flag/Andorra.png | Bin 0 -> 1133 bytes public/img/flag/Angola.png | Bin 0 -> 933 bytes public/img/flag/Anguilla.png | Bin 0 -> 1412 bytes public/img/flag/Antarctica.png | Bin 0 -> 1019 bytes public/img/flag/Antigua & Barbuda.png | Bin 0 -> 1453 bytes public/img/flag/Arab League.png | Bin 0 -> 1480 bytes public/img/flag/Argentina.png | Bin 0 -> 611 bytes public/img/flag/Armenia.png | Bin 0 -> 591 bytes public/img/flag/Aruba.png | Bin 0 -> 806 bytes public/img/flag/Australia.png | Bin 0 -> 1504 bytes public/img/flag/Austria.png | Bin 0 -> 466 bytes public/img/flag/Azerbaijan.png | Bin 0 -> 826 bytes public/img/flag/Bahamas.png | Bin 0 -> 834 bytes public/img/flag/Bahrain.png | Bin 0 -> 907 bytes public/img/flag/Bangladesh.png | Bin 0 -> 998 bytes public/img/flag/Barbados.png | Bin 0 -> 947 bytes public/img/flag/Belarus.png | Bin 0 -> 859 bytes public/img/flag/Belgium.png | Bin 0 -> 648 bytes public/img/flag/Belize.png | Bin 0 -> 1228 bytes public/img/flag/Benin.png | Bin 0 -> 607 bytes public/img/flag/Bermuda.png | Bin 0 -> 1446 bytes public/img/flag/Bhutan.png | Bin 0 -> 1320 bytes public/img/flag/Bolivia.png | Bin 0 -> 829 bytes public/img/flag/Bosnia & Herzegovina.png | Bin 0 -> 1347 bytes public/img/flag/Botswana.png | Bin 0 -> 583 bytes public/img/flag/Brazil.png | Bin 0 -> 1610 bytes public/img/flag/Brunei.png | Bin 0 -> 1467 bytes public/img/flag/Bulgaria.png | Bin 0 -> 483 bytes public/img/flag/Burkina Faso.png | Bin 0 -> 740 bytes public/img/flag/Burundi.png | Bin 0 -> 1690 bytes public/img/flag/CARICOM.png | Bin 0 -> 1250 bytes public/img/flag/CIS.png | Bin 0 -> 1639 bytes public/img/flag/Cambodja.png | Bin 0 -> 1053 bytes public/img/flag/Cameroon.png | Bin 0 -> 804 bytes public/img/flag/Canada.png | Bin 0 -> 1005 bytes public/img/flag/Cape Verde.png | Bin 0 -> 890 bytes public/img/flag/Cayman Islands.png | Bin 0 -> 1413 bytes public/img/flag/Central African Republic.png | Bin 0 -> 779 bytes public/img/flag/Chad.png | Bin 0 -> 689 bytes public/img/flag/Chile.png | Bin 0 -> 657 bytes public/img/flag/China.png | Bin 0 -> 793 bytes public/img/flag/Colombia.png | Bin 0 -> 510 bytes public/img/flag/Commonwealth.png | Bin 0 -> 1349 bytes public/img/flag/Comoros.png | Bin 0 -> 1075 bytes public/img/flag/Congo-Brazzaville.png | Bin 0 -> 1203 bytes public/img/flag/Congo-Kinshasa(Zaire).png | Bin 0 -> 1543 bytes public/img/flag/Cook Islands.png | Bin 0 -> 1539 bytes public/img/flag/Costa Rica.png | Bin 0 -> 568 bytes public/img/flag/Cote d'Ivoire.png | Bin 0 -> 629 bytes public/img/flag/Croatia.png | Bin 0 -> 982 bytes public/img/flag/Cuba.png | Bin 0 -> 1016 bytes public/img/flag/Cyprus.png | Bin 0 -> 729 bytes public/img/flag/Czech Republic.png | Bin 0 -> 849 bytes public/img/flag/Denmark.png | Bin 0 -> 595 bytes public/img/flag/Djibouti.png | Bin 0 -> 1004 bytes public/img/flag/Dominica.png | Bin 0 -> 1244 bytes public/img/flag/Dominican Republic.png | Bin 0 -> 625 bytes public/img/flag/Ecuador.png | Bin 0 -> 1043 bytes public/img/flag/Egypt.png | Bin 0 -> 622 bytes public/img/flag/El Salvador.png | Bin 0 -> 710 bytes public/img/flag/England.png | Bin 0 -> 498 bytes public/img/flag/Equatorial Guinea.png | Bin 0 -> 1029 bytes public/img/flag/Eritrea.png | Bin 0 -> 1521 bytes public/img/flag/Estonia.png | Bin 0 -> 522 bytes public/img/flag/Ethiopia.png | Bin 0 -> 1064 bytes public/img/flag/European Union.png | Bin 0 -> 1189 bytes public/img/flag/Faroes.png | Bin 0 -> 607 bytes public/img/flag/Fiji.png | Bin 0 -> 1303 bytes public/img/flag/Finland.png | Bin 0 -> 523 bytes public/img/flag/France.png | Bin 0 -> 637 bytes public/img/flag/Gabon.png | Bin 0 -> 560 bytes public/img/flag/Gambia.png | Bin 0 -> 573 bytes public/img/flag/Georgia.png | Bin 0 -> 868 bytes public/img/flag/Germany.png | Bin 0 -> 602 bytes public/img/flag/Ghana.png | Bin 0 -> 739 bytes public/img/flag/Gibraltar.png | Bin 0 -> 1024 bytes public/img/flag/Greece.png | Bin 0 -> 775 bytes public/img/flag/Greenland.png | Bin 0 -> 925 bytes public/img/flag/Grenada.png | Bin 0 -> 1472 bytes public/img/flag/Guadeloupe.png | Bin 0 -> 1046 bytes public/img/flag/Guam.png | Bin 0 -> 1007 bytes public/img/flag/Guatemala.png | Bin 0 -> 1322 bytes public/img/flag/Guernsey.png | Bin 0 -> 773 bytes public/img/flag/Guinea-Bissau.png | Bin 0 -> 756 bytes public/img/flag/Guinea.png | Bin 0 -> 701 bytes public/img/flag/Guyana.png | Bin 0 -> 1657 bytes public/img/flag/Haiti.png | Bin 0 -> 600 bytes public/img/flag/Honduras.png | Bin 0 -> 614 bytes public/img/flag/Hong Kong.png | Bin 0 -> 1125 bytes public/img/flag/Hungary.png | Bin 0 -> 505 bytes public/img/flag/Iceland.png | Bin 0 -> 748 bytes public/img/flag/India.png | Bin 0 -> 701 bytes public/img/flag/Indonesia.png | Bin 0 -> 490 bytes public/img/flag/Iran.png | Bin 0 -> 681 bytes public/img/flag/Iraq.png | Bin 0 -> 652 bytes public/img/flag/Ireland.png | Bin 0 -> 621 bytes public/img/flag/Islamic Conference.png | Bin 0 -> 1484 bytes public/img/flag/Isle of Man.png | Bin 0 -> 1061 bytes public/img/flag/Israel.png | Bin 0 -> 790 bytes public/img/flag/Italy.png | Bin 0 -> 642 bytes public/img/flag/Jamaica.png | Bin 0 -> 1634 bytes public/img/flag/Japan.png | Bin 0 -> 705 bytes public/img/flag/Jersey.png | Bin 0 -> 1421 bytes public/img/flag/Jordan.png | Bin 0 -> 932 bytes public/img/flag/Kazakhstan.png | Bin 0 -> 1368 bytes public/img/flag/Kenya.png | Bin 0 -> 1184 bytes public/img/flag/Kiribati.png | Bin 0 -> 1850 bytes public/img/flag/Kosovo.png | Bin 0 -> 1195 bytes public/img/flag/Kuwait.png | Bin 0 -> 690 bytes public/img/flag/Kyrgyzstan.png | Bin 0 -> 1046 bytes public/img/flag/LIthuania.png | Bin 0 -> 560 bytes public/img/flag/Laos.png | Bin 0 -> 909 bytes public/img/flag/Latvia.png | Bin 0 -> 534 bytes public/img/flag/Lebanon.png | Bin 0 -> 832 bytes public/img/flag/Lesotho.png | Bin 0 -> 1383 bytes public/img/flag/Liberia.png | Bin 0 -> 837 bytes public/img/flag/Libya.png | Bin 0 -> 564 bytes public/img/flag/Liechtenstein.png | Bin 0 -> 833 bytes public/img/flag/Luxembourg.png | Bin 0 -> 469 bytes public/img/flag/Macao.png | Bin 0 -> 1429 bytes public/img/flag/Macedonia.png | Bin 0 -> 1749 bytes public/img/flag/Madagascar.png | Bin 0 -> 539 bytes public/img/flag/Malawi.png | Bin 0 -> 833 bytes public/img/flag/Malaysia.png | Bin 0 -> 1043 bytes public/img/flag/Maldives.png | Bin 0 -> 788 bytes public/img/flag/Mali.png | Bin 0 -> 684 bytes public/img/flag/Malta.png | Bin 0 -> 669 bytes public/img/flag/Marshall Islands.png | Bin 0 -> 1550 bytes public/img/flag/Martinique.png | Bin 0 -> 1613 bytes public/img/flag/Mauritania.png | Bin 0 -> 1018 bytes public/img/flag/Mauritius.png | Bin 0 -> 641 bytes public/img/flag/Mexico.png | Bin 0 -> 997 bytes public/img/flag/Micronesia.png | Bin 0 -> 910 bytes public/img/flag/Moldova.png | Bin 0 -> 1116 bytes public/img/flag/Monaco.png | Bin 0 -> 490 bytes public/img/flag/Mongolia.png | Bin 0 -> 900 bytes public/img/flag/Montenegro.png | Bin 0 -> 1186 bytes public/img/flag/Montserrat.png | Bin 0 -> 1387 bytes public/img/flag/Morocco.png | Bin 0 -> 806 bytes public/img/flag/Mozambique.png | Bin 0 -> 1100 bytes public/img/flag/Myanmar(Burma).png | Bin 0 -> 939 bytes public/img/flag/NATO.png | Bin 0 -> 1073 bytes public/img/flag/Namibia.png | Bin 0 -> 1718 bytes public/img/flag/Nauru.png | Bin 0 -> 822 bytes public/img/flag/Nepal.png | Bin 0 -> 1249 bytes public/img/flag/Netherlands Antilles.png | Bin 0 -> 769 bytes public/img/flag/Netherlands.png | Bin 0 -> 469 bytes public/img/flag/New Caledonia.png | Bin 0 -> 1305 bytes public/img/flag/New Zealand.png | Bin 0 -> 1252 bytes public/img/flag/Nicaragua.png | Bin 0 -> 683 bytes public/img/flag/Niger.png | Bin 0 -> 667 bytes public/img/flag/Nigeria.png | Bin 0 -> 641 bytes public/img/flag/North Korea.png | Bin 0 -> 912 bytes public/img/flag/Northern Cyprus.png | Bin 0 -> 809 bytes public/img/flag/Northern Ireland.png | Bin 0 -> 713 bytes public/img/flag/Norway.png | Bin 0 -> 743 bytes public/img/flag/OPEC.png | Bin 0 -> 1113 bytes public/img/flag/Olimpic Movement.png | Bin 0 -> 976 bytes public/img/flag/Oman.png | Bin 0 -> 775 bytes public/img/flag/Pakistan.png | Bin 0 -> 969 bytes public/img/flag/Palau.png | Bin 0 -> 941 bytes public/img/flag/Palestine.png | Bin 0 -> 910 bytes public/img/flag/Panama.png | Bin 0 -> 735 bytes public/img/flag/Papua New Guinea.png | Bin 0 -> 1436 bytes public/img/flag/Paraguay.png | Bin 0 -> 641 bytes public/img/flag/Peru.png | Bin 0 -> 993 bytes public/img/flag/Philippines.png | Bin 0 -> 964 bytes public/img/flag/Poland.png | Bin 0 -> 380 bytes public/img/flag/Portugal.png | Bin 0 -> 1076 bytes public/img/flag/Puerto Rico.png | Bin 0 -> 992 bytes public/img/flag/Qatar.png | Bin 0 -> 825 bytes public/img/flag/Red Cross.png | Bin 0 -> 445 bytes public/img/flag/Reunion.png | Bin 0 -> 1177 bytes public/img/flag/Romania.png | Bin 0 -> 675 bytes public/img/flag/Russian Federation.png | Bin 0 -> 487 bytes public/img/flag/Rwanda.png | Bin 0 -> 735 bytes public/img/flag/Saint Lucia.png | Bin 0 -> 1226 bytes public/img/flag/Samoa.png | Bin 0 -> 927 bytes public/img/flag/San Marino.png | Bin 0 -> 1167 bytes public/img/flag/Sao Tome & Principe.png | Bin 0 -> 1073 bytes public/img/flag/Saudi Arabia.png | Bin 0 -> 1312 bytes public/img/flag/Scotland.png | Bin 0 -> 1639 bytes public/img/flag/Senegal.png | Bin 0 -> 871 bytes public/img/flag/Serbia(Yugoslavia).png | Bin 0 -> 1009 bytes public/img/flag/Seychelles.png | Bin 0 -> 1430 bytes public/img/flag/Sierra Leone.png | Bin 0 -> 488 bytes public/img/flag/Singapore.png | Bin 0 -> 723 bytes public/img/flag/Slovakia.png | Bin 0 -> 942 bytes public/img/flag/Slovenia.png | Bin 0 -> 730 bytes public/img/flag/Solomon Islands.png | Bin 0 -> 1519 bytes public/img/flag/Somalia.png | Bin 0 -> 829 bytes public/img/flag/Somaliland.png | Bin 0 -> 843 bytes public/img/flag/South Africa.png | Bin 0 -> 1352 bytes public/img/flag/South Korea.png | Bin 0 -> 1361 bytes public/img/flag/Spain.png | Bin 0 -> 873 bytes public/img/flag/Sri Lanka.png | Bin 0 -> 1376 bytes public/img/flag/St Kitts & Nevis.png | Bin 0 -> 1421 bytes .../img/flag/St Vincent & the Grenadines.png | Bin 0 -> 980 bytes public/img/flag/Sudan.png | Bin 0 -> 873 bytes public/img/flag/Suriname.png | Bin 0 -> 752 bytes public/img/flag/Swaziland.png | Bin 0 -> 1334 bytes public/img/flag/Sweden.png | Bin 0 -> 715 bytes public/img/flag/Switzerland.png | Bin 0 -> 631 bytes public/img/flag/Syria.png | Bin 0 -> 607 bytes public/img/flag/Tahiti(French Polinesia).png | Bin 0 -> 830 bytes public/img/flag/Taiwan.png | Bin 0 -> 870 bytes public/img/flag/Tajikistan.png | Bin 0 -> 784 bytes public/img/flag/Tanzania.png | Bin 0 -> 1360 bytes public/img/flag/Thailand.png | Bin 0 -> 524 bytes public/img/flag/Timor-Leste.png | Bin 0 -> 1053 bytes public/img/flag/Togo.png | Bin 0 -> 920 bytes public/img/flag/Tonga.png | Bin 0 -> 608 bytes public/img/flag/Trinidad & Tobago.png | Bin 0 -> 1463 bytes public/img/flag/Tunisia.png | Bin 0 -> 1098 bytes public/img/flag/Turkey.png | Bin 0 -> 923 bytes public/img/flag/Turkmenistan.png | Bin 0 -> 1156 bytes public/img/flag/Turks and Caicos Islands.png | Bin 0 -> 1427 bytes public/img/flag/Tuvalu.png | Bin 0 -> 1393 bytes public/img/flag/Uganda.png | Bin 0 -> 952 bytes public/img/flag/Ukraine.png | Bin 0 -> 574 bytes public/img/flag/United Arab Emirates.png | Bin 0 -> 563 bytes .../flag/United Kingdom(Great Britain).png | Bin 0 -> 1767 bytes public/img/flag/United Nations.png | Bin 0 -> 1310 bytes .../flag/United States of America (USA).png | Bin 0 -> 830 bytes public/img/flag/Uruguay.png | Bin 0 -> 809 bytes public/img/flag/Uzbekistan.png | Bin 0 -> 719 bytes public/img/flag/Vanutau.png | Bin 0 -> 1235 bytes public/img/flag/Vatican City.png | Bin 0 -> 852 bytes public/img/flag/Venezuela.png | Bin 0 -> 866 bytes public/img/flag/Viet Nam.png | Bin 0 -> 818 bytes public/img/flag/Virgin Islands British.png | Bin 0 -> 1537 bytes public/img/flag/Virgin Islands US.png | Bin 0 -> 1354 bytes public/img/flag/Wales.png | Bin 0 -> 1759 bytes public/img/flag/Western Sahara.png | Bin 0 -> 966 bytes public/img/flag/Yemen.png | Bin 0 -> 439 bytes public/img/flag/Zambia.png | Bin 0 -> 868 bytes public/img/flag/Zimbabwe.png | Bin 0 -> 1031 bytes public/img/header.jpeg | Bin 0 -> 85890 bytes public/img/kerokinsi.png | Bin 0 -> 124037 bytes public/img/keromayokatta.png | Bin 0 -> 94576 bytes public/img/noicon.jpg | Bin 0 -> 16457 bytes public/img/od-box.png | Bin 0 -> 13897 bytes public/img/pixel.gif | Bin 0 -> 64 bytes public/img/play-box.png | Bin 0 -> 12122 bytes public/img/pt-box.png | Bin 0 -> 7109 bytes public/img/swk-box.png | Bin 0 -> 10208 bytes public/img/usericon/1/40313557_p0-icon.jpg | Bin 0 -> 280086 bytes public/img/usericon/1/suwakawa.png | Bin 0 -> 1108562 bytes public/img/usericon/1/suwakowa.png | Bin 0 -> 585427 bytes public/img/yt-box.png | Bin 0 -> 3550 bytes public/index.php | 60 + public/robots.txt | 2 + resources/fonts/jpserriffont.woff | Bin 0 -> 6644 bytes .../6fd97df9bfea41748061893ce36cefee.jpeg | Bin 0 -> 388663 bytes resources/img/bash/81004208_p0.jpg | Bin 0 -> 3428249 bytes resources/img/bash/app_icon.png | Bin 0 -> 5140 bytes resources/img/bash/app_icon.webp | Bin 0 -> 528 bytes resources/img/bash/bottom_bg.png | Bin 0 -> 542 bytes resources/img/bash/bottom_left.png | Bin 0 -> 563 bytes resources/img/bash/bottom_right.png | Bin 0 -> 564 bytes resources/img/bash/discord_top_left.png | Bin 0 -> 1458 bytes resources/img/bash/left_bg.png | Bin 0 -> 547 bytes resources/img/bash/note_bg.png | Bin 0 -> 5335 bytes resources/img/bash/note_icon.png | Bin 0 -> 4562 bytes resources/img/bash/note_icon.webp | Bin 0 -> 832 bytes resources/img/bash/note_top_left.png | Bin 0 -> 1346 bytes resources/img/bash/right_bg.png | Bin 0 -> 545 bytes resources/img/bash/root_bg.png | Bin 0 -> 536 bytes resources/img/bash/top_bg.png | Bin 0 -> 589 bytes resources/img/bash/top_left.png | Bin 0 -> 1194 bytes resources/img/bash/top_max.png | Bin 0 -> 794 bytes resources/img/bash/top_max_hover.png | Bin 0 -> 1072 bytes resources/img/bash/top_min.png | Bin 0 -> 804 bytes resources/img/bash/top_min_hover.png | Bin 0 -> 1088 bytes resources/img/bash/top_right.png | Bin 0 -> 1222 bytes resources/img/bash/top_right_hover.png | Bin 0 -> 1220 bytes resources/img/bash/user_bg.png | Bin 0 -> 536 bytes resources/img/bt-box.png | Bin 0 -> 7906 bytes resources/img/favicon.jpeg | Bin 0 -> 806 bytes resources/img/flags/ASEAN.png | Bin 0 -> 1121 bytes resources/img/flags/Afghanistan.png | Bin 0 -> 990 bytes resources/img/flags/African Union(OAS).png | Bin 0 -> 666 bytes resources/img/flags/Albania.png | Bin 0 -> 1007 bytes resources/img/flags/Algeria.png | Bin 0 -> 962 bytes resources/img/flags/American Samoa.png | Bin 0 -> 1493 bytes resources/img/flags/Andorra.png | Bin 0 -> 1133 bytes resources/img/flags/Angola.png | Bin 0 -> 933 bytes resources/img/flags/Anguilla.png | Bin 0 -> 1412 bytes resources/img/flags/Antarctica.png | Bin 0 -> 1019 bytes resources/img/flags/Antigua & Barbuda.png | Bin 0 -> 1453 bytes resources/img/flags/Arab League.png | Bin 0 -> 1480 bytes resources/img/flags/Argentina.png | Bin 0 -> 611 bytes resources/img/flags/Armenia.png | Bin 0 -> 591 bytes resources/img/flags/Aruba.png | Bin 0 -> 806 bytes resources/img/flags/Australia.png | Bin 0 -> 1504 bytes resources/img/flags/Austria.png | Bin 0 -> 466 bytes resources/img/flags/Azerbaijan.png | Bin 0 -> 826 bytes resources/img/flags/Bahamas.png | Bin 0 -> 834 bytes resources/img/flags/Bahrain.png | Bin 0 -> 907 bytes resources/img/flags/Bangladesh.png | Bin 0 -> 998 bytes resources/img/flags/Barbados.png | Bin 0 -> 947 bytes resources/img/flags/Belarus.png | Bin 0 -> 859 bytes resources/img/flags/Belgium.png | Bin 0 -> 648 bytes resources/img/flags/Belize.png | Bin 0 -> 1228 bytes resources/img/flags/Benin.png | Bin 0 -> 607 bytes resources/img/flags/Bermuda.png | Bin 0 -> 1446 bytes resources/img/flags/Bhutan.png | Bin 0 -> 1320 bytes resources/img/flags/Bolivia.png | Bin 0 -> 829 bytes resources/img/flags/Bosnia & Herzegovina.png | Bin 0 -> 1347 bytes resources/img/flags/Botswana.png | Bin 0 -> 583 bytes resources/img/flags/Brazil.png | Bin 0 -> 1610 bytes resources/img/flags/Brunei.png | Bin 0 -> 1467 bytes resources/img/flags/Bulgaria.png | Bin 0 -> 483 bytes resources/img/flags/Burkina Faso.png | Bin 0 -> 740 bytes resources/img/flags/Burundi.png | Bin 0 -> 1690 bytes resources/img/flags/CARICOM.png | Bin 0 -> 1250 bytes resources/img/flags/CIS.png | Bin 0 -> 1639 bytes resources/img/flags/Cambodja.png | Bin 0 -> 1053 bytes resources/img/flags/Cameroon.png | Bin 0 -> 804 bytes resources/img/flags/Canada.png | Bin 0 -> 1005 bytes resources/img/flags/Cape Verde.png | Bin 0 -> 890 bytes resources/img/flags/Cayman Islands.png | Bin 0 -> 1413 bytes .../img/flags/Central African Republic.png | Bin 0 -> 779 bytes resources/img/flags/Chad.png | Bin 0 -> 689 bytes resources/img/flags/Chile.png | Bin 0 -> 657 bytes resources/img/flags/China.png | Bin 0 -> 793 bytes resources/img/flags/Colombia.png | Bin 0 -> 510 bytes resources/img/flags/Commonwealth.png | Bin 0 -> 1349 bytes resources/img/flags/Comoros.png | Bin 0 -> 1075 bytes resources/img/flags/Congo-Brazzaville.png | Bin 0 -> 1203 bytes resources/img/flags/Congo-Kinshasa(Zaire).png | Bin 0 -> 1543 bytes resources/img/flags/Cook Islands.png | Bin 0 -> 1539 bytes resources/img/flags/Costa Rica.png | Bin 0 -> 568 bytes resources/img/flags/Cote d'Ivoire.png | Bin 0 -> 629 bytes resources/img/flags/Croatia.png | Bin 0 -> 982 bytes resources/img/flags/Cuba.png | Bin 0 -> 1016 bytes resources/img/flags/Cyprus.png | Bin 0 -> 729 bytes resources/img/flags/Czech Republic.png | Bin 0 -> 849 bytes resources/img/flags/Denmark.png | Bin 0 -> 595 bytes resources/img/flags/Djibouti.png | Bin 0 -> 1004 bytes resources/img/flags/Dominica.png | Bin 0 -> 1244 bytes resources/img/flags/Dominican Republic.png | Bin 0 -> 625 bytes resources/img/flags/Ecuador.png | Bin 0 -> 1043 bytes resources/img/flags/Egypt.png | Bin 0 -> 622 bytes resources/img/flags/El Salvador.png | Bin 0 -> 710 bytes resources/img/flags/England.png | Bin 0 -> 498 bytes resources/img/flags/Equatorial Guinea.png | Bin 0 -> 1029 bytes resources/img/flags/Eritrea.png | Bin 0 -> 1521 bytes resources/img/flags/Estonia.png | Bin 0 -> 522 bytes resources/img/flags/Ethiopia.png | Bin 0 -> 1064 bytes resources/img/flags/European Union.png | Bin 0 -> 1189 bytes resources/img/flags/Faroes.png | Bin 0 -> 607 bytes resources/img/flags/Fiji.png | Bin 0 -> 1303 bytes resources/img/flags/Finland.png | Bin 0 -> 523 bytes resources/img/flags/France.png | Bin 0 -> 637 bytes resources/img/flags/Gabon.png | Bin 0 -> 560 bytes resources/img/flags/Gambia.png | Bin 0 -> 573 bytes resources/img/flags/Georgia.png | Bin 0 -> 868 bytes resources/img/flags/Germany.png | Bin 0 -> 602 bytes resources/img/flags/Ghana.png | Bin 0 -> 739 bytes resources/img/flags/Gibraltar.png | Bin 0 -> 1024 bytes resources/img/flags/Greece.png | Bin 0 -> 775 bytes resources/img/flags/Greenland.png | Bin 0 -> 925 bytes resources/img/flags/Grenada.png | Bin 0 -> 1472 bytes resources/img/flags/Guadeloupe.png | Bin 0 -> 1046 bytes resources/img/flags/Guam.png | Bin 0 -> 1007 bytes resources/img/flags/Guatemala.png | Bin 0 -> 1322 bytes resources/img/flags/Guernsey.png | Bin 0 -> 773 bytes resources/img/flags/Guinea-Bissau.png | Bin 0 -> 756 bytes resources/img/flags/Guinea.png | Bin 0 -> 701 bytes resources/img/flags/Guyana.png | Bin 0 -> 1657 bytes resources/img/flags/Haiti.png | Bin 0 -> 600 bytes resources/img/flags/Honduras.png | Bin 0 -> 614 bytes resources/img/flags/Hong Kong.png | Bin 0 -> 1125 bytes resources/img/flags/Hungary.png | Bin 0 -> 505 bytes resources/img/flags/Iceland.png | Bin 0 -> 748 bytes resources/img/flags/India.png | Bin 0 -> 701 bytes resources/img/flags/Indonesia.png | Bin 0 -> 490 bytes resources/img/flags/Iran.png | Bin 0 -> 681 bytes resources/img/flags/Iraq.png | Bin 0 -> 652 bytes resources/img/flags/Ireland.png | Bin 0 -> 621 bytes resources/img/flags/Islamic Conference.png | Bin 0 -> 1484 bytes resources/img/flags/Isle of Man.png | Bin 0 -> 1061 bytes resources/img/flags/Israel.png | Bin 0 -> 790 bytes resources/img/flags/Italy.png | Bin 0 -> 642 bytes resources/img/flags/Jamaica.png | Bin 0 -> 1634 bytes resources/img/flags/Japan.png | Bin 0 -> 705 bytes resources/img/flags/Jersey.png | Bin 0 -> 1421 bytes resources/img/flags/Jordan.png | Bin 0 -> 932 bytes resources/img/flags/Kazakhstan.png | Bin 0 -> 1368 bytes resources/img/flags/Kenya.png | Bin 0 -> 1184 bytes resources/img/flags/Kiribati.png | Bin 0 -> 1850 bytes resources/img/flags/Kosovo.png | Bin 0 -> 1195 bytes resources/img/flags/Kuwait.png | Bin 0 -> 690 bytes resources/img/flags/Kyrgyzstan.png | Bin 0 -> 1046 bytes resources/img/flags/LIthuania.png | Bin 0 -> 560 bytes resources/img/flags/Laos.png | Bin 0 -> 909 bytes resources/img/flags/Latvia.png | Bin 0 -> 534 bytes resources/img/flags/Lebanon.png | Bin 0 -> 832 bytes resources/img/flags/Lesotho.png | Bin 0 -> 1383 bytes resources/img/flags/Liberia.png | Bin 0 -> 837 bytes resources/img/flags/Libya.png | Bin 0 -> 564 bytes resources/img/flags/Liechtenstein.png | Bin 0 -> 833 bytes resources/img/flags/Luxembourg.png | Bin 0 -> 469 bytes resources/img/flags/Macao.png | Bin 0 -> 1429 bytes resources/img/flags/Macedonia.png | Bin 0 -> 1749 bytes resources/img/flags/Madagascar.png | Bin 0 -> 539 bytes resources/img/flags/Malawi.png | Bin 0 -> 833 bytes resources/img/flags/Malaysia.png | Bin 0 -> 1043 bytes resources/img/flags/Maldives.png | Bin 0 -> 788 bytes resources/img/flags/Mali.png | Bin 0 -> 684 bytes resources/img/flags/Malta.png | Bin 0 -> 669 bytes resources/img/flags/Marshall Islands.png | Bin 0 -> 1550 bytes resources/img/flags/Martinique.png | Bin 0 -> 1613 bytes resources/img/flags/Mauritania.png | Bin 0 -> 1018 bytes resources/img/flags/Mauritius.png | Bin 0 -> 641 bytes resources/img/flags/Mexico.png | Bin 0 -> 997 bytes resources/img/flags/Micronesia.png | Bin 0 -> 910 bytes resources/img/flags/Moldova.png | Bin 0 -> 1116 bytes resources/img/flags/Monaco.png | Bin 0 -> 490 bytes resources/img/flags/Mongolia.png | Bin 0 -> 900 bytes resources/img/flags/Montenegro.png | Bin 0 -> 1186 bytes resources/img/flags/Montserrat.png | Bin 0 -> 1387 bytes resources/img/flags/Morocco.png | Bin 0 -> 806 bytes resources/img/flags/Mozambique.png | Bin 0 -> 1100 bytes resources/img/flags/Myanmar(Burma).png | Bin 0 -> 939 bytes resources/img/flags/NATO.png | Bin 0 -> 1073 bytes resources/img/flags/Namibia.png | Bin 0 -> 1718 bytes resources/img/flags/Nauru.png | Bin 0 -> 822 bytes resources/img/flags/Nepal.png | Bin 0 -> 1249 bytes resources/img/flags/Netherlands Antilles.png | Bin 0 -> 769 bytes resources/img/flags/Netherlands.png | Bin 0 -> 469 bytes resources/img/flags/New Caledonia.png | Bin 0 -> 1305 bytes resources/img/flags/New Zealand.png | Bin 0 -> 1252 bytes resources/img/flags/Nicaragua.png | Bin 0 -> 683 bytes resources/img/flags/Niger.png | Bin 0 -> 667 bytes resources/img/flags/Nigeria.png | Bin 0 -> 641 bytes resources/img/flags/North Korea.png | Bin 0 -> 912 bytes resources/img/flags/Northern Cyprus.png | Bin 0 -> 809 bytes resources/img/flags/Northern Ireland.png | Bin 0 -> 713 bytes resources/img/flags/Norway.png | Bin 0 -> 743 bytes resources/img/flags/OPEC.png | Bin 0 -> 1113 bytes resources/img/flags/Olimpic Movement.png | Bin 0 -> 976 bytes resources/img/flags/Oman.png | Bin 0 -> 775 bytes resources/img/flags/Pakistan.png | Bin 0 -> 969 bytes resources/img/flags/Palau.png | Bin 0 -> 941 bytes resources/img/flags/Palestine.png | Bin 0 -> 910 bytes resources/img/flags/Panama.png | Bin 0 -> 735 bytes resources/img/flags/Papua New Guinea.png | Bin 0 -> 1436 bytes resources/img/flags/Paraguay.png | Bin 0 -> 641 bytes resources/img/flags/Peru.png | Bin 0 -> 993 bytes resources/img/flags/Philippines.png | Bin 0 -> 964 bytes resources/img/flags/Poland.png | Bin 0 -> 380 bytes resources/img/flags/Portugal.png | Bin 0 -> 1076 bytes resources/img/flags/Puerto Rico.png | Bin 0 -> 992 bytes resources/img/flags/Qatar.png | Bin 0 -> 825 bytes resources/img/flags/Red Cross.png | Bin 0 -> 445 bytes resources/img/flags/Reunion.png | Bin 0 -> 1177 bytes resources/img/flags/Romania.png | Bin 0 -> 675 bytes resources/img/flags/Russian Federation.png | Bin 0 -> 487 bytes resources/img/flags/Rwanda.png | Bin 0 -> 735 bytes resources/img/flags/Saint Lucia.png | Bin 0 -> 1226 bytes resources/img/flags/Samoa.png | Bin 0 -> 927 bytes resources/img/flags/San Marino.png | Bin 0 -> 1167 bytes resources/img/flags/Sao Tome & Principe.png | Bin 0 -> 1073 bytes resources/img/flags/Saudi Arabia.png | Bin 0 -> 1312 bytes resources/img/flags/Scotland.png | Bin 0 -> 1639 bytes resources/img/flags/Senegal.png | Bin 0 -> 871 bytes resources/img/flags/Serbia(Yugoslavia).png | Bin 0 -> 1009 bytes resources/img/flags/Seychelles.png | Bin 0 -> 1430 bytes resources/img/flags/Sierra Leone.png | Bin 0 -> 488 bytes resources/img/flags/Singapore.png | Bin 0 -> 723 bytes resources/img/flags/Slovakia.png | Bin 0 -> 942 bytes resources/img/flags/Slovenia.png | Bin 0 -> 730 bytes resources/img/flags/Solomon Islands.png | Bin 0 -> 1519 bytes resources/img/flags/Somalia.png | Bin 0 -> 829 bytes resources/img/flags/Somaliland.png | Bin 0 -> 843 bytes resources/img/flags/South Africa.png | Bin 0 -> 1352 bytes resources/img/flags/South Korea.png | Bin 0 -> 1361 bytes resources/img/flags/Spain.png | Bin 0 -> 873 bytes resources/img/flags/Sri Lanka.png | Bin 0 -> 1376 bytes resources/img/flags/St Kitts & Nevis.png | Bin 0 -> 1421 bytes .../img/flags/St Vincent & the Grenadines.png | Bin 0 -> 980 bytes resources/img/flags/Sudan.png | Bin 0 -> 873 bytes resources/img/flags/Suriname.png | Bin 0 -> 752 bytes resources/img/flags/Swaziland.png | Bin 0 -> 1334 bytes resources/img/flags/Sweden.png | Bin 0 -> 715 bytes resources/img/flags/Switzerland.png | Bin 0 -> 631 bytes resources/img/flags/Syria.png | Bin 0 -> 607 bytes .../img/flags/Tahiti(French Polinesia).png | Bin 0 -> 830 bytes resources/img/flags/Taiwan.png | Bin 0 -> 870 bytes resources/img/flags/Tajikistan.png | Bin 0 -> 784 bytes resources/img/flags/Tanzania.png | Bin 0 -> 1360 bytes resources/img/flags/Thailand.png | Bin 0 -> 524 bytes resources/img/flags/Timor-Leste.png | Bin 0 -> 1053 bytes resources/img/flags/Togo.png | Bin 0 -> 920 bytes resources/img/flags/Tonga.png | Bin 0 -> 608 bytes resources/img/flags/Trinidad & Tobago.png | Bin 0 -> 1463 bytes resources/img/flags/Tunisia.png | Bin 0 -> 1098 bytes resources/img/flags/Turkey.png | Bin 0 -> 923 bytes resources/img/flags/Turkmenistan.png | Bin 0 -> 1156 bytes .../img/flags/Turks and Caicos Islands.png | Bin 0 -> 1427 bytes resources/img/flags/Tuvalu.png | Bin 0 -> 1393 bytes resources/img/flags/Uganda.png | Bin 0 -> 952 bytes resources/img/flags/Ukraine.png | Bin 0 -> 574 bytes resources/img/flags/United Arab Emirates.png | Bin 0 -> 563 bytes .../flags/United Kingdom(Great Britain).png | Bin 0 -> 1767 bytes resources/img/flags/United Nations.png | Bin 0 -> 1310 bytes .../flags/United States of America (USA).png | Bin 0 -> 830 bytes resources/img/flags/Uruguay.png | Bin 0 -> 809 bytes resources/img/flags/Uzbekistan.png | Bin 0 -> 719 bytes resources/img/flags/Vanutau.png | Bin 0 -> 1235 bytes resources/img/flags/Vatican City.png | Bin 0 -> 852 bytes resources/img/flags/Venezuela.png | Bin 0 -> 866 bytes resources/img/flags/Viet Nam.png | Bin 0 -> 818 bytes .../img/flags/Virgin Islands British.png | Bin 0 -> 1537 bytes resources/img/flags/Virgin Islands US.png | Bin 0 -> 1354 bytes resources/img/flags/Wales.png | Bin 0 -> 1759 bytes resources/img/flags/Western Sahara.png | Bin 0 -> 966 bytes resources/img/flags/Yemen.png | Bin 0 -> 439 bytes resources/img/flags/Zambia.png | Bin 0 -> 868 bytes resources/img/flags/Zimbabwe.png | Bin 0 -> 1031 bytes resources/img/header.jpeg | Bin 0 -> 46976 bytes resources/img/kerokinsi.png | Bin 0 -> 124037 bytes resources/img/keromayokatta.png | Bin 0 -> 94576 bytes resources/img/nico-box.png | Bin 0 -> 3466 bytes resources/img/noicon.jpg | Bin 0 -> 16457 bytes resources/img/od-box.png | Bin 0 -> 13897 bytes resources/img/play-box.png | Bin 0 -> 12122 bytes resources/img/swk-box.png | Bin 0 -> 10208 bytes resources/img/yt-box.png | Bin 0 -> 3550 bytes resources/lang/de.json | 233 + resources/lang/de/site.php | 36 + resources/lang/en.json | 233 + resources/lang/en/site.php | 36 + resources/lang/es.json | 233 + resources/lang/es/site.php | 36 + resources/lang/fr.json | 233 + resources/lang/fr/site.php | 36 + resources/lang/ja.json | 233 + resources/lang/ja/site.php | 36 + resources/lang/ko.json | 233 + resources/lang/ko/site.php | 36 + resources/lang/nl.json | 233 + resources/lang/nl/site.php | 36 + resources/lang/ru.json | 233 + resources/lang/ru/site.php | 36 + resources/lang/vi.json | 233 + resources/lang/vi/site.php | 36 + resources/lang/zh-CN.json | 233 + resources/lang/zh-CN/site.php | 36 + resources/lang/zh-TW.json | 233 + resources/lang/zh-TW/site.php | 36 + resources/views/errors/400.blade.php | 14 + resources/views/errors/401.blade.php | 14 + resources/views/errors/403.blade.php | 14 + resources/views/errors/404.blade.php | 14 + resources/views/errors/405.blade.php | 14 + resources/views/errors/419.blade.php | 5 + resources/views/errors/429.blade.php | 5 + resources/views/errors/500.blade.php | 14 + resources/views/errors/502.blade.php | 14 + resources/views/errors/503.blade.php | 14 + resources/views/errors/504.blade.php | 14 + resources/views/errors/595.blade.php | 19 + resources/views/errors/596.blade.php | 19 + .../views/errors/illustrated-layout.blade.php | 486 + resources/views/errors/layout.blade.php | 57 + resources/views/errors/minimal.blade.php | 62 + resources/views/layout.blade.php | 19 + .../layout/component/a/channels.blade.php | 14 + .../component/a/channels/avatar.blade.php | 18 + .../component/a/channels/videos.blade.php | 54 + .../views/layout/component/a/info.blade.php | 33 + .../views/layout/component/a/links.blade.php | 22 + .../views/layout/component/c/head.blade.php | 7 + .../layout/component/c/head/banner.blade.php | 5 + .../layout/component/c/head/info.blade.php | 48 + .../layout/component/c/head/owner.blade.php | 22 + .../views/layout/component/c/links.blade.php | 12 + .../layout/component/c/playlists.blade.php | 30 + .../views/layout/component/c/videos.blade.php | 27 + .../component/common/paginate.blade.php | 2 + .../component/common/subscribe.blade.php | 7 + .../component/common/videominature.blade.php | 60 + .../component/common/videosbydate.blade.php | 43 + .../views/layout/component/header.blade.php | 64 + .../layout/component/home/newest.blade.php | 8 + .../component/home/popularest.blade.php | 8 + .../views/layout/component/manifest.blade.php | 35 + .../views/layout/component/menu.blade.php | 8 + .../layout/component/menu/footer.blade.php | 10 + .../views/layout/component/menu/top.blade.php | 9 + .../component/menu/top/inmylibrary.blade.php | 29 + .../component/menu/top/loggedin.blade.php | 48 + .../component/menu/top/loginmenu.blade.php | 4 + .../component/menu/top/notification.blade.php | 10 + .../component/menu/top/oninstance.blade.php | 33 + .../views/layout/component/meta.blade.php | 36 + .../component/my-account/filter.blade.php | 24 + .../component/my-account/menu.blade.php | 18 + .../my-account/notifications.blade.php | 38 + .../my-account/notifications/abuse.blade.php | 1 + .../notifications/account.blade.php | 6 + .../notifications/actorfollow.blade.php | 22 + .../notifications/blacklist.blade.php | 1 + .../notifications/comment.blade.php | 12 + .../my-account/notifications/import.blade.php | 6 + .../notifications/mention.blade.php | 0 .../my-account/notifications/plugin.blade.php | 6 + .../my-account/notifications/video.blade.php | 6 + .../views/layout/component/style.blade.php | 4 + .../layout/component/stylelink.blade.php | 28 + .../component/videos/categories.blade.php | 8 + .../component/videos/channels.blade.php | 13 + .../layout/component/videos/tags.blade.php | 8 + .../views/layout/component/w/info.blade.php | 9 + .../layout/component/w/info/attrib.blade.php | 53 + .../layout/component/w/info/channel.blade.php | 22 + .../component/w/info/comments.blade.php | 113 + .../component/w/info/description.blade.php | 7 + .../layout/component/w/info/first.blade.php | 27 + .../layout/component/w/info/more.blade.php | 6 + .../layout/component/w/info/save.blade.php | 53 + .../layout/component/w/info/share.blade.php | 6 + .../layout/component/w/info/support.blade.php | 13 + .../component/w/info/videorate.blade.php | 14 + .../component/w/info/viewsdate.blade.php | 10 + .../views/layout/component/w/player.blade.php | 30 + .../component/w/videorecommend.blade.php | 61 + .../views/pages/common/comments.blade.php | 103 + .../views/pages/common/contenttype.blade.php | 48 + resources/views/pages/peertube/a.blade.php | 13 + resources/views/pages/peertube/c.blade.php | 9 + resources/views/pages/peertube/home.blade.php | 17 + .../views/pages/peertube/login.blade.php | 76 + .../my-account/notifications.blade.php | 20 + .../views/pages/peertube/notyet.blade.php | 7 + .../pages/peertube/videos/local.blade.php | 34 + .../pages/peertube/videos/overview.blade.php | 22 + .../peertube/videos/recentlyadded.blade.php | 34 + .../pages/peertube/videos/trending.blade.php | 38 + resources/views/pages/peertube/w.blade.php | 14 + resources/views/rss/feed.blade.php | 22 + routes/api.php | 19 + routes/channels.php | 18 + routes/console.php | 19 + routes/web.php | 62 + server.php | 21 + storage/app/.gitignore | 3 + storage/app/public/.gitignore | 2 + storage/framework/.gitignore | 8 + storage/framework/cache/.gitignore | 3 + storage/framework/cache/data/.gitignore | 2 + storage/framework/sessions/.gitignore | 2 + storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 2 + storage/logs/.gitignore | 2 + tests/CreatesApplication.php | 22 + tests/Feature/ExampleTest.php | 21 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 18 + 787 files changed, 31017 insertions(+) create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app/Console/Kernel.php create mode 100644 app/Exceptions/Handler.php create mode 100644 app/Http/Controllers/Controller.php create mode 100644 app/Http/Controllers/Engine.php create mode 100644 app/Http/Controllers/MailerController.php create mode 100644 app/Http/Controllers/Peertube/About.php create mode 100644 app/Http/Controllers/Peertube/Account.php create mode 100644 app/Http/Controllers/Peertube/Admin/Users.php create mode 100644 app/Http/Controllers/Peertube/AuthTrait.php create mode 100644 app/Http/Controllers/Peertube/Channel.php create mode 100644 app/Http/Controllers/Peertube/Common.php create mode 100644 app/Http/Controllers/Peertube/Home.php create mode 100644 app/Http/Controllers/Peertube/Login.php create mode 100644 app/Http/Controllers/Peertube/Logout.php create mode 100644 app/Http/Controllers/Peertube/Myaccount.php create mode 100644 app/Http/Controllers/Peertube/Myaccount/Abuses.php create mode 100644 app/Http/Controllers/Peertube/Myaccount/Applications.php create mode 100644 app/Http/Controllers/Peertube/Myaccount/Blocklist/Accounts.php create mode 100644 app/Http/Controllers/Peertube/Myaccount/Blocklist/Servers.php create mode 100644 app/Http/Controllers/Peertube/Myaccount/Notification.php create mode 100644 app/Http/Controllers/Peertube/Myaccount/Settings.php create mode 100644 app/Http/Controllers/Peertube/Mylibrary.php create mode 100644 app/Http/Controllers/Peertube/Mylibrary/History/Videos.php create mode 100644 app/Http/Controllers/Peertube/Mylibrary/Subscriptions.php create mode 100644 app/Http/Controllers/Peertube/Mylibrary/Videochannels.php create mode 100644 app/Http/Controllers/Peertube/Mylibrary/Videoplaylists.php create mode 100644 app/Http/Controllers/Peertube/Mylibrary/Videos.php create mode 100644 app/Http/Controllers/Peertube/Signup.php create mode 100644 app/Http/Controllers/Peertube/Videos/Local.php create mode 100644 app/Http/Controllers/Peertube/Videos/Overview.php create mode 100644 app/Http/Controllers/Peertube/Videos/Recentlyadded.php create mode 100644 app/Http/Controllers/Peertube/Videos/Subscriptions.php create mode 100644 app/Http/Controllers/Peertube/Videos/Trending.php create mode 100644 app/Http/Controllers/Peertube/Videos/Upload.php create mode 100644 app/Http/Controllers/Peertube/Watch.php create mode 100644 app/Http/Controllers/RssFeedController.php create mode 100644 app/Http/Kernel.php create mode 100644 app/Http/Middleware/Authenticate.php create mode 100644 app/Http/Middleware/CheckForMaintenanceMode.php create mode 100644 app/Http/Middleware/EncryptCookies.php create mode 100644 app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 app/Http/Middleware/TrimStrings.php create mode 100644 app/Http/Middleware/TrustHosts.php create mode 100644 app/Http/Middleware/TrustProxies.php create mode 100644 app/Http/Middleware/VerifyCsrfToken.php create mode 100644 app/Providers/AppServiceProvider.php create mode 100644 app/Providers/AuthServiceProvider.php create mode 100644 app/Providers/BroadcastServiceProvider.php create mode 100644 app/Providers/EventServiceProvider.php create mode 100644 app/Providers/RouteServiceProvider.php create mode 100644 app/helpers.php create mode 100755 artisan create mode 100644 bootstrap/app.php create mode 100644 bootstrap/cache/.gitignore create mode 100644 composer.json create mode 100644 config/app.php create mode 100644 config/auth.php create mode 100644 config/broadcasting.php create mode 100644 config/cache.php create mode 100644 config/cors.php create mode 100644 config/database.php create mode 100644 config/filesystems.php create mode 100644 config/hashing.php create mode 100644 config/logging.php create mode 100644 config/mail.php create mode 100644 config/queue.php create mode 100644 config/services.php create mode 100644 config/session.php create mode 100644 config/view.php create mode 100644 database/.gitignore create mode 100644 database/factories/UserFactory.php create mode 100644 database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 database/migrations/2019_08_19_000000_create_failed_jobs_table.php create mode 100644 database/seeds/DatabaseSeeder.php create mode 100644 phpunit.xml create mode 100644 public/.htaccess create mode 100644 public/css/account.css create mode 100644 public/css/channel.css create mode 100644 public/css/common.css create mode 100644 public/css/custom.css create mode 100644 public/css/global.css create mode 100644 public/css/login.css create mode 100644 public/css/myaccount.css create mode 100644 public/css/style.css create mode 100644 public/css/styles.css create mode 100644 public/css/videoslist.css create mode 100644 public/css/watch.css create mode 100644 public/favicon.ico create mode 100644 public/fonts/jpserriffont.woff create mode 100644 public/img/antazorg.png create mode 100644 public/img/bash/6fd97df9bfea41748061893ce36cefee.jpeg create mode 100644 public/img/bash/81004208_p0.jpg create mode 100644 public/img/bash/app_icon.png create mode 100644 public/img/bash/app_icon.webp create mode 100644 public/img/bash/bottom_bg.png create mode 100644 public/img/bash/bottom_left.png create mode 100644 public/img/bash/bottom_right.png create mode 100644 public/img/bash/discord_top_left.png create mode 100644 public/img/bash/left_bg.png create mode 100644 public/img/bash/note_bg.png create mode 100644 public/img/bash/note_icon.png create mode 100644 public/img/bash/note_icon.webp create mode 100644 public/img/bash/note_top_left.png create mode 100644 public/img/bash/right_bg.png create mode 100644 public/img/bash/root_bg.png create mode 100644 public/img/bash/top_bg.png create mode 100644 public/img/bash/top_left.png create mode 100644 public/img/bash/top_max.png create mode 100644 public/img/bash/top_max_hover.png create mode 100644 public/img/bash/top_min.png create mode 100644 public/img/bash/top_min_hover.png create mode 100644 public/img/bash/top_right.png create mode 100644 public/img/bash/top_right_hover.png create mode 100644 public/img/bash/user_bg.png create mode 100644 public/img/favicon.jpeg create mode 100755 public/img/flag/ASEAN.png create mode 100755 public/img/flag/Afghanistan.png create mode 100755 public/img/flag/African Union(OAS).png create mode 100755 public/img/flag/Albania.png create mode 100755 public/img/flag/Algeria.png create mode 100755 public/img/flag/American Samoa.png create mode 100755 public/img/flag/Andorra.png create mode 100755 public/img/flag/Angola.png create mode 100755 public/img/flag/Anguilla.png create mode 100755 public/img/flag/Antarctica.png create mode 100755 public/img/flag/Antigua & Barbuda.png create mode 100755 public/img/flag/Arab League.png create mode 100755 public/img/flag/Argentina.png create mode 100755 public/img/flag/Armenia.png create mode 100755 public/img/flag/Aruba.png create mode 100755 public/img/flag/Australia.png create mode 100755 public/img/flag/Austria.png create mode 100755 public/img/flag/Azerbaijan.png create mode 100755 public/img/flag/Bahamas.png create mode 100755 public/img/flag/Bahrain.png create mode 100755 public/img/flag/Bangladesh.png create mode 100755 public/img/flag/Barbados.png create mode 100755 public/img/flag/Belarus.png create mode 100755 public/img/flag/Belgium.png create mode 100755 public/img/flag/Belize.png create mode 100755 public/img/flag/Benin.png create mode 100755 public/img/flag/Bermuda.png create mode 100755 public/img/flag/Bhutan.png create mode 100755 public/img/flag/Bolivia.png create mode 100755 public/img/flag/Bosnia & Herzegovina.png create mode 100755 public/img/flag/Botswana.png create mode 100755 public/img/flag/Brazil.png create mode 100755 public/img/flag/Brunei.png create mode 100755 public/img/flag/Bulgaria.png create mode 100755 public/img/flag/Burkina Faso.png create mode 100755 public/img/flag/Burundi.png create mode 100755 public/img/flag/CARICOM.png create mode 100755 public/img/flag/CIS.png create mode 100755 public/img/flag/Cambodja.png create mode 100755 public/img/flag/Cameroon.png create mode 100755 public/img/flag/Canada.png create mode 100755 public/img/flag/Cape Verde.png create mode 100755 public/img/flag/Cayman Islands.png create mode 100755 public/img/flag/Central African Republic.png create mode 100755 public/img/flag/Chad.png create mode 100755 public/img/flag/Chile.png create mode 100755 public/img/flag/China.png create mode 100755 public/img/flag/Colombia.png create mode 100755 public/img/flag/Commonwealth.png create mode 100755 public/img/flag/Comoros.png create mode 100755 public/img/flag/Congo-Brazzaville.png create mode 100755 public/img/flag/Congo-Kinshasa(Zaire).png create mode 100755 public/img/flag/Cook Islands.png create mode 100755 public/img/flag/Costa Rica.png create mode 100755 public/img/flag/Cote d'Ivoire.png create mode 100755 public/img/flag/Croatia.png create mode 100755 public/img/flag/Cuba.png create mode 100755 public/img/flag/Cyprus.png create mode 100755 public/img/flag/Czech Republic.png create mode 100755 public/img/flag/Denmark.png create mode 100755 public/img/flag/Djibouti.png create mode 100755 public/img/flag/Dominica.png create mode 100755 public/img/flag/Dominican Republic.png create mode 100755 public/img/flag/Ecuador.png create mode 100755 public/img/flag/Egypt.png create mode 100755 public/img/flag/El Salvador.png create mode 100755 public/img/flag/England.png create mode 100755 public/img/flag/Equatorial Guinea.png create mode 100755 public/img/flag/Eritrea.png create mode 100755 public/img/flag/Estonia.png create mode 100755 public/img/flag/Ethiopia.png create mode 100755 public/img/flag/European Union.png create mode 100755 public/img/flag/Faroes.png create mode 100755 public/img/flag/Fiji.png create mode 100755 public/img/flag/Finland.png create mode 100755 public/img/flag/France.png create mode 100755 public/img/flag/Gabon.png create mode 100755 public/img/flag/Gambia.png create mode 100755 public/img/flag/Georgia.png create mode 100755 public/img/flag/Germany.png create mode 100755 public/img/flag/Ghana.png create mode 100755 public/img/flag/Gibraltar.png create mode 100755 public/img/flag/Greece.png create mode 100755 public/img/flag/Greenland.png create mode 100755 public/img/flag/Grenada.png create mode 100755 public/img/flag/Guadeloupe.png create mode 100755 public/img/flag/Guam.png create mode 100755 public/img/flag/Guatemala.png create mode 100755 public/img/flag/Guernsey.png create mode 100755 public/img/flag/Guinea-Bissau.png create mode 100755 public/img/flag/Guinea.png create mode 100755 public/img/flag/Guyana.png create mode 100755 public/img/flag/Haiti.png create mode 100755 public/img/flag/Honduras.png create mode 100755 public/img/flag/Hong Kong.png create mode 100755 public/img/flag/Hungary.png create mode 100755 public/img/flag/Iceland.png create mode 100755 public/img/flag/India.png create mode 100755 public/img/flag/Indonesia.png create mode 100755 public/img/flag/Iran.png create mode 100755 public/img/flag/Iraq.png create mode 100755 public/img/flag/Ireland.png create mode 100755 public/img/flag/Islamic Conference.png create mode 100755 public/img/flag/Isle of Man.png create mode 100755 public/img/flag/Israel.png create mode 100755 public/img/flag/Italy.png create mode 100755 public/img/flag/Jamaica.png create mode 100755 public/img/flag/Japan.png create mode 100755 public/img/flag/Jersey.png create mode 100755 public/img/flag/Jordan.png create mode 100755 public/img/flag/Kazakhstan.png create mode 100755 public/img/flag/Kenya.png create mode 100755 public/img/flag/Kiribati.png create mode 100755 public/img/flag/Kosovo.png create mode 100755 public/img/flag/Kuwait.png create mode 100755 public/img/flag/Kyrgyzstan.png create mode 100755 public/img/flag/LIthuania.png create mode 100755 public/img/flag/Laos.png create mode 100755 public/img/flag/Latvia.png create mode 100755 public/img/flag/Lebanon.png create mode 100755 public/img/flag/Lesotho.png create mode 100755 public/img/flag/Liberia.png create mode 100755 public/img/flag/Libya.png create mode 100755 public/img/flag/Liechtenstein.png create mode 100755 public/img/flag/Luxembourg.png create mode 100755 public/img/flag/Macao.png create mode 100755 public/img/flag/Macedonia.png create mode 100755 public/img/flag/Madagascar.png create mode 100755 public/img/flag/Malawi.png create mode 100755 public/img/flag/Malaysia.png create mode 100755 public/img/flag/Maldives.png create mode 100755 public/img/flag/Mali.png create mode 100755 public/img/flag/Malta.png create mode 100755 public/img/flag/Marshall Islands.png create mode 100755 public/img/flag/Martinique.png create mode 100755 public/img/flag/Mauritania.png create mode 100755 public/img/flag/Mauritius.png create mode 100755 public/img/flag/Mexico.png create mode 100755 public/img/flag/Micronesia.png create mode 100755 public/img/flag/Moldova.png create mode 100755 public/img/flag/Monaco.png create mode 100755 public/img/flag/Mongolia.png create mode 100755 public/img/flag/Montenegro.png create mode 100755 public/img/flag/Montserrat.png create mode 100755 public/img/flag/Morocco.png create mode 100755 public/img/flag/Mozambique.png create mode 100755 public/img/flag/Myanmar(Burma).png create mode 100755 public/img/flag/NATO.png create mode 100755 public/img/flag/Namibia.png create mode 100755 public/img/flag/Nauru.png create mode 100755 public/img/flag/Nepal.png create mode 100755 public/img/flag/Netherlands Antilles.png create mode 100755 public/img/flag/Netherlands.png create mode 100755 public/img/flag/New Caledonia.png create mode 100755 public/img/flag/New Zealand.png create mode 100755 public/img/flag/Nicaragua.png create mode 100755 public/img/flag/Niger.png create mode 100755 public/img/flag/Nigeria.png create mode 100755 public/img/flag/North Korea.png create mode 100755 public/img/flag/Northern Cyprus.png create mode 100755 public/img/flag/Northern Ireland.png create mode 100755 public/img/flag/Norway.png create mode 100755 public/img/flag/OPEC.png create mode 100755 public/img/flag/Olimpic Movement.png create mode 100755 public/img/flag/Oman.png create mode 100755 public/img/flag/Pakistan.png create mode 100755 public/img/flag/Palau.png create mode 100755 public/img/flag/Palestine.png create mode 100755 public/img/flag/Panama.png create mode 100755 public/img/flag/Papua New Guinea.png create mode 100755 public/img/flag/Paraguay.png create mode 100755 public/img/flag/Peru.png create mode 100755 public/img/flag/Philippines.png create mode 100755 public/img/flag/Poland.png create mode 100755 public/img/flag/Portugal.png create mode 100755 public/img/flag/Puerto Rico.png create mode 100755 public/img/flag/Qatar.png create mode 100755 public/img/flag/Red Cross.png create mode 100755 public/img/flag/Reunion.png create mode 100755 public/img/flag/Romania.png create mode 100755 public/img/flag/Russian Federation.png create mode 100755 public/img/flag/Rwanda.png create mode 100755 public/img/flag/Saint Lucia.png create mode 100755 public/img/flag/Samoa.png create mode 100755 public/img/flag/San Marino.png create mode 100755 public/img/flag/Sao Tome & Principe.png create mode 100755 public/img/flag/Saudi Arabia.png create mode 100755 public/img/flag/Scotland.png create mode 100755 public/img/flag/Senegal.png create mode 100755 public/img/flag/Serbia(Yugoslavia).png create mode 100755 public/img/flag/Seychelles.png create mode 100755 public/img/flag/Sierra Leone.png create mode 100755 public/img/flag/Singapore.png create mode 100755 public/img/flag/Slovakia.png create mode 100755 public/img/flag/Slovenia.png create mode 100755 public/img/flag/Solomon Islands.png create mode 100755 public/img/flag/Somalia.png create mode 100755 public/img/flag/Somaliland.png create mode 100755 public/img/flag/South Africa.png create mode 100755 public/img/flag/South Korea.png create mode 100755 public/img/flag/Spain.png create mode 100755 public/img/flag/Sri Lanka.png create mode 100755 public/img/flag/St Kitts & Nevis.png create mode 100755 public/img/flag/St Vincent & the Grenadines.png create mode 100755 public/img/flag/Sudan.png create mode 100755 public/img/flag/Suriname.png create mode 100755 public/img/flag/Swaziland.png create mode 100755 public/img/flag/Sweden.png create mode 100755 public/img/flag/Switzerland.png create mode 100755 public/img/flag/Syria.png create mode 100755 public/img/flag/Tahiti(French Polinesia).png create mode 100755 public/img/flag/Taiwan.png create mode 100755 public/img/flag/Tajikistan.png create mode 100755 public/img/flag/Tanzania.png create mode 100755 public/img/flag/Thailand.png create mode 100755 public/img/flag/Timor-Leste.png create mode 100755 public/img/flag/Togo.png create mode 100755 public/img/flag/Tonga.png create mode 100755 public/img/flag/Trinidad & Tobago.png create mode 100755 public/img/flag/Tunisia.png create mode 100755 public/img/flag/Turkey.png create mode 100755 public/img/flag/Turkmenistan.png create mode 100755 public/img/flag/Turks and Caicos Islands.png create mode 100755 public/img/flag/Tuvalu.png create mode 100755 public/img/flag/Uganda.png create mode 100755 public/img/flag/Ukraine.png create mode 100755 public/img/flag/United Arab Emirates.png create mode 100755 public/img/flag/United Kingdom(Great Britain).png create mode 100755 public/img/flag/United Nations.png create mode 100755 public/img/flag/United States of America (USA).png create mode 100755 public/img/flag/Uruguay.png create mode 100755 public/img/flag/Uzbekistan.png create mode 100755 public/img/flag/Vanutau.png create mode 100755 public/img/flag/Vatican City.png create mode 100755 public/img/flag/Venezuela.png create mode 100755 public/img/flag/Viet Nam.png create mode 100755 public/img/flag/Virgin Islands British.png create mode 100755 public/img/flag/Virgin Islands US.png create mode 100755 public/img/flag/Wales.png create mode 100755 public/img/flag/Western Sahara.png create mode 100755 public/img/flag/Yemen.png create mode 100755 public/img/flag/Zambia.png create mode 100755 public/img/flag/Zimbabwe.png create mode 100644 public/img/header.jpeg create mode 100644 public/img/kerokinsi.png create mode 100644 public/img/keromayokatta.png create mode 100644 public/img/noicon.jpg create mode 100644 public/img/od-box.png create mode 100644 public/img/pixel.gif create mode 100644 public/img/play-box.png create mode 100644 public/img/pt-box.png create mode 100644 public/img/swk-box.png create mode 100644 public/img/usericon/1/40313557_p0-icon.jpg create mode 100644 public/img/usericon/1/suwakawa.png create mode 100644 public/img/usericon/1/suwakowa.png create mode 100644 public/img/yt-box.png create mode 100644 public/index.php create mode 100644 public/robots.txt create mode 100644 resources/fonts/jpserriffont.woff create mode 100644 resources/img/bash/6fd97df9bfea41748061893ce36cefee.jpeg create mode 100644 resources/img/bash/81004208_p0.jpg create mode 100644 resources/img/bash/app_icon.png create mode 100644 resources/img/bash/app_icon.webp create mode 100644 resources/img/bash/bottom_bg.png create mode 100644 resources/img/bash/bottom_left.png create mode 100644 resources/img/bash/bottom_right.png create mode 100644 resources/img/bash/discord_top_left.png create mode 100644 resources/img/bash/left_bg.png create mode 100644 resources/img/bash/note_bg.png create mode 100644 resources/img/bash/note_icon.png create mode 100644 resources/img/bash/note_icon.webp create mode 100644 resources/img/bash/note_top_left.png create mode 100644 resources/img/bash/right_bg.png create mode 100644 resources/img/bash/root_bg.png create mode 100644 resources/img/bash/top_bg.png create mode 100644 resources/img/bash/top_left.png create mode 100644 resources/img/bash/top_max.png create mode 100644 resources/img/bash/top_max_hover.png create mode 100644 resources/img/bash/top_min.png create mode 100644 resources/img/bash/top_min_hover.png create mode 100644 resources/img/bash/top_right.png create mode 100644 resources/img/bash/top_right_hover.png create mode 100644 resources/img/bash/user_bg.png create mode 100644 resources/img/bt-box.png create mode 100644 resources/img/favicon.jpeg create mode 100755 resources/img/flags/ASEAN.png create mode 100755 resources/img/flags/Afghanistan.png create mode 100755 resources/img/flags/African Union(OAS).png create mode 100755 resources/img/flags/Albania.png create mode 100755 resources/img/flags/Algeria.png create mode 100755 resources/img/flags/American Samoa.png create mode 100755 resources/img/flags/Andorra.png create mode 100755 resources/img/flags/Angola.png create mode 100755 resources/img/flags/Anguilla.png create mode 100755 resources/img/flags/Antarctica.png create mode 100755 resources/img/flags/Antigua & Barbuda.png create mode 100755 resources/img/flags/Arab League.png create mode 100755 resources/img/flags/Argentina.png create mode 100755 resources/img/flags/Armenia.png create mode 100755 resources/img/flags/Aruba.png create mode 100755 resources/img/flags/Australia.png create mode 100755 resources/img/flags/Austria.png create mode 100755 resources/img/flags/Azerbaijan.png create mode 100755 resources/img/flags/Bahamas.png create mode 100755 resources/img/flags/Bahrain.png create mode 100755 resources/img/flags/Bangladesh.png create mode 100755 resources/img/flags/Barbados.png create mode 100755 resources/img/flags/Belarus.png create mode 100755 resources/img/flags/Belgium.png create mode 100755 resources/img/flags/Belize.png create mode 100755 resources/img/flags/Benin.png create mode 100755 resources/img/flags/Bermuda.png create mode 100755 resources/img/flags/Bhutan.png create mode 100755 resources/img/flags/Bolivia.png create mode 100755 resources/img/flags/Bosnia & Herzegovina.png create mode 100755 resources/img/flags/Botswana.png create mode 100755 resources/img/flags/Brazil.png create mode 100755 resources/img/flags/Brunei.png create mode 100755 resources/img/flags/Bulgaria.png create mode 100755 resources/img/flags/Burkina Faso.png create mode 100755 resources/img/flags/Burundi.png create mode 100755 resources/img/flags/CARICOM.png create mode 100755 resources/img/flags/CIS.png create mode 100755 resources/img/flags/Cambodja.png create mode 100755 resources/img/flags/Cameroon.png create mode 100755 resources/img/flags/Canada.png create mode 100755 resources/img/flags/Cape Verde.png create mode 100755 resources/img/flags/Cayman Islands.png create mode 100755 resources/img/flags/Central African Republic.png create mode 100755 resources/img/flags/Chad.png create mode 100755 resources/img/flags/Chile.png create mode 100755 resources/img/flags/China.png create mode 100755 resources/img/flags/Colombia.png create mode 100755 resources/img/flags/Commonwealth.png create mode 100755 resources/img/flags/Comoros.png create mode 100755 resources/img/flags/Congo-Brazzaville.png create mode 100755 resources/img/flags/Congo-Kinshasa(Zaire).png create mode 100755 resources/img/flags/Cook Islands.png create mode 100755 resources/img/flags/Costa Rica.png create mode 100755 resources/img/flags/Cote d'Ivoire.png create mode 100755 resources/img/flags/Croatia.png create mode 100755 resources/img/flags/Cuba.png create mode 100755 resources/img/flags/Cyprus.png create mode 100755 resources/img/flags/Czech Republic.png create mode 100755 resources/img/flags/Denmark.png create mode 100755 resources/img/flags/Djibouti.png create mode 100755 resources/img/flags/Dominica.png create mode 100755 resources/img/flags/Dominican Republic.png create mode 100755 resources/img/flags/Ecuador.png create mode 100755 resources/img/flags/Egypt.png create mode 100755 resources/img/flags/El Salvador.png create mode 100755 resources/img/flags/England.png create mode 100755 resources/img/flags/Equatorial Guinea.png create mode 100755 resources/img/flags/Eritrea.png create mode 100755 resources/img/flags/Estonia.png create mode 100755 resources/img/flags/Ethiopia.png create mode 100755 resources/img/flags/European Union.png create mode 100755 resources/img/flags/Faroes.png create mode 100755 resources/img/flags/Fiji.png create mode 100755 resources/img/flags/Finland.png create mode 100755 resources/img/flags/France.png create mode 100755 resources/img/flags/Gabon.png create mode 100755 resources/img/flags/Gambia.png create mode 100755 resources/img/flags/Georgia.png create mode 100755 resources/img/flags/Germany.png create mode 100755 resources/img/flags/Ghana.png create mode 100755 resources/img/flags/Gibraltar.png create mode 100755 resources/img/flags/Greece.png create mode 100755 resources/img/flags/Greenland.png create mode 100755 resources/img/flags/Grenada.png create mode 100755 resources/img/flags/Guadeloupe.png create mode 100755 resources/img/flags/Guam.png create mode 100755 resources/img/flags/Guatemala.png create mode 100755 resources/img/flags/Guernsey.png create mode 100755 resources/img/flags/Guinea-Bissau.png create mode 100755 resources/img/flags/Guinea.png create mode 100755 resources/img/flags/Guyana.png create mode 100755 resources/img/flags/Haiti.png create mode 100755 resources/img/flags/Honduras.png create mode 100755 resources/img/flags/Hong Kong.png create mode 100755 resources/img/flags/Hungary.png create mode 100755 resources/img/flags/Iceland.png create mode 100755 resources/img/flags/India.png create mode 100755 resources/img/flags/Indonesia.png create mode 100755 resources/img/flags/Iran.png create mode 100755 resources/img/flags/Iraq.png create mode 100755 resources/img/flags/Ireland.png create mode 100755 resources/img/flags/Islamic Conference.png create mode 100755 resources/img/flags/Isle of Man.png create mode 100755 resources/img/flags/Israel.png create mode 100755 resources/img/flags/Italy.png create mode 100755 resources/img/flags/Jamaica.png create mode 100755 resources/img/flags/Japan.png create mode 100755 resources/img/flags/Jersey.png create mode 100755 resources/img/flags/Jordan.png create mode 100755 resources/img/flags/Kazakhstan.png create mode 100755 resources/img/flags/Kenya.png create mode 100755 resources/img/flags/Kiribati.png create mode 100755 resources/img/flags/Kosovo.png create mode 100755 resources/img/flags/Kuwait.png create mode 100755 resources/img/flags/Kyrgyzstan.png create mode 100755 resources/img/flags/LIthuania.png create mode 100755 resources/img/flags/Laos.png create mode 100755 resources/img/flags/Latvia.png create mode 100755 resources/img/flags/Lebanon.png create mode 100755 resources/img/flags/Lesotho.png create mode 100755 resources/img/flags/Liberia.png create mode 100755 resources/img/flags/Libya.png create mode 100755 resources/img/flags/Liechtenstein.png create mode 100755 resources/img/flags/Luxembourg.png create mode 100755 resources/img/flags/Macao.png create mode 100755 resources/img/flags/Macedonia.png create mode 100755 resources/img/flags/Madagascar.png create mode 100755 resources/img/flags/Malawi.png create mode 100755 resources/img/flags/Malaysia.png create mode 100755 resources/img/flags/Maldives.png create mode 100755 resources/img/flags/Mali.png create mode 100755 resources/img/flags/Malta.png create mode 100755 resources/img/flags/Marshall Islands.png create mode 100755 resources/img/flags/Martinique.png create mode 100755 resources/img/flags/Mauritania.png create mode 100755 resources/img/flags/Mauritius.png create mode 100755 resources/img/flags/Mexico.png create mode 100755 resources/img/flags/Micronesia.png create mode 100755 resources/img/flags/Moldova.png create mode 100755 resources/img/flags/Monaco.png create mode 100755 resources/img/flags/Mongolia.png create mode 100755 resources/img/flags/Montenegro.png create mode 100755 resources/img/flags/Montserrat.png create mode 100755 resources/img/flags/Morocco.png create mode 100755 resources/img/flags/Mozambique.png create mode 100755 resources/img/flags/Myanmar(Burma).png create mode 100755 resources/img/flags/NATO.png create mode 100755 resources/img/flags/Namibia.png create mode 100755 resources/img/flags/Nauru.png create mode 100755 resources/img/flags/Nepal.png create mode 100755 resources/img/flags/Netherlands Antilles.png create mode 100755 resources/img/flags/Netherlands.png create mode 100755 resources/img/flags/New Caledonia.png create mode 100755 resources/img/flags/New Zealand.png create mode 100755 resources/img/flags/Nicaragua.png create mode 100755 resources/img/flags/Niger.png create mode 100755 resources/img/flags/Nigeria.png create mode 100755 resources/img/flags/North Korea.png create mode 100755 resources/img/flags/Northern Cyprus.png create mode 100755 resources/img/flags/Northern Ireland.png create mode 100755 resources/img/flags/Norway.png create mode 100755 resources/img/flags/OPEC.png create mode 100755 resources/img/flags/Olimpic Movement.png create mode 100755 resources/img/flags/Oman.png create mode 100755 resources/img/flags/Pakistan.png create mode 100755 resources/img/flags/Palau.png create mode 100755 resources/img/flags/Palestine.png create mode 100755 resources/img/flags/Panama.png create mode 100755 resources/img/flags/Papua New Guinea.png create mode 100755 resources/img/flags/Paraguay.png create mode 100755 resources/img/flags/Peru.png create mode 100755 resources/img/flags/Philippines.png create mode 100755 resources/img/flags/Poland.png create mode 100755 resources/img/flags/Portugal.png create mode 100755 resources/img/flags/Puerto Rico.png create mode 100755 resources/img/flags/Qatar.png create mode 100755 resources/img/flags/Red Cross.png create mode 100755 resources/img/flags/Reunion.png create mode 100755 resources/img/flags/Romania.png create mode 100755 resources/img/flags/Russian Federation.png create mode 100755 resources/img/flags/Rwanda.png create mode 100755 resources/img/flags/Saint Lucia.png create mode 100755 resources/img/flags/Samoa.png create mode 100755 resources/img/flags/San Marino.png create mode 100755 resources/img/flags/Sao Tome & Principe.png create mode 100755 resources/img/flags/Saudi Arabia.png create mode 100755 resources/img/flags/Scotland.png create mode 100755 resources/img/flags/Senegal.png create mode 100755 resources/img/flags/Serbia(Yugoslavia).png create mode 100755 resources/img/flags/Seychelles.png create mode 100755 resources/img/flags/Sierra Leone.png create mode 100755 resources/img/flags/Singapore.png create mode 100755 resources/img/flags/Slovakia.png create mode 100755 resources/img/flags/Slovenia.png create mode 100755 resources/img/flags/Solomon Islands.png create mode 100755 resources/img/flags/Somalia.png create mode 100755 resources/img/flags/Somaliland.png create mode 100755 resources/img/flags/South Africa.png create mode 100755 resources/img/flags/South Korea.png create mode 100755 resources/img/flags/Spain.png create mode 100755 resources/img/flags/Sri Lanka.png create mode 100755 resources/img/flags/St Kitts & Nevis.png create mode 100755 resources/img/flags/St Vincent & the Grenadines.png create mode 100755 resources/img/flags/Sudan.png create mode 100755 resources/img/flags/Suriname.png create mode 100755 resources/img/flags/Swaziland.png create mode 100755 resources/img/flags/Sweden.png create mode 100755 resources/img/flags/Switzerland.png create mode 100755 resources/img/flags/Syria.png create mode 100755 resources/img/flags/Tahiti(French Polinesia).png create mode 100755 resources/img/flags/Taiwan.png create mode 100755 resources/img/flags/Tajikistan.png create mode 100755 resources/img/flags/Tanzania.png create mode 100755 resources/img/flags/Thailand.png create mode 100755 resources/img/flags/Timor-Leste.png create mode 100755 resources/img/flags/Togo.png create mode 100755 resources/img/flags/Tonga.png create mode 100755 resources/img/flags/Trinidad & Tobago.png create mode 100755 resources/img/flags/Tunisia.png create mode 100755 resources/img/flags/Turkey.png create mode 100755 resources/img/flags/Turkmenistan.png create mode 100755 resources/img/flags/Turks and Caicos Islands.png create mode 100755 resources/img/flags/Tuvalu.png create mode 100755 resources/img/flags/Uganda.png create mode 100755 resources/img/flags/Ukraine.png create mode 100755 resources/img/flags/United Arab Emirates.png create mode 100755 resources/img/flags/United Kingdom(Great Britain).png create mode 100755 resources/img/flags/United Nations.png create mode 100755 resources/img/flags/United States of America (USA).png create mode 100755 resources/img/flags/Uruguay.png create mode 100755 resources/img/flags/Uzbekistan.png create mode 100755 resources/img/flags/Vanutau.png create mode 100755 resources/img/flags/Vatican City.png create mode 100755 resources/img/flags/Venezuela.png create mode 100755 resources/img/flags/Viet Nam.png create mode 100755 resources/img/flags/Virgin Islands British.png create mode 100755 resources/img/flags/Virgin Islands US.png create mode 100755 resources/img/flags/Wales.png create mode 100755 resources/img/flags/Western Sahara.png create mode 100755 resources/img/flags/Yemen.png create mode 100755 resources/img/flags/Zambia.png create mode 100755 resources/img/flags/Zimbabwe.png create mode 100644 resources/img/header.jpeg create mode 100644 resources/img/kerokinsi.png create mode 100644 resources/img/keromayokatta.png create mode 100644 resources/img/nico-box.png create mode 100644 resources/img/noicon.jpg create mode 100644 resources/img/od-box.png create mode 100644 resources/img/play-box.png create mode 100644 resources/img/swk-box.png create mode 100644 resources/img/yt-box.png create mode 100644 resources/lang/de.json create mode 100644 resources/lang/de/site.php create mode 100644 resources/lang/en.json create mode 100644 resources/lang/en/site.php create mode 100644 resources/lang/es.json create mode 100644 resources/lang/es/site.php create mode 100644 resources/lang/fr.json create mode 100644 resources/lang/fr/site.php create mode 100644 resources/lang/ja.json create mode 100644 resources/lang/ja/site.php create mode 100644 resources/lang/ko.json create mode 100644 resources/lang/ko/site.php create mode 100644 resources/lang/nl.json create mode 100644 resources/lang/nl/site.php create mode 100644 resources/lang/ru.json create mode 100644 resources/lang/ru/site.php create mode 100644 resources/lang/vi.json create mode 100644 resources/lang/vi/site.php create mode 100644 resources/lang/zh-CN.json create mode 100644 resources/lang/zh-CN/site.php create mode 100644 resources/lang/zh-TW.json create mode 100644 resources/lang/zh-TW/site.php create mode 100644 resources/views/errors/400.blade.php create mode 100644 resources/views/errors/401.blade.php create mode 100644 resources/views/errors/403.blade.php create mode 100644 resources/views/errors/404.blade.php create mode 100644 resources/views/errors/405.blade.php create mode 100644 resources/views/errors/419.blade.php create mode 100644 resources/views/errors/429.blade.php create mode 100644 resources/views/errors/500.blade.php create mode 100644 resources/views/errors/502.blade.php create mode 100644 resources/views/errors/503.blade.php create mode 100644 resources/views/errors/504.blade.php create mode 100644 resources/views/errors/595.blade.php create mode 100644 resources/views/errors/596.blade.php create mode 100644 resources/views/errors/illustrated-layout.blade.php create mode 100644 resources/views/errors/layout.blade.php create mode 100644 resources/views/errors/minimal.blade.php create mode 100644 resources/views/layout.blade.php create mode 100644 resources/views/layout/component/a/channels.blade.php create mode 100644 resources/views/layout/component/a/channels/avatar.blade.php create mode 100644 resources/views/layout/component/a/channels/videos.blade.php create mode 100644 resources/views/layout/component/a/info.blade.php create mode 100644 resources/views/layout/component/a/links.blade.php create mode 100644 resources/views/layout/component/c/head.blade.php create mode 100644 resources/views/layout/component/c/head/banner.blade.php create mode 100644 resources/views/layout/component/c/head/info.blade.php create mode 100644 resources/views/layout/component/c/head/owner.blade.php create mode 100644 resources/views/layout/component/c/links.blade.php create mode 100644 resources/views/layout/component/c/playlists.blade.php create mode 100644 resources/views/layout/component/c/videos.blade.php create mode 100644 resources/views/layout/component/common/paginate.blade.php create mode 100644 resources/views/layout/component/common/subscribe.blade.php create mode 100644 resources/views/layout/component/common/videominature.blade.php create mode 100644 resources/views/layout/component/common/videosbydate.blade.php create mode 100644 resources/views/layout/component/header.blade.php create mode 100644 resources/views/layout/component/home/newest.blade.php create mode 100644 resources/views/layout/component/home/popularest.blade.php create mode 100644 resources/views/layout/component/manifest.blade.php create mode 100644 resources/views/layout/component/menu.blade.php create mode 100644 resources/views/layout/component/menu/footer.blade.php create mode 100644 resources/views/layout/component/menu/top.blade.php create mode 100644 resources/views/layout/component/menu/top/inmylibrary.blade.php create mode 100644 resources/views/layout/component/menu/top/loggedin.blade.php create mode 100644 resources/views/layout/component/menu/top/loginmenu.blade.php create mode 100644 resources/views/layout/component/menu/top/notification.blade.php create mode 100644 resources/views/layout/component/menu/top/oninstance.blade.php create mode 100644 resources/views/layout/component/meta.blade.php create mode 100644 resources/views/layout/component/my-account/filter.blade.php create mode 100644 resources/views/layout/component/my-account/menu.blade.php create mode 100644 resources/views/layout/component/my-account/notifications.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/abuse.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/account.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/actorfollow.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/blacklist.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/comment.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/import.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/mention.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/plugin.blade.php create mode 100644 resources/views/layout/component/my-account/notifications/video.blade.php create mode 100644 resources/views/layout/component/style.blade.php create mode 100644 resources/views/layout/component/stylelink.blade.php create mode 100644 resources/views/layout/component/videos/categories.blade.php create mode 100644 resources/views/layout/component/videos/channels.blade.php create mode 100644 resources/views/layout/component/videos/tags.blade.php create mode 100644 resources/views/layout/component/w/info.blade.php create mode 100644 resources/views/layout/component/w/info/attrib.blade.php create mode 100644 resources/views/layout/component/w/info/channel.blade.php create mode 100644 resources/views/layout/component/w/info/comments.blade.php create mode 100644 resources/views/layout/component/w/info/description.blade.php create mode 100644 resources/views/layout/component/w/info/first.blade.php create mode 100644 resources/views/layout/component/w/info/more.blade.php create mode 100644 resources/views/layout/component/w/info/save.blade.php create mode 100644 resources/views/layout/component/w/info/share.blade.php create mode 100644 resources/views/layout/component/w/info/support.blade.php create mode 100644 resources/views/layout/component/w/info/videorate.blade.php create mode 100644 resources/views/layout/component/w/info/viewsdate.blade.php create mode 100644 resources/views/layout/component/w/player.blade.php create mode 100644 resources/views/layout/component/w/videorecommend.blade.php create mode 100644 resources/views/pages/common/comments.blade.php create mode 100644 resources/views/pages/common/contenttype.blade.php create mode 100644 resources/views/pages/peertube/a.blade.php create mode 100644 resources/views/pages/peertube/c.blade.php create mode 100644 resources/views/pages/peertube/home.blade.php create mode 100644 resources/views/pages/peertube/login.blade.php create mode 100644 resources/views/pages/peertube/my-account/notifications.blade.php create mode 100644 resources/views/pages/peertube/notyet.blade.php create mode 100644 resources/views/pages/peertube/videos/local.blade.php create mode 100644 resources/views/pages/peertube/videos/overview.blade.php create mode 100644 resources/views/pages/peertube/videos/recentlyadded.blade.php create mode 100644 resources/views/pages/peertube/videos/trending.blade.php create mode 100644 resources/views/pages/peertube/w.blade.php create mode 100644 resources/views/rss/feed.blade.php create mode 100644 routes/api.php create mode 100644 routes/channels.php create mode 100644 routes/console.php create mode 100644 routes/web.php create mode 100644 server.php create mode 100644 storage/app/.gitignore create mode 100644 storage/app/public/.gitignore create mode 100644 storage/framework/.gitignore create mode 100644 storage/framework/cache/.gitignore create mode 100644 storage/framework/cache/data/.gitignore create mode 100644 storage/framework/sessions/.gitignore create mode 100644 storage/framework/testing/.gitignore create mode 100644 storage/framework/views/.gitignore create mode 100644 storage/logs/.gitignore create mode 100644 tests/CreatesApplication.php create mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..4594291 --- /dev/null +++ b/.env.example @@ -0,0 +1,68 @@ +APP_NAME=076Server +APP_ENV=local +APP_KEY= +APP_DEBUG=false +APP_LOG_LEVEL=debug +APP_URL=http://localhost +ONION_HOST=jkdasfhfdhndsfnklhjfdsknjfdgsjk.onion +SESSION_SECURE_COOKIE=false +SESSION_HTTP_ONLY=true +THEME="techsuwa" +CSSENGINE="lolita" +CSSMINIFY=true + +ENABLE_REGISTER=false +HAS_ADMIN=false +OWNER_NAME="" +OWNER_PASS="" +ADMIN_NAME="" +ADMIN_PASS="" + +LOG_CHANNEL=stack +LOG_LEVEL=debug + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +MEMCACHED_HOST=127.0.0.1 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_NOREPLY_USER=null +MAIL_NOREPLY_PASS=null +MAIL_ENCRYPTION=null +MAIL_OWNER_ADDRESS=null +MAIL_OWNER_NAME="${APP_NAME}" +MAIL_FROM_ADDRESS=null +MAIL_FROM_NAME="${APP_NAME}" + +GMO_KEY="" +GMO_SECRET="" + +CONOHA_DENANT_ID="" +CONOHA_DENANT_NAME="" +CONOHA_USER_NAME="" +CONOHA_USER_PASS="" + +YOUTUBE_API="" +LBRY_URI="" +PEER_URI="" +PEER_USER="" +PEER_PASS="" \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..967315d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +* text=auto +*.css linguist-vendored +*.scss linguist-vendored +*.js linguist-vendored +CHANGELOG.md export-ignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d6fdcbe --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ + +/public/storage + +/storage/*.key +/vendor +package-lock.json +composer.lock +.env +/storage/app/public/store diff --git a/README.md b/README.md new file mode 100644 index 0000000..3cae01e --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +

+ +

+Build Status +Total Downloads +Latest Stable Version +License +

+ +## About Laravel + +Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: + +- [Simple, fast routing engine](https://laravel.com/docs/routing). +- [Powerful dependency injection container](https://laravel.com/docs/container). +- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. +- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). +- Database agnostic [schema migrations](https://laravel.com/docs/migrations). +- [Robust background job processing](https://laravel.com/docs/queues). +- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). + +Laravel is accessible, powerful, and provides tools required for large, robust applications. + +## Learning Laravel + +Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. + +If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. + +## Laravel Sponsors + +We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell). + +- **[Vehikl](https://vehikl.com/)** +- **[Tighten Co.](https://tighten.co)** +- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** +- **[64 Robots](https://64robots.com)** +- **[Cubet Techno Labs](https://cubettech.com)** +- **[Cyber-Duck](https://cyber-duck.co.uk)** +- **[Many](https://www.many.co.uk)** +- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)** +- **[DevSquad](https://devsquad.com)** +- [UserInsights](https://userinsights.com) +- [Fragrantica](https://www.fragrantica.com) +- [SOFTonSOFA](https://softonsofa.com/) +- [User10](https://user10.com) +- [Soumettre.fr](https://soumettre.fr/) +- [CodeBrisk](https://codebrisk.com) +- [1Forge](https://1forge.com) +- [TECPRESSO](https://tecpresso.co.jp/) +- [Runtime Converter](http://runtimeconverter.com/) +- [WebL'Agence](https://weblagence.com/) +- [Invoice Ninja](https://www.invoiceninja.com) +- [iMi digital](https://www.imi-digital.de/) +- [Earthlink](https://www.earthlink.ro/) +- [Steadfast Collective](https://steadfastcollective.com/) +- [We Are The Robots Inc.](https://watr.mx/) +- [Understand.io](https://www.understand.io/) +- [Abdel Elrafa](https://abdelelrafa.com) +- [Hyper Host](https://hyper.host) +- [Appoly](https://www.appoly.co.uk) +- [OP.GG](https://op.gg) +- [云软科技](http://www.yunruan.ltd/) + +## Contributing + +Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). + +## Code of Conduct + +In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). + +## Security Vulnerabilities + +If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. + +## License + +The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php new file mode 100644 index 0000000..69914e9 --- /dev/null +++ b/app/Console/Kernel.php @@ -0,0 +1,41 @@ +command('inspire')->hourly(); + } + + /** + * Register the commands for the application. + * + * @return void + */ + protected function commands() + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php new file mode 100644 index 0000000..59c585d --- /dev/null +++ b/app/Exceptions/Handler.php @@ -0,0 +1,55 @@ +err = ''; + $this->warn = ''; + $this->info = ''; + $this->suc = ''; + + if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']); + $this->id = checkLegit((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '')); + $this->user = $this->getLoggedUser((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '')); + + $this->css = env('CSSENGINE'); + if ($this->user && $this->user->profile->gender != 0) $this->css .= '_'.($this->user->profile->gender == 1 ? 'm' : 'f'); + if (env('CSSMINIFY')) $this->css .= '.min'; + $this->css .= '.css'; + } + + function getLoggedUser ($kero) { + $check = checkLegit($kero); + if ($check == 0) return 0; + + // $cols = getGroupColours(); + $get = $this->getUser($check); + + return $get; + } + + public function getUser ($id) { + $get = DB::table('users')->where('id', $id)->first(); + unset($get->password); unset($get->salt); unset($get->remember_token); + $get->profile = DB::table('usr_profile')->where('user_id', $get->id)->first(); + $get->profile->showname = (!empty($get->profile->display_name) && !is_null($get->profile->display_name) ? $get->profile->display_name : $get->username); + $perm_id = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $get->id)->first()->perm_id; + $get->perm_module = DB::table('usr_perm_module')->where('usr_perm_id', $perm_id)->first(); + $get->details = DB::table('usr_details')->where('user_id', $get->id)->first(); + $get->contacts = DB::table('usr_contacts')->where('user_id', $get->id)->first(); + $ucol = DB::table('usr_perm_module')->select('id', 'name', 'colour_m', 'colour_f', 'colour_u')->get(); + + if (!empty($get->profile->name_style)) $get->profile->name_style = $get->profile->name_style; + else { + foreach ($ucol as $j3) { + if ($j3->id == $perm_id) { + if ($get->profile->gender == 1) $get->profile->name_style = $j3->colour_m; + else if ($get->profile->gender == 2) $get->profile->name_style = $j3->colour_f; + else $get->profile->name_style = $j3->colour_u; + } + } + } + + if ($get->profile->gender == 1) $get->profile->gender_name = '男性'; + else if ($get->profile->gender == 2) $get->profile->gender_name = '女性'; + else $get->profile->gender_name = '不明'; + + $get->perm = $this->getPermissions($get->kero_token); + if (empty($get->profile->avatar) || $get->profile->avatar == '') $get->profile->avatar = 'img/noicon.jpg'; + $get->profile->avatar = '/'.$get->profile->avatar; + + return $get; + } + + public function getPermissionGroup($mdl, $id) { return DB::table($mdl.'_permissions')->where('id', $id)->get(); } + public function getPermissionUser($mdl, $id) { return DB::table($mdl.'_user_permissions')->where('user_id', $id)->get(); } + + public function getPermissions ($token) { + $check = checkLegit($token); + $perm = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $check)->first(); + $perm = json_decode(json_encode($perm), true); + + if ($check != 0) { + $grouppermblg = $this->getPermissionGroup('blg', $perm['perm_id']); + $userpermblg = $this->getPermissionUser('blg', $check); + + $grouppermusr = $this->getPermissionGroup('usr', $perm['perm_id']); + $userpermusr = $this->getPermissionUser('usr', $check); + + $blgarr = array(); + $usrarr = array(); + + if (!empty($userpermblg[0])) $blgarr = (array)$userpermblg[0]; + else $blgarr = (array)$grouppermblg[0]; + $blgarr = array_combine(array_map(function($k){ return 'blg_'.$k; }, array_keys($blgarr)), $blgarr); + + if (!empty($userpermusr[0])) $usrarr = (array)$userpermusr[0]; + else $usrarr = (array)$grouppermusr[0]; + $usrarr = array_combine(array_map(function($k){ return 'usr_'.$k; }, array_keys($usrarr)), $usrarr); + + return array_merge($blgarr, $usrarr); + } + else { + $grouppermblg = $this->getPermissionGroup('blg', 6); + $grouppermusr = $this->getPermissionGroup('usr', 6); + + (array)$grouppermblg[0] = array_combine(array_map(function($k){ return 'blg_'.$k; }, array_keys((array)$grouppermblg[0])), (array)$grouppermblg[0]); + (array)$grouppermusr[0] = array_combine(array_map(function($k){ return 'usr_'.$k; }, array_keys((array)$grouppermusr[0])), (array)$grouppermusr[0]); + + return array_merge((array)$grouppermblg[0], (array)$grouppermusr[0]); + } + } +} \ No newline at end of file diff --git a/app/Http/Controllers/MailerController.php b/app/Http/Controllers/MailerController.php new file mode 100644 index 0000000..f5274d1 --- /dev/null +++ b/app/Http/Controllers/MailerController.php @@ -0,0 +1,74 @@ +SMTPDebug = 2; + $mail->isSMTP(); + $mail->Host = config('mail.mailers.smtp.host'); + $mail->Port = config('mail.mailers.smtp.port'); + $mail->SMTPSecure = config('mail.mailers.smtp.encryption'); + $mail->SMTPAuth = true; + $mail->From = config('mail.'.($form ? 'owner' : 'from').'.address'); + $mail->FromName = mb_encode_mimeheader(config('mail.mailers.smtp.'.($form ? 'fromname' : 'noreplyfrom')), 'JIS'); + $mail->Username = config('mail.mailers.smtp.'.($form ? 'username' : 'noreplyuser')); + $mail->Password = config('mail.mailers.smtp.'.($form ? 'password' : 'noreplypass')); + + $mail->AddAddress(config('mail.'.($form ? 'owner' : 'from').'.address')); + if ($form) $mail->addReplyTo(config('mail.owner.address'), config('mail.owner.name')); + else $mail->addReplyTo($val['adr']); + + $mail->SMTPOptions = [ + 'ssl' => [ + 'verify_peer' => false, + 'verify_peer_name' => false, + 'allow_self_signed' => true + ] + ]; + + if (isset($val['attach'])) { + for ($i=0; $i < count($val['attach']); $i++) { + $mail->AddAttachment($val['attach'][$i], $val['attachname'][$i]); + } + } + + if (isset($val['gpg'])) { + $mail->AddStringAttachment($val['gpg'], $val['filename']); + $mail->AddStringAttachment($val['bunsyo'], $val['adr'].'.gpg'); + } + + $mail->isHTML(false); + + $mail->Subject = mb_encode_mimeheader('【'.$val['catname'].'】'.$val['kenmei'], 'JIS'); + if ($form) $mail->Body = mb_convert_encoding($val['bunsyo'], 'UTF-8'); + else $mail->Body = mb_convert_encoding($val['bunsyo'], 'JIS'); + + if (!$mail->send()) { + Log::critical('Mailer error: ' . $mail->ErrorInfo); + return false; + } + } catch (Exception $e) { + Log::critical($e); + return false; + } + + return true; + } +} diff --git a/app/Http/Controllers/Peertube/About.php b/app/Http/Controllers/Peertube/About.php new file mode 100644 index 0000000..1838197 --- /dev/null +++ b/app/Http/Controllers/Peertube/About.php @@ -0,0 +1,29 @@ +common = new Common; + } + + public function index () { + $res = [ + 'page' => 'about', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Account.php b/app/Http/Controllers/Peertube/Account.php new file mode 100644 index 0000000..aa53ac5 --- /dev/null +++ b/app/Http/Controllers/Peertube/Account.php @@ -0,0 +1,46 @@ +common = new Common; + } + + public function index ($id, $cat='video-channels') { + $res = [ + 'page' => 'account', + 'style' => 'account', + 'cat' => $cat, + 'userinfo' => $this->common->user, + ]; + $res['owner'] = $this->getOwner($id); + if (!empty($res['owner'])) $res['owner']->totalVideo = 0; + $res['channel'] = $this->getChannel($id); + if (!empty($res['owner'])) { + foreach ($res['channel']->data as $k => $v) { + $res['channel']->data[$k]->video = $this->getVideo($v->name.'@'.$v->host); + $res['owner']->totalVideo += $res['channel']->data[$k]->video->total; + } + } + return view('pages.peertube.a', ['res' => $res]); + } + + function getOwner ($id) { + return $this->ptapi('/api/v1/accounts/'.$id); + } + + function getChannel ($id) { + return $this->ptapi('/api/v1/accounts/'.$id.'/video-channels?start=0&count=20&sort=-updatedAt&withStats=false'); + } + + function getVideo ($id) { + return $this->ptapi('/api/v1/video-channels/'.$id.'/videos?start=0&count=5&sort=-publishedAt&nsfw=both'); + } +} diff --git a/app/Http/Controllers/Peertube/Admin/Users.php b/app/Http/Controllers/Peertube/Admin/Users.php new file mode 100644 index 0000000..a659f08 --- /dev/null +++ b/app/Http/Controllers/Peertube/Admin/Users.php @@ -0,0 +1,36 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + if ($this->common->user['me']->adminFlags != 1) { + return redirect('/peertube/videos/local'); + } + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/AuthTrait.php b/app/Http/Controllers/Peertube/AuthTrait.php new file mode 100644 index 0000000..c1a21e0 --- /dev/null +++ b/app/Http/Controllers/Peertube/AuthTrait.php @@ -0,0 +1,25 @@ +getLocal(); + $user['me'] = $this->getMe($user['local']); + $user['config'] = $this->getConfig(); + $user['notify'] = $this->getNotify(); + Session::put('ptsess', $user); + $this->user = $user; + } + else { + $this->user = Session::get('ptsess'); + } + + return $user; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Peertube/Channel.php b/app/Http/Controllers/Peertube/Channel.php new file mode 100644 index 0000000..d7d0f8f --- /dev/null +++ b/app/Http/Controllers/Peertube/Channel.php @@ -0,0 +1,44 @@ +common = new Common; + $this->count = 25; + } + + public function index ($id, $cat='videos', $page=0) { + $res = [ + 'page' => 'channel', + 'style' => 'channel', + 'cat' => $cat, + 'paginate' => $page, + 'pagetotal' => 500, + 'userinfo' => $this->common->user, + ]; + $res['channel'] = $this->getChannel($id); + $res['video'] = $cat == 'video-playlists' ? $this->getPlaylist($id, ($page*$this->count), $this->count) : $this->getVideo($id, ($page*$this->count), $this->count); + $res['pagetotal'] = $res['video']->total; + return view('pages.peertube.c', ['res' => $res]); + } + + function getChannel ($id) { + return $this->ptapi('/api/v1/video-channels/'.$id); + } + + function getVideo ($id, $start, $count) { + return $this->ptapi('/api/v1/video-channels/'.$id.'/videos?start='.$start.'&count='.$count.'&sort=-publishedAt&skipCount=false&nsfw=both'); + } + + function getPlaylist ($id, $start, $count) { + return $this->ptapi('/api/v1/video-channels/'.$id.'/video-playlists?start='.$start.'&count='.$count); + } +} diff --git a/app/Http/Controllers/Peertube/Common.php b/app/Http/Controllers/Peertube/Common.php new file mode 100644 index 0000000..53d1de5 --- /dev/null +++ b/app/Http/Controllers/Peertube/Common.php @@ -0,0 +1,119 @@ +access_token = isset($_COOKIE['access_token']) ? $_COOKIE['access_token'] : null; + $this->refresh_token = isset($_COOKIE['refresh_token']) ? $_COOKIE['refresh_token'] : null; + + if (!Session::has('ptsess')) { + $user = []; + $user['local'] = $this->getLocal(); + $user['me'] = $this->getMe($user['local']); + $user['config'] = $this->getConfig(); + $user['notify'] = $this->getNotify(); + Session::put('ptsess', $user); + $this->user = $user; + } + else { + $this->user = Session::get('ptsess'); + } + + $this->engine = new Engine; + } + + public function getLocal () { + return $this->ptapi('/api/v1/oauth-clients/local'); + } + + public function getMe ($param) { + if (!isset($_COOKIE['access_token']) && isset($_COOKIE['refresh_token'])) { + $r = new Request; + $login = new \App\Http\Controllers\Peertube\Login; + $r->client_id = $param->client_id; + $r->client_secret = $param->client_secret; + $r->refresh_token = $this->refresh_token; + $this->login($r); + $this->access_token = $_COOKIE['access_token']; + $this->refresh_token = $_COOKIE['refresh_token']; + } + + if (isset($_COOKIE['access_token']) && isset($_COOKIE['refresh_token'])) return $this->ptapi('/api/v1/users/me'); + return null; + } + + public function getConfig () { + return $this->ptapi('/api/v1/config/'); + } + + public function getNotify () { + if (isset($_COOKIE['access_token']) && isset($_COOKIE['refresh_token'])) return $this->ptapi('/api/v1/users/me/notifications?start=0&count=0&unread=true'); + return null; + } + + public function ptapi ($url, $param='', $method='get', $contenttype='json') { + set_time_limit(0); + $this->access_token = isset($_COOKIE['access_token']) ? $_COOKIE['access_token'] : null; + $this->refresh_token = isset($_COOKIE['refresh_token']) ? $_COOKIE['refresh_token'] : null; + $header = ['Content-Type: application/'.$contenttype, 'Host: '.str_replace('https://', '', env('PEER_URI'))]; + + if (!is_null($this->access_token)) { + $header[] = 'Authorization: Bearer '.$this->access_token; + } + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, env('PEER_URI').$url); + curl_setopt($ch, CURLOPT_HTTPHEADER, $header); + if ($method == 'post') { + curl_setopt($ch, CURLOPT_POST, 1); + if ($param != '') curl_setopt($ch, CURLOPT_POSTFIELDS, $param); + } + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + + $get = curl_exec($ch); + $err = curl_error($ch); + curl_close($ch); + + if (!$get) return $err; + $get = json_decode($get); + if (isset($get->status) && $get->status == 404) return []; + + return $get; + } + + public function vidlist ($get) { + $res = [ + 'today' => [], + 'week' => [], + 'month' => [], + 'lastmonth' => [], + 'moreearly' => [], + ]; + + foreach ($get->data as $g) { + $ud = strtotime($g->createdAt); + + if ($ud > time() - 86400 && $ud < time() + 86400) $res['today'][] = $g; + else if ($ud > time() - 604800 && $ud < time() + 604800) $res['week'][] = $g; + else if ($ud > time() - 2629800 && $ud < time() + 2629800) $res['month'][] = $g; + else if ($ud > time() - 5259600 && $ud < time() + 5259600) $res['lastmonth'][] = $g; + else $res['moreearly'][] = $g; + } + + return $res; + } +} diff --git a/app/Http/Controllers/Peertube/Home.php b/app/Http/Controllers/Peertube/Home.php new file mode 100644 index 0000000..cc6a019 --- /dev/null +++ b/app/Http/Controllers/Peertube/Home.php @@ -0,0 +1,35 @@ +common = new Common; + } + + public function index () { + $res = [ + 'page' => 'home', + 'style' => 'videoslist', + 'userinfo' => $this->common->user, + ]; + + $res['new'] = $this->getNewest(); + $res['hot'] = $this->getPopularest(); + return view('pages.peertube.home', ['res' => $res]); + } + + function getNewest () { + return $this->ptapi('/api/v1/videos?start=0&count=8&sort=-publishedAt&skipCount=true&isLocal=true&nsfw=both'); + } + + function getPopularest () { + return $this->ptapi('/api/v1/videos?start=0&count=8&sort=-trending&skipCount=true&isLocal=true&nsfw=both'); + } +} diff --git a/app/Http/Controllers/Peertube/Login.php b/app/Http/Controllers/Peertube/Login.php new file mode 100644 index 0000000..27003cb --- /dev/null +++ b/app/Http/Controllers/Peertube/Login.php @@ -0,0 +1,62 @@ +common = new Common; + } + + public function index ($err=null) { + if (isset($this->common->user['me']) && !is_null($this->common->user['me'])) { + return redirect('/peertube/home'); + } + + $res = [ + 'page' => 'login', + 'style' => 'login', + 'userinfo' => $this->common->user, + 'err' => $err + ]; + + return view('pages.peertube.login', ['res' => $res]); + } + + public function login (Request $r) { + if (isset($this->common->user['me']) && !is_null($this->common->user['me'])) { + return redirect('/peertube/videos/local'); + } + + $param = [ + 'client_id' => $this->common->user['local']->client_id, + 'client_secret' => $this->common->user['local']->client_secret, + 'grant_type' => 'password', + ]; + + if (isset($r->username) && isset($r->password)) { + $param['username'] = $r->username; + $param['password'] = $r->password; + } + else if (isset($r->refresh_token)) { + $param['refresh_token'] = $r->refresh_token; + } + + $res = $this->ptapi('/api/v1/users/token', http_build_query($param), 'post', 'x-www-form-urlencoded'); + $err = null; + + if (isset($res->access_token) && isset($res->refresh_token)) { + setcookie('access_token', $res->access_token, time()+(int)$res->expires_in, '/', $_SERVER['HTTP_HOST'], 0, 1); // 24時間 + setcookie('refresh_token', $res->refresh_token, time()+(int)$res->refresh_token_expires_in, '/', $_SERVER['HTTP_HOST'], 0, 1); // 14日間 + + return redirect('/peertube/videos/local'); + } + + return $this->index(isset($res->error) ? $res->error : '不正なエラー'); + } +} diff --git a/app/Http/Controllers/Peertube/Logout.php b/app/Http/Controllers/Peertube/Logout.php new file mode 100644 index 0000000..33ca314 --- /dev/null +++ b/app/Http/Controllers/Peertube/Logout.php @@ -0,0 +1,25 @@ +common = new Common; + } + + public function logout () { + $this->ptapi('/api/v1/users/revoke-token', '', 'post'); + unset($_COOKIE['access_token']); + unset($_COOKIE['refresh_token']); + setcookie('access_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1); + setcookie('refresh_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1); + + return redirect('/peertube/home'); + } +} diff --git a/app/Http/Controllers/Peertube/Myaccount.php b/app/Http/Controllers/Peertube/Myaccount.php new file mode 100644 index 0000000..1a2a1f6 --- /dev/null +++ b/app/Http/Controllers/Peertube/Myaccount.php @@ -0,0 +1,33 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Myaccount/Abuses.php b/app/Http/Controllers/Peertube/Myaccount/Abuses.php new file mode 100644 index 0000000..f2e478d --- /dev/null +++ b/app/Http/Controllers/Peertube/Myaccount/Abuses.php @@ -0,0 +1,37 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + if ($this->common->user['me']->adminFlags != 1) { + return redirect('/peertube/videos/local'); + } + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10 + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Myaccount/Applications.php b/app/Http/Controllers/Peertube/Myaccount/Applications.php new file mode 100644 index 0000000..130dbfb --- /dev/null +++ b/app/Http/Controllers/Peertube/Myaccount/Applications.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10 + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Myaccount/Blocklist/Accounts.php b/app/Http/Controllers/Peertube/Myaccount/Blocklist/Accounts.php new file mode 100644 index 0000000..d27f6a2 --- /dev/null +++ b/app/Http/Controllers/Peertube/Myaccount/Blocklist/Accounts.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10 + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Myaccount/Blocklist/Servers.php b/app/Http/Controllers/Peertube/Myaccount/Blocklist/Servers.php new file mode 100644 index 0000000..669dbd8 --- /dev/null +++ b/app/Http/Controllers/Peertube/Myaccount/Blocklist/Servers.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10 + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Myaccount/Notification.php b/app/Http/Controllers/Peertube/Myaccount/Notification.php new file mode 100644 index 0000000..a92db26 --- /dev/null +++ b/app/Http/Controllers/Peertube/Myaccount/Notification.php @@ -0,0 +1,48 @@ +common = new Common; + $this->count = 20; + } + + public function index ($page=0) { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'notification', + 'style' => 'myaccount', + 'paginate' => $page, + 'pagetotal' => 500, + 'userinfo' => $this->common->user, + ]; + + $res['notification'] = $this->getNotification(($page*$this->count), $this->count); + return view('pages.peertube.my-account.notifications', ['res' => $res]); + } + + function getNotification ($start, $count) { + return $this->ptapi('/api/v1/users/me/notifications?start='.$start.'&count='.$count.'&sort=-createdAt'); + } + + public function read (Request $r) { + $this->ptapi('/api/v1/users/me/notifications/read', json_encode(['ids' => [(int)$r->id]]), 'post'); + return redirect('/peertube/my-account/notifications'); + } + + public function readAll () { + $this->ptapi('/api/v1/users/me/notifications/read-all', '', 'post'); + return redirect('/peertube/my-account/notifications'); + } +} diff --git a/app/Http/Controllers/Peertube/Myaccount/Settings.php b/app/Http/Controllers/Peertube/Myaccount/Settings.php new file mode 100644 index 0000000..7638326 --- /dev/null +++ b/app/Http/Controllers/Peertube/Myaccount/Settings.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10 + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Mylibrary.php b/app/Http/Controllers/Peertube/Mylibrary.php new file mode 100644 index 0000000..dc65246 --- /dev/null +++ b/app/Http/Controllers/Peertube/Mylibrary.php @@ -0,0 +1,33 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Mylibrary/History/Videos.php b/app/Http/Controllers/Peertube/Mylibrary/History/Videos.php new file mode 100644 index 0000000..2ecafd1 --- /dev/null +++ b/app/Http/Controllers/Peertube/Mylibrary/History/Videos.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/history/videos?start=0&count=5 + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Mylibrary/Subscriptions.php b/app/Http/Controllers/Peertube/Mylibrary/Subscriptions.php new file mode 100644 index 0000000..2085f2a --- /dev/null +++ b/app/Http/Controllers/Peertube/Mylibrary/Subscriptions.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10 + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Mylibrary/Videochannels.php b/app/Http/Controllers/Peertube/Mylibrary/Videochannels.php new file mode 100644 index 0000000..19eefbe --- /dev/null +++ b/app/Http/Controllers/Peertube/Mylibrary/Videochannels.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/accounts/techsuwako/video-channels?start=0&count=20&sort=-updatedAt&withStats=true + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Mylibrary/Videoplaylists.php b/app/Http/Controllers/Peertube/Mylibrary/Videoplaylists.php new file mode 100644 index 0000000..f91d80f --- /dev/null +++ b/app/Http/Controllers/Peertube/Mylibrary/Videoplaylists.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions/videos?start=0&count=25&sort=-publishedAt&skipCount=true + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Mylibrary/Videos.php b/app/Http/Controllers/Peertube/Mylibrary/Videos.php new file mode 100644 index 0000000..bc8d28f --- /dev/null +++ b/app/Http/Controllers/Peertube/Mylibrary/Videos.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/videos?start=0&count=10&sort=-publishedAt + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Signup.php b/app/Http/Controllers/Peertube/Signup.php new file mode 100644 index 0000000..f6c449b --- /dev/null +++ b/app/Http/Controllers/Peertube/Signup.php @@ -0,0 +1,33 @@ +common = new Common; + } + + public function index () { + if (isset($this->common->user['me']) && !is_null($this->common->user['me'])) { + return redirect('/peertube/videos/local'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'dummy', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Videos/Local.php b/app/Http/Controllers/Peertube/Videos/Local.php new file mode 100644 index 0000000..8824aa5 --- /dev/null +++ b/app/Http/Controllers/Peertube/Videos/Local.php @@ -0,0 +1,34 @@ +common = new Common; + $this->count = 50; + } + + public function index ($page=0) { + $res = [ + 'page' => 'local', + 'style' => 'videoslist', + 'paginate' => $page, + 'pagetotal' => 500, + 'userinfo' => $this->common->user, + ]; + $res['video'] = $this->getVideo(($page*$this->count), $this->count); + return view('pages.peertube.videos.local', ['res' => $res]); + } + + function getVideo ($start, $count) { + $get = $this->ptapi('/api/v1/videos?start='.$start.'&count='.$count.'&sort=-publishedAt&skipCount=true&isLocal=true&nsfw=both'); + return $this->vidlist($get); + } +} diff --git a/app/Http/Controllers/Peertube/Videos/Overview.php b/app/Http/Controllers/Peertube/Videos/Overview.php new file mode 100644 index 0000000..53653d5 --- /dev/null +++ b/app/Http/Controllers/Peertube/Videos/Overview.php @@ -0,0 +1,31 @@ +common = new Common; + } + + public function index ($page=1) { + $res = [ + 'page' => 'overview', + 'style' => 'videoslist', + 'paginate' => $page, + 'pagetotal' => 500, + 'userinfo' => $this->common->user, + ]; + $res['video'] = $this->getVideo($page); + return view('pages.peertube.videos.overview', ['res' => $res]); + } + + function getVideo ($page) { + return $this->ptapi('/api/v1/overviews/videos?page='.$page); + } +} diff --git a/app/Http/Controllers/Peertube/Videos/Recentlyadded.php b/app/Http/Controllers/Peertube/Videos/Recentlyadded.php new file mode 100644 index 0000000..7a36165 --- /dev/null +++ b/app/Http/Controllers/Peertube/Videos/Recentlyadded.php @@ -0,0 +1,34 @@ +common = new Common; + $this->count = 25; + } + + public function index ($page=0) { + $res = [ + 'page' => 'recently-added', + 'style' => 'videoslist', + 'paginate' => $page, + 'pagetotal' => 500, + 'userinfo' => $this->common->user, + ]; + $res['video'] = $this->getVideo(($page*$this->count), $this->count); + return view('pages.peertube.videos.recentlyadded', ['res' => $res]); + } + + function getVideo ($start, $count) { + $get = $this->ptapi('/api/v1/videos/?start='.$start.'&count='.$count.'&sort=-publishedAt&skipCount=true&nsfw=both'); + return $this->vidlist($get); + } +} diff --git a/app/Http/Controllers/Peertube/Videos/Subscriptions.php b/app/Http/Controllers/Peertube/Videos/Subscriptions.php new file mode 100644 index 0000000..7fd93fc --- /dev/null +++ b/app/Http/Controllers/Peertube/Videos/Subscriptions.php @@ -0,0 +1,34 @@ +common = new Common; + } + + public function index () { + if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) { + return redirect('/peertube/login'); + } + + $res = [ + 'page' => 'dummy', + 'style' => 'videoslist', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + //https://video.076.ne.jp/api/v1/users/me/subscriptions/videos?start=0&count=25&sort=-publishedAt&skipCount=true + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Videos/Trending.php b/app/Http/Controllers/Peertube/Videos/Trending.php new file mode 100644 index 0000000..a4c1a71 --- /dev/null +++ b/app/Http/Controllers/Peertube/Videos/Trending.php @@ -0,0 +1,33 @@ +common = new Common; + $this->count = 25; + } + + public function index ($page=0) { + $res = [ + 'page' => 'trending', + 'style' => 'videoslist', + 'paginate' => $page, + 'pagetotal' => 500, + 'userinfo' => $this->common->user, + ]; + $res['video'] = $this->getVideo(($page*$this->count), $this->count); + return view('pages.peertube.videos.trending', ['res' => $res]); + } + + function getVideo ($start, $count) { + return $this->ptapi('/api/v1/videos/?start='.$start.'&count='.$count.'&sort=-trending&skipCount=true&nsfw=both'); + } +} diff --git a/app/Http/Controllers/Peertube/Videos/Upload.php b/app/Http/Controllers/Peertube/Videos/Upload.php new file mode 100644 index 0000000..b73906d --- /dev/null +++ b/app/Http/Controllers/Peertube/Videos/Upload.php @@ -0,0 +1,29 @@ +common = new Common; + } + + public function index () { + $res = [ + 'page' => 'dummy', + 'style' => 'videoslist', + 'userinfo' => $this->common->user, + ]; + // $res['owner'] = $this->getOwner($id); + return view('pages.peertube.notyet', ['res' => $res]); + } + + function getOwner ($id) { + return $this->ptapi('/api/v1/accounts/'.$id); + } +} diff --git a/app/Http/Controllers/Peertube/Watch.php b/app/Http/Controllers/Peertube/Watch.php new file mode 100644 index 0000000..e0a3e44 --- /dev/null +++ b/app/Http/Controllers/Peertube/Watch.php @@ -0,0 +1,54 @@ +common = new Common; + } + + public function index ($id) { + $res = [ + 'page' => 'watch', + 'style' => 'watch', + 'userinfo' => $this->common->user, + ]; + $res['detail'] = $this->getDetail($id); + $res = $this->getComment($id, $res); + + $tags = []; + if (!is_null($res['detail']->tags)) $tags = $res['detail']->tags; + else $tags = explode(' ', $res['detail']->title); + + $res['recommend'] = $this->getRecommend($tags); + return view('pages.peertube.w', ['res' => $res]); + } + + function getDetail ($id) { + return $this->ptapi('/api/v1/videos/'.$id); + } + + function getRecommend ($tags) { + $tag = ''; + foreach ($tags as $t) { + $tag .= 'tagsOneOf='.urlencode($t).'&'; + } + return $this->ptapi('/api/v1/search/videos?start=0&count=6&nsfw=both&'.$tag.'sort=-publishedAt&searchTarget=local'); + } + + function getComment ($id, $res) { + $get = null; + + $res['comment'] = $this->ptapi('/api/v1/videos/'.$id.'/comment-threads'); + foreach ($res['comment']->data as $co) { + $co->src = 'PT'; + } + + return $res; + } +} diff --git a/app/Http/Controllers/RssFeedController.php b/app/Http/Controllers/RssFeedController.php new file mode 100644 index 0000000..9890186 --- /dev/null +++ b/app/Http/Controllers/RssFeedController.php @@ -0,0 +1,23 @@ +select($select)->where('isPost', true)->where('public_status', 0)->orderBy('id', 'desc')->limit(50)->get(); + + foreach ($posts as $k => $v) { + $userd = DB::table('users')->where('id', $v->user_id)->first(); + $userd = DB::table('usr_profile')->where('user_id', $v->user_id)->first(); + $v->user = $userd->display_name; + unset($posts[$k]->user_id); + } + + return response()->view('rss.feed', ['posts' => $posts])->header('Content-Type', 'application/xml'); + } +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100644 index 0000000..70c1ca0 --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,68 @@ + [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + 'throttle:60,1', + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, + 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + ]; +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..704089a --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -0,0 +1,21 @@ +expectsJson()) { + return route('login'); + } + } +} diff --git a/app/Http/Middleware/CheckForMaintenanceMode.php b/app/Http/Middleware/CheckForMaintenanceMode.php new file mode 100644 index 0000000..35b9824 --- /dev/null +++ b/app/Http/Middleware/CheckForMaintenanceMode.php @@ -0,0 +1,17 @@ +check()) { + return redirect(RouteServiceProvider::HOME); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000..5a50e7b --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,18 @@ +allSubdomainsOfApplicationUrl(), + ]; + } +} diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php new file mode 100644 index 0000000..14befce --- /dev/null +++ b/app/Http/Middleware/TrustProxies.php @@ -0,0 +1,23 @@ + 'App\Policies\ModelPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + $this->registerPolicies(); + + // + } +} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 0000000..395c518 --- /dev/null +++ b/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,21 @@ + [ + SendEmailVerificationNotification::class, + ], + ]; + + /** + * Register any events for your application. + * + * @return void + */ + public function boot() + { + parent::boot(); + + // + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..540d17b --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,80 @@ +mapApiRoutes(); + + $this->mapWebRoutes(); + + // + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @return void + */ + protected function mapWebRoutes() + { + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + * + * @return void + */ + protected function mapApiRoutes() + { + Route::prefix('api') + ->middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); + } +} diff --git a/app/helpers.php b/app/helpers.php new file mode 100644 index 0000000..0370839 --- /dev/null +++ b/app/helpers.php @@ -0,0 +1,159 @@ +select('title', 'slug')->where('public_status', 0)->where('isPost', 0)->where('isMenu', 1)->orderBy('sortorder', 'asc')->get(); + + $res = array(); + $key = 0; + + foreach ($get as $i) { + array_push($res, ['key' => $key, 'title' => $i->title, 'slug' => $i->slug]); + $key++; + } + + return $res; +} + +function getCss () { + $engine = new \App\Http\Controllers\Engine; + return $engine->css; +} + +function getPerms () { + $engine = new \App\Http\Controllers\Engine; + return $engine->getPermissions((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '')); +} + +function getUser () { + $engine = new \App\Http\Controllers\Engine; + return $engine->user; +} + +function getGroupColours () { + return DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get()->toArray(); +} + +function checkLegit ($t) { + if (!isset($t) || empty($t) || is_null($t)) return 0; + $check = DB::table('users')->select('id')->where('kero_token', $t)->first(); + return $check->id; +} + +function ptComeSrc ($v) { + $res = new \stdClass(); + $res->bg = '#'; + $res->fg = '#fcfcfc'; + $res->tx = '不明'; + + switch ($v) { + case 'PT': + $res->bg .= 'ffad5c'; + $res->tx = 'PeerTube'; + break; + case 'TS': + $res->bg .= 'cb81ea'; + $res->tx = 'テク諏訪'; + break; + case 'YT': + $res->bg .= 'f50057'; + $res->tx = 'YouTube'; + break; + case 'OD': + $res->bg .= '33b58f'; + $res->tx = 'LBRY'; + break; + default: + $res->bg = 'transparent'; + break; + } + + return $res; +} + +function ptFullHandle ($v) { + return $v->name.($v->host != str_replace('https://', '', env('PEER_URI')) ? '@'.$v->host : ''); +} + +function ptAvatar ($v) { + $placeholder = '/img/noicon.jpg'; + $res = ''; + + if (isset($v->avatar)) { + if (is_null($v->avatar)) return $placeholder; + $ava = $v->avatar->path; + $ava = str_replace(env('APP_URL'), '', $ava); + $res = str_starts_with(env('APP_URL'), $ava) ? env('PEER_URI') : ''; + if ($ava == '/') return '/img/noicon.jpg'; + else if (str_starts_with($ava, '/lazy-static')) $res = env('PEER_URI'); + + return $res.$ava; + } + + return '/img/noicon.jpg'; +} + +function userDetail ($id, $kero=null) { + if ($kero || $id) { + $log_username = null; + if (!is_null($id)) $log_username = DB::table('users')->select('id', 'username')->where('id', $id)->first(); + else $log_username = DB::table('users')->select('id', 'username')->where('kero_token', $kero)->first(); + $perm_id = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $log_username->id)->first()->perm_id; + $p3 = DB::table('usr_profile')->select('gender', 'avatar', 'name_style', 'display_name')->where('user_id', $log_username->id)->first(); + $user_id = $log_username->id; + $log_username = $log_username->username; + $showname = ''; + $showcol = ''; + $ucol = DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get(); + + if (!empty($p3->display_name)) $showname = $p3->display_name; + else $showname = $log_username; + + if (!empty($p3->name_style)) $showcol = $p3->name_style; + else { + foreach ($ucol as $j3) { + if ($j3->id == $perm_id) { + if ($p3->gender == 1) $showcol = $j3->colour_m; + else if ($p3->gender == 2) $showcol = $j3->colour_f; + else $showcol = $j3->colour_u; + } + } + } + + $p3->avatar = ($p3->avatar ? '/'.$p3->avatar : '/img/noicon.jpg'); + return array('user_id' => $user_id, 'showname' => $showname, 'showcol' => $showcol, 'avatar' => $p3->avatar); + } + + return new \stdClass(); +} + +function getCountries () { + $flags = DB::table('nhn_country')->orderBy('id', 'asc')->get(); + $res = array(); + + foreach ($flags as $flag) { + $protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http'; + + $res[] = array( + 'value' => $flag->nameEng, + 'label' => $flag->name + ); + } + + return $res; +} + +function makeToken () { + $c = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!%&()'; + $clen = strlen($c); + $token = ''; + + for ($i = 0; $i < 128; $i++) { + $token .= $c[rand(0, $clen - 1)]; + } + + return $token; +} + +?> diff --git a/artisan b/artisan new file mode 100755 index 0000000..5c23e2e --- /dev/null +++ b/artisan @@ -0,0 +1,53 @@ +#!/usr/bin/env php +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running, we will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 0000000..037e17d --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..45a6e77 --- /dev/null +++ b/composer.json @@ -0,0 +1,65 @@ +{ + "name": "laravel/laravel", + "type": "project", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "require": { + "php": "^8.0", + "fideloper/proxy": "^4.4.1", + "fruitcake/laravel-cors": "^2.0.4", + "guzzlehttp/guzzle": "^7.4.0", + "laravel/framework": "^8.74.0", + "laravel/tinker": "^2.6.2", + "phpmailer/phpmailer": "^6.5", + "predis/predis": "^1.1.9" + }, + "require-dev": { + "facade/ignition": "^2.5", + "fakerphp/faker": "^1.16.0", + "mockery/mockery": "^1.4.2", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.5.10" + }, + "autoload": { + "psr-4": { + "App\\": "app/" + }, + "files": [ + "app/helpers.php" + ], + "classmap": [ + "database/seeds", + "database/factories" + ] + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 0000000..02587a7 --- /dev/null +++ b/config/app.php @@ -0,0 +1,232 @@ + env('APP_NAME', 'テクニカル諏訪子'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => (bool) env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + 'asset_url' => env('ASSET_URL', null), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'Asia/Tokyo', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => 'ja', + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'ja', + + /* + |-------------------------------------------------------------------------- + | Faker Locale + |-------------------------------------------------------------------------- + | + | This locale will be used by the Faker PHP library when generating fake + | data for your database seeds. For example, this will be used to get + | localized telephone numbers, street address information and more. + | + */ + + 'faker_locale' => 'ja_JP', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Notifications\NotificationServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + + ], + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => [ + + 'App' => Illuminate\Support\Facades\App::class, + 'Arr' => Illuminate\Support\Arr::class, + 'Artisan' => Illuminate\Support\Facades\Artisan::class, + 'Auth' => Illuminate\Support\Facades\Auth::class, + 'Blade' => Illuminate\Support\Facades\Blade::class, + 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, + 'Bus' => Illuminate\Support\Facades\Bus::class, + 'Cache' => Illuminate\Support\Facades\Cache::class, + 'Config' => Illuminate\Support\Facades\Config::class, + 'Cookie' => Illuminate\Support\Facades\Cookie::class, + 'Crypt' => Illuminate\Support\Facades\Crypt::class, + 'DB' => Illuminate\Support\Facades\DB::class, + 'Eloquent' => Illuminate\Database\Eloquent\Model::class, + 'Event' => Illuminate\Support\Facades\Event::class, + 'File' => Illuminate\Support\Facades\File::class, + 'Gate' => Illuminate\Support\Facades\Gate::class, + 'Hash' => Illuminate\Support\Facades\Hash::class, + 'Http' => Illuminate\Support\Facades\Http::class, + 'Lang' => Illuminate\Support\Facades\Lang::class, + 'Log' => Illuminate\Support\Facades\Log::class, + 'Mail' => Illuminate\Support\Facades\Mail::class, + 'Notification' => Illuminate\Support\Facades\Notification::class, + 'Password' => Illuminate\Support\Facades\Password::class, + 'Queue' => Illuminate\Support\Facades\Queue::class, + 'Redirect' => Illuminate\Support\Facades\Redirect::class, + 'Redis' => Illuminate\Support\Facades\Redis::class, + 'Request' => Illuminate\Support\Facades\Request::class, + 'Response' => Illuminate\Support\Facades\Response::class, + 'Route' => Illuminate\Support\Facades\Route::class, + 'Schema' => Illuminate\Support\Facades\Schema::class, + 'Session' => Illuminate\Support\Facades\Session::class, + 'Storage' => Illuminate\Support\Facades\Storage::class, + 'Str' => Illuminate\Support\Str::class, + 'URL' => Illuminate\Support\Facades\URL::class, + 'Validator' => Illuminate\Support\Facades\Validator::class, + 'View' => Illuminate\Support\Facades\View::class, + + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 0000000..aaf982b --- /dev/null +++ b/config/auth.php @@ -0,0 +1,117 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + + 'api' => [ + 'driver' => 'token', + 'provider' => 'users', + 'hash' => false, + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => 'password_resets', + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | times out and the user is prompted to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => 10800, + +]; diff --git a/config/broadcasting.php b/config/broadcasting.php new file mode 100644 index 0000000..3bba110 --- /dev/null +++ b/config/broadcasting.php @@ -0,0 +1,59 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'useTLS' => true, + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..4f41fdf --- /dev/null +++ b/config/cache.php @@ -0,0 +1,104 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'cache', + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), + +]; diff --git a/config/cors.php b/config/cors.php new file mode 100644 index 0000000..558369d --- /dev/null +++ b/config/cors.php @@ -0,0 +1,34 @@ + ['api/*'], + + 'allowed_methods' => ['*'], + + 'allowed_origins' => ['*'], + + 'allowed_origins_patterns' => [], + + 'allowed_headers' => ['*'], + + 'exposed_headers' => [], + + 'max_age' => 0, + + 'supports_credentials' => false, + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..537186f --- /dev/null +++ b/config/database.php @@ -0,0 +1,167 @@ + env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DATABASE_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mysqlvmail' => [ + 'driver' => 'mysql', + 'url' => env('DATABASE_VMAIL_URL'), + 'host' => env('DB_HOST_VMAIL', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + 'schema' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'predis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + ], + + ], + +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..2ea896a --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,92 @@ + env('FILESYSTEM_DRIVER', 'local'), + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => env('FILESYSTEM_CLOUD', 's3'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + ], + + 'private' => [ + 'driver' => 'local', + 'root' => storage_path('app/private'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'private', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/config/hashing.php b/config/hashing.php new file mode 100644 index 0000000..8425770 --- /dev/null +++ b/config/hashing.php @@ -0,0 +1,52 @@ + 'bcrypt', + + /* + |-------------------------------------------------------------------------- + | Bcrypt Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Bcrypt algorithm. This will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'bcrypt' => [ + 'rounds' => env('BCRYPT_ROUNDS', 10), + ], + + /* + |-------------------------------------------------------------------------- + | Argon Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Argon algorithm. These will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'argon' => [ + 'memory' => 1024, + 'threads' => 2, + 'time' => 2, + ], + +]; diff --git a/config/logging.php b/config/logging.php new file mode 100644 index 0000000..088c204 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,104 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", + | "custom", "stack" + | + */ + + 'channels' => [ + 'stack' => [ + 'driver' => 'stack', + 'channels' => ['single'], + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => 'debug', + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => 'debug', + 'days' => 14, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + 'emoji' => ':boom:', + 'level' => 'critical', + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => 'debug', + 'handler' => SyslogUdpHandler::class, + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + ], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => 'debug', + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => 'debug', + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 0000000..c1894fd --- /dev/null +++ b/config/mail.php @@ -0,0 +1,119 @@ + env('MAIL_MAILER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers to be used while + | sending an e-mail. You will specify which one you are using for your + | mailers below. You are free to add additional mailers as required. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", + | "postmark", "log", "array" + | + */ + + 'mailers' => [ + 'smtp' => [ + 'transport' => 'smtp', + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + 'port' => env('MAIL_PORT', 587), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'fromname' => env('MAIL_OWNER_NAME'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'noreplyfrom' => env('MAIL_FROM_NAME'), + 'noreplyuser' => env('MAIL_NOREPLY_USER'), + 'noreplypass' => env('MAIL_NOREPLY_PASS'), + 'sendmail' => '/usr/sbin/sendmail -bs', + 'timeout' => null, + 'auth_mode' => null, + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'mailgun' => [ + 'transport' => 'mailgun', + ], + + 'postmark' => [ + 'transport' => 'postmark', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => '/usr/sbin/sendmail -bs', + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + 'owner' => [ + 'address' => env('MAIL_OWNER_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_OWNER_NAME', 'Example'), + ], + + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 0000000..00b76d6 --- /dev/null +++ b/config/queue.php @@ -0,0 +1,89 @@ + env('QUEUE_CONNECTION', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'retry_after' => 90, + 'block_for' => 0, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'your-queue-name'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => 90, + 'block_for' => null, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database'), + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 0000000..2a1d616 --- /dev/null +++ b/config/services.php @@ -0,0 +1,33 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + ], + + 'postmark' => [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..4e0f66c --- /dev/null +++ b/config/session.php @@ -0,0 +1,201 @@ + env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION', null), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | While using one of the framework's cache driven session backends you may + | list a cache store that should be used for these sessions. This value + | must match with one of the application's configured cache "stores". + | + | Affects: "apc", "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE', null), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => env('SESSION_DOMAIN', null), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" since this is a secure default value. + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => 'lax', + +]; diff --git a/config/view.php b/config/view.php new file mode 100644 index 0000000..22b8a18 --- /dev/null +++ b/config/view.php @@ -0,0 +1,36 @@ + [ + resource_path('views'), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => env( + 'VIEW_COMPILED_PATH', + realpath(storage_path('framework/views')) + ), + +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 0000000..97fc976 --- /dev/null +++ b/database/.gitignore @@ -0,0 +1,2 @@ +*.sqlite +*.sqlite-journal diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php new file mode 100644 index 0000000..741edea --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,28 @@ +define(User::class, function (Faker $faker) { + return [ + 'name' => $faker->name, + 'email' => $faker->unique()->safeEmail, + 'email_verified_at' => now(), + 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password + 'remember_token' => Str::random(10), + ]; +}); diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..621a24e --- /dev/null +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users'); + } +} diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php new file mode 100644 index 0000000..9bddee3 --- /dev/null +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -0,0 +1,35 @@ +id(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('failed_jobs'); + } +} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php new file mode 100644 index 0000000..237dfc5 --- /dev/null +++ b/database/seeds/DatabaseSeeder.php @@ -0,0 +1,16 @@ +call(UserSeeder::class); + } +} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..964ff0c --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,31 @@ + + + + + ./tests/Unit + + + ./tests/Feature + + + + + ./app + + + + + + + + + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..3aec5e2 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/css/account.css b/public/css/account.css new file mode 100644 index 0000000..2391fa6 --- /dev/null +++ b/public/css/account.css @@ -0,0 +1,1645 @@ +#custom-css #typeahead-container input { + border-color: var(--mainForegroundColor) !important; +} +#typeahead-container input { + border: 1px solid var(--mainBackgroundColor)!important; + box-shadow: #0000001a 0 1px 20px; + flex-grow: 1; + transition: box-shadow .3s ease,width .2s ease; +} +#search-video { + padding-inline-end: 40px; +} +#search-video { + padding-inline-start: 10px; +} +#search-video { + padding: 0 15px; + display: inline-block; + height: 30px; + width: 375px; + background-color: var(--inputBackgroundColor); + border-radius: 3px; + font-size: 14px; +} +#custom-css input, #custom-css textarea { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; +} +input, textarea { + outline: none; +} +button, input { + overflow: visible; +} +button, input, optgroup, select, textarea { + margin: 0; + font-family: inherit; + line-height: inherit; +} +*, :after, :before { + box-sizing: border-box; +} +input { + text-rendering: auto; + letter-spacing: normal; + word-spacing: normal; + text-transform: none; + text-indent: 0px; + text-shadow: none; + text-align: start; + appearance: textfield; + cursor: text; + font: 400 13.3333px Arial; +} +.header-right { + height: 50px; + display: flex; + align-items: center; + justify-content: flex-end; + white-space: nowrap; + flex: 1; +} + +.wrapper { + margin-inline-end: 5px; + display: inline-block; + width: 35px; + height: 35px; + min-width: 35px; + min-height: 35px; + position: relative; + margin-bottom: 5px; +} + +.wrapper:not(.generic-channel) .channel { + display: inline-block; + width: 35px; + height: 35px; + min-width: 35px; + min-height: 35px; +} + +.wrapper:not(.generic-channel) .account { + height: 60%; + width: 60%; + position: absolute; + bottom: -5px; + right: -5px; + background-color: #0000; +} + +.avatar.account { + object-fit: cover; + border-radius: 50%; +} +.avatar-and-textarea { + display: flex; + margin-bottom: 10px; +} +.avatar-and-textarea my-actor-avatar { + margin-inline-end: 10px; +} +.avatar-34 { + --avatarSize: 34px !important; +} +.avatar { + --avatarSize: 100%; + --initialFontSize: 22px; + width: var(--avatarSize); + height: var(--avatarSize); + min-width: var(--avatarSize); + min-height: var(--avatarSize); +} +.video-info-channel { + font-weight: 600; + font-size: 15px; +} +img, svg { + vertical-align: middle; +} +img { + border-style: none; +} +.dropdown-toggle { + white-space: nowrap; +} + + +element.style { + overflow: hidden; + height: 32px; +} +#custom-css input, #custom-css textarea { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + border: 1px solid var(--mainBackgroundColor); +} + +.avatar-and-textarea textarea { + padding-inline-end: 45px!important; + display: inline-block; + width: 100%; + border-radius: 3px; + background-color: var(--textareaBackgroundColor); + padding: 5px 15px; + font-size: 15px; + min-height: calc(60px - 15px * 2); +} +input, textarea { + outline: none; +} +textarea { + resize: vertical; +} + +.video-info-channel-left .video-info-channel-left-links { + display: flex; + flex-direction: column; + position: relative; + line-height: 1.37; +} +.ml-1 { + margin-inline-start: .25rem; +} +.ml-1, .mx-1 { + margin-left: .25rem!important; +} +.video-info-channel-left { + flex-grow: 1; +} +my-action-buttons { + margin-inline-end: 0; +} +my-action-buttons { + margin-inline-start: auto; +} +my-action-buttons { + display: block; + margin-top: 0; + margin-bottom: 10px; + align-items: start; + width: -webkit-max-content; + width: max-content; +} +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent: 15px; + --videosHorizontalMarginContent: 30px; + } +} +.video-info-description { + margin-inline-end: 0; +} + +.video-info-description { + margin-inline-start: 44px; +} +.video-info-description .video-info-description-html { + word-break: break-word; + overflow-wrap: break-word; +} +.video-info-description { + margin-top: 20px; + margin-bottom: 20px; + font-size: 15px; +} +my-video-attributes { + margin-inline-start: 44px; + display: block; + margin-bottom: 15px; +} +.attribute { + font-size: 13px; + display: block; + margin-bottom: 12px; +} +.attribute-label { + padding-inline-end: 5px; +} +.attribute-label { + min-width: 142px; + display: inline-block; + color: var(--greyForegroundColor); + font-weight: 700; +} +.attribute { + font-size: 13px; + display: block; + margin-bottom: 12px; +} + +my-recommended-videos { + padding-inline-start: 15px; + display: block; + min-width: 250px; +} + +.title-page-autoplay { + margin-inline-start: auto; + display: flex; + width: max-content; + height: max-content; + align-items: center; +} + +.other-videos:not(.display-as-row) my-video-miniature { + min-width: 201px; + max-width: 201px; +} +my-video-miniature { + display: block; +} +.video-miniature:not(.display-as-row) { + display: flex; + flex-direction: column; + padding-bottom: 15px; + width: 100%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail { + position: relative; + height: 0; + width: 100%; + padding-top: 56.25%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail .video-thumbnail { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} +.video-thumbnail { + display: flex; + flex-direction: column; + position: relative; + border-radius: 3px; + width: 100%; + height: 100%; + overflow: hidden; + background-color: #ececec; + transition: filter .2s ease; +} +.video-thumbnail-actions-overlay { + position: absolute; + display: flex; + flex-direction: column; + right: 5px; + top: 5px; + opacity: 0; +} +.video-thumbnail-label-overlay.danger { + background-color: red; +} +.video-thumbnail-label-overlay { + position: absolute; + padding: 0 5px; + left: 5px; + top: 5px; + font-weight: 700; +} +.video-thumbnail-watch-later-overlay, .video-thumbnail-label-overlay, .video-thumbnail-duration-overlay, .video-thumbnail-live-overlay { + display: inline-block; + background-color: #000000b3; + color: #fff; + border-radius: 3px; + font-size: 12px; + font-weight: 600; + line-height: 1.1; + z-index: 10; +} +.video-thumbnail-duration-overlay, .video-thumbnail-live-overlay { + position: absolute; + padding: 0 3px; + right: 5px; + bottom: 5px; +} +.video-thumbnail .play-overlay, .video-thumbnail .play-overlay .icon { + transition: all .2s ease; +} +.video-thumbnail .play-overlay { + position: absolute; + right: 0; + bottom: 0; + width: inherit; + height: inherit; + opacity: 0; + background-color: #0000004d; +} +.video-miniature:not(.display-as-row) .video-bottom { + display: flex; + width: 100%; + min-width: 1px; +} +.video-miniature-information { + width: calc(100% - 40px); +} + +.video-actions { + height: 40px; + display: flex; + align-items: center; +} +.video-actions .action-button my-global-icon { + margin-inline-end: 0; +} +.video-actions .action-button my-global-icon { + position: relative; + width: 21px; + top: -1px; +} +my-global-icon { + cursor: pointer; + width: 100%; +} +#custom-css .action-button .count { + color: var(--whiteColor); +} +.action-button-like .count, .action-button-dislike .count { + margin: 0 5px; +} + +.full-width { + width: 100%; + margin: 0 auto; + max-width: none; +} +.video-miniature:not(.display-as-row) .video-actions { + margin-top: 3px; +} +my-actor-avatar { + margin-inline-end: 10px; + margin-inline-start: 0; + margin-top: 10px; + margin-bottom: 0; +} +.video-miniature:not(.display-as-row) .video-miniature-name { + margin-top: 10px; + margin-bottom: 5px; +} +.video-miniature-name { + display: block; + display: -webkit-box; + -webkit-line-clamp: 2; + font-size: 1.1em; + line-height: 1.1em; + overflow: hidden; + text-overflow: ellipsis; + max-height: 2.2em; + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + transition: color .2s; + font-weight: 600; + color: var(--mainForegroundColor); +} +.video-miniature:not(.display-as-row) .video-miniature-created-at-views { + display: block; +} +.video-miniature-created-at-views { + font-size: 13px; +} +.video-miniature-account, .video-miniature-channel { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; + font-size: 13px; + color: var(--greyForegroundColor); +} +.video-miniature-created-at-views { + font-size: 13px; +} +.video-info-privacy, .video-info-blocked .blocked-label, .video-info-nsfw { + font-weight: 600; +} + + +.icon-search { + margin-inline-start: -35px; +} +.icon-search { + display: inline-block; + background-repeat: no-repeat; + background-size: contain; + width: 25px; + vertical-align: middle; + cursor: pointer; + height: 18px; + position: absolute; + margin-top: 3.5px; + right: 10px; +} +my-search-typeahead { + margin-inline-end: 15px; +} +.w-100 { + width: 100%!important; +} + +.icon-logo { + background-image: url(/client/assets/images/logo.svg?f43d062f4606d20e41cab4363a9d9da456139512); +} + +.peertube-container { + padding-bottom: 20px; +} + +.header { + background-color: #421a46 !important; + height: 50px; + position: fixed; + top: 0; + width: 100%; + background-color: #421a46 !important; + z-index: 17500; + box-shadow: 0 1px 3px #00000029; + display: flex; +} + +.header-right { + height: 50px; + display: flex; + align-items: center; + justify-content: flex-end; + white-space: nowrap; + flex: 1; +} + +#custom-css .sub-header-container { + background-position: center top; + background-size: cover; + background-repeat: repeat; + background-attachment: fixed; +} + +.sub-header-container { + margin-top: 50px; + background-color: var(--mainBackgroundColor); + width: 100%; +} + +.top-left-block { + z-index: 1; + height: 50px; + display: flex; + align-items: center; + min-width: 0; +} + +.peertube-title { + font-size: 20px; + font-weight: 700; + color: inherit!important; + display: flex; + align-items: center; + overflow: hidden; + padding: 0 0 0 10px; +} + +.c-hand { + cursor: pointer; +} + +a { + text-decoration: none; + background-color: initial; +} + +menu:focus, menu:hover { + overflow-y: auto; +} + +@media not all and (hover: hover) and (pointer: fine) { + menu { + overflow-y: auto; + } +} + +menu { + background-color: #421a46 !important; + overflow-y: auto; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: var(--menuForegroundColor); + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + margin: 0; + padding: 0; +} + +.menu-wrapper { + position: fixed; + height: calc(100vh - 50px); + padding: 0; + width: 240px; + z-index: 12600; +} + +.menu-block, .footer-block { + margin-bottom: 15px; +} + +.footer { + width: 240px; + padding-bottom: 15px; +} + +menu.is-logged-in .block-title { + margin-bottom: 15px; +} +.menu-block .block-title, .footer-block .block-title { + margin-inline-end: 30px; +} +.menu-block .block-title, .footer-block .block-title { + margin-inline-start: 26px; +} +.menu-block .block-title, .footer-block .block-title { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-transform: uppercase; + font-weight: 700; + font-size: 13px; +} + +.footer-links, .footer-links > div { + display: flex; + flex-wrap: wrap; +} + +.mr-1, .mx-1 { + margin-right: .25rem!important; +} + +.menu-block a, .footer-block a { + min-height: 40px; +} +.menu-link:hover, .menu-link:focus, .menu-link:active { + text-decoration: none!important; + outline: none!important; +} +.menu-link { + padding-inline-end: 20px; + padding-inline-start: 26px; + display: flex; + align-items: center; + color: var(--menuForegroundColor); + font-size: 16px; + cursor: pointer; + white-space: normal; + word-break: break-word; + transition: background-color .1s ease-in-out; + line-height: 1.2; +} +.menu-link my-global-icon .feather, .menu-link my-global-icon .material, .menu-link my-global-icon .misc { + color: gray; +} + +.publish-button { + margin-inline-end: 25px; +} +.publish-button, .publish-button:active, .publish-button:focus { + color: #fff; + background-color: var(--mainColor); +} +.publish-button { + padding-inline-end: 17px; +} +.publish-button { + padding-inline-start: 13px; +} +.publish-button { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + display: inline-flex; + align-items: center; + line-height: normal!important; +} + +.logged-in-menu { + display: flex; + flex-direction: column; + align-items: flex-start; + border-top: 1px solid var(--greyForegroundColor); + line-height: 1.2; +} + +.dropdown { + z-index: 12601!important; +} +.logged-in-more { + margin-inline-start: 13px; + flex: 1; + border-radius: 25px; + transition: all .1s ease-in-out; + cursor: pointer; + line-height: 1; +} +.logged-in-more:hover { + background-color: #ffffff26; +} +.notification-inbox-popover:hover, .notification-inbox-popover:active, .notification-inbox-link a:hover, .notification-inbox-link a:active { + background-color: #ffffff26; +} +.menu-link:hover, .menu-link.focus-visible { + background-color: #ffffff1a; +} +.menu-link:hover, .menu-link:focus, .menu-link:active { + text-decoration: none!important; + outline: none!important; +} + +.logged-in-more .dropdown-toggle:first-child { + display: flex; + align-items: center; + padding: 5px 7px; + border-radius: 25px; +} + +.dropdown, .dropup { + z-index: 17000!important; +} +.dropdown, .dropleft, .dropright, .dropup { + position: relative; +} + +.notification-inbox-popover, .notification-inbox-link { + cursor: pointer; + position: relative; +} +.notification-inbox-popover, .notification-inbox-link a { + transition: all .1s ease-in-out; + border-radius: 25px; + cursor: pointer; +} +.notification-inbox-popover { + padding: 10px; +} + +.logged-in-menu a { + font-size: 14px; + width: 100%; + min-height: 35px; +} + +.logged-in-menu a my-global-icon { + margin-inline-start: 4.5px; +} +.logged-in-menu a my-global-icon { + width: 13px; + height: 13px; +} +.menu-link my-global-icon { + margin-inline-end: 18px; +} +.menu-link my-global-icon { + display: flex; + width: 22px; + height: 22px; +} + +my-actor-avatar { + margin-inline-end: 10px; +} + +.logged-in-info { + max-width: 105px; + flex-grow: 1; +} + +.logged-in-display-name { + font-size: 16px; + font-weight: 600; + color: var(--menuForegroundColor); +} + +.logged-in-username { + font-size: 13px; + color: #c6c6c6; + margin-top: 3px; +} + +.logged-in-display-name, .logged-in-username { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.main-col .sub-menu { background-color: #502c50 !important; } +.title-page.active { border-bottom-color: #ea81e8 !important; } +.inner-form-title, .section-label { color: #ea81e8 !important; } + +.video-bottom { + display: flex; + margin-top: 1.5rem; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0!important; +} +.avatar-32 { + --avatarSize: 32px; +} +.flex-column { + flex-direction: column!important; +} +.main-row { + min-height: calc(100vh - 50px - 30px - 30px); +} +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent: 15px; + --videosHorizontalMarginContent: 30px; + } +} +.margin-content { + margin-inline-end: var(--gridVideosMiniatureMargins)!important; + margin-inline-start: var(--gridVideosMiniatureMargins)!important; + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); +} +.main-col { + margin-inline-start: 240px; +} +.main-col { + width: calc(100% - 240px); + outline: none; +} +.main-col .margin-content { + margin: 0 var(--horizontalMarginContent); + flex-grow: 1; +} +.channel { + max-width: 1200px; + background-color: var(--channelBackgroundColor); + padding: 30px; + margin: 30px 0; + display: grid; + grid-template-columns: 1fr auto; + grid-template-rows: auto auto; + grid-column-gap: 15px; + column-gap: 15px; +} + +.channel-avatar-row { + grid-column: 1; + grid-row: 1; + display: grid; + grid-template-columns: auto auto 1fr; + grid-template-rows: auto 1fr; +} + +.channel-avatar-row my-actor-avatar { + margin-inline-end: 15px; + display: inline-block; + width: 75px; + height: 75px; + min-width: 75px; + min-height: 75px; + grid-column: 1; + grid-row: 1/3; +} +.channel-avatar-row h2 { + grid-row: 1; + grid-column: 2; + font-size: 20px; + line-height: 1; + font-weight: 700; + margin: 0; +} +.channel-avatar-row a { + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + -webkit-hyphens: auto; + hyphens: auto; + color: var(--mainForegroundColor); +} +.channel-avatar-row .actor-counters { + margin-inline-start: 15px; + color: var(--greyForegroundColor); + font-size: 16px; + display: flex; + align-items: center; + grid-row: 1; + grid-column: 3; +} +.actor-counters { + color: #bb00bb !important; +} +.margin-content { + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); +} +.channel-avatar-row .description-html { + position: relative; + overflow: hidden; + grid-column: 2/4; + grid-row: 2; + max-height: 80px; + font-size: 16px; +} +.button-show-channel { + display: none; +} + +.orange-button-inverted, .orange-button-inverted:active, .orange-button-inverted:focus { + color: var(--mainColor); + background-color: var(--mainBackgroundColor); +} +.orange-button-inverted { + border: 2px solid var(--mainColor); + font-weight: 600; +} +.peertube-button-link { + padding-inline-end: 17px; + padding-inline-start: 13px; + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + display: inline-block; +} +.videos { + display: flex; + grid-column: 1/3; + grid-row: 2; + margin-top: 30px; + position: relative; + overflow: hidden; +} +.videos my-video-miniature { + margin-inline-end: 15px; + min-width: 201px; + max-width: 201px; +} +.video-miniature:not(.display-as-row) { + display: flex; + flex-direction: column; + padding-bottom: 15px; + width: 100%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail { + position: relative; + height: 0; + width: 100%; + padding-top: 56.25%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail .video-thumbnail { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} +.video-thumbnail { + display: flex; + flex-direction: column; + position: relative; + border-radius: 3px; + width: 100%; + height: 100%; + overflow: hidden; + background-color: #ececec; + transition: filter .2s ease; +} +.video-thumbnail img { + width: inherit; + height: inherit; +} +.video-miniature:not(.display-as-row) .video-bottom { + display: flex; + width: 100%; + min-width: 1px; +} +.video-miniature-information { + width: calc(100% - 40px); +} +.margin-content { + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); +} + +.video-miniature:not(.display-as-row) .video-miniature-name { + margin-top: 10px; + margin-bottom: 5px; +} +.video-miniature-name { + display: block; + display: -webkit-box; + -webkit-line-clamp: 2; + font-size: 1.1em; + line-height: 1.1em; + overflow: hidden; + text-overflow: ellipsis; + max-height: 2.2em; + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + transition: color .2s; + font-weight: 600; + color: var(--mainForegroundColor); +} +.video-miniature:not(.display-as-row) .video-miniature-created-at-views { + display: block; +} +.video-miniature-created-at-views { + font-size: 13px; +} +.miniature-show-channel { + height: 100%; + position: absolute; + right: 0; + background: linear-gradient(90deg,transparent 0,var(--channelBackgroundColor) 45px); + padding: 47px 15px 0 60px; + z-index: 11; +} + +.miniature-show-channel a { + color: var(--mainColor); + font-size: 16px; + font-weight: 600; +} + +.avatar.channel { + border-radius: 5px; +} + +.account-info { + padding-inline-end: var(--gridVideosMiniatureMargins)!important; +} +.account-info { + padding-inline-start: var(--gridVideosMiniatureMargins)!important; +} +.account-info { + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); + display: grid; + grid-template-columns: 1fr -webkit-min-content; + grid-template-columns: 1fr min-content; + grid-template-rows: auto auto; + background-color: var(--submenuBackgroundColor); + margin-bottom: 45px; + padding-top: var(--myGlobalTopPadding); + padding-bottom: var(--myGlobalTopPadding); + font-size: var(--myFontSize); +} + +.account-avatar-row .main-avatar { + display: inline-block; + width: 120px; + height: 120px; + min-width: 120px; + min-height: 120px; +} +.section-label { + color: var(--mainColor); + font-size: 12px; + margin-bottom: 15px; + font-weight: 700; + letter-spacing: 2.5px; + margin-bottom: 5px !important; +} +.inner-form-title, .section-label { + color: #ea81e8 !important; +} +.account-avatar-row { + display: flex; + grid-column: 1; + margin-bottom: 30px; +} +.account-avatar-row > div { + margin-inline-start: var(--myImgMargin); +} +.account-avatar-row > div { + min-width: 1px; +} +svg { + width: inherit; + height: inherit; +} +svg { + overflow: hidden; +} + +.title-page-container .title-page.active, .title-page-container .title-page.title-page-single { + margin-inline-end: .5rem!important; +} +.title-page-container .title-page.active, .title-page-container .title-page.title-page-single { + margin-bottom: unset; +} +.title-page { + margin-top: 0; +} +.title-page.active, .title-page.title-page-single, .title-page:active, .title-page:focus, .title-page:hover { + opacity: 1; +} +.title-page.title-page-single { + font-size: 125%; +} + +.title-page { + color: var(--mainForegroundColor); + display: inline-block; + font-weight: 600; +} +.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { + line-height: 1.2; +} +h2 { + margin-block-start: 0.83em; + margin-block-end: 0.83em; +} +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent: 15px; + --videosHorizontalMarginContent: 30px; + } +} + +#custom-css .dropdown-menu, #custom-css .dropdown-menu .dropdown-item { background-color: #421a46 !important; } + +#custom-css .icon.icon-logo { + background: url(/img/favicon.jpeg) 0% 0% / cover; +} +.peertube-title .icon.icon-logo { + margin-inline-end: .5rem; + width: 23px; + height: 24px; +} +.top-left-block .icon { + vertical-align: middle; + cursor: pointer; +} +.owner-description, .icon.icon-logo { + display: none !important; +} + +#video-wrapper { + background-color: transparent !important; + display: flex; + justify-content: center; + padding-top: 20px !important; +} + +.video-info { + flex-grow: 1; + min-width: 1px; + max-width: 100%; +} + +.video-info-first-row { + display: flex; +} + +.video-info-first-row > div:first-child { + flex-grow: 1; +} + +.video-info-first-row-bottom { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; +} +.video-info-channel-left .video-info-channel-left-links a:nth-of-type(2) { + font-weight: 400; + font-size: 90%; +} +.video-info-channel a { + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + color: var(--mainForegroundColor); +} +.video-info-channel a:hover, .video-info-channel a:focus, .video-info-channel a:active { + text-decoration: none!important; + outline: none!important; +} +.pt-3, .py-3 { + padding-top: 1rem!important; +} +my-subscribe-button { + margin-inline-start: 5px; +} +.btn-group-subscribe { + padding-inline-end: 17px; + padding-inline-start: 13px; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + float: right; + padding: 0; +} +.action-dropdown, .btn-group, .column-toggle, .dropdown-root, .input-group-prepend { + z-index: inherit!important; +} +.btn-group, .btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group-subscribe.subscribe-button .btn, .btn-group-subscribe.subscribe-button .btn:active, .btn-group-subscribe.subscribe-button .btn:focus { + color: #fff; + background-color: var(--mainColor); +} +.btn-group-subscribe.subscribe-button .btn { + font-weight: 600; +} +.btn-group-subscribe > .btn, .btn-group-subscribe > .dropdown > .dropdown-toggle { + font-size: 15px; +} +.btn-group>.btn-group:not(:last-child)>.btn, .btn-group>.btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} +.btn-group-vertical>.btn, .btn-group>.btn { + position: relative; + flex: 1 1 auto; +} +[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) { + cursor: pointer; +} +.btn-group-sm>.btn, .btn-sm { + padding: .25rem .5rem; + line-height: 1.5; + border-radius: .2rem; +} + +.btn { + display: inline-block; + text-align: center; + vertical-align: middle; + user-select: none; + border: 1px solid #0000; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +.video-actions .action-button:not(:first-child), .video-actions .action-dropdown, .video-actions my-video-actions-dropdown { + margin-inline-start: 5px; +} +.video-actions .action-button.action-button-support { + color: var(--supportButtonColor); +} +.video-actions .action-button.action-button-support my-global-icon path:first-child { + fill: var(--supportButtonHeartColor)!important; +} + +.justify-content-end { + justify-content: flex-end!important; +} +.d-flex { + display: flex!important; +} +.position-relative { + position: relative!important; +} +.d-inline-flex { + display: inline-flex!important; +} +.border-top { + border-top: 1px solid #dee2e6!important; +} +form { + margin-bottom: 30px; +} +#custom-css input, #custom-css textarea { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + border: 1px solid var(--mainBackgroundColor); +} +.avatar-and-textarea textarea { + padding-inline-end: 45px!important; +} +.avatar-and-textarea .form-group { + flex-grow: 1; + margin: 0; + position: relative; +} + +.video-info-name { + margin-inline-end: 30px; +} +.video-info-name { + word-break: break-word; + overflow-wrap: break-word; + min-height: 40px; + font-size: 27px; + font-weight: 600; + flex-grow: 1; +} +.video-actions .action-button { + padding-inline-end: 17px; +} +.video-actions .action-button { + padding-inline-start: 13px; +} +.small, small { + font-size: 80%; + font-weight: 400; +} +.title-page-container { + display: flex; + justify-content: space-between; + align-items: baseline; + margin-bottom: 25px; + flex-wrap: wrap-reverse; +} + +.video-actions .action-button { + border: 0; + height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + align-items: center; + line-height: normal!important; + font-size: 100%; + font-weight: 600; + display: inline-block; + padding: 0 10px; + white-space: nowrap; + background-color: transparent!important; + color: var(--actionButtonColor); + text-transform: uppercase; +} +.action-button-like, .action-button-dislike { + filter: brightness(120%); +} + +[type=button], [type=reset], [type=submit], button { + -webkit-appearance: button; +} + +@media (min-width: 768px) { + .d-md-none { + display: none!important; + } +} + +.title-block my-feed { + margin-inline-start: 5px; +} +.title-block my-feed { + display: inline-block; + opacity: 0; + transition: ease-in .2s opacity; + width: 12px; + position: relative; + top: -3px; +} +.feed { + width: 100%; +} + +.flex-direction-column { + flex-direction: column; +} +.justify-content-between { + justify-content: space-between!important; +} + +body { + margin: 0; + line-height: 1.5; + --mainColor: #ea81e8; + --mainColorLighter: #d68ad5; + --mainColorLightest: #fdd1fc; + --mainHoverColor: #fc54f9; + --mainBackgroundColor: #301a30; + --mainForegroundColor: #fcfcfc; + --secondaryColor: #421a46; + + --greyForegroundColor: #585858; + --greyBackgroundColor: #e5e5e5; + + --submenuBackgroundColor: #5e3c62; + --channelBackgroundColor: #5e3c62; + + --textareaForegroundColor: #000; + --textareaBackgroundColor: #fff; + --markdownTextareaBackgroundColor: #efefef; + + --actionButtonColor: #ea81e8; + --supportButtonBackgroundColor: #971195; + --supportButtonColor: var(--actionButtonColor); + --supportButtonHeartColor: #ec1818; + + --activatedActionButtonColor: #000; + --horizontalMarginContent: 30px; + --videosHorizontalMarginContent: 6vw; + --mainColWidth: calc(100vw - 240px); + --dangerBackgroundColor: #d9534f; + --inputColor: #272727; + --inputPlaceholderColor: rgba(195,195,195,0.878431); + --menuAndHeaderBackgroundColor: #272727; + --menuForegroundColor: rgba(195,195,195,0.878431); + --menuBackgroundColor: #272727; + --whiteColor: #ffffff; + --submenuColor: #272727; + --embedForegroundColor: #fff; + --embedBigPlayBackgroundColor: rgba(0, 0, 0, .8); + + font-family: Source Sans Pro,sans-serif; + font-weight: 400; + color: var(--mainForegroundColor); + background-color: var(--mainBackgroundColor); + font-size: 14px; + overflow-y: scroll; + text-align: start; +} + + +my-video-comments { + display: inline-block; + width: 100%; + margin-bottom: 20px; +} +.border-top { + border-top: 1px solid #dee2e6!important; +} +#highlighted-comment { + margin-bottom: 25px; +} +.anchor { + position: relative; + top: -70px; +} +.root { + --myGlobalTopPadding: 60px; + --myImgMargin: 30px; + --myFontSize: 16px; + --myGreyFontSize: 16px; +} +.root-comment { + font-size: 15px; + display: flex; +} +.root-comment .left { + margin-inline-end: 10px; +} +.root-comment .left { + display: flex; + flex-direction: column; + align-items: center; +} +my-actor-avatar { + display: inline-block; + width: 36px; + height: 36px; + min-width: 36px; + min-height: 36px; +} +.root-comment .left .vertical-border { + width: 2px; + height: 100%; + background-color: #0000000d; + margin: 10px calc(1rem + 1px); +} +.initial.blue { + background-color: #009fd4; +} +.initial { + background-color: #3c2109; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + font-size: var(--initialFontSize); +} +.root-comment .right { + width: 100%; +} +.mb-3, .my-3 { + margin-bottom: 1rem!important; +} +.mb-3 { + margin-bottom: 1rem!important; +} +.comment { + flex-grow: 1; + min-width: 1px; +} +.highlighted-comment { + display: inline-block; + background-color: #f5f5f5; + color: #3d3d3d; + padding: 0 5px; + font-size: 13px; + margin-bottom: 5px; + font-weight: 600; + border-radius: 3px; +} +.comment-account-date { + display: flex; + margin-bottom: 4px; +} +.comment-account { + word-break: break-all; + font-weight: 600; + font-size: 90%; +} +.comment-date { + margin-inline-start: 5px; +} +.comment-date { + font-size: 90%; + color: var(--greyForegroundColor); + text-decoration: none; +} +.comment-account a { + color: var(--mainForegroundColor); +} +.comment-account .comment-account-fid { + opacity: .6; +} +.ml-1 { + margin-inline-start: .25rem; +} +.ml-1, .mx-1 { + margin-left: .25rem!important; +} +.comment-html { + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + -webkit-hyphens: auto; + hyphens: auto; +} +.comment-html a:not(.linkified-url) { + color: var(--mainForegroundColor); + font-weight: 600; +} +.comment-html p { + margin-bottom: .3rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +.comment-actions { + margin-bottom: 10px; + display: flex; +} +.comment-actions .dropdown-toggle, .comment-actions .comment-action-reply { + margin-inline-end: 10px; +} +.comment-actions .dropdown-toggle, .comment-actions .comment-action-reply { + color: var(--greyForegroundColor); + cursor: pointer; +} +.description { + grid-column: 1/3; + max-width: 1000px; + word-break: break-word; +} +.buttons { + grid-column: 2; + grid-row: 1; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + align-content: flex-start; +} +.buttons > a { + white-space: nowrap; +} +.orange-button, .orange-button:active, .orange-button:focus { + color: #fff; + background-color: var(--mainColor); +} +.peertube-button-link { + padding-inline-end: 17px; +} +.peertube-button-link { + padding-inline-start: 13px; +} +.peertube-button-link { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + display: inline-block; +} +.links.on-channel-page { + max-width: 1200px; +} +.links { + margin-inline-end: var(--gridVideosMiniatureMargins)!important; + margin-inline-start: var(--gridVideosMiniatureMargins)!important; + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); + display: flex; + justify-content: space-between; + align-items: center; +} +my-list-overflow { + width: 100%; +} +.list-overflow-parent { + overflow: hidden; +} +.has-feedback.has-clear { + position: relative; +} +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +my-global-icon { + cursor: pointer; + width: 100%; +} +.myglobalicon-alt { + margin-inline-start: 10px; + height: 28px; + width: 28px!important; + color: var(--mainColor); +} +.text-nowrap { + white-space: nowrap!important; +} +.channel-buttons > *:not(:last-child) { + margin-inline-end: 15px; +} +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + user-select: none; + background-color: initial; + border: 1px solid #0000; + padding: .375rem .75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: .25rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} +button, input[type=button], input[type=file]::-webkit-file-upload-button, input[type=reset], input[type=submit] { + border-radius: 0; +} +button, select { + text-transform: none; +} +button { + background: unset; + border-radius: 0; + appearance: button; + text-rendering: auto; + color: -internal-light-dark(black, white); + letter-spacing: normal; + word-spacing: normal; + text-transform: none; + text-indent: 0px; + text-shadow: none; + display: inline-block; + text-align: center; + align-items: flex-start; + cursor: default; + background-color: -internal-light-dark(rgb(239, 239, 239), rgb(59, 59, 59)); + box-sizing: border-box; + margin: 0em; + font: 400 13.3333px Arial; + padding: 1px 6px; + border-width: 2px; + border-style: outset; + border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133)); + border-image: initial; +} +.btn-group-subscribe:not(.big) { + white-space: nowrap; +} \ No newline at end of file diff --git a/public/css/channel.css b/public/css/channel.css new file mode 100644 index 0000000..036392a --- /dev/null +++ b/public/css/channel.css @@ -0,0 +1,735 @@ +.root { + --myGlobalTopPadding: 60px; + --myChannelImgMargin: 30px; + --myFontSize: 16px; + --myGreyChannelFontSize: 16px; + --myGreyOwnerFontSize: 14px; +} + +.banner img { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} + +.banner { + position: relative; + height: 0; + width: 100%; + padding-top: 16.66666666%; +} + +.channel-info { + padding-inline-end: var(--gridVideosMiniatureMargins)!important; + padding-inline-start: var(--gridVideosMiniatureMargins)!important; + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); + display: grid; + grid-template-columns: 1fr auto; + grid-template-rows: auto auto; + background-color: var(--channelBackgroundColor); + margin-bottom: 45px; + padding-top: var(--myGlobalTopPadding); + font-size: var(--myFontSize); +} + +@media screen and (max-width: 1400px) { + .channel-avatar-row { + grid-column: 1/3; + } +} + +.channel-avatar-row { + display: flex; + grid-column: 1; + margin-bottom: 30px; +} + +.channel-avatar-row .main-avatar { + display: inline-block; + width: 120px; + height: 120px; + min-width: 120px; + min-height: 120px; +} + +.channel-avatar-row > div { + margin-inline-start: var(--myChannelImgMargin); + min-width: 1px; +} + +.section-label { + margin-bottom: 5px !important; +} + +.inner-form-title, .section-label { + color: #ea81e8 !important; +} + +.channel-avatar-row .actor-info { + display: flex; +} + +.actor-info { + min-width: 1px; + width: 100%; +} + +.channel-avatar-row .actor-info > div:first-child { + flex-grow: 1; + min-width: 1px; +} + +.channel-avatar-row .actor-display-name { + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + -webkit-hyphens: auto; + hyphens: auto; + display: flex; + flex-wrap: wrap; +} + +.channel-avatar-row h1 { + font-size: 28px; + font-weight: 700; + margin: 0; +} + +.channel-avatar-row .actor-handle, .channel-avatar-row .actor-counters { + color: var(--greyForegroundColor); + font-size: var(--myGreyChannelFontSize); +} + +.channel-avatar-row .actor-handle { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.channel-buttons.right { + margin-inline-start: 45px; +} + +.channel-buttons { + display: flex; + flex-wrap: wrap; +} + +@media screen and (max-width: 1100px) { + .channel-buttons.bottom { + display: flex; + justify-content: center; + margin-bottom: 30px; + } +} + +.channel-buttons.bottom { + display: none; +} + +.channel-buttons { + display: flex; + flex-wrap: wrap; +} + +.channel-buttons > *:not(:last-child) { + margin-inline-end: 15px; +} + +.orange-button, .orange-button:active, .orange-button:focus { + color: #fff; + background-color: var(--mainColor); +} + +.peertube-button-link { + padding-inline-end: 17px; +} + +.peertube-button-link { + padding-inline-start: 13px; +} + +.peertube-button-link { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + display: inline-block; +} + +.support-button { + display: inline-flex; + align-items: center; + line-height: normal!important; +} + +[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) { + cursor: pointer; +} + +.orange-button-inverted, .orange-button-inverted:active, .orange-button-inverted:focus { + color: var(--mainColor); + background-color: var(--mainBackgroundColor); +} + +.orange-button-inverted { + border: 2px solid var(--mainColor); + font-weight: 600; +} + +.peertube-button { + padding-inline-end: 17px; +} + +.peertube-button { + padding-inline-start: 13px; +} + +.peertube-button { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; +} + +button { + background: unset; +} + +button, input[type=button], input[type=file]::-webkit-file-upload-button, input[type=reset], input[type=submit] { + border-radius: 0; +} + +[type=button], [type=reset], [type=submit], button { + -webkit-appearance: button; +} + +button, select { + text-transform: none; +} + +button, input { + overflow: visible; +} + +button, input, optgroup, select, textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button { + border-radius: 0; +} + +.support-button my-global-icon { + margin-inline-end: 0; + position: relative; + width: 21px; + top: -1px; +} + +.support-button { + display: inline-flex; + align-items: center; + line-height: normal!important; +} + +.channel-description { + grid-column: 1; + word-break: break-word; + padding-bottom: var(--myGlobalTopPadding); +} + +@media screen and (max-width: 1400px) { + .owner-card { + margin-inline-start: 60px; + grid-row: 2; + } +} + +.owner-card { + margin-inline-start: 105px; +} + +.owner-card { + grid-column: 2; + grid-row: 1/3; + place-self: end; +} + +@media screen and (max-width: 1100px) { + .bottom-owner { + display: block; + width: 100%; + border-bottom: 2px solid rgba(0,0,0,.1); + padding: var(--myGlobalTopPadding) 45px; + margin-bottom: 60px; + } +} + +.bottom-owner { + display: none; +} + +.owner-block { + background-color: rgba(48, 26, 48, 0.6) !important; + padding: 10px !important; + width: 300px; + font-size: var(--myFontSize); +} + +.section-label { + color: var(--mainColor); + font-size: 12px; + margin-bottom: 15px; + font-weight: 700; + letter-spacing: 2.5px; +} + +.section-label { + margin-bottom: 5px !important; +} + +.inner-form-title, .section-label { + color: #ea81e8 !important; +} + +.owner-block .avatar-row { + display: flex; + margin-bottom: 15px; +} + +my-actor-avatar { + display: inline-block; + width: 36px; + height: 36px; + min-width: 36px; + min-height: 36px; + margin-inline-end: 10px; + margin-inline-start: 0; + margin-top: 10px; + margin-bottom: 0; +} + +.owner-block .avatar-row .actor-info { + margin-inline-start: 15px; +} + +.owner-block .avatar-row h4 { + font-size: 18px; + margin: 0; +} + +.actor-info > h4, .actor-info > .actor-handle { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.owner-block .avatar-row h4 a { + color: var(--mainForegroundColor); +} + +.owner-block .avatar-row .actor-handle { + font-size: var(--myGreyOwnerFontSize); + color: var(--greyForegroundColor); +} + +.actor-info > h4, .actor-info > .actor-handle { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.owner-block .owner-description { + position: relative; + overflow: hidden; + max-height: 140px; + word-break: break-word; +} + +.owner-description, .icon.icon-logo { + display: none !important; +} + +.view-account.short, .view-account.short:active, .view-account.short:focus { + color: var(--mainColor); + background-color: var(--mainBackgroundColor); +} + +.view-account.short:focus, .view-account.short.focus-visible { + box-shadow: 0 0 0 .2rem var(--mainColorLightest); +} + +.view-account.short:hover, .view-account.short:focus, .view-account.short:active { + text-decoration: none!important; + outline: none!important; +} + +.view-account.short { + padding-inline-end: 17px; +} + +.view-account.short { + padding-inline-start: 13px; +} + +.view-account.short { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + display: inline-block; + border: 2px solid var(--mainColor); + font-weight: 600; + margin-top: 30px; +} + +.view-account.complete { + display: none; +} + +.links { + margin-inline-end: var(--gridVideosMiniatureMargins)!important; + margin-inline-start: var(--gridVideosMiniatureMargins)!important; + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); +} + +.margin-content { + margin-inline-end: var(--gridVideosMiniatureMargins)!important; + margin-inline-start: var(--gridVideosMiniatureMargins)!important; + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); +} + +.main-col .margin-content { + margin: 0 var(--horizontalMarginContent); + flex-grow: 1; +} + +.videos-header { + display: grid; + grid-template-columns: auto 1fr auto; + margin-bottom: 30px; +} + +.videos-header .title-subscription.no-title { + margin-top: 10px; +} + +.videos-header .title-subscription { + grid-row: 2; + font-size: 14px; + color: var(--greyForegroundColor); +} + +.videos-header .title, .videos-header .title-subscription { + grid-column: 1; +} + +.videos-header my-feed { + margin-inline-start: 5px; + display: inline-block; + width: 16px; + color: var(--mainColor); + position: relative; + top: -2px; +} + +.feed { + width: 100%; +} + +@media screen and (min-width: 500px) { + .margin-content .videos, .margin-content .playlists { + --miniatureMinWidth: 255px; + --miniatureMaxWidth: 280px; + display: grid; + grid-column-gap: 30px; + column-gap: 30px; + grid-template-columns: repeat(auto-fill,minmax(var(--miniatureMinWidth),1fr)); + } +} + + +@media screen and (min-width: 500px) { + .margin-content .videos .video-wrapper, .margin-content .videos .playlist-wrapper, .margin-content .playlists .video-wrapper, .margin-content .playlists .playlist-wrapper { + margin: 0 auto; + width: 100%; + } +} + +@media screen and (min-width: 500px) { + .margin-content .videos .video-wrapper my-video-miniature, .margin-content .videos .video-wrapper my-video-playlist-miniature, .margin-content .videos .playlist-wrapper my-video-miniature, .margin-content .videos .playlist-wrapper my-video-playlist-miniature, .margin-content .playlists .video-wrapper my-video-miniature, .margin-content .playlists .video-wrapper my-video-playlist-miniature, .margin-content .playlists .playlist-wrapper my-video-miniature, .margin-content .playlists .playlist-wrapper my-video-playlist-miniature { + display: block; + min-width: var(--miniatureMinWidth); + max-width: var(--miniatureMaxWidth); + } +} + +.video-miniature:not(.display-as-row) { + display: flex; + flex-direction: column; + padding-bottom: 15px; + width: 100%; +} + +.video-miniature:not(.display-as-row) my-video-thumbnail { + position: relative; + height: 0; + width: 100%; + padding-top: 56.25%; +} + +.video-miniature:not(.display-as-row) my-video-thumbnail .video-thumbnail { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} + +.video-thumbnail { + display: flex; + flex-direction: column; + position: relative; + border-radius: 3px; + width: 100%; + height: 100%; + overflow: hidden; + background-color: #ececec; + transition: filter .2s ease; +} + +.video-thumbnail img { + width: inherit; + height: inherit; +} + +.video-thumbnail-label-overlay.warning { + background-color: orange; +} + +.video-thumbnail-label-overlay.danger { + background-color: red; +} + +.video-thumbnail-label-overlay { + position: absolute; + padding: 0 5px; + left: 5px; + top: 5px; + font-weight: 700; +} + +.video-thumbnail-watch-later-overlay, .video-thumbnail-label-overlay, .video-thumbnail-duration-overlay, .video-thumbnail-live-overlay { + display: inline-block; + background-color: #000000b3; + color: #fff; + border-radius: 3px; + font-size: 12px; + font-weight: 600; + line-height: 1.1; + z-index: 10; +} + +.video-thumbnail .play-overlay, .video-thumbnail .play-overlay .icon { + transition: all .2s ease; +} + +.video-thumbnail .play-overlay { + position: absolute; + right: 0; + bottom: 0; + width: inherit; + height: inherit; + opacity: 0; + background-color: #0000004d; +} + +.video-thumbnail .play-overlay .icon { + width: 0; + height: 0; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%,-50%) scale(.5); + border-top: 13px solid transparent; + border-bottom: 13px solid transparent; + border-left: 18px solid rgba(255,255,255,.95); +} + +.progress-bar { + height: 3px; + width: 100%; + position: absolute; + bottom: 0; + background-color: #0003; +} + +.progress-bar div { + height: 100%; + background-color: var(--mainColor); +} + +.video-miniature:not(.display-as-row) .video-bottom { + display: flex; + width: 100%; + min-width: 1px; +} + +.video-miniature-information { + width: calc(100% - 40px); +} + +.video-miniature:not(.display-as-row) .video-miniature-name { + margin-top: 10px; + margin-bottom: 5px; +} + +.video-miniature-name { + display: block; + display: -webkit-box; + -webkit-line-clamp: 2; + font-size: 1.1em; + line-height: 1.1em; + overflow: hidden; + text-overflow: ellipsis; + max-height: 2.2em; + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + transition: color .2s; + font-weight: 600; + color: var(--mainForegroundColor); +} + +.video-miniature:not(.display-as-row) .video-miniature-created-at-views { + display: block; +} + +.video-miniature-created-at-views { + font-size: 13px; +} + +.video-info-privacy, .video-info-blocked .blocked-label, .video-info-nsfw { + font-weight: 600; +} + +.miniature:not(.display-as-row) .miniature-thumbnail { + position: relative; + height: 0; + width: 100%; + padding-top: 56.25%; + margin-top: 10px; + margin-bottom: 5px; +} + +.miniature-thumbnail { + display: flex; + flex-direction: column; + position: relative; + border-radius: 3px; + width: 100%; + height: 100%; + overflow: hidden; + background-color: #ececec; + transition: filter .2s ease; +} + +.miniature:not(.display-as-row) .miniature-thumbnail a { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} + +.miniature-thumbnail img { + width: inherit; + height: inherit; +} + +.miniature-thumbnail .miniature-playlist-info-overlay { + display: inline-block; + background-color: #000000b3; + color: #fff; + position: absolute; + right: 0; + bottom: 0; + height: 100%; + padding: 0 10px; + display: flex; + align-items: center; + font-size: 14px; + font-weight: 600; +} + +.miniature-thumbnail .play-overlay, .miniature-thumbnail .play-overlay .icon { + transition: all .2s ease; +} + +.miniature-thumbnail .play-overlay { + position: absolute; + right: 0; + bottom: 0; + width: inherit; + height: inherit; + opacity: 0; + background-color: #0000004d; +} + +.miniature-thumbnail .play-overlay .icon { + width: 0; + height: 0; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%,-50%) scale(.5); + border-top: 13px solid transparent; + border-bottom: 13px solid transparent; + border-left: 18px solid rgba(255,255,255,.95); +} + +.miniature-thumbnail .play-overlay, .miniature-thumbnail .play-overlay .icon { + transition: all .2s ease; +} + +.miniature:not(.display-as-row) .miniature-name { + margin-top: 10px; + margin-bottom: 5px; +} + +.miniature-info .miniature-name { + display: block; + display: -webkit-box; + -webkit-line-clamp: 2; + font-size: 1.1em; + line-height: 1.1em; + overflow: hidden; + text-overflow: ellipsis; + max-height: 2.2em; + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + transition: color .2s; + font-weight: 600; + color: var(--mainForegroundColor); +} \ No newline at end of file diff --git a/public/css/common.css b/public/css/common.css new file mode 100644 index 0000000..85872b2 --- /dev/null +++ b/public/css/common.css @@ -0,0 +1,1626 @@ +#custom-css #typeahead-container input { + border-color: var(--mainForegroundColor) !important; +} +#typeahead-container input { + border: 1px solid var(--mainBackgroundColor)!important; + box-shadow: #0000001a 0 1px 20px; + flex-grow: 1; + transition: box-shadow .3s ease,width .2s ease; +} +#search-video { + padding-inline-end: 40px; +} +#search-video { + padding-inline-start: 10px; +} +#search-video { + padding: 0 15px; + display: inline-block; + height: 30px; + width: 375px; + background-color: var(--inputBackgroundColor); + border-radius: 3px; + font-size: 14px; +} +#custom-css input, #custom-css textarea { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; +} +input, textarea { + outline: none; +} +button, input { + overflow: visible; +} +button, input, optgroup, select, textarea { + margin: 0; + font-family: inherit; + line-height: inherit; +} +*, :after, :before { + box-sizing: border-box; +} +input { + text-rendering: auto; + letter-spacing: normal; + word-spacing: normal; + text-transform: none; + text-indent: 0px; + text-shadow: none; + text-align: start; + appearance: textfield; + cursor: text; + font: 400 13.3333px Arial; +} +.header-right { + height: 50px; + display: flex; + align-items: center; + justify-content: flex-end; + white-space: nowrap; + flex: 1; +} + +.wrapper { + margin-inline-end: 5px; + display: inline-block; + width: 35px; + height: 35px; + min-width: 35px; + min-height: 35px; + position: relative; + margin-bottom: 5px; +} + +.wrapper:not(.generic-channel) .channel { + display: inline-block; + width: 35px; + height: 35px; + min-width: 35px; + min-height: 35px; +} + +.wrapper:not(.generic-channel) .account { + height: 60%; + width: 60%; + position: absolute; + bottom: -5px; + right: -5px; + background-color: #0000; +} + +.avatar.account { + object-fit: cover; + border-radius: 50%; +} + +.avatar-34 { + --avatarSize: 34px !important; +} + +.avatar { + --avatarSize: 100%; + --initialFontSize: 22px; + width: var(--avatarSize); + height: var(--avatarSize); + min-width: var(--avatarSize); + min-height: var(--avatarSize); +} + +.video-info-channel { + font-weight: 600; + font-size: 15px; +} + +img, svg { + vertical-align: middle; +} + +img { + border-style: none; +} + +.dropdown-toggle { + white-space: nowrap; +} + + +element.style { + overflow: hidden; + height: 32px; +} +#custom-css input, #custom-css textarea { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + border: 1px solid var(--mainBackgroundColor); +} + +.avatar-and-textarea textarea { + padding-inline-end: 45px!important; + display: inline-block; + width: 100%; + border-radius: 3px; + background-color: var(--textareaBackgroundColor); + padding: 5px 15px; + font-size: 15px; + min-height: calc(60px - 15px * 2); +} +input, textarea { + outline: none; +} +textarea { + resize: vertical; +} +button, input, optgroup, select, textarea { + margin: 0; + font-family: inherit; + line-height: inherit; +} + +.video-info-channel-left .video-info-channel-left-links { + display: flex; + flex-direction: column; + position: relative; + line-height: 1.37; +} +.ml-1 { + margin-inline-start: .25rem; +} +.ml-1, .mx-1 { + margin-left: .25rem!important; +} +.video-info-channel-left { + flex-grow: 1; +} +my-action-buttons { + margin-inline-end: 0; +} +my-action-buttons { + margin-inline-start: auto; +} +my-action-buttons { + display: block; + margin-top: 0; + margin-bottom: 10px; + align-items: start; + width: -webkit-max-content; + width: max-content; +} +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent: 15px; + --videosHorizontalMarginContent: 30px; + } +} +.video-info-description { + margin-inline-end: 0; +} + +.video-info-description { + margin-inline-start: 44px; +} +.video-info-description .video-info-description-html { + word-break: break-word; + overflow-wrap: break-word; +} +.video-info-description { + margin-top: 20px; + margin-bottom: 20px; + font-size: 15px; +} +my-video-attributes { + margin-inline-start: 44px; + display: block; + margin-bottom: 15px; +} +.attribute { + font-size: 13px; + display: block; + margin-bottom: 12px; +} +.attribute-label { + padding-inline-end: 5px; +} +.attribute-label { + min-width: 142px; + display: inline-block; + color: var(--greyForegroundColor); + font-weight: 700; +} +.attribute { + font-size: 13px; + display: block; + margin-bottom: 12px; +} + +my-recommended-videos { + padding-inline-start: 15px; + display: block; + min-width: 250px; +} + +.title-page-autoplay { + margin-inline-start: auto; + display: flex; + width: max-content; + height: max-content; + align-items: center; +} +.videos { + display: flex; + grid-column: 1/3; + grid-row: 2; + margin-top: 30px; + position: relative; + overflow: hidden; +} +.videos my-video-miniature { + margin-inline-end: 15px; + min-width: 201px; + max-width: 201px; +} +.video-miniature:not(.display-as-row) { + display: flex; + flex-direction: column; + padding-bottom: 15px; + width: 100%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail { + position: relative; + height: 0; + width: 100%; + padding-top: 56.25%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail .video-thumbnail { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} + +.other-videos:not(.display-as-row) my-video-miniature { + min-width: 201px; + max-width: 201px; +} + +@media screen and (min-width: 500px) { + .margin-content .videos, .margin-content .playlists { + --miniatureMinWidth: 255px; + --miniatureMaxWidth: 280px; + display: grid; + grid-column-gap: 30px; + column-gap: 30px; + grid-template-columns: repeat(auto-fill,minmax(var(--miniatureMinWidth),1fr)); + } +} + +@media screen and (min-width: 500px) { + .margin-content .videos .video-wrapper, .margin-content .videos .playlist-wrapper, .margin-content .playlists .video-wrapper, .margin-content .playlists .playlist-wrapper { + margin: 0 auto; + width: 100%; + } +} + +@media screen and (min-width: 500px) { + .margin-content .videos .video-wrapper my-video-miniature, .margin-content .videos .video-wrapper my-video-playlist-miniature, .margin-content .videos .playlist-wrapper my-video-miniature, .margin-content .videos .playlist-wrapper my-video-playlist-miniature, .margin-content .playlists .video-wrapper my-video-miniature, .margin-content .playlists .video-wrapper my-video-playlist-miniature, .margin-content .playlists .playlist-wrapper my-video-miniature, .margin-content .playlists .playlist-wrapper my-video-playlist-miniature { + display: block; + min-width: var(--miniatureMinWidth); + max-width: var(--miniatureMaxWidth); + } +} + +my-video-miniature { + display: block; +} +.video-miniature:not(.display-as-row) { + display: flex; + flex-direction: column; + padding-bottom: 15px; + width: 100%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail { + position: relative; + height: 0; + width: 100%; + padding-top: 56.25%; +} +.video-miniature:not(.display-as-row) my-video-thumbnail .video-thumbnail { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} +.video-thumbnail { + display: flex; + flex-direction: column; + position: relative; + border-radius: 3px; + width: 100%; + height: 100%; + overflow: hidden; + background-color: #ececec; + transition: filter .2s ease; +} +.video-thumbnail-actions-overlay { + position: absolute; + display: flex; + flex-direction: column; + right: 5px; + top: 5px; + opacity: 0; +} +.video-thumbnail-label-overlay.danger { + background-color: red; +} +.video-thumbnail-label-overlay { + position: absolute; + padding: 0 5px; + left: 5px; + top: 5px; + font-weight: 700; +} +.video-thumbnail-watch-later-overlay, .video-thumbnail-label-overlay, .video-thumbnail-duration-overlay, .video-thumbnail-live-overlay { + display: inline-block; + background-color: #000000b3; + color: #fff; + border-radius: 3px; + font-size: 12px; + font-weight: 600; + line-height: 1.1; + z-index: 10; +} +.video-thumbnail-duration-overlay, .video-thumbnail-live-overlay { + position: absolute; + padding: 0 3px; + right: 5px; + bottom: 5px; +} +.video-thumbnail .play-overlay, .video-thumbnail .play-overlay .icon { + transition: all .2s ease; +} +.video-thumbnail .play-overlay { + position: absolute; + right: 0; + bottom: 0; + width: inherit; + height: inherit; + opacity: 0; + background-color: #0000004d; +} +.video-miniature:not(.display-as-row) .video-bottom { + display: flex; + width: 100%; + min-width: 1px; +} +.video-miniature-information { + width: calc(100% - 40px); +} + +.video-miniature:not(.display-as-row) { + display: flex; + flex-direction: column; + padding-bottom: 15px; + width: 100%; +} + +.video-miniature:not(.display-as-row) my-video-thumbnail { + position: relative; + height: 0; + width: 100%; + padding-top: 56.25%; +} + +.video-miniature:not(.display-as-row) my-video-thumbnail .video-thumbnail { + position: absolute; + width: 100%; + height: 100%; + top: 0; +} + +.video-miniature:not(.display-as-row) .video-bottom { + display: flex; + width: 100%; + min-width: 1px; +} + +.video-miniature-information { + width: calc(100% - 40px); +} + +.video-miniature:not(.display-as-row) .video-miniature-name { + margin-top: 10px; + margin-bottom: 5px; +} + +.video-miniature-name { + display: block; + display: -webkit-box; + -webkit-line-clamp: 2; + font-size: 1.1em; + line-height: 1.1em; + overflow: hidden; + text-overflow: ellipsis; + max-height: 2.2em; + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + transition: color .2s; + font-weight: 600; + color: var(--mainForegroundColor); +} + +.video-miniature:not(.display-as-row) .video-miniature-created-at-views { + display: block; +} + +.video-miniature-created-at-views { + font-size: 13px; +} + +.video-info-privacy, .video-info-blocked .blocked-label, .video-info-nsfw { + font-weight: 600; +} + +.video-thumbnail { + display: flex; + flex-direction: column; + position: relative; + border-radius: 3px; + width: 100%; + height: 100%; + overflow: hidden; + background-color: #ececec; + transition: filter .2s ease; +} + +.video-thumbnail img { + width: inherit; + height: inherit; +} + +.video-thumbnail-label-overlay.warning { + background-color: orange; +} + +.video-thumbnail-label-overlay.danger { + background-color: red; +} + +.video-thumbnail-label-overlay { + position: absolute; + padding: 0 5px; + left: 5px; + top: 5px; + font-weight: 700; +} + +.video-thumbnail-watch-later-overlay, .video-thumbnail-label-overlay, .video-thumbnail-duration-overlay, .video-thumbnail-live-overlay { + display: inline-block; + background-color: #000000b3; + color: #fff; + border-radius: 3px; + font-size: 12px; + font-weight: 600; + line-height: 1.1; + z-index: 10; +} + +.video-thumbnail .play-overlay, .video-thumbnail .play-overlay .icon { + transition: all .2s ease; +} + +.video-thumbnail .play-overlay { + position: absolute; + right: 0; + bottom: 0; + width: inherit; + height: inherit; + opacity: 0; + background-color: #0000004d; +} + +.video-thumbnail .play-overlay .icon { + width: 0; + height: 0; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%,-50%) scale(.5); + border-top: 13px solid transparent; + border-bottom: 13px solid transparent; + border-left: 18px solid rgba(255,255,255,.95); +} + +.video-actions { + height: 40px; + display: flex; + align-items: center; +} +.video-actions .action-button my-global-icon { + margin-inline-end: 0; +} +.video-actions .action-button my-global-icon { + position: relative; + width: 21px; + top: -1px; +} +my-global-icon { + cursor: pointer; + width: 100%; +} +#custom-css .action-button .count { + color: var(--whiteColor); +} +.action-button-like .count, .action-button-dislike .count { + margin: 0 5px; +} + +.full-width { + width: 100%; + margin: 0 auto; + max-width: none; +} +.video-miniature:not(.display-as-row) .video-actions { + margin-top: 3px; +} +my-actor-avatar { + margin-inline-end: 10px; + margin-inline-start: 0; + margin-top: 10px; + margin-bottom: 0; +} +.video-miniature:not(.display-as-row) .video-miniature-name { + margin-top: 10px; + margin-bottom: 5px; +} +.video-miniature-name { + display: block; + display: -webkit-box; + -webkit-line-clamp: 2; + font-size: 1.1em; + line-height: 1.1em; + overflow: hidden; + text-overflow: ellipsis; + max-height: 2.2em; + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + transition: color .2s; + font-weight: 600; + color: var(--mainForegroundColor); +} +.video-miniature:not(.display-as-row) .video-miniature-created-at-views { + display: block; +} +.video-miniature-created-at-views { + font-size: 13px; +} +.video-miniature-account, .video-miniature-channel { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; + font-size: 13px; + color: var(--greyForegroundColor); +} +.video-miniature-created-at-views { + font-size: 13px; +} +.video-info-privacy, .video-info-blocked .blocked-label, .video-info-nsfw { + font-weight: 600; +} + + +.icon-search { + margin-inline-start: -35px; +} +.icon-search { + display: inline-block; + background-repeat: no-repeat; + background-size: contain; + width: 25px; + vertical-align: middle; + cursor: pointer; + height: 18px; + position: absolute; + margin-top: 3.5px; + right: 10px; +} +my-search-typeahead { + margin-inline-end: 15px; +} +.w-100 { + width: 100%!important; +} + +.icon-logo { + background-image: url(/client/assets/images/logo.svg?f43d062f4606d20e41cab4363a9d9da456139512); +} + +.peertube-container { + padding-bottom: 20px; +} + +.header { + background-color: #421a46 !important; + height: 50px; + position: fixed; + top: 0; + width: 100%; + background-color: #421a46 !important; + z-index: 17500; + box-shadow: 0 1px 3px #00000029; + display: flex; +} + +.header-right { + height: 50px; + display: flex; + align-items: center; + justify-content: flex-end; + white-space: nowrap; + flex: 1; +} + +#custom-css .sub-header-container { + background-position: center top; + background-size: cover; + background-repeat: repeat; + background-attachment: fixed; +} + +.sub-header-container { + margin-top: 50px; + background-color: var(--mainBackgroundColor); + width: 100%; +} + +.top-left-block { + z-index: 1; + height: 50px; + display: flex; + align-items: center; + min-width: 0; +} + +.peertube-title { + font-size: 20px; + font-weight: 700; + color: inherit!important; + display: flex; + align-items: center; + overflow: hidden; + padding: 0 0 0 10px; +} + +.c-hand { + cursor: pointer; +} + +a { + text-decoration: none; + background-color: initial; +} + +menu:focus, menu:hover { + overflow-y: auto; +} + +@media not all and (hover: hover) and (pointer: fine) { + menu { + overflow-y: auto; + } +} + +menu { + background-color: #421a46 !important; + overflow-y: auto; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: var(--menuForegroundColor); + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + margin: 0; + padding: 0; +} + +.menu-wrapper { + position: fixed; + height: calc(100vh - 50px); + padding: 0; + width: 240px; + z-index: 12600; +} + +.menu-block, .footer-block { + margin-bottom: 15px; +} + +.footer { + width: 240px; + padding-bottom: 15px; +} + +menu.is-logged-in .block-title { + margin-bottom: 15px; +} +.menu-block .block-title, .footer-block .block-title { + margin-inline-end: 30px; +} +.menu-block .block-title, .footer-block .block-title { + margin-inline-start: 26px; +} +.menu-block .block-title, .footer-block .block-title { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-transform: uppercase; + font-weight: 700; + font-size: 13px; +} + +.footer-links, .footer-links > div { + display: flex; + flex-wrap: wrap; +} + +.mr-1, .mx-1 { + margin-right: .25rem!important; +} + +.menu-block a, .footer-block a { + min-height: 40px; +} +.menu-link:hover, .menu-link:focus, .menu-link:active { + text-decoration: none!important; + outline: none!important; +} +.menu-link { + padding-inline-end: 20px; + padding-inline-start: 26px; + display: flex; + align-items: center; + color: var(--menuForegroundColor); + font-size: 16px; + cursor: pointer; + white-space: normal; + word-break: break-word; + transition: background-color .1s ease-in-out; + line-height: 1.2; +} +.menu-link my-global-icon .feather, .menu-link my-global-icon .material, .menu-link my-global-icon .misc { + color: gray; +} + +.publish-button { + margin-inline-end: 25px; +} +.publish-button, .publish-button:active, .publish-button:focus { + color: #fff; + background-color: var(--mainColor); +} +.publish-button { + padding-inline-end: 17px; +} +.publish-button { + padding-inline-start: 13px; +} +.publish-button { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + display: inline-flex; + align-items: center; + line-height: normal!important; +} + +.footer-bottom { + display: flex; + flex-direction: column; + padding: 0 26px; +} + +.footer-links a, .footer-links span[role=button] { + margin-inline-end: 8px; + display: inline-block; + text-decoration: none; + opacity: .8; + white-space: nowrap; + font-size: 90%; + font-weight: 500; + line-height: 1.4rem; +} + +.top-menu { + flex-grow: 1; + width: 240px; +} + +.login-buttons-block { + margin: 30px 25px 35px; +} + +.login-buttons-block > a:not(:last-child) { + margin-bottom: 10px; +} + +.login-buttons-block > a { + display: block; + width: 100%; +} + +.orange-button, .orange-button:active, .orange-button:focus { + color: #fff; + background-color: var(--mainColor); +} + +.peertube-button-link { + padding-inline-end: 17px; + padding-inline-start: 13px; + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px !important; + text-align: center; + cursor: pointer; + display: inline-block; +} + +.logged-in-block { + margin-bottom: 20px; + background-color: #ffffff26; +} + +.create-account-button { + color: #fff; + background-color: #ffffff40; +} + +.logged-in-block > div:first-child { + height: 80px; + display: flex; + align-items: center; + justify-content: left; +} + +.logged-in-menu { + display: flex; + flex-direction: column; + align-items: flex-start; + border-top: 1px solid var(--greyForegroundColor); + line-height: 1.2; +} + +.dropdown { + z-index: 12601!important; +} +.logged-in-more { + margin-inline-start: 13px; + flex: 1; + border-radius: 25px; + transition: all .1s ease-in-out; + cursor: pointer; + line-height: 1; +} +.logged-in-more:hover { + background-color: #ffffff26; +} +.notification-inbox-popover:hover, .notification-inbox-popover:active, .notification-inbox-link a:hover, .notification-inbox-link a:active { + background-color: #ffffff26; +} +.menu-link:hover, .menu-link.focus-visible { + background-color: #ffffff1a; +} +.menu-link:hover, .menu-link:focus, .menu-link:active { + text-decoration: none!important; + outline: none!important; +} + +.logged-in-more .dropdown-toggle:first-child { + display: flex; + align-items: center; + padding: 5px 7px; + border-radius: 25px; +} + +.dropdown, .dropup { + z-index: 17000!important; +} +.dropdown, .dropleft, .dropright, .dropup { + position: relative; +} + +.notification-inbox-popover, .notification-inbox-link { + cursor: pointer; + position: relative; +} +.notification-inbox-popover, .notification-inbox-link a { + transition: all .1s ease-in-out; + border-radius: 25px; + cursor: pointer; +} +.notification-inbox-popover { + padding: 10px; +} + +my-notification { + margin-inline-end: 15px; + margin-inline-start: auto; +} + +.logged-in-menu a { + font-size: 14px; + width: 100%; + min-height: 35px; +} + +.logged-in-menu a my-global-icon { + margin-inline-start: 4.5px; +} +.logged-in-menu a my-global-icon { + width: 13px; + height: 13px; +} +.menu-link my-global-icon { + margin-inline-end: 18px; +} +.menu-link my-global-icon { + display: flex; + width: 22px; + height: 22px; +} + +my-actor-avatar { + margin-inline-end: 10px; +} + +.logged-in-info { + max-width: 105px; + flex-grow: 1; +} + +.logged-in-display-name { + font-size: 16px; + font-weight: 600; + color: var(--menuForegroundColor); +} + +.logged-in-username { + font-size: 13px; + color: #c6c6c6; + margin-top: 3px; +} + +.logged-in-display-name, .logged-in-username { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.main-col .sub-menu { background-color: #502c50 !important; } +.title-page.active { border-bottom-color: #ea81e8 !important; } +.inner-form-title, .section-label { color: #ea81e8 !important; } + +.video-bottom { + display: flex; + margin-top: 1.5rem; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0!important; +} +.avatar-32 { + --avatarSize: 32px; +} +.flex-column { + flex-direction: column!important; +} +.main-row { + min-height: calc(100vh - 50px - 30px - 30px); +} +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent: 15px; + --videosHorizontalMarginContent: 30px; + } +} +.main-col { + margin-inline-start: 240px; +} +.main-col { + width: calc(100% - 240px); + outline: none; +} +.main-col .margin-content { + margin: 0 var(--horizontalMarginContent); + flex-grow: 1; +} + +.avatar.channel { + border-radius: 5px; +} + +svg { + width: inherit; + height: inherit; +} +svg { + overflow: hidden; +} +img, svg { + vertical-align: middle; +} +img { + border-style: none; +} + +.title-page-container .title-page.active, .title-page-container .title-page.title-page-single { + margin-inline-end: .5rem!important; +} +.title-page-container .title-page.active, .title-page-container .title-page.title-page-single { + margin-bottom: unset; +} +.title-page { + margin-top: 0; +} +.title-page.active, .title-page.title-page-single, .title-page:active, .title-page:focus, .title-page:hover { + opacity: 1; +} +.title-page.title-page-single { + font-size: 125%; +} + +.title-page { + color: var(--mainForegroundColor); + display: inline-block; + font-weight: 600; +} +.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { + line-height: 1.2; +} +h2 { + margin-block-start: 0.83em; + margin-block-end: 0.83em; +} +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent: 15px; + --videosHorizontalMarginContent: 30px; + } +} + +#custom-css .dropdown-menu, #custom-css .dropdown-menu .dropdown-item { background-color: #421a46 !important; } + +#custom-css .icon.icon-logo { + background: url(/img/favicon.jpeg) 0% 0% / cover; +} +.peertube-title .icon.icon-logo { + margin-inline-end: .5rem; + width: 23px; + height: 24px; +} +.top-left-block .icon { + vertical-align: middle; + cursor: pointer; +} +.owner-description, .icon.icon-logo { + display: none !important; +} +.peertube-title .instance-name { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.instance-name { + background-color: #5e3c62 !important; + background-image: url('/img/favicon.jpeg') !important; + background-position: top !important; + border-radius: 10px !important; + padding: 2px !important; + color: #fcfcfc !important; + text-indent: 100%; + white-space: nowrap; + overflow: hidden; + width: 34px !important; + height: 34px !important; +} + +#video-wrapper { + background-color: transparent !important; + display: flex; + justify-content: center; + padding-top: 20px !important; +} + +.video-info { + flex-grow: 1; + min-width: 1px; + max-width: 100%; +} + +.video-info-first-row { + display: flex; +} + +.video-info-first-row > div:first-child { + flex-grow: 1; +} + +.video-info-first-row-bottom { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; +} + +.video-info-channel { + font-weight: 600; + font-size: 15px; +} +.video-info-channel-left .video-info-channel-left-links a:nth-of-type(2) { + font-weight: 400; + font-size: 90%; +} +.video-info-channel a { + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + color: var(--mainForegroundColor); +} +.video-info-channel a:hover, .video-info-channel a:focus, .video-info-channel a:active { + text-decoration: none!important; + outline: none!important; +} +.pt-3, .py-3 { + padding-top: 1rem!important; +} +my-subscribe-button { + margin-inline-start: 5px; +} +.btn-group-subscribe:not(.big) { + white-space: nowrap; +} +.btn-group-subscribe { + padding-inline-end: 17px; +} +.btn-group-subscribe { + padding-inline-start: 13px; +} +.btn-group-subscribe { + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + float: right; + padding: 0; +} +.action-dropdown, .btn-group, .column-toggle, .dropdown-root, .input-group-prepend { + z-index: inherit!important; +} +.btn-group, .btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group-subscribe.subscribe-button .btn, .btn-group-subscribe.subscribe-button .btn:active, .btn-group-subscribe.subscribe-button .btn:focus { + color: #fff; + background-color: var(--mainColor); +} +.btn-group-subscribe.subscribe-button .btn { + font-weight: 600; +} +.btn-group-subscribe > .btn { + padding-inline-end: 4px; +} +.btn-group-subscribe > .btn, .btn-group-subscribe > .dropdown > .dropdown-toggle { + font-size: 15px; +} +.btn-group>.btn-group:not(:last-child)>.btn, .btn-group>.btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} +.btn-group-vertical>.btn, .btn-group>.btn { + position: relative; + flex: 1 1 auto; +} +[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) { + cursor: pointer; +} +.btn-group-sm>.btn, .btn-sm { + padding: .25rem .5rem; + line-height: 1.5; + border-radius: .2rem; +} + +.btn { + display: inline-block; + text-align: center; + vertical-align: middle; + user-select: none; + border: 1px solid #0000; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +.video-actions .action-button:not(:first-child), .video-actions .action-dropdown, .video-actions my-video-actions-dropdown { + margin-inline-start: 5px; +} +.video-actions .action-button.action-button-support { + color: var(--supportButtonColor); +} +.video-actions .action-button.action-button-support my-global-icon path:first-child { + fill: var(--supportButtonHeartColor)!important; +} + +.video-info-channel { + font-weight: 600; + font-size: 15px; +} +.pt-3, .py-3 { + padding-top: 1rem!important; +} +.w-100 { + width: 100%!important; +} + +.justify-content-end { + justify-content: flex-end!important; +} +.d-flex { + display: flex!important; +} +.position-relative { + position: relative!important; +} +.d-inline-flex { + display: inline-flex!important; +} +.border-top { + border-top: 1px solid #dee2e6!important; +} +form { + margin-bottom: 30px; +} +#custom-css input, #custom-css textarea { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + border: 1px solid var(--mainBackgroundColor); +} +.avatar-and-textarea textarea { + padding-inline-end: 45px!important; +} +.avatar-and-textarea .form-group { + flex-grow: 1; + margin: 0; + position: relative; +} + +.video-info-name { + margin-inline-end: 30px; +} +.video-info-name { + word-break: break-word; + overflow-wrap: break-word; + min-height: 40px; + font-size: 27px; + font-weight: 600; + flex-grow: 1; +} +.video-actions .action-button { + padding-inline-end: 17px; +} +.video-actions .action-button { + padding-inline-start: 13px; +} +.small, small { + font-size: 80%; + font-weight: 400; +} +.title-page-container { + display: flex; + justify-content: space-between; + align-items: baseline; + margin-bottom: 25px; + flex-wrap: wrap-reverse; +} + +.video-actions .action-button { + border: 0; + height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + align-items: center; + line-height: normal!important; + font-size: 100%; + font-weight: 600; + display: inline-block; + padding: 0 10px; + white-space: nowrap; + background-color: transparent!important; + color: var(--actionButtonColor); + text-transform: uppercase; +} +.action-button-like, .action-button-dislike { + filter: brightness(120%); +} + +[type=button], [type=reset], [type=submit], button { + -webkit-appearance: button; +} +button { + background: unset; +} + +@media (min-width: 768px) { + .d-md-none { + display: none!important; + } +} + +.title-block my-feed { + margin-inline-start: 5px; +} +.title-block my-feed { + display: inline-block; + opacity: 0; + transition: ease-in .2s opacity; + width: 12px; + position: relative; + top: -3px; +} +.feed { + width: 100%; +} + +.flex-direction-column { + flex-direction: column; +} +.justify-content-between { + justify-content: space-between!important; +} + +body { + margin: 0; + line-height: 1.5; + --mainColor: #ea81e8; + --mainColorLighter: #d68ad5; + --mainColorLightest: #fdd1fc; + --mainHoverColor: #fc54f9; + --mainBackgroundColor: #301a30; + --mainForegroundColor: #fcfcfc; + --secondaryColor: #421a46; + + --greyForegroundColor: #585858; + --greyBackgroundColor: #e5e5e5; + + --submenuBackgroundColor: #5e3c62; + --channelBackgroundColor: #5e3c62; + + --textareaForegroundColor: #000; + --textareaBackgroundColor: #fff; + --markdownTextareaBackgroundColor: #efefef; + + --actionButtonColor: #ea81e8; + --supportButtonBackgroundColor: #971195; + --supportButtonColor: var(--actionButtonColor); + --supportButtonHeartColor: #ec1818; + + --activatedActionButtonColor: #000; + --horizontalMarginContent: 30px; + --videosHorizontalMarginContent: 6vw; + --mainColWidth: calc(100vw - 240px); + --dangerBackgroundColor: #d9534f; + --inputColor: #272727; + --inputPlaceholderColor: rgba(195,195,195,0.878431); + --menuAndHeaderBackgroundColor: #272727; + --menuForegroundColor: rgba(195,195,195,0.878431); + --menuBackgroundColor: #272727; + --whiteColor: #ffffff; + --submenuColor: #272727; + --embedForegroundColor: #fff; + --embedBigPlayBackgroundColor: rgba(0, 0, 0, .8); + + font-family: Source Sans Pro,sans-serif; + font-weight: 400; + color: var(--mainForegroundColor); + background-color: var(--mainBackgroundColor); + font-size: 14px; + overflow-y: scroll; + text-align: start; +} + +my-video-comments { + display: inline-block; + width: 100%; + margin-bottom: 20px; +} +.border-top { + border-top: 1px solid #dee2e6!important; +} +#highlighted-comment { + margin-bottom: 25px; +} +.anchor { + position: relative; + top: -70px; +} +.root-comment { + font-size: 15px; + display: flex; +} +.root-comment .left { + margin-inline-end: 10px; +} +.root-comment .left { + display: flex; + flex-direction: column; + align-items: center; +} +my-actor-avatar { + display: inline-block; + width: 36px; + height: 36px; + min-width: 36px; + min-height: 36px; +} +.root-comment .left .vertical-border { + width: 2px; + height: 100%; + background-color: #0000000d; + margin: 10px calc(1rem + 1px); +} +.initial.blue { + background-color: #009fd4; +} + +.initial { + background-color: #3c2109; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + font-size: var(--initialFontSize); +} + +.initial { + background-color: #3c2109; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + font-size: var(--initialFontSize); +} +.root-comment .right { + width: 100%; +} +.mb-3, .my-3 { + margin-bottom: 1rem!important; +} +.mb-3 { + margin-bottom: 1rem!important; +} +.comment { + flex-grow: 1; + min-width: 1px; +} +.highlighted-comment { + display: inline-block; + background-color: #f5f5f5; + color: #3d3d3d; + padding: 0 5px; + font-size: 13px; + margin-bottom: 5px; + font-weight: 600; + border-radius: 3px; +} +.comment-account-date { + display: flex; + margin-bottom: 4px; +} +.comment-account { + word-break: break-all; + font-weight: 600; + font-size: 90%; +} +.comment-date { + margin-inline-start: 5px; +} +.comment-date { + font-size: 90%; + color: var(--greyForegroundColor); + text-decoration: none; +} +.comment-account a { + color: var(--mainForegroundColor); +} +.comment-account .comment-account-fid { + opacity: .6; +} +.ml-1 { + margin-inline-start: .25rem; +} +.ml-1, .mx-1 { + margin-left: .25rem!important; +} +.comment-html { + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; + -webkit-hyphens: auto; + hyphens: auto; +} +.comment-html a:not(.linkified-url) { + color: var(--mainForegroundColor); + font-weight: 600; +} +.comment-html p { + margin-bottom: .3rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +.comment-actions { + margin-bottom: 10px; + display: flex; +} +.comment-actions .dropdown-toggle, .comment-actions .comment-action-reply { + margin-inline-end: 10px; +} +.comment-actions .dropdown-toggle, .comment-actions .comment-action-reply { + color: var(--greyForegroundColor); + cursor: pointer; +} + +.notification-inbox-popover, .notification-inbox-link { + cursor: pointer; + position: relative; +} + +.notification-inbox-popover, .notification-inbox-link a { + transition: all .1s ease-in-out; + border-radius: 25px; + cursor: pointer; +} + +.notification-inbox-popover { + padding: 10px; +} + +.notification-inbox-popover .unread-notifications, .notification-inbox-link .unread-notifications { + position: absolute; + top: 6px; + left: 0; + display: flex; + align-items: center; + justify-content: center; + background-color: var(--mainColor); + color: #fff; + font-size: 10px; + font-weight: 600; + border-radius: 15px; + width: 15px; + height: 15px; + margin-inline-start: 20px; +} \ No newline at end of file diff --git a/public/css/custom.css b/public/css/custom.css new file mode 100644 index 0000000..e346e27 --- /dev/null +++ b/public/css/custom.css @@ -0,0 +1,57 @@ +.header { background-color: #421a46 !important; } + +menu { background-color: #421a46 !important; } +.main-col .sub-menu { background-color: #502c50 !important; } +.title-page.active { border-bottom-color: #ea81e8 !important; } +.inner-form-title, .section-label { color: #ea81e8 !important; } + + #custom-css .dropdown-menu, #custom-css .dropdown-menu .dropdown-item { background-color: #421a46 !important; } + +.channel-info, .account-info, .channel, .miniature-show-channel, description-html { background-color: #5e3c62 !important; } +.actor-handle { color: #dd00ee !important; } +.actor-counters { color: #bb00bb !important; } +.section-label { margin-bottom: 5px !important; } +.owner-description, .icon.icon-logo { display: none !important; } +.view-account short { margin-top: 0px !important; } + +.owner-block { + background-color: rgba(48, 26, 48, 0.6) !important; + padding: 10px !important; +} + +#video-wrapper { + background-color: transparent !important; + padding-top: 20px !important; +} + +body { + --mainColor: #ea81e8; + --mainColorLighter: #d68ad5; + --mainColorLightest: #fdd1fc; + --mainHoverColor: #fc54f9; + --mainBackgroundColor: #301a30; + --mainForegroundColor: #fcfcfc; + --secondaryColor: #421a46; + + + --submenuBackgroundColor: #5e3c62; + --channelBackgroundColor: #5e3c62; + + + --actionButtonColor: #ea81e8; + --supportButtonBackgroundColor: #971195; + --supportButtonColor: var(--actionButtonColor); + --supportButtonHeartColor: #ec1818; +} + +.block-title, .title-page { + background: radial-gradient(ellipse at top, #db34d3, transparent), radial-gradient(ellipse at bottom, #232629, transparent); + margin-inline-end: 0px; + margin-inline-start: 0px; + padding: 5px; + border-radius: 4px; + border: 2px solid #fd95ff; + border-right-color: #fed9ff; + border-bottom-color: #fed9ff; + text-align: center; +} \ No newline at end of file diff --git a/public/css/global.css b/public/css/global.css new file mode 100644 index 0000000..75e8768 --- /dev/null +++ b/public/css/global.css @@ -0,0 +1,113 @@ +.vjs-overlay a { + color: #210cbf; + } + + /* make font size for overlays little bigger and responsive */ + .video-js .vjs-overlay { /* apply for screen sizes under 768px */ + font-size:1.2rem; + } + @media screen and (min-width: 768px) { /* apply for screen sizes bigger or equal 768px */ + .video-js .vjs-overlay { + font-size:1.4rem; + } + }.video-js .vjs-overlay{color:#fff;position:absolute;text-align:center}.video-js .vjs-overlay-no-background{max-width:33%}.video-js .vjs-overlay-background{background-color:#646464;background-color:rgba(255,255,255,0.4);border-radius:3px;padding:10px;width:33%}.video-js .vjs-overlay-top-left{top:5px;left:5px}.video-js .vjs-overlay-top{left:50%;margin-left:-16.5%;top:5px}.video-js .vjs-overlay-top-right{right:5px;top:5px}.video-js .vjs-overlay-right{right:5px;top:50%;transform:translateY(-50%)}.video-js .vjs-overlay-bottom-right{bottom:3.5em;right:5px}.video-js .vjs-overlay-bottom{bottom:3.5em;left:50%;margin-left:-16.5%}.video-js .vjs-overlay-bottom-left{bottom:3.5em;left:5px}.video-js .vjs-overlay-left{left:5px;top:50%;transform:translateY(-50%)}.video-js .vjs-overlay-center{left:50%;margin-left:-16.5%;top:50%;transform:translateY(-50%)}.video-js .vjs-no-flex .vjs-overlay-left,.video-js .vjs-no-flex .vjs-overlay-center,.video-js .vjs-no-flex .vjs-overlay-right{margin-top:-15px} + #peertube-plugin-livechat-container { + display: flex; + flex-direction: column; + } + + #plugin-placeholder-player-next #peertube-plugin-livechat-container { + height: 100%; + } + + .peertube-plugin-livechat-buttons { + align-items: center; + display: flex; + flex-flow: row nowrap; + justify-content: flex-end; + } + + .peertube-plugin-livechat-button { + align-items: center; + display: flex; + flex-direction: row; + height: 36px !important; + margin: 5px !important; + padding: 2px !important; + } + .peertube-plugin-livechat-button svg { + height: auto; + } + + .peertube-plugin-livechat-buttons-open .peertube-plugin-livechat-button { + height: 18px !important; + margin: 2px !important; + padding: 1px !important; + } + + [peertube-plugin-livechat-state=initializing] { + display: none; + } + + [peertube-plugin-livechat-state=open] .peertube-plugin-livechat-button-open { + display: none; + } + + [peertube-plugin-livechat-state=closed] .peertube-plugin-livechat-button-close { + display: none; + } + + [peertube-plugin-livechat-state]:not([peertube-plugin-livechat-state=open]) .peertube-plugin-livechat-multi-button-main { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; + margin-right: 0 !important; + } + [peertube-plugin-livechat-state]:not([peertube-plugin-livechat-state=open]) .peertube-plugin-livechat-multi-button-secondary { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; + margin-left: 0 !important; + border-left: 1px solid currentColor; + } + + #peertube-plugin-livechat-container iframe { + border: 1px solid black; + min-height: 30vh; + height: 100%; + } + + .peertube-plugin-livechat-warning { + color: orange; + } + + .peertube-plugin-livechat-error { + color: red; + } + + table.peertube-plugin-livechat-prosody-list-rooms { + border: 1px solid black; + margin: 5px 0; + } + + table.peertube-plugin-livechat-prosody-list-rooms tr:nth-child(odd) { + background-color: #eee; + } + + table.peertube-plugin-livechat-prosody-list-rooms tr:nth-child(even) { + background-color: #fff; + } + + table.peertube-plugin-livechat-prosody-list-rooms th { + background-color: var(--mainHoverColor); + border: 1px solid black; + color: var(--mainBackgroundColor); + padding: 4px 5px; + } + + table.peertube-plugin-livechat-prosody-list-rooms td { + border: 1px solid #555; + color: black; + padding: 4px 5px; + } + + /*# sourceMappingURL=style.css.map */ + \ No newline at end of file diff --git a/public/css/login.css b/public/css/login.css new file mode 100644 index 0000000..cab59b5 --- /dev/null +++ b/public/css/login.css @@ -0,0 +1,430 @@ +.main-row { + min-height: calc(100vh - 110px); +} + +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent: 15px; + --videosHorizontalMarginContent: 30px; + } +} + +.main-col .margin-content { + margin: 0 var(--horizontalMarginContent); + flex-grow: 1; +} + +.title-page.active, .title-page:hover, .title-page:active, .title-page:focus, .title-page.title-page-single { + opacity: 1; + outline: 0 hidden!important; +} + +.title-page.title-page-single { + font-size: 125%; + margin-top: 30px; + margin-bottom: 25px; +} + +.block-title, .title-page { + background: radial-gradient(ellipse at top, #db34d3, transparent), radial-gradient(ellipse at bottom, #232629, transparent); + margin-inline-end: 0px; + margin-inline-start: 0px; + padding: 5px; + border-radius: 4px; + border: 2px solid #fd95ff; + border-right-color: #fed9ff; + border-bottom-color: #fed9ff; + text-align: center; +} + +.title-page { + margin-inline-end: 55px; + opacity: .6; + color: var(--mainForegroundColor); + font-size: 16px; + display: inline-block; + font-weight: 600; + border-bottom: 2px solid transparent; +} + +.wrapper { + display: flex; + justify-content: space-around; + flex-wrap: wrap; + margin-inline-end: 0; + width: auto; +} + +.wrapper .login-form-and-externals { + margin-inline-end: 10px; + margin-inline-start: 10px; + display: flex; + flex-wrap: wrap; + font-size: 15px; + max-width: 450px; + margin-bottom: 40px; +} + +.wrapper > div { + flex: 1 1; +} + +.wrapper .login-form-and-externals form, .wrapper .login-form-and-externals form input { + width: 100%; +} + +.wrapper .login-form-and-externals .signup-link { + display: inline-block; +} + +.wrapper .login-form-and-externals form .additionnal-links .forgot-password-button, .wrapper .login-form-and-externals form .additionnal-links .create-an-account { + padding: 4px; + display: inline-block; + color: var(--mainColor); +} + +.create-an-account, .forgot-password-button { + color: var(--mainForegroundColor); + cursor: pointer; + transition: opacity cubic-bezier(.39,.575,.565,1); +} + +.wrapper .login-form-and-externals form { + margin: 0; +} + +.wrapper .instance-information { + margin-inline-end: 10px; + margin-inline-start: 10px; + max-width: 600px; + min-width: 350px; + margin-bottom: 40px; +} + +.form-group { + margin-bottom: 1rem; +} + +label { + display: block; + font-weight: 700; + font-size: 15px; + display: inline-block; + margin-bottom: 0.5rem; +} + +#custom-css input, #custom-css textarea { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + border: 1px solid var(--mainBackgroundColor); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +input[type=text], input[type=email] { + padding: 0 15px; + display: inline-block; + height: 30px; + width: 340px; + color: var(--inputForegroundColor); + background-color: var(--inputBackgroundColor); + border: 1px solid #C6C6C6; + border-radius: 3px; + font-size: 15px; +} + +#custom-css .peertube-select-container, input[type="text"] { + border: 1px solid var(--mainBackgroundColor) !important; + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; +} + +.form-control { + font-size: 15px; + color: var(--mainForegroundColor); + background-color: var(--inputBackgroundColor); + outline: none; + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; +} + +input, textarea { + outline: none; + color: var(--inputForegroundColor); +} + +button, input { + overflow: visible; +} + +input, button, select, optgroup, textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +.instance-name { + line-height: 1.7rem; +} + +h2, .h2 { + font-size: 2rem; +} + +.instance-short-description { + display: block; + display: -webkit-box; + -webkit-line-clamp: 3; + font-size: 1rem; + line-height: 1rem; + overflow: hidden; + text-overflow: ellipsis; + max-height: 3rem; + margin-top: 20px; + margin-bottom: 20px; +} + +.accordion { + overflow-anchor: none; +} + +ngb-accordion .card { + border-color: var(--mainBackgroundColor); +} + +.accordion>.card { + overflow: hidden; +} + +.card { + background-color: var(--mainBackgroundColor); + border-color: #dee2e6; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: 0.25rem; +} + +ngb-accordion .card .card-header { + background-color: unset; + padding: 0; +} + +.accordion>.card>.card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.card-header:first-child { + border-radius: calc(0.25rem- 1px) calc(0.25rem- 1px) 0 0; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: #00000008; + border-bottom: 1px solid rgba(0,0,0,.125); +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +ngb-accordion .btn { + padding-inline-end: 17px; + padding-inline-start: 13px; + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px !important; + text-align: center; + cursor: pointer; + background-color: #e5e5e5; + color: var(--greyForegroundColor); + border-radius: unset; + width: 100%; +} + +button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) { + cursor: pointer; +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +button, [type=button], [type=reset], [type=submit] { + -webkit-appearance: button; +} + +button { + background: unset; + border-radius: 0; +} + +button, select { + text-transform: none; +} + +.input-group:not(.has-validation)>.form-control:not(:last-child), .input-group:not(.has-validation)>.custom-select:not(:last-child), .input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label, .input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group input.form-control { + width: unset!important; + flex-grow: 1; +} + +.input-group-sm>.form-control:not(textarea), .input-group-sm>.custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group>.form-control { + flex: initial; +} + +.input-group>.form-control, .input-group>.form-control-plaintext, .input-group>.custom-select, .input-group>.custom-file { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; +} + +input { + padding-inline-end: 15px !important; + padding-inline-start: 15px !important; + padding: 0 15px; + display: inline-block; + height: 30px; + width: auto; + color: var(--inputForegroundColor); + background-color: var(--inputBackgroundColor); + border: 1px solid #C6C6C6; + border-radius: 3px; + font-size: 15px; + font-size: 15px!important; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-prepend, .input-group-append { + display: flex; +} + +.input-group>.input-group-append>.btn, .input-group>.input-group-append>.input-group-text, .input-group>.input-group-prepend:not(:first-child)>.btn, .input-group>.input-group-prepend:not(:first-child)>.input-group-text, .input-group>.input-group-prepend:first-child>.btn:not(:first-child), .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-sm>.form-control, .input-group-sm>.custom-select, .input-group-sm>.input-group-prepend>.input-group-text, .input-group-sm>.input-group-append>.input-group-text, .input-group-sm>.input-group-prepend>.btn, .input-group-sm>.input-group-append>.btn { + padding: 0.25rem 0.5rem; + font-size: .875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.eye-button { + line-height: 1!important; +} + +.input-group-prepend .btn, .input-group-append .btn { + position: relative; + z-index: 2; +} + +.btn-outline-secondary { + border-color: #ced4da; + color: #6c757d; + border-color: #6c757d; +} + +input[type=button], input[type=submit], input[type=reset], input[type=file]::-webkit-file-upload-button, button { + border-radius: 0; +} + +ngb-accordion .card .card-header+.collapse.show { + background-color: var(--submenuBackgroundColor); +} + +.card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.block { + font-size: 15px; + margin-bottom: 15px; +} + +.alert-danger { + color: #850000; + background-color: #fcc; + border-color: #ffb8b8; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} \ No newline at end of file diff --git a/public/css/myaccount.css b/public/css/myaccount.css new file mode 100644 index 0000000..887dbe9 --- /dev/null +++ b/public/css/myaccount.css @@ -0,0 +1,512 @@ +.main-row { + min-height: calc(100vh - 110px); +} + +.row { + flex-direction: column; + width: 100%; +} + +.row { + margin: 0!important; +} + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.row > my-top-menu-dropdown:nth-child(1) { + flex-grow: 1; +} + +.main-col .sub-menu.sub-menu-fixed { + position: fixed; + z-index: 12499; + max-width: var(--mainColWidth); +} + +.main-col .sub-menu { + background-color: #502c50 !important; +} + +.main-col .sub-menu { + background-color: var(--submenuBackgroundColor); + width: 100%; + display: flex; + align-items: center; + padding: 0 var(--horizontalMarginContent); + height: 81px; + margin-bottom: 30px; + overflow-x: auto; +} + +.block-title, .title-page { + background: radial-gradient(ellipse at top, #db34d3, transparent), radial-gradient(ellipse at bottom, #232629, transparent); + margin-inline-end: 0px; + margin-inline-start: 0px; + padding: 5px; + border-radius: 4px; + border: 2px solid #fd95ff; + border-right-color: #fed9ff; + border-bottom-color: #fed9ff; + text-align: center; +} + +.title-page-about, .title-page-settings { + white-space: nowrap; + font-size: 115%; +} + +.title-page { + margin-inline-end: 55px; +} + +.title-page { + opacity: .6; + color: var(--mainForegroundColor); + font-size: 16px; + display: inline-block; + font-weight: 600; + border-bottom: 2px solid transparent; +} + +#custom-css .title-page.active, #custom-css .title-page:hover { + color: var(--whiteColor); +} + +.title-page.active { + border-bottom-color: #ea81e8 !important; +} + +.title-page.active, .title-page:hover, .title-page:active, .title-page:focus, .title-page.title-page-single { + opacity: 1; + outline: 0 hidden!important; +} + +.title-page.active { + border-bottom-color: var(--mainColor); +} + +.block-title, .title-page { + background: radial-gradient(ellipse at top, #db34d3, transparent), radial-gradient(ellipse at bottom, #232629, transparent); + margin-inline-end: 0px; + margin-inline-start: 0px; + padding: 5px; + border-radius: 4px; + border: 2px solid #fd95ff; + border-right-color: #fed9ff; + border-bottom-color: #fed9ff; + text-align: center; +} + +.title-page-about, .title-page-settings { + white-space: nowrap; + font-size: 115%; +} + +.title-page { + margin-inline-end: 55px; +} + +.title-page { + opacity: .6; + color: var(--mainForegroundColor); + font-size: 16px; + display: inline-block; + font-weight: 600; + border-bottom: 2px solid transparent; +} + +.main-col .margin-content.offset-content { + padding-top: 111px; +} + +.main-col .margin-content { + margin: 0 var(--horizontalMarginContent); + flex-grow: 1; +} + +.pb-5, .py-5 { + padding-bottom: 3rem !important; +} + +.row h1 { + font-size: 1.3rem; + border-bottom: 2px solid #E5E5E5; + padding-bottom: 15px; + margin-bottom: 30px; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + border: 0; +} + +#custom-css .header-filter { + background-color: var(--menuBackgroundColor); +} + +.header-filter { + display: flex; + font-size: 15px; + margin-bottom: 20px; + background-color: #421a46 !important; +} + +#custom-css .row .header-filter a, #custom-css .row .header-filter button { + color: var(--whiteColor); + background-color: var(--mainHoverColor); +} + +.header-filter a { + padding-inline-end: 17px; + padding-inline-start: 13px; + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px !important; + text-align: center; + cursor: pointer; + display: inline-block; + background-color: #e5e5e5; + color: var(--greyForegroundColor); + display: inline-flex; + align-items: center; + line-height: normal!important; +} + +.header-filter a my-global-icon { + margin-inline-end: 3px; + position: relative; + width: 18px; + top: -1px; +} + +#custom-css .header-filter my-global-icon .feather { + color: var(--whiteColor); +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +.notification my-global-icon { + margin-inline-start: 3px; + margin-inline-end: 11px; + width: 24px; +} + +.header-filter a my-global-icon .feather, .header-filter a my-global-icon .material, .header-filter a my-global-icon .misc { + color: var(--greyForegroundColor); +} + +#custom-css .peertube-select-container, input[type="text"] { + border: 1px solid var(--mainBackgroundColor) !important; + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; +} + +.header-filter .peertube-select-container.peertube-select-button { + background-color: #e5e5e5; + color: var(--greyForegroundColor); +} + +.header-filter .peertube-select-container { + padding: 0; + margin: 0; + width: auto; + border-radius: 3px; + color: var(--inputForegroundColor); + background: var(--inputBackgroundColor); + position: relative; + font-size: 15px; + height: min-content; +} + +#custom-css .peertube-select-container > select { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; +} + +.header-filter .peertube-select-container.peertube-select-button select, .header-filter .peertube-select-container.peertube-select-button option { + font-weight: 600; + color: var(--greyForegroundColor); + border: 0; +} + +.header-filter .peertube-select-container select { + padding: 0 35px 0 12px; + position: relative; + border: 1px solid #C6C6C6; + background: transparent none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + cursor: pointer; + height: 30px; + text-overflow: ellipsis; + color: var(--mainForegroundColor); +} + +.form-control { + font-size: 15px; + color: var(--mainForegroundColor); + background-color: var(--inputBackgroundColor); + outline: none; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +select { + word-wrap: normal; +} + +button, select { + text-transform: none; +} + +input, button, select, optgroup, textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +#custom-css .peertube-select-container > select > option { + background: var(--inputColor); + color: var(--mainForegroundColor) !important; +} + +.header-filter .peertube-select-container select option { + color: #000; +} + +.header-filter .peertube-select-container.peertube-select-button select, .header-filter .peertube-select-container.peertube-select-button option { + font-weight: 600; + color: var(--greyForegroundColor); + border: 0; +} + +#custom-css .peertube-select-container > select option:hover, #custom-css .peertube-select-container > select > option:checked { + color: var(--whiteColor) !important; + background-color: var(--mainColor) !important; +} + +#custom-css .peertube-select-container > select > option { + background: var(--inputColor); + color: var(--mainForegroundColor) !important; +} + +.header-filter .peertube-select-container select option { + color: #000; +} + +.header-filter .peertube-select-container.peertube-select-button select, .header-filter .peertube-select-container.peertube-select-button option { + font-weight: 600; + color: var(--greyForegroundColor); + border: 0; +} + +#custom-css .peertube-select-container:after { + border-top-color: var(--mainForegroundColor) !important; +} + +.header-filter .peertube-select-container:after { + top: 50%; + right: calc(0% + 15px); + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border: 5px solid rgba(0,0,0,0); + border-top-color: #000; + margin-top: -2px; + z-index: 100; +} + +#custom-css .row .header-filter a, #custom-css .row .header-filter button { + color: var(--whiteColor); + background-color: var(--mainHoverColor); +} + +.header-filter button { + padding-inline-end: 17px; +} + +.header-filter button { + padding-inline-start: 13px; +} + +.header-filter button { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px !important; + text-align: center; + cursor: pointer; + background-color: #e5e5e5; + color: var(--greyForegroundColor); + display: inline-flex; + align-items: center; + line-height: normal!important; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) { + cursor: pointer; +} + +.ml-auto, .mx-auto { + margin-left: auto!important; +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +button { + background: unset; +} + +button, [type=button], [type=reset], [type=submit] { + -webkit-appearance: button; +} + +button, select { + text-transform: none; +} + +button, input { + overflow: visible; +} + +input, button, select, optgroup, textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button { + border-radius: 0; +} + +input[type=button], input[type=submit], input[type=reset], input[type=file]::-webkit-file-upload-button, button { + border-radius: 0; +} + +.header-filter button my-global-icon { + margin-inline-end: 3px; + position: relative; + width: 20px; + top: -1px; +} + +#custom-css .header-filter my-global-icon .feather { + color: var(--whiteColor); +} + +.header-filter button my-global-icon .feather, .header-filter button my-global-icon .material, .header-filter button my-global-icon .misc { + color: var(--greyForegroundColor); +} + +my-user-notifications { + font-size: 15px; +} + +#custom-css .notification.unread { + background-color: var(--menuAndHeaderBackgroundColor); +} + +.notification.unread { + background-color: #0000000d; +} + +.notification { + display: flex; + align-items: center; + font-size: inherit; + padding: 15px 5px 15px 10px; + border-bottom: 1px solid rgba(0,0,0,.1); + word-break: break-word; +} + +.notification .avatar { + margin-inline-end: 10px; + width: 30px; + height: 30px; + min-width: 30px; + min-height: 30px; + border-radius: 5px; +} +img { + vertical-align: middle; + border-style: none; +} + +.notification .message { + flex-grow: 1; +} + +.notification .message a { + font-weight: 600; +} + +.notification .from-date { + margin-inline-start: auto; + padding-inline-start: 5px; + font-size: .85em; + color: var(--greyForegroundColor); + min-width: 70px; + text-align: end; +} \ No newline at end of file diff --git a/public/css/style.css b/public/css/style.css new file mode 100644 index 0000000..97fe07b --- /dev/null +++ b/public/css/style.css @@ -0,0 +1,473 @@ +body { + --mainColor: #00abff; + --mainBackgroundColor: #121212; + --mainForegroundColor: rgba(195,195,195,0.878431); + --submenuColor: #272727; + --submenuBackgroundColor: #272727; + --channelBackgroundColor: #272727; + --inputColor: #272727; + --inputPlaceholderColor: rgba(195,195,195,0.878431); + --menuAndHeaderBackgroundColor: #272727; + --menuForegroundColor: rgba(195,195,195,0.878431); + --menuBackgroundColor: #272727; + --whiteColor: #ffffff; + --mainHoverColor: #0481bf; + --actionButtonColor: #ffffff; + --dangerBackgroundColor: #d9534f; + /*font-family: "Open Sans",sans-serif;*/ + } + + /* Main background */ + #custom-css .sub-header-container{ + background-position: center top; + background-size: cover; + background-repeat: repeat; + background-attachment: fixed; + } + + /* Header */ + #search-video{ + background: var(--mainBackgroundColor) !important; + } + #custom-css .header{ + background-color: var(--menuBackgroundColor); + } + /* NavMenu*/ + #custom-css .title-page.active, + #custom-css .title-page:hover{ + color: var(--whiteColor); + } + #custom-css .row .header a, + #custom-css .row .header button{ + color: var(--whiteColor); + background-color: var(--mainHoverColor); + } + #custom-css .row .header a my-global-icon svg g[stroke="#000000"], + #custom-css .row .header button my-global-icon svg path[stroke="#333333"], + #custom-css .row .header button my-global-icon svg g[stroke="#000000"]{ + stroke: var(--whiteColor) !important; + } + #custom-css .row .header button my-global-icon svg path[fill="#333333"]{ + fill: var(--whiteColor) !important; + } + + #custom-css .footer-links a, + #custom-css .footer-copyleft a{ + color: var(--whiteColor) !important + } + /* Toast notifications*/ + #custom-css .ui-toast .ui-toast-message-content{ + color: var(--whiteColor); + } + /* Dropdown */ + #custom-css .dropdown-menu, + #custom-css .dropdown-menu .dropdown-item{ + background-color: var(--menuBackgroundColor); + color: var(--menuForegroundColor); + } + + #custom-css .dropdown-menu a, + #custom-css span.dropdown-item.custom-action, + #custom-css a.dropdown-item.with-icon{ + color: var(--menuForegroundColor) !important; + } + + #custom-css .dropdown-item:focus:not(.new-playlist-block), + #custom-css .dropdown-item:hover:not(.new-playlist-block), + #custom-css .dropdown-item:active:not(.new-playlist-block), + #custom-css span.dropdown-item.custom-action:hover, + #custom-css a.dropdown-item.with-icon:hover{ + color: var(--whiteColor) !important; + background-color: var(--mainColor) !important; + } + #custom-css .ui-inputswitch-slider{ + box-shadow: none !important; + } + /* Dropdown inputs && checkboxes */ + #custom-css .dropdown-menu .peertube-select-container, + #custom-css .dropdown-menu input[type="text"], + #custom-css .dropdown-menu textarea, + #custom-css .dropdown-menu span[role="checkbox"]{ + border: 1px solid var(--mainForegroundColor) !important + } + #custom-css .dropdown-menu input[type="submit"]{ + border: 1px solid transparent !important; /* Removing black border in buttons */ + } + #custom-css .header .options-row{ + padding-left: 0; + } + #custom-css .header .options-row > div{ + justify-content: space-between; + } + #custom-css .dropdown-item:hover .ml-auto:not(.glyphicon){ + box-shadow: 0 0 0 0.1em var(--menuForegroundColor) !important; + } + #custom-css .ml-auto:after{ + background-color: var(--whiteColor); + } + #custom-css #typeahead-container input{ + border-color: var(--mainForegroundColor) !important; + } + + /* Buttons */ + #custom-css .upload-button, + #custom-css .upload-button:active, + #custom-css .upload-button:focus, + #custom-css .root .button-file{ + color: var(--whiteColor) !important; + background-color: var(--mainColor) !important; + } + #custom-css .upload-button my-global-icon svg g[stroke="#000000"], + #custom-css a.add-button my-global-icon svg circle[stroke="#000000"], + #custom-css a.create-button my-global-icon svg circle[stroke="#000000"], + #custom-css a.create-caption my-global-icon svg circle[stroke="#000000"]{ + stroke: var(--whiteColor) !important; + } + #custom-css a.add-button my-global-icon svg rect[fill="#000000"], + #custom-css a.create-button my-global-icon svg rect[fill="#000000"], + #custom-css a.create-caption my-global-icon svg rect[fill="#000000"]{ + fill: var(--whiteColor) !important; + } + #custom-css .grey-button, #custom-css .grey-button:active, #custom-css .grey-button:focus { + background-color: var(--menuAndHeaderBackgroundColor); + color: var(--mainForegroundColor); + } + #custom-css my-video-comments my-video-comment-add .comment-buttons .cancel-button{ + display: none; /* Hidden because it's not needed and it have a buggy behaviour */ + } + #custom-css .reset-button.reset-button-small{ + color: var(--mainColor); + } + /* Delete buttons */ + #custom-css .delete-me button:hover, + #custom-css .delete-me button, + #custom-css my-delete-button .action-button-delete, + #custom-css my-delete-button .action-button-delete:active, + #custom-css .action-button-delete-selection{ + background-color: var(--dangerBackgroundColor); + color: var(--whiteColor); + } + #custom-css .top-buttons .delete-history{ + background-color: var(--dangerBackgroundColor); + color: var(--whiteColor); + } + /* Trash bin icon */ + #custom-css my-global-icon[iconname="delete"] svg path[stroke="#000000"]{ + stroke: var(--whiteColor) !important; + } + #custom-css my-global-icon[iconname="delete"] svg path[fill="#000000"], + #custom-css my-global-icon[iconname="delete"] svg rect[fill="#000000"]{ + fill: var(--whiteColor) !important; + } + + /* Modals */ + #custom-css my-input-readonly-copy input{ + color: var(--whiteColor); + } + #custom-css .form-group-checkbox input + span { + border-color: var(--mainForegroundColor); + } + /* Inputs */ + #custom-css input, + #custom-css textarea{ + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + border: 1px solid var(--mainBackgroundColor); + } + #custom-css .ng-select .ng-input>input{ + background: none !important; + border: 0 !important; + } + #custom-css .am-donate-main .button input{ + color: var(--mainColor) !important; + background: var(--whiteColor) !important; + border: none !important; + } + #custom-css .am-donate-main .donation-details{ + color: var(--mainBackgroundColor); + } + #custom-css input[type="submit"], + #custom-css input[type="button"]{ /* Buttons */ + color: var(--whiteColor) !important; + background: var(--mainColor) !important; + border: none !important; + } + #custom-css input[type="submit"]:hover, + #custom-css input[type="button"]:hover, + #custom-css .submit-button:hover input{ + background: var(--mainHoverColor) !important; + } + #custom-css .submit-button.disabled input{ + background: var(--menuForegroundColor) !important; + } + + #custom-css .root .form-group-checkbox input:checked + span{ + background: var(--mainColor) !important; + } + #custom-css .action-button .count{ + color: var(--whiteColor); + } + #custom-css .modal-content input.readonly{ + color: var(--whiteColor); + } + /* Selects */ + #custom-css .peertube-select-container, input[type="text"]{ + border: 1px solid var(--mainBackgroundColor) !important; + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + } + #custom-css .peertube-select-container > select { + background: var(--inputColor) !important; + color: var(--mainForegroundColor) !important; + } + #custom-css .peertube-select-container:after{ + border-top-color: var(--mainForegroundColor) !important; + } + #custom-css .peertube-select-container > select > option{ + background: var(--inputColor); + color: var(--mainForegroundColor) !important; + } + #custom-css .peertube-select-container > select option:hover, + #custom-css .peertube-select-container > select > option:checked{ + color: var(--whiteColor) !important; + background-color: var(--mainColor) !important; + } + /* MultiSelects */ + #custom-css .ui-multiselect{ + background: var(--inputColor); + border: none; + } + #custom-css .ui-multiselect .ui-multiselect-trigger{ + background: var(--inputColor); + } + p-multiselect .pi.pi-chevron-down::after{ + border-top-color: var(--mainForegroundColor); + } + #custom-css .ui-multiselect .ui-multiselect-label { + color: var(--mainForegroundColor); + } + #custom-css .ui-multiselect-panel{ + background: var(--inputColor); + color: var(--mainForegroundColor); + } + /* Icons colors & hovers */ + /* Stroke */ + #custom-css my-global-icon svg circle[stroke="#000000"], + #custom-css my-global-icon svg g[stroke="#000000"], + #custom-css my-global-icon svg g[stroke="#000"], + #custom-css my-global-icon svg path[stroke="#000"], + #custom-css my-global-icon svg path[stroke="#000000"], + #custom-css my-global-icon svg polygon[stroke="#000000"], + #custom-css my-global-icon svg rect[stroke="#000000"], + #custom-css my-global-icon svg ellipse[stroke="#000000"]{ + stroke: var(--mainForegroundColor) !important; + } + + #custom-css my-global-icon[iconname="video-lang"] svg path{ + fill: transparent; + } + + #custom-css a my-global-icon svg circle[stroke="#000000"], + #custom-css a my-global-icon svg g[stroke="#000000"], + #custom-css a my-global-icon svg path[stroke="#000000"], + #custom-css a my-global-icon svg polygon[stroke="#000000"], + #custom-css a my-global-icon svg rect[stroke="#000000"], + #custom-css a my-global-icon svg ellipse[stroke="#000000"]{ + stroke: var(--mainForegroundColor) !important; + } + + #custom-css a my-global-icon svg linearGradient stop{ + stop-color: var(--mainForegroundColor); + } + + #custom-css .action-button:not(.action-button-edit) > my-global-icon svg g[stroke="#000000"], + #custom-css my-global-icon[iconname="validate"] svg circle, + #custom-css my-global-icon[iconname="validate"] svg polyline{ + stroke: var(--whiteColor) !important; + } + + #custom-css .dropdown-item:hover my-global-icon svg circle[stroke="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg g[stroke="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg path[stroke="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg path[stroke="#000"], + #custom-css .dropdown-item:hover my-global-icon svg polygon[stroke="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg rect[stroke="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg ellipse[stroke="#000000"], + #custom-css .dropdown-item:active my-global-icon svg circle[stroke="#000000"], + #custom-css .dropdown-item:active my-global-icon svg g[stroke="#000000"], + #custom-css .dropdown-item:active my-global-icon svg path[stroke="#000000"], + #custom-css .dropdown-item:active my-global-icon svg polygon[stroke="#000000"], + #custom-css .dropdown-item:active my-global-icon svg rect[stroke="#000000"], + #custom-css .dropdown-item:active my-global-icon svg ellipse[stroke="#000000"]{ + stroke: var(--whiteColor) !important; + } + #custom-css .dropdown-item:hover my-global-icon svg linearGradient stop, + #custom-css .dropdown-item:active my-global-icon svg linearGradient stop{ + stop-color: var(--whiteColor) !important; + } + + /* Fill */ + #custom-css a my-global-icon svg circle[fill="#000000"], + #custom-css a my-global-icon svg g[fill="#000000"], + #custom-css a my-global-icon svg path[fill="#000000"], + #custom-css a my-global-icon svg polygon[fill="#000000"], + #custom-css a my-global-icon svg rect[fill="#000000"], + #custom-css span my-global-icon svg circle[fill="#000000"], + #custom-css span my-global-icon svg g[fill="#000000"], + #custom-css span my-global-icon svg path[fill="#000000"], + #custom-css span my-global-icon svg polygon[fill="#000000"], + #custom-css span my-global-icon svg rect[fill="#000000"], + #custom-css .notification my-global-icon svg path[fill="#000000"]{ + fill: var(--mainForegroundColor) !important; + } + + #custom-css .dropdown-item:hover my-global-icon svg circle[fill="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg g[fill="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg path[fill="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg polygon[fill="#000000"], + #custom-css .dropdown-item:hover my-global-icon svg rect[fill="#000000"], + #custom-css .dropdown-item:active my-global-icon svg circle[fill="#000000"], + #custom-css .dropdown-item:active my-global-icon svg g[fill="#000000"], + #custom-css .dropdown-item:active my-global-icon svg path[fill="#000000"], + #custom-css .dropdown-item:active my-global-icon svg polygon[fill="#000000"], + #custom-css .dropdown-item:active my-global-icon svg rect[fill="#000000"]{ + fill: var(--whiteColor) !important; + } + /* Mute servers Icon */ + #custom-css .dropdown-item my-global-icon svg .st0{ + stroke: var(--mainForegroundColor); + } + #custom-css .dropdown-item:hover my-global-icon svg .st0, + #custom-css .dropdown-item:active my-global-icon svg .st0 { + stroke: var(--whiteColor); + } + #custom-css .dropdown-item my-global-icon svg .st1 { + fill: var(--mainForegroundColor); + } + #custom-css .dropdown-item:hover my-global-icon svg .st1, + #custom-css .dropdown-item:active my-global-icon svg .st1 { + fill: var(--whiteColor); + } + /* Language Icon */ + #custom-css my-global-icon[iconname="language"] svg path, + #custom-css .dropdown-item:hover my-global-icon[iconname="language"] svg path, + #custom-css .dropdown-item:active my-global-icon[iconname="language"] svg path { + fill: var(--mainForegroundColor) !important; + } + + /* Pagination */ + #custom-css .ui-paginator .ui-paginator-element:hover:not(.ui-state-disabled){ + color: var(--whiteColor) !important; + background-color: var(--mainHoverColor) !important; + } + + /* Notifications Panel */ + #custom-css .popover-notifications.popover .popover-body .notifications-header, + #custom-css .popover-notifications.popover .popover-body .notifications-header a{ + background-color: var(--menuAndHeaderBackgroundColor); + color: var(--mainForegroundColor) !important; + } + #custom-css .popover-notifications.popover .popover-body .notifications-header button{ + color: var(--mainForegroundColor); + } + #custom-css .notification{ + background-color: var(--mainBackgroundColor); + color: var(--mainForegroundColor); + } + #custom-css .notification my-global-icon .feather{ + color: var(--mainForegroundColor) !important; + } + #custom-css .notification.unread{ + background-color: var(--menuAndHeaderBackgroundColor); + } + #custom-css .popover-notifications.popover .popover-body .all-notifications{ + background-color: var(--menuBackgroundColor); + color: var(--mainForegroundColor); + } + #custom-css .bs-popover-auto[x-placement^=bottom]>.arrow::after, .bs-popover-bottom>.arrow::after{ + border-bottom-color: var(--menuBackgroundColor); + } + #custom-css #inbox-full svg path[stroke="#333333"]{ + stroke: var(--mainForegroundColor); + } + + #custom-css .popover-notifications.popover .popover-body .all-notifications svg g path[stroke="#333333"]{ + stroke: var(--mainForegroundColor); + } + #custom-css .popover-notifications.popover .popover-body .all-notifications svg g path[fill="#333333"]{ + fill: var(--mainForegroundColor); + } + + #custom-css .header my-global-icon .feather{ + color: var(--whiteColor); + } + + /* Create new playlist, url video... preview box */ + #custom-css .root .preview-container .preview.no-image{ + background-color: var(--menuAndHeaderBackgroundColor); + border-color: var(--mainBackgroundColor); + } + #custom-css .preview-container .button-file.with-icon g[stroke="#000000"]{ + stroke: var(--whiteColor) !important; + } + + /* Subscriptions buttons */ + #custom-css .btn-group-subscribe.unsubscribe-button .btn, .btn-group-subscribe.unsubscribe-button .btn:active, .btn-group-subscribe.unsubscribe-button .btn:focus{ + background-color: var(--mainColor); + color: var(--whiteColor); + } + + /* Upload video container */ + #custom-css .root-tabset.video-add-tabset .upload-video-container{ + border-color: var(--mainForegroundColor) !important; + } + #custom-css .root-tabset.video-add-tabset>.nav a.nav-link.active{ + border-color: var(--mainForegroundColor) !important; + } + + /* Calendar */ + #custom-css p-calendar span input{ + color: var(--mainForegroundColor) !important; + } + + #custom-css .ui-datepicker{ + background-color: var(--menuAndHeaderBackgroundColor); + color: var(--mainForegroundColor); + } + + #custom-css .ui-datepicker .ui-datepicker-header, + #custom-css p-calendar .ui-datepicker .ui-datepicker-header .ui-datepicker-prev, + #custom-css p-calendar .ui-datepicker .ui-datepicker-header .ui-datepicker-next{ + background-color: var(--menuAndHeaderBackgroundColor); + color: var(--mainForegroundColor) !important; + } + #custom-css .ui-datepicker table td>a:hover, + #custom-css .ui-datepicker table td>span:hover{ + background-color: var(--mainColor); + color: var(--whiteColor); + } + #custom-css .ui-datepicker table td>a.ui-state-active, + #custom-css .ui-datepicker table td>span.ui-state-active{ + background-color: var(--mainHoverColor); + color: var(--whiteColor); + } + + #custom-css p-calendar .ui-datepicker .ui-timepicker .pi.pi-chevron-down, + #custom-css p-calendar .ui-datepicker .ui-timepicker .pi.pi-chevron-up, + #custom-css p-calendar .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover, + #custom-css p-calendar .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover, + #custom-css p-calendar .ui-datepicker .ui-timepicker .pi.pi-chevron-down:hover, + #custom-css p-calendar .ui-datepicker .ui-timepicker .pi.pi-chevron-up:hover{ + color: var(--whiteColor) !important; + } + + /* 404 Not found page */ + #custom-css my-page-not-found img { + width: 350px !important; + margin-bottom: 0px !important; + } + + /* About */ + #custom-css .anchor-link .section-title { + color: inherit; + } \ No newline at end of file diff --git a/public/css/styles.css b/public/css/styles.css new file mode 100644 index 0000000..0c95b2b --- /dev/null +++ b/public/css/styles.css @@ -0,0 +1,15423 @@ +@charset "UTF-8";@font-face { + font-family: Source Sans Pro; + font-weight: 200 900; + font-style: normal; + font-stretch: normal; + font-display: swap; + src: url(SourceSans3VF-Roman.ttf.123081915e9fbb9f01bd.woff2) format("woff2") +} + +@font-face { + font-family: Source Sans Pro; + font-weight: 200 900; + font-style: italic; + font-stretch: normal; + font-display: swap; + src: url(SourceSans3VF-Italic.ttf.797355866311afb6142d.woff2) format("woff2") +} + +.peertube-button { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer +} + +@supports (padding-inline-start: 13px) { + .peertube-button { + padding-inline-start:13px} +} + +@supports not (padding-inline-start: 13px) { + .peertube-button { + padding-left: 13px + } +} + +@supports (padding-inline-end: 17px) { + .peertube-button { + padding-inline-end:17px} +} + +@supports not (padding-inline-end: 17px) { + .peertube-button { + padding-right: 17px + } +} + +.peertube-button-link { + padding-top: 0; + padding-bottom: 0; + border: 0; + font-weight: 600; + font-size: 15px; + height: 30px; + line-height: 30px; + border-radius: 3px!important; + text-align: center; + cursor: pointer; + display: inline-block +} + +.peertube-button-link:active,.peertube-button-link:focus,.peertube-button-link:hover { + text-decoration: none!important; + outline: none!important +} + +@supports (padding-inline-start: 13px) { + .peertube-button-link { + padding-inline-start:13px} +} + +@supports not (padding-inline-start: 13px) { + .peertube-button-link { + padding-left: 13px + } +} + +@supports (padding-inline-end: 17px) { + .peertube-button-link { + padding-inline-end:17px} +} + +@supports not (padding-inline-end: 17px) { + .peertube-button-link { + padding-right: 17px + } +} + +.orange-button.focus-visible,.orange-button:focus { + box-shadow: 0 0 0 .2rem var(--mainColorLightest) +} + +.orange-button,.orange-button:active,.orange-button:focus { + color: #fff; + background-color: var(--mainColor) +} + +.orange-button:hover { + color: #fff; + background-color: var(--mainHoverColor) +} + +.orange-button.disabled,.orange-button[disabled] { + cursor: default; + color: #fff; + background-color: #c6c6c6 +} + +.orange-button my-global-icon ::ng-deep .feather,.orange-button my-global-icon ::ng-deep .material,.orange-button my-global-icon ::ng-deep .misc { + color: #fff +} + +.orange-button-inverted { + border: 2px solid var(--mainColor); + font-weight: 600 +} + +.orange-button-inverted.focus-visible,.orange-button-inverted:focus { + box-shadow: 0 0 0 .2rem var(--mainColorLightest) +} + +.orange-button-inverted,.orange-button-inverted:active,.orange-button-inverted:focus { + color: var(--mainColor); + background-color: var(--mainBackgroundColor) +} + +.orange-button-inverted:hover { + color: var(--mainColor); + background-color: var(--mainColorLightest) +} + +.orange-button-inverted.disabled,.orange-button-inverted[disabled] { + cursor: default; + color: var(--mainColor); + background-color: #c6c6c6 +} + +.orange-button-inverted my-global-icon ::ng-deep .feather,.orange-button-inverted my-global-icon ::ng-deep .material,.orange-button-inverted my-global-icon ::ng-deep .misc { + color: var(--mainColor) +} + +.grey-button { + background-color: #e5e5e5; + color: var(--greyForegroundColor) +} + +.grey-button.focus-visible,.grey-button:focus { + box-shadow: 0 0 0 .2rem #5858580d +} + +.grey-button.disabled,.grey-button:active,.grey-button:focus,.grey-button:hover,.grey-button[disabled] { + color: var(--greyForegroundColor); + background-color: #efefef +} + +.grey-button.disabled,.grey-button[disabled] { + cursor: default +} + +.grey-button my-global-icon ::ng-deep .feather,.grey-button my-global-icon ::ng-deep .material,.grey-button my-global-icon ::ng-deep .misc { + color: var(--greyForegroundColor) +} + +.tertiary-button { + color: var(--greyForegroundColor); + background-color: initial +} + +.tertiary-button.focus-visible,.tertiary-button:focus { + box-shadow: 0 0 0 .2rem #5858580d +} + +.tertiary-button .disabled,.tertiary-button[disabled] { + cursor: default +} + +.tertiary-button my-global-icon ::ng-deep .feather,.tertiary-button my-global-icon ::ng-deep .material,.tertiary-button my-global-icon ::ng-deep .misc { + color: #0000 +} + +.peertube-radio-container [type=radio]:checked,.peertube-radio-container [type=radio]:not(:checked) { + position: absolute; + left: -9999px +} + +.peertube-radio-container [type=radio]:checked+label,.peertube-radio-container [type=radio]:not(:checked)+label { + position: relative; + padding-left: 28px; + cursor: pointer; + line-height: 20px; + display: inline-block +} + +.peertube-radio-container [type=radio]:checked+label:before,.peertube-radio-container [type=radio]:not(:checked)+label:before { + content: ""; + position: absolute; + left: 0; + top: 0; + width: 18px; + height: 18px; + border: 1px solid #c6c6c6; + border-radius: 100%; + background: #fff +} + +.peertube-radio-container [type=radio]:checked+label:after,.peertube-radio-container [type=radio]:not(:checked)+label:after { + content: ""; + width: 10px; + height: 10px; + background: var(--mainColor); + position: absolute; + top: 4px; + left: 4px; + border-radius: 100%; + transition: all .2s ease +} + +.peertube-radio-container [type=radio]:not(:checked)+label:after { + opacity: 0; + transform: scale(0) +} + +.peertube-radio-container [type=radio]:checked+label:after { + opacity: 1; + transform: scale(1) +} + +peertube-container>.layout-row { + display: flex; + flex-direction: row; + flex-wrap: wrap +} + +peertube-container>.layout-column { + display: flex; + flex-direction: column +} + +peertube-container>.header { + margin: 30px 0 15px +} + +peertube-container>.header>h4 { + margin-bottom: 0 +} + +peertube-channel-miniature,peertube-playlist-miniature,peertube-video-miniature { + margin-right: 30px +} + +.ng-select.ng-select-opened>.ng-select-container { + background: #fff; + border-color: #b3b3b3 #ccc #d9d9d9 +} + +.ng-select.ng-select-opened>.ng-select-container:hover { + box-shadow: none +} + +.ng-select.ng-select-opened>.ng-select-container .ng-arrow { + top: -2px; + border-color: #0000 #0000 #999; + border-width: 0 5px 5px +} + +.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover { + border-color: #0000 #0000 #333 +} + +.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.ng-select.ng-select-opened.ng-select-top>.ng-select-container { + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container { + border-color: #f2690d; + box-shadow: 0 0 0 .2rem var(--mainColorLightest) +} + +.ng-select.ng-select-disabled>.ng-select-container { + background-color: #f9f9f9 +} + +.ng-select .ng-has-value .ng-placeholder { + display: none +} + +.ng-select .ng-select-container { + color: #333; + background-color: #fff; + border-radius: 4px; + border: 1px solid #ccc; + min-height: 30px; + align-items: center +} + +.ng-select .ng-select-container:hover { + box-shadow: 0 1px 0 #0000000f +} + +.ng-select .ng-select-container .ng-value-container { + align-items: center; + padding-left: 15px +} + +[dir=rtl] .ng-select .ng-select-container .ng-value-container { + padding-right: 15px; + padding-left: 0 +} + +.ng-select .ng-select-container .ng-value-container .ng-placeholder { + color: #999 +} + +.ng-select.ng-select-single .ng-select-container { + height: 30px +} + +.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input { + top: 5px; + left: 0; + padding-left: 15px; + padding-right: 50px +} + +[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input { + padding-right: 15px; + padding-left: 50px +} + +.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value { + background-color: #f9f9f9; + border: 1px solid #e6e6e6 +} + +.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label { + padding: 0 5px +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container { + padding-top: 5px; + padding-left: 7px +} + +[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container { + padding-right: 7px; + padding-left: 0 +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value { + font-size: 15px; + margin-bottom: 5px; + color: #333; + background-color: #fef3ec; + border-radius: 2px; + margin-right: 5px +} + +[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value { + margin-right: 0; + margin-left: 5px +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled { + background-color: #f9f9f9 +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label { + padding-left: 5px +} + +[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label { + padding-left: 0; + padding-right: 5px +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label { + display: inline-block; + padding: 1px 5px +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover { + background-color: #fde4d3 +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left { + border-right: 1px solid #fbd5bb +} + +[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left { + border-left: 1px solid #fbd5bb; + border-right: none +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right { + border-left: 1px solid #fbd5bb +} + +[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right { + border-left: 0; + border-right: 1px solid #fbd5bb +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input { + padding: 0 0 3px 3px +} + +[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input { + padding: 0 3px 3px 0 +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input { + color: #000 +} + +.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder { + top: 5px; + padding-bottom: 5px; + padding-left: 3px +} + +[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder { + padding-right: 3px; + padding-left: 0 +} + +.ng-select .ng-clear-wrapper { + color: #999 +} + +.ng-select .ng-clear-wrapper:hover .ng-clear { + color: #d0021b +} + +.ng-select .ng-spinner-zone { + padding: 5px 5px 0 0 +} + +[dir=rtl] .ng-select .ng-spinner-zone { + padding: 5px 0 0 5px +} + +.ng-select .ng-arrow-wrapper { + width: 25px; + padding-right: 5px +} + +[dir=rtl] .ng-select .ng-arrow-wrapper { + padding-left: 5px; + padding-right: 0 +} + +.ng-select .ng-arrow-wrapper:hover .ng-arrow { + border-top-color: #666 +} + +.ng-select .ng-arrow-wrapper .ng-arrow { + border-color: #999 #0000 #0000; + border-style: solid; + border-width: 5px 5px 2.5px +} + +.ng-dropdown-panel { + background-color: #fff; + border: 1px solid #ccc; + box-shadow: 0 1px 0 #0000000f; + left: 0 +} + +.ng-dropdown-panel.ng-select-bottom { + top: 100%; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + border-top-color: #e6e6e6; + margin-top: -1px +} + +.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px +} + +.ng-dropdown-panel.ng-select-top { + bottom: 100%; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-color: #e6e6e6; + margin-bottom: -1px +} + +.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px +} + +.ng-dropdown-panel .ng-dropdown-header { + border-bottom: 1px solid #ccc; + padding: 5px 7px +} + +.ng-dropdown-panel .ng-dropdown-footer { + border-top: 1px solid #ccc; + padding: 5px 7px +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup { + -webkit-user-select: none; + user-select: none; + padding: 8px 10px; + font-weight: 500; + color: #0000008a; + cursor: pointer +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled { + cursor: default +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked { + background-color: #fef9f5 +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked { + background-color: #fef3ec; + font-weight: 600 +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-option { + background-color: #fff; + color: #000000de; + padding: 8px 10px +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked { + color: #333; + background-color: #fef3ec +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label { + font-weight: 600 +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked { + background-color: #fef9f5; + color: #333 +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled { + color: #ccc +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child { + padding-left: 22px +} + +[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child { + padding-right: 22px; + padding-left: 0 +} + +.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label { + font-size: 80%; + font-weight: 400; + padding-right: 5px +} + +[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label { + padding-left: 5px; + padding-right: 0 +} + +[dir=rtl] .ng-dropdown-panel { + direction: rtl; + text-align: right +} + +.ng-select { + font-size: 15px +} + +.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container { + border-color: #ccc!important +} + +.ng-select .ng-select-container { + background-color: var(--inputBackgroundColor) +} + +@supports (padding-inline-end: 12px) { + .ng-select .ng-arrow-wrapper { + padding-inline-end:12px} +} + +@supports not (padding-inline-end: 12px) { + .ng-select .ng-arrow-wrapper { + padding-right: 12px + } +} + +.ng-select.ng-select-single .ng-value-container .ng-value { + color: var(--inputForegroundColor) +} + +.ng-select.ng-select-single .ng-value-container .ng-value .ng-value-label { + display: flex; + align-items: center +} + +@supports (padding-inline-start: 12px) { + .ng-select.ng-select-multiple .ng-select-container .ng-value-container { + padding-inline-start:12px} +} + +@supports not (padding-inline-start: 12px) { + .ng-select.ng-select-multiple .ng-select-container .ng-value-container { + padding-left: 12px + } +} + +@supports (margin-inline-start: 12px) { + .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value { + margin-inline-start:12px} +} + +@supports not (margin-inline-start: 12px) { + .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value { + margin-left: 12px + } +} + +:root { + --blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:red;--orange:#fd7e14;--yellow:#ffc107;--green:#39cc0b;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#39cc0b;--info:#17a2b8;--warning:#ffc107;--danger:red;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:900px;--breakpoint-xl:1200px;--breakpoint-xxl:1600px;--breakpoint-fhd:1800px;--breakpoint-qhd:2560px;--breakpoint-uhd:3840px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace} + +*,:after,:before { + box-sizing: border-box +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0,0,0,0) +} + +article,aside,figcaption,figure,footer,header,hgroup,main,nav,section { + display: block +} + +body { + margin: 0; + font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji; + font-size: 1rem; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0!important +} + +hr { + box-sizing: initial; + height: 0; + overflow: visible +} + +h1,h2,h3,h4,h5,h6 { + margin-top: 0; + margin-bottom: .5rem +} + +p { + margin-top: 0; + margin-bottom: 1rem +} + +abbr[data-original-title],abbr[title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none +} + +address { + font-style: normal; + line-height: inherit +} + +address,dl,ol,ul { + margin-bottom: 1rem +} + +dl,ol,ul { + margin-top: 0 +} + +ol ol,ol ul,ul ol,ul ul { + margin-bottom: 0 +} + +dt { + font-weight: 700 +} + +dd { + margin-bottom: .5rem; + margin-left: 0 +} + +blockquote { + margin: 0 0 1rem +} + +b,strong { + font-weight: bolder +} + +small { + font-size: 80% +} + +sub,sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: initial +} + +sub { + bottom: -.25em +} + +sup { + top: -.5em +} + +a { + color: #007bff; + text-decoration: none; + background-color: initial +} + +a:hover { + color: #0056b3; + text-decoration: underline +} + +a:not([href]):not([class]),a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none +} + +code,kbd,pre,samp { + font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace; + font-size: 1em +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar +} + +figure { + margin: 0 0 1rem +} + +img { + border-style: none +} + +img,svg { + vertical-align: middle +} + +svg { + overflow: hidden +} + +table { + border-collapse: collapse +} + +caption { + padding-top: .75rem; + padding-bottom: .75rem; + color: #6c757d; + text-align: left; + caption-side: bottom +} + +th { + text-align: inherit; + text-align: -webkit-match-parent +} + +label { + display: inline-block; + margin-bottom: .5rem +} + +button { + border-radius: 0 +} + +button:focus:not(:focus-visible) { + outline: 0 +} + +button,input,optgroup,select,textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit +} + +button,input { + overflow: visible +} + +button,select { + text-transform: none +} + +[role=button] { + cursor: pointer +} + +select { + word-wrap: normal +} + +[type=button],[type=reset],[type=submit],button { + -webkit-appearance: button +} + +[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) { + cursor: pointer +} + +[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner { + padding: 0; + border-style: none +} + +input[type=checkbox],input[type=radio] { + box-sizing: border-box; + padding: 0 +} + +textarea { + overflow: auto; + resize: vertical +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0 +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal +} + +progress { + vertical-align: initial +} + +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button { + height: auto +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: none +} + +[type=search]::-webkit-search-decoration { + -webkit-appearance: none +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button +} + +output { + display: inline-block +} + +summary { + display: list-item; + cursor: pointer +} + +template { + display: none +} + +.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 { + margin-bottom: .5rem; + font-weight: 500; + line-height: 1.2 +} + +.h1,h1 { + font-size: 2.5rem +} + +.h2,h2 { + font-size: 2rem +} + +.h3,h3 { + font-size: 1.75rem +} + +.h4,h4 { + font-size: 1.5rem +} + +.h5,h5 { + font-size: 1.25rem +} + +.h6,h6 { + font-size: 1rem +} + +.lead { + font-size: 1.25rem; + font-weight: 300 +} + +.display-1 { + font-size: 6rem +} + +.display-1,.display-2 { + font-weight: 300; + line-height: 1.2 +} + +.display-2 { + font-size: 5.5rem +} + +.display-3 { + font-size: 4.5rem +} + +.display-3,.display-4 { + font-weight: 300; + line-height: 1.2 +} + +.display-4 { + font-size: 3.5rem +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid #0000001a +} + +.small,small { + font-size: 80%; + font-weight: 400 +} + +.mark,mark { + padding: .2em; + background-color: #fcf8e3 +} + +.list-inline,.list-unstyled { + padding-left: 0; + list-style: none +} + +.list-inline-item { + display: inline-block +} + +.list-inline-item:not(:last-child) { + margin-right: .5rem +} + +.initialism { + font-size: 90%; + text-transform: uppercase +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d +} + +.blockquote-footer:before { + content: "— " +} + +.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto +} + +@media (min-width: 576px) { + .container,.container-sm { + max-width:420px + } +} + +@media (min-width: 768px) { + .container,.container-md,.container-sm { + max-width:720px + } +} + +@media (min-width: 900px) { + .container,.container-lg,.container-md,.container-sm { + max-width:900px + } +} + +@media (min-width: 1200px) { + .container,.container-lg,.container-md,.container-sm,.container-xl { + max-width:1140px + } +} + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px +} + +.no-gutters { + margin-right: 0; + margin-left: 0 +} + +.no-gutters>.col,.no-gutters>[class*=col-] { + padding-right: 0; + padding-left: 0 +} + +.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-fhd,.col-fhd-1,.col-fhd-2,.col-fhd-3,.col-fhd-4,.col-fhd-5,.col-fhd-6,.col-fhd-7,.col-fhd-8,.col-fhd-9,.col-fhd-10,.col-fhd-11,.col-fhd-12,.col-fhd-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-qhd,.col-qhd-1,.col-qhd-2,.col-qhd-3,.col-qhd-4,.col-qhd-5,.col-qhd-6,.col-qhd-7,.col-qhd-8,.col-qhd-9,.col-qhd-10,.col-qhd-11,.col-qhd-12,.col-qhd-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-uhd,.col-uhd-1,.col-uhd-2,.col-uhd-3,.col-uhd-4,.col-uhd-5,.col-uhd-6,.col-uhd-7,.col-uhd-8,.col-uhd-9,.col-uhd-10,.col-uhd-11,.col-uhd-12,.col-uhd-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto,.col-xxl,.col-xxl-1,.col-xxl-2,.col-xxl-3,.col-xxl-4,.col-xxl-5,.col-xxl-6,.col-xxl-7,.col-xxl-8,.col-xxl-9,.col-xxl-10,.col-xxl-11,.col-xxl-12,.col-xxl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px +} + +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100% +} + +.row-cols-1>* { + flex: 0 0 100%; + max-width: 100% +} + +.row-cols-2>* { + flex: 0 0 50%; + max-width: 50% +} + +.row-cols-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% +} + +.row-cols-4>* { + flex: 0 0 25%; + max-width: 25% +} + +.row-cols-5>* { + flex: 0 0 20%; + max-width: 20% +} + +.row-cols-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% +} + +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% +} + +.col-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% +} + +.col-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% +} + +.col-3 { + flex: 0 0 25%; + max-width: 25% +} + +.col-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% +} + +.col-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% +} + +.col-6 { + flex: 0 0 50%; + max-width: 50% +} + +.col-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% +} + +.col-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% +} + +.col-9 { + flex: 0 0 75%; + max-width: 75% +} + +.col-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% +} + +.col-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% +} + +.col-12 { + flex: 0 0 100%; + max-width: 100% +} + +.order-first { + order: -1 +} + +.order-last { + order: 13 +} + +.order-0 { + order: 0 +} + +.order-1 { + order: 1 +} + +.order-2 { + order: 2 +} + +.order-3 { + order: 3 +} + +.order-4 { + order: 4 +} + +.order-5 { + order: 5 +} + +.order-6 { + order: 6 +} + +.order-7 { + order: 7 +} + +.order-8 { + order: 8 +} + +.order-9 { + order: 9 +} + +.order-10 { + order: 10 +} + +.order-11 { + order: 11 +} + +.order-12 { + order: 12 +} + +.offset-1 { + margin-left: 8.3333333333% +} + +.offset-2 { + margin-left: 16.6666666667% +} + +.offset-3 { + margin-left: 25% +} + +.offset-4 { + margin-left: 33.3333333333% +} + +.offset-5 { + margin-left: 41.6666666667% +} + +.offset-6 { + margin-left: 50% +} + +.offset-7 { + margin-left: 58.3333333333% +} + +.offset-8 { + margin-left: 66.6666666667% +} + +.offset-9 { + margin-left: 75% +} + +.offset-10 { + margin-left: 83.3333333333% +} + +.offset-11 { + margin-left: 91.6666666667% +} + +@media (min-width: 576px) { + .col-sm { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-sm-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-sm-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-sm-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-sm-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-sm-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-sm-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-sm-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-sm-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-sm-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-sm-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-sm-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-sm-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-sm-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-sm-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-sm-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-sm-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-sm-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-sm-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-sm-first { + order: -1 + } + + .order-sm-last { + order: 13 + } + + .order-sm-0 { + order: 0 + } + + .order-sm-1 { + order: 1 + } + + .order-sm-2 { + order: 2 + } + + .order-sm-3 { + order: 3 + } + + .order-sm-4 { + order: 4 + } + + .order-sm-5 { + order: 5 + } + + .order-sm-6 { + order: 6 + } + + .order-sm-7 { + order: 7 + } + + .order-sm-8 { + order: 8 + } + + .order-sm-9 { + order: 9 + } + + .order-sm-10 { + order: 10 + } + + .order-sm-11 { + order: 11 + } + + .order-sm-12 { + order: 12 + } + + .offset-sm-0 { + margin-left: 0 + } + + .offset-sm-1 { + margin-left: 8.3333333333% + } + + .offset-sm-2 { + margin-left: 16.6666666667% + } + + .offset-sm-3 { + margin-left: 25% + } + + .offset-sm-4 { + margin-left: 33.3333333333% + } + + .offset-sm-5 { + margin-left: 41.6666666667% + } + + .offset-sm-6 { + margin-left: 50% + } + + .offset-sm-7 { + margin-left: 58.3333333333% + } + + .offset-sm-8 { + margin-left: 66.6666666667% + } + + .offset-sm-9 { + margin-left: 75% + } + + .offset-sm-10 { + margin-left: 83.3333333333% + } + + .offset-sm-11 { + margin-left: 91.6666666667% + } +} + +@media (min-width: 768px) { + .col-md { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-md-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-md-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-md-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-md-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-md-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-md-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-md-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-md-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-md-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-md-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-md-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-md-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-md-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-md-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-md-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-md-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-md-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-md-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-md-first { + order: -1 + } + + .order-md-last { + order: 13 + } + + .order-md-0 { + order: 0 + } + + .order-md-1 { + order: 1 + } + + .order-md-2 { + order: 2 + } + + .order-md-3 { + order: 3 + } + + .order-md-4 { + order: 4 + } + + .order-md-5 { + order: 5 + } + + .order-md-6 { + order: 6 + } + + .order-md-7 { + order: 7 + } + + .order-md-8 { + order: 8 + } + + .order-md-9 { + order: 9 + } + + .order-md-10 { + order: 10 + } + + .order-md-11 { + order: 11 + } + + .order-md-12 { + order: 12 + } + + .offset-md-0 { + margin-left: 0 + } + + .offset-md-1 { + margin-left: 8.3333333333% + } + + .offset-md-2 { + margin-left: 16.6666666667% + } + + .offset-md-3 { + margin-left: 25% + } + + .offset-md-4 { + margin-left: 33.3333333333% + } + + .offset-md-5 { + margin-left: 41.6666666667% + } + + .offset-md-6 { + margin-left: 50% + } + + .offset-md-7 { + margin-left: 58.3333333333% + } + + .offset-md-8 { + margin-left: 66.6666666667% + } + + .offset-md-9 { + margin-left: 75% + } + + .offset-md-10 { + margin-left: 83.3333333333% + } + + .offset-md-11 { + margin-left: 91.6666666667% + } +} + +@media (min-width: 900px) { + .col-lg { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-lg-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-lg-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-lg-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-lg-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-lg-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-lg-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-lg-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-lg-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-lg-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-lg-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-lg-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-lg-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-lg-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-lg-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-lg-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-lg-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-lg-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-lg-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-lg-first { + order: -1 + } + + .order-lg-last { + order: 13 + } + + .order-lg-0 { + order: 0 + } + + .order-lg-1 { + order: 1 + } + + .order-lg-2 { + order: 2 + } + + .order-lg-3 { + order: 3 + } + + .order-lg-4 { + order: 4 + } + + .order-lg-5 { + order: 5 + } + + .order-lg-6 { + order: 6 + } + + .order-lg-7 { + order: 7 + } + + .order-lg-8 { + order: 8 + } + + .order-lg-9 { + order: 9 + } + + .order-lg-10 { + order: 10 + } + + .order-lg-11 { + order: 11 + } + + .order-lg-12 { + order: 12 + } + + .offset-lg-0 { + margin-left: 0 + } + + .offset-lg-1 { + margin-left: 8.3333333333% + } + + .offset-lg-2 { + margin-left: 16.6666666667% + } + + .offset-lg-3 { + margin-left: 25% + } + + .offset-lg-4 { + margin-left: 33.3333333333% + } + + .offset-lg-5 { + margin-left: 41.6666666667% + } + + .offset-lg-6 { + margin-left: 50% + } + + .offset-lg-7 { + margin-left: 58.3333333333% + } + + .offset-lg-8 { + margin-left: 66.6666666667% + } + + .offset-lg-9 { + margin-left: 75% + } + + .offset-lg-10 { + margin-left: 83.3333333333% + } + + .offset-lg-11 { + margin-left: 91.6666666667% + } +} + +@media (min-width: 1200px) { + .col-xl { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-xl-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-xl-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-xl-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-xl-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-xl-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-xl-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-xl-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-xl-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-xl-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-xl-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-xl-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-xl-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-xl-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-xl-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-xl-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-xl-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-xl-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-xl-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-xl-first { + order: -1 + } + + .order-xl-last { + order: 13 + } + + .order-xl-0 { + order: 0 + } + + .order-xl-1 { + order: 1 + } + + .order-xl-2 { + order: 2 + } + + .order-xl-3 { + order: 3 + } + + .order-xl-4 { + order: 4 + } + + .order-xl-5 { + order: 5 + } + + .order-xl-6 { + order: 6 + } + + .order-xl-7 { + order: 7 + } + + .order-xl-8 { + order: 8 + } + + .order-xl-9 { + order: 9 + } + + .order-xl-10 { + order: 10 + } + + .order-xl-11 { + order: 11 + } + + .order-xl-12 { + order: 12 + } + + .offset-xl-0 { + margin-left: 0 + } + + .offset-xl-1 { + margin-left: 8.3333333333% + } + + .offset-xl-2 { + margin-left: 16.6666666667% + } + + .offset-xl-3 { + margin-left: 25% + } + + .offset-xl-4 { + margin-left: 33.3333333333% + } + + .offset-xl-5 { + margin-left: 41.6666666667% + } + + .offset-xl-6 { + margin-left: 50% + } + + .offset-xl-7 { + margin-left: 58.3333333333% + } + + .offset-xl-8 { + margin-left: 66.6666666667% + } + + .offset-xl-9 { + margin-left: 75% + } + + .offset-xl-10 { + margin-left: 83.3333333333% + } + + .offset-xl-11 { + margin-left: 91.6666666667% + } +} + +@media (min-width: 1600px) { + .col-xxl { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-xxl-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-xxl-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-xxl-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-xxl-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-xxl-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-xxl-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-xxl-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-xxl-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-xxl-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-xxl-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-xxl-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-xxl-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-xxl-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-xxl-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-xxl-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-xxl-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-xxl-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-xxl-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-xxl-first { + order: -1 + } + + .order-xxl-last { + order: 13 + } + + .order-xxl-0 { + order: 0 + } + + .order-xxl-1 { + order: 1 + } + + .order-xxl-2 { + order: 2 + } + + .order-xxl-3 { + order: 3 + } + + .order-xxl-4 { + order: 4 + } + + .order-xxl-5 { + order: 5 + } + + .order-xxl-6 { + order: 6 + } + + .order-xxl-7 { + order: 7 + } + + .order-xxl-8 { + order: 8 + } + + .order-xxl-9 { + order: 9 + } + + .order-xxl-10 { + order: 10 + } + + .order-xxl-11 { + order: 11 + } + + .order-xxl-12 { + order: 12 + } + + .offset-xxl-0 { + margin-left: 0 + } + + .offset-xxl-1 { + margin-left: 8.3333333333% + } + + .offset-xxl-2 { + margin-left: 16.6666666667% + } + + .offset-xxl-3 { + margin-left: 25% + } + + .offset-xxl-4 { + margin-left: 33.3333333333% + } + + .offset-xxl-5 { + margin-left: 41.6666666667% + } + + .offset-xxl-6 { + margin-left: 50% + } + + .offset-xxl-7 { + margin-left: 58.3333333333% + } + + .offset-xxl-8 { + margin-left: 66.6666666667% + } + + .offset-xxl-9 { + margin-left: 75% + } + + .offset-xxl-10 { + margin-left: 83.3333333333% + } + + .offset-xxl-11 { + margin-left: 91.6666666667% + } +} + +@media (min-width: 1800px) { + .col-fhd { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-fhd-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-fhd-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-fhd-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-fhd-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-fhd-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-fhd-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-fhd-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-fhd-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-fhd-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-fhd-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-fhd-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-fhd-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-fhd-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-fhd-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-fhd-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-fhd-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-fhd-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-fhd-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-fhd-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-fhd-first { + order: -1 + } + + .order-fhd-last { + order: 13 + } + + .order-fhd-0 { + order: 0 + } + + .order-fhd-1 { + order: 1 + } + + .order-fhd-2 { + order: 2 + } + + .order-fhd-3 { + order: 3 + } + + .order-fhd-4 { + order: 4 + } + + .order-fhd-5 { + order: 5 + } + + .order-fhd-6 { + order: 6 + } + + .order-fhd-7 { + order: 7 + } + + .order-fhd-8 { + order: 8 + } + + .order-fhd-9 { + order: 9 + } + + .order-fhd-10 { + order: 10 + } + + .order-fhd-11 { + order: 11 + } + + .order-fhd-12 { + order: 12 + } + + .offset-fhd-0 { + margin-left: 0 + } + + .offset-fhd-1 { + margin-left: 8.3333333333% + } + + .offset-fhd-2 { + margin-left: 16.6666666667% + } + + .offset-fhd-3 { + margin-left: 25% + } + + .offset-fhd-4 { + margin-left: 33.3333333333% + } + + .offset-fhd-5 { + margin-left: 41.6666666667% + } + + .offset-fhd-6 { + margin-left: 50% + } + + .offset-fhd-7 { + margin-left: 58.3333333333% + } + + .offset-fhd-8 { + margin-left: 66.6666666667% + } + + .offset-fhd-9 { + margin-left: 75% + } + + .offset-fhd-10 { + margin-left: 83.3333333333% + } + + .offset-fhd-11 { + margin-left: 91.6666666667% + } +} + +@media (min-width: 2560px) { + .col-qhd { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-qhd-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-qhd-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-qhd-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-qhd-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-qhd-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-qhd-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-qhd-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-qhd-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-qhd-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-qhd-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-qhd-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-qhd-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-qhd-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-qhd-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-qhd-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-qhd-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-qhd-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-qhd-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-qhd-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-qhd-first { + order: -1 + } + + .order-qhd-last { + order: 13 + } + + .order-qhd-0 { + order: 0 + } + + .order-qhd-1 { + order: 1 + } + + .order-qhd-2 { + order: 2 + } + + .order-qhd-3 { + order: 3 + } + + .order-qhd-4 { + order: 4 + } + + .order-qhd-5 { + order: 5 + } + + .order-qhd-6 { + order: 6 + } + + .order-qhd-7 { + order: 7 + } + + .order-qhd-8 { + order: 8 + } + + .order-qhd-9 { + order: 9 + } + + .order-qhd-10 { + order: 10 + } + + .order-qhd-11 { + order: 11 + } + + .order-qhd-12 { + order: 12 + } + + .offset-qhd-0 { + margin-left: 0 + } + + .offset-qhd-1 { + margin-left: 8.3333333333% + } + + .offset-qhd-2 { + margin-left: 16.6666666667% + } + + .offset-qhd-3 { + margin-left: 25% + } + + .offset-qhd-4 { + margin-left: 33.3333333333% + } + + .offset-qhd-5 { + margin-left: 41.6666666667% + } + + .offset-qhd-6 { + margin-left: 50% + } + + .offset-qhd-7 { + margin-left: 58.3333333333% + } + + .offset-qhd-8 { + margin-left: 66.6666666667% + } + + .offset-qhd-9 { + margin-left: 75% + } + + .offset-qhd-10 { + margin-left: 83.3333333333% + } + + .offset-qhd-11 { + margin-left: 91.6666666667% + } +} + +@media (min-width: 3840px) { + .col-uhd { + flex-basis:0; + flex-grow: 1; + max-width: 100% + } + + .row-cols-uhd-1>* { + flex: 0 0 100%; + max-width: 100% + } + + .row-cols-uhd-2>* { + flex: 0 0 50%; + max-width: 50% + } + + .row-cols-uhd-3>* { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .row-cols-uhd-4>* { + flex: 0 0 25%; + max-width: 25% + } + + .row-cols-uhd-5>* { + flex: 0 0 20%; + max-width: 20% + } + + .row-cols-uhd-6>* { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-uhd-auto { + flex: 0 0 auto; + width: auto; + max-width: 100% + } + + .col-uhd-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333% + } + + .col-uhd-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667% + } + + .col-uhd-3 { + flex: 0 0 25%; + max-width: 25% + } + + .col-uhd-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333% + } + + .col-uhd-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667% + } + + .col-uhd-6 { + flex: 0 0 50%; + max-width: 50% + } + + .col-uhd-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333% + } + + .col-uhd-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667% + } + + .col-uhd-9 { + flex: 0 0 75%; + max-width: 75% + } + + .col-uhd-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333% + } + + .col-uhd-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667% + } + + .col-uhd-12 { + flex: 0 0 100%; + max-width: 100% + } + + .order-uhd-first { + order: -1 + } + + .order-uhd-last { + order: 13 + } + + .order-uhd-0 { + order: 0 + } + + .order-uhd-1 { + order: 1 + } + + .order-uhd-2 { + order: 2 + } + + .order-uhd-3 { + order: 3 + } + + .order-uhd-4 { + order: 4 + } + + .order-uhd-5 { + order: 5 + } + + .order-uhd-6 { + order: 6 + } + + .order-uhd-7 { + order: 7 + } + + .order-uhd-8 { + order: 8 + } + + .order-uhd-9 { + order: 9 + } + + .order-uhd-10 { + order: 10 + } + + .order-uhd-11 { + order: 11 + } + + .order-uhd-12 { + order: 12 + } + + .offset-uhd-0 { + margin-left: 0 + } + + .offset-uhd-1 { + margin-left: 8.3333333333% + } + + .offset-uhd-2 { + margin-left: 16.6666666667% + } + + .offset-uhd-3 { + margin-left: 25% + } + + .offset-uhd-4 { + margin-left: 33.3333333333% + } + + .offset-uhd-5 { + margin-left: 41.6666666667% + } + + .offset-uhd-6 { + margin-left: 50% + } + + .offset-uhd-7 { + margin-left: 58.3333333333% + } + + .offset-uhd-8 { + margin-left: 66.6666666667% + } + + .offset-uhd-9 { + margin-left: 75% + } + + .offset-uhd-10 { + margin-left: 83.3333333333% + } + + .offset-uhd-11 { + margin-left: 91.6666666667% + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529 +} + +.table td,.table th { + padding: .75rem; + vertical-align: top; + border-top: 1px solid #dee2e6 +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6 +} + +.table tbody+tbody { + border-top: 2px solid #dee2e6 +} + +.table-sm td,.table-sm th { + padding: .3rem +} + +.table-bordered,.table-bordered td,.table-bordered th { + border: 1px solid #dee2e6 +} + +.table-bordered thead td,.table-bordered thead th { + border-bottom-width: 2px +} + +.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th { + border: 0 +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: #0000000d +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0,0,0,.075) +} + +.table-primary,.table-primary>td,.table-primary>th { + background-color: #b8daff +} + +.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th { + border-color: #7abaff +} + +.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th { + background-color: #9fcdff +} + +.table-secondary,.table-secondary>td,.table-secondary>th { + background-color: #d6d8db +} + +.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th { + border-color: #b3b7bb +} + +.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th { + background-color: #c8cbcf +} + +.table-success,.table-success>td,.table-success>th { + background-color: #c8f1bb +} + +.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th { + border-color: #98e480 +} + +.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th { + background-color: #b7eda6 +} + +.table-info,.table-info>td,.table-info>th { + background-color: #bee5eb +} + +.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th { + border-color: #86cfda +} + +.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th { + background-color: #abdde5 +} + +.table-warning,.table-warning>td,.table-warning>th { + background-color: #ffeeba +} + +.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th { + border-color: #ffdf7e +} + +.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th { + background-color: #ffe8a1 +} + +.table-danger,.table-danger>td,.table-danger>th { + background-color: #ffb8b8 +} + +.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th { + border-color: #ff7a7a +} + +.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th { + background-color: #ff9f9f +} + +.table-light,.table-light>td,.table-light>th { + background-color: #fdfdfe +} + +.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th { + border-color: #fbfcfc +} + +.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th { + background-color: #ececf6 +} + +.table-dark,.table-dark>td,.table-dark>th { + background-color: #c6c8ca +} + +.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th { + border-color: #95999c +} + +.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th { + background-color: #b9bbbe +} + +.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th { + background-color: rgba(0,0,0,.075) +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55 +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6 +} + +.table-dark { + color: #fff; + background-color: #343a40 +} + +.table-dark td,.table-dark th,.table-dark thead th { + border-color: #454d55 +} + +.table-dark.table-bordered { + border: 0 +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: #ffffff0d +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: hsla(0,0%,100%,.075) +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-sm>.table-bordered { + border: 0 + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-md>.table-bordered { + border: 0 + } +} + +@media (max-width: 899.98px) { + .table-responsive-lg { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-lg>.table-bordered { + border: 0 + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-xl>.table-bordered { + border: 0 + } +} + +@media (max-width: 1599.98px) { + .table-responsive-xxl { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-xxl>.table-bordered { + border: 0 + } +} + +@media (max-width: 1799.98px) { + .table-responsive-fhd { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-fhd>.table-bordered { + border: 0 + } +} + +@media (max-width: 2559.98px) { + .table-responsive-qhd { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-qhd>.table-bordered { + border: 0 + } +} + +@media (max-width: 3839.98px) { + .table-responsive-uhd { + display:block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch + } + + .table-responsive-uhd>.table-bordered { + border: 0 + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch +} + +.table-responsive>.table-bordered { + border: 0 +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + .75rem + 2px); + padding: .375rem .75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: .25rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none + } +} + +.form-control::-ms-expand { + background-color: initial; + border: 0 +} + +.form-control:-moz-focusring { + color: #0000; + text-shadow: 0 0 0 #495057 +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #ced4da; + outline: 0; + box-shadow: 0 0 0 0 inherit +} + +.form-control::placeholder { + color: #898989; + opacity: 1 +} + +.form-control:disabled,.form-control[readonly] { + background-color: #e9ecef; + opacity: 1 +} + +input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff +} + +.form-control-file,.form-control-range { + display: block; + width: 100% +} + +.col-form-label { + padding-top: calc(.375rem + 1px); + padding-bottom: calc(.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5 +} + +.col-form-label-lg { + padding-top: calc(.5rem + 1px); + padding-bottom: calc(.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5 +} + +.col-form-label-sm { + padding-top: calc(.25rem + 1px); + padding-bottom: calc(.25rem + 1px); + font-size: .875rem; + line-height: 1.5 +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: .375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: initial; + border: solid #0000; + border-width: 1px 0 +} + +.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm { + padding-right: 0; + padding-left: 0 +} + +.form-control-sm { + height: calc(1.5em + .5rem + 2px); + padding: .25rem .5rem; + font-size: .875rem; + line-height: 1.5; + border-radius: .2rem +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: .5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: .3rem +} + +select.form-control[multiple],select.form-control[size],textarea.form-control { + height: auto +} + +.form-group { + margin-bottom: 1rem +} + +.form-text { + display: block; + margin-top: .25rem +} + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px +} + +.form-row>.col,.form-row>[class*=col-] { + padding-right: 5px; + padding-left: 5px +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem +} + +.form-check-input { + position: absolute; + margin-top: .3rem; + margin-left: -1.25rem +} + +.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label { + color: #6c757d +} + +.form-check-label { + margin-bottom: 0 +} + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: .75rem +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: .3125rem; + margin-left: 0 +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: .25rem; + font-size: 80%; + color: #39cc0b +} + +.valid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: .25rem .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1.5; + color: #fff; + background-color: #39cc0be6; + border-radius: .25rem +} + +.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip { + left: 5px +} + +.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip { + display: block +} + +.form-control.is-valid,.was-validated .form-control:valid { + border-color: #39cc0b; + padding-right: calc(1.5em + .75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2339CC0B' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(.375em + .1875rem) center; + background-size: calc(.75em + .375rem) calc(.75em + .375rem) +} + +.form-control.is-valid:focus,.was-validated .form-control:valid:focus { + border-color: #39cc0b; + box-shadow: 0 0 0 0 #39cc0b40 +} + +.was-validated textarea.form-control:valid,textarea.form-control.is-valid { + padding-right: calc(1.5em + .75rem); + background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem) +} + +.custom-select.is-valid,.was-validated .custom-select:valid { + border-color: #39cc0b; + padding-right: calc(.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2339CC0B' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat +} + +.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus { + border-color: #39cc0b; + box-shadow: 0 0 0 0 #39cc0b40 +} + +.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label { + color: #39cc0b +} + +.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip { + display: block +} + +.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label { + color: #39cc0b +} + +.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before { + border-color: #39cc0b +} + +.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before { + border-color: #4cf317; + background-color: #4cf317 +} + +.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before { + box-shadow: 0 0 0 0 #39cc0b40 +} + +.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label { + border-color: #39cc0b +} + +.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label { + border-color: #39cc0b; + box-shadow: 0 0 0 0 #39cc0b40 +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: .25rem; + font-size: 80%; + color: red +} + +.invalid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: .25rem .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1.5; + color: #fff; + background-color: #ff0000e6; + border-radius: .25rem +} + +.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip { + left: 5px +} + +.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip { + display: block +} + +.form-control.is-invalid,.was-validated .form-control:invalid { + border-color: red; + padding-right: calc(1.5em + .75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF0000' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF0000' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(.375em + .1875rem) center; + background-size: calc(.75em + .375rem) calc(.75em + .375rem) +} + +.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus { + border-color: red; + box-shadow: 0 0 0 0 #ff000040 +} + +.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid { + padding-right: calc(1.5em + .75rem); + background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem) +} + +.custom-select.is-invalid,.was-validated .custom-select:invalid { + border-color: red; + padding-right: calc(.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF0000' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF0000' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat +} + +.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus { + border-color: red; + box-shadow: 0 0 0 0 #ff000040 +} + +.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label { + color: red +} + +.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip { + display: block +} + +.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label { + color: red +} + +.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before { + border-color: red +} + +.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before { + border-color: #f33; + background-color: #f33 +} + +.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before { + box-shadow: 0 0 0 0 #ff000040 +} + +.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label { + border-color: red +} + +.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label { + border-color: red; + box-shadow: 0 0 0 0 #ff000040 +} + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center +} + +.form-inline .form-check { + width: 100% +} + +@media (min-width: 576px) { + .form-inline label { + justify-content:center + } + + .form-inline .form-group,.form-inline label { + display: flex; + align-items: center; + margin-bottom: 0 + } + + .form-inline .form-group { + flex: 0 0 auto; + flex-flow: row wrap + } + + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle + } + + .form-inline .form-control-plaintext { + display: inline-block + } + + .form-inline .custom-select,.form-inline .input-group { + width: auto + } + + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0 + } + + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: .25rem; + margin-left: 0 + } + + .form-inline .custom-control { + align-items: center; + justify-content: center + } + + .form-inline .custom-control-label { + margin-bottom: 0 + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + user-select: none; + background-color: initial; + border: 1px solid #0000; + padding: .375rem .75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: .25rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none + } +} + +.btn:hover { + color: #212529; + text-decoration: none +} + +.btn.focus,.btn:focus { + outline: 0; + box-shadow: 0 0 0 0 inherit +} + +.btn.disabled,.btn:disabled { + opacity: .65 +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer +} + +a.btn.disabled,fieldset:disabled a.btn { + pointer-events: none +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-primary.focus,.btn-primary:focus,.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc +} + +.btn-primary.focus,.btn-primary:focus { + box-shadow: 0 0 0 0 #268fff80 +} + +.btn-primary.disabled,.btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf +} + +.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #268fff80 +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62 +} + +.btn-secondary.focus,.btn-secondary:focus { + box-shadow: 0 0 0 0 #828a9180 +} + +.btn-secondary.disabled,.btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b +} + +.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #828a9180 +} + +.btn-success { + color: #fff; + background-color: #39cc0b; + border-color: #39cc0b +} + +.btn-success.focus,.btn-success:focus,.btn-success:hover { + color: #fff; + background-color: #2fa809; + border-color: #2b9c08 +} + +.btn-success.focus,.btn-success:focus { + box-shadow: 0 0 0 0 #57d43080 +} + +.btn-success.disabled,.btn-success:disabled { + color: #fff; + background-color: #39cc0b; + border-color: #39cc0b +} + +.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle { + color: #fff; + background-color: #2b9c08; + border-color: #289008 +} + +.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #57d43080 +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-info.focus,.btn-info:focus,.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b +} + +.btn-info.focus,.btn-info:focus { + box-shadow: 0 0 0 0 #3ab0c380 +} + +.btn-info.disabled,.btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f +} + +.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #3ab0c380 +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-warning.focus,.btn-warning:focus,.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00 +} + +.btn-warning.focus,.btn-warning:focus { + box-shadow: 0 0 0 0 #deaa0c80 +} + +.btn-warning.disabled,.btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500 +} + +.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #deaa0c80 +} + +.btn-danger { + color: #fff; + background-color: red; + border-color: red +} + +.btn-danger.focus,.btn-danger:focus,.btn-danger:hover { + color: #fff; + background-color: #d90000; + border-color: #c00 +} + +.btn-danger.focus,.btn-danger:focus { + box-shadow: 0 0 0 0 #ff262680 +} + +.btn-danger.disabled,.btn-danger:disabled { + color: #fff; + background-color: red; + border-color: red +} + +.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle { + color: #fff; + background-color: #c00; + border-color: #bf0000 +} + +.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #ff262680 +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-light.focus,.btn-light:focus,.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5 +} + +.btn-light.focus,.btn-light:focus { + box-shadow: 0 0 0 0 #d8d9db80 +} + +.btn-light.disabled,.btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df +} + +.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #d8d9db80 +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-dark.focus,.btn-dark:focus,.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124 +} + +.btn-dark.focus,.btn-dark:focus { + box-shadow: 0 0 0 0 #52585d80 +} + +.btn-dark.disabled,.btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d +} + +.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #52585d80 +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-outline-primary.focus,.btn-outline-primary:focus { + box-shadow: 0 0 0 0 #007bff80 +} + +.btn-outline-primary.disabled,.btn-outline-primary:disabled { + color: #007bff; + background-color: initial +} + +.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #007bff80 +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-outline-secondary.focus,.btn-outline-secondary:focus { + box-shadow: 0 0 0 0 #6c757d80 +} + +.btn-outline-secondary.disabled,.btn-outline-secondary:disabled { + color: #6c757d; + background-color: initial +} + +.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #6c757d80 +} + +.btn-outline-success { + color: #39cc0b; + border-color: #39cc0b +} + +.btn-outline-success:hover { + color: #fff; + background-color: #39cc0b; + border-color: #39cc0b +} + +.btn-outline-success.focus,.btn-outline-success:focus { + box-shadow: 0 0 0 0 #39cc0b80 +} + +.btn-outline-success.disabled,.btn-outline-success:disabled { + color: #39cc0b; + background-color: initial +} + +.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #39cc0b; + border-color: #39cc0b +} + +.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #39cc0b80 +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8 +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-outline-info.focus,.btn-outline-info:focus { + box-shadow: 0 0 0 0 #17a2b880 +} + +.btn-outline-info.disabled,.btn-outline-info:disabled { + color: #17a2b8; + background-color: initial +} + +.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #17a2b880 +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107 +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-outline-warning.focus,.btn-outline-warning:focus { + box-shadow: 0 0 0 0 #ffc10780 +} + +.btn-outline-warning.disabled,.btn-outline-warning:disabled { + color: #ffc107; + background-color: initial +} + +.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #ffc10780 +} + +.btn-outline-danger { + color: red; + border-color: red +} + +.btn-outline-danger:hover { + color: #fff; + background-color: red; + border-color: red +} + +.btn-outline-danger.focus,.btn-outline-danger:focus { + box-shadow: 0 0 0 0 #ff000080 +} + +.btn-outline-danger.disabled,.btn-outline-danger:disabled { + color: red; + background-color: initial +} + +.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: red; + border-color: red +} + +.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #ff000080 +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-outline-light.focus,.btn-outline-light:focus { + box-shadow: 0 0 0 0 #f8f9fa80 +} + +.btn-outline-light.disabled,.btn-outline-light:disabled { + color: #f8f9fa; + background-color: initial +} + +.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #f8f9fa80 +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40 +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-outline-dark.focus,.btn-outline-dark:focus { + box-shadow: 0 0 0 0 #343a4080 +} + +.btn-outline-dark.disabled,.btn-outline-dark:disabled { + color: #343a40; + background-color: initial +} + +.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0 #343a4080 +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none +} + +.btn-link:hover { + color: #0056b3 +} + +.btn-link.focus,.btn-link:focus,.btn-link:hover { + text-decoration: underline +} + +.btn-link.disabled,.btn-link:disabled { + color: #6c757d; + pointer-events: none +} + +.btn-group-lg>.btn,.btn-lg { + padding: .5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: .3rem +} + +.btn-group-sm>.btn,.btn-sm { + padding: .25rem .5rem; + font-size: .875rem; + line-height: 1.5; + border-radius: .2rem +} + +.btn-block { + display: block; + width: 100% +} + +.btn-block+.btn-block { + margin-top: .5rem +} + +input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block { + width: 100% +} + +.dropdown,.dropleft,.dropright,.dropup { + position: relative +} + +.dropdown-toggle { + white-space: nowrap +} + +.dropdown-toggle:empty:after { + margin-left: 0 +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: .5rem 0; + margin: .125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #00000026; + border-radius: .25rem +} + +.dropdown-menu-left { + right: auto; + left: 0 +} + +.dropdown-menu-right { + right: 0; + left: auto +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right:auto; + left: 0 + } + + .dropdown-menu-sm-right { + right: 0; + left: auto + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right:auto; + left: 0 + } + + .dropdown-menu-md-right { + right: 0; + left: auto + } +} + +@media (min-width: 900px) { + .dropdown-menu-lg-left { + right:auto; + left: 0 + } + + .dropdown-menu-lg-right { + right: 0; + left: auto + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right:auto; + left: 0 + } + + .dropdown-menu-xl-right { + right: 0; + left: auto + } +} + +@media (min-width: 1600px) { + .dropdown-menu-xxl-left { + right:auto; + left: 0 + } + + .dropdown-menu-xxl-right { + right: 0; + left: auto + } +} + +@media (min-width: 1800px) { + .dropdown-menu-fhd-left { + right:auto; + left: 0 + } + + .dropdown-menu-fhd-right { + right: 0; + left: auto + } +} + +@media (min-width: 2560px) { + .dropdown-menu-qhd-left { + right:auto; + left: 0 + } + + .dropdown-menu-qhd-right { + right: 0; + left: auto + } +} + +@media (min-width: 3840px) { + .dropdown-menu-uhd-left { + right:auto; + left: 0 + } + + .dropdown-menu-uhd-right { + right: 0; + left: auto + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: .125rem +} + +.dropup .dropdown-toggle:after { + display: inline-block; + margin-left: .255em; + vertical-align: .255em; + content: ""; + border-top: 0; + border-right: .3em solid #0000; + border-bottom: .3em solid; + border-left: .3em solid #0000 +} + +.dropup .dropdown-toggle:empty:after { + margin-left: 0 +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: .125rem +} + +.dropright .dropdown-toggle:after { + display: inline-block; + margin-left: .255em; + vertical-align: .255em; + content: ""; + border-top: .3em solid #0000; + border-right: 0; + border-bottom: .3em solid #0000; + border-left: .3em solid +} + +.dropright .dropdown-toggle:empty:after { + margin-left: 0 +} + +.dropright .dropdown-toggle:after { + vertical-align: 0 +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: .125rem +} + +.dropleft .dropdown-toggle:after { + display: inline-block; + margin-left: .255em; + vertical-align: .255em; + content: ""; + display: none +} + +.dropleft .dropdown-toggle:before { + display: inline-block; + margin-right: .255em; + vertical-align: .255em; + content: ""; + border-top: .3em solid #0000; + border-right: .3em solid; + border-bottom: .3em solid #0000 +} + +.dropleft .dropdown-toggle:empty:after { + margin-left: 0 +} + +.dropleft .dropdown-toggle:before { + vertical-align: 0 +} + +.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top] { + right: auto; + bottom: auto +} + +.dropdown-divider { + height: 0; + margin: .5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef +} + +.dropdown-item { + display: block; + width: 100%; + padding: .25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: initial; + border: 0 +} + +.dropdown-item:focus,.dropdown-item:hover { + color: #16181b; + text-decoration: none; + background-color: #e9ecef +} + +.dropdown-item.active,.dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: inherit +} + +.dropdown-item.disabled,.dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: initial +} + +.dropdown-menu.show { + display: block +} + +.dropdown-header { + display: block; + padding: .5rem 1.5rem; + margin-bottom: 0; + font-size: .875rem; + color: #6c757d; + white-space: nowrap +} + +.dropdown-item-text { + display: block; + padding: .25rem 1.5rem; + color: #212529 +} + +.btn-group,.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle +} + +.btn-group-vertical>.btn,.btn-group>.btn { + position: relative; + flex: 1 1 auto +} + +.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover { + z-index: 1 +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start +} + +.btn-toolbar .input-group { + width: auto +} + +.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child) { + margin-left: -1px +} + +.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.dropdown-toggle-split { + padding-right: .5625rem; + padding-left: .5625rem +} + +.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after { + margin-left: 0 +} + +.dropleft .dropdown-toggle-split:before { + margin-right: 0 +} + +.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split { + padding-right: .375rem; + padding-left: .375rem +} + +.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split { + padding-right: .75rem; + padding-left: .75rem +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center +} + +.btn-group-vertical>.btn,.btn-group-vertical>.btn-group { + width: 100% +} + +.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child) { + margin-top: -1px +} + +.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn { + margin-bottom: 0 +} + +.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100% +} + +.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0 +} + +.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control { + margin-left: -1px +} + +.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus { + z-index: 3 +} + +.input-group>.custom-file .custom-file-input:focus { + z-index: 4 +} + +.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.input-group>.custom-file { + display: flex; + align-items: center +} + +.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.input-group-append,.input-group-prepend { + display: flex +} + +.input-group-append .btn,.input-group-prepend .btn { + position: relative; + z-index: 2 +} + +.input-group-append .btn:focus,.input-group-prepend .btn:focus { + z-index: 3 +} + +.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text { + margin-left: -1px +} + +.input-group-prepend { + margin-right: -1px +} + +.input-group-append { + margin-left: -1px +} + +.input-group-text { + display: flex; + align-items: center; + padding: .375rem .75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: .25rem +} + +.input-group-text input[type=checkbox],.input-group-text input[type=radio] { + margin-top: 0 +} + +.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea) { + height: calc(1.5em + 1rem + 2px) +} + +.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text { + padding: .5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: .3rem +} + +.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea) { + height: calc(1.5em + .5rem + 2px) +} + +.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text { + padding: .25rem .5rem; + font-size: .875rem; + line-height: 1.5; + border-radius: .2rem +} + +.input-group-lg>.custom-select,.input-group-sm>.custom-select { + padding-right: 1.75rem +} + +.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none +} + +.nav-link { + display: block; + padding: .5rem 1rem +} + +.nav-link:focus,.nav-link:hover { + text-decoration: none +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6 +} + +.nav-tabs .nav-link { + margin-bottom: -1px; + border: 1px solid #0000; + border-top-left-radius: .25rem; + border-top-right-radius: .25rem +} + +.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover { + border-color: #e9ecef #e9ecef #dee2e6 +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: initial; + border-color: #0000 +} + +.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.nav-pills .nav-link { + border-radius: .25rem +} + +.nav-pills .nav-link.active,.nav-pills .show>.nav-link { + color: #000; + background-color: #f0f0f0 +} + +.nav-fill .nav-item,.nav-fill>.nav-link { + flex: 1 1 auto; + text-align: center +} + +.nav-justified .nav-item,.nav-justified>.nav-link { + flex-basis: 0; + flex-grow: 1; + text-align: center +} + +.tab-content>.tab-pane { + display: none +} + +.tab-content>.active { + display: block +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: initial; + border: 1px solid rgba(0,0,0,.125); + border-radius: .25rem +} + +.card>hr { + margin-right: 0; + margin-left: 0 +} + +.card>.list-group { + border-top: inherit; + border-bottom: inherit +} + +.card>.list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(.25rem - 1px); + border-top-right-radius: calc(.25rem - 1px) +} + +.card>.list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(.25rem - 1px); + border-bottom-left-radius: calc(.25rem - 1px) +} + +.card>.card-header+.list-group,.card>.list-group+.card-footer { + border-top: 0 +} + +.card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem +} + +.card-title { + margin-bottom: .75rem +} + +.card-subtitle { + margin-top: -.375rem +} + +.card-subtitle,.card-text:last-child { + margin-bottom: 0 +} + +.card-link:hover { + text-decoration: none +} + +.card-link+.card-link { + margin-left: 1.25rem +} + +.card-header { + padding: .75rem 1.25rem; + margin-bottom: 0; + background-color: #00000008; + border-bottom: 1px solid rgba(0,0,0,.125) +} + +.card-header:first-child { + border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0 +} + +.card-footer { + padding: .75rem 1.25rem; + background-color: #00000008; + border-top: 1px solid rgba(0,0,0,.125) +} + +.card-footer:last-child { + border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px) +} + +.card-header-tabs { + margin-bottom: -.75rem; + border-bottom: 0 +} + +.card-header-pills,.card-header-tabs { + margin-right: -.625rem; + margin-left: -.625rem +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; + border-radius: calc(.25rem - 1px) +} + +.card-img,.card-img-bottom,.card-img-top { + flex-shrink: 0; + width: 100% +} + +.card-img,.card-img-top { + border-top-left-radius: calc(.25rem - 1px); + border-top-right-radius: calc(.25rem - 1px) +} + +.card-img,.card-img-bottom { + border-bottom-right-radius: calc(.25rem - 1px); + border-bottom-left-radius: calc(.25rem - 1px) +} + +.card-deck .card { + margin-bottom: 15px +} + +@media (min-width: 576px) { + .card-deck { + display:flex; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px + } + + .card-deck .card { + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px + } +} + +.card-group>.card { + margin-bottom: 15px +} + +@media (min-width: 576px) { + .card-group { + display:flex; + flex-flow: row wrap + } + + .card-group>.card { + flex: 1 0 0%; + margin-bottom: 0 + } + + .card-group>.card+.card { + margin-left: 0; + border-left: 0 + } + + .card-group>.card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0 + } + + .card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top { + border-top-right-radius: 0 + } + + .card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom { + border-bottom-right-radius: 0 + } + + .card-group>.card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0 + } + + .card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top { + border-top-left-radius: 0 + } + + .card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom { + border-bottom-left-radius: 0 + } +} + +.card-columns .card { + margin-bottom: .75rem +} + +@media (min-width: 576px) { + .card-columns { + column-count:3; + grid-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1 + } + + .card-columns .card { + display: inline-block; + width: 100% + } +} + +.accordion { + overflow-anchor: none +} + +.accordion>.card { + overflow: hidden +} + +.accordion>.card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.accordion>.card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.accordion>.card>.card-header { + border-radius: 0; + margin-bottom: -1px +} + +.badge { + display: inline-block; + padding: .25em .4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: initial; + border-radius: .25rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none + } +} + +a.badge:focus,a.badge:hover { + text-decoration: none +} + +.badge:empty { + display: none +} + +.btn .badge { + position: relative; + top: -1px +} + +.badge-pill { + padding-right: .6em; + padding-left: .6em; + border-radius: 10rem +} + +.badge-primary { + color: #fff; + background-color: #007bff +} + +a.badge-primary:focus,a.badge-primary:hover { + color: #fff; + background-color: #0062cc +} + +a.badge-primary.focus,a.badge-primary:focus { + outline: 0; + box-shadow: 0 0 0 0 #007bff80 +} + +.badge-secondary { + color: #fff; + background-color: #6c757d +} + +a.badge-secondary:focus,a.badge-secondary:hover { + color: #fff; + background-color: #545b62 +} + +a.badge-secondary.focus,a.badge-secondary:focus { + outline: 0; + box-shadow: 0 0 0 0 #6c757d80 +} + +.badge-success { + color: #fff; + background-color: #39cc0b +} + +a.badge-success:focus,a.badge-success:hover { + color: #fff; + background-color: #2b9c08 +} + +a.badge-success.focus,a.badge-success:focus { + outline: 0; + box-shadow: 0 0 0 0 #39cc0b80 +} + +.badge-info { + color: #fff; + background-color: #17a2b8 +} + +a.badge-info:focus,a.badge-info:hover { + color: #fff; + background-color: #117a8b +} + +a.badge-info.focus,a.badge-info:focus { + outline: 0; + box-shadow: 0 0 0 0 #17a2b880 +} + +.badge-warning { + color: #212529; + background-color: #ffc107 +} + +a.badge-warning:focus,a.badge-warning:hover { + color: #212529; + background-color: #d39e00 +} + +a.badge-warning.focus,a.badge-warning:focus { + outline: 0; + box-shadow: 0 0 0 0 #ffc10780 +} + +.badge-danger { + color: #fff; + background-color: red +} + +a.badge-danger:focus,a.badge-danger:hover { + color: #fff; + background-color: #c00 +} + +a.badge-danger.focus,a.badge-danger:focus { + outline: 0; + box-shadow: 0 0 0 0 #ff000080 +} + +.badge-light { + color: #212529; + background-color: #f8f9fa +} + +a.badge-light:focus,a.badge-light:hover { + color: #212529; + background-color: #dae0e5 +} + +a.badge-light.focus,a.badge-light:focus { + outline: 0; + box-shadow: 0 0 0 0 #f8f9fa80 +} + +.badge-dark { + color: #fff; + background-color: #343a40 +} + +a.badge-dark:focus,a.badge-dark:hover { + color: #fff; + background-color: #1d2124 +} + +a.badge-dark.focus,a.badge-dark:focus { + outline: 0; + box-shadow: 0 0 0 0 #343a4080 +} + +.alert { + position: relative; + padding: .75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid #0000; + border-radius: .25rem +} + +.alert-heading { + color: inherit +} + +.alert-link { + font-weight: 700 +} + +.alert-dismissible { + padding-right: 4rem +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: .75rem 1.25rem; + color: inherit +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff +} + +.alert-primary hr { + border-top-color: #9fcdff +} + +.alert-primary .alert-link { + color: #002752 +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db +} + +.alert-secondary hr { + border-top-color: #c8cbcf +} + +.alert-secondary .alert-link { + color: #202326 +} + +.alert-success { + color: #1e6a06; + background-color: #d7f5ce; + border-color: #c8f1bb +} + +.alert-success hr { + border-top-color: #b7eda6 +} + +.alert-success .alert-link { + color: #103a03 +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb +} + +.alert-info hr { + border-top-color: #abdde5 +} + +.alert-info .alert-link { + color: #062c33 +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba +} + +.alert-warning hr { + border-top-color: #ffe8a1 +} + +.alert-warning .alert-link { + color: #533f03 +} + +.alert-danger { + color: #850000; + background-color: #fcc; + border-color: #ffb8b8 +} + +.alert-danger hr { + border-top-color: #ff9f9f +} + +.alert-danger .alert-link { + color: #520000 +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe +} + +.alert-light hr { + border-top-color: #ececf6 +} + +.alert-light .alert-link { + color: #686868 +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca +} + +.alert-dark hr { + border-top-color: #b9bbbe +} + +.alert-dark .alert-link { + color: #040505 +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5 +} + +.close:hover { + color: #000; + text-decoration: none +} + +.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover { + opacity: .75 +} + +button.close { + padding: 0; + background-color: initial; + border: 0 +} + +a.close.disabled { + pointer-events: none +} + +.modal-open { + overflow: hidden +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0 +} + +.modal-dialog { + position: relative; + width: auto; + margin: .5rem; + pointer-events: none +} + +.modal.fade .modal-dialog { + transition: transform .3s ease-out; + transform: translateY(-50px) +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none + } +} + +.modal.show .modal-dialog { + transform: none +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02) +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem) +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden +} + +.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header { + flex-shrink: 0 +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem) +} + +.modal-dialog-centered:before { + display: block; + height: calc(100vh - 1rem); + height: -webkit-min-content; + height: min-content; + content: "" +} + +.modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100% +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none +} + +.modal-dialog-centered.modal-dialog-scrollable:before { + content: none +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #0003; + border-radius: .3rem; + outline: 0 +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000 +} + +.modal-backdrop.fade { + opacity: 0 +} + +.modal-backdrop.show { + opacity: .5 +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(.3rem - 1px); + border-top-right-radius: calc(.3rem - 1px) +} + +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5 +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: .75rem; + border-top: 0 solid #dee2e6; + border-bottom-right-radius: calc(.3rem - 1px); + border-bottom-left-radius: calc(.3rem - 1px) +} + +.modal-footer>* { + margin: .25rem +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll +} + +@media (min-width: 576px) { + .modal-dialog { + max-width:600px; + margin: 1.75rem auto + } + + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem) + } + + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem) + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem) + } + + .modal-dialog-centered:before { + height: calc(100vh - 3.5rem); + height: -webkit-min-content; + height: min-content + } + + .modal-sm { + max-width: 300px + } +} + +@media (min-width: 900px) { + .modal-lg,.modal-xl { + max-width:800px + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width:1140px + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: .875rem; + word-wrap: break-word; + opacity: 0 +} + +.tooltip.show { + opacity: .9 +} + +.tooltip .arrow { + position: absolute; + display: block; + width: .8rem; + height: .4rem +} + +.tooltip .arrow:before { + position: absolute; + content: ""; + border-color: #0000; + border-style: solid +} + +.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top { + padding: .4rem 0 +} + +.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow { + bottom: 0 +} + +.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before { + top: 0; + border-width: .4rem .4rem 0; + border-top-color: #000 +} + +.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right { + padding: 0 .4rem +} + +.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow { + left: 0; + width: .4rem; + height: .8rem +} + +.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before { + right: 0; + border-width: .4rem .4rem .4rem 0; + border-right-color: #000 +} + +.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom { + padding: .4rem 0 +} + +.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow { + top: 0 +} + +.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before { + bottom: 0; + border-width: 0 .4rem .4rem; + border-bottom-color: #000 +} + +.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left { + padding: 0 .4rem +} + +.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow { + right: 0; + width: .4rem; + height: .8rem +} + +.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before { + left: 0; + border-width: .4rem 0 .4rem .4rem; + border-left-color: #000 +} + +.tooltip-inner { + max-width: 200px; + padding: .25rem .5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: .25rem +} + +.popover { + top: 0; + left: 0; + z-index: 1060; + max-width: 276px; + font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: .875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #0003; + border-radius: .3rem +} + +.popover,.popover .arrow { + position: absolute; + display: block +} + +.popover .arrow { + width: 1rem; + height: .5rem; + margin: 0 .3rem +} + +.popover .arrow:after,.popover .arrow:before { + position: absolute; + display: block; + content: ""; + border-color: #0000; + border-style: solid +} + +.bs-popover-auto[x-placement^=top],.bs-popover-top { + margin-bottom: .5rem +} + +.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow { + bottom: calc(-.5rem - 1px) +} + +.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before { + bottom: 0; + border-width: .5rem .5rem 0; + border-top-color: #00000040 +} + +.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after { + bottom: 1px; + border-width: .5rem .5rem 0; + border-top-color: #fff +} + +.bs-popover-auto[x-placement^=right],.bs-popover-right { + margin-left: .5rem +} + +.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow { + left: calc(-.5rem - 1px); + width: .5rem; + height: 1rem; + margin: .3rem 0 +} + +.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before { + left: 0; + border-width: .5rem .5rem .5rem 0; + border-right-color: #00000040 +} + +.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after { + left: 1px; + border-width: .5rem .5rem .5rem 0; + border-right-color: #fff +} + +.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom { + margin-top: .5rem +} + +.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow { + top: calc(-.5rem - 1px) +} + +.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before { + top: 0; + border-width: 0 .5rem .5rem; + border-bottom-color: #00000040 +} + +.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after { + top: 1px; + border-width: 0 .5rem .5rem; + border-bottom-color: #fff +} + +.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7 +} + +.bs-popover-auto[x-placement^=left],.bs-popover-left { + margin-right: .5rem +} + +.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow { + right: calc(-.5rem - 1px); + width: .5rem; + height: 1rem; + margin: .3rem 0 +} + +.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before { + right: 0; + border-width: .5rem 0 .5rem .5rem; + border-left-color: #00000040 +} + +.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after { + right: 1px; + border-width: .5rem 0 .5rem .5rem; + border-left-color: #fff +} + +.popover-header { + padding: .5rem .75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(.3rem - 1px); + border-top-right-radius: calc(.3rem - 1px) +} + +.popover-header:empty { + display: none +} + +.popover-body { + padding: .5rem .75rem; + color: #212529 +} + +.align-baseline { + vertical-align: initial!important +} + +.align-top { + vertical-align: top!important +} + +.align-middle { + vertical-align: middle!important +} + +.align-bottom { + vertical-align: bottom!important +} + +.align-text-bottom { + vertical-align: text-bottom!important +} + +.align-text-top { + vertical-align: text-top!important +} + +.bg-primary { + background-color: #007bff!important +} + +a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover { + background-color: #0062cc!important +} + +.bg-secondary { + background-color: #6c757d!important +} + +a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover { + background-color: #545b62!important +} + +.bg-success { + background-color: #39cc0b!important +} + +a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover { + background-color: #2b9c08!important +} + +.bg-info { + background-color: #17a2b8!important +} + +a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover { + background-color: #117a8b!important +} + +.bg-warning { + background-color: #ffc107!important +} + +a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover { + background-color: #d39e00!important +} + +.bg-danger { + background-color: red!important +} + +a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover { + background-color: #c00!important +} + +.bg-light { + background-color: #f8f9fa!important +} + +a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover { + background-color: #dae0e5!important +} + +.bg-dark { + background-color: #343a40!important +} + +a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover { + background-color: #1d2124!important +} + +.bg-white { + background-color: #fff!important +} + +.bg-transparent { + background-color: initial!important +} + +.border { + border: 1px solid #dee2e6!important +} + +.border-top { + border-top: 1px solid #dee2e6!important +} + +.border-right { + border-right: 1px solid #dee2e6!important +} + +.border-bottom { + border-bottom: 1px solid #dee2e6!important +} + +.border-left { + border-left: 1px solid #dee2e6!important +} + +.border-0 { + border: 0!important +} + +.border-top-0 { + border-top: 0!important +} + +.border-right-0 { + border-right: 0!important +} + +.border-bottom-0 { + border-bottom: 0!important +} + +.border-left-0 { + border-left: 0!important +} + +.border-primary { + border-color: #007bff!important +} + +.border-secondary { + border-color: #6c757d!important +} + +.border-success { + border-color: #39cc0b!important +} + +.border-info { + border-color: #17a2b8!important +} + +.border-warning { + border-color: #ffc107!important +} + +.border-danger { + border-color: red!important +} + +.border-light { + border-color: #f8f9fa!important +} + +.border-dark { + border-color: #343a40!important +} + +.border-white { + border-color: #fff!important +} + +.rounded-sm { + border-radius: .2rem!important +} + +.rounded { + border-radius: .25rem!important +} + +.rounded-top { + border-top-left-radius: .25rem!important +} + +.rounded-right,.rounded-top { + border-top-right-radius: .25rem!important +} + +.rounded-bottom,.rounded-right { + border-bottom-right-radius: .25rem!important +} + +.rounded-bottom,.rounded-left { + border-bottom-left-radius: .25rem!important +} + +.rounded-left { + border-top-left-radius: .25rem!important +} + +.rounded-lg { + border-radius: .3rem!important +} + +.rounded-circle { + border-radius: 50%!important +} + +.rounded-pill { + border-radius: 50rem!important +} + +.rounded-0 { + border-radius: 0!important +} + +.clearfix:after { + display: block; + clear: both; + content: "" +} + +.d-none { + display: none!important +} + +.d-inline { + display: inline!important +} + +.d-inline-block { + display: inline-block!important +} + +.d-block { + display: block!important +} + +.d-table { + display: table!important +} + +.d-table-row { + display: table-row!important +} + +.d-table-cell { + display: table-cell!important +} + +.d-flex { + display: flex!important +} + +.d-inline-flex { + display: inline-flex!important +} + +@media (min-width: 576px) { + .d-sm-none { + display:none!important + } + + .d-sm-inline { + display: inline!important + } + + .d-sm-inline-block { + display: inline-block!important + } + + .d-sm-block { + display: block!important + } + + .d-sm-table { + display: table!important + } + + .d-sm-table-row { + display: table-row!important + } + + .d-sm-table-cell { + display: table-cell!important + } + + .d-sm-flex { + display: flex!important + } + + .d-sm-inline-flex { + display: inline-flex!important + } +} + +@media (min-width: 768px) { + .d-md-none { + display:none!important + } + + .d-md-inline { + display: inline!important + } + + .d-md-inline-block { + display: inline-block!important + } + + .d-md-block { + display: block!important + } + + .d-md-table { + display: table!important + } + + .d-md-table-row { + display: table-row!important + } + + .d-md-table-cell { + display: table-cell!important + } + + .d-md-flex { + display: flex!important + } + + .d-md-inline-flex { + display: inline-flex!important + } +} + +@media (min-width: 900px) { + .d-lg-none { + display:none!important + } + + .d-lg-inline { + display: inline!important + } + + .d-lg-inline-block { + display: inline-block!important + } + + .d-lg-block { + display: block!important + } + + .d-lg-table { + display: table!important + } + + .d-lg-table-row { + display: table-row!important + } + + .d-lg-table-cell { + display: table-cell!important + } + + .d-lg-flex { + display: flex!important + } + + .d-lg-inline-flex { + display: inline-flex!important + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display:none!important + } + + .d-xl-inline { + display: inline!important + } + + .d-xl-inline-block { + display: inline-block!important + } + + .d-xl-block { + display: block!important + } + + .d-xl-table { + display: table!important + } + + .d-xl-table-row { + display: table-row!important + } + + .d-xl-table-cell { + display: table-cell!important + } + + .d-xl-flex { + display: flex!important + } + + .d-xl-inline-flex { + display: inline-flex!important + } +} + +@media (min-width: 1600px) { + .d-xxl-none { + display:none!important + } + + .d-xxl-inline { + display: inline!important + } + + .d-xxl-inline-block { + display: inline-block!important + } + + .d-xxl-block { + display: block!important + } + + .d-xxl-table { + display: table!important + } + + .d-xxl-table-row { + display: table-row!important + } + + .d-xxl-table-cell { + display: table-cell!important + } + + .d-xxl-flex { + display: flex!important + } + + .d-xxl-inline-flex { + display: inline-flex!important + } +} + +@media (min-width: 1800px) { + .d-fhd-none { + display:none!important + } + + .d-fhd-inline { + display: inline!important + } + + .d-fhd-inline-block { + display: inline-block!important + } + + .d-fhd-block { + display: block!important + } + + .d-fhd-table { + display: table!important + } + + .d-fhd-table-row { + display: table-row!important + } + + .d-fhd-table-cell { + display: table-cell!important + } + + .d-fhd-flex { + display: flex!important + } + + .d-fhd-inline-flex { + display: inline-flex!important + } +} + +@media (min-width: 2560px) { + .d-qhd-none { + display:none!important + } + + .d-qhd-inline { + display: inline!important + } + + .d-qhd-inline-block { + display: inline-block!important + } + + .d-qhd-block { + display: block!important + } + + .d-qhd-table { + display: table!important + } + + .d-qhd-table-row { + display: table-row!important + } + + .d-qhd-table-cell { + display: table-cell!important + } + + .d-qhd-flex { + display: flex!important + } + + .d-qhd-inline-flex { + display: inline-flex!important + } +} + +@media (min-width: 3840px) { + .d-uhd-none { + display:none!important + } + + .d-uhd-inline { + display: inline!important + } + + .d-uhd-inline-block { + display: inline-block!important + } + + .d-uhd-block { + display: block!important + } + + .d-uhd-table { + display: table!important + } + + .d-uhd-table-row { + display: table-row!important + } + + .d-uhd-table-cell { + display: table-cell!important + } + + .d-uhd-flex { + display: flex!important + } + + .d-uhd-inline-flex { + display: inline-flex!important + } +} + +@media print { + .d-print-none { + display: none!important + } + + .d-print-inline { + display: inline!important + } + + .d-print-inline-block { + display: inline-block!important + } + + .d-print-block { + display: block!important + } + + .d-print-table { + display: table!important + } + + .d-print-table-row { + display: table-row!important + } + + .d-print-table-cell { + display: table-cell!important + } + + .d-print-flex { + display: flex!important + } + + .d-print-inline-flex { + display: inline-flex!important + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden +} + +.embed-responsive:before { + display: block; + content: "" +} + +.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0 +} + +.embed-responsive-21by9:before { + padding-top: 42.8571428571% +} + +.embed-responsive-16by9:before { + padding-top: 56.25% +} + +.embed-responsive-4by3:before { + padding-top: 75% +} + +.embed-responsive-1by1:before { + padding-top: 100% +} + +.flex-row { + flex-direction: row!important +} + +.flex-column { + flex-direction: column!important +} + +.flex-row-reverse { + flex-direction: row-reverse!important +} + +.flex-column-reverse { + flex-direction: column-reverse!important +} + +.flex-wrap { + flex-wrap: wrap!important +} + +.flex-nowrap { + flex-wrap: nowrap!important +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse!important +} + +.flex-fill { + flex: 1 1 auto!important +} + +.flex-grow-0 { + flex-grow: 0!important +} + +.flex-grow-1 { + flex-grow: 1!important +} + +.flex-shrink-0 { + flex-shrink: 0!important +} + +.flex-shrink-1 { + flex-shrink: 1!important +} + +.justify-content-start { + justify-content: flex-start!important +} + +.justify-content-end { + justify-content: flex-end!important +} + +.justify-content-center { + justify-content: center!important +} + +.justify-content-between { + justify-content: space-between!important +} + +.justify-content-around { + justify-content: space-around!important +} + +.align-items-start { + align-items: flex-start!important +} + +.align-items-end { + align-items: flex-end!important +} + +.align-items-center { + align-items: center!important +} + +.align-items-baseline { + align-items: baseline!important +} + +.align-items-stretch { + align-items: stretch!important +} + +.align-content-start { + align-content: flex-start!important +} + +.align-content-end { + align-content: flex-end!important +} + +.align-content-center { + align-content: center!important +} + +.align-content-between { + align-content: space-between!important +} + +.align-content-around { + align-content: space-around!important +} + +.align-content-stretch { + align-content: stretch!important +} + +.align-self-auto { + align-self: auto!important +} + +.align-self-start { + align-self: flex-start!important +} + +.align-self-end { + align-self: flex-end!important +} + +.align-self-center { + align-self: center!important +} + +.align-self-baseline { + align-self: baseline!important +} + +.align-self-stretch { + align-self: stretch!important +} + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction:row!important + } + + .flex-sm-column { + flex-direction: column!important + } + + .flex-sm-row-reverse { + flex-direction: row-reverse!important + } + + .flex-sm-column-reverse { + flex-direction: column-reverse!important + } + + .flex-sm-wrap { + flex-wrap: wrap!important + } + + .flex-sm-nowrap { + flex-wrap: nowrap!important + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-sm-fill { + flex: 1 1 auto!important + } + + .flex-sm-grow-0 { + flex-grow: 0!important + } + + .flex-sm-grow-1 { + flex-grow: 1!important + } + + .flex-sm-shrink-0 { + flex-shrink: 0!important + } + + .flex-sm-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-sm-start { + justify-content: flex-start!important + } + + .justify-content-sm-end { + justify-content: flex-end!important + } + + .justify-content-sm-center { + justify-content: center!important + } + + .justify-content-sm-between { + justify-content: space-between!important + } + + .justify-content-sm-around { + justify-content: space-around!important + } + + .align-items-sm-start { + align-items: flex-start!important + } + + .align-items-sm-end { + align-items: flex-end!important + } + + .align-items-sm-center { + align-items: center!important + } + + .align-items-sm-baseline { + align-items: baseline!important + } + + .align-items-sm-stretch { + align-items: stretch!important + } + + .align-content-sm-start { + align-content: flex-start!important + } + + .align-content-sm-end { + align-content: flex-end!important + } + + .align-content-sm-center { + align-content: center!important + } + + .align-content-sm-between { + align-content: space-between!important + } + + .align-content-sm-around { + align-content: space-around!important + } + + .align-content-sm-stretch { + align-content: stretch!important + } + + .align-self-sm-auto { + align-self: auto!important + } + + .align-self-sm-start { + align-self: flex-start!important + } + + .align-self-sm-end { + align-self: flex-end!important + } + + .align-self-sm-center { + align-self: center!important + } + + .align-self-sm-baseline { + align-self: baseline!important + } + + .align-self-sm-stretch { + align-self: stretch!important + } +} + +@media (min-width: 768px) { + .flex-md-row { + flex-direction:row!important + } + + .flex-md-column { + flex-direction: column!important + } + + .flex-md-row-reverse { + flex-direction: row-reverse!important + } + + .flex-md-column-reverse { + flex-direction: column-reverse!important + } + + .flex-md-wrap { + flex-wrap: wrap!important + } + + .flex-md-nowrap { + flex-wrap: nowrap!important + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-md-fill { + flex: 1 1 auto!important + } + + .flex-md-grow-0 { + flex-grow: 0!important + } + + .flex-md-grow-1 { + flex-grow: 1!important + } + + .flex-md-shrink-0 { + flex-shrink: 0!important + } + + .flex-md-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-md-start { + justify-content: flex-start!important + } + + .justify-content-md-end { + justify-content: flex-end!important + } + + .justify-content-md-center { + justify-content: center!important + } + + .justify-content-md-between { + justify-content: space-between!important + } + + .justify-content-md-around { + justify-content: space-around!important + } + + .align-items-md-start { + align-items: flex-start!important + } + + .align-items-md-end { + align-items: flex-end!important + } + + .align-items-md-center { + align-items: center!important + } + + .align-items-md-baseline { + align-items: baseline!important + } + + .align-items-md-stretch { + align-items: stretch!important + } + + .align-content-md-start { + align-content: flex-start!important + } + + .align-content-md-end { + align-content: flex-end!important + } + + .align-content-md-center { + align-content: center!important + } + + .align-content-md-between { + align-content: space-between!important + } + + .align-content-md-around { + align-content: space-around!important + } + + .align-content-md-stretch { + align-content: stretch!important + } + + .align-self-md-auto { + align-self: auto!important + } + + .align-self-md-start { + align-self: flex-start!important + } + + .align-self-md-end { + align-self: flex-end!important + } + + .align-self-md-center { + align-self: center!important + } + + .align-self-md-baseline { + align-self: baseline!important + } + + .align-self-md-stretch { + align-self: stretch!important + } +} + +@media (min-width: 900px) { + .flex-lg-row { + flex-direction:row!important + } + + .flex-lg-column { + flex-direction: column!important + } + + .flex-lg-row-reverse { + flex-direction: row-reverse!important + } + + .flex-lg-column-reverse { + flex-direction: column-reverse!important + } + + .flex-lg-wrap { + flex-wrap: wrap!important + } + + .flex-lg-nowrap { + flex-wrap: nowrap!important + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-lg-fill { + flex: 1 1 auto!important + } + + .flex-lg-grow-0 { + flex-grow: 0!important + } + + .flex-lg-grow-1 { + flex-grow: 1!important + } + + .flex-lg-shrink-0 { + flex-shrink: 0!important + } + + .flex-lg-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-lg-start { + justify-content: flex-start!important + } + + .justify-content-lg-end { + justify-content: flex-end!important + } + + .justify-content-lg-center { + justify-content: center!important + } + + .justify-content-lg-between { + justify-content: space-between!important + } + + .justify-content-lg-around { + justify-content: space-around!important + } + + .align-items-lg-start { + align-items: flex-start!important + } + + .align-items-lg-end { + align-items: flex-end!important + } + + .align-items-lg-center { + align-items: center!important + } + + .align-items-lg-baseline { + align-items: baseline!important + } + + .align-items-lg-stretch { + align-items: stretch!important + } + + .align-content-lg-start { + align-content: flex-start!important + } + + .align-content-lg-end { + align-content: flex-end!important + } + + .align-content-lg-center { + align-content: center!important + } + + .align-content-lg-between { + align-content: space-between!important + } + + .align-content-lg-around { + align-content: space-around!important + } + + .align-content-lg-stretch { + align-content: stretch!important + } + + .align-self-lg-auto { + align-self: auto!important + } + + .align-self-lg-start { + align-self: flex-start!important + } + + .align-self-lg-end { + align-self: flex-end!important + } + + .align-self-lg-center { + align-self: center!important + } + + .align-self-lg-baseline { + align-self: baseline!important + } + + .align-self-lg-stretch { + align-self: stretch!important + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction:row!important + } + + .flex-xl-column { + flex-direction: column!important + } + + .flex-xl-row-reverse { + flex-direction: row-reverse!important + } + + .flex-xl-column-reverse { + flex-direction: column-reverse!important + } + + .flex-xl-wrap { + flex-wrap: wrap!important + } + + .flex-xl-nowrap { + flex-wrap: nowrap!important + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-xl-fill { + flex: 1 1 auto!important + } + + .flex-xl-grow-0 { + flex-grow: 0!important + } + + .flex-xl-grow-1 { + flex-grow: 1!important + } + + .flex-xl-shrink-0 { + flex-shrink: 0!important + } + + .flex-xl-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-xl-start { + justify-content: flex-start!important + } + + .justify-content-xl-end { + justify-content: flex-end!important + } + + .justify-content-xl-center { + justify-content: center!important + } + + .justify-content-xl-between { + justify-content: space-between!important + } + + .justify-content-xl-around { + justify-content: space-around!important + } + + .align-items-xl-start { + align-items: flex-start!important + } + + .align-items-xl-end { + align-items: flex-end!important + } + + .align-items-xl-center { + align-items: center!important + } + + .align-items-xl-baseline { + align-items: baseline!important + } + + .align-items-xl-stretch { + align-items: stretch!important + } + + .align-content-xl-start { + align-content: flex-start!important + } + + .align-content-xl-end { + align-content: flex-end!important + } + + .align-content-xl-center { + align-content: center!important + } + + .align-content-xl-between { + align-content: space-between!important + } + + .align-content-xl-around { + align-content: space-around!important + } + + .align-content-xl-stretch { + align-content: stretch!important + } + + .align-self-xl-auto { + align-self: auto!important + } + + .align-self-xl-start { + align-self: flex-start!important + } + + .align-self-xl-end { + align-self: flex-end!important + } + + .align-self-xl-center { + align-self: center!important + } + + .align-self-xl-baseline { + align-self: baseline!important + } + + .align-self-xl-stretch { + align-self: stretch!important + } +} + +@media (min-width: 1600px) { + .flex-xxl-row { + flex-direction:row!important + } + + .flex-xxl-column { + flex-direction: column!important + } + + .flex-xxl-row-reverse { + flex-direction: row-reverse!important + } + + .flex-xxl-column-reverse { + flex-direction: column-reverse!important + } + + .flex-xxl-wrap { + flex-wrap: wrap!important + } + + .flex-xxl-nowrap { + flex-wrap: nowrap!important + } + + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-xxl-fill { + flex: 1 1 auto!important + } + + .flex-xxl-grow-0 { + flex-grow: 0!important + } + + .flex-xxl-grow-1 { + flex-grow: 1!important + } + + .flex-xxl-shrink-0 { + flex-shrink: 0!important + } + + .flex-xxl-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-xxl-start { + justify-content: flex-start!important + } + + .justify-content-xxl-end { + justify-content: flex-end!important + } + + .justify-content-xxl-center { + justify-content: center!important + } + + .justify-content-xxl-between { + justify-content: space-between!important + } + + .justify-content-xxl-around { + justify-content: space-around!important + } + + .align-items-xxl-start { + align-items: flex-start!important + } + + .align-items-xxl-end { + align-items: flex-end!important + } + + .align-items-xxl-center { + align-items: center!important + } + + .align-items-xxl-baseline { + align-items: baseline!important + } + + .align-items-xxl-stretch { + align-items: stretch!important + } + + .align-content-xxl-start { + align-content: flex-start!important + } + + .align-content-xxl-end { + align-content: flex-end!important + } + + .align-content-xxl-center { + align-content: center!important + } + + .align-content-xxl-between { + align-content: space-between!important + } + + .align-content-xxl-around { + align-content: space-around!important + } + + .align-content-xxl-stretch { + align-content: stretch!important + } + + .align-self-xxl-auto { + align-self: auto!important + } + + .align-self-xxl-start { + align-self: flex-start!important + } + + .align-self-xxl-end { + align-self: flex-end!important + } + + .align-self-xxl-center { + align-self: center!important + } + + .align-self-xxl-baseline { + align-self: baseline!important + } + + .align-self-xxl-stretch { + align-self: stretch!important + } +} + +@media (min-width: 1800px) { + .flex-fhd-row { + flex-direction:row!important + } + + .flex-fhd-column { + flex-direction: column!important + } + + .flex-fhd-row-reverse { + flex-direction: row-reverse!important + } + + .flex-fhd-column-reverse { + flex-direction: column-reverse!important + } + + .flex-fhd-wrap { + flex-wrap: wrap!important + } + + .flex-fhd-nowrap { + flex-wrap: nowrap!important + } + + .flex-fhd-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-fhd-fill { + flex: 1 1 auto!important + } + + .flex-fhd-grow-0 { + flex-grow: 0!important + } + + .flex-fhd-grow-1 { + flex-grow: 1!important + } + + .flex-fhd-shrink-0 { + flex-shrink: 0!important + } + + .flex-fhd-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-fhd-start { + justify-content: flex-start!important + } + + .justify-content-fhd-end { + justify-content: flex-end!important + } + + .justify-content-fhd-center { + justify-content: center!important + } + + .justify-content-fhd-between { + justify-content: space-between!important + } + + .justify-content-fhd-around { + justify-content: space-around!important + } + + .align-items-fhd-start { + align-items: flex-start!important + } + + .align-items-fhd-end { + align-items: flex-end!important + } + + .align-items-fhd-center { + align-items: center!important + } + + .align-items-fhd-baseline { + align-items: baseline!important + } + + .align-items-fhd-stretch { + align-items: stretch!important + } + + .align-content-fhd-start { + align-content: flex-start!important + } + + .align-content-fhd-end { + align-content: flex-end!important + } + + .align-content-fhd-center { + align-content: center!important + } + + .align-content-fhd-between { + align-content: space-between!important + } + + .align-content-fhd-around { + align-content: space-around!important + } + + .align-content-fhd-stretch { + align-content: stretch!important + } + + .align-self-fhd-auto { + align-self: auto!important + } + + .align-self-fhd-start { + align-self: flex-start!important + } + + .align-self-fhd-end { + align-self: flex-end!important + } + + .align-self-fhd-center { + align-self: center!important + } + + .align-self-fhd-baseline { + align-self: baseline!important + } + + .align-self-fhd-stretch { + align-self: stretch!important + } +} + +@media (min-width: 2560px) { + .flex-qhd-row { + flex-direction:row!important + } + + .flex-qhd-column { + flex-direction: column!important + } + + .flex-qhd-row-reverse { + flex-direction: row-reverse!important + } + + .flex-qhd-column-reverse { + flex-direction: column-reverse!important + } + + .flex-qhd-wrap { + flex-wrap: wrap!important + } + + .flex-qhd-nowrap { + flex-wrap: nowrap!important + } + + .flex-qhd-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-qhd-fill { + flex: 1 1 auto!important + } + + .flex-qhd-grow-0 { + flex-grow: 0!important + } + + .flex-qhd-grow-1 { + flex-grow: 1!important + } + + .flex-qhd-shrink-0 { + flex-shrink: 0!important + } + + .flex-qhd-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-qhd-start { + justify-content: flex-start!important + } + + .justify-content-qhd-end { + justify-content: flex-end!important + } + + .justify-content-qhd-center { + justify-content: center!important + } + + .justify-content-qhd-between { + justify-content: space-between!important + } + + .justify-content-qhd-around { + justify-content: space-around!important + } + + .align-items-qhd-start { + align-items: flex-start!important + } + + .align-items-qhd-end { + align-items: flex-end!important + } + + .align-items-qhd-center { + align-items: center!important + } + + .align-items-qhd-baseline { + align-items: baseline!important + } + + .align-items-qhd-stretch { + align-items: stretch!important + } + + .align-content-qhd-start { + align-content: flex-start!important + } + + .align-content-qhd-end { + align-content: flex-end!important + } + + .align-content-qhd-center { + align-content: center!important + } + + .align-content-qhd-between { + align-content: space-between!important + } + + .align-content-qhd-around { + align-content: space-around!important + } + + .align-content-qhd-stretch { + align-content: stretch!important + } + + .align-self-qhd-auto { + align-self: auto!important + } + + .align-self-qhd-start { + align-self: flex-start!important + } + + .align-self-qhd-end { + align-self: flex-end!important + } + + .align-self-qhd-center { + align-self: center!important + } + + .align-self-qhd-baseline { + align-self: baseline!important + } + + .align-self-qhd-stretch { + align-self: stretch!important + } +} + +@media (min-width: 3840px) { + .flex-uhd-row { + flex-direction:row!important + } + + .flex-uhd-column { + flex-direction: column!important + } + + .flex-uhd-row-reverse { + flex-direction: row-reverse!important + } + + .flex-uhd-column-reverse { + flex-direction: column-reverse!important + } + + .flex-uhd-wrap { + flex-wrap: wrap!important + } + + .flex-uhd-nowrap { + flex-wrap: nowrap!important + } + + .flex-uhd-wrap-reverse { + flex-wrap: wrap-reverse!important + } + + .flex-uhd-fill { + flex: 1 1 auto!important + } + + .flex-uhd-grow-0 { + flex-grow: 0!important + } + + .flex-uhd-grow-1 { + flex-grow: 1!important + } + + .flex-uhd-shrink-0 { + flex-shrink: 0!important + } + + .flex-uhd-shrink-1 { + flex-shrink: 1!important + } + + .justify-content-uhd-start { + justify-content: flex-start!important + } + + .justify-content-uhd-end { + justify-content: flex-end!important + } + + .justify-content-uhd-center { + justify-content: center!important + } + + .justify-content-uhd-between { + justify-content: space-between!important + } + + .justify-content-uhd-around { + justify-content: space-around!important + } + + .align-items-uhd-start { + align-items: flex-start!important + } + + .align-items-uhd-end { + align-items: flex-end!important + } + + .align-items-uhd-center { + align-items: center!important + } + + .align-items-uhd-baseline { + align-items: baseline!important + } + + .align-items-uhd-stretch { + align-items: stretch!important + } + + .align-content-uhd-start { + align-content: flex-start!important + } + + .align-content-uhd-end { + align-content: flex-end!important + } + + .align-content-uhd-center { + align-content: center!important + } + + .align-content-uhd-between { + align-content: space-between!important + } + + .align-content-uhd-around { + align-content: space-around!important + } + + .align-content-uhd-stretch { + align-content: stretch!important + } + + .align-self-uhd-auto { + align-self: auto!important + } + + .align-self-uhd-start { + align-self: flex-start!important + } + + .align-self-uhd-end { + align-self: flex-end!important + } + + .align-self-uhd-center { + align-self: center!important + } + + .align-self-uhd-baseline { + align-self: baseline!important + } + + .align-self-uhd-stretch { + align-self: stretch!important + } +} + +.float-left { + float: left!important +} + +.float-right { + float: right!important +} + +.float-none { + float: none!important +} + +@media (min-width: 576px) { + .float-sm-left { + float:left!important + } + + .float-sm-right { + float: right!important + } + + .float-sm-none { + float: none!important + } +} + +@media (min-width: 768px) { + .float-md-left { + float:left!important + } + + .float-md-right { + float: right!important + } + + .float-md-none { + float: none!important + } +} + +@media (min-width: 900px) { + .float-lg-left { + float:left!important + } + + .float-lg-right { + float: right!important + } + + .float-lg-none { + float: none!important + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float:left!important + } + + .float-xl-right { + float: right!important + } + + .float-xl-none { + float: none!important + } +} + +@media (min-width: 1600px) { + .float-xxl-left { + float:left!important + } + + .float-xxl-right { + float: right!important + } + + .float-xxl-none { + float: none!important + } +} + +@media (min-width: 1800px) { + .float-fhd-left { + float:left!important + } + + .float-fhd-right { + float: right!important + } + + .float-fhd-none { + float: none!important + } +} + +@media (min-width: 2560px) { + .float-qhd-left { + float:left!important + } + + .float-qhd-right { + float: right!important + } + + .float-qhd-none { + float: none!important + } +} + +@media (min-width: 3840px) { + .float-uhd-left { + float:left!important + } + + .float-uhd-right { + float: right!important + } + + .float-uhd-none { + float: none!important + } +} + +.user-select-all { + -webkit-user-select: all!important; + user-select: all!important +} + +.user-select-auto { + -webkit-user-select: auto!important; + user-select: auto!important +} + +.user-select-none { + -webkit-user-select: none!important; + user-select: none!important +} + +.overflow-auto { + overflow: auto!important +} + +.overflow-hidden { + overflow: hidden!important +} + +.position-static { + position: static!important +} + +.position-relative { + position: relative!important +} + +.position-absolute { + position: absolute!important +} + +.position-fixed { + position: fixed!important +} + +.position-sticky { + position: sticky!important +} + +.fixed-top { + top: 0 +} + +.fixed-bottom,.fixed-top { + position: fixed; + right: 0; + left: 0; + z-index: 1030 +} + +.fixed-bottom { + bottom: 0 +} + +@supports (position: sticky) { + .sticky-top { + position:sticky; + top: 0; + z-index: 1020 + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + border: 0 +} + +.sr-only-focusable:active,.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal +} + +.shadow-sm { + box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important +} + +.shadow { + box-shadow: 0 .5rem 1rem #00000026!important +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important +} + +.shadow-none { + box-shadow: none!important +} + +.w-25 { + width: 25%!important +} + +.w-50 { + width: 50%!important +} + +.w-75 { + width: 75%!important +} + +.w-100 { + width: 100%!important +} + +.w-auto { + width: auto!important +} + +.h-25 { + height: 25%!important +} + +.h-50 { + height: 50%!important +} + +.h-75 { + height: 75%!important +} + +.h-100 { + height: 100%!important +} + +.h-auto { + height: auto!important +} + +.mw-100 { + max-width: 100%!important +} + +.mh-100 { + max-height: 100%!important +} + +.min-vw-100 { + min-width: 100vw!important +} + +.min-vh-100 { + min-height: 100vh!important +} + +.vw-100 { + width: 100vw!important +} + +.vh-100 { + height: 100vh!important +} + +.m-0 { + margin: 0!important +} + +.mt-0,.my-0 { + margin-top: 0!important +} + +.mr-0,.mx-0 { + margin-right: 0!important +} + +.mb-0,.my-0 { + margin-bottom: 0!important +} + +.ml-0,.mx-0 { + margin-left: 0!important +} + +.m-1 { + margin: .25rem!important +} + +.mt-1,.my-1 { + margin-top: .25rem!important +} + +.mr-1,.mx-1 { + margin-right: .25rem!important +} + +.mb-1,.my-1 { + margin-bottom: .25rem!important +} + +.ml-1,.mx-1 { + margin-left: .25rem!important +} + +.m-2 { + margin: .5rem!important +} + +.mt-2,.my-2 { + margin-top: .5rem!important +} + +.mr-2,.mx-2 { + margin-right: .5rem!important +} + +.mb-2,.my-2 { + margin-bottom: .5rem!important +} + +.ml-2,.mx-2 { + margin-left: .5rem!important +} + +.m-3 { + margin: 1rem!important +} + +.mt-3,.my-3 { + margin-top: 1rem!important +} + +.mr-3,.mx-3 { + margin-right: 1rem!important +} + +.mb-3,.my-3 { + margin-bottom: 1rem!important +} + +.ml-3,.mx-3 { + margin-left: 1rem!important +} + +.m-4 { + margin: 1.5rem!important +} + +.mt-4,.my-4 { + margin-top: 1.5rem!important +} + +.mr-4,.mx-4 { + margin-right: 1.5rem!important +} + +.mb-4,.my-4 { + margin-bottom: 1.5rem!important +} + +.ml-4,.mx-4 { + margin-left: 1.5rem!important +} + +.m-5 { + margin: 3rem!important +} + +.mt-5,.my-5 { + margin-top: 3rem!important +} + +.mr-5,.mx-5 { + margin-right: 3rem!important +} + +.mb-5,.my-5 { + margin-bottom: 3rem!important +} + +.ml-5,.mx-5 { + margin-left: 3rem!important +} + +.p-0 { + padding: 0!important +} + +.pt-0,.py-0 { + padding-top: 0!important +} + +.pr-0,.px-0 { + padding-right: 0!important +} + +.pb-0,.py-0 { + padding-bottom: 0!important +} + +.pl-0,.px-0 { + padding-left: 0!important +} + +.p-1 { + padding: .25rem!important +} + +.pt-1,.py-1 { + padding-top: .25rem!important +} + +.pr-1,.px-1 { + padding-right: .25rem!important +} + +.pb-1,.py-1 { + padding-bottom: .25rem!important +} + +.pl-1,.px-1 { + padding-left: .25rem!important +} + +.p-2 { + padding: .5rem!important +} + +.pt-2,.py-2 { + padding-top: .5rem!important +} + +.pr-2,.px-2 { + padding-right: .5rem!important +} + +.pb-2,.py-2 { + padding-bottom: .5rem!important +} + +.pl-2,.px-2 { + padding-left: .5rem!important +} + +.p-3 { + padding: 1rem!important +} + +.pt-3,.py-3 { + padding-top: 1rem!important +} + +.pr-3,.px-3 { + padding-right: 1rem!important +} + +.pb-3,.py-3 { + padding-bottom: 1rem!important +} + +.pl-3,.px-3 { + padding-left: 1rem!important +} + +.p-4 { + padding: 1.5rem!important +} + +.pt-4,.py-4 { + padding-top: 1.5rem!important +} + +.pr-4,.px-4 { + padding-right: 1.5rem!important +} + +.pb-4,.py-4 { + padding-bottom: 1.5rem!important +} + +.pl-4,.px-4 { + padding-left: 1.5rem!important +} + +.p-5 { + padding: 3rem!important +} + +.pt-5,.py-5 { + padding-top: 3rem!important +} + +.pr-5,.px-5 { + padding-right: 3rem!important +} + +.pb-5,.py-5 { + padding-bottom: 3rem!important +} + +.pl-5,.px-5 { + padding-left: 3rem!important +} + +.m-n1 { + margin: -.25rem!important +} + +.mt-n1,.my-n1 { + margin-top: -.25rem!important +} + +.mr-n1,.mx-n1 { + margin-right: -.25rem!important +} + +.mb-n1,.my-n1 { + margin-bottom: -.25rem!important +} + +.ml-n1,.mx-n1 { + margin-left: -.25rem!important +} + +.m-n2 { + margin: -.5rem!important +} + +.mt-n2,.my-n2 { + margin-top: -.5rem!important +} + +.mr-n2,.mx-n2 { + margin-right: -.5rem!important +} + +.mb-n2,.my-n2 { + margin-bottom: -.5rem!important +} + +.ml-n2,.mx-n2 { + margin-left: -.5rem!important +} + +.m-n3 { + margin: -1rem!important +} + +.mt-n3,.my-n3 { + margin-top: -1rem!important +} + +.mr-n3,.mx-n3 { + margin-right: -1rem!important +} + +.mb-n3,.my-n3 { + margin-bottom: -1rem!important +} + +.ml-n3,.mx-n3 { + margin-left: -1rem!important +} + +.m-n4 { + margin: -1.5rem!important +} + +.mt-n4,.my-n4 { + margin-top: -1.5rem!important +} + +.mr-n4,.mx-n4 { + margin-right: -1.5rem!important +} + +.mb-n4,.my-n4 { + margin-bottom: -1.5rem!important +} + +.ml-n4,.mx-n4 { + margin-left: -1.5rem!important +} + +.m-n5 { + margin: -3rem!important +} + +.mt-n5,.my-n5 { + margin-top: -3rem!important +} + +.mr-n5,.mx-n5 { + margin-right: -3rem!important +} + +.mb-n5,.my-n5 { + margin-bottom: -3rem!important +} + +.ml-n5,.mx-n5 { + margin-left: -3rem!important +} + +.m-auto { + margin: auto!important +} + +.mt-auto,.my-auto { + margin-top: auto!important +} + +.mr-auto,.mx-auto { + margin-right: auto!important +} + +.mb-auto,.my-auto { + margin-bottom: auto!important +} + +.ml-auto,.mx-auto { + margin-left: auto!important +} + +@media (min-width: 576px) { + .m-sm-0 { + margin:0!important + } + + .mt-sm-0,.my-sm-0 { + margin-top: 0!important + } + + .mr-sm-0,.mx-sm-0 { + margin-right: 0!important + } + + .mb-sm-0,.my-sm-0 { + margin-bottom: 0!important + } + + .ml-sm-0,.mx-sm-0 { + margin-left: 0!important + } + + .m-sm-1 { + margin: .25rem!important + } + + .mt-sm-1,.my-sm-1 { + margin-top: .25rem!important + } + + .mr-sm-1,.mx-sm-1 { + margin-right: .25rem!important + } + + .mb-sm-1,.my-sm-1 { + margin-bottom: .25rem!important + } + + .ml-sm-1,.mx-sm-1 { + margin-left: .25rem!important + } + + .m-sm-2 { + margin: .5rem!important + } + + .mt-sm-2,.my-sm-2 { + margin-top: .5rem!important + } + + .mr-sm-2,.mx-sm-2 { + margin-right: .5rem!important + } + + .mb-sm-2,.my-sm-2 { + margin-bottom: .5rem!important + } + + .ml-sm-2,.mx-sm-2 { + margin-left: .5rem!important + } + + .m-sm-3 { + margin: 1rem!important + } + + .mt-sm-3,.my-sm-3 { + margin-top: 1rem!important + } + + .mr-sm-3,.mx-sm-3 { + margin-right: 1rem!important + } + + .mb-sm-3,.my-sm-3 { + margin-bottom: 1rem!important + } + + .ml-sm-3,.mx-sm-3 { + margin-left: 1rem!important + } + + .m-sm-4 { + margin: 1.5rem!important + } + + .mt-sm-4,.my-sm-4 { + margin-top: 1.5rem!important + } + + .mr-sm-4,.mx-sm-4 { + margin-right: 1.5rem!important + } + + .mb-sm-4,.my-sm-4 { + margin-bottom: 1.5rem!important + } + + .ml-sm-4,.mx-sm-4 { + margin-left: 1.5rem!important + } + + .m-sm-5 { + margin: 3rem!important + } + + .mt-sm-5,.my-sm-5 { + margin-top: 3rem!important + } + + .mr-sm-5,.mx-sm-5 { + margin-right: 3rem!important + } + + .mb-sm-5,.my-sm-5 { + margin-bottom: 3rem!important + } + + .ml-sm-5,.mx-sm-5 { + margin-left: 3rem!important + } + + .p-sm-0 { + padding: 0!important + } + + .pt-sm-0,.py-sm-0 { + padding-top: 0!important + } + + .pr-sm-0,.px-sm-0 { + padding-right: 0!important + } + + .pb-sm-0,.py-sm-0 { + padding-bottom: 0!important + } + + .pl-sm-0,.px-sm-0 { + padding-left: 0!important + } + + .p-sm-1 { + padding: .25rem!important + } + + .pt-sm-1,.py-sm-1 { + padding-top: .25rem!important + } + + .pr-sm-1,.px-sm-1 { + padding-right: .25rem!important + } + + .pb-sm-1,.py-sm-1 { + padding-bottom: .25rem!important + } + + .pl-sm-1,.px-sm-1 { + padding-left: .25rem!important + } + + .p-sm-2 { + padding: .5rem!important + } + + .pt-sm-2,.py-sm-2 { + padding-top: .5rem!important + } + + .pr-sm-2,.px-sm-2 { + padding-right: .5rem!important + } + + .pb-sm-2,.py-sm-2 { + padding-bottom: .5rem!important + } + + .pl-sm-2,.px-sm-2 { + padding-left: .5rem!important + } + + .p-sm-3 { + padding: 1rem!important + } + + .pt-sm-3,.py-sm-3 { + padding-top: 1rem!important + } + + .pr-sm-3,.px-sm-3 { + padding-right: 1rem!important + } + + .pb-sm-3,.py-sm-3 { + padding-bottom: 1rem!important + } + + .pl-sm-3,.px-sm-3 { + padding-left: 1rem!important + } + + .p-sm-4 { + padding: 1.5rem!important + } + + .pt-sm-4,.py-sm-4 { + padding-top: 1.5rem!important + } + + .pr-sm-4,.px-sm-4 { + padding-right: 1.5rem!important + } + + .pb-sm-4,.py-sm-4 { + padding-bottom: 1.5rem!important + } + + .pl-sm-4,.px-sm-4 { + padding-left: 1.5rem!important + } + + .p-sm-5 { + padding: 3rem!important + } + + .pt-sm-5,.py-sm-5 { + padding-top: 3rem!important + } + + .pr-sm-5,.px-sm-5 { + padding-right: 3rem!important + } + + .pb-sm-5,.py-sm-5 { + padding-bottom: 3rem!important + } + + .pl-sm-5,.px-sm-5 { + padding-left: 3rem!important + } + + .m-sm-n1 { + margin: -.25rem!important + } + + .mt-sm-n1,.my-sm-n1 { + margin-top: -.25rem!important + } + + .mr-sm-n1,.mx-sm-n1 { + margin-right: -.25rem!important + } + + .mb-sm-n1,.my-sm-n1 { + margin-bottom: -.25rem!important + } + + .ml-sm-n1,.mx-sm-n1 { + margin-left: -.25rem!important + } + + .m-sm-n2 { + margin: -.5rem!important + } + + .mt-sm-n2,.my-sm-n2 { + margin-top: -.5rem!important + } + + .mr-sm-n2,.mx-sm-n2 { + margin-right: -.5rem!important + } + + .mb-sm-n2,.my-sm-n2 { + margin-bottom: -.5rem!important + } + + .ml-sm-n2,.mx-sm-n2 { + margin-left: -.5rem!important + } + + .m-sm-n3 { + margin: -1rem!important + } + + .mt-sm-n3,.my-sm-n3 { + margin-top: -1rem!important + } + + .mr-sm-n3,.mx-sm-n3 { + margin-right: -1rem!important + } + + .mb-sm-n3,.my-sm-n3 { + margin-bottom: -1rem!important + } + + .ml-sm-n3,.mx-sm-n3 { + margin-left: -1rem!important + } + + .m-sm-n4 { + margin: -1.5rem!important + } + + .mt-sm-n4,.my-sm-n4 { + margin-top: -1.5rem!important + } + + .mr-sm-n4,.mx-sm-n4 { + margin-right: -1.5rem!important + } + + .mb-sm-n4,.my-sm-n4 { + margin-bottom: -1.5rem!important + } + + .ml-sm-n4,.mx-sm-n4 { + margin-left: -1.5rem!important + } + + .m-sm-n5 { + margin: -3rem!important + } + + .mt-sm-n5,.my-sm-n5 { + margin-top: -3rem!important + } + + .mr-sm-n5,.mx-sm-n5 { + margin-right: -3rem!important + } + + .mb-sm-n5,.my-sm-n5 { + margin-bottom: -3rem!important + } + + .ml-sm-n5,.mx-sm-n5 { + margin-left: -3rem!important + } + + .m-sm-auto { + margin: auto!important + } + + .mt-sm-auto,.my-sm-auto { + margin-top: auto!important + } + + .mr-sm-auto,.mx-sm-auto { + margin-right: auto!important + } + + .mb-sm-auto,.my-sm-auto { + margin-bottom: auto!important + } + + .ml-sm-auto,.mx-sm-auto { + margin-left: auto!important + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin:0!important + } + + .mt-md-0,.my-md-0 { + margin-top: 0!important + } + + .mr-md-0,.mx-md-0 { + margin-right: 0!important + } + + .mb-md-0,.my-md-0 { + margin-bottom: 0!important + } + + .ml-md-0,.mx-md-0 { + margin-left: 0!important + } + + .m-md-1 { + margin: .25rem!important + } + + .mt-md-1,.my-md-1 { + margin-top: .25rem!important + } + + .mr-md-1,.mx-md-1 { + margin-right: .25rem!important + } + + .mb-md-1,.my-md-1 { + margin-bottom: .25rem!important + } + + .ml-md-1,.mx-md-1 { + margin-left: .25rem!important + } + + .m-md-2 { + margin: .5rem!important + } + + .mt-md-2,.my-md-2 { + margin-top: .5rem!important + } + + .mr-md-2,.mx-md-2 { + margin-right: .5rem!important + } + + .mb-md-2,.my-md-2 { + margin-bottom: .5rem!important + } + + .ml-md-2,.mx-md-2 { + margin-left: .5rem!important + } + + .m-md-3 { + margin: 1rem!important + } + + .mt-md-3,.my-md-3 { + margin-top: 1rem!important + } + + .mr-md-3,.mx-md-3 { + margin-right: 1rem!important + } + + .mb-md-3,.my-md-3 { + margin-bottom: 1rem!important + } + + .ml-md-3,.mx-md-3 { + margin-left: 1rem!important + } + + .m-md-4 { + margin: 1.5rem!important + } + + .mt-md-4,.my-md-4 { + margin-top: 1.5rem!important + } + + .mr-md-4,.mx-md-4 { + margin-right: 1.5rem!important + } + + .mb-md-4,.my-md-4 { + margin-bottom: 1.5rem!important + } + + .ml-md-4,.mx-md-4 { + margin-left: 1.5rem!important + } + + .m-md-5 { + margin: 3rem!important + } + + .mt-md-5,.my-md-5 { + margin-top: 3rem!important + } + + .mr-md-5,.mx-md-5 { + margin-right: 3rem!important + } + + .mb-md-5,.my-md-5 { + margin-bottom: 3rem!important + } + + .ml-md-5,.mx-md-5 { + margin-left: 3rem!important + } + + .p-md-0 { + padding: 0!important + } + + .pt-md-0,.py-md-0 { + padding-top: 0!important + } + + .pr-md-0,.px-md-0 { + padding-right: 0!important + } + + .pb-md-0,.py-md-0 { + padding-bottom: 0!important + } + + .pl-md-0,.px-md-0 { + padding-left: 0!important + } + + .p-md-1 { + padding: .25rem!important + } + + .pt-md-1,.py-md-1 { + padding-top: .25rem!important + } + + .pr-md-1,.px-md-1 { + padding-right: .25rem!important + } + + .pb-md-1,.py-md-1 { + padding-bottom: .25rem!important + } + + .pl-md-1,.px-md-1 { + padding-left: .25rem!important + } + + .p-md-2 { + padding: .5rem!important + } + + .pt-md-2,.py-md-2 { + padding-top: .5rem!important + } + + .pr-md-2,.px-md-2 { + padding-right: .5rem!important + } + + .pb-md-2,.py-md-2 { + padding-bottom: .5rem!important + } + + .pl-md-2,.px-md-2 { + padding-left: .5rem!important + } + + .p-md-3 { + padding: 1rem!important + } + + .pt-md-3,.py-md-3 { + padding-top: 1rem!important + } + + .pr-md-3,.px-md-3 { + padding-right: 1rem!important + } + + .pb-md-3,.py-md-3 { + padding-bottom: 1rem!important + } + + .pl-md-3,.px-md-3 { + padding-left: 1rem!important + } + + .p-md-4 { + padding: 1.5rem!important + } + + .pt-md-4,.py-md-4 { + padding-top: 1.5rem!important + } + + .pr-md-4,.px-md-4 { + padding-right: 1.5rem!important + } + + .pb-md-4,.py-md-4 { + padding-bottom: 1.5rem!important + } + + .pl-md-4,.px-md-4 { + padding-left: 1.5rem!important + } + + .p-md-5 { + padding: 3rem!important + } + + .pt-md-5,.py-md-5 { + padding-top: 3rem!important + } + + .pr-md-5,.px-md-5 { + padding-right: 3rem!important + } + + .pb-md-5,.py-md-5 { + padding-bottom: 3rem!important + } + + .pl-md-5,.px-md-5 { + padding-left: 3rem!important + } + + .m-md-n1 { + margin: -.25rem!important + } + + .mt-md-n1,.my-md-n1 { + margin-top: -.25rem!important + } + + .mr-md-n1,.mx-md-n1 { + margin-right: -.25rem!important + } + + .mb-md-n1,.my-md-n1 { + margin-bottom: -.25rem!important + } + + .ml-md-n1,.mx-md-n1 { + margin-left: -.25rem!important + } + + .m-md-n2 { + margin: -.5rem!important + } + + .mt-md-n2,.my-md-n2 { + margin-top: -.5rem!important + } + + .mr-md-n2,.mx-md-n2 { + margin-right: -.5rem!important + } + + .mb-md-n2,.my-md-n2 { + margin-bottom: -.5rem!important + } + + .ml-md-n2,.mx-md-n2 { + margin-left: -.5rem!important + } + + .m-md-n3 { + margin: -1rem!important + } + + .mt-md-n3,.my-md-n3 { + margin-top: -1rem!important + } + + .mr-md-n3,.mx-md-n3 { + margin-right: -1rem!important + } + + .mb-md-n3,.my-md-n3 { + margin-bottom: -1rem!important + } + + .ml-md-n3,.mx-md-n3 { + margin-left: -1rem!important + } + + .m-md-n4 { + margin: -1.5rem!important + } + + .mt-md-n4,.my-md-n4 { + margin-top: -1.5rem!important + } + + .mr-md-n4,.mx-md-n4 { + margin-right: -1.5rem!important + } + + .mb-md-n4,.my-md-n4 { + margin-bottom: -1.5rem!important + } + + .ml-md-n4,.mx-md-n4 { + margin-left: -1.5rem!important + } + + .m-md-n5 { + margin: -3rem!important + } + + .mt-md-n5,.my-md-n5 { + margin-top: -3rem!important + } + + .mr-md-n5,.mx-md-n5 { + margin-right: -3rem!important + } + + .mb-md-n5,.my-md-n5 { + margin-bottom: -3rem!important + } + + .ml-md-n5,.mx-md-n5 { + margin-left: -3rem!important + } + + .m-md-auto { + margin: auto!important + } + + .mt-md-auto,.my-md-auto { + margin-top: auto!important + } + + .mr-md-auto,.mx-md-auto { + margin-right: auto!important + } + + .mb-md-auto,.my-md-auto { + margin-bottom: auto!important + } + + .ml-md-auto,.mx-md-auto { + margin-left: auto!important + } +} + +@media (min-width: 900px) { + .m-lg-0 { + margin:0!important + } + + .mt-lg-0,.my-lg-0 { + margin-top: 0!important + } + + .mr-lg-0,.mx-lg-0 { + margin-right: 0!important + } + + .mb-lg-0,.my-lg-0 { + margin-bottom: 0!important + } + + .ml-lg-0,.mx-lg-0 { + margin-left: 0!important + } + + .m-lg-1 { + margin: .25rem!important + } + + .mt-lg-1,.my-lg-1 { + margin-top: .25rem!important + } + + .mr-lg-1,.mx-lg-1 { + margin-right: .25rem!important + } + + .mb-lg-1,.my-lg-1 { + margin-bottom: .25rem!important + } + + .ml-lg-1,.mx-lg-1 { + margin-left: .25rem!important + } + + .m-lg-2 { + margin: .5rem!important + } + + .mt-lg-2,.my-lg-2 { + margin-top: .5rem!important + } + + .mr-lg-2,.mx-lg-2 { + margin-right: .5rem!important + } + + .mb-lg-2,.my-lg-2 { + margin-bottom: .5rem!important + } + + .ml-lg-2,.mx-lg-2 { + margin-left: .5rem!important + } + + .m-lg-3 { + margin: 1rem!important + } + + .mt-lg-3,.my-lg-3 { + margin-top: 1rem!important + } + + .mr-lg-3,.mx-lg-3 { + margin-right: 1rem!important + } + + .mb-lg-3,.my-lg-3 { + margin-bottom: 1rem!important + } + + .ml-lg-3,.mx-lg-3 { + margin-left: 1rem!important + } + + .m-lg-4 { + margin: 1.5rem!important + } + + .mt-lg-4,.my-lg-4 { + margin-top: 1.5rem!important + } + + .mr-lg-4,.mx-lg-4 { + margin-right: 1.5rem!important + } + + .mb-lg-4,.my-lg-4 { + margin-bottom: 1.5rem!important + } + + .ml-lg-4,.mx-lg-4 { + margin-left: 1.5rem!important + } + + .m-lg-5 { + margin: 3rem!important + } + + .mt-lg-5,.my-lg-5 { + margin-top: 3rem!important + } + + .mr-lg-5,.mx-lg-5 { + margin-right: 3rem!important + } + + .mb-lg-5,.my-lg-5 { + margin-bottom: 3rem!important + } + + .ml-lg-5,.mx-lg-5 { + margin-left: 3rem!important + } + + .p-lg-0 { + padding: 0!important + } + + .pt-lg-0,.py-lg-0 { + padding-top: 0!important + } + + .pr-lg-0,.px-lg-0 { + padding-right: 0!important + } + + .pb-lg-0,.py-lg-0 { + padding-bottom: 0!important + } + + .pl-lg-0,.px-lg-0 { + padding-left: 0!important + } + + .p-lg-1 { + padding: .25rem!important + } + + .pt-lg-1,.py-lg-1 { + padding-top: .25rem!important + } + + .pr-lg-1,.px-lg-1 { + padding-right: .25rem!important + } + + .pb-lg-1,.py-lg-1 { + padding-bottom: .25rem!important + } + + .pl-lg-1,.px-lg-1 { + padding-left: .25rem!important + } + + .p-lg-2 { + padding: .5rem!important + } + + .pt-lg-2,.py-lg-2 { + padding-top: .5rem!important + } + + .pr-lg-2,.px-lg-2 { + padding-right: .5rem!important + } + + .pb-lg-2,.py-lg-2 { + padding-bottom: .5rem!important + } + + .pl-lg-2,.px-lg-2 { + padding-left: .5rem!important + } + + .p-lg-3 { + padding: 1rem!important + } + + .pt-lg-3,.py-lg-3 { + padding-top: 1rem!important + } + + .pr-lg-3,.px-lg-3 { + padding-right: 1rem!important + } + + .pb-lg-3,.py-lg-3 { + padding-bottom: 1rem!important + } + + .pl-lg-3,.px-lg-3 { + padding-left: 1rem!important + } + + .p-lg-4 { + padding: 1.5rem!important + } + + .pt-lg-4,.py-lg-4 { + padding-top: 1.5rem!important + } + + .pr-lg-4,.px-lg-4 { + padding-right: 1.5rem!important + } + + .pb-lg-4,.py-lg-4 { + padding-bottom: 1.5rem!important + } + + .pl-lg-4,.px-lg-4 { + padding-left: 1.5rem!important + } + + .p-lg-5 { + padding: 3rem!important + } + + .pt-lg-5,.py-lg-5 { + padding-top: 3rem!important + } + + .pr-lg-5,.px-lg-5 { + padding-right: 3rem!important + } + + .pb-lg-5,.py-lg-5 { + padding-bottom: 3rem!important + } + + .pl-lg-5,.px-lg-5 { + padding-left: 3rem!important + } + + .m-lg-n1 { + margin: -.25rem!important + } + + .mt-lg-n1,.my-lg-n1 { + margin-top: -.25rem!important + } + + .mr-lg-n1,.mx-lg-n1 { + margin-right: -.25rem!important + } + + .mb-lg-n1,.my-lg-n1 { + margin-bottom: -.25rem!important + } + + .ml-lg-n1,.mx-lg-n1 { + margin-left: -.25rem!important + } + + .m-lg-n2 { + margin: -.5rem!important + } + + .mt-lg-n2,.my-lg-n2 { + margin-top: -.5rem!important + } + + .mr-lg-n2,.mx-lg-n2 { + margin-right: -.5rem!important + } + + .mb-lg-n2,.my-lg-n2 { + margin-bottom: -.5rem!important + } + + .ml-lg-n2,.mx-lg-n2 { + margin-left: -.5rem!important + } + + .m-lg-n3 { + margin: -1rem!important + } + + .mt-lg-n3,.my-lg-n3 { + margin-top: -1rem!important + } + + .mr-lg-n3,.mx-lg-n3 { + margin-right: -1rem!important + } + + .mb-lg-n3,.my-lg-n3 { + margin-bottom: -1rem!important + } + + .ml-lg-n3,.mx-lg-n3 { + margin-left: -1rem!important + } + + .m-lg-n4 { + margin: -1.5rem!important + } + + .mt-lg-n4,.my-lg-n4 { + margin-top: -1.5rem!important + } + + .mr-lg-n4,.mx-lg-n4 { + margin-right: -1.5rem!important + } + + .mb-lg-n4,.my-lg-n4 { + margin-bottom: -1.5rem!important + } + + .ml-lg-n4,.mx-lg-n4 { + margin-left: -1.5rem!important + } + + .m-lg-n5 { + margin: -3rem!important + } + + .mt-lg-n5,.my-lg-n5 { + margin-top: -3rem!important + } + + .mr-lg-n5,.mx-lg-n5 { + margin-right: -3rem!important + } + + .mb-lg-n5,.my-lg-n5 { + margin-bottom: -3rem!important + } + + .ml-lg-n5,.mx-lg-n5 { + margin-left: -3rem!important + } + + .m-lg-auto { + margin: auto!important + } + + .mt-lg-auto,.my-lg-auto { + margin-top: auto!important + } + + .mr-lg-auto,.mx-lg-auto { + margin-right: auto!important + } + + .mb-lg-auto,.my-lg-auto { + margin-bottom: auto!important + } + + .ml-lg-auto,.mx-lg-auto { + margin-left: auto!important + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin:0!important + } + + .mt-xl-0,.my-xl-0 { + margin-top: 0!important + } + + .mr-xl-0,.mx-xl-0 { + margin-right: 0!important + } + + .mb-xl-0,.my-xl-0 { + margin-bottom: 0!important + } + + .ml-xl-0,.mx-xl-0 { + margin-left: 0!important + } + + .m-xl-1 { + margin: .25rem!important + } + + .mt-xl-1,.my-xl-1 { + margin-top: .25rem!important + } + + .mr-xl-1,.mx-xl-1 { + margin-right: .25rem!important + } + + .mb-xl-1,.my-xl-1 { + margin-bottom: .25rem!important + } + + .ml-xl-1,.mx-xl-1 { + margin-left: .25rem!important + } + + .m-xl-2 { + margin: .5rem!important + } + + .mt-xl-2,.my-xl-2 { + margin-top: .5rem!important + } + + .mr-xl-2,.mx-xl-2 { + margin-right: .5rem!important + } + + .mb-xl-2,.my-xl-2 { + margin-bottom: .5rem!important + } + + .ml-xl-2,.mx-xl-2 { + margin-left: .5rem!important + } + + .m-xl-3 { + margin: 1rem!important + } + + .mt-xl-3,.my-xl-3 { + margin-top: 1rem!important + } + + .mr-xl-3,.mx-xl-3 { + margin-right: 1rem!important + } + + .mb-xl-3,.my-xl-3 { + margin-bottom: 1rem!important + } + + .ml-xl-3,.mx-xl-3 { + margin-left: 1rem!important + } + + .m-xl-4 { + margin: 1.5rem!important + } + + .mt-xl-4,.my-xl-4 { + margin-top: 1.5rem!important + } + + .mr-xl-4,.mx-xl-4 { + margin-right: 1.5rem!important + } + + .mb-xl-4,.my-xl-4 { + margin-bottom: 1.5rem!important + } + + .ml-xl-4,.mx-xl-4 { + margin-left: 1.5rem!important + } + + .m-xl-5 { + margin: 3rem!important + } + + .mt-xl-5,.my-xl-5 { + margin-top: 3rem!important + } + + .mr-xl-5,.mx-xl-5 { + margin-right: 3rem!important + } + + .mb-xl-5,.my-xl-5 { + margin-bottom: 3rem!important + } + + .ml-xl-5,.mx-xl-5 { + margin-left: 3rem!important + } + + .p-xl-0 { + padding: 0!important + } + + .pt-xl-0,.py-xl-0 { + padding-top: 0!important + } + + .pr-xl-0,.px-xl-0 { + padding-right: 0!important + } + + .pb-xl-0,.py-xl-0 { + padding-bottom: 0!important + } + + .pl-xl-0,.px-xl-0 { + padding-left: 0!important + } + + .p-xl-1 { + padding: .25rem!important + } + + .pt-xl-1,.py-xl-1 { + padding-top: .25rem!important + } + + .pr-xl-1,.px-xl-1 { + padding-right: .25rem!important + } + + .pb-xl-1,.py-xl-1 { + padding-bottom: .25rem!important + } + + .pl-xl-1,.px-xl-1 { + padding-left: .25rem!important + } + + .p-xl-2 { + padding: .5rem!important + } + + .pt-xl-2,.py-xl-2 { + padding-top: .5rem!important + } + + .pr-xl-2,.px-xl-2 { + padding-right: .5rem!important + } + + .pb-xl-2,.py-xl-2 { + padding-bottom: .5rem!important + } + + .pl-xl-2,.px-xl-2 { + padding-left: .5rem!important + } + + .p-xl-3 { + padding: 1rem!important + } + + .pt-xl-3,.py-xl-3 { + padding-top: 1rem!important + } + + .pr-xl-3,.px-xl-3 { + padding-right: 1rem!important + } + + .pb-xl-3,.py-xl-3 { + padding-bottom: 1rem!important + } + + .pl-xl-3,.px-xl-3 { + padding-left: 1rem!important + } + + .p-xl-4 { + padding: 1.5rem!important + } + + .pt-xl-4,.py-xl-4 { + padding-top: 1.5rem!important + } + + .pr-xl-4,.px-xl-4 { + padding-right: 1.5rem!important + } + + .pb-xl-4,.py-xl-4 { + padding-bottom: 1.5rem!important + } + + .pl-xl-4,.px-xl-4 { + padding-left: 1.5rem!important + } + + .p-xl-5 { + padding: 3rem!important + } + + .pt-xl-5,.py-xl-5 { + padding-top: 3rem!important + } + + .pr-xl-5,.px-xl-5 { + padding-right: 3rem!important + } + + .pb-xl-5,.py-xl-5 { + padding-bottom: 3rem!important + } + + .pl-xl-5,.px-xl-5 { + padding-left: 3rem!important + } + + .m-xl-n1 { + margin: -.25rem!important + } + + .mt-xl-n1,.my-xl-n1 { + margin-top: -.25rem!important + } + + .mr-xl-n1,.mx-xl-n1 { + margin-right: -.25rem!important + } + + .mb-xl-n1,.my-xl-n1 { + margin-bottom: -.25rem!important + } + + .ml-xl-n1,.mx-xl-n1 { + margin-left: -.25rem!important + } + + .m-xl-n2 { + margin: -.5rem!important + } + + .mt-xl-n2,.my-xl-n2 { + margin-top: -.5rem!important + } + + .mr-xl-n2,.mx-xl-n2 { + margin-right: -.5rem!important + } + + .mb-xl-n2,.my-xl-n2 { + margin-bottom: -.5rem!important + } + + .ml-xl-n2,.mx-xl-n2 { + margin-left: -.5rem!important + } + + .m-xl-n3 { + margin: -1rem!important + } + + .mt-xl-n3,.my-xl-n3 { + margin-top: -1rem!important + } + + .mr-xl-n3,.mx-xl-n3 { + margin-right: -1rem!important + } + + .mb-xl-n3,.my-xl-n3 { + margin-bottom: -1rem!important + } + + .ml-xl-n3,.mx-xl-n3 { + margin-left: -1rem!important + } + + .m-xl-n4 { + margin: -1.5rem!important + } + + .mt-xl-n4,.my-xl-n4 { + margin-top: -1.5rem!important + } + + .mr-xl-n4,.mx-xl-n4 { + margin-right: -1.5rem!important + } + + .mb-xl-n4,.my-xl-n4 { + margin-bottom: -1.5rem!important + } + + .ml-xl-n4,.mx-xl-n4 { + margin-left: -1.5rem!important + } + + .m-xl-n5 { + margin: -3rem!important + } + + .mt-xl-n5,.my-xl-n5 { + margin-top: -3rem!important + } + + .mr-xl-n5,.mx-xl-n5 { + margin-right: -3rem!important + } + + .mb-xl-n5,.my-xl-n5 { + margin-bottom: -3rem!important + } + + .ml-xl-n5,.mx-xl-n5 { + margin-left: -3rem!important + } + + .m-xl-auto { + margin: auto!important + } + + .mt-xl-auto,.my-xl-auto { + margin-top: auto!important + } + + .mr-xl-auto,.mx-xl-auto { + margin-right: auto!important + } + + .mb-xl-auto,.my-xl-auto { + margin-bottom: auto!important + } + + .ml-xl-auto,.mx-xl-auto { + margin-left: auto!important + } +} + +@media (min-width: 1600px) { + .m-xxl-0 { + margin:0!important + } + + .mt-xxl-0,.my-xxl-0 { + margin-top: 0!important + } + + .mr-xxl-0,.mx-xxl-0 { + margin-right: 0!important + } + + .mb-xxl-0,.my-xxl-0 { + margin-bottom: 0!important + } + + .ml-xxl-0,.mx-xxl-0 { + margin-left: 0!important + } + + .m-xxl-1 { + margin: .25rem!important + } + + .mt-xxl-1,.my-xxl-1 { + margin-top: .25rem!important + } + + .mr-xxl-1,.mx-xxl-1 { + margin-right: .25rem!important + } + + .mb-xxl-1,.my-xxl-1 { + margin-bottom: .25rem!important + } + + .ml-xxl-1,.mx-xxl-1 { + margin-left: .25rem!important + } + + .m-xxl-2 { + margin: .5rem!important + } + + .mt-xxl-2,.my-xxl-2 { + margin-top: .5rem!important + } + + .mr-xxl-2,.mx-xxl-2 { + margin-right: .5rem!important + } + + .mb-xxl-2,.my-xxl-2 { + margin-bottom: .5rem!important + } + + .ml-xxl-2,.mx-xxl-2 { + margin-left: .5rem!important + } + + .m-xxl-3 { + margin: 1rem!important + } + + .mt-xxl-3,.my-xxl-3 { + margin-top: 1rem!important + } + + .mr-xxl-3,.mx-xxl-3 { + margin-right: 1rem!important + } + + .mb-xxl-3,.my-xxl-3 { + margin-bottom: 1rem!important + } + + .ml-xxl-3,.mx-xxl-3 { + margin-left: 1rem!important + } + + .m-xxl-4 { + margin: 1.5rem!important + } + + .mt-xxl-4,.my-xxl-4 { + margin-top: 1.5rem!important + } + + .mr-xxl-4,.mx-xxl-4 { + margin-right: 1.5rem!important + } + + .mb-xxl-4,.my-xxl-4 { + margin-bottom: 1.5rem!important + } + + .ml-xxl-4,.mx-xxl-4 { + margin-left: 1.5rem!important + } + + .m-xxl-5 { + margin: 3rem!important + } + + .mt-xxl-5,.my-xxl-5 { + margin-top: 3rem!important + } + + .mr-xxl-5,.mx-xxl-5 { + margin-right: 3rem!important + } + + .mb-xxl-5,.my-xxl-5 { + margin-bottom: 3rem!important + } + + .ml-xxl-5,.mx-xxl-5 { + margin-left: 3rem!important + } + + .p-xxl-0 { + padding: 0!important + } + + .pt-xxl-0,.py-xxl-0 { + padding-top: 0!important + } + + .pr-xxl-0,.px-xxl-0 { + padding-right: 0!important + } + + .pb-xxl-0,.py-xxl-0 { + padding-bottom: 0!important + } + + .pl-xxl-0,.px-xxl-0 { + padding-left: 0!important + } + + .p-xxl-1 { + padding: .25rem!important + } + + .pt-xxl-1,.py-xxl-1 { + padding-top: .25rem!important + } + + .pr-xxl-1,.px-xxl-1 { + padding-right: .25rem!important + } + + .pb-xxl-1,.py-xxl-1 { + padding-bottom: .25rem!important + } + + .pl-xxl-1,.px-xxl-1 { + padding-left: .25rem!important + } + + .p-xxl-2 { + padding: .5rem!important + } + + .pt-xxl-2,.py-xxl-2 { + padding-top: .5rem!important + } + + .pr-xxl-2,.px-xxl-2 { + padding-right: .5rem!important + } + + .pb-xxl-2,.py-xxl-2 { + padding-bottom: .5rem!important + } + + .pl-xxl-2,.px-xxl-2 { + padding-left: .5rem!important + } + + .p-xxl-3 { + padding: 1rem!important + } + + .pt-xxl-3,.py-xxl-3 { + padding-top: 1rem!important + } + + .pr-xxl-3,.px-xxl-3 { + padding-right: 1rem!important + } + + .pb-xxl-3,.py-xxl-3 { + padding-bottom: 1rem!important + } + + .pl-xxl-3,.px-xxl-3 { + padding-left: 1rem!important + } + + .p-xxl-4 { + padding: 1.5rem!important + } + + .pt-xxl-4,.py-xxl-4 { + padding-top: 1.5rem!important + } + + .pr-xxl-4,.px-xxl-4 { + padding-right: 1.5rem!important + } + + .pb-xxl-4,.py-xxl-4 { + padding-bottom: 1.5rem!important + } + + .pl-xxl-4,.px-xxl-4 { + padding-left: 1.5rem!important + } + + .p-xxl-5 { + padding: 3rem!important + } + + .pt-xxl-5,.py-xxl-5 { + padding-top: 3rem!important + } + + .pr-xxl-5,.px-xxl-5 { + padding-right: 3rem!important + } + + .pb-xxl-5,.py-xxl-5 { + padding-bottom: 3rem!important + } + + .pl-xxl-5,.px-xxl-5 { + padding-left: 3rem!important + } + + .m-xxl-n1 { + margin: -.25rem!important + } + + .mt-xxl-n1,.my-xxl-n1 { + margin-top: -.25rem!important + } + + .mr-xxl-n1,.mx-xxl-n1 { + margin-right: -.25rem!important + } + + .mb-xxl-n1,.my-xxl-n1 { + margin-bottom: -.25rem!important + } + + .ml-xxl-n1,.mx-xxl-n1 { + margin-left: -.25rem!important + } + + .m-xxl-n2 { + margin: -.5rem!important + } + + .mt-xxl-n2,.my-xxl-n2 { + margin-top: -.5rem!important + } + + .mr-xxl-n2,.mx-xxl-n2 { + margin-right: -.5rem!important + } + + .mb-xxl-n2,.my-xxl-n2 { + margin-bottom: -.5rem!important + } + + .ml-xxl-n2,.mx-xxl-n2 { + margin-left: -.5rem!important + } + + .m-xxl-n3 { + margin: -1rem!important + } + + .mt-xxl-n3,.my-xxl-n3 { + margin-top: -1rem!important + } + + .mr-xxl-n3,.mx-xxl-n3 { + margin-right: -1rem!important + } + + .mb-xxl-n3,.my-xxl-n3 { + margin-bottom: -1rem!important + } + + .ml-xxl-n3,.mx-xxl-n3 { + margin-left: -1rem!important + } + + .m-xxl-n4 { + margin: -1.5rem!important + } + + .mt-xxl-n4,.my-xxl-n4 { + margin-top: -1.5rem!important + } + + .mr-xxl-n4,.mx-xxl-n4 { + margin-right: -1.5rem!important + } + + .mb-xxl-n4,.my-xxl-n4 { + margin-bottom: -1.5rem!important + } + + .ml-xxl-n4,.mx-xxl-n4 { + margin-left: -1.5rem!important + } + + .m-xxl-n5 { + margin: -3rem!important + } + + .mt-xxl-n5,.my-xxl-n5 { + margin-top: -3rem!important + } + + .mr-xxl-n5,.mx-xxl-n5 { + margin-right: -3rem!important + } + + .mb-xxl-n5,.my-xxl-n5 { + margin-bottom: -3rem!important + } + + .ml-xxl-n5,.mx-xxl-n5 { + margin-left: -3rem!important + } + + .m-xxl-auto { + margin: auto!important + } + + .mt-xxl-auto,.my-xxl-auto { + margin-top: auto!important + } + + .mr-xxl-auto,.mx-xxl-auto { + margin-right: auto!important + } + + .mb-xxl-auto,.my-xxl-auto { + margin-bottom: auto!important + } + + .ml-xxl-auto,.mx-xxl-auto { + margin-left: auto!important + } +} + +@media (min-width: 1800px) { + .m-fhd-0 { + margin:0!important + } + + .mt-fhd-0,.my-fhd-0 { + margin-top: 0!important + } + + .mr-fhd-0,.mx-fhd-0 { + margin-right: 0!important + } + + .mb-fhd-0,.my-fhd-0 { + margin-bottom: 0!important + } + + .ml-fhd-0,.mx-fhd-0 { + margin-left: 0!important + } + + .m-fhd-1 { + margin: .25rem!important + } + + .mt-fhd-1,.my-fhd-1 { + margin-top: .25rem!important + } + + .mr-fhd-1,.mx-fhd-1 { + margin-right: .25rem!important + } + + .mb-fhd-1,.my-fhd-1 { + margin-bottom: .25rem!important + } + + .ml-fhd-1,.mx-fhd-1 { + margin-left: .25rem!important + } + + .m-fhd-2 { + margin: .5rem!important + } + + .mt-fhd-2,.my-fhd-2 { + margin-top: .5rem!important + } + + .mr-fhd-2,.mx-fhd-2 { + margin-right: .5rem!important + } + + .mb-fhd-2,.my-fhd-2 { + margin-bottom: .5rem!important + } + + .ml-fhd-2,.mx-fhd-2 { + margin-left: .5rem!important + } + + .m-fhd-3 { + margin: 1rem!important + } + + .mt-fhd-3,.my-fhd-3 { + margin-top: 1rem!important + } + + .mr-fhd-3,.mx-fhd-3 { + margin-right: 1rem!important + } + + .mb-fhd-3,.my-fhd-3 { + margin-bottom: 1rem!important + } + + .ml-fhd-3,.mx-fhd-3 { + margin-left: 1rem!important + } + + .m-fhd-4 { + margin: 1.5rem!important + } + + .mt-fhd-4,.my-fhd-4 { + margin-top: 1.5rem!important + } + + .mr-fhd-4,.mx-fhd-4 { + margin-right: 1.5rem!important + } + + .mb-fhd-4,.my-fhd-4 { + margin-bottom: 1.5rem!important + } + + .ml-fhd-4,.mx-fhd-4 { + margin-left: 1.5rem!important + } + + .m-fhd-5 { + margin: 3rem!important + } + + .mt-fhd-5,.my-fhd-5 { + margin-top: 3rem!important + } + + .mr-fhd-5,.mx-fhd-5 { + margin-right: 3rem!important + } + + .mb-fhd-5,.my-fhd-5 { + margin-bottom: 3rem!important + } + + .ml-fhd-5,.mx-fhd-5 { + margin-left: 3rem!important + } + + .p-fhd-0 { + padding: 0!important + } + + .pt-fhd-0,.py-fhd-0 { + padding-top: 0!important + } + + .pr-fhd-0,.px-fhd-0 { + padding-right: 0!important + } + + .pb-fhd-0,.py-fhd-0 { + padding-bottom: 0!important + } + + .pl-fhd-0,.px-fhd-0 { + padding-left: 0!important + } + + .p-fhd-1 { + padding: .25rem!important + } + + .pt-fhd-1,.py-fhd-1 { + padding-top: .25rem!important + } + + .pr-fhd-1,.px-fhd-1 { + padding-right: .25rem!important + } + + .pb-fhd-1,.py-fhd-1 { + padding-bottom: .25rem!important + } + + .pl-fhd-1,.px-fhd-1 { + padding-left: .25rem!important + } + + .p-fhd-2 { + padding: .5rem!important + } + + .pt-fhd-2,.py-fhd-2 { + padding-top: .5rem!important + } + + .pr-fhd-2,.px-fhd-2 { + padding-right: .5rem!important + } + + .pb-fhd-2,.py-fhd-2 { + padding-bottom: .5rem!important + } + + .pl-fhd-2,.px-fhd-2 { + padding-left: .5rem!important + } + + .p-fhd-3 { + padding: 1rem!important + } + + .pt-fhd-3,.py-fhd-3 { + padding-top: 1rem!important + } + + .pr-fhd-3,.px-fhd-3 { + padding-right: 1rem!important + } + + .pb-fhd-3,.py-fhd-3 { + padding-bottom: 1rem!important + } + + .pl-fhd-3,.px-fhd-3 { + padding-left: 1rem!important + } + + .p-fhd-4 { + padding: 1.5rem!important + } + + .pt-fhd-4,.py-fhd-4 { + padding-top: 1.5rem!important + } + + .pr-fhd-4,.px-fhd-4 { + padding-right: 1.5rem!important + } + + .pb-fhd-4,.py-fhd-4 { + padding-bottom: 1.5rem!important + } + + .pl-fhd-4,.px-fhd-4 { + padding-left: 1.5rem!important + } + + .p-fhd-5 { + padding: 3rem!important + } + + .pt-fhd-5,.py-fhd-5 { + padding-top: 3rem!important + } + + .pr-fhd-5,.px-fhd-5 { + padding-right: 3rem!important + } + + .pb-fhd-5,.py-fhd-5 { + padding-bottom: 3rem!important + } + + .pl-fhd-5,.px-fhd-5 { + padding-left: 3rem!important + } + + .m-fhd-n1 { + margin: -.25rem!important + } + + .mt-fhd-n1,.my-fhd-n1 { + margin-top: -.25rem!important + } + + .mr-fhd-n1,.mx-fhd-n1 { + margin-right: -.25rem!important + } + + .mb-fhd-n1,.my-fhd-n1 { + margin-bottom: -.25rem!important + } + + .ml-fhd-n1,.mx-fhd-n1 { + margin-left: -.25rem!important + } + + .m-fhd-n2 { + margin: -.5rem!important + } + + .mt-fhd-n2,.my-fhd-n2 { + margin-top: -.5rem!important + } + + .mr-fhd-n2,.mx-fhd-n2 { + margin-right: -.5rem!important + } + + .mb-fhd-n2,.my-fhd-n2 { + margin-bottom: -.5rem!important + } + + .ml-fhd-n2,.mx-fhd-n2 { + margin-left: -.5rem!important + } + + .m-fhd-n3 { + margin: -1rem!important + } + + .mt-fhd-n3,.my-fhd-n3 { + margin-top: -1rem!important + } + + .mr-fhd-n3,.mx-fhd-n3 { + margin-right: -1rem!important + } + + .mb-fhd-n3,.my-fhd-n3 { + margin-bottom: -1rem!important + } + + .ml-fhd-n3,.mx-fhd-n3 { + margin-left: -1rem!important + } + + .m-fhd-n4 { + margin: -1.5rem!important + } + + .mt-fhd-n4,.my-fhd-n4 { + margin-top: -1.5rem!important + } + + .mr-fhd-n4,.mx-fhd-n4 { + margin-right: -1.5rem!important + } + + .mb-fhd-n4,.my-fhd-n4 { + margin-bottom: -1.5rem!important + } + + .ml-fhd-n4,.mx-fhd-n4 { + margin-left: -1.5rem!important + } + + .m-fhd-n5 { + margin: -3rem!important + } + + .mt-fhd-n5,.my-fhd-n5 { + margin-top: -3rem!important + } + + .mr-fhd-n5,.mx-fhd-n5 { + margin-right: -3rem!important + } + + .mb-fhd-n5,.my-fhd-n5 { + margin-bottom: -3rem!important + } + + .ml-fhd-n5,.mx-fhd-n5 { + margin-left: -3rem!important + } + + .m-fhd-auto { + margin: auto!important + } + + .mt-fhd-auto,.my-fhd-auto { + margin-top: auto!important + } + + .mr-fhd-auto,.mx-fhd-auto { + margin-right: auto!important + } + + .mb-fhd-auto,.my-fhd-auto { + margin-bottom: auto!important + } + + .ml-fhd-auto,.mx-fhd-auto { + margin-left: auto!important + } +} + +@media (min-width: 2560px) { + .m-qhd-0 { + margin:0!important + } + + .mt-qhd-0,.my-qhd-0 { + margin-top: 0!important + } + + .mr-qhd-0,.mx-qhd-0 { + margin-right: 0!important + } + + .mb-qhd-0,.my-qhd-0 { + margin-bottom: 0!important + } + + .ml-qhd-0,.mx-qhd-0 { + margin-left: 0!important + } + + .m-qhd-1 { + margin: .25rem!important + } + + .mt-qhd-1,.my-qhd-1 { + margin-top: .25rem!important + } + + .mr-qhd-1,.mx-qhd-1 { + margin-right: .25rem!important + } + + .mb-qhd-1,.my-qhd-1 { + margin-bottom: .25rem!important + } + + .ml-qhd-1,.mx-qhd-1 { + margin-left: .25rem!important + } + + .m-qhd-2 { + margin: .5rem!important + } + + .mt-qhd-2,.my-qhd-2 { + margin-top: .5rem!important + } + + .mr-qhd-2,.mx-qhd-2 { + margin-right: .5rem!important + } + + .mb-qhd-2,.my-qhd-2 { + margin-bottom: .5rem!important + } + + .ml-qhd-2,.mx-qhd-2 { + margin-left: .5rem!important + } + + .m-qhd-3 { + margin: 1rem!important + } + + .mt-qhd-3,.my-qhd-3 { + margin-top: 1rem!important + } + + .mr-qhd-3,.mx-qhd-3 { + margin-right: 1rem!important + } + + .mb-qhd-3,.my-qhd-3 { + margin-bottom: 1rem!important + } + + .ml-qhd-3,.mx-qhd-3 { + margin-left: 1rem!important + } + + .m-qhd-4 { + margin: 1.5rem!important + } + + .mt-qhd-4,.my-qhd-4 { + margin-top: 1.5rem!important + } + + .mr-qhd-4,.mx-qhd-4 { + margin-right: 1.5rem!important + } + + .mb-qhd-4,.my-qhd-4 { + margin-bottom: 1.5rem!important + } + + .ml-qhd-4,.mx-qhd-4 { + margin-left: 1.5rem!important + } + + .m-qhd-5 { + margin: 3rem!important + } + + .mt-qhd-5,.my-qhd-5 { + margin-top: 3rem!important + } + + .mr-qhd-5,.mx-qhd-5 { + margin-right: 3rem!important + } + + .mb-qhd-5,.my-qhd-5 { + margin-bottom: 3rem!important + } + + .ml-qhd-5,.mx-qhd-5 { + margin-left: 3rem!important + } + + .p-qhd-0 { + padding: 0!important + } + + .pt-qhd-0,.py-qhd-0 { + padding-top: 0!important + } + + .pr-qhd-0,.px-qhd-0 { + padding-right: 0!important + } + + .pb-qhd-0,.py-qhd-0 { + padding-bottom: 0!important + } + + .pl-qhd-0,.px-qhd-0 { + padding-left: 0!important + } + + .p-qhd-1 { + padding: .25rem!important + } + + .pt-qhd-1,.py-qhd-1 { + padding-top: .25rem!important + } + + .pr-qhd-1,.px-qhd-1 { + padding-right: .25rem!important + } + + .pb-qhd-1,.py-qhd-1 { + padding-bottom: .25rem!important + } + + .pl-qhd-1,.px-qhd-1 { + padding-left: .25rem!important + } + + .p-qhd-2 { + padding: .5rem!important + } + + .pt-qhd-2,.py-qhd-2 { + padding-top: .5rem!important + } + + .pr-qhd-2,.px-qhd-2 { + padding-right: .5rem!important + } + + .pb-qhd-2,.py-qhd-2 { + padding-bottom: .5rem!important + } + + .pl-qhd-2,.px-qhd-2 { + padding-left: .5rem!important + } + + .p-qhd-3 { + padding: 1rem!important + } + + .pt-qhd-3,.py-qhd-3 { + padding-top: 1rem!important + } + + .pr-qhd-3,.px-qhd-3 { + padding-right: 1rem!important + } + + .pb-qhd-3,.py-qhd-3 { + padding-bottom: 1rem!important + } + + .pl-qhd-3,.px-qhd-3 { + padding-left: 1rem!important + } + + .p-qhd-4 { + padding: 1.5rem!important + } + + .pt-qhd-4,.py-qhd-4 { + padding-top: 1.5rem!important + } + + .pr-qhd-4,.px-qhd-4 { + padding-right: 1.5rem!important + } + + .pb-qhd-4,.py-qhd-4 { + padding-bottom: 1.5rem!important + } + + .pl-qhd-4,.px-qhd-4 { + padding-left: 1.5rem!important + } + + .p-qhd-5 { + padding: 3rem!important + } + + .pt-qhd-5,.py-qhd-5 { + padding-top: 3rem!important + } + + .pr-qhd-5,.px-qhd-5 { + padding-right: 3rem!important + } + + .pb-qhd-5,.py-qhd-5 { + padding-bottom: 3rem!important + } + + .pl-qhd-5,.px-qhd-5 { + padding-left: 3rem!important + } + + .m-qhd-n1 { + margin: -.25rem!important + } + + .mt-qhd-n1,.my-qhd-n1 { + margin-top: -.25rem!important + } + + .mr-qhd-n1,.mx-qhd-n1 { + margin-right: -.25rem!important + } + + .mb-qhd-n1,.my-qhd-n1 { + margin-bottom: -.25rem!important + } + + .ml-qhd-n1,.mx-qhd-n1 { + margin-left: -.25rem!important + } + + .m-qhd-n2 { + margin: -.5rem!important + } + + .mt-qhd-n2,.my-qhd-n2 { + margin-top: -.5rem!important + } + + .mr-qhd-n2,.mx-qhd-n2 { + margin-right: -.5rem!important + } + + .mb-qhd-n2,.my-qhd-n2 { + margin-bottom: -.5rem!important + } + + .ml-qhd-n2,.mx-qhd-n2 { + margin-left: -.5rem!important + } + + .m-qhd-n3 { + margin: -1rem!important + } + + .mt-qhd-n3,.my-qhd-n3 { + margin-top: -1rem!important + } + + .mr-qhd-n3,.mx-qhd-n3 { + margin-right: -1rem!important + } + + .mb-qhd-n3,.my-qhd-n3 { + margin-bottom: -1rem!important + } + + .ml-qhd-n3,.mx-qhd-n3 { + margin-left: -1rem!important + } + + .m-qhd-n4 { + margin: -1.5rem!important + } + + .mt-qhd-n4,.my-qhd-n4 { + margin-top: -1.5rem!important + } + + .mr-qhd-n4,.mx-qhd-n4 { + margin-right: -1.5rem!important + } + + .mb-qhd-n4,.my-qhd-n4 { + margin-bottom: -1.5rem!important + } + + .ml-qhd-n4,.mx-qhd-n4 { + margin-left: -1.5rem!important + } + + .m-qhd-n5 { + margin: -3rem!important + } + + .mt-qhd-n5,.my-qhd-n5 { + margin-top: -3rem!important + } + + .mr-qhd-n5,.mx-qhd-n5 { + margin-right: -3rem!important + } + + .mb-qhd-n5,.my-qhd-n5 { + margin-bottom: -3rem!important + } + + .ml-qhd-n5,.mx-qhd-n5 { + margin-left: -3rem!important + } + + .m-qhd-auto { + margin: auto!important + } + + .mt-qhd-auto,.my-qhd-auto { + margin-top: auto!important + } + + .mr-qhd-auto,.mx-qhd-auto { + margin-right: auto!important + } + + .mb-qhd-auto,.my-qhd-auto { + margin-bottom: auto!important + } + + .ml-qhd-auto,.mx-qhd-auto { + margin-left: auto!important + } +} + +@media (min-width: 3840px) { + .m-uhd-0 { + margin:0!important + } + + .mt-uhd-0,.my-uhd-0 { + margin-top: 0!important + } + + .mr-uhd-0,.mx-uhd-0 { + margin-right: 0!important + } + + .mb-uhd-0,.my-uhd-0 { + margin-bottom: 0!important + } + + .ml-uhd-0,.mx-uhd-0 { + margin-left: 0!important + } + + .m-uhd-1 { + margin: .25rem!important + } + + .mt-uhd-1,.my-uhd-1 { + margin-top: .25rem!important + } + + .mr-uhd-1,.mx-uhd-1 { + margin-right: .25rem!important + } + + .mb-uhd-1,.my-uhd-1 { + margin-bottom: .25rem!important + } + + .ml-uhd-1,.mx-uhd-1 { + margin-left: .25rem!important + } + + .m-uhd-2 { + margin: .5rem!important + } + + .mt-uhd-2,.my-uhd-2 { + margin-top: .5rem!important + } + + .mr-uhd-2,.mx-uhd-2 { + margin-right: .5rem!important + } + + .mb-uhd-2,.my-uhd-2 { + margin-bottom: .5rem!important + } + + .ml-uhd-2,.mx-uhd-2 { + margin-left: .5rem!important + } + + .m-uhd-3 { + margin: 1rem!important + } + + .mt-uhd-3,.my-uhd-3 { + margin-top: 1rem!important + } + + .mr-uhd-3,.mx-uhd-3 { + margin-right: 1rem!important + } + + .mb-uhd-3,.my-uhd-3 { + margin-bottom: 1rem!important + } + + .ml-uhd-3,.mx-uhd-3 { + margin-left: 1rem!important + } + + .m-uhd-4 { + margin: 1.5rem!important + } + + .mt-uhd-4,.my-uhd-4 { + margin-top: 1.5rem!important + } + + .mr-uhd-4,.mx-uhd-4 { + margin-right: 1.5rem!important + } + + .mb-uhd-4,.my-uhd-4 { + margin-bottom: 1.5rem!important + } + + .ml-uhd-4,.mx-uhd-4 { + margin-left: 1.5rem!important + } + + .m-uhd-5 { + margin: 3rem!important + } + + .mt-uhd-5,.my-uhd-5 { + margin-top: 3rem!important + } + + .mr-uhd-5,.mx-uhd-5 { + margin-right: 3rem!important + } + + .mb-uhd-5,.my-uhd-5 { + margin-bottom: 3rem!important + } + + .ml-uhd-5,.mx-uhd-5 { + margin-left: 3rem!important + } + + .p-uhd-0 { + padding: 0!important + } + + .pt-uhd-0,.py-uhd-0 { + padding-top: 0!important + } + + .pr-uhd-0,.px-uhd-0 { + padding-right: 0!important + } + + .pb-uhd-0,.py-uhd-0 { + padding-bottom: 0!important + } + + .pl-uhd-0,.px-uhd-0 { + padding-left: 0!important + } + + .p-uhd-1 { + padding: .25rem!important + } + + .pt-uhd-1,.py-uhd-1 { + padding-top: .25rem!important + } + + .pr-uhd-1,.px-uhd-1 { + padding-right: .25rem!important + } + + .pb-uhd-1,.py-uhd-1 { + padding-bottom: .25rem!important + } + + .pl-uhd-1,.px-uhd-1 { + padding-left: .25rem!important + } + + .p-uhd-2 { + padding: .5rem!important + } + + .pt-uhd-2,.py-uhd-2 { + padding-top: .5rem!important + } + + .pr-uhd-2,.px-uhd-2 { + padding-right: .5rem!important + } + + .pb-uhd-2,.py-uhd-2 { + padding-bottom: .5rem!important + } + + .pl-uhd-2,.px-uhd-2 { + padding-left: .5rem!important + } + + .p-uhd-3 { + padding: 1rem!important + } + + .pt-uhd-3,.py-uhd-3 { + padding-top: 1rem!important + } + + .pr-uhd-3,.px-uhd-3 { + padding-right: 1rem!important + } + + .pb-uhd-3,.py-uhd-3 { + padding-bottom: 1rem!important + } + + .pl-uhd-3,.px-uhd-3 { + padding-left: 1rem!important + } + + .p-uhd-4 { + padding: 1.5rem!important + } + + .pt-uhd-4,.py-uhd-4 { + padding-top: 1.5rem!important + } + + .pr-uhd-4,.px-uhd-4 { + padding-right: 1.5rem!important + } + + .pb-uhd-4,.py-uhd-4 { + padding-bottom: 1.5rem!important + } + + .pl-uhd-4,.px-uhd-4 { + padding-left: 1.5rem!important + } + + .p-uhd-5 { + padding: 3rem!important + } + + .pt-uhd-5,.py-uhd-5 { + padding-top: 3rem!important + } + + .pr-uhd-5,.px-uhd-5 { + padding-right: 3rem!important + } + + .pb-uhd-5,.py-uhd-5 { + padding-bottom: 3rem!important + } + + .pl-uhd-5,.px-uhd-5 { + padding-left: 3rem!important + } + + .m-uhd-n1 { + margin: -.25rem!important + } + + .mt-uhd-n1,.my-uhd-n1 { + margin-top: -.25rem!important + } + + .mr-uhd-n1,.mx-uhd-n1 { + margin-right: -.25rem!important + } + + .mb-uhd-n1,.my-uhd-n1 { + margin-bottom: -.25rem!important + } + + .ml-uhd-n1,.mx-uhd-n1 { + margin-left: -.25rem!important + } + + .m-uhd-n2 { + margin: -.5rem!important + } + + .mt-uhd-n2,.my-uhd-n2 { + margin-top: -.5rem!important + } + + .mr-uhd-n2,.mx-uhd-n2 { + margin-right: -.5rem!important + } + + .mb-uhd-n2,.my-uhd-n2 { + margin-bottom: -.5rem!important + } + + .ml-uhd-n2,.mx-uhd-n2 { + margin-left: -.5rem!important + } + + .m-uhd-n3 { + margin: -1rem!important + } + + .mt-uhd-n3,.my-uhd-n3 { + margin-top: -1rem!important + } + + .mr-uhd-n3,.mx-uhd-n3 { + margin-right: -1rem!important + } + + .mb-uhd-n3,.my-uhd-n3 { + margin-bottom: -1rem!important + } + + .ml-uhd-n3,.mx-uhd-n3 { + margin-left: -1rem!important + } + + .m-uhd-n4 { + margin: -1.5rem!important + } + + .mt-uhd-n4,.my-uhd-n4 { + margin-top: -1.5rem!important + } + + .mr-uhd-n4,.mx-uhd-n4 { + margin-right: -1.5rem!important + } + + .mb-uhd-n4,.my-uhd-n4 { + margin-bottom: -1.5rem!important + } + + .ml-uhd-n4,.mx-uhd-n4 { + margin-left: -1.5rem!important + } + + .m-uhd-n5 { + margin: -3rem!important + } + + .mt-uhd-n5,.my-uhd-n5 { + margin-top: -3rem!important + } + + .mr-uhd-n5,.mx-uhd-n5 { + margin-right: -3rem!important + } + + .mb-uhd-n5,.my-uhd-n5 { + margin-bottom: -3rem!important + } + + .ml-uhd-n5,.mx-uhd-n5 { + margin-left: -3rem!important + } + + .m-uhd-auto { + margin: auto!important + } + + .mt-uhd-auto,.my-uhd-auto { + margin-top: auto!important + } + + .mr-uhd-auto,.mx-uhd-auto { + margin-right: auto!important + } + + .mb-uhd-auto,.my-uhd-auto { + margin-bottom: auto!important + } + + .ml-uhd-auto,.mx-uhd-auto { + margin-left: auto!important + } +} + +.stretched-link:after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: #0000 +} + +.text-monospace { + font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important +} + +.text-justify { + text-align: justify!important +} + +.text-wrap { + white-space: normal!important +} + +.text-nowrap { + white-space: nowrap!important +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap +} + +.text-left { + text-align: left!important +} + +.text-right { + text-align: right!important +} + +.text-center { + text-align: center!important +} + +@media (min-width: 576px) { + .text-sm-left { + text-align:left!important + } + + .text-sm-right { + text-align: right!important + } + + .text-sm-center { + text-align: center!important + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align:left!important + } + + .text-md-right { + text-align: right!important + } + + .text-md-center { + text-align: center!important + } +} + +@media (min-width: 900px) { + .text-lg-left { + text-align:left!important + } + + .text-lg-right { + text-align: right!important + } + + .text-lg-center { + text-align: center!important + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align:left!important + } + + .text-xl-right { + text-align: right!important + } + + .text-xl-center { + text-align: center!important + } +} + +@media (min-width: 1600px) { + .text-xxl-left { + text-align:left!important + } + + .text-xxl-right { + text-align: right!important + } + + .text-xxl-center { + text-align: center!important + } +} + +@media (min-width: 1800px) { + .text-fhd-left { + text-align:left!important + } + + .text-fhd-right { + text-align: right!important + } + + .text-fhd-center { + text-align: center!important + } +} + +@media (min-width: 2560px) { + .text-qhd-left { + text-align:left!important + } + + .text-qhd-right { + text-align: right!important + } + + .text-qhd-center { + text-align: center!important + } +} + +@media (min-width: 3840px) { + .text-uhd-left { + text-align:left!important + } + + .text-uhd-right { + text-align: right!important + } + + .text-uhd-center { + text-align: center!important + } +} + +.text-lowercase { + text-transform: lowercase!important +} + +.text-uppercase { + text-transform: uppercase!important +} + +.text-capitalize { + text-transform: capitalize!important +} + +.font-weight-light { + font-weight: 300!important +} + +.font-weight-lighter { + font-weight: lighter!important +} + +.font-weight-normal { + font-weight: 400!important +} + +.font-weight-bold { + font-weight: 700!important +} + +.font-weight-bolder { + font-weight: bolder!important +} + +.font-italic { + font-style: italic!important +} + +.text-white { + color: #fff!important +} + +.text-primary { + color: #007bff!important +} + +a.text-primary:focus,a.text-primary:hover { + color: #0056b3!important +} + +.text-secondary { + color: #6c757d!important +} + +a.text-secondary:focus,a.text-secondary:hover { + color: #494f54!important +} + +.text-success { + color: #39cc0b!important +} + +a.text-success:focus,a.text-success:hover { + color: #258307!important +} + +.text-info { + color: #17a2b8!important +} + +a.text-info:focus,a.text-info:hover { + color: #0f6674!important +} + +.text-warning { + color: #ffc107!important +} + +a.text-warning:focus,a.text-warning:hover { + color: #ba8b00!important +} + +.text-danger { + color: red!important +} + +a.text-danger:focus,a.text-danger:hover { + color: #b30000!important +} + +.text-light { + color: #f8f9fa!important +} + +a.text-light:focus,a.text-light:hover { + color: #cbd3da!important +} + +.text-dark { + color: #343a40!important +} + +a.text-dark:focus,a.text-dark:hover { + color: #121416!important +} + +.text-body { + color: #212529!important +} + +.form-group-description,.text-muted { + color: #6c757d!important +} + +.text-black-50 { + color: #00000080!important +} + +.text-white-50 { + color: #ffffff80!important +} + +.text-hide { + font: 0/0 a; + color: #0000; + text-shadow: none; + background-color: initial; + border: 0 +} + +.text-decoration-none { + text-decoration: none!important +} + +.text-break { + word-break: break-word!important; + word-wrap: break-word!important +} + +.text-reset { + color: inherit!important +} + +.visible { + visibility: visible!important +} + +.invisible { + visibility: hidden!important +} + +/*! Bootstrap3 Glyphicons : Neo (@Neos21) : https://neos21.net/ */ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +@font-face { + font-family: Glyphicons Halflings; + src: url(glyphicons-halflings-regular.5be1347c682810f199c7.eot); + src: url(glyphicons-halflings-regular.5be1347c682810f199c7.eot?#iefix) format("embedded-opentype"),url(glyphicons-halflings-regular.be810be3a3e14c682a25.woff2) format("woff2"),url(glyphicons-halflings-regular.82b1212e45a2bc35dd73.woff) format("woff"),url(glyphicons-halflings-regular.4692b9ec53fd5972caa2.ttf) format("truetype"),url(glyphicons-halflings-regular.060b2710bdbbe3dfe48b.svg#glyphicons_halflingsregular) format("svg") +} + +.glyphicon,p-table th.p-highlight .pi { + position: relative; + top: 1px; + display: inline-block; + font-family: Glyphicons Halflings; + font-style: normal; + font-weight: 400; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.glyphicon-asterisk:before { + content: "*" +} + +.glyphicon-plus:before { + content: "+" +} + +.glyphicon-eur:before,.glyphicon-euro:before { + content: "€" +} + +.glyphicon-minus:before { + content: "−" +} + +.glyphicon-cloud:before { + content: "☁" +} + +.glyphicon-envelope:before { + content: "✉" +} + +.glyphicon-pencil:before { + content: "✏" +} + +.glyphicon-glass:before { + content: "" +} + +.glyphicon-music:before { + content: "" +} + +.glyphicon-search:before { + content: "" +} + +.glyphicon-heart:before { + content: "" +} + +.glyphicon-star:before { + content: "" +} + +.glyphicon-star-empty:before { + content: "" +} + +.glyphicon-user:before { + content: "" +} + +.glyphicon-film:before { + content: "" +} + +.glyphicon-th-large:before { + content: "" +} + +.glyphicon-th:before { + content: "" +} + +.glyphicon-th-list:before { + content: "" +} + +.glyphicon-ok:before { + content: "" +} + +.glyphicon-remove:before { + content: "" +} + +.glyphicon-zoom-in:before { + content: "" +} + +.glyphicon-zoom-out:before { + content: "" +} + +.glyphicon-off:before { + content: "" +} + +.glyphicon-signal:before { + content: "" +} + +.glyphicon-cog:before { + content: "" +} + +.glyphicon-trash:before { + content: "" +} + +.glyphicon-home:before { + content: "" +} + +.glyphicon-file:before { + content: "" +} + +.glyphicon-time:before { + content: "" +} + +.glyphicon-road:before { + content: "" +} + +.glyphicon-download-alt:before { + content: "" +} + +.glyphicon-download:before { + content: "" +} + +.glyphicon-upload:before { + content: "" +} + +.glyphicon-inbox:before { + content: "" +} + +.glyphicon-play-circle:before { + content: "" +} + +.glyphicon-repeat:before { + content: "" +} + +.glyphicon-refresh:before { + content: "" +} + +.glyphicon-list-alt:before { + content: "" +} + +.glyphicon-lock:before { + content: "" +} + +.glyphicon-flag:before { + content: "" +} + +.glyphicon-headphones:before { + content: "" +} + +.glyphicon-volume-off:before { + content: "" +} + +.glyphicon-volume-down:before { + content: "" +} + +.glyphicon-volume-up:before { + content: "" +} + +.glyphicon-qrcode:before { + content: "" +} + +.glyphicon-barcode:before { + content: "" +} + +.glyphicon-tag:before { + content: "" +} + +.glyphicon-tags:before { + content: "" +} + +.glyphicon-book:before { + content: "" +} + +.glyphicon-bookmark:before { + content: "" +} + +.glyphicon-print:before { + content: "" +} + +.glyphicon-camera:before { + content: "" +} + +.glyphicon-font:before { + content: "" +} + +.glyphicon-bold:before { + content: "" +} + +.glyphicon-italic:before { + content: "" +} + +.glyphicon-text-height:before { + content: "" +} + +.glyphicon-text-width:before { + content: "" +} + +.glyphicon-align-left:before { + content: "" +} + +.glyphicon-align-center:before { + content: "" +} + +.glyphicon-align-right:before { + content: "" +} + +.glyphicon-align-justify:before { + content: "" +} + +.glyphicon-list:before { + content: "" +} + +.glyphicon-indent-left:before { + content: "" +} + +.glyphicon-indent-right:before { + content: "" +} + +.glyphicon-facetime-video:before { + content: "" +} + +.glyphicon-picture:before { + content: "" +} + +.glyphicon-map-marker:before { + content: "" +} + +.glyphicon-adjust:before { + content: "" +} + +.glyphicon-tint:before { + content: "" +} + +.glyphicon-edit:before { + content: "" +} + +.glyphicon-share:before { + content: "" +} + +.glyphicon-check:before { + content: "" +} + +.glyphicon-move:before { + content: "" +} + +.glyphicon-step-backward:before,p-table p-paginator .p-paginator-bottom .p-paginator-first:before,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-paginator-first:before,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-paginator-first:before,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-paginator-first:before { + content: "" +} + +.glyphicon-fast-backward:before { + content: "" +} + +.glyphicon-backward:before { + content: "" +} + +.glyphicon-play:before { + content: "" +} + +.glyphicon-pause:before { + content: "" +} + +.glyphicon-stop:before { + content: "" +} + +.glyphicon-forward:before { + content: "" +} + +.glyphicon-fast-forward:before { + content: "" +} + +.glyphicon-step-forward:before,p-table p-paginator .p-paginator-bottom .p-paginator-first.p-paginator-last:before,p-table p-paginator .p-paginator-bottom .p-paginator-last:before,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-paginator-last:before,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-paginator-last:before { + content: "" +} + +.glyphicon-eject:before { + content: "" +} + +.glyphicon-chevron-left:before,p-calendar .p-datepicker .p-datepicker-header .p-datepicker-prev:before,p-table p-paginator .p-paginator-bottom .p-paginator-first.p-paginator-prev:before,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-paginator-prev:before,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-paginator-prev:before,p-table p-paginator .p-paginator-bottom .p-paginator-prev:before { + content: "" +} + +.glyphicon-chevron-right:before,p-calendar .p-datepicker .p-datepicker-header .p-datepicker-next:before,p-table p-paginator .p-paginator-bottom .p-paginator-first.p-paginator-next:before,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-paginator-next:before,p-table p-paginator .p-paginator-bottom .p-paginator-next:before,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-paginator-next:before { + content: "" +} + +.glyphicon-plus-sign:before { + content: "" +} + +.glyphicon-minus-sign:before { + content: "" +} + +.glyphicon-remove-sign:before { + content: "" +} + +.glyphicon-ok-sign:before { + content: "" +} + +.glyphicon-question-sign:before { + content: "" +} + +.glyphicon-info-sign:before { + content: "" +} + +.glyphicon-screenshot:before { + content: "" +} + +.glyphicon-remove-circle:before { + content: "" +} + +.glyphicon-ok-circle:before { + content: "" +} + +.glyphicon-ban-circle:before { + content: "" +} + +.glyphicon-arrow-left:before { + content: "" +} + +.glyphicon-arrow-right:before { + content: "" +} + +.glyphicon-arrow-up:before { + content: "" +} + +.glyphicon-arrow-down:before { + content: "" +} + +.glyphicon-share-alt:before { + content: "" +} + +.glyphicon-resize-full:before { + content: "" +} + +.glyphicon-resize-small:before { + content: "" +} + +.glyphicon-exclamation-sign:before { + content: "" +} + +.glyphicon-gift:before { + content: "" +} + +.glyphicon-leaf:before { + content: "" +} + +.glyphicon-fire:before { + content: "" +} + +.glyphicon-eye-open:before { + content: "" +} + +.glyphicon-eye-close:before { + content: "" +} + +.glyphicon-warning-sign:before { + content: "" +} + +.glyphicon-plane:before { + content: "" +} + +.glyphicon-calendar:before { + content: "" +} + +.glyphicon-random:before { + content: "" +} + +.glyphicon-comment:before { + content: "" +} + +.glyphicon-magnet:before { + content: "" +} + +.glyphicon-chevron-up:before,p-calendar .p-datepicker .p-timepicker .pi.pi-chevron-up:before { + content: "" +} + +.glyphicon-chevron-down:before,p-calendar .p-datepicker .p-timepicker .pi.pi-chevron-down:before { + content: "" +} + +.glyphicon-retweet:before { + content: "" +} + +.glyphicon-shopping-cart:before { + content: "" +} + +.glyphicon-folder-close:before { + content: "" +} + +.glyphicon-folder-open:before { + content: "" +} + +.glyphicon-resize-vertical:before { + content: "" +} + +.glyphicon-resize-horizontal:before { + content: "" +} + +.glyphicon-hdd:before { + content: "" +} + +.glyphicon-bullhorn:before { + content: "" +} + +.glyphicon-bell:before { + content: "" +} + +.glyphicon-certificate:before { + content: "" +} + +.glyphicon-thumbs-up:before { + content: "" +} + +.glyphicon-thumbs-down:before { + content: "" +} + +.glyphicon-hand-right:before { + content: "" +} + +.glyphicon-hand-left:before { + content: "" +} + +.glyphicon-hand-up:before { + content: "" +} + +.glyphicon-hand-down:before { + content: "" +} + +.glyphicon-circle-arrow-right:before { + content: "" +} + +.glyphicon-circle-arrow-left:before { + content: "" +} + +.glyphicon-circle-arrow-up:before { + content: "" +} + +.glyphicon-circle-arrow-down:before { + content: "" +} + +.glyphicon-globe:before { + content: "" +} + +.glyphicon-wrench:before { + content: "" +} + +.glyphicon-tasks:before { + content: "" +} + +.glyphicon-filter:before { + content: "" +} + +.glyphicon-briefcase:before { + content: "" +} + +.glyphicon-fullscreen:before { + content: "" +} + +.glyphicon-dashboard:before { + content: "" +} + +.glyphicon-paperclip:before { + content: "" +} + +.glyphicon-heart-empty:before { + content: "" +} + +.glyphicon-link:before { + content: "" +} + +.glyphicon-phone:before { + content: "" +} + +.glyphicon-pushpin:before { + content: "" +} + +.glyphicon-usd:before { + content: "" +} + +.glyphicon-gbp:before { + content: "" +} + +.glyphicon-sort:before { + content: "" +} + +.glyphicon-sort-by-alphabet:before { + content: "" +} + +.glyphicon-sort-by-alphabet-alt:before { + content: "" +} + +.glyphicon-sort-by-order:before { + content: "" +} + +.glyphicon-sort-by-order-alt:before { + content: "" +} + +.glyphicon-sort-by-attributes:before { + content: "" +} + +.glyphicon-sort-by-attributes-alt:before { + content: "" +} + +.glyphicon-unchecked:before { + content: "" +} + +.glyphicon-expand:before { + content: "" +} + +.glyphicon-collapse-down:before { + content: "" +} + +.glyphicon-collapse-up:before { + content: "" +} + +.glyphicon-log-in:before { + content: "" +} + +.glyphicon-flash:before { + content: "" +} + +.glyphicon-log-out:before { + content: "" +} + +.glyphicon-new-window:before { + content: "" +} + +.glyphicon-record:before { + content: "" +} + +.glyphicon-save:before { + content: "" +} + +.glyphicon-open:before { + content: "" +} + +.glyphicon-saved:before { + content: "" +} + +.glyphicon-import:before { + content: "" +} + +.glyphicon-export:before { + content: "" +} + +.glyphicon-send:before { + content: "" +} + +.glyphicon-floppy-disk:before { + content: "" +} + +.glyphicon-floppy-saved:before { + content: "" +} + +.glyphicon-floppy-remove:before { + content: "" +} + +.glyphicon-floppy-save:before { + content: "" +} + +.glyphicon-floppy-open:before { + content: "" +} + +.glyphicon-credit-card:before { + content: "" +} + +.glyphicon-transfer:before { + content: "" +} + +.glyphicon-cutlery:before { + content: "" +} + +.glyphicon-header:before { + content: "" +} + +.glyphicon-compressed:before { + content: "" +} + +.glyphicon-earphone:before { + content: "" +} + +.glyphicon-phone-alt:before { + content: "" +} + +.glyphicon-tower:before { + content: "" +} + +.glyphicon-stats:before { + content: "" +} + +.glyphicon-sd-video:before { + content: "" +} + +.glyphicon-hd-video:before { + content: "" +} + +.glyphicon-subtitles:before { + content: "" +} + +.glyphicon-sound-stereo:before { + content: "" +} + +.glyphicon-sound-dolby:before { + content: "" +} + +.glyphicon-sound-5-1:before { + content: "" +} + +.glyphicon-sound-6-1:before { + content: "" +} + +.glyphicon-sound-7-1:before { + content: "" +} + +.glyphicon-copyright-mark:before { + content: "" +} + +.glyphicon-registration-mark:before { + content: "" +} + +.glyphicon-cloud-download:before { + content: "" +} + +.glyphicon-cloud-upload:before { + content: "" +} + +.glyphicon-tree-conifer:before { + content: "" +} + +.glyphicon-tree-deciduous:before { + content: "" +} + +.glyphicon-cd:before { + content: "" +} + +.glyphicon-save-file:before { + content: "" +} + +.glyphicon-open-file:before { + content: "" +} + +.glyphicon-level-up:before { + content: "" +} + +.glyphicon-copy:before { + content: "" +} + +.glyphicon-paste:before { + content: "" +} + +.glyphicon-alert:before { + content: "" +} + +.glyphicon-equalizer:before { + content: "" +} + +.glyphicon-king:before { + content: "" +} + +.glyphicon-queen:before { + content: "" +} + +.glyphicon-pawn:before { + content: "" +} + +.glyphicon-bishop:before { + content: "" +} + +.glyphicon-knight:before { + content: "" +} + +.glyphicon-baby-formula:before { + content: "" +} + +.glyphicon-tent:before { + content: "⛺" +} + +.glyphicon-blackboard:before { + content: "" +} + +.glyphicon-bed:before { + content: "" +} + +.glyphicon-apple:before { + content: "" +} + +.glyphicon-erase:before { + content: "" +} + +.glyphicon-hourglass:before { + content: "⌛" +} + +.glyphicon-lamp:before { + content: "" +} + +.glyphicon-duplicate:before { + content: "" +} + +.glyphicon-piggy-bank:before { + content: "" +} + +.glyphicon-scissors:before { + content: "" +} + +.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before { + content: "" +} + +.glyphicon-jpy:before,.glyphicon-yen:before { + content: "¥" +} + +.glyphicon-rub:before,.glyphicon-ruble:before { + content: "₽" +} + +.glyphicon-scale:before { + content: "" +} + +.glyphicon-ice-lolly:before { + content: "" +} + +.glyphicon-ice-lolly-tasted:before { + content: "" +} + +.glyphicon-education:before { + content: "" +} + +.glyphicon-option-horizontal:before { + content: "" +} + +.glyphicon-option-vertical:before { + content: "" +} + +.glyphicon-menu-hamburger:before { + content: "" +} + +.glyphicon-modal-window:before { + content: "" +} + +.glyphicon-oil:before { + content: "" +} + +.glyphicon-grain:before { + content: "" +} + +.glyphicon-sunglasses:before { + content: "" +} + +.glyphicon-text-size:before { + content: "" +} + +.glyphicon-text-color:before { + content: "" +} + +.glyphicon-text-background:before { + content: "" +} + +.glyphicon-object-align-top:before { + content: "" +} + +.glyphicon-object-align-bottom:before { + content: "" +} + +.glyphicon-object-align-horizontal:before { + content: "" +} + +.glyphicon-object-align-left:before { + content: "" +} + +.glyphicon-object-align-vertical:before { + content: "" +} + +.glyphicon-object-align-right:before { + content: "" +} + +.glyphicon-triangle-right:before { + content: "" +} + +.glyphicon-triangle-left:before { + content: "" +} + +.glyphicon-triangle-bottom:before,p-table th.p-highlight .pi.pi-sort-amount-down:before { + content: "" +} + +.glyphicon-triangle-top:before,p-table th.p-highlight .pi.pi-sort-amount-up-alt:before { + content: "" +} + +.glyphicon-console:before { + content: "" +} + +.glyphicon-superscript:before { + content: "" +} + +.glyphicon-subscript:before { + content: "" +} + +.glyphicon-menu-left:before { + content: "" +} + +.glyphicon-menu-right:before { + content: "" +} + +.glyphicon-menu-down:before { + content: "" +} + +.glyphicon-menu-up:before { + content: "" +} + +.glyphicon-refresh-animate { + animation: spin .7s linear infinite +} + +.glyphicon-duplicate { + font-size: 70% +} + +.flex-auto { + flex: auto +} + +.c-hand { + cursor: pointer +} + +@keyframes spin { + 0% { + transform: scale(1) rotate(0deg) + } + + to { + transform: scale(1) rotate(1turn) + } +} + +.dropdown,.dropup { + z-index: 17000!important +} + +.list-overflow-menu,.parent-entry { + z-index: 12599!important +} + +.action-dropdown,.btn-group,.column-toggle,.dropdown-root,.input-group-prepend { + z-index: inherit!important +} + +.btn-group>.btn:not(:first-child) { + border-top-left-radius: 0!important; + border-bottom-left-radius: 0!important +} + +.dropdown-menu { + z-index: 17001!important; + border-radius: 3px; + box-shadow: 0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f,0 3px 1px -2px #0003; + font-size: 15px +} + +@supports (padding-inline-start: 1rem) { + .dropdown-menu .dropdown-header { + padding-inline-start:1rem} +} + +@supports not (padding-inline-start: 1rem) { + .dropdown-menu .dropdown-header { + padding-left: 1rem + } +} + +.dropdown-menu .dropdown-item { + padding: 3px 15px +} + +.dropdown-menu .dropdown-item.active { + color: var(--mainBackgroundColor)!important; + background-color: var(--mainHoverColor); + opacity: .9 +} + +.dropdown-menu .dropdown-item:active { + color: var(--mainForegroundColor)!important +} + +.dropdown-menu .dropdown-item:after { + display: none +} + +.dropdown-menu button:active,.dropdown-menu button:focus,.dropdown-menu button:hover { + text-decoration: none!important; + outline: none!important +} + +.dropdown-menu a { + color: #000!important +} + +.dropdown-menu a:active,.dropdown-menu a:focus,.dropdown-menu a:hover { + text-decoration: none!important; + outline: none!important +} + +.badge { + line-height: 1.1 +} + +@media screen and (min-width: 768px) { + .modal:before { + vertical-align:middle; + content: " "; + height: 100% + } + + .modal-dialog { + text-align: start + } + + .modal-dialog:not(.modal-lg):not(.modal-xl) { + min-width: 500px; + width: 40vw; + max-width: 900px + } +} + +.modal { + text-align: center +} + +.modal .modal-content { + background-color: var(--mainBackgroundColor); + word-break: break-word +} + +.modal .modal-header { + border-bottom: 0; + margin-bottom: 5px +} + +.modal .modal-header .modal-title { + font-size: 20px; + font-weight: 600 +} + +.modal .modal-header my-global-icon { + width: 22px; + height: 22px; + position: relative; + top: 5px; + float: right; + margin: 0; + padding: 0; + opacity: .5 +} + +.modal .modal-header my-global-icon,.modal .modal-header my-global-icon[iconName=cross] { + display: inline-block; + background-repeat: no-repeat; + background-size: contain; + vertical-align: middle; + cursor: pointer +} + +.modal .modal-header my-global-icon[iconName=cross] { + width: 16px; + height: 16px; + top: -3px +} + +.modal .inputs { + margin-bottom: 0; + text-align: end +} + +@supports (margin-inline-start: 10px) { + .modal .inputs>.peertube-button:not(:first-child) { + margin-inline-start:10px} +} + +@supports not (margin-inline-start: 10px) { + .modal .inputs>.peertube-button:not(:first-child) { + margin-left: 10px + } +} + +.modal-open { + overflow-y: scroll!important; + width: 100vw +} + +@media (hover: none) and (pointer: coarse) { + .menu-open,.modal-open { + overflow:hidden!important + } + + .menu-open .main-col:before { + background-color: #000; + width: 100vw; + height: 100vh; + opacity: .75; + content: ""; + display: block; + position: fixed; + z-index: 12550 + } +} + +.nav .nav-link { + display: flex!important; + align-items: center; + height: 30px!important; + padding: 10px 15px!important +} + +.nav.nav-pills { + font-size: 16px!important; + font-weight: 600!important +} + +.nav.nav-pills .nav-link { + opacity: .6!important +} + +.nav.nav-pills .nav-link.active,.nav.nav-pills .nav-link:active,.nav.nav-pills .nav-link:focus,.nav.nav-pills .nav-link:hover { + opacity: 1!important +} + +.nav.nav-pills a { + color: var(--mainForegroundColor) +} + +.nav.nav-pills a:active,.nav.nav-pills a:focus,.nav.nav-pills a:hover { + text-decoration: none!important; + outline: none!important +} + +.nav-tabs .nav-link { + color: var(--mainForegroundColor); + font-weight: 600; + border: 0; + border-bottom: 2px solid #0000; + opacity: .6 +} + +.nav-tabs .nav-link:active,.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover { + text-decoration: none!important; + outline: none!important +} + +.nav-tabs .nav-link.active { + color: var(--mainForegroundColor); + background-color: var(--mainBackgroundColor)!important; + border-bottom-color: var(--mainColor) +} + +.nav-tabs .nav-link.active,.nav-tabs .nav-link:active,.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover { + opacity: 1 +} + +.card { + background-color: var(--mainBackgroundColor); + border-color: #dee2e6 +} + +.collapse-transition { + transition: max-height .3s; + display: block!important; + overflow: hidden!important; + max-height: 0 +} + +.collapse-transition.show { + max-height: 1500px; + overflow: inherit!important +} + +.dropdown-divider { + margin: .3rem 0 +} + +ngb-modal-backdrop { + z-index: 15999!important +} + +ngb-modal-window { + z-index: 16000!important +} + +ngb-popover-window { + z-index: 13000!important +} + +ngb-tooltip-window { + z-index: 14000!important +} + +.btn-outline-secondary { + border-color: #ced4da +} + +.btn-outline-secondary:focus,.btn-outline-secondary:focus-within,.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d +} + +.btn-outline-tertiary { + color: var(--secondaryColor); + border-color: var(--secondaryColor) +} + +.btn-outline-tertiary:focus,.btn-outline-tertiary:focus-within,.btn-outline-tertiary:hover { + color: var(--mainBackgroundColor); + background-color: var(--secondaryColor) +} + +.form-control { + font-size: 15px; + color: var(--mainForegroundColor); + background-color: var(--inputBackgroundColor); + outline: none +} + +.form-control:focus,.form-control:focus-within { + box-shadow: 0 0 0 .2rem var(--mainColorLightest) +} + +.form-control:focus-within.input-error,.form-control:focus.input-error { + box-shadow: 0 0 0 .2rem #ff000040 +} + +.input-group>.form-control { + flex: initial +} + +.input-group input.form-control { + width: unset!important; + flex-grow: 1 +} + +.input-group .input-group-prepend+input { + border-top-left-radius: 0!important; + border-bottom-left-radius: 0!important +} + +.has-feedback.has-clear { + position: relative +} + +@supports (padding-inline-end: 1.5rem !important) { + .has-feedback.has-clear input { + padding-inline-end:1.5rem!important} +} + +@supports not (padding-inline-end: 1.5rem !important) { + .has-feedback.has-clear input { + padding-right: 1.5rem!important + } +} + +.has-feedback.has-clear .form-control-clear { + color: #0006; + pointer-events: all; + display: flex; + justify-content: center; + align-items: center; + position: absolute; + right: .5rem; + height: 95%; + font-size: 14px +} + +.has-feedback.has-clear .form-control-clear:hover { + color: #000000b3; + cursor: pointer +} + +.has-feedback.has-clear input:placeholder-shown+.form-control-clear { + display: none +} + +.callout { + padding: 1.25rem; + border: 1px solid #eee; + border-radius: .25rem +} + +.callout>label { + position: relative; + top: -5px; + left: -10px; + color: #6c757d!important +} + +.callout:not(.callout-light) { + border-left-width: .25rem +} + +.callout.callout-info { + border-left-color: var(--mainColorLightest); + border-color: var(--mainColorLightest) var(--mainColorLightest) var(--mainColorLightest) var(--mainColor) +} + +@supports (margin-inline-start: 0) { + .ml-0 { + margin-inline-start:0} +} + +@supports not (margin-inline-start: 0) { + .ml-0 { + margin-left: 0 + } +} + +@supports (margin-inline-end: 0) { + .mr-0 { + margin-inline-end:0} +} + +@supports not (margin-inline-end: 0) { + .mr-0 { + margin-right: 0 + } +} + +@supports (padding-inline-start: 0) { + .pl-0 { + padding-inline-start:0} +} + +@supports not (padding-inline-start: 0) { + .pl-0 { + padding-left: 0 + } +} + +@supports (padding-inline-end: 0) { + .pr-0 { + padding-inline-end:0} +} + +@supports not (padding-inline-end: 0) { + .pr-0 { + padding-right: 0 + } +} + +@supports (margin-inline-start: 0.25rem) { + .ml-1 { + margin-inline-start:.25rem} +} + +@supports not (margin-inline-start: 0.25rem) { + .ml-1 { + margin-left: .25rem + } +} + +@supports (margin-inline-end: 0.25rem) { + .mr-1 { + margin-inline-end:.25rem} +} + +@supports not (margin-inline-end: 0.25rem) { + .mr-1 { + margin-right: .25rem + } +} + +@supports (padding-inline-start: 0.25rem) { + .pl-1 { + padding-inline-start:.25rem} +} + +@supports not (padding-inline-start: 0.25rem) { + .pl-1 { + padding-left: .25rem + } +} + +@supports (padding-inline-end: 0.25rem) { + .pr-1 { + padding-inline-end:.25rem} +} + +@supports not (padding-inline-end: 0.25rem) { + .pr-1 { + padding-right: .25rem + } +} + +@supports (margin-inline-start: 0.5rem) { + .ml-2 { + margin-inline-start:.5rem} +} + +@supports not (margin-inline-start: 0.5rem) { + .ml-2 { + margin-left: .5rem + } +} + +@supports (margin-inline-end: 0.5rem) { + .mr-2 { + margin-inline-end:.5rem} +} + +@supports not (margin-inline-end: 0.5rem) { + .mr-2 { + margin-right: .5rem + } +} + +@supports (padding-inline-start: 0.5rem) { + .pl-2 { + padding-inline-start:.5rem} +} + +@supports not (padding-inline-start: 0.5rem) { + .pl-2 { + padding-left: .5rem + } +} + +@supports (padding-inline-end: 0.5rem) { + .pr-2 { + padding-inline-end:.5rem} +} + +@supports not (padding-inline-end: 0.5rem) { + .pr-2 { + padding-right: .5rem + } +} + +@supports (margin-inline-start: 1rem) { + .ml-3 { + margin-inline-start:1rem} +} + +@supports not (margin-inline-start: 1rem) { + .ml-3 { + margin-left: 1rem + } +} + +@supports (margin-inline-end: 1rem) { + .mr-3 { + margin-inline-end:1rem} +} + +@supports not (margin-inline-end: 1rem) { + .mr-3 { + margin-right: 1rem + } +} + +@supports (padding-inline-start: 1rem) { + .pl-3 { + padding-inline-start:1rem} +} + +@supports not (padding-inline-start: 1rem) { + .pl-3 { + padding-left: 1rem + } +} + +@supports (padding-inline-end: 1rem) { + .pr-3 { + padding-inline-end:1rem} +} + +@supports not (padding-inline-end: 1rem) { + .pr-3 { + padding-right: 1rem + } +} + +@supports (margin-inline-start: 1.5rem) { + .ml-4 { + margin-inline-start:1.5rem} +} + +@supports not (margin-inline-start: 1.5rem) { + .ml-4 { + margin-left: 1.5rem + } +} + +@supports (margin-inline-end: 1.5rem) { + .mr-4 { + margin-inline-end:1.5rem} +} + +@supports not (margin-inline-end: 1.5rem) { + .mr-4 { + margin-right: 1.5rem + } +} + +@supports (padding-inline-start: 1.5rem) { + .pl-4 { + padding-inline-start:1.5rem} +} + +@supports not (padding-inline-start: 1.5rem) { + .pl-4 { + padding-left: 1.5rem + } +} + +@supports (padding-inline-end: 1.5rem) { + .pr-4 { + padding-inline-end:1.5rem} +} + +@supports not (padding-inline-end: 1.5rem) { + .pr-4 { + padding-right: 1.5rem + } +} + +@supports (margin-inline-start: 3rem) { + .ml-5 { + margin-inline-start:3rem} +} + +@supports not (margin-inline-start: 3rem) { + .ml-5 { + margin-left: 3rem + } +} + +@supports (margin-inline-end: 3rem) { + .mr-5 { + margin-inline-end:3rem} +} + +@supports not (margin-inline-end: 3rem) { + .mr-5 { + margin-right: 3rem + } +} + +@supports (padding-inline-start: 3rem) { + .pl-5 { + padding-inline-start:3rem} +} + +@supports not (padding-inline-start: 3rem) { + .pl-5 { + padding-left: 3rem + } +} + +@supports (padding-inline-end: 3rem) { + .pr-5 { + padding-inline-end:3rem} +} + +@supports not (padding-inline-end: 3rem) { + .pr-5 { + padding-right: 3rem + } +} + +.p-component,.p-component * { + box-sizing: border-box +} + +.p-hidden { + display: none +} + +.p-hidden-space { + visibility: hidden +} + +.p-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px +} + +.p-hidden-accessible input,.p-hidden-accessible select { + transform: scale(0) +} + +.p-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + text-decoration: none; + font-size: 100%; + list-style: none +} + +.p-disabled,.p-disabled * { + cursor: default!important; + pointer-events: none +} + +.p-component-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100% +} + +.p-overflow-hidden { + overflow: hidden +} + +.p-unselectable-text { + -webkit-user-select: none; + user-select: none +} + +.p-scrollbar-measure { + width: 100px; + height: 100px; + overflow: scroll; + position: absolute; + top: -9999px +} + +@keyframes p-fadein { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +button,input[type=button],input[type=file]::-webkit-file-upload-button,input[type=reset],input[type=submit] { + border-radius: 0 +} + +.p-link { + text-align: left; + background-color: initial; + margin: 0; + padding: 0; + border: none; + cursor: pointer; + -webkit-user-select: none; + user-select: none +} + +.p-sr-only { + border: 0; + clip: rect(1px,1px,1px,1px); + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + word-wrap: normal!important +} + +.p-connected-overlay { + opacity: 0; + transform: scaleY(.8); + transition: transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1) +} + +.p-connected-overlay-visible { + opacity: 1; + transform: scaleY(1) +} + +.p-connected-overlay-hidden { + opacity: 0; + transform: scaleY(1); + transition: opacity .1s linear +} + +.p-toggleable-content.ng-animating { + overflow: hidden +} + +.p-badge { + display: inline-block; + border-radius: 10px; + text-align: center; + padding: 0 .5rem +} + +.p-overlay-badge { + position: relative +} + +.p-overlay-badge .p-badge { + position: absolute; + top: 0; + right: 0; + transform: translate(50%,-50%); + transform-origin: 100% 0; + margin: 0 +} + +.p-badge-dot { + width: .5rem; + min-width: .5rem; + height: .5rem +} + +.p-badge-dot,.p-badge-no-gutter { + border-radius: 50%; + padding: 0 +} + +.p-button { + margin: 0; + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + align-items: center; + vertical-align: bottom; + text-align: center; + overflow: hidden; + position: relative +} + +.p-button-label { + flex: 1 1 auto +} + +.p-button-icon-right { + order: 1 +} + +.p-button:disabled { + cursor: default +} + +.p-button-icon-only { + justify-content: center +} + +.p-button-icon-only .p-button-label { + visibility: hidden; + width: 0; + flex: 0 0 auto +} + +.p-button-vertical { + flex-direction: column +} + +.p-button-icon-bottom { + order: 2 +} + +.p-buttonset .p-button { + margin: 0 +} + +.p-buttonset .p-button:not(:last-child) { + border-right: 0 +} + +.p-buttonset .p-button:not(:first-of-type):not(:last-of-type) { + border-radius: 0 +} + +.p-buttonset .p-button:first-of-type { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.p-buttonset .p-button:last-of-type { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.p-buttonset .p-button:focus { + position: relative; + z-index: 1 +} + +.p-button-label { + transition: all .2s +} + +.p-checkbox { + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + vertical-align: bottom +} + +.p-checkbox-disabled { + cursor: default!important; + pointer-events: none +} + +.p-checkbox-box { + display: flex; + justify-content: center; + align-items: center +} + +p-checkbox { + display: inline-flex; + vertical-align: bottom; + align-items: center +} + +.p-checkbox-label { + line-height: 1 +} + +.p-colorpicker-panel .p-colorpicker-color { + background: #0000 url(color.6441e63a57ccc5105bad.png) no-repeat 0 0 +} + +.p-colorpicker-panel .p-colorpicker-hue { + background: #0000 url(hue.f8505bd4d6f3e3aa435b.png) no-repeat 0 0 +} + +.p-inputtext { + margin: 0 +} + +.p-fluid .p-inputtext { + width: 100% +} + +.p-inputgroup { + display: flex; + align-items: stretch; + width: 100% +} + +.p-inputgroup-addon { + display: flex; + align-items: center; + justify-content: center +} + +.p-inputgroup .p-float-label { + display: flex; + align-items: stretch; + width: 100% +} + +.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputtext { + flex: 1 1 auto; + width: 1% +} + +.p-float-label { + display: block; + position: relative +} + +.p-float-label label { + position: absolute; + pointer-events: none; + top: 50%; + margin-top: -.5rem; + transition-property: all; + transition-timing-function: ease; + line-height: 1 +} + +.p-float-label textarea~label { + top: 1rem +} + +.p-float-label .p-inputwrapper-filled~label,.p-float-label .p-inputwrapper-focus~label,.p-float-label input.p-filled~label,.p-float-label input:focus~label,.p-float-label textarea.p-filled~label,.p-float-label textarea:focus~label { + top: -.75rem; + font-size: 12px +} + +.p-float-label .input:-webkit-autofill~label { + top: -20px; + font-size: 12px +} + +.p-input-icon-left,.p-input-icon-right { + position: relative; + display: inline-block +} + +.p-input-icon-left>i,.p-input-icon-right>i { + position: absolute; + top: 50%; + margin-top: -.5rem +} + +.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right { + display: block; + width: 100% +} + +.p-inputtextarea-resizable { + overflow: hidden; + resize: none +} + +.p-fluid .p-inputtextarea { + width: 100% +} + +.p-password { + position: relative; + display: inline-flex +} + +.p-password-panel { + position: absolute; + top: 0; + left: 0 +} + +.p-password .p-password-panel { + min-width: 100% +} + +.p-password-meter { + height: 10px +} + +.p-password-strength { + height: 100%; + width: 0; + transition: width 1s ease-in-out +} + +.p-fluid .p-password { + display: flex +} + +.p-radiobutton { + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + vertical-align: bottom +} + +.p-radiobutton-box { + display: flex; + justify-content: center; + align-items: center +} + +.p-radiobutton-icon { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transform: translateZ(0) scale(.1); + border-radius: 50%; + visibility: hidden +} + +.p-radiobutton-box.p-highlight .p-radiobutton-icon { + transform: translateZ(0) scale(1); + visibility: visible +} + +p-radiobutton { + display: inline-flex; + vertical-align: bottom; + align-items: center +} + +.p-radiobutton-label { + line-height: 1 +} + +.p-ripple { + overflow: hidden; + position: relative +} + +.p-ink { + display: block; + position: absolute; + background: #ffffff80; + border-radius: 100%; + transform: scale(0) +} + +.p-ink-active { + animation: ripple .4s linear +} + +.p-ripple-disabled .p-ink { + display: none!important +} + +@keyframes ripple { + to { + opacity: 0; + transform: scale(2.5) + } +} + +.p-tooltip { + position: absolute; + display: none; + padding: .25em .5rem; + max-width: 12.5rem +} + +.p-tooltip.p-tooltip-left,.p-tooltip.p-tooltip-right { + padding: 0 .25rem +} + +.p-tooltip.p-tooltip-bottom,.p-tooltip.p-tooltip-top { + padding: .25em 0 +} + +.p-tooltip .p-tooltip-text { + white-space: pre-line +} + +.p-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: #0000; + border-style: solid +} + +.p-tooltip-right .p-tooltip-arrow { + top: 50%; + left: 0; + margin-top: -.25rem; + border-width: .25em .25em .25em 0 +} + +.p-tooltip-left .p-tooltip-arrow { + top: 50%; + right: 0; + margin-top: -.25rem; + border-width: .25em 0 .25em .25rem +} + +.p-tooltip.p-tooltip-top { + padding: .25em 0 +} + +.p-tooltip-top .p-tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -.25rem; + border-width: .25em .25em 0 +} + +.p-tooltip-bottom .p-tooltip-arrow { + top: 0; + left: 50%; + margin-left: -.25rem; + border-width: 0 .25em .25rem +} + +input[type=button] { + border-radius: inherit +} + +p-table .p-datatable-header .caption { + margin-bottom: 15px +} + +body .p-disabled { + opacity: .5 +} + +body .p-checkbox { + display: inline-block; + vertical-align: middle; + margin: 0; + width: 20px; + height: 20px +} + +body .p-checkbox .p-checkbox-box { + border: 1px solid #a6a6a6; + background-color: #fff; + width: 20px; + height: 20px; + text-align: center; + border-radius: 3px; + transition: background-color .2s,border-color .2s,box-shadow .2s +} + +body .p-checkbox .p-checkbox-box:not(.p-disabled):hover { + border-color: #212121 +} + +body .p-checkbox .p-checkbox-box .p-checkbox-icon { + overflow: hidden; + position: relative; + font-size: 18px +} + +body .p-paginator { + background-color: #f4f4f4; + border: 1px solid #c8c8c8; + padding: 0 +} + +body .p-paginator .p-paginator-first,body .p-paginator .p-paginator-last,body .p-paginator .p-paginator-next,body .p-paginator .p-paginator-prev { + color: #848484; + height: 2.286em; + min-width: 2.286em; + border: 0; + line-height: 2.286em; + padding: 0; + margin: 0; + vertical-align: top; + transition: box-shadow .2s; + border-radius: 0 +} + +body .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover { + background-color: #e0e0e0; + color: #333 +} + +body .p-paginator .p-paginator-first:focus,body .p-paginator .p-paginator-last:focus,body .p-paginator .p-paginator-next:focus,body .p-paginator .p-paginator-prev:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 .2em var(--mainColorLightest) +} + +body .p-paginator .p-paginator-current { + color: #333; + height: 2.286em; + min-width: 2.286em; + line-height: 2.286em +} + +body .p-paginator .p-dropdown { + border: 0 +} + +body .p-paginator .p-dropdown .p-dropdown-label,body .p-paginator .p-dropdown .p-dropdown-trigger { + color: #848484 +} + +body .p-paginator .p-dropdown:hover .p-dropdown-label,body .p-paginator .p-dropdown:hover .p-dropdown-trigger { + color: #333 +} + +body .p-paginator .p-paginator-first:before,body .p-paginator .p-paginator-last:before,body .p-paginator .p-paginator-next:before,body .p-paginator .p-paginator-prev:before { + position: relative; + top: 1px +} + +body .p-paginator .p-paginator-pages { + vertical-align: top; + display: inline-block; + padding: 0 +} + +body .p-paginator .p-paginator-pages .p-paginator-page { + color: #848484; + height: 2.286em; + min-width: 2.286em; + border: 0; + line-height: 2.286em; + padding: 0; + margin: 0; + vertical-align: top; + transition: box-shadow .2s; + border-radius: 0 +} + +body .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background-color: #e0e0e0; + color: #333 +} + +body .p-paginator .p-paginator-pages .p-paginator-page:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 .2em var(--mainColorLightest) +} + +body .p-paginator .p-dropdown { + height: 2.286em; + min-width: auto +} + +@supports (margin-inline-start: 0.5em) { + body .p-paginator .p-dropdown { + margin-inline-start:.5em} +} + +@supports not (margin-inline-start: 0.5em) { + body .p-paginator .p-dropdown { + margin-left: .5em + } +} + +body .p-dropdown { + background: #fff; + border: 1px solid #a6a6a6; + transition: border-color .2s,box-shadow .2s +} + +body .p-dropdown:not(.p-disabled):hover { + border-color: #212121 +} + +body .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 .2em var(--mainColorLightest); + border-color: var(--mainColor) +} + +@supports (padding-inline-end: 2em) { + body .p-dropdown .p-dropdown-label { + padding-inline-end:2em} +} + +@supports not (padding-inline-end: 2em) { + body .p-dropdown .p-dropdown-label { + padding-right: 2em + } +} + +body .p-dropdown .p-dropdown-trigger { + background-color: #fff; + width: 2em; + line-height: 2em; + text-align: center; + padding: 0; + color: #848484 +} + +body .p-dropdown .p-dropdown-clear-icon { + color: #848484 +} + +@supports (padding-inline-end: 4em) { + body .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-inline-end:4em} +} + +@supports not (padding-inline-end: 4em) { + body .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 4em + } +} + +body .p-dropdown-panel { + padding: 0; + border: 1px solid #c8c8c8; + background-color: #fff; + box-shadow: 0 3px 6px 0 #00000029 +} + +body .p-dropdown-panel .p-dropdown-filter-container { + padding: .429em .857em; + border-bottom: 1px solid #eaeaea; + color: #333; + background-color: #fff; + margin: 0 +} + +body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter { + width: 100% +} + +@supports (padding-inline-end: 2em) { + body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter { + padding-inline-end:2em} +} + +@supports not (padding-inline-end: 2em) { + body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter { + padding-right: 2em + } +} + +body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter-icon { + top: 50%; + margin-top: -.5em; + right: 1.357em; + color: var(--mainColor) +} + +body .p-dropdown-panel .p-dropdown-items { + padding: 0 +} + +body .p-dropdown-panel .p-dropdown-items .p-dropdown-item,body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: .429em .857em; + border: 0; + color: #333; + background-color: initial; + border-radius: 0 +} + +body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group.p-highlight,body .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #fff; + background-color: var(--mainColor) +} + +body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group:not(.p-highlight):not(.p-disabled):hover,body .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #333; + background-color: #eaeaea +} + +body p-dropdown.ng-dirty.ng-invalid>.p-dropdown { + border: 1px solid #a80000 +} + +body .p-toast .p-toast-message { + box-shadow: 0 3px 6px 0 #00000029; + margin: 0 0 1em +} + +body .p-datepicker { + padding: .857em; + min-width: 20em; + background-color: #fff; + color: #333; + border: 1px solid #a6a6a6 +} + +body .p-datepicker:not(.p-datepicker-inline) { + border: 1px solid #c8c8c8; + box-shadow: 0 3px 6px 0 #00000029 +} + +body .p-datepicker:not(.p-disabled) .p-datepicker-header .p-datepicker-next:focus,body .p-datepicker:not(.p-disabled) .p-datepicker-header .p-datepicker-prev:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 .2em var(--mainColorLightest) +} + +body .p-datepicker:not(.p-disabled) .p-monthpicker a.p-monthpicker-month:not(.p-highlight):hover,body .p-datepicker:not(.p-disabled) table td a:not(.p-highlight):not(.p-highlight):hover { + background-color: #eaeaea +} + +body .p-datepicker .p-datepicker-header { + padding: .429em .857em; + background-color: #fff; + color: #333; + border-radius: 0 +} + +body .p-datepicker .p-datepicker-header .p-datepicker-next,body .p-datepicker .p-datepicker-header .p-datepicker-prev { + cursor: pointer; + top: 0; + color: #a6a6a6; + transition: color .2s,box-shadow .2s +} + +body .p-datepicker .p-datepicker-header .p-datepicker-title { + margin: 0; + padding: 0; + line-height: 1 +} + +body .p-datepicker .p-datepicker-header .p-datepicker-title select { + margin-top: -.35em; + margin-bottom: 0; + transition: color .2s,box-shadow .2s +} + +body .p-datepicker .p-datepicker-header .p-datepicker-title select:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 .2em var(--mainColorLightest) +} + +body .p-datepicker table { + font-size: 14px; + margin: .857em 0 0 +} + +body .p-datepicker table th { + padding: .5em +} + +body .p-datepicker table th.p-datepicker-weekheader { + border-right: 1px solid #a6a6a6 +} + +body .p-datepicker table td { + padding: .5em +} + +body .p-datepicker table td>a,body .p-datepicker table td>span { + display: block; + text-align: center; + color: #333; + padding: .5em; + transition: box-shadow .2s; + border-radius: 3px +} + +body .p-datepicker table td>a.p-highlight,body .p-datepicker table td>span.p-highlight { + color: #fff; + background-color: var(--mainColor) +} + +body .p-datepicker table td>a { + cursor: pointer +} + +body .p-datepicker table td>a:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 .2em var(--mainColorLightest) +} + +body .p-datepicker table td.p-datepicker-today>a,body .p-datepicker table td.p-datepicker-today>span { + background-color: #d0d0d0; + color: #333 +} + +body .p-datepicker table td.p-datepicker-today>a.p-highlight,body .p-datepicker table td.p-datepicker-today>span.p-highlight { + color: #fff; + background-color: var(--mainColor) +} + +body .p-datepicker table td.p-datepicker-weeknumber { + border-right: 1px solid #a6a6a6 +} + +body .p-datepicker .p-datepicker-buttonbar { + border-top: 1px solid #d8dae2 +} + +body .p-datepicker .p-timepicker { + border: 0; + border-top: 1px solid #d8dae2; + padding: .857em +} + +body .p-datepicker .p-timepicker a { + color: #333; + font-size: 1.286em +} + +body .p-datepicker .p-timepicker a:hover { + color: var(--mainColor) +} + +body .p-datepicker .p-timepicker span { + font-size: 1.286em +} + +body .p-datepicker .p-monthpicker .p-monthpicker-month { + color: #333 +} + +body .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #fff; + background-color: var(--mainColor) +} + +body .p-datepicker.p-datepicker-timeonly { + padding: 0 +} + +body .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 +} + +body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-right: 1px solid #d8dae2; + padding-top: 0; + padding-bottom: 0 +} + +@supports (padding-inline-end: 0.857em) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + padding-inline-end:.857em} +} + +@supports not (padding-inline-end: 0.857em) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + padding-right: .857em + } +} + +@supports (padding-inline-start: 0.857em) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + padding-inline-start:.857em} +} + +@supports not (padding-inline-start: 0.857em) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + padding-left: .857em + } +} + +@supports (padding-inline-start: 0) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-inline-start:0} +} + +@supports not (padding-inline-start: 0) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0 + } +} + +body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + border-right: 0 +} + +@supports (padding-inline-end: 0) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-inline-end:0} +} + +@supports not (padding-inline-end: 0) { + body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0 + } +} + +body .p-calendar.p-calendar-w-btn .p-inputtext { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 0 +} + +body .p-calendar.p-calendar-w-btn .p-inputtext:enabled:focus:not(.p-error),body .p-calendar.p-calendar-w-btn .p-inputtext:enabled:hover:not(.p-error) { + border-right: 0 +} + +body .p-calendar.p-calendar-w-btn .p-datepicker-trigger.p-button { + width: 2.357em; + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +body .ui-fluid .p-calendar.p-calendar-w-btn input.p-inputtext { + width: calc(100% - 2.357em) +} + +body p-calendar.ng-dirty.ng-invalid>.p-calendar>.p-inputtext { + border: 1px solid #a80000 +} + +body .p-timepicker .p-separator { + min-width: .75rem +} + +@supports (margin-inline-start: 0) { + body .p-timepicker .p-separator { + margin-inline-start:0} +} + +@supports not (margin-inline-start: 0) { + body .p-timepicker .p-separator { + margin-left: 0 + } +} + +body .p-autocomplete .p-autocomplete-input { + padding: .429em +} + +body .p-autocomplete-panel { + padding: 0; + border: 1px solid #c8c8c8; + background-color: #fff; + box-shadow: 0 3px 6px 0 #00000029 +} + +body .p-autocomplete-panel .p-autocomplete-items { + padding: 0 +} + +body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: .429em .857em; + border: 0; + color: #333; + background-color: initial; + border-radius: 0 +} + +body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight,body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #fff; + background-color: var(--mainColor) +} + +body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-group { + padding: .429em .857em; + background-color: #d8dae2; + color: #333 +} + +body p-autocomplete.ng-dirty.ng-invalid>.p-autocomplete>.p-inputtext { + border: 1px solid #a80000 +} + +body .p-selectbutton .p-button { + background-color: #dadada; + border: 1px solid #dadada; + color: #333; + overflow: hidden; + transition: background-color .2s,box-shadow .2s +} + +body .p-selectbutton .p-button .p-button-icon-left { + color: #666 +} + +body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background-color: #c8c8c8; + border-color: #c8c8c8; + color: #333 +} + +body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left { + color: #212121 +} + +body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight).ui-state-focus { + box-shadow: 0 0 0 .2em #8dcdff; + z-index: 1 +} + +body .p-selectbutton .p-button.p-highlight { + background-color: var(--mainColor); + border-color: var(--mainColor); + color: #fff +} + +body .p-selectbutton .p-button.p-highlight .p-button-icon-left { + color: #fff +} + +body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover { + background-color: var(--mainColorLighter); + border-color: var(--mainColorLighter); + color: #fff +} + +body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover .p-button-icon-left { + color: #fff +} + +body .p-selectbutton .p-button:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px +} + +body .p-selectbutton .p-button:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px +} + +body p-selectbutton.ng-dirty.ng-invalid .p-button { + border: 1px solid #a80000 +} + +p-table .p-datatable-header { + border: none!important; + background-color: var(--mainBackgroundColor)!important +} + +p-table .p-datatable-header .caption { + height: 40px; + width: 100%; + display: inline-flex; + align-items: center +} + +@supports (padding-inline-start: 15px) { + p-table .p-datatable-header .caption .left-buttons { + padding-inline-start:15px} +} + +@supports not (padding-inline-start: 15px) { + p-table .p-datatable-header .caption .left-buttons { + padding-left: 15px + } +} + +p-table th { + background-color: var(--mainBackgroundColor)!important; + outline: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap +} + +p-table td,p-table th { + font-family: Source Sans Pro,sans-serif; + font-size: 15px!important; + color: var(--mainForegroundColor)!important +} + +@supports (padding-inline-start: 15px !important) { + p-table td { + padding-inline-start:15px!important} +} + +@supports not (padding-inline-start: 15px !important) { + p-table td { + padding-left: 15px!important + } +} + +p-table td.expand-cell { + padding: 10px 15px +} + +p-table td:not(.action-cell):not(.expand-cell):not(.checkbox-cell) { + overflow: hidden!important; + text-overflow: ellipsis!important; + white-space: nowrap!important +} + +p-table tr { + outline: 0; + background-color: var(--mainBackgroundColor)!important; + height: 46px +} + +p-table tr.p-highlight { + background-color: var(--submenuBackgroundColor)!important +} + +p-table tr.p-highlight td,p-table tr.p-highlight td>a { + color: var(--mainForegroundColor)!important +} + +p-table .p-datatable-tbody tr:hover { + background-color: var(--submenuBackgroundColor)!important +} + +p-table .p-datatable-tbody tr td { + border: none!important; + white-space: normal!important +} + +p-table .p-datatable-tbody tr:first-child td { + border-top: none!important +} + +p-table .p-datatable-tbody tr:last-child td { + border-bottom: none!important +} + +p-table .p-datatable-tbody tr:focus+tr>td,p-table .p-datatable-tbody tr:focus>td { + box-shadow: none!important +} + +p-table .p-datatable-tbody .expander { + cursor: pointer; + position: relative; + top: 1px +} + +p-table th { + border-color: currentcolor!important; + border-bottom: none!important; + border: var(--submenuBackgroundColor)!important; + border-bottom: 1px solid var(--submenuBackgroundColor)!important; + text-align: left!important; + padding: 5px 0 5px 15px!important; + font-weight: 600!important; + color: var(--mainForegroundColor)!important +} + +p-table th.p-sortable-column:hover { + background-color: var(--submenuBackgroundColor)!important; + border-color: currentcolor!important; + border-width: 1px!important; + border-left: 1px solid var(--submenuBackgroundColor)!important; + border-bottom: 0 solid var(--submenuBackgroundColor)!important; + border-right: 1px solid var(--submenuBackgroundColor)!important; + border-top: 0 solid var(--submenuBackgroundColor)!important +} + +p-table th.p-sortable-column:hover:first-child { + border-width: 0 1px 0 0!important +} + +p-table th.p-highlight { + background-color: var(--submenuBackgroundColor)!important +} + +p-table th.p-highlight .pi { + color: #000!important; + font-size: 11px!important; + top: 0!important +} + +p-table th.p-highlight .pi.pi-sort-amount-down,p-table th.p-highlight .pi.pi-sort-amount-up-alt { + color: var(--mainForegroundColor)!important +} + +p-table .action-cell { + width: 250px!important +} + +p-table .action-cell .dropdown-root,p-table .action-cell my-button,p-table .action-cell my-delete-button,p-table .action-cell my-edit-button { + display: inline-block!important +} + +@supports (margin-inline-start: 5px) { + p-table .action-cell .dropdown-root,p-table .action-cell my-button,p-table .action-cell my-delete-button,p-table .action-cell my-edit-button { + margin-inline-start:5px} +} + +@supports not (margin-inline-start: 5px) { + p-table .action-cell .dropdown-root,p-table .action-cell my-button,p-table .action-cell my-delete-button,p-table .action-cell my-edit-button { + margin-left: 5px + } +} + +@supports (margin-inline-start: 0) { + p-table .action-cell .dropdown-root:first-child,p-table .action-cell my-button:first-child,p-table .action-cell my-delete-button:first-child,p-table .action-cell my-edit-button:first-child { + margin-inline-start:0} +} + +@supports not (margin-inline-start: 0) { + p-table .action-cell .dropdown-root:first-child,p-table .action-cell my-button:first-child,p-table .action-cell my-delete-button:first-child,p-table .action-cell my-edit-button:first-child { + margin-left: 0 + } +} + +p-table p-paginator .p-paginator-bottom { + background-color: var(--mainBackgroundColor)!important; + position: relative; + border: none; + border-color: var(--submenuBackgroundColor)!important; + border-top: 1px solid!important; + border-top-color: var(--submenuBackgroundColor)!important; + height: 40px; + display: flex; + justify-content: center; + align-items: center +} + +p-table p-paginator .p-paginator-bottom .p-dropdown { + position: absolute; + top: 10px; + left: 0 +} + +p-table p-paginator .p-paginator-bottom .p-dropdown.p-focus { + box-shadow: 0 0 0 .2rem var(--mainColorLightest) +} + +p-table p-paginator .p-paginator-bottom .p-dropdown .p-label { + color: var(--inputPlaceholderColor) +} + +p-table p-paginator .p-paginator-bottom .p-paginator-current { + position: absolute; + right: 0; + color: var(--inputPlaceholderColor); + overflow: visible +} + +p-table p-paginator .p-paginator-bottom .p-paginator-first,p-table p-paginator .p-paginator-bottom .p-paginator-last,p-table p-paginator .p-paginator-bottom .p-paginator-next,p-table p-paginator .p-paginator-bottom .p-paginator-prev { + font-family: Glyphicons Halflings; + text-decoration: none!important; + color: var(--mainForegroundColor)!important; + font-display: swap; + padding: 5px 2px; + height: auto; + outline: none; + font-size: 13px; + top: -1px +} + +p-table p-paginator .p-paginator-bottom .p-paginator-first.focus-within,p-table p-paginator .p-paginator-bottom .p-paginator-first:focus,p-table p-paginator .p-paginator-bottom .p-paginator-last.focus-within,p-table p-paginator .p-paginator-bottom .p-paginator-last:focus,p-table p-paginator .p-paginator-bottom .p-paginator-next.focus-within,p-table p-paginator .p-paginator-bottom .p-paginator-next:focus,p-table p-paginator .p-paginator-bottom .p-paginator-prev.focus-within,p-table p-paginator .p-paginator-bottom .p-paginator-prev:focus { + box-shadow: 0 0 0 .2rem var(--mainColorLightest) +} + +p-table p-paginator .p-paginator-bottom .p-paginator-first.p-disabled:hover,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-disabled:hover,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-disabled:hover,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-disabled:hover { + background-color: #fff!important +} + +@supports (margin-inline-end: 10px) { + p-table p-paginator .p-paginator-bottom .p-paginator-first.p-paginator-prev,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-paginator-prev,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-paginator-prev,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-paginator-prev { + margin-inline-end:10px} +} + +@supports not (margin-inline-end: 10px) { + p-table p-paginator .p-paginator-bottom .p-paginator-first.p-paginator-prev,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-paginator-prev,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-paginator-prev,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-paginator-prev { + margin-right: 10px + } +} + +@supports (margin-inline-start: 10px) { + p-table p-paginator .p-paginator-bottom .p-paginator-first.p-paginator-next,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-paginator-next,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-paginator-next,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-paginator-next { + margin-inline-start:10px} +} + +@supports not (margin-inline-start: 10px) { + p-table p-paginator .p-paginator-bottom .p-paginator-first.p-paginator-next,p-table p-paginator .p-paginator-bottom .p-paginator-last.p-paginator-next,p-table p-paginator .p-paginator-bottom .p-paginator-next.p-paginator-next,p-table p-paginator .p-paginator-bottom .p-paginator-prev.p-paginator-next { + margin-left: 10px + } +} + +p-table p-paginator .p-paginator-bottom .p-paginator-pages { + height: auto!important +} + +p-table p-paginator .p-paginator-bottom .p-paginator-pages .p-paginator-page { + color: var(--mainForegroundColor)!important; + font-weight: 600!important; + margin: 0 5px!important; + outline: 0!important; + border-radius: 3px!important; + padding: 5px 2px!important; + height: auto!important; + line-height: normal!important +} + +p-table p-paginator .p-paginator-bottom .p-paginator-pages .p-paginator-page.focus-within,p-table p-paginator .p-paginator-bottom .p-paginator-pages .p-paginator-page:focus { + box-shadow: 0 0 0 .2rem var(--mainColorLightest)!important +} + +p-table p-paginator .p-paginator-bottom .p-paginator-pages .p-paginator-page.p-highlight,p-table p-paginator .p-paginator-bottom .p-paginator-pages .p-paginator-page.p-highlight:active,p-table p-paginator .p-paginator-bottom .p-paginator-pages .p-paginator-page.p-highlight:focus,p-table p-paginator .p-paginator-bottom .p-paginator-pages .p-paginator-page.p-highlight:hover { + color: #fff!important; + background-color: var(--mainColor)!important +} + +p-table .p-datatable-wrapper { + overflow-x: auto; + max-width: 100% +} + +p-table .p-datatable-wrapper table { + min-width: 900px +} + +@media screen and (max-width: 900px) { + p-table p-paginator .p-dropdown,p-table p-paginator .p-paginator-current { + top:0; + margin-top: 30px + } +} + +@media screen and (max-width: 500px) { + p-table p-paginator .p-paginator-pages>.p-paginator-page:not(.p-highlight) { + display:none + } +} + +p-calendar .p-datepicker a:active,p-calendar .p-datepicker a:focus,p-calendar .p-datepicker a:hover { + text-decoration: none!important; + outline: none!important +} + +@supports (margin-inline-start: 5px) { + p-calendar .p-datepicker .p-datepicker-header .p-datepicker-year { + margin-inline-start:5px} +} + +@supports not (margin-inline-start: 5px) { + p-calendar .p-datepicker .p-datepicker-header .p-datepicker-year { + margin-left: 5px + } +} + +p-calendar .p-datepicker .p-datepicker-header .p-datepicker-next { + font-family: Glyphicons Halflings; + text-decoration: none!important; + color: var(--mainForegroundColor)!important; + font-display: swap; + color: #000!important; + text-align: end +} + +p-calendar .p-datepicker .p-datepicker-header .p-datepicker-next .pi.pi-chevron-right { + display: none!important +} + +p-calendar .p-datepicker .p-datepicker-header .p-datepicker-prev { + font-family: Glyphicons Halflings; + text-decoration: none!important; + color: var(--mainForegroundColor)!important; + font-display: swap; + color: #000!important; + text-align: start +} + +p-calendar .p-datepicker .p-datepicker-header .p-datepicker-prev .pi.pi-chevron-left { + display: none!important +} + +p-calendar .p-datepicker .p-timepicker .pi.pi-chevron-down,p-calendar .p-datepicker .p-timepicker .pi.pi-chevron-up { + font-family: Glyphicons Halflings; + text-decoration: none!important; + color: var(--mainForegroundColor)!important; + font-display: swap; + color: #000!important +} + +p-tablecheckbox:hover div .p-checkbox-box { + box-shadow: 0 0 0 .1rem #5755d933 +} + +.p-checkbox,.p-checkbox .p-checkbox-box { + width: 18px!important; + height: 18px!important +} + +.p-checkbox .p-checkbox-box.p-highlight { + border-color: var(--mainColor)!important; + background-color: var(--mainColor)!important +} + +.p-checkbox .p-checkbox-box .p-checkbox-icon { + position: relative; + overflow: visible!important +} + +.p-checkbox .p-checkbox-box .p-checkbox-icon:after { + content: ""; + position: absolute; + bottom: -5px; + left: -2px; + width: 5px; + height: 12px; + opacity: 0; + transform: rotate(45deg) scale(0); + border-right: 2px solid var(--mainBackgroundColor); + border-bottom: 2px solid var(--mainBackgroundColor) +} + +.p-checkbox .p-checkbox-box .p-checkbox-icon.pi-check:after { + opacity: 1; + transform: rotate(45deg) scale(1) +} + +p-toast .p-toast { + width: auto; + max-width: 300px; + min-width: 200px; + z-index: 18000!important +} + +p-toast .p-toast .p-toast-icon-close { + font-family: Glyphicons Halflings; + opacity: 0; + position: absolute; + right: 5px; + top: 5px +} + +p-toast .p-toast .p-toast-icon-close:after { + content: "" +} + +p-toast .p-toast:hover .p-toast-icon-close { + opacity: .3 +} + +p-toast .p-toast-message { + font-family: Source Sans Pro,sans-serif; + background-color: var(--mainBackgroundColor)!important; + color: var(--mainForegroundColor)!important; + border-radius: 5px; + box-sizing: border-box; + border: 1px solid #ebeef5!important; + box-shadow: 0 2px 12px 0 #0000001a; + overflow: hidden +} + +p-table th.p-highlight p-toast .p-toast-message.p-toast-message-success .pi,p-toast .p-toast-message.p-toast-message-success .glyphicon,p-toast .p-toast-message.p-toast-message-success p-table th.p-highlight .pi { + color: #8bc34a!important +} + +p-table th.p-highlight p-toast .p-toast-message.p-toast-message-error .pi,p-toast .p-toast-message.p-toast-message-error .glyphicon,p-toast .p-toast-message.p-toast-message-error p-table th.p-highlight .pi { + color: #f44336!important +} + +p-table th.p-highlight p-toast .p-toast-message.p-toast-message-warn .pi,p-toast .p-toast-message.p-toast-message-warn .glyphicon,p-toast .p-toast-message.p-toast-message-warn p-table th.p-highlight .pi { + color: #f1680d!important +} + +p-table th.p-highlight p-toast .p-toast-message.p-toast-message-info .pi,p-toast .p-toast-message.p-toast-message-info .glyphicon,p-toast .p-toast-message.p-toast-message-info p-table th.p-highlight .pi { + color: #03a9f4!important +} + +p-toast .p-toast-message .notification-block { + display: flex; + align-items: center; + width: 100%; + padding: 10px 20px +} + +p-toast .p-toast-message .notification-block .message { + flex-grow: 1 +} + +@supports (margin-inline-end: 20px) { + p-toast .p-toast-message .notification-block .message { + margin-inline-end:20px} +} + +@supports not (margin-inline-end: 20px) { + p-toast .p-toast-message .notification-block .message { + margin-right: 20px + } +} + +p-toast .p-toast-message .notification-block .message h3 { + font-size: 21px +} + +p-toast .p-toast-message .notification-block .message p { + font-size: 15px; + margin-bottom: 0 +} + +p-table th.p-highlight p-toast .p-toast-message .notification-block .pi,p-toast .p-toast-message .notification-block .glyphicon,p-toast .p-toast-message .notification-block p-table th.p-highlight .pi { + font-size: 32px +} + +@supports (margin-inline-end: 5px) { + p-table th.p-highlight p-toast .p-toast-message .notification-block .pi,p-toast .p-toast-message .notification-block .glyphicon,p-toast .p-toast-message .notification-block p-table th.p-highlight .pi { + margin-inline-end:5px} +} + +@supports not (margin-inline-end: 5px) { + p-table th.p-highlight p-toast .p-toast-message .notification-block .pi,p-toast .p-toast-message .notification-block .glyphicon,p-toast .p-toast-message .notification-block p-table th.p-highlight .pi { + margin-right: 5px + } +} + +.p-selectbutton .p-button:focus { + outline: none +} + +.p-selectbutton .p-button-label { + padding: 5px 15px; + font-size: 15px; + font-weight: 600 +} + +[hidden] { + display: none!important +} + +body { + --mainColor:#f2690d;--mainColorLighter:#f5873d;--mainColorLightest:#fce1cf;--mainHoverColor:#f47825;--mainBackgroundColor:#fff;--mainForegroundColor:#000;--secondaryColor:#148a99;--greyForegroundColor:#585858;--greyBackgroundColor:#e5e5e5;--menuBackgroundColor:#000;--menuForegroundColor:#fff;--submenuBackgroundColor:#f7f7f7;--channelBackgroundColor:#f6ede8;--inputForegroundColor:#000;--inputBackgroundColor:#fff;--inputPlaceholderColor:#898989;--textareaForegroundColor:#000;--textareaBackgroundColor:#fff;--markdownTextareaBackgroundColor:#efefef;--actionButtonColor:#585858;--supportButtonBackgroundColor:#0000;--supportButtonColor:var(--actionButtonColor);--supportButtonHeartColor:#e83e8c;--activatedActionButtonColor:#000;--horizontalMarginContent:30px;--videosHorizontalMarginContent:6vw;--mainColWidth:calc(100vw - 240px);font-family: Source Sans Pro,sans-serif; + font-weight: 400; + color: var(--mainForegroundColor); + background-color: var(--mainBackgroundColor); + font-size: 14px; + overflow-y: scroll; + text-align: start +} + +::selection { + color: var(--mainBackgroundColor); + background-color: var(--mainHoverColor) +} + +#incompatible-browser,noscript { + display: block; + font-size: 1.2rem; + max-width: 600px; + margin: 1rem auto +} + +strong { + font-weight: 600 +} + +input.readonly { + background-color: var(--inputBackgroundColor)!important +} + +input,textarea { + outline: none; + color: var(--inputForegroundColor) +} + +button { + background: unset +} + +button:focus:not(.focus-visible) { + outline: none +} + +label { + font-weight: 700; + font-size: 15px +} + +code { + background-color: var(--greyBackgroundColor); + color: var(--greyForegroundColor); + border-radius: 3px; + padding: .2em .4em; + margin: auto .4em; + font-size: 75%; + display: inline-block; + vertical-align: middle +} + +.form-error,.form-warning { + display: block; + margin-top: 5px +} + +.form-error { + color: red +} + +.input-error,my-input-toggle-hidden ::ng-deep input { + border-color: red!important +} + +.full-width { + width: 100%; + margin: 0 auto; + max-width: none +} + +.glyphicon-black { + color: #000 +} + +.row { + margin: 0!important +} + +.main-col { + width: calc(100% - 240px); + outline: none +} + +@supports (margin-inline-start: 240px) { + .main-col { + margin-inline-start:240px} +} + +@supports not (margin-inline-start: 240px) { + .main-col { + margin-left: 240px + } +} + +.main-col .margin-content { + margin: 0 var(--horizontalMarginContent); + flex-grow: 1 +} + +.main-col .sub-menu { + background-color: var(--submenuBackgroundColor); + width: 100%; + display: flex; + align-items: center; + padding: 0 var(--horizontalMarginContent); + height: 81px; + margin-bottom: 30px; + overflow-x: auto +} + +.main-col .sub-menu.sub-menu-fixed { + position: fixed; + z-index: 12499; + max-width: var(--mainColWidth) +} + +.main-col .margin-content.offset-content { + padding-top: 111px +} + +.main-col.expanded { + --horizontalMarginContent:150px;--mainColWidth:100vw;width: 100% +} + +@supports (margin-inline-start: 0) { + .main-col.expanded { + margin-inline-start:0} +} + +@supports not (margin-inline-start: 0) { + .main-col.expanded { + margin-left: 0 + } +} + +.main-col.lock-scroll .main-row>router-outlet+* { + position: fixed +} + +.main-col.lock-scroll .main-row>router-outlet+* .sub-menu { + overflow-x: hidden +} + +.title-page { + opacity: .6; + color: var(--mainForegroundColor); + font-size: 16px; + display: inline-block; + font-weight: 600; + border-bottom: 2px solid #0000 +} + +.title-page:active,.title-page:focus,.title-page:hover { + text-decoration: none!important; + outline: none!important +} + +@supports (margin-inline-end: 55px) { + .title-page { + margin-inline-end:55px} +} + +@supports not (margin-inline-end: 55px) { + .title-page { + margin-right: 55px + } +} + +.title-page.title-page-single { + margin-top: 30px; + margin-bottom: 25px +} + +.title-page.active { + border-bottom-color: var(--mainColor) +} + +.title-page.title-page-single { + font-size: 125% +} + +.title-page:active,.title-page:focus,.title-page:hover { + color: var(--mainForegroundColor) +} + +.title-page.active,.title-page.title-page-single,.title-page:active,.title-page:focus,.title-page:hover { + opacity: 1; + outline: 0 hidden!important +} + +@media screen and (max-width: 500px) { + @supports (margin-inline-start: 15px) { + .title-page { + margin-inline-start:15px + } + } + + @supports not (margin-inline-start: 15px) { + .title-page { + margin-left: 15px + } + } +} + +.title-page-about,.title-page-settings { + white-space: nowrap; + font-size: 115% +} + +.admin-sub-header { + display: flex; + align-items: center; + margin-bottom: 30px +} + +.admin-sub-header .form-sub-title { + flex-grow: 1 +} + +.admin-sub-header .admin-sub-nav a { + font-size: 16px; + color: var(--mainForegroundColor); + padding: 5px 15px; + border-radius: .25rem; + font-weight: 600; + opacity: .6 +} + +.admin-sub-header .admin-sub-nav a:active,.admin-sub-header .admin-sub-nav a:focus,.admin-sub-header .admin-sub-nav a:hover { + text-decoration: none!important; + outline: none!important +} + +.admin-sub-header .admin-sub-nav a.active { + background-color: var(--submenuBackgroundColor) +} + +.admin-sub-header .admin-sub-nav a.active,.admin-sub-header .admin-sub-nav a:active,.admin-sub-header .admin-sub-nav a:focus,.admin-sub-header .admin-sub-nav a:hover { + opacity: 1 +} + +.form-sub-title { + font-size: 20px; + font-weight: 700 +} + +table .action-button-delete.disabled,table .action-button-delete:active,table .action-button-delete:focus,table .action-button-delete:hover,table .action-button-delete[disabled],table .action-button-edit.disabled,table .action-button-edit:active,table .action-button-edit:focus,table .action-button-edit:hover,table .action-button-edit[disabled] { + background-color: #e5e5e5!important +} + +.no-results { + height: 40vh; + max-height: 500px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: 16px; + font-weight: 600 +} + +.dropdown-item { + padding: 6px 15px +} + +.dropdown-item my-global-icon { + opacity: .7; + position: relative; + top: -2px +} + +@supports (margin-inline-end: 10px) { + .dropdown-item my-global-icon { + margin-inline-end:10px} +} + +@supports not (margin-inline-end: 10px) { + .dropdown-item my-global-icon { + margin-right: 10px + } +} + +.dropdown-item my-global-icon { + width: 22px; + height: 22px +} + +.anchor { + position: relative; + top: -70px +} + +.offset-content .anchor { + top: -151px +} + +.form-group-description { + font-size: 90%; + margin-top: 10px +} + +ngx-loading-bar { + z-index: 17501!important +} + +@media screen and (max-width: 1600px) { + .main-col { + --horizontalMarginContent:15px; + --videosHorizontalMarginContent:30px} + + .main-col.expanded { + --horizontalMarginContent:75px} +} + +@media screen and (max-width: 900px) { + .main-col { + --videosHorizontalMarginContent:var(--horizontalMarginContent) + } + + .main-col,.main-col.expanded { + --horizontalMarginContent:50px} + + .main-col.expanded .sub-menu,.main-col .sub-menu { + padding: 0 50px + } + + .main-col.expanded .sub-menu .title-page,.main-col .sub-menu .title-page { + font-size: 17px + } +} + +@media screen and (min-width: 500px) and (max-width: 800px) { + .main-col { + width:100% + } +} + +@media screen and (max-width: 800px) { + .main-col,.main-col.expanded { + --horizontalMarginContent:15px + } + + @supports (margin-inline-start: 0) { + .main-col,.main-col.expanded { + margin-inline-start:0} + } + + @supports not (margin-inline-start: 0) { + .main-col,.main-col.expanded { + margin-left: 0 + } + } + + .main-col.expanded .sub-menu,.main-col .sub-menu { + width: 100vw; + padding: 0 15px; + margin-bottom: 10px; + overflow-x: auto + } + + .main-col.expanded .margin-content.offset-content,.main-col .margin-content.offset-content { + padding-top: 91px + } + + .main-col .admin-sub-header,.main-col.expanded .admin-sub-header { + flex-direction: column + } + + .main-col .admin-sub-header .form-sub-title,.main-col.expanded .admin-sub-header .form-sub-title { + margin-bottom: 10px; + text-align: center + } + + @supports (margin-inline-end: 0 !important) { + .main-col .admin-sub-header .form-sub-title,.main-col.expanded .admin-sub-header .form-sub-title { + margin-inline-end:0!important} + } + + @supports not (margin-inline-end: 0 !important) { + .main-col .admin-sub-header .form-sub-title,.main-col.expanded .admin-sub-header .form-sub-title { + margin-right: 0!important + } + } + + .main-col .admin-sub-header .admin-sub-nav,.main-col.expanded .admin-sub-header .admin-sub-nav { + display: block; + overflow-x: auto; + white-space: nowrap; + height: 50px; + padding: 10px 0; + width: 100% + } + + @supports (margin-inline-start: 5px) { + .main-col .admin-sub-header .admin-sub-nav a,.main-col.expanded .admin-sub-header .admin-sub-nav a { + margin-inline-start:5px} + } + + @supports not (margin-inline-start: 5px) { + .main-col .admin-sub-header .admin-sub-nav a,.main-col.expanded .admin-sub-header .admin-sub-nav a { + margin-left: 5px + } + } + + .main-col.expanded my-markdown-textarea .root,.main-col my-markdown-textarea .root { + max-width: 100%!important + } + + .main-col.expanded .peertube-select-container,.main-col.expanded input[type=email],.main-col.expanded input[type=password],.main-col.expanded input[type=text],.main-col.expanded textarea,.main-col .peertube-select-container,.main-col input[type=email],.main-col input[type=password],.main-col input[type=text],.main-col textarea { + flex-grow: 1 + } + + .main-col .caption input[type=text],.main-col.expanded .caption input[type=text] { + width: unset!important; + flex-grow: 1 + } +} + +/*# sourceMappingURL=styles.b0a7806028b73e54111d.css.map*/ diff --git a/public/css/videoslist.css b/public/css/videoslist.css new file mode 100644 index 0000000..a53bc74 --- /dev/null +++ b/public/css/videoslist.css @@ -0,0 +1,147 @@ +.margin-content { + margin-inline-end: var(--gridVideosMiniatureMargins)!important; +} + +.margin-content { + margin-inline-start: var(--gridVideosMiniatureMargins)!important; +} + +.margin-content { + --gridVideosMiniatureMargins: var(--videosHorizontalMarginContent); +} + +.main-col .margin-content { + margin: 0 var(--horizontalMarginContent); + flex-grow: 1; +} + +.videos-header { + display: grid; + grid-template-columns: auto 1fr auto; + margin-bottom: 30px; +} + +.videos-header .title { + font-size: 18px; + color: var(--mainForegroundColor); + display: inline-block; + font-weight: 600; + margin-top: 30px; + margin-bottom: 0; +} + +.videos-header .title, .videos-header .title-subscription { + grid-column: 1; +} + +.videos-header .title-subscription { + grid-row: 2; + font-size: 14px; + color: var(--greyForegroundColor); +} + +.videos-header .title, .videos-header .title-subscription { + grid-column: 1; +} + +.videos-header my-feed { + margin-inline-start: 5px; +} + +.videos-header my-feed { + display: inline-block; + width: 16px; + color: var(--mainColor); + position: relative; + top: -2px; +} + +.feed { + width: 100%; +} + +my-global-icon { + cursor: pointer; + width: 100%; +} + +[role=button] { + cursor: pointer; +} + +.date-title:not(:first-child) { + margin-top: .5rem; + padding-top: 20px; + border-top: 1px solid rgba(0,0,0,.1); +} + +.date-title { + font-size: 16px; + font-weight: 600; + margin-bottom: 20px; + grid-column: 1/-1; +} + +@media screen and (min-width: 500px) { + .margin-content .videos, .margin-content .playlists { + --miniatureMinWidth: 255px; + --miniatureMaxWidth: 280px; + display: grid; + grid-column-gap: 30px; + column-gap: 30px; + grid-template-columns: repeat(auto-fill,minmax(var(--miniatureMinWidth),1fr)); + } +} + +.section:first-child { + padding-top: 30px; +} + +.section:first-child .section-title { + border-top: 0!important; +} + +.section .section-title a:hover, .section .section-title a:focus:not(.focus-visible), .section .section-title a:active { + text-decoration: none; + outline: none; +} + +.section .section-title:not(h2) { + border-top: 1px solid rgba(0,0,0,.1); +} + +.section .section-title { + font-size: 24px; + font-weight: 600; + padding-top: 15px; + margin-bottom: 15px; + display: flex; + justify-content: space-between; +} + +.section-title { + grid-column: 1/-1; +} + +@media screen and (min-width: 500px) { + .margin-content .videos, .margin-content .playlists { + --miniatureMinWidth: 255px; + --miniatureMaxWidth: 280px; + display: grid; + grid-column-gap: 30px; + column-gap: 30px; + grid-template-columns: repeat(auto-fill,minmax(var(--miniatureMinWidth),1fr)); + } +} + +.section.channel .section-title a { + display: flex; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + align-items: center; +} + +.section .section-title a { + color: var(--mainForegroundColor); +} \ No newline at end of file diff --git a/public/css/watch.css b/public/css/watch.css new file mode 100644 index 0000000..a728fb7 --- /dev/null +++ b/public/css/watch.css @@ -0,0 +1,12 @@ +.avatar-25 { + --avatarSize: 25px !important; +} + +.avatar-and-textarea { + display: flex; + margin-bottom: 10px; +} + +.avatar-and-textarea my-actor-avatar { + margin-inline-end: 10px; +} \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..bae711b7b17be505a15b1badddee30e034af3a95 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/public/fonts/jpserriffont.woff b/public/fonts/jpserriffont.woff new file mode 100644 index 0000000000000000000000000000000000000000..f7a57065d102514fecee3501d8e2aaf154cad5a7 GIT binary patch literal 6644 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

%Y-)?#bVsbXe!P*N$wR@zImc-+BKxx6Zxrz?c1^ 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 literal 0 HcmV?d00001 diff --git a/public/img/bash/6fd97df9bfea41748061893ce36cefee.jpeg b/public/img/bash/6fd97df9bfea41748061893ce36cefee.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7b16650f482be60186054e8d1ea08241561cf62c GIT binary patch literal 388663 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