From 360a71f9863fdb839850742f457af9b8827f8921 Mon Sep 17 00:00:00 2001 From: User Date: Tue, 20 Sep 2022 08:40:13 -0700 Subject: [PATCH] Add project files. --- .vscode/tasks.json | 8 + Amen.sln | 25 + Amen/Amen.csproj | 579 + Amen/App_Start/BundleConfig.cs | 33 + Amen/App_Start/FilterConfig.cs | 13 + Amen/App_Start/IdentityConfig.cs | 126 + Amen/App_Start/RouteConfig.cs | 85 + Amen/App_Start/Startup.Auth.cs | 93 + Amen/App_Start/WebApiConfig.cs | 24 + Amen/Content/Images/Blank.png | Bin 0 -> 179 bytes Amen/Content/Images/ajax-loader-2.gif | Bin 0 -> 6820 bytes Amen/Content/Images/ajax-loader.gif | Bin 0 -> 673 bytes Amen/Content/Images/amen-logo-flyin.gif | Bin 0 -> 158803 bytes Amen/Content/Images/amenico100.png | Bin 0 -> 8147 bytes Amen/Content/Images/fb-share-logo-small.png | Bin 0 -> 18244 bytes Amen/Content/Images/fb-share-logo.png | Bin 0 -> 357262 bytes Amen/Content/Images/poweredbyamenprayer.png | Bin 0 -> 14578 bytes Amen/Content/PagedList.css | 166 + Amen/Content/Site.css | 581 + Amen/Content/Site.scss | 724 ++ Amen/Content/SiteCustom.css | 187 + .../Content/bootstrap-tagsinput-typeahead.css | 54 + Amen/Content/bootstrap-tagsinput.css | 60 + Amen/Content/bootstrap-tagsinput.less | 50 + Amen/Content/bootstrap.css | 6816 ++++++++++++ Amen/Content/bootstrap.min.css | 20 + Amen/Controllers/APIController.cs | 139 + Amen/Controllers/AccountController.cs | 600 + .../AffiliateController.Extended.cs | 816 ++ Amen/Controllers/AffiliateController.cs | 146 + Amen/Controllers/BaseController.cs | 46 + Amen/Controllers/CSSController.cs | 36 + Amen/Controllers/ControllerHelper.cs | 195 + Amen/Controllers/HomeController.cs | 12 + Amen/Controllers/ManageController.cs | 425 + Amen/Controllers/NotificationController.cs | 366 + Amen/Controllers/PrayerController.cs | 682 ++ Amen/Global.asax | 1 + Amen/Global.asax.cs | 29 + Amen/Helpers/BlobStorageHelper.cs | 77 + Amen/Helpers/RequestHelper.cs | 64 + Amen/Helpers/StringHelper.cs | 27 + Amen/Helpers/UserHelper.cs | 20 + ...031255563_AddCreatedUTCColumns.Designer.cs | 29 + .../201701031255563_AddCreatedUTCColumns.cs | 30 + .../201701031255563_AddCreatedUTCColumns.resx | 129 + ...356577_AddAffiliateIntructions.Designer.cs | 29 + ...201708042356577_AddAffiliateIntructions.cs | 22 + ...1708042356577_AddAffiliateIntructions.resx | 129 + ...portShowingUserNameAndLocation.Designer.cs | 29 + ...eldsToSupportShowingUserNameAndLocation.cs | 26 + ...dsToSupportShowingUserNameAndLocation.resx | 126 + Amen/Migrations/Configuration.cs | 116 + Amen/Models/AccountViewModels.cs | 140 + Amen/Models/Affiliate.cs | 137 + Amen/Models/AffiliateAdmin.cs | 23 + Amen/Models/AffiliateStyle.cs | 19 + Amen/Models/AffiliateViewModels.cs | 127 + Amen/Models/AutoFlagItem.cs | 17 + Amen/Models/BlacklistEmail.cs | 17 + Amen/Models/BlacklistIP.cs | 17 + Amen/Models/EmailViewModels.cs | 33 + Amen/Models/FacebookAuthModels.cs | 44 + Amen/Models/IdentityModels.cs | 217 + Amen/Models/ManageViewModels.cs | 115 + Amen/Models/Prayer.cs | 142 + Amen/Models/PrayerBookmark.cs | 22 + Amen/Models/PrayerFlag.cs | 28 + Amen/Models/PrayerItem.cs | 25 + Amen/Models/PrayerNote.cs | 27 + Amen/Models/PrayerSource.cs | 52 + Amen/Models/PrayerSubscription.cs | 22 + Amen/Models/PrayerViewModels.cs | 214 + Amen/Models/RelatedPrayer.cs | 24 + Amen/Models/SubscriptionType.cs | 37 + Amen/Project_Readme.html | 151 + Amen/Properties/AssemblyInfo.cs | 35 + Amen/Scripts/_references.js | Bin 0 -> 1158 bytes Amen/Scripts/bootstrap-tagsinput-angular.js | 92 + .../bootstrap-tagsinput-angular.min.js | 7 + .../bootstrap-tagsinput-angular.min.js.map | 1 + Amen/Scripts/bootstrap-tagsinput.js | 682 ++ Amen/Scripts/bootstrap-tagsinput.min.js | 7 + Amen/Scripts/bootstrap-tagsinput.min.js.map | 1 + Amen/Scripts/bootstrap.js | 2014 ++++ Amen/Scripts/bootstrap.min.js | 21 + Amen/Scripts/jquery-1.10.2.intellisense.js | 2671 +++++ Amen/Scripts/jquery-1.10.2.js | 9803 +++++++++++++++++ Amen/Scripts/jquery-1.10.2.min.js | 23 + Amen/Scripts/jquery-1.10.2.min.map | 1 + Amen/Scripts/jquery.validate-vsdoc.js | 1302 +++ Amen/Scripts/jquery.validate.js | 1245 +++ Amen/Scripts/jquery.validate.min.js | 16 + Amen/Scripts/jquery.validate.unobtrusive.js | 410 + .../jquery.validate.unobtrusive.min.js | 19 + Amen/Scripts/modernizr-2.6.2.js | 1416 +++ Amen/Scripts/respond.js | 340 + Amen/Scripts/respond.min.js | 20 + Amen/Scripts/site-affiliate.js | 58 + Amen/Scripts/site-common.js | 193 + Amen/Scripts/site-prayer.js | 762 ++ Amen/Scripts/site-user.js | 132 + Amen/Startup.cs | 14 + Amen/Views/Account/ConfirmEmail.cshtml | 10 + .../Account/ExternalLoginConfirmation.cshtml | 43 + .../Views/Account/ExternalLoginFailure.cshtml | 8 + Amen/Views/Account/ForgotPassword.cshtml | 29 + .../Account/ForgotPasswordConfirmation.cshtml | 13 + Amen/Views/Account/Login.cshtml | 71 + Amen/Views/Account/Register.cshtml | 131 + Amen/Views/Account/ResetPassword.cshtml | 42 + .../Account/ResetPasswordConfirmation.cshtml | 12 + Amen/Views/Account/SendCode.cshtml | 24 + Amen/Views/Account/VerifyCode.cshtml | 38 + .../Account/_ExternalLoginsListPartial.cshtml | 37 + Amen/Views/Affiliate/Create.cshtml | 294 + Amen/Views/Affiliate/Delete.cshtml | 192 + Amen/Views/Affiliate/Details.cshtml | 263 + Amen/Views/Affiliate/Edit.cshtml | 323 + Amen/Views/Affiliate/FlagEmails.cshtml | 55 + Amen/Views/Affiliate/FlagIPs.cshtml | 55 + Amen/Views/Affiliate/FlagWords.cshtml | 51 + Amen/Views/Affiliate/Index.cshtml | 53 + Amen/Views/Affiliate/Praise.cshtml | 83 + Amen/Views/Affiliate/PrayerEdit.cshtml | 168 + Amen/Views/Affiliate/Prayers.cshtml | 99 + Amen/Views/Affiliate/Select.cshtml | 25 + Amen/Views/Affiliate/Stats.cshtml | 174 + Amen/Views/Affiliate/Style.cshtml | 51 + Amen/Views/Affiliate/Users.cshtml | 58 + Amen/Views/Affiliate/_Tabs.cshtml | 20 + Amen/Views/Email/AdminNotification.cshtml | 43 + Amen/Views/Email/NoteSent.cshtml | 57 + Amen/Views/Email/Prayed.cshtml | 52 + Amen/Views/Email/PrayerSubmitted.cshtml | 39 + Amen/Views/Home/UpgradeInProgress.cshtml | 23 + Amen/Views/Manage/AddPhoneNumber.cshtml | 29 + Amen/Views/Manage/ChangePassword.cshtml | 40 + Amen/Views/Manage/Index.cshtml | 277 + Amen/Views/Manage/ManageLogins.cshtml | 70 + Amen/Views/Manage/SetPassword.cshtml | 39 + Amen/Views/Manage/VerifyPhoneNumber.cshtml | 31 + Amen/Views/Prayer/Index.cshtml | 260 + Amen/Views/Prayer/Index.cshtml.bak | 255 + Amen/Views/Prayer/_EditPrayer.cshtml | 40 + Amen/Views/Prayer/_PrayerItems.cshtml | 140 + Amen/Views/Shared/Error.cshtml | 9 + Amen/Views/Shared/Lockout.cshtml | 10 + Amen/Views/Shared/_Layout.cshtml | 154 + Amen/Views/Shared/_LoginPartial.cshtml | 18 + Amen/Views/Web.config | 35 + Amen/Views/_ViewStart.cshtml | 3 + Amen/Web.Debug.config | 30 + Amen/Web.Release.config | 73 + Amen/Web.Stage.config | 56 + Amen/Web.config | 219 + Amen/favicon.ico | Bin 0 -> 32038 bytes Amen/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 14079 bytes Amen/fonts/glyphicons-halflings-regular.svg | 228 + Amen/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 29512 bytes Amen/fonts/glyphicons-halflings-regular.woff | Bin 0 -> 16448 bytes Amen/libman.json | 5 + Amen/packages.config | 82 + Instructions.txt | 0 db/Helpful - Insert - UserAccount.sql | 3 + db/Helpful - Insert - UserRole.sql | 66 + db/SP-GetPrayers.sql | 171 + 167 files changed, 41904 insertions(+) create mode 100644 .vscode/tasks.json create mode 100644 Amen.sln create mode 100644 Amen/Amen.csproj create mode 100644 Amen/App_Start/BundleConfig.cs create mode 100644 Amen/App_Start/FilterConfig.cs create mode 100644 Amen/App_Start/IdentityConfig.cs create mode 100644 Amen/App_Start/RouteConfig.cs create mode 100644 Amen/App_Start/Startup.Auth.cs create mode 100644 Amen/App_Start/WebApiConfig.cs create mode 100644 Amen/Content/Images/Blank.png create mode 100644 Amen/Content/Images/ajax-loader-2.gif create mode 100644 Amen/Content/Images/ajax-loader.gif create mode 100644 Amen/Content/Images/amen-logo-flyin.gif create mode 100644 Amen/Content/Images/amenico100.png create mode 100644 Amen/Content/Images/fb-share-logo-small.png create mode 100644 Amen/Content/Images/fb-share-logo.png create mode 100644 Amen/Content/Images/poweredbyamenprayer.png create mode 100644 Amen/Content/PagedList.css create mode 100644 Amen/Content/Site.css create mode 100644 Amen/Content/Site.scss create mode 100644 Amen/Content/SiteCustom.css create mode 100644 Amen/Content/bootstrap-tagsinput-typeahead.css create mode 100644 Amen/Content/bootstrap-tagsinput.css create mode 100644 Amen/Content/bootstrap-tagsinput.less create mode 100644 Amen/Content/bootstrap.css create mode 100644 Amen/Content/bootstrap.min.css create mode 100644 Amen/Controllers/APIController.cs create mode 100644 Amen/Controllers/AccountController.cs create mode 100644 Amen/Controllers/AffiliateController.Extended.cs create mode 100644 Amen/Controllers/AffiliateController.cs create mode 100644 Amen/Controllers/BaseController.cs create mode 100644 Amen/Controllers/CSSController.cs create mode 100644 Amen/Controllers/ControllerHelper.cs create mode 100644 Amen/Controllers/HomeController.cs create mode 100644 Amen/Controllers/ManageController.cs create mode 100644 Amen/Controllers/NotificationController.cs create mode 100644 Amen/Controllers/PrayerController.cs create mode 100644 Amen/Global.asax create mode 100644 Amen/Global.asax.cs create mode 100644 Amen/Helpers/BlobStorageHelper.cs create mode 100644 Amen/Helpers/RequestHelper.cs create mode 100644 Amen/Helpers/StringHelper.cs create mode 100644 Amen/Helpers/UserHelper.cs create mode 100644 Amen/Migrations/201701031255563_AddCreatedUTCColumns.Designer.cs create mode 100644 Amen/Migrations/201701031255563_AddCreatedUTCColumns.cs create mode 100644 Amen/Migrations/201701031255563_AddCreatedUTCColumns.resx create mode 100644 Amen/Migrations/201708042356577_AddAffiliateIntructions.Designer.cs create mode 100644 Amen/Migrations/201708042356577_AddAffiliateIntructions.cs create mode 100644 Amen/Migrations/201708042356577_AddAffiliateIntructions.resx create mode 100644 Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.Designer.cs create mode 100644 Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.cs create mode 100644 Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.resx create mode 100644 Amen/Migrations/Configuration.cs create mode 100644 Amen/Models/AccountViewModels.cs create mode 100644 Amen/Models/Affiliate.cs create mode 100644 Amen/Models/AffiliateAdmin.cs create mode 100644 Amen/Models/AffiliateStyle.cs create mode 100644 Amen/Models/AffiliateViewModels.cs create mode 100644 Amen/Models/AutoFlagItem.cs create mode 100644 Amen/Models/BlacklistEmail.cs create mode 100644 Amen/Models/BlacklistIP.cs create mode 100644 Amen/Models/EmailViewModels.cs create mode 100644 Amen/Models/FacebookAuthModels.cs create mode 100644 Amen/Models/IdentityModels.cs create mode 100644 Amen/Models/ManageViewModels.cs create mode 100644 Amen/Models/Prayer.cs create mode 100644 Amen/Models/PrayerBookmark.cs create mode 100644 Amen/Models/PrayerFlag.cs create mode 100644 Amen/Models/PrayerItem.cs create mode 100644 Amen/Models/PrayerNote.cs create mode 100644 Amen/Models/PrayerSource.cs create mode 100644 Amen/Models/PrayerSubscription.cs create mode 100644 Amen/Models/PrayerViewModels.cs create mode 100644 Amen/Models/RelatedPrayer.cs create mode 100644 Amen/Models/SubscriptionType.cs create mode 100644 Amen/Project_Readme.html create mode 100644 Amen/Properties/AssemblyInfo.cs create mode 100644 Amen/Scripts/_references.js create mode 100644 Amen/Scripts/bootstrap-tagsinput-angular.js create mode 100644 Amen/Scripts/bootstrap-tagsinput-angular.min.js create mode 100644 Amen/Scripts/bootstrap-tagsinput-angular.min.js.map create mode 100644 Amen/Scripts/bootstrap-tagsinput.js create mode 100644 Amen/Scripts/bootstrap-tagsinput.min.js create mode 100644 Amen/Scripts/bootstrap-tagsinput.min.js.map create mode 100644 Amen/Scripts/bootstrap.js create mode 100644 Amen/Scripts/bootstrap.min.js create mode 100644 Amen/Scripts/jquery-1.10.2.intellisense.js create mode 100644 Amen/Scripts/jquery-1.10.2.js create mode 100644 Amen/Scripts/jquery-1.10.2.min.js create mode 100644 Amen/Scripts/jquery-1.10.2.min.map create mode 100644 Amen/Scripts/jquery.validate-vsdoc.js create mode 100644 Amen/Scripts/jquery.validate.js create mode 100644 Amen/Scripts/jquery.validate.min.js create mode 100644 Amen/Scripts/jquery.validate.unobtrusive.js create mode 100644 Amen/Scripts/jquery.validate.unobtrusive.min.js create mode 100644 Amen/Scripts/modernizr-2.6.2.js create mode 100644 Amen/Scripts/respond.js create mode 100644 Amen/Scripts/respond.min.js create mode 100644 Amen/Scripts/site-affiliate.js create mode 100644 Amen/Scripts/site-common.js create mode 100644 Amen/Scripts/site-prayer.js create mode 100644 Amen/Scripts/site-user.js create mode 100644 Amen/Startup.cs create mode 100644 Amen/Views/Account/ConfirmEmail.cshtml create mode 100644 Amen/Views/Account/ExternalLoginConfirmation.cshtml create mode 100644 Amen/Views/Account/ExternalLoginFailure.cshtml create mode 100644 Amen/Views/Account/ForgotPassword.cshtml create mode 100644 Amen/Views/Account/ForgotPasswordConfirmation.cshtml create mode 100644 Amen/Views/Account/Login.cshtml create mode 100644 Amen/Views/Account/Register.cshtml create mode 100644 Amen/Views/Account/ResetPassword.cshtml create mode 100644 Amen/Views/Account/ResetPasswordConfirmation.cshtml create mode 100644 Amen/Views/Account/SendCode.cshtml create mode 100644 Amen/Views/Account/VerifyCode.cshtml create mode 100644 Amen/Views/Account/_ExternalLoginsListPartial.cshtml create mode 100644 Amen/Views/Affiliate/Create.cshtml create mode 100644 Amen/Views/Affiliate/Delete.cshtml create mode 100644 Amen/Views/Affiliate/Details.cshtml create mode 100644 Amen/Views/Affiliate/Edit.cshtml create mode 100644 Amen/Views/Affiliate/FlagEmails.cshtml create mode 100644 Amen/Views/Affiliate/FlagIPs.cshtml create mode 100644 Amen/Views/Affiliate/FlagWords.cshtml create mode 100644 Amen/Views/Affiliate/Index.cshtml create mode 100644 Amen/Views/Affiliate/Praise.cshtml create mode 100644 Amen/Views/Affiliate/PrayerEdit.cshtml create mode 100644 Amen/Views/Affiliate/Prayers.cshtml create mode 100644 Amen/Views/Affiliate/Select.cshtml create mode 100644 Amen/Views/Affiliate/Stats.cshtml create mode 100644 Amen/Views/Affiliate/Style.cshtml create mode 100644 Amen/Views/Affiliate/Users.cshtml create mode 100644 Amen/Views/Affiliate/_Tabs.cshtml create mode 100644 Amen/Views/Email/AdminNotification.cshtml create mode 100644 Amen/Views/Email/NoteSent.cshtml create mode 100644 Amen/Views/Email/Prayed.cshtml create mode 100644 Amen/Views/Email/PrayerSubmitted.cshtml create mode 100644 Amen/Views/Home/UpgradeInProgress.cshtml create mode 100644 Amen/Views/Manage/AddPhoneNumber.cshtml create mode 100644 Amen/Views/Manage/ChangePassword.cshtml create mode 100644 Amen/Views/Manage/Index.cshtml create mode 100644 Amen/Views/Manage/ManageLogins.cshtml create mode 100644 Amen/Views/Manage/SetPassword.cshtml create mode 100644 Amen/Views/Manage/VerifyPhoneNumber.cshtml create mode 100644 Amen/Views/Prayer/Index.cshtml create mode 100644 Amen/Views/Prayer/Index.cshtml.bak create mode 100644 Amen/Views/Prayer/_EditPrayer.cshtml create mode 100644 Amen/Views/Prayer/_PrayerItems.cshtml create mode 100644 Amen/Views/Shared/Error.cshtml create mode 100644 Amen/Views/Shared/Lockout.cshtml create mode 100644 Amen/Views/Shared/_Layout.cshtml create mode 100644 Amen/Views/Shared/_LoginPartial.cshtml create mode 100644 Amen/Views/Web.config create mode 100644 Amen/Views/_ViewStart.cshtml create mode 100644 Amen/Web.Debug.config create mode 100644 Amen/Web.Release.config create mode 100644 Amen/Web.Stage.config create mode 100644 Amen/Web.config create mode 100644 Amen/favicon.ico create mode 100644 Amen/fonts/glyphicons-halflings-regular.eot create mode 100644 Amen/fonts/glyphicons-halflings-regular.svg create mode 100644 Amen/fonts/glyphicons-halflings-regular.ttf create mode 100644 Amen/fonts/glyphicons-halflings-regular.woff create mode 100644 Amen/libman.json create mode 100644 Amen/packages.config create mode 100644 Instructions.txt create mode 100644 db/Helpful - Insert - UserAccount.sql create mode 100644 db/Helpful - Insert - UserRole.sql create mode 100644 db/SP-GetPrayers.sql diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..691a714 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,8 @@ + +// Sass configuration +{ + "version": "0.1.0", + "command": "node-sass", + "isShellCommand": true, + "args": ["Amen/Content/Site.scss", "Amen/Content/Site.css"] +} \ No newline at end of file diff --git a/Amen.sln b/Amen.sln new file mode 100644 index 0000000..5e8bfb7 --- /dev/null +++ b/Amen.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Amen", "Amen\Amen.csproj", "{599AF714-D8F5-408C-B14F-915AC646D9EA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + Stage|Any CPU = Stage|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {599AF714-D8F5-408C-B14F-915AC646D9EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {599AF714-D8F5-408C-B14F-915AC646D9EA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {599AF714-D8F5-408C-B14F-915AC646D9EA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {599AF714-D8F5-408C-B14F-915AC646D9EA}.Release|Any CPU.Build.0 = Release|Any CPU + {599AF714-D8F5-408C-B14F-915AC646D9EA}.Stage|Any CPU.ActiveCfg = Stage|Any CPU + {599AF714-D8F5-408C-B14F-915AC646D9EA}.Stage|Any CPU.Build.0 = Stage|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Amen/Amen.csproj b/Amen/Amen.csproj new file mode 100644 index 0000000..9d31631 --- /dev/null +++ b/Amen/Amen.csproj @@ -0,0 +1,579 @@ + + + + + Debug + AnyCPU + + + 2.0 + {599AF714-D8F5-408C-B14F-915AC646D9EA} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + Amen + Amen + v4.8 + false + true + + + + + + + + + + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + + ..\packages\EPPlus.4.1.0\lib\net40\EPPlus.dll + + + ..\packages\Facebook.7.0.6\lib\net45\Facebook.dll + + + ..\packages\ImageResizer.4.1.9\lib\net45\ImageResizer.dll + + + ..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + + + ..\packages\Microsoft.PowerPlatform.Dataverse.Client.1.0.9\lib\net48\Microsoft.Crm.Sdk.Proxy.dll + + + + False + ..\packages\Microsoft.Data.Edm.5.6.4\lib\net40\Microsoft.Data.Edm.dll + + + False + ..\packages\Microsoft.Data.OData.5.6.4\lib\net40\Microsoft.Data.OData.dll + + + False + ..\packages\Microsoft.Data.Services.Client.5.6.4\lib\net40\Microsoft.Data.Services.Client.dll + + + ..\packages\Microsoft.Extensions.Caching.Abstractions.3.1.8\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Caching.Memory.3.1.8\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll + + + False + ..\packages\Microsoft.Extensions.DependencyInjection.3.1.8\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.3.1.8\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Http.3.1.8\lib\netstandard2.0\Microsoft.Extensions.Http.dll + + + ..\packages\Microsoft.Extensions.Logging.3.1.8\lib\netstandard2.0\Microsoft.Extensions.Logging.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.8\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Options.3.1.8\lib\netstandard2.0\Microsoft.Extensions.Options.dll + + + ..\packages\Microsoft.Extensions.Primitives.3.1.8\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll + + + ..\packages\Microsoft.Identity.Client.4.35.1\lib\netstandard1.3\Microsoft.Identity.Client.dll + + + False + ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.19.8\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + + + ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.19.8\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll + + + ..\packages\Microsoft.Owin.3.1.0-rc1\lib\net45\Microsoft.Owin.dll + + + ..\packages\Microsoft.Owin.Cors.3.1.0-rc1\lib\net45\Microsoft.Owin.Cors.dll + + + ..\packages\Microsoft.Owin.Host.SystemWeb.3.1.0-rc1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll + + + ..\packages\Microsoft.Owin.Security.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.dll + + + ..\packages\Microsoft.Owin.Security.Cookies.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Cookies.dll + + + ..\packages\Microsoft.Owin.Security.Facebook.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Facebook.dll + + + ..\packages\Microsoft.Owin.Security.Google.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Google.dll + + + ..\packages\Microsoft.Owin.Security.MicrosoftAccount.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.MicrosoftAccount.dll + + + ..\packages\Microsoft.Owin.Security.OAuth.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.OAuth.dll + + + ..\packages\Microsoft.Owin.Security.Twitter.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Twitter.dll + + + ..\packages\Microsoft.PowerPlatform.Dataverse.Client.1.0.9\lib\net48\Microsoft.PowerPlatform.Dataverse.Client.dll + + + ..\packages\Microsoft.CrmSdk.XrmTooling.CoreAssembly.9.1.1.1\lib\net462\Microsoft.Rest.ClientRuntime.dll + + + False + ..\packages\WindowsAzure.Storage.7.2.1\lib\net40\Microsoft.WindowsAzure.Storage.dll + + + ..\packages\Microsoft.PowerPlatform.Dataverse.Client.1.0.9\lib\net48\Microsoft.Xrm.Sdk.dll + + + ..\packages\Microsoft.CrmSdk.Deployment.9.0.2.25\lib\net462\Microsoft.Xrm.Sdk.Deployment.dll + + + ..\packages\Microsoft.CrmSdk.Workflow.9.0.2.42\lib\net462\Microsoft.Xrm.Sdk.Workflow.dll + + + ..\packages\Microsoft.CrmSdk.XrmTooling.CoreAssembly.9.1.1.1\lib\net462\Microsoft.Xrm.Tooling.Connector.dll + + + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + + ..\packages\Owin.1.0\lib\net40\Owin.dll + + + ..\packages\PagedList.1.17.0.0\lib\net40\PagedList.dll + + + ..\packages\PagedList.Mvc.4.5.0.0\lib\net40\PagedList.Mvc.dll + True + + + + ..\packages\RestSharp.105.2.2\lib\net45\RestSharp.dll + + + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + ..\packages\System.ComponentModel.Annotations.4.7.0\lib\net461\System.ComponentModel.Annotations.dll + + + + + + + + + + + + ..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll + + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + + + + + + + + + + False + ..\packages\System.Spatial.5.6.4\lib\net40\System.Spatial.dll + + + ..\packages\System.Text.Encodings.Web.6.0.0\lib\net461\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.6.0.2\lib\net461\System.Text.Json.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + + + ..\packages\Microsoft.AspNet.Cors.5.0.0\lib\net45\System.Web.Cors.dll + + + + + + + + + + + + + + + + + + + True + ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + + + + + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.Helpers.dll + + + True + ..\packages\Microsoft.AspNet.Mvc.5.2.2\lib\net45\System.Web.Mvc.dll + + + ..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll + + + True + ..\packages\Microsoft.AspNet.Razor.3.2.2\lib\net45\System.Web.Razor.dll + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.dll + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.Deployment.dll + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.Razor.dll + + + + + ..\packages\Twilio.4.7.2\lib\3.5\Twilio.Api.dll + + + True + ..\packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll + + + ..\packages\WebGrease.1.5.2\lib\WebGrease.dll + + + + + ..\packages\Microsoft.AspNet.WebApi.Client.5.2.2\lib\net45\System.Net.Http.Formatting.dll + + + ..\packages\Microsoft.AspNet.WebApi.Core.5.2.2\lib\net45\System.Web.Http.dll + + + ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.2\lib\net45\System.Web.Http.WebHost.dll + + + ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll + + + ..\packages\Microsoft.AspNet.Identity.Core.2.1.0\lib\net45\Microsoft.AspNet.Identity.Core.dll + + + ..\packages\Microsoft.AspNet.Identity.Owin.2.1.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll + + + ..\packages\Microsoft.AspNet.Identity.EntityFramework.2.1.0\lib\net45\Microsoft.AspNet.Identity.EntityFramework.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + 201701031255563_AddCreatedUTCColumns.cs + + + + 201708042356577_AddAffiliateIntructions.cs + + + + 201708050049099_AddFieldsToSupportShowingUserNameAndLocation.cs + + + + + + + + + + + + + + Global.asax + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Designer + + + Web.config + + + Web.config + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Web.config + Designer + + + + + + + + + + + + + + + + + 201701031255563_AddCreatedUTCColumns.cs + + + 201708042356577_AddAffiliateIntructions.cs + + + 201708050049099_AddFieldsToSupportShowingUserNameAndLocation.cs + + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + bin\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + + + + + + + + + + True + True + 22024 + / + http://localhost:50539/ + False + False + + + False + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/Amen/App_Start/BundleConfig.cs b/Amen/App_Start/BundleConfig.cs new file mode 100644 index 0000000..2e4031d --- /dev/null +++ b/Amen/App_Start/BundleConfig.cs @@ -0,0 +1,33 @@ +using System.Web; +using System.Web.Optimization; + +namespace Amen +{ + public class BundleConfig + { + // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 + public static void RegisterBundles(BundleCollection bundles) + { + bundles.Add(new ScriptBundle("~/bundles/jquery").Include( + "~/Scripts/jquery-{version}.js")); + + bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( + "~/Scripts/jquery.validate*")); + + // Use the development version of Modernizr to develop with and learn from. Then, when you're + // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. + bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( + "~/Scripts/modernizr-*")); + + bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include( + "~/Scripts/bootstrap.js", + "~/Scripts/bootstrap-tagsinput.min.js", + "~/Scripts/respond.js")); + + var assemblyVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + bundles.Add(new StyleBundle("~/Content/css").Include( + "~/Content/bootstrap.css", + "~/Content/bootstrap-tagsinput.css")); + } + } +} diff --git a/Amen/App_Start/FilterConfig.cs b/Amen/App_Start/FilterConfig.cs new file mode 100644 index 0000000..3914b80 --- /dev/null +++ b/Amen/App_Start/FilterConfig.cs @@ -0,0 +1,13 @@ +using System.Web; +using System.Web.Mvc; + +namespace Amen +{ + public class FilterConfig + { + public static void RegisterGlobalFilters(GlobalFilterCollection filters) + { + filters.Add(new HandleErrorAttribute()); + } + } +} diff --git a/Amen/App_Start/IdentityConfig.cs b/Amen/App_Start/IdentityConfig.cs new file mode 100644 index 0000000..31f73b7 --- /dev/null +++ b/Amen/App_Start/IdentityConfig.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Linq; +using System.Security.Claims; +using System.Threading.Tasks; +using System.Web; +using Microsoft.AspNet.Identity; +using Microsoft.AspNet.Identity.EntityFramework; +using Microsoft.AspNet.Identity.Owin; +using Microsoft.Owin; +using Microsoft.Owin.Security; +using Amen.Models; +using Twilio; +using System.Net; +using System.Net.Mail; +using Amen.Controllers; + +namespace Amen +{ + public class EmailService : IIdentityMessageService + { + public Task SendAsync(IdentityMessage message) + { + NotificationController.SendEmailMessage(message.Destination, message.Subject, message.Body, NotificationController.EmailSendType.Account); + + return Task.FromResult(0); + } + } + + public class SmsIdentityMessage : IdentityMessage + { + public string TwilioSID { get; set; } + public string TwilioAuthToken { get; set; } + public string TwilioPhoneNumber { get; set; } + } + + public class SmsService : IIdentityMessageService + { + public Task SendAsync(IdentityMessage message) + { + if (message is SmsIdentityMessage) + { + var smsmessage = (SmsIdentityMessage)message; + NotificationController.SendSmsMessage(smsmessage.TwilioSID, smsmessage.TwilioAuthToken, smsmessage.TwilioPhoneNumber, message.Destination, message.Body); + } + + return Task.FromResult(0); + } + } + + // Configure the application user manager used in this application. UserManager is defined in ASP.NET Identity and is used by the application. + public class ApplicationUserManager : UserManager + { + public ApplicationUserManager(IUserStore store) + : base(store) + { + } + + public static ApplicationUserManager Create(IdentityFactoryOptions options, IOwinContext context) + { + var manager = new ApplicationUserManager(new UserStore(context.Get())); + // Configure validation logic for usernames + manager.UserValidator = new UserValidator(manager) + { + AllowOnlyAlphanumericUserNames = false, + RequireUniqueEmail = true + }; + + // Configure validation logic for passwords + manager.PasswordValidator = new PasswordValidator + { + RequiredLength = 6, + RequireNonLetterOrDigit = true, + RequireDigit = true, + RequireLowercase = true, + RequireUppercase = true, + }; + + // Configure user lockout defaults + manager.UserLockoutEnabledByDefault = true; + manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); + manager.MaxFailedAccessAttemptsBeforeLockout = 5; + + // Register two factor authentication providers. This application uses Phone and Emails as a step of receiving a code for verifying the user + // You can write your own provider and plug it in here. + manager.RegisterTwoFactorProvider("Phone Code", new PhoneNumberTokenProvider + { + MessageFormat = "Your security code is {0}" + }); + manager.RegisterTwoFactorProvider("Email Code", new EmailTokenProvider + { + Subject = "Security Code", + BodyFormat = "Your security code is {0}" + }); + manager.EmailService = new EmailService(); + manager.SmsService = new SmsService(); + var dataProtectionProvider = options.DataProtectionProvider; + if (dataProtectionProvider != null) + { + manager.UserTokenProvider = + new DataProtectorTokenProvider(dataProtectionProvider.Create("ASP.NET Identity")); + } + return manager; + } + } + + // Configure the application sign-in manager which is used in this application. + public class ApplicationSignInManager : SignInManager + { + public ApplicationSignInManager(ApplicationUserManager userManager, IAuthenticationManager authenticationManager) + : base(userManager, authenticationManager) + { + } + + public override Task CreateUserIdentityAsync(ApplicationUser user) + { + return user.GenerateUserIdentityAsync((ApplicationUserManager)UserManager); + } + + public static ApplicationSignInManager Create(IdentityFactoryOptions options, IOwinContext context) + { + return new ApplicationSignInManager(context.GetUserManager(), context.Authentication); + } + } +} diff --git a/Amen/App_Start/RouteConfig.cs b/Amen/App_Start/RouteConfig.cs new file mode 100644 index 0000000..251be08 --- /dev/null +++ b/Amen/App_Start/RouteConfig.cs @@ -0,0 +1,85 @@ +using Amen.Controllers; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; + +namespace Amen +{ + public class RouteConfig + { + public static void RegisterRoutes(RouteCollection routes) + { + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + + routes.MapRoute( + name: "APIRoute", + url: "API/{action}/{id}", // URL with parameters + defaults: new { controller = "API", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "HomeRoute", + url: "Home/{action}/{id}", // URL with parameters + defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "AccountRoute", + url: "Account/{action}/{id}", // URL with parameters + defaults: new { controller = "Account", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "ManageRoute", + url: "Manage/{action}/{id}", // URL with parameters + defaults: new { controller = "Manage", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "NotificationRout", + url: "Notification/{action}/{id}", // URL with parameters + defaults: new { controller = "Notification", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "PrayerRoute", + url: "Prayer/{action}/{id}", // URL with parameters + defaults: new { controller = "Prayer", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "AffiliateAdminRoute", + url: "Affiliate/{action}/{id}", // URL with parameters + defaults: new { controller = "Affiliate", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "AffiliateGroupAliasRoute", + url: "Group/{action}/{id}", // URL with parameters + defaults: new { controller = "Affiliate", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "CSSRoute", + url: "CSS/{action}/{id}", // URL with parameters + defaults: new { controller = "CSS", action = "GetTheme", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "AffiliateGroupPrayerRoute", + url: "{affiliatekey}/Group/{action}/{id}", // URL with parameters + defaults: new { controller = "Affiliate", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + routes.MapRoute( + name: "AffiliatePrayerRoute", + url: "{affiliatekey}/{controller}/{action}/{id}", // URL with parameters + defaults: new { controller = "Prayer", action = "Index", id = UrlParameter.Optional, affiliatekey = ControllerHelper.DefaultAffiliateKey } + ); + + } + } +} diff --git a/Amen/App_Start/Startup.Auth.cs b/Amen/App_Start/Startup.Auth.cs new file mode 100644 index 0000000..f5a51b8 --- /dev/null +++ b/Amen/App_Start/Startup.Auth.cs @@ -0,0 +1,93 @@ +using System; +using Microsoft.AspNet.Identity; +using Microsoft.AspNet.Identity.Owin; +using Microsoft.Owin; +using Microsoft.Owin.Security.Cookies; +using Microsoft.Owin.Security.Google; +using Owin; +using Amen.Models; +using Microsoft.Owin.Security.Facebook; +using System.Threading.Tasks; +using System.Configuration; +using System.Security.Claims; + +namespace Amen +{ + public partial class Startup + { + // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 + public void ConfigureAuth(IAppBuilder app) + { + // Configure the db context, user manager and signin manager to use a single instance per request + app.CreatePerOwinContext(ApplicationDbContext.Create); + app.CreatePerOwinContext(ApplicationUserManager.Create); + app.CreatePerOwinContext(ApplicationSignInManager.Create); + + // Enable the application to use a cookie to store information for the signed in user + // and to use a cookie to temporarily store information about a user logging in with a third party login provider + // Configure the sign in cookie + app.UseCookieAuthentication(new CookieAuthenticationOptions + { + AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, + LoginPath = new PathString("/Account/Login"), + Provider = new CookieAuthenticationProvider + { + // Enables the application to validate the security stamp when the user logs in. + // This is a security feature which is used when you change a password or add an external login to your account. + OnValidateIdentity = SecurityStampValidator.OnValidateIdentity( + validateInterval: TimeSpan.FromMinutes(30), + regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) + } + }); + app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); + + // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process. + app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5)); + + // Enables the application to remember the second login verification factor such as phone or email. + // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. + // This is similar to the RememberMe option when you log in. + app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); + + // Uncomment the following lines to enable logging in with third party login providers + //app.UseMicrosoftAccountAuthentication( + // clientId: "", + // clientSecret: ""); + + //app.UseTwitterAuthentication( + // consumerKey: "", + // consumerSecret: ""); + + + //dev app id + //app.UseFacebookAuthentication( + // appId: "632247943624667", + // appSecret: "6e7ea1d9453593071b1bc350cda718b7"); + + app.UseFacebookAuthentication(new FacebookAuthenticationOptions + { + //AppId = "1837084549899587", + //AppSecret = "53452d285d8cf760f8fe8da491ddfb20", + + AppId = ConfigurationManager.AppSettings["FacebookAppId"], + AppSecret = ConfigurationManager.AppSettings["FacebookAppSecret"], + Scope = { "email" }, + Provider = new FacebookAuthenticationProvider + { + OnAuthenticated = context => + { + context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken)); + return Task.FromResult(true); + } + }, + //BackchannelHttpHandler = new FacebookBackChannelHandler() + }); + + //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() + //{ + // ClientId = "", + // ClientSecret = "" + //}); + } + } +} \ No newline at end of file diff --git a/Amen/App_Start/WebApiConfig.cs b/Amen/App_Start/WebApiConfig.cs new file mode 100644 index 0000000..0877222 --- /dev/null +++ b/Amen/App_Start/WebApiConfig.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Http; + +namespace Amen +{ + public static class WebApiConfig + { + public static void Register(HttpConfiguration config) + { + // Web API configuration and services + + // Web API routes + config.MapHttpAttributeRoutes(); + + config.Routes.MapHttpRoute( + name: "DefaultApi", + routeTemplate: "api/{controller}/{id}", + defaults: new { id = RouteParameter.Optional } + ); + } + } +} diff --git a/Amen/Content/Images/Blank.png b/Amen/Content/Images/Blank.png new file mode 100644 index 0000000000000000000000000000000000000000..1e3ee077490f85677c0e55f0c4f0cabfadd0a8e6 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k92}K#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%z#_G1&O@LYUQZXt5Q*^QAOHW`Gc$1fVfxn* S&-MT)!QkoY=d#Wzp$P!pOfG2v literal 0 HcmV?d00001 diff --git a/Amen/Content/Images/ajax-loader-2.gif b/Amen/Content/Images/ajax-loader-2.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ca7ada960568fff04400cda966fbdcb106abfa2 GIT binary patch literal 6820 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 literal 0 HcmV?d00001 diff --git a/Amen/Content/Images/ajax-loader.gif b/Amen/Content/Images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0bce1542342e912da81a2c260562df172f30d73 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{Lk&@8WQa67~pE8 zXTZz|lvDgC+Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 literal 0 HcmV?d00001 diff --git a/Amen/Content/Images/amen-logo-flyin.gif b/Amen/Content/Images/amen-logo-flyin.gif new file mode 100644 index 0000000000000000000000000000000000000000..9438ebb026b99569631e332af928da1cdf06641a GIT binary patch literal 158803 zcmaI71yo$ivOhcnGce2y?gSYK?rs5sJHg%E-FS_Wg`a;>0KM2&gVZK z-u?Kg;!|GN>pHPe9$qmrys&q0ws3Iq_3HN9!`~P61MG#2mZp@1nhZBPCn^vC06Z4y zsi+~O&ArSYe?^}AxtUu!T6-ZZtZnUGL}@@~LpDxJg;t*~HzJ)(Ad!J~m5EE?$Iy5IYwi7q1`}D}tMoi-&`ghl7iUjf-2DQ%IPL5ApAd z=8>C+m5s25wCulmJwA!j*m-%m33G7x`uei_^02#l*m7_Q2?=pgDQb=jw)#l0q=*+Phe}`g$_`O|GIMtl;A5W$t2WtspH* z^Vk5py}gyN5SNss5VsVcgb=3;7ncmbgrESYB#*%3hx5-@`agB0T`j$xtzEqSQ`hQ$ z>+=7fb^mCBv)dzQX=@LAA8RXF4_9Zz-y;^b|G)df^MAJY@48n1cVBq_&$=9so#FT+ z*Z-39e~KQJ=g;l`Xzk;}|LDE7%cHV;JZd%Y;rCy^e*U<>`~L0r>&=(ztIwAg=VzxU z$47?;pZ525ceb}aZf>lvt*$IDEiTM|n45h+Gd(pqF+Mgr@^1L;(BPZb1O0uyJ>6ZM z9qnzcEzPf*8XM~CYHO;iDl5v%N=u513Jdb{a&xk?GBaMLr=_MOCnYAt$Hm4(M@2@2 zhap2lf`bAB{QZ1=yuCa<+}&JVoShsU?CorAtgS39%*{+qjExKp^!0Rgw6!!f)YVj9 zs3tv&&SKd&Be*V&c@2Z%*4n*Pe=Qdh8jUdNkRUE zjFg0!h>!pu4;Kd;3lk25VnEQ*z#vqVN83Ps4+3KWumRM+iKIMS-Q29L5WeFl)|>#UdawqMidpwAD3 zC2sPpWGUkn9urQ&#d9@Yij4-ZRvUb#E&|@{H2W#D=g%Iu2h6ziZC`Z z%`L5M?H!$6-95d1{R6Mx3=X{=em62YHa;;qH9hlwcJ9Oc!s62M%Iezs#^%SZ?Va7d z{Z9vnN5?0pXXh7}pRcaJ+J*&85RJI8PM| z=Ze zp0=ae5~&1AmEQJ~g&NIzlbPO*vz2DcsUnrW&Wnw1&$F$WzOK*PgAp*Q7yaGW`{OTJ zOyBqS+#Jo7QzidP@aT_%e-tk+00=+@08ml%^8VI`e-~o{zyPdAsS`K%-{%!Heh8`` zC1NB53#1V%ra5jX;Qlu)3IGE@{z$9ZJfL99lF6RCJ-XIPP_k^aOI&n7TSi!}^F*1C zM|3jP$vtpq!cuIKqt?vJyEOHH2V)&NVCyE0iZuML0X(nXZ`nejd5_gm?rP zvPGbx1_Z=}#=B@G+hBvELpkuUGGxKN@itg_1>m?Gw$gmr9DRcFM9KnTIl^)Vf`3c} z06+j>c)1o78jYZ;MvwVopN@1MckD2=8}X#mJ9arj4m3K#JBU_e#06q zqxv`j__DZu)XmW{EDPaQ3Y8;jnP4!73~HIj(5eT&W?na5@w<=sU>dQ)85Srsh}VxG z%n9zS6zU%qW-rDCOT{VTtyL}ng*DaEw`8_K z+d7!znEiX-O1@#K?;CFip~m4;4Nmk=&0yh?u6*d5E?UA~A#Gnro#y+v4IZERDrn$*V{v3RRhy>RTwq8KnsP-iC*bKPRQvg=N#qS6#WgGdM)UZ=!F*S-* z%kRu(S!WYUI1{e_3I{O4|Il0&bstObPu}WyWd6<&Ah^IX#w6hZ=211~&#F
1t`Y6xD zmH%lS+fXu^a({L8;`1=m*RP-tm+&i^uNMo4max}w z6m)J*bdIf#$XhhH`1j9d;MiNpTk-Hqn$cJ^Wv0z;iM^+yaWDmWlDJ_j%D5AqR@SR) zYeh94d&zdvg}2IK9OXlJT-@a<5%0u4?J{^BV?h};g*RJpPBh`e>0;LYe8ZJZRP827 z|CnG900H3r_XKY@2s*ObzA?-R9zl<%S<|D<3ptw~tbbNFOXEAEv7R9r*M&ep8p4~d zJx@rKsUyP0MRIy7XS$pDUlTn2Qom4EH+CA%#b>}Y;Ndw;qE)LO-d*k0;4+6!O z!*&TWRz(szg$LWk#^}q~kilW7j+)r0E=KbD5RWGz0YYUpk*=8)YEO!_f!a`Q3wwfK zYdum_RA^^=Lxz_1m>5|xXb6JQ5EvAa<;X|!CW%42aNA%u!H7%YCMTaIO`c3J`OzDQF4*PI{Y=revHmRd=H5n7WJ9Cz%;6E2++&jn!E zV!4xa91VCo697~;uI*;{9X2RMm!pcd-wgi#Xh40((I6BzEM-F6O92pl3-Rctu0?Md!LO6bG}@nkBcnIu631&H^5GD*#f!IB zjUa+66(_*WE`nMjHG68eRrN$U1QiZbRr6|XPA$rcCv&WAk8C%NOo5cfwpUgq z5Y{&~F&P^-U}1%eVp({uYUBtm00W z4V*P4AX zZ-+JX`*{QMzAqi6YvpR3Rh@kdk!gw1Km1X?#eY5NRaF7Kx-{K&08-wafQgo?J@ zeBbxQE)fkA^}pHp%)>q~%6NM^f~mWi6nKo=nhViL9bFCoNhmmI^V=F(6pkPTAw|)5}kQwNDvZ-@>Lc`8Dk6vh)oG>2l23sp-v%+p#V;R*uOMXp|J6BaacTnznY}+A(%$dC#hPe=HxZYD5pwTc;CVy zvwjkd`EkJbs0G&zFmCSnUFL9 zcU{iv~N^uTNx^>5LIz#8CqMN*!Uh2r(vbp zD$rTC9Msueoxj%OL+u1gKd%3iIy<}j%iLZpilTrB7#GoHlA1Id$=L+az;bDx z5JF~1N%Yg_u2&Bz-`?WO0K@ECuh@bB2nm#AXrH$u$R$pOk%Nj6M+XZ%B2wCjUT~!G zBX{gIU?wnkfmT&rJfc^`fsJxW`i7EoiFxQ#JFw2}^}A0sdGF%ra6d)1E-(PI+~_zl zuf9oiJV|!J<093Gmozu)a=_f-7T-u{%dlEnTS<5u>2Oe|{RHV!r8YbndrwelozWwO z|7#?On8o&eBrZ-;j;N-Gs36)bw%I}%j zTa1poZY(HwUaG@<7&*N0`*Mn%XB#TC$<%qWaHQq>JN-&Fr&l0m!ZV7-d3n0=Y$f>R zOv}R6Q@_axpH}Dd3^0{D7bU`NTSA zmsQ=(Z_R-mXhz~vm&v%U)YtEF6|g^IfYZ z4)TKH!?z0kPGe{Dh6uhgq!#DphSlUJr0>2|jbV?rB}%thXDrE<9b&A^H&|yP z%}Y11uP(}3&o3|At7WRp?2JFEsEGc-Sa-M>PZ`{5V&Krw9rEGW3lj~N&^Umm( z$6qZ4PU$QnPBJDV=vD-gb6M`VUr95^4MnL=X}A z?Igk}YtUcdWBNtJz%A0JC1^H|xu zD)e~(!*Zd)l?rR2$3P}BDRpsP7+h&a$^{n;y8a|g4 zi9?f!!0nLfB-$+#lEuGH3ygU?@^w+K>7+b@Fr(AhKw>Fq$teFa{=Puj#;@D%hN1DdUAzmjqmnw%1s(v&i_)swDdSL@XH7E};L{@~*t`A>@53fT!o`=Q zFQ;Ylubnwf9z44+jpeG9#mUL9!RiLl0PUxMzD8C9>0wo{~_SdTbfMlLvuN zZEtEK)ocML|JE%@Oys34fXKC;moC*tjI&3%sD7>YAw|zaZ_X_ z0gBkfom3h8wxUi_4Pk~dqhs=gxftf=S-*5hhU_S+np6PgcE)+n3_FMtPO}QJPR?Gn zK$S99>*ku!cG~;vy3f(lg|iIR=U?=lN&XyiXY15!Y{60A(g?gHn~D9&7@OW4cxko~ z(&y66@*2h=%RTXoBYWpdZ%O>`lfKVH?%$p*D59*y;s}CMU^IpYtx731gR((xXl&G* zM5F1F7>A=IUO|N8gIFg`@2)h+Stpt6`ne~__unoP4ZS9}d&l~DV}4e64B9fv%j4KK z#x=&;IwVu<?=Q2=qTo1vG>M+>pwgp4nXo>FZ-2(T=kzYiNIglzG3Bd4hVm-Q-UT7=3$8e* zEBZE8Qa1*$rU%^9+!-5UhzU#di1AGo*TQxV3r5ZH3QKf%SF$5WiNi}u3Qco)ZkZC9 zm4ls=qMzUciPKIBXR;UV-L6!nGH?=wHk%7735+Et(nMVbaR4|( zFMQa$3A;35pEJxzLusfcf7yc_5I3jt7)U_D>5k1X?6NRQv(_pRCu4R1iJo$6-%5nn z>r8}4$=AN%GDU?X{>31`OluFSRk4QIiz7j?fmwxy=wXl&6VP-9_Gz@eG;zMhlLvFUQvAHq1ut1 z?)TAe;<{l*!pK_|^4@;LHJa4?vhmJpipK86*3nIZW;K;uVgP_47qUAJ z7alD@+^(7_d(dwxS8mylK&P98b-cT4oB(2dyNqg;l%XD1iYZ8)cyPUH6gop)qOHz1 zswJhy6_3c6|-pCPcvP;fEbn<;=tab*DLyv|33+c91^ zu}WE4fl0L7X}J^8B)yJ~bMLz0ZW0l5faUL0%36=#pzPxM-X*$7VUK&FvKs#%c!c8~ zXj3RJ((+CpDx3|V1=Cl*{2dy=x+^M6gUG}mN}pVs7iobFk`;!7`yL+SQx+M|+{ z9I{<0`3qaDn)+O5=d3ew>U7W?kE@JdjOB&kSC+maxs~w!U~3>*S6<)!J7zums3m{$ zwU6NR63uT7BaVdFrsJ0rEy>Hq6sJDt?r%uF{l852EC; W(c-*m6i^ucXxY=hjR} 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

bR~9^vbOTP3@41X)J6%&OBC~z42>H z@m$B-oaNRL?an}r0}V5taML@G9^H+u;2=3z87nMP=4*5#Wvbz0jONyVatODfzK2CC z4U&e>6e(5MP}iwbR`_9As8}fo3nZ;@*i=jV)6-g6iJkK&E9DM7jfv_U9!Oc_o*^sQ z)YJ-QC`vH@z!9R>mp*?>&v#Nf^p|BNn3)abk>Lz!4le6cz@_@I%mKrC`3S^}5xDkJ z2HW=!X_}v<%KGhdDw%>A;i{+e-xX8yasHLBe*Vgx7*O(>T8V=o#(5Z( zC$VoUBY94*j)?VA9i|YexZ)7@r*DXl!X_vVWmqT}w^b@N(t5P)hG^m|G2AlQR@Ar?$ zvIrg)liMfUJLlu8V>fy}=Un}DgM-pwT%~gBOZCU{^hyUUNt1S2e@|PHlOnIMQZ_2YN-{kdI zHfC*2staKu>}jv{ekhZ!y`yR0d-}Xi(AFi@NQuv*T5D^zlt5vBu)BXN^aQC`}={$>GtA|@BYml=tenu*`VP>4_kwQ}q^KTm$A)Di?zboINBBWy z{HPFFR{#bge<;CQI?8uHVP9Jl9_4uLIUzp`!tc^~eRICQIvEG?2Hqw4w&tiS1hM@r z@(j(7V*6o&pth;L*s+KN@8<(_ zTk|{>_l5FkT3hzfjub;Kk_%_!#8Eji$HX9+k#+2j_=040E`W>vQafQu0Y3Yl{3YO3 z$R2$yM8b~!O@^?D>zWG=fO(5&o}^AQ&^H_3_OmyM?%KAVh_2Jv`ATU+aCjdq%RaV+ zZ?!BwqsV`GkIzi1=WQArhbv%ow41YYHG!Ip*mAZ=4OGmHXN374VTey)f$M(2Xlh0; zf)6jsDeTUrQG55`hBA*_`t+3(sV1MxY9QkRn_LZMK4s8a)Jn zw=rbGk&y6pt4A;9<{^GSfT?GE3B!uXp(I63RiZpEeO`c%oWdg|J9oCr0V{!k)0mp( z`{&fX%V?n3V>#Y9Y+d>N7Ea?=8AR+Zl$+7Wk3%IZk@IuG5C1zZ#`gaRsveq|mqB_R zUerCQcK-*)(I8IR`N4~DAsY&D$Pi?DHp!*yxIsokn)wZ=%o46DKq2}m{M8PViqh4g zG8Jg<<-T2%iNhO~=JhXX>nddyZ|2>>M&eL1G94;!DsvK33iH6w%&ctsa4IK5F|@n$ zy*T>EzT}qA2-7UFISq}W#rdToEff$)p#XvdqFfeGNsT4<8EhIG*F->QBb{SSljNoftr4T`@6ef1}o@67=I(0+~XZ9nCYW zz7JLrK zvN&p*oaaJHHmaOyGC)eQ#H*n93o)acJ8z!|Y3;0H1i>U5yIm`Xm0K5JmSS9V91lj_LR&9xC9U|&H#%k3flqD z0rG*r0F~4$%))M<(t;a+L9eNDZ6!r%tSc5KGdtS$K z<$=Me{Ic58=vnyoRwcVVQ|N}R`!1$Lwx5Uh3^rOS=ha$6X9aBF$h6;v@7vt35JR-K zg0+@BWRF7&yz5509?4DRgbibp42!ejkKx_+rYj`m)Sr}YB;#4u8U zPqa*udZ{JgO_kFoJ6}XW?*U|5%D}?WP%0Ks5r))D8$chgl0-#&TSumbUUp7?XF64JRT%b5;|HIga^S|k} z?&(*Ifv@X-_)Tg7SP6(MmSHc1@AK3jdrETZ-a|)mLM02SCewf$vD(PA-BS;Fp*9ey z>@urM3b&^Q$f2_1#<3`361k%s945g=Rmvs0mClWJrz)91hY|usnpMEq^e5+I^cF?y zo@7sED1a^IdoKmSZcL4zjENdv8W@oe9$c6h@ayFc7~ujh{!Et2Jg_)CpyCU*!cSZs z10F-_qf+9^oW)gMIT@&aemg~`XgBz9QzOFCI;>q(q2fZvAN|)#X@GF??A||P0&=c> z#UcoWCWVa}Fu=7>4^oMltkojoU?{Eqn*c^rnm<~=3{gFqjuht00e)~Ux-VbfMFLCyQ5~sBlxFbpl9V+pBQm9# zL?KtqT1@v54`~g)K1OJo9Q~ODajjKKVg(pUVT`?x?2$qB`%@t4)j?v?XBmJn(kCNII$Ud?FC_VE#?+ruGu8n$5;`~r72oeQhv z<3&DVNobue;(GVFkG5oWDMsJLuJ+=|Lfc0Q+dA~Zlx-i-3y9G<8K*nh6C-InB$rsm zZqo3L)e0%}GA@c(5lxXAUB#*SF4;@segPvvsMTnu;y%euWvse1lbFuQJCHP_F9kP;Ii?l$*B=3a5;z(x`jJ;-sYHG`#o)|0qUPWNDjlA%^Rjz;9Q$fJXq*!FB4+CZ1?NBAcCa04P0i!zX+2&B;io}n_32YTtP z#dm9UUNH^#-Kl*{_yil*owG9tWJ_$4>)^H#)9EF=|K&lYYr>28T^Pe>sEIrxI+O*? zwAdAm`AC8q`>sB+W=qjaKChWHSpn)F7>^Jex2A0I5E~8`2|eHzBA`D_dgJ%WiSl>c zWsfR|>?>J3rxJwS?LDI@GsxjCN|XdY!m3a!MpzyRx{G2QxgI`GeV%0#0!&e^)v<7e z;LyLG2;#I1?nRd?^T=NAkQpODi*#svL5-gjpwx2`hVCOk&o2Wx)^8s&_}`}S(&0u$ z=L3j^5bksm*GbD=48gM4ZDJES6?8Pl!av}+Q?-sHL|GX)E)UclF`qHFxa5$-?jxuwo^B1(Adv zoR%-7I(`t52D&}o|2dffU|76F%YWq8U9SkcYrpf?>a#2Y@M+H3Czj=aqq1+S+zSw% z!rfId4zN*iLDm6FSKlb;cmNU^#gxydmIaEpNL!`|#vF@YA^WQ)MWp|-;n69M^7{dz zJc5>ts|^Uy;d0V{o$c-b9{|9&VSWJQ=6p)CVL;~NtosS-fBKJWvTtf!^xA})4;`MB6 zbW*v1fB*0d=cMR-&OOKt+>FS%NjVilKn1~a2{4z_W50d+{WIBYqUfnZzu>$WGuViP zOdgIv48=&Rgpc!FT$jT{qETSyEAQ)uK<_UPBJ_UZs7B6=euD zNB{1Pe?=U-RCJ?YCL;1Eipam>xos!q(Y)8{d7gE^hcrY9=vmV|UWYi?qL3W#hItQ| zRC3D=1wt%#pB8P>Aww4sZ3zhyuN`yke)+{Yrn}e=$AS0>h=!9XG-@^_HJmIeJk1Te zE1rb9j~GkYBocCE&~#f21rBr?;PcY_KzqVMm7og9;wN7))^-#14sd^t&W`WlU@tzj zC`Wn`D&V}L3N|R!K$2^hW&&A?P$R_fumlL_s-%;!;>rlu>v2|rLBsbTef^L` zZ?Nf(HEn=UICCyTYvBo`+35VV6y@iEDT1>~LW0?Hl85R{bS}_Uc^+EBjnqVktI3n? zR!%nnH3{IEQsVjPM;g2p&IwMw;!@}GI(VnJqv^T|*xRq0Da>jWXL;IJT^;tRX<8Gv z8n&w(a#lJUJnn%$(OOrsT=M=62L5#iAcx~+<-YKJXA%^>9nCZlZDat*12n)7i1g|} zaO>d$rdloN)Qj?ratQ9Q;S0qv?A*cVwY$+K2vi^sB%#CoX;prd)>YwbmacXRO%dbW zCAYUknHU0f|+}5;+3jxXE&vll_HtF%JxmoqCf7J?^wdk84!K(ujhy$dBe+kkO{_Bs<&8QMe zH|~SCZ>ip4(bw^%wHIz%p|D5YfZ;I(c!7u^wkYnJDaIA>i6*%QoN06@k4j#|4I17j zZjTB2#VcIW)i?acwQW9;OAPgwj@jndaB@hIYoAe&>K&qh30|#!qTc6t1=p&N3!JQ} zDHJ`Y2noYM#K#A`7e=!aH-G+ae6s}tjuj%*%9NGsZ7T9ZID>?Apf5;(e<7l2mtkMz z>26u>eKpdg>P=eNNw`0uNW2@IL|gYI;I{#KNI{p}Y}z{clez`T3#AwZTE2wu!ILA; z|2UCG5^EBO&v({1dxhm&Clk3(s`_a7fa>dwzBdxq3jFW|3@|Sc-1~kHaO0*-6C1{0 zRd`hh#2wfygzZ8k#8o+%48a0*R7b-a<8oTn0PPNI*lumKw4AWVmjE{E4z~%rOQ&au zN!!iWYJ!Sm87`>|j_kbrWYm^!;FJy0KDJ4|pR#q7*`!r8Cg1UK+&dU7CoFC}4rr{0 zvhU`P<>BCXZ57UL)l@NKm`{yx4r+SY5CI{^}B8Qr*Ix)L|znKuyIbvRspE7n%2#Ec;kv;I;>i2=FBHRog}B27rR7 zHE$N?^)4&r;*KJrRkTwuu2`*awxgW^7D07cCN=*-kq{>^>(y}+=@?V1u0JG7yhb1` zz|NH-=k=K&BdkeXok}IJ>cK2hee=5Gf$&2$P7$PCjKN&9BBC}@?Wk~)HhTW7oX$)4 ztg8?;&Q^KQR)jl!qliw2LSkHlcZ8s8OcW0^cSOsBSm>IESEz}kI<$qC9McUkyhtTl z;~~a59bW|L3Y`EWA0ET^v2lK~K4XsxK(vap^eL#8khvkny!40=lu$r0I9dQmsvRShp*^TA(wcM%$xTV67T?Gzuu7w+1rizaY{*6`~MH2jN5)S(k z0W5yI47yS~&jZXn+9vOLLD}UJ+woG|zRAepO6=|!@?8-$3)88tCPZNnIWBniYQx=%Bmz4rKREP`rN+n+wHpkgxB+j*Zux@ zJnmz`ZDnBbVvUhdzsH#``*_mu!do5?^7*flzHyha4;D3i20?`Q*OtzE^*`b3(Upx9 z$GrI+E0jqi^_nHc14UI9BQF3dR-c}Ov z-i_WE=Z%o!Q7mr1@+|oZ*G1K{CCemYJG>u^gGIb$SozgXb7#gLAud$WEJeC@7p+v6 zdfyy+cQlqQ#zevGXuYsZ^Y=VGgUdrj;T=` zP}+(UXOl))^E}2jXlHKw#l^=ld$FJ(WI~7|3)DTB$rTAzJ?F;md|fs=p{m+40264N z%K=Rj!!s6gIh!)OMj=>YqZFxk2i2J=?2Zi?YS^$Kc|4OK;|-4JzJAypkI12=W$k1v zZA?^$t9h*zja)2snejOH=H0W8pSbWV*>&rD3cU~6b2eViZDTJMY2<%@SE-S3uoLW) zDES(S0Kk;@g>l)pu=oOcR}kJ#zz1=xwYzIg<%&zX9INIOx8r)664ty2;aJ|Bw4 zA6uE!&uHNLI@EN!;}ZaOs0eahS75G2_xztN)-F)5$%SsXWDwkZvg`;B4W+Kf&o>yq zp9l+MgPbz3I%U@o{td9}h)n2FxogUNk_m}%5Bf!-**ALpUd<5gif=$L;>gmWO1C_? zZ+tWM@3MhN)?*9AdYx$=@eM7y1u=~FnlqjeXQoW%rEYu1RLWMgNpNQvu#;*hVAMPVxdg>OkKW5tr28Q5%#m=Y6Mv^Clh20z&8L+@4-HO>0d?@? zgYUYWjA07n`DVHj9x|pXUP70y1Nthh`6B~*7)}i4dwn?$e+l;^z)nJdR zOgjf|7Xhf`p;iLb|3vpKej3GfbdG9&rlI-t&0cBYt7Y6Js{w6i2*j5AU>44XyTjqp zS5y3#EXZ9fO+i5uopM1B>zAzkZ?i5ul*Cn4u~9bVQj`CPPPTK7Ry+zZX9ey7YkQ$d zq@Lj#i?Bem8A;_K6}hMG2j{i~%S>qG#1QnlcX8vV?+J5%MifScjg>my-aa!cReABw z7qLTDoL4(GqAFNzZy|Jmn>OMtzu%XMF>3mfU*&+OS~%E>gsx<2ee7olxVZ9VgF)mi zQMOf)x#75xAx)IO(M%nlLW0t-`7G-d(e+9`>~P|OR}+5 z?>>b0H7ECT9if65zc;vi4u9GE>-|O6*nd}fUU!t#Tzd7M@3!(kZXyG0|5RS%cac!; zmLNAn;MZV(55$2Lxg-_mt^HM{!4Ldwe^ zN$*O`tk1vX8gO_XI5&Nhdr-u{JlmNpHtfpT5t)N3c%YN)!V3@N>}fS-)#<~6M~X_g z8F8Sfk8LFFPq=Zjyv%U(J1?%}P0BOvOOz%579sde8V8us~A7OyK!Y0?CZp4QzPkE*N>H9j`#`}MoG_N;32}dCdANlXpl$^L=nwFT(S59CLrl>XT<; zOkKxV#38H#!Q2XSwGbM|n5dYU!2vVZ`FcU);0qpPZaKrAFp-qN;17<_m}{^fPslMz zQyEStw4xW|+38qI9)I=a76~~4=Jdb9C>=@v8A4)8o=SmRlAuDgT-ZMGHG>^^^pyT? zqIG#TcgcWw3}Ea7?l++Qg)9I4_4qmynwRJdpcUWJ5~jK~ZjL8|Z{-HTP^655W##(< z{}5m-)*T^V!ryzD=)p5i{)SBr06uYLTzIjzQ6Fl!AHbh|MV^6?Ei5Be@>GYXg{@oPiS)+Y^cC}6ZH&NU-DDbZ0<6+CAbJ1Tv!yN0wsoz2* z*nf7t{wF31>6#plZSA@5e6X?frE2r zf+u_j1hW6H4NmOk?pKfgf4pOv(RG zMD+O)I9Zl1=Q zeeZw27oY|Mr^YvuYff5uGM&chUEWWnSkBtz=6hsU>o~$N0`|=TbG`Bm$7m#yEW)eh zDvnAehDv0qcyqZie_?F`sU<^2m67-_apVM$veWav7KpS5Uxl5fWVZzVCYa?OG0MUT z1mn5^wr2IZ)SQ#(99!p{pj&!Tr?ORa6Ucs%cwdqAiMJpfnk&?+j#OopPOZzu8{pis z8QOaM*pI0anJkc2ZcbS9erP#_|xJ*j5OgqZG zc7jgFu?eXnR86nk7gRD)4@<#xWyC2be`e@8QjbGegnb8GmB`1&pJYYS5rcG%YKAqo zYi8kTq*^EP-o5=Kt7aWVJhP=ekqicjP);$7uKXZ@+p@l_31j<8v>abx$y9jg`;+(} z3^}qkt-UmI_NF{B2uM6_5t*T<__#NTP5c0?mnx>XV+j)imqK82%S4x4xjC1K3?~C3 z8r}5q+D6igM0+~WqOIb1nW3a~3?Ww7m|kJMH!jK=U_e}fN;K|R>+=51*GRu^Ox#4O zRe3iit(rMc6kY%1wowfbR=r~_;qMX(ES*@r5ZtYAZR`uv-vYHSTL51hQH8QAU{=l6 zN{NDc!_n%wNLm||G1;L4TJA}E35mR&tWoG3LQXtZDp2Lv2HwvYU{Wy!8b&2 z`~_Qoj!al~7R4{v_zD6M{2yfcZLm^guw?Em1<~xJUEj$`Z6tMd4$8I(`szM(Vd_3; zv#DmGv@D#t3CGKJiKjHa&t;yL5qvYz~;sGsWiL-6#6y}NgvhvKKxxk1FbPlo%Q=nM;=(#xL7&lVR{ z-w{druTjPRymuTtd#=i+R}{_9D^h|{ju7)ckE@Ic;z=q9yY|Jv=RXcj#aY6CsGPr6 z2~(3iuZXtg)>jM8Hal7u_Tc9&v0EdfUp+i-%^TcX(~4x36w^933_R;0%;AWbPkuBW z1Q&gDL-qmItt$R?p}Cp8;+S%p#fSNi3ccdj*`;cCUGFdt>x|USmVM+|I4xyEVao5s z`+um7!r#(18Qs>JF{#dxYkFe(eX5wM_Va?HP518$D$hBr-|AWZWB{zn)!|Hpr_8p% z-eY2)x%f`(MenK2LWA96M#!gI(26k>$Yo!JAGZ}>lh5YM*DQTxm1W4tO)csBL2BxG zVA(VV9C=lKvL2g<7>H4Pt=!3v36XooewF^0pZ+t#IxIpU4{z?{(@yO`7o)n6slNI}N)lMPT zp!#p~r?#3QtFt}K` z@})?kb(2G$NOgiA6!Wr*el*d>Fku%;M72HTZeye^Rli2hhOr6QHBBSB{PK;b-+t-4 z8_#k;@wvI(pnM6d`o?@+tJKw2zOv{pcL>^U8wx7uo1bMDtBtYLVNI! zn+Z6Y*RA>X%@h%^T8e>ba>V=N_`ffZwtaNn^EMkuVtcdB%!V0U%|JVT8>@GFU#^BV zv_|+FRKT&+;vLKx_%;kSacgB%n|_CY5BQv}@`;DxzJYX~STp2BFQV7UEnH;Zo2t%n zD{Gq&qYk7^`7WfzhSqk|pt%i8SrFXA!VC(@=1p&)U2^lyCq_gI`$W-Rn_d-F4H~F* z*QS1yqlIr>b9C{@c0_la;3~Sj|4A57@nohZJoiKGsK&_}ag-CN(kPLOAhjJiU!CC$ zkh1skovKlsMKb^A1u$&R+$I-Iuq{E0$`RP;r(XuD2<}UbT42Fuc6x* zK%XkBO=y_*?Cd(Oq=7|v)BK2T{kSfWV^bGs*Y`Vz-tAo}S97+Rc(yae1~z`PesP=G z5jFA-V^hS7;ASC!E#Pcx;lLDX(!m>OsKc3>h`E1uh?6^M_NwS5 zI~8W8UP`=s$Lr}Q`K|&_#*$J~IU9{R&1e+!{jjMk_kbudU<)=D-od@oT`mP?JdKQ| zCoIbcjj}evH9~u@FnsuGj>@}KiPL_3n! zj#8PY|LD#ui*GIdd+8!{LPCK5B_aG$g_hF)=l;6m^flyZJpPN7@b>>BA(3Dl=<}Qjs%N8{a(1lj

} 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

}MTxE=HE77(sxWVUiTiYb3|Avo4({*Ryk{6d32 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 literal 0 HcmV?d00001 diff --git a/Amen/Content/Images/fb-share-logo-small.png b/Amen/Content/Images/fb-share-logo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..b10e39cde7f92889aec5db7be933529630cd8b90 GIT binary patch literal 18244 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

    9+K{jJJj^pE|$&wiYvyp=x6i(^1ZN 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%0A-Se{~nLt*qg+V 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 literal 0 HcmV?d00001 diff --git a/Amen/Content/PagedList.css b/Amen/Content/PagedList.css new file mode 100644 index 0000000..d9b9f5d --- /dev/null +++ b/Amen/Content/PagedList.css @@ -0,0 +1,166 @@ +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} + +.pagination > li { + display: inline; +} + +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.428571429; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} + +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + background-color: #eeeeee; +} + +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} + +.pagination > .disabled > span, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; + border-color: #dddddd; +} + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} + +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 15px; +} + +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; +} \ No newline at end of file diff --git a/Amen/Content/Site.css b/Amen/Content/Site.css new file mode 100644 index 0000000..5adc532 --- /dev/null +++ b/Amen/Content/Site.css @@ -0,0 +1,581 @@ +/* +$SiteLightColor: #FDEFEF; +$SiteMediumColor: rgba(172, 25, 25, 0.5); +$SiteDarkColor: #741111; +$SiteForeground: #ffffff; +$SiteForegroundHover: #F9D4D4; +$SiteBorder: #F7CACA; +$SiteButtonHilight: #F9D9D9; + +*/ +body { + padding-top: 0px; + padding-bottom: 20px; + font-family: "Source Sans Pro", sans-serif; + font-size: 15px; } + +.container { + padding-right: 0px; + padding-left: 0px; + margin-right: auto; + margin-left: auto; } + +h2 { + color: #1a346b; + font-weight: 200; } + +a { + color: #1a346b; + text-decoration: none; } + +/* Set padding to keep content from hitting the edges */ +.body-content { + padding-left: 15px; + padding-right: 15px; } + +.btn.btn-default.prayer-item-edit-submit { + background: #dcecf7; + padding-left: 40px; + padding-right: 40px; + margin-top: 20px; + float: left; } + +.btn.btn-default.prayer-item-edit-cancel { + padding-left: 40px; + padding-right: 40px; + margin-top: 20px; + float: left; } + +/* Override the default bootstrap behavior where horizontal description lists + will truncate terms that are too long to fit in the left column +*/ +.dl-horizontal dt { + white-space: normal; } + +/* Set width on the form input elements since they're 100% wide by default */ +html, body { + height: 100%; } + +#wrap { + min-height: 100%; + padding-left: 15px; + padding-right: 15px; } + +#main { + overflow: auto; + padding-bottom: 40px; + /* this needs to be bigger than footer height*/ + max-width: 940px; + padding-top: 91px; } + +.prayer-item-popup-container { + max-width: 940px; + margin-left: auto; + margin-right: auto; } + +@media (min-width: 1095px) { + #main { + padding-top: 0px; } } + +.prayer-instructions { + margin-bottom: 20px; + margin-top: 0px; + padding: 10px; } + +.prayer-item-edit-instructions { + margin-bottom: 10px; + margin-top: 20px; + padding: 10px; } + +.footer { + position: relative; + margin-top: -40px; + /* negative value of footer height */ + height: 40px; + clear: both; + padding-top: 30px; + text-align: center; } + +.enable-animation { + -webkit-transition: .3s ease-in-out; + -moz-transition: .3s ease-in-out; + -o-transition: .3s ease-in-out; + -ms-transition: .3s ease-in-out; + transition: .3s ease-in-out; } + +.transparent { + opacity: 0; + pointer-events: none; } + +.page-top { + position: fixed; + bottom: 20px; + right: 15px; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + background-color: rgba(91, 131, 165, 0.7); + color: #fff !important; + text-decoration: none !important; + opacity: 0.0; + z-index: 1000; + pointer-events: none; } + +.full-page-shim { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.5); + z-index: 1000; } + +.page-top.page-top-visible { + opacity: 1.0; + pointer-events: all; } + +.page-top.page-top-faded { + opacity: 0.5; } + +.page-top.page-top-faded:hover { + opacity: 1.0; } + +.prayer-item { + position: relative; + width: 100%; + min-height: 80px; + border: 1px solid #d8e2e9; + padding: 15px; + padding-top: 8px; + margin-bottom: 20px; + margin-top: 10px; + box-shadow: 0px 4px 4px #F3F6F9; + background: white; } + +.prayer-item-prayed div { + display: inline-block; + margin: 0; } + +.prayer-item-sort { + display: inline-block; + margin-top: 10px; + float: right; } + + +.prayer-item-name-location{ + padding-right: 5px; + display: inline-block; + color: #1a346b; } + +@media (max-width: 480px) { + +.prayer-item-name-location{ + display: block; } + + .prayer-item-sort { + display: none; } } + +.prayer-item-sort .selected { + text-decoration: none !important; + color: #1a346b; + font-weight: bold; } + +.prayer-item-new-actions { + display: inline-block; + float: left; + margin-bottom: 5px; } + +.prayer-item-new-add { + background: #d8e2e9; } + +.prayer-item-actions { + display: inline; +} + +.prayer-item-content { + margin-bottom: 20px; + margin-top: 5px; } + +.prayer-item-summary { + font-size: 18px; + margin-top: 10px; + font-weight: bold; + color: #1a346b; } + +.prayer-item-submitted { + display: inline-block; + color: rgba(91, 131, 165, 0.7); } + +.prayer-item-prayed { + float: left; + margin-right: 2px; } + +.prayer-item-prayed .btn.btn-default { + padding-left: 35px; + padding-right: 35px; } + +.prayer-item-prayed .btn { + padding-left: 15px; + padding-right: 15px; } + +.prayer-item-prayed-count { + font-weight: bold; + font-size: 16px; + margin-right: 1px; } + +.prayer-item-flag, .prayer-item-edit, .prayer-item-sendnote { + position: absolute; + top: 70px; + left: 0px; + width: 100%; + height: 100%; + padding: 20px; + background-color: #fff; + z-index: 1001; } + +.prayer-item-edit input[type=text], +.prayer-item-edit textarea, +.prayer-item-flag input[type=text], +.prayer-item-flag textarea, +.prayer-item-sendnote input[type=text], +.prayer-item-sendnote textarea, +.prayer-item-edit select { + width: 100%; + min-width: 100%; + margin-bottom: 20px; } + +.prayer-item-edit-cancel, +.prayer-item-edit-submit, +.prayer-item-flag-cancel, +.prayer-item-flag-submit, +.prayer-item-sendnote-cancel, +.prayer-item-sendnote-submit { + float: right; + margin-left: 5px; } + +.prayer-item-edit .checkbox { + font-size: 13px; } + +.prayer-item-prayer-stats { + color: rgba(91, 131, 165, 0.7); + float: right; + margin: 10px; + top: 0px; + right: 10px; + position: absolute; } + + .prayer-item-logo{ + position: absolute; + bottom: 15px; + right: 10px; + } + +.navbar-inverse { + background-color: #ffffff; + border-color: #d8e2e9; + font-family: 'Open Sans', sans-serif; } + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #1a346b; } + +.navbar-inverse .navbar-brand { + color: #1a346b; + font-size: 22px; + margin-right: 30px; + padding-left: 25px; + padding-right: 25px; } + +.navbar-inverse .navbar-toggle { + border-color: #d8e2e9; } + +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 18px; + margin-bottom: 8px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0px; + margin-right: 30px; } + +.navbar { + max-width: 940px; + margin-right: auto !important; + margin-left: auto !important; + width: 100%; } + +.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { + border-color: rgba(91, 131, 165, 0.7); } + +.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { + background-color: #F3F6F9; } + +.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { + color: #1a346b; + background-color: #d8e2e9; } + +.navbar-inverse .navbar-nav > li > a { + font-size: 18px; + color: #1a346b; } + +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + margin-bottom: 10px; + margin-top: 15px; + margin-right: 10px; } + +@media (min-width: 768px) { + .navbar-nav > li > a.selected, + .navbar-nav > li > a:active { + border-bottom: 2px solid #1a346b; + margin-right: 10px; } + .navbar-nav { + margin-left: 40px; } + .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color: #1a346b; + background-color: #F3F6F9; + border-bottom: 2px solid rgba(91, 131, 165, 0.7); } } + +.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color: #1a346b; + background-color: #F3F6F9; } + +.container > .navbar-header, .container > .navbar-collapse { + margin-left: 0px; } + +.affiliate-logo-link { + float: right; } + +.affiliate-logo { + height: 50px; + margin: 10px; } + +.btn { + display: inline-block; + margin-bottom: 0; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border-radius: 0px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + font-family: "Source Sans Pro", sans-serif; + border: none; + color: #1a346b; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 15px; + border: 1px solid #d8e2e9; + background: #F3F6F9; } + +.btn:hover { + border: 1px solid rgba(91, 131, 165, 0.7); + background: white; } + +.fa { + color: #1a346b; } + +.lefticon { + margin-right: 10px; } + +.actions-collapse { + top: 0px; + left: 0px; + width: 100%; + z-index: 1000; + margin-bottom: 35px; + clear: both; } + +.actions-expaned-btn { + margin-bottom: 0; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border-radius: 0px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + font-family: "Source Sans Pro", sans-serif; + border: none; + color: #1a346b; + text-align: left; + text-decoration: none; + display: block; + font-size: 15px; + border: 1px solid #d8e2e9; + background: #F3F6F9; + padding-left: 20px; + padding-top: 10px; + padding-bottom: 10px; } + +.actions-toggle-btn { + background: transparent; + border: 1px solid transparent; } + +.back-nav-link { + font-size: 16px; } + +.backnav { + margin-right: 6px; } + +.prayer-item-submitted.detail { + margin-top: 20px; } + +.form-horizontal .form-group, .row { + margin-left: 0 !important; + margin-right: 0 !important; } + +.form-control { + border-radius: 4px; } + +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; + color: #1a346b; } + +.copyright { + color: rgba(91, 131, 165, 0.7); } + +@media (min-width: 768px) { + .container { + max-width: none; } } + +@media (min-width: 992px) { + .container { + max-width: none; } } + +.affiliate-select { + list-style-type: none; + margin: 0px; + padding: 0px; } + +.affiliate-select li { + margin: 5px; } + +.affiliate-select li a { + width: 100%; + clear: both; + float: left; + border: 1px solid #d8e2e9; } + +.affiliate-select li a:hover { + background: #F3F6F9; + border: 1px solid #1a346b; + text-decoration: none; } + +.select-header { + color: #1a346b; } + +.moretoggle::after { + content: "more"; + margin-left: 6px; + margin-right: 6px; + font-family: "Source Sans Pro", sans-serif; } + +.lesstoggle::after { + content: "less"; + margin-left: 6px; + margin-right: 6px; + font-family: "Source Sans Pro", sans-serif; } + +.moretoggle::before { + content: "\f107"; + margin-left: 6px; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +.lesstoggle::before { + content: "\f106"; + margin-left: 6px; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +@media all and (orientation: landscape) { + .navbar-fixed-top, .navbar-fixed-bottom { + position: relative; } + #main { + padding-top: 0px; } } + +.full-page-shim { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: white; + z-index: 1000; } + +.radio label, .checkbox label { + display: inline; + margin-bottom: 5px; + font-weight: normal; + cursor: pointer; } + +.fixedContainer { + position: fixed; } + +.relativeContainer { + position: relative; } + +.dl-horizontal dt, .dl-horizontal dd { + text-align: left; + margin-bottom: 20px; + border-top: 1px solid rgba(91, 131, 165, 0.3); + padding: 10px; } + +.dl-horizontal dd { + background: #F3F6F9; + box-shadow: inset 0px 0px 5px rgba(91, 131, 165, 0.3); + color: rgba(91, 131, 165, 0.7); } + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: left; } } + +.form-control { + border-radius: 0px; + margin-top: 10px; } + +.form-group { + margin-bottom: 25px; + border-top: 1px solid #e4e4e4; } + +.text-right { + text-align: right; + margin-bottom: 20px; + margin-top: 15px; } + +.in-iframe #main { + padding-top: 0px; } + +.in-iframe .navbar { + display: none; } + +.poweredbycontainer { + width: 100%; + text-align: center; } + +.poweredby { + margin-top: 40px; + margin-right: auto; + margin-left: auto; } diff --git a/Amen/Content/Site.scss b/Amen/Content/Site.scss new file mode 100644 index 0000000..42335fd --- /dev/null +++ b/Amen/Content/Site.scss @@ -0,0 +1,724 @@ +$LargeScreenSiteWidth: 940px; +$SiteFontFamily: 'Source Sans Pro', sans-serif; + + +$SiteLightColor: #F3F6F9; +$SiteMediumShadowColor: rgba(91, 131, 165, 0.3); +$SiteMediumColor: rgba(91, 131, 165, 0.7); +$SiteDarkColor: #1a346b; +$SiteForeground: #ffffff; +$SiteForegroundHover: #DCEDF1; +$SiteBorder: #d8e2e9; +$SiteButtonHilight: #dcecf7; + +/* +$SiteLightColor: #FDEFEF; +$SiteMediumColor: rgba(172, 25, 25, 0.5); +$SiteDarkColor: #741111; +$SiteForeground: #ffffff; +$SiteForegroundHover: #F9D4D4; +$SiteBorder: #F7CACA; +$SiteButtonHilight: #F9D9D9; + +*/ + + +body { + padding-top: 0px; + padding-bottom: 20px; + font-family: $SiteFontFamily; + font-size:15px; +} +.container { + padding-right: 0px; + padding-left: 0px; + margin-right: auto; + margin-left: auto; + +} + +h2 { + color: $SiteDarkColor; + font-weight: 200; +} + +a { + color: $SiteDarkColor; + text-decoration: none; +} + + +/* Set padding to keep content from hitting the edges */ +.body-content { + padding-left: 15px; + padding-right: 15px; +} + +.btn.btn-default.prayer-item-edit-submit +{ + background: $SiteButtonHilight; + padding-left:40px; + padding-right:40px; + margin-top:20px; + float:left; +} +.btn.btn-default.prayer-item-edit-cancel +{ + padding-left:40px; + padding-right:40px; + margin-top:20px; + float:left; +} + +/* Override the default bootstrap behavior where horizontal description lists + will truncate terms that are too long to fit in the left column +*/ +.dl-horizontal dt { + white-space: normal; +} + +/* Set width on the form input elements since they're 100% wide by default */ +input, +select, +textarea { + +} + +html, body { + height: 100%; +} + +#wrap { + min-height: 100%; + padding-left: 15px; + padding-right: 15px; + +} + +#main { + overflow: auto; + padding-bottom: 40px; /* this needs to be bigger than footer height*/ + max-width: $LargeScreenSiteWidth; + padding-top: 91px; +} +.prayer-item-popup-container { + max-width: $LargeScreenSiteWidth; + margin-left:auto; + margin-right:auto; +} + +@media (min-width: 1095px){ +#main { + padding-top: 0px; +} + +} + +.prayer-instructions { + margin-bottom: 20px; + margin-top: 0px; + padding: 10px; + +} + +.prayer-item-edit-instructions { + margin-bottom: 10px; + margin-top: 20px; + padding: 10px; + +} + +.footer { + position: relative; + margin-top: -40px; /* negative value of footer height */ + height: 40px; + clear: both; + padding-top: 30px; + text-align: center; +} + +.enable-animation { + -webkit-transition: .3s ease-in-out; + -moz-transition: .3s ease-in-out; + -o-transition: .3s ease-in-out; + -ms-transition: .3s ease-in-out; + transition: .3s ease-in-out; +} + +.transparent{ + opacity: 0; + pointer-events: none; +} + +.page-top { + position: fixed; + bottom: 20px; + right: 15px; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + background-color: $SiteMediumColor; + color: #fff !important; + text-decoration: none !important; + opacity: 0.0; + z-index: 1000; + pointer-events: none; +} +.full-page-shim{ + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0,0,0,0.5); + z-index: 1000; +} + + .page-top.page-top-visible { + opacity: 1.0; + pointer-events: all; + } + + .page-top.page-top-faded { + opacity: 0.5; + } + + .page-top.page-top-faded:hover { + opacity: 1.0; + } + +.prayer-item { + position: relative; + width: 100%; + min-height: 80px; + border: 1px solid $SiteBorder; + padding: 15px; + padding-top:8px; + margin-bottom: 20px; + margin-top: 10px; + box-shadow: 0px 4px 4px $SiteLightColor; + background: white; +} + +.prayer-item-prayed div { + display: inline-block; + margin: 0; +} + +.prayer-item-sort{ + display: inline-block; + margin-top: 10px; + float:right; +} + +.prayer-item-name-location{ + padding-right: 5px; + display: inline-block; + color: $SiteDarkColor; +} + +@media (max-width: 480px) { + .prayer-item-name-location{ + display: block; + } + + .prayer-item-sort { + display: none; + } +} + +.prayer-item-sort .selected { + text-decoration: none !important; + color: $SiteDarkColor; + font-weight: bold; +} + +.prayer-item-new-actions{ + display: inline-block; + float: left; + margin-bottom: 5px; +} + +.prayer-item-new-add{ + background: $SiteBorder; +} + +.prayer-item-actions { + display:inline; +} + +.prayer-item-content { + margin-bottom:20px; + margin-top:5px; +} + +.prayer-item-summary { + font-size: 18px; + margin-top:10px; + font-weight: bold; + color: $SiteDarkColor; +} + +.prayer-item-submitted { + + display: inline-block; + color: $SiteMediumColor; + +} + +.prayer-item-prayed { + float:left; + margin-right:2px; +} + +.prayer-item-prayed .btn.btn-default { + padding-left:35px; + padding-right:35px; +} +.prayer-item-prayed .btn{ + padding-left:15px; + padding-right:15px; +} +.prayer-item-prayed-count{ +font-weight: bold; +font-size: 16px; + margin-right: 1px; + +} + + +.prayer-item-flag, .prayer-item-edit, .prayer-item-sendnote { + position: absolute; + top: 70px; + left: 0px; + width: 100%; + height: 100%; + padding: 20px; + background-color: #fff; + z-index: 1001; +} + + .prayer-item-edit input[type=text], + .prayer-item-edit textarea, + .prayer-item-flag input[type=text], + .prayer-item-flag textarea, + .prayer-item-sendnote input[type=text], + .prayer-item-sendnote textarea, + .prayer-item-edit select + { + width: 100%; + min-width: 100%; + margin-bottom: 20px; + } + + .prayer-item-edit-cancel, + .prayer-item-edit-submit, + + .prayer-item-flag-cancel, + .prayer-item-flag-submit, + + .prayer-item-sendnote-cancel, + .prayer-item-sendnote-submit{ + float: right; + margin-left: 5px; + } + + + .prayer-item-edit .checkbox{ + font-size: 13px; + } + + .prayer-item-prayer-stats{ + color:$SiteMediumColor; + float: right; + margin: 10px; + top: 0px; + right: 10px; + position: absolute; +} + + .prayer-item-logo{ + position: absolute; + bottom: 15px; + right: 10px; + } + + .navbar-inverse { + background-color: $SiteForeground; + border-color: $SiteBorder; + font-family: 'Open Sans', sans-serif; +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: $SiteDarkColor; +} + +.navbar-inverse .navbar-brand { + color:$SiteDarkColor; + font-size:22px; + margin-right:30px; + padding-left:25px; + padding-right: 25px; +} + +.navbar-inverse .navbar-toggle { + border-color: $SiteBorder; +} + +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 18px; + margin-bottom: 8px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0px; + margin-right:30px; +} + +.navbar { + max-width: $LargeScreenSiteWidth; + margin-right: auto !important; + margin-left: auto !important; + width: 100%; + +} + +.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { + border-color: $SiteMediumColor; +} + + +.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { + background-color: $SiteLightColor; +} + +.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { + color:$SiteDarkColor; + background-color: $SiteBorder; +} + +.navbar-inverse .navbar-nav > li > a { + font-size:18px; + color:$SiteDarkColor; +} + +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + margin-bottom:10px; + margin-top:15px; + margin-right: 10px; + +} +@media (min-width: 768px){ +.navbar-nav > li > a.selected, +.navbar-nav > li > a:active { + border-bottom: 2px solid $SiteDarkColor; + margin-right: 10px; +} + +.navbar-nav { + margin-left:40px; +} + + +.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color:$SiteDarkColor; + background-color: $SiteLightColor; + border-bottom: 2px solid $SiteMediumColor; +} +} +.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color:$SiteDarkColor; + background-color: $SiteLightColor; +} + +.container > .navbar-header, .container > .navbar-collapse { + margin-left: 0px; +} + + +.affiliate-logo-link{ + float:right; +} + +.affiliate-logo{ + height:50px; + margin:10px; +} + +.btn { + display: inline-block; + margin-bottom: 0; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border-radius: 0px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + font-family: $SiteFontFamily; + border: none; + color: $SiteDarkColor; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 15px; + border: 1px solid $SiteBorder; + background: $SiteLightColor; +} +.btn:hover { + border:1px solid $SiteMediumColor; + background: white; +} + +.fa { + color: $SiteDarkColor; +} + +.lefticon { + margin-right: 10px; +} + +.actions-collapse +{ + top: 0px; + left:0px; + width: 100%; + z-index: 1000; + margin-bottom: 35px; + clear:both; +} + +.actions-expaned-btn +{ + margin-bottom: 0; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border-radius: 0px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + font-family: $SiteFontFamily; + border: none; + color: $SiteDarkColor; + text-align: left; + text-decoration: none; + display: block; + font-size: 15px; + border: 1px solid $SiteBorder; + background: $SiteLightColor; + padding-left: 20px; + padding-top:10px; + padding-bottom:10px; +} +.actions-toggle-btn { + background: transparent; + border: 1px solid transparent; +} + +.back-nav-link +{ +font-size:16px; +} +.backnav +{ + margin-right:6px; +} + +.prayer-item-submitted.detail +{ + margin-top:20px; +} + +.form-horizontal .form-group, .row{ + margin-left: 0 !important; + margin-right: 0 !important; +} + +.form-control { + border-radius: 4px; +} + +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; + color: $SiteDarkColor; +} + +.copyright +{ + color:$SiteMediumColor; +} + + +@media (min-width: 768px){ +.container { + max-width: none; +} +} + +@media (min-width: 992px){ +.container { + max-width: none; +} + +} + .affiliate-select{ + list-style-type: none; + margin:0px; + padding:0px; + } + .affiliate-select li{ + margin: 5px; + } + .affiliate-select li a{ + width: 100%; + clear:both; + float:left; + border: 1px solid $SiteBorder; + } + .affiliate-select li a:hover{ + background: $SiteLightColor; + border: 1px solid $SiteDarkColor; + text-decoration: none; + + } + .select-header{ + color: $SiteDarkColor; + } + +.moretoggle::after { + content: "more"; + margin-left:6px; + margin-right:6px; + font-family: $SiteFontFamily; +} +.lesstoggle::after { + content: "less"; + margin-left:6px; + margin-right:6px; + font-family: $SiteFontFamily; +} + +.moretoggle::before { + content: "\f107"; + margin-left:6px; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.lesstoggle::before { + content: "\f106"; + margin-left:6px; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +@media all and (orientation:landscape) { +.navbar-fixed-top, .navbar-fixed-bottom { + position: relative; +} +#main { + padding-top: 0px; +} +} + +.full-page-shim { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color:white; + z-index: 1000; +} + +.radio label, .checkbox label { + display: inline; + margin-bottom: 5px; + font-weight: normal; + cursor: pointer; +} +.fixedContainer{ + position:fixed; +} +.relativeContainer{ + position: relative; +} +.dl-horizontal dt, .dl-horizontal dd, { +text-align: left; +margin-bottom: 20px; +border-top: 1px solid $SiteMediumShadowColor; +padding:10px; + + +} +.dl-horizontal dd { +background: $SiteLightColor; +box-shadow: inset 0px 0px 5px $SiteMediumShadowColor; +color: $SiteMediumColor; +} + +@media (min-width: 768px){ +.form-horizontal .control-label { + text-align: left; +} +} + + + +.form-control { + border-radius: 0px; + margin-top:10px; +} +.form-group { + margin-bottom: 25px; +border-top: 1px solid #e4e4e4; + + +} +.text-right { + text-align: right; + margin-bottom: 20px; + margin-top: 15px; +} + +.in-iframe #main { + padding-top:0px; +} + +.in-iframe .navbar { + display:none; +} + +.poweredbycontainer +{ + width:100%; + text-align: center; +} +.poweredby +{ + margin-top: 40px; + margin-right: auto; + margin-left:auto; +} \ No newline at end of file diff --git a/Amen/Content/SiteCustom.css b/Amen/Content/SiteCustom.css new file mode 100644 index 0000000..a28d75a --- /dev/null +++ b/Amen/Content/SiteCustom.css @@ -0,0 +1,187 @@ + + + +/* background behind prayers */ +body +{ + background: rgba(255, 0, 0, 0.05); +} + + /* all hyperlinks */ +a +{ + color: red; +} + + /* all hyperlinks hover state */ +a:hover +{ + color: red; +} + +/* box arond each prayer item */ +.prayer-item +{ + border: 1px solid rgba(255, 0, 0, 0.2); + box-shadow: 0px 4px 4px rgba(255, 0, 0, 0.05); + background: white; +} + +/* title of each prayer */ +.prayer-title { + color: red; + } + + /* title of each prayer */ +.prayer-title:hover { + color: red; + } + + /* date of each prayer */ + .prayer-item-submitted +{ + color:red; +} + + /* number of prayers of each prayer */ +.prayer-item-prayer-stats +{ + color:red; +} + + /* action buttons on each prayer*/ +.btn +{ + color: red; + border: 1px solid rgba(255, 0, 0, 0.3); + background: rgba(255, 0, 0, 0.1); +} + + /* action buttons hover state on each prayer*/ +.btn:hover +{ + color: red; + border: 1px solid rgba(255, 0, 0, 0.7); + background: white; +} + + /* icons */ +.fa +{ + color:red; +} + +/* ************* */ +/* site elements */ +/* ************* */ + +/* message at the top of the prayers list */ +.prayer-instructions { + margin-bottom: 20px; + margin-top: 0px; + padding: 10px; + box-shadow: 0px 4px 4px rgba(255, 0, 0, 0.05); + background-color: rgba(177, 183, 249, 0.12); + border: solid 1px #6666cc; +} + + +/* message above button on submit a prayer page*/ +.prayer-item-edit-instructions { + margin-bottom: 10px; + margin-top: 20px; + padding: 10px; + box-shadow: 0px 4px 4px rgba(255, 0, 0, 0.05); + background-color: rgba(177, 183, 249, 0.12); + border: solid 1px #6666cc; +} + +/* sort UI at top of prayers selected state */ +.prayer-item-sort .selected +{ + color: red; +} + +/* draws the bottom border on the navbar in full width */ +.navbar +{ + border-bottom: 1px solid red; +} + +/* nav bar menu item */ +.navbar-inverse .navbar-nav > li > a { + color: red; +} + +/* nav bar menu item hover state */ +.navbar-inverse .navbar-nav > li > a:hover { + background: rgba(255, 0, 0, 0.1); + color: red; +} + +/* button at bottom that navigates back to top*/ +.page-top +{ + background: rgba(255, 0, 0, 0.7); +} + +/* copyright at bottom of page */ +.copyright +{ + color:red; +} + +/* collapsed navbar border color */ +.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { + border-color: red; +} + +/* toggle button at top of page */ +.navbar-toggle.collapsed +{ + color: red; + border: 1px solid rgba(255, 0, 0, 0.3); + background: rgba(255, 0, 0, 0.1); +} + +.navbar-toggle.collapsed:hover +{ + color: red; + border: 1px solid rgba(255, 0, 0, 0.3); + background: rgba(255, 0, 0, 0.1); +} + +.navbar-toggle +{ + color: red; + border: 1px solid rgba(255, 0, 0, 0.3); + background: rgba(255, 0, 0, 0.1); +} + +.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus +{ + background-color: rgba(255, 0, 0, 0.1); + border: 1px solid rgba(255, 0, 0, 0.7); +} + +.navbar-inverse .navbar-toggle .icon-bar +{ + background-color: red; +} + +.navbar-nav > li > a.selected, .navbar-nav > li > a:active +{ + border-bottom: 2px solid red; +} + +.navbar-nav > li > a.selected, .navbar-nav > li > a:hover +{ + border-bottom: 2px solid red; +} + +.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus +{ + border-bottom: 2px solid red; +} + + diff --git a/Amen/Content/bootstrap-tagsinput-typeahead.css b/Amen/Content/bootstrap-tagsinput-typeahead.css new file mode 100644 index 0000000..537cf9c --- /dev/null +++ b/Amen/Content/bootstrap-tagsinput-typeahead.css @@ -0,0 +1,54 @@ +/* + * bootstrap-tagsinput v0.8.0 + * + */ + +.twitter-typeahead .tt-query, +.twitter-typeahead .tt-hint { + margin-bottom: 0; +} + +.twitter-typeahead .tt-hint +{ + display: none; +} + +.tt-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; + cursor: pointer; +} + +.tt-suggestion { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap; +} + +.tt-suggestion:hover, +.tt-suggestion:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #428bca; +} diff --git a/Amen/Content/bootstrap-tagsinput.css b/Amen/Content/bootstrap-tagsinput.css new file mode 100644 index 0000000..7fced30 --- /dev/null +++ b/Amen/Content/bootstrap-tagsinput.css @@ -0,0 +1,60 @@ +/* + * bootstrap-tagsinput v0.8.0 + * + */ + +.bootstrap-tagsinput { + background-color: #fff; + border: 1px solid #ccc; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + display: inline-block; + padding: 4px 6px; + color: #555; + vertical-align: middle; + border-radius: 4px; + max-width: 100%; + line-height: 22px; + cursor: text; +} +.bootstrap-tagsinput input { + border: none; + box-shadow: none; + outline: none; + background-color: transparent; + padding: 0 6px; + margin: 0; + width: auto; + max-width: inherit; +} +.bootstrap-tagsinput.form-control input::-moz-placeholder { + color: #777; + opacity: 1; +} +.bootstrap-tagsinput.form-control input:-ms-input-placeholder { + color: #777; +} +.bootstrap-tagsinput.form-control input::-webkit-input-placeholder { + color: #777; +} +.bootstrap-tagsinput input:focus { + border: none; + box-shadow: none; +} +.bootstrap-tagsinput .tag { + margin-right: 2px; + color: white; +} +.bootstrap-tagsinput .tag [data-role="remove"] { + margin-left: 8px; + cursor: pointer; +} +.bootstrap-tagsinput .tag [data-role="remove"]:after { + content: "x"; + padding: 0px 2px; +} +.bootstrap-tagsinput .tag [data-role="remove"]:hover { + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} +.bootstrap-tagsinput .tag [data-role="remove"]:hover:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} diff --git a/Amen/Content/bootstrap-tagsinput.less b/Amen/Content/bootstrap-tagsinput.less new file mode 100644 index 0000000..face63f --- /dev/null +++ b/Amen/Content/bootstrap-tagsinput.less @@ -0,0 +1,50 @@ +.bootstrap-tagsinput { + background-color: #fff; + border: 1px solid #ccc; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + display: inline-block; + padding: 4px 6px; + margin-bottom: 10px; + color: #555; + vertical-align: middle; + border-radius: 4px; + max-width: 100%; + line-height: 22px; + cursor: text; + + input { + border: none; + box-shadow: none; + outline: none; + background-color: transparent; + padding: 0; + margin: 0; + width: auto !important; + max-width: inherit; + + &:focus { + border: none; + box-shadow: none; + } + } + + .tag { + margin-right: 2px; + color: white; + + [data-role="remove"] { + margin-left:8px; + cursor:pointer; + &:after{ + content: "x"; + padding:0px 2px; + } + &:hover { + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + &:active { + box-shadow: inset 0 3px 5px rgba(0,0,0,0.125); + } + } + } + } +} diff --git a/Amen/Content/bootstrap.css b/Amen/Content/bootstrap.css new file mode 100644 index 0000000..6d6e682 --- /dev/null +++ b/Amen/Content/bootstrap.css @@ -0,0 +1,6816 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. The notices and licenses below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */ + +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden] { + display: none; +} + +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +a:focus { + outline: thin dotted; +} + +a:active, +a:hover { + outline: 0; +} + +h1 { + margin: 0.67em 0; + font-size: 2em; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +hr { + height: 0; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +mark { + color: #000; + background: #ff0; +} + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +pre { + white-space: pre-wrap; +} + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 0; +} + +fieldset { + padding: 0.35em 0.625em 0.75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} + +legend { + padding: 0; + border: 0; +} + +button, +input, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: 100%; +} + +button, +input { + line-height: normal; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; + box-sizing: border-box; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 2cm .5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} + +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html { + font-size: 62.5%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333333; + background-color: #ffffff; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input, +select[multiple], +textarea { + background-image: none; +} + +a { + color: #428bca; + text-decoration: none; +} + +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} + +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +img { + vertical-align: middle; +} + +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} + +.img-rounded { + border-radius: 6px; +} + +.img-thumbnail { + display: inline-block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.img-circle { + border-radius: 50%; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0 0 0 0); + border: 0; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 16.099999999999998px; + font-weight: 200; + line-height: 1.4; +} + +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} + +small { + font-size: 85%; +} + +cite { + font-style: normal; +} + +.text-muted { + color: #999999; +} + +.text-primary { + color: #428bca; +} + +.text-warning { + color: #c09853; +} + +.text-danger { + color: #b94a48; +} + +.text-success { + color: #468847; +} + +.text-info { + color: #3a87ad; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: 500; + line-height: 1.1; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, +h2, +h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, +h5, +h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +h1, +.h1 { + font-size: 36px; +} + +h2, +.h2 { + font-size: 30px; +} + +h3, +.h3 { + font-size: 24px; +} + +h4, +.h4 { + font-size: 18px; +} + +h5, +.h5 { + font-size: 14px; +} + +h6, +.h6 { + font-size: 12px; +} + +h1 small, +.h1 small { + font-size: 24px; +} + +h2 small, +.h2 small { + font-size: 18px; +} + +h3 small, +.h3 small, +h4 small, +.h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 1.428571429; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 0; +} + +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} + +blockquote p:last-child { + margin-bottom: 0; +} + +blockquote small { + display: block; + line-height: 1.428571429; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 1.428571429; +} + +code, +pre { + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; +} + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + white-space: nowrap; + background-color: #f9f2f4; + border-radius: 4px; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.428571429; + color: #333333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +.row { + margin-right: -15px; + margin-left: -15px; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12, +.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-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-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 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11 { + float: left; +} + +.col-xs-1 { + width: 8.333333333333332%; +} + +.col-xs-2 { + width: 16.666666666666664%; +} + +.col-xs-3 { + width: 25%; +} + +.col-xs-4 { + width: 33.33333333333333%; +} + +.col-xs-5 { + width: 41.66666666666667%; +} + +.col-xs-6 { + width: 50%; +} + +.col-xs-7 { + width: 58.333333333333336%; +} + +.col-xs-8 { + width: 66.66666666666666%; +} + +.col-xs-9 { + width: 75%; +} + +.col-xs-10 { + width: 83.33333333333334%; +} + +.col-xs-11 { + width: 91.66666666666666%; +} + +.col-xs-12 { + width: 100%; +} + +@media (min-width: 768px) { + .container { + max-width: 750px; + } + .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 { + float: left; + } + .col-sm-1 { + width: 8.333333333333332%; + } + .col-sm-2 { + width: 16.666666666666664%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-4 { + width: 33.33333333333333%; + } + .col-sm-5 { + width: 41.66666666666667%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-7 { + width: 58.333333333333336%; + } + .col-sm-8 { + width: 66.66666666666666%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-10 { + width: 83.33333333333334%; + } + .col-sm-11 { + width: 91.66666666666666%; + } + .col-sm-12 { + width: 100%; + } + .col-sm-push-1 { + left: 8.333333333333332%; + } + .col-sm-push-2 { + left: 16.666666666666664%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-4 { + left: 33.33333333333333%; + } + .col-sm-push-5 { + left: 41.66666666666667%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-7 { + left: 58.333333333333336%; + } + .col-sm-push-8 { + left: 66.66666666666666%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-10 { + left: 83.33333333333334%; + } + .col-sm-push-11 { + left: 91.66666666666666%; + } + .col-sm-pull-1 { + right: 8.333333333333332%; + } + .col-sm-pull-2 { + right: 16.666666666666664%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-4 { + right: 33.33333333333333%; + } + .col-sm-pull-5 { + right: 41.66666666666667%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-7 { + right: 58.333333333333336%; + } + .col-sm-pull-8 { + right: 66.66666666666666%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-10 { + right: 83.33333333333334%; + } + .col-sm-pull-11 { + right: 91.66666666666666%; + } + .col-sm-offset-1 { + margin-left: 8.333333333333332%; + } + .col-sm-offset-2 { + margin-left: 16.666666666666664%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-4 { + margin-left: 33.33333333333333%; + } + .col-sm-offset-5 { + margin-left: 41.66666666666667%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-7 { + margin-left: 58.333333333333336%; + } + .col-sm-offset-8 { + margin-left: 66.66666666666666%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-10 { + margin-left: 83.33333333333334%; + } + .col-sm-offset-11 { + margin-left: 91.66666666666666%; + } +} + +@media (min-width: 992px) { + .container { + max-width: 970px; + } + .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 { + float: left; + } + .col-md-1 { + width: 8.333333333333332%; + } + .col-md-2 { + width: 16.666666666666664%; + } + .col-md-3 { + width: 25%; + } + .col-md-4 { + width: 33.33333333333333%; + } + .col-md-5 { + width: 41.66666666666667%; + } + .col-md-6 { + width: 50%; + } + .col-md-7 { + width: 58.333333333333336%; + } + .col-md-8 { + width: 66.66666666666666%; + } + .col-md-9 { + width: 75%; + } + .col-md-10 { + width: 83.33333333333334%; + } + .col-md-11 { + width: 91.66666666666666%; + } + .col-md-12 { + width: 100%; + } + .col-md-push-0 { + left: auto; + } + .col-md-push-1 { + left: 8.333333333333332%; + } + .col-md-push-2 { + left: 16.666666666666664%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-4 { + left: 33.33333333333333%; + } + .col-md-push-5 { + left: 41.66666666666667%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-7 { + left: 58.333333333333336%; + } + .col-md-push-8 { + left: 66.66666666666666%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-10 { + left: 83.33333333333334%; + } + .col-md-push-11 { + left: 91.66666666666666%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-pull-1 { + right: 8.333333333333332%; + } + .col-md-pull-2 { + right: 16.666666666666664%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-4 { + right: 33.33333333333333%; + } + .col-md-pull-5 { + right: 41.66666666666667%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-7 { + right: 58.333333333333336%; + } + .col-md-pull-8 { + right: 66.66666666666666%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-10 { + right: 83.33333333333334%; + } + .col-md-pull-11 { + right: 91.66666666666666%; + } + .col-md-offset-0 { + margin-left: 0; + } + .col-md-offset-1 { + margin-left: 8.333333333333332%; + } + .col-md-offset-2 { + margin-left: 16.666666666666664%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-4 { + margin-left: 33.33333333333333%; + } + .col-md-offset-5 { + margin-left: 41.66666666666667%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-7 { + margin-left: 58.333333333333336%; + } + .col-md-offset-8 { + margin-left: 66.66666666666666%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-10 { + margin-left: 83.33333333333334%; + } + .col-md-offset-11 { + margin-left: 91.66666666666666%; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1170px; + } + .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 { + float: left; + } + .col-lg-1 { + width: 8.333333333333332%; + } + .col-lg-2 { + width: 16.666666666666664%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-4 { + width: 33.33333333333333%; + } + .col-lg-5 { + width: 41.66666666666667%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-7 { + width: 58.333333333333336%; + } + .col-lg-8 { + width: 66.66666666666666%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-10 { + width: 83.33333333333334%; + } + .col-lg-11 { + width: 91.66666666666666%; + } + .col-lg-12 { + width: 100%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-push-1 { + left: 8.333333333333332%; + } + .col-lg-push-2 { + left: 16.666666666666664%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-4 { + left: 33.33333333333333%; + } + .col-lg-push-5 { + left: 41.66666666666667%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-7 { + left: 58.333333333333336%; + } + .col-lg-push-8 { + left: 66.66666666666666%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-10 { + left: 83.33333333333334%; + } + .col-lg-push-11 { + left: 91.66666666666666%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-pull-1 { + right: 8.333333333333332%; + } + .col-lg-pull-2 { + right: 16.666666666666664%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-4 { + right: 33.33333333333333%; + } + .col-lg-pull-5 { + right: 41.66666666666667%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-7 { + right: 58.333333333333336%; + } + .col-lg-pull-8 { + right: 66.66666666666666%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-10 { + right: 83.33333333333334%; + } + .col-lg-pull-11 { + right: 91.66666666666666%; + } + .col-lg-offset-0 { + margin-left: 0; + } + .col-lg-offset-1 { + margin-left: 8.333333333333332%; + } + .col-lg-offset-2 { + margin-left: 16.666666666666664%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-4 { + margin-left: 33.33333333333333%; + } + .col-lg-offset-5 { + margin-left: 41.66666666666667%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-7 { + margin-left: 58.333333333333336%; + } + .col-lg-offset-8 { + margin-left: 66.66666666666666%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-10 { + margin-left: 83.33333333333334%; + } + .col-lg-offset-11 { + margin-left: 91.66666666666666%; + } +} + +table { + max-width: 100%; + background-color: transparent; +} + +th { + text-align: left; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table thead > tr > th, +.table tbody > tr > th, +.table tfoot > tr > th, +.table thead > tr > td, +.table tbody > tr > td, +.table tfoot > tr > td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; +} + +.table caption + thead tr:first-child th, +.table colgroup + thead tr:first-child th, +.table thead:first-child tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed thead > tr > th, +.table-condensed tbody > tr > th, +.table-condensed tfoot > tr > th, +.table-condensed thead > tr > td, +.table-condensed tbody > tr > td, +.table-condensed tfoot > tr > td { + padding: 5px; +} + +.table-bordered { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} + +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} + +table col[class*="col-"] { + display: table-column; + float: none; +} + +table td[class*="col-"], +table th[class*="col-"] { + display: table-cell; + float: none; +} + +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} + +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td { + background-color: #d0e9c6; + border-color: #c9e2b3; +} + +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; + border-color: #eed3d7; +} + +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td { + background-color: #ebcccc; + border-color: #e6c1c7; +} + +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td { + background-color: #faf2cc; + border-color: #f8e5be; +} + +@media (max-width: 768px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: scroll; + overflow-y: hidden; + border: 1px solid #dddddd; + } + .table-responsive > .table { + margin-bottom: 0; + background-color: #fff; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > thead > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > thead > tr:last-child > td, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; +} + +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + /* IE8-9 */ + + line-height: normal; +} + +input[type="file"] { + display: block; +} + +select[multiple], +select[size] { + height: auto; +} + +select optgroup { + font-family: inherit; + font-size: inherit; + font-style: inherit; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="number"]::-webkit-outer-spin-button, +input[type="number"]::-webkit-inner-spin-button { + height: auto; +} + +.form-control:-moz-placeholder { + color: #999999; +} + +.form-control::-moz-placeholder { + color: #999999; +} + +.form-control:-ms-input-placeholder { + color: #999999; +} + +.form-control::-webkit-input-placeholder { + color: #999999; +} + +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + color: #555555; + vertical-align: middle; + background-color: #ffffff; + border: 1px solid #cccccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} + +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); +} + +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eeeeee; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 15px; +} + +.radio, +.checkbox { + display: block; + min-height: 20px; + padding-left: 20px; + margin-top: 10px; + margin-bottom: 10px; + vertical-align: middle; +} + +.radio label, +.checkbox label { + display: inline; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} + +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} + +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +.radio[disabled], +.radio-inline[disabled], +.checkbox[disabled], +.checkbox-inline[disabled], +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"], +fieldset[disabled] .radio, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} + +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-sm { + height: 30px; + line-height: 30px; +} + +textarea.input-sm { + height: auto; +} + +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +select.input-lg { + height: 45px; + line-height: 45px; +} + +textarea.input-lg { + height: auto; +} + +.has-warning .help-block, +.has-warning .control-label { + color: #c09853; +} + +.has-warning .form-control { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-warning .form-control:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.has-warning .input-group-addon { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.has-error .help-block, +.has-error .control-label { + color: #b94a48; +} + +.has-error .form-control { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-error .form-control:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.has-error .input-group-addon { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.has-success .help-block, +.has-success .control-label { + color: #468847; +} + +.has-success .form-control { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-success .form-control:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.has-success .input-group-addon { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.form-control-static { + padding-top: 7px; + margin-bottom: 0; +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +.form-horizontal .control-label, +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} + +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + } +} + +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border: 1px solid transparent; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; +} + +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + color: #333333; + background-color: #ebebeb; + border-color: #adadad; +} + +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + background-image: none; +} + +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-primary { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} + +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + background-image: none; +} + +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} + +.btn-warning { + color: #ffffff; + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #ed9c28; + border-color: #d58512; +} + +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + background-image: none; +} + +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-danger { + color: #ffffff; + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #d2322d; + border-color: #ac2925; +} + +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + background-image: none; +} + +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-success { + color: #ffffff; + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #47a447; + border-color: #398439; +} + +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + background-image: none; +} + +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #39b3d7; + border-color: #269abc; +} + +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + background-image: none; +} + +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-link { + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} + +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #999999; + text-decoration: none; +} + +.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-sm, +.btn-xs { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-xs { + padding: 1px 5px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + display: none; +} + +.collapse.in { + display: block; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); +} + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + -webkit-font-smoothing: antialiased; + font-style: normal; + font-weight: normal; + line-height: 1; +} + +.glyphicon-asterisk:before { + content: "\2a"; +} + +.glyphicon-plus:before { + content: "\2b"; +} + +.glyphicon-euro:before { + content: "\20ac"; +} + +.glyphicon-minus:before { + content: "\2212"; +} + +.glyphicon-cloud:before { + content: "\2601"; +} + +.glyphicon-envelope:before { + content: "\2709"; +} + +.glyphicon-pencil:before { + content: "\270f"; +} + +.glyphicon-glass:before { + content: "\e001"; +} + +.glyphicon-music:before { + content: "\e002"; +} + +.glyphicon-search:before { + content: "\e003"; +} + +.glyphicon-heart:before { + content: "\e005"; +} + +.glyphicon-star:before { + content: "\e006"; +} + +.glyphicon-star-empty:before { + content: "\e007"; +} + +.glyphicon-user:before { + content: "\e008"; +} + +.glyphicon-film:before { + content: "\e009"; +} + +.glyphicon-th-large:before { + content: "\e010"; +} + +.glyphicon-th:before { + content: "\e011"; +} + +.glyphicon-th-list:before { + content: "\e012"; +} + +.glyphicon-ok:before { + content: "\e013"; +} + +.glyphicon-remove:before { + content: "\e014"; +} + +.glyphicon-zoom-in:before { + content: "\e015"; +} + +.glyphicon-zoom-out:before { + content: "\e016"; +} + +.glyphicon-off:before { + content: "\e017"; +} + +.glyphicon-signal:before { + content: "\e018"; +} + +.glyphicon-cog:before { + content: "\e019"; +} + +.glyphicon-trash:before { + content: "\e020"; +} + +.glyphicon-home:before { + content: "\e021"; +} + +.glyphicon-file:before { + content: "\e022"; +} + +.glyphicon-time:before { + content: "\e023"; +} + +.glyphicon-road:before { + content: "\e024"; +} + +.glyphicon-download-alt:before { + content: "\e025"; +} + +.glyphicon-download:before { + content: "\e026"; +} + +.glyphicon-upload:before { + content: "\e027"; +} + +.glyphicon-inbox:before { + content: "\e028"; +} + +.glyphicon-play-circle:before { + content: "\e029"; +} + +.glyphicon-repeat:before { + content: "\e030"; +} + +.glyphicon-refresh:before { + content: "\e031"; +} + +.glyphicon-list-alt:before { + content: "\e032"; +} + +.glyphicon-flag:before { + content: "\e034"; +} + +.glyphicon-headphones:before { + content: "\e035"; +} + +.glyphicon-volume-off:before { + content: "\e036"; +} + +.glyphicon-volume-down:before { + content: "\e037"; +} + +.glyphicon-volume-up:before { + content: "\e038"; +} + +.glyphicon-qrcode:before { + content: "\e039"; +} + +.glyphicon-barcode:before { + content: "\e040"; +} + +.glyphicon-tag:before { + content: "\e041"; +} + +.glyphicon-tags:before { + content: "\e042"; +} + +.glyphicon-book:before { + content: "\e043"; +} + +.glyphicon-print:before { + content: "\e045"; +} + +.glyphicon-font:before { + content: "\e047"; +} + +.glyphicon-bold:before { + content: "\e048"; +} + +.glyphicon-italic:before { + content: "\e049"; +} + +.glyphicon-text-height:before { + content: "\e050"; +} + +.glyphicon-text-width:before { + content: "\e051"; +} + +.glyphicon-align-left:before { + content: "\e052"; +} + +.glyphicon-align-center:before { + content: "\e053"; +} + +.glyphicon-align-right:before { + content: "\e054"; +} + +.glyphicon-align-justify:before { + content: "\e055"; +} + +.glyphicon-list:before { + content: "\e056"; +} + +.glyphicon-indent-left:before { + content: "\e057"; +} + +.glyphicon-indent-right:before { + content: "\e058"; +} + +.glyphicon-facetime-video:before { + content: "\e059"; +} + +.glyphicon-picture:before { + content: "\e060"; +} + +.glyphicon-map-marker:before { + content: "\e062"; +} + +.glyphicon-adjust:before { + content: "\e063"; +} + +.glyphicon-tint:before { + content: "\e064"; +} + +.glyphicon-edit:before { + content: "\e065"; +} + +.glyphicon-share:before { + content: "\e066"; +} + +.glyphicon-check:before { + content: "\e067"; +} + +.glyphicon-move:before { + content: "\e068"; +} + +.glyphicon-step-backward:before { + content: "\e069"; +} + +.glyphicon-fast-backward:before { + content: "\e070"; +} + +.glyphicon-backward:before { + content: "\e071"; +} + +.glyphicon-play:before { + content: "\e072"; +} + +.glyphicon-pause:before { + content: "\e073"; +} + +.glyphicon-stop:before { + content: "\e074"; +} + +.glyphicon-forward:before { + content: "\e075"; +} + +.glyphicon-fast-forward:before { + content: "\e076"; +} + +.glyphicon-step-forward:before { + content: "\e077"; +} + +.glyphicon-eject:before { + content: "\e078"; +} + +.glyphicon-chevron-left:before { + content: "\e079"; +} + +.glyphicon-chevron-right:before { + content: "\e080"; +} + +.glyphicon-plus-sign:before { + content: "\e081"; +} + +.glyphicon-minus-sign:before { + content: "\e082"; +} + +.glyphicon-remove-sign:before { + content: "\e083"; +} + +.glyphicon-ok-sign:before { + content: "\e084"; +} + +.glyphicon-question-sign:before { + content: "\e085"; +} + +.glyphicon-info-sign:before { + content: "\e086"; +} + +.glyphicon-screenshot:before { + content: "\e087"; +} + +.glyphicon-remove-circle:before { + content: "\e088"; +} + +.glyphicon-ok-circle:before { + content: "\e089"; +} + +.glyphicon-ban-circle:before { + content: "\e090"; +} + +.glyphicon-arrow-left:before { + content: "\e091"; +} + +.glyphicon-arrow-right:before { + content: "\e092"; +} + +.glyphicon-arrow-up:before { + content: "\e093"; +} + +.glyphicon-arrow-down:before { + content: "\e094"; +} + +.glyphicon-share-alt:before { + content: "\e095"; +} + +.glyphicon-resize-full:before { + content: "\e096"; +} + +.glyphicon-resize-small:before { + content: "\e097"; +} + +.glyphicon-exclamation-sign:before { + content: "\e101"; +} + +.glyphicon-gift:before { + content: "\e102"; +} + +.glyphicon-leaf:before { + content: "\e103"; +} + +.glyphicon-eye-open:before { + content: "\e105"; +} + +.glyphicon-eye-close:before { + content: "\e106"; +} + +.glyphicon-warning-sign:before { + content: "\e107"; +} + +.glyphicon-plane:before { + content: "\e108"; +} + +.glyphicon-random:before { + content: "\e110"; +} + +.glyphicon-comment:before { + content: "\e111"; +} + +.glyphicon-magnet:before { + content: "\e112"; +} + +.glyphicon-chevron-up:before { + content: "\e113"; +} + +.glyphicon-chevron-down:before { + content: "\e114"; +} + +.glyphicon-retweet:before { + content: "\e115"; +} + +.glyphicon-shopping-cart:before { + content: "\e116"; +} + +.glyphicon-folder-close:before { + content: "\e117"; +} + +.glyphicon-folder-open:before { + content: "\e118"; +} + +.glyphicon-resize-vertical:before { + content: "\e119"; +} + +.glyphicon-resize-horizontal:before { + content: "\e120"; +} + +.glyphicon-hdd:before { + content: "\e121"; +} + +.glyphicon-bullhorn:before { + content: "\e122"; +} + +.glyphicon-certificate:before { + content: "\e124"; +} + +.glyphicon-thumbs-up:before { + content: "\e125"; +} + +.glyphicon-thumbs-down:before { + content: "\e126"; +} + +.glyphicon-hand-right:before { + content: "\e127"; +} + +.glyphicon-hand-left:before { + content: "\e128"; +} + +.glyphicon-hand-up:before { + content: "\e129"; +} + +.glyphicon-hand-down:before { + content: "\e130"; +} + +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} + +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} + +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} + +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} + +.glyphicon-globe:before { + content: "\e135"; +} + +.glyphicon-tasks:before { + content: "\e137"; +} + +.glyphicon-filter:before { + content: "\e138"; +} + +.glyphicon-fullscreen:before { + content: "\e140"; +} + +.glyphicon-dashboard:before { + content: "\e141"; +} + +.glyphicon-heart-empty:before { + content: "\e143"; +} + +.glyphicon-link:before { + content: "\e144"; +} + +.glyphicon-phone:before { + content: "\e145"; +} + +.glyphicon-usd:before { + content: "\e148"; +} + +.glyphicon-gbp:before { + content: "\e149"; +} + +.glyphicon-sort:before { + content: "\e150"; +} + +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} + +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} + +.glyphicon-sort-by-order:before { + content: "\e153"; +} + +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} + +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} + +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} + +.glyphicon-unchecked:before { + content: "\e157"; +} + +.glyphicon-expand:before { + content: "\e158"; +} + +.glyphicon-collapse-down:before { + content: "\e159"; +} + +.glyphicon-collapse-up:before { + content: "\e160"; +} + +.glyphicon-log-in:before { + content: "\e161"; +} + +.glyphicon-flash:before { + content: "\e162"; +} + +.glyphicon-log-out:before { + content: "\e163"; +} + +.glyphicon-new-window:before { + content: "\e164"; +} + +.glyphicon-record:before { + content: "\e165"; +} + +.glyphicon-save:before { + content: "\e166"; +} + +.glyphicon-open:before { + content: "\e167"; +} + +.glyphicon-saved:before { + content: "\e168"; +} + +.glyphicon-import:before { + content: "\e169"; +} + +.glyphicon-export:before { + content: "\e170"; +} + +.glyphicon-send:before { + content: "\e171"; +} + +.glyphicon-floppy-disk:before { + content: "\e172"; +} + +.glyphicon-floppy-saved:before { + content: "\e173"; +} + +.glyphicon-floppy-remove:before { + content: "\e174"; +} + +.glyphicon-floppy-save:before { + content: "\e175"; +} + +.glyphicon-floppy-open:before { + content: "\e176"; +} + +.glyphicon-credit-card:before { + content: "\e177"; +} + +.glyphicon-transfer:before { + content: "\e178"; +} + +.glyphicon-cutlery:before { + content: "\e179"; +} + +.glyphicon-header:before { + content: "\e180"; +} + +.glyphicon-compressed:before { + content: "\e181"; +} + +.glyphicon-earphone:before { + content: "\e182"; +} + +.glyphicon-phone-alt:before { + content: "\e183"; +} + +.glyphicon-tower:before { + content: "\e184"; +} + +.glyphicon-stats:before { + content: "\e185"; +} + +.glyphicon-sd-video:before { + content: "\e186"; +} + +.glyphicon-hd-video:before { + content: "\e187"; +} + +.glyphicon-subtitles:before { + content: "\e188"; +} + +.glyphicon-sound-stereo:before { + content: "\e189"; +} + +.glyphicon-sound-dolby:before { + content: "\e190"; +} + +.glyphicon-sound-5-1:before { + content: "\e191"; +} + +.glyphicon-sound-6-1:before { + content: "\e192"; +} + +.glyphicon-sound-7-1:before { + content: "\e193"; +} + +.glyphicon-copyright-mark:before { + content: "\e194"; +} + +.glyphicon-registration-mark:before { + content: "\e195"; +} + +.glyphicon-cloud-download:before { + content: "\e197"; +} + +.glyphicon-cloud-upload:before { + content: "\e198"; +} + +.glyphicon-tree-conifer:before { + content: "\e199"; +} + +.glyphicon-tree-deciduous:before { + content: "\e200"; +} + +.glyphicon-briefcase:before { + content: "\1f4bc"; +} + +.glyphicon-calendar:before { + content: "\1f4c5"; +} + +.glyphicon-pushpin:before { + content: "\1f4cc"; +} + +.glyphicon-paperclip:before { + content: "\1f4ce"; +} + +.glyphicon-camera:before { + content: "\1f4f7"; +} + +.glyphicon-lock:before { + content: "\1f512"; +} + +.glyphicon-bell:before { + content: "\1f514"; +} + +.glyphicon-bookmark:before { + content: "\1f516"; +} + +.glyphicon-fire:before { + content: "\1f525"; +} + +.glyphicon-wrench:before { + content: "\1f527"; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-bottom: 0 dotted; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + list-style: none; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #428bca; +} + +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} + +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999999; +} + +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open > .dropdown-menu { + display: block; +} + +.open > a { + outline: 0; +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #999999; +} + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } +} + +.btn-default .caret { + border-top-color: #333333; +} + +.btn-primary .caret, +.btn-success .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret { + border-top-color: #fff; +} + +.dropup .btn-default .caret { + border-bottom-color: #333333; +} + +.dropup .btn-primary .caret, +.dropup .btn-success .caret, +.dropup .btn-warning .caret, +.dropup .btn-danger .caret, +.dropup .btn-info .caret { + border-bottom-color: #fff; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} + +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: none; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} + +.btn-toolbar:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar .btn-group { + float: left; +} + +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group, +.btn-toolbar > .btn-group + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +.btn-group > .btn:first-child { + margin-left: 0; +} + +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group > .btn-group { + float: left; +} + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group-xs > .btn { + padding: 5px 10px; + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} + +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn .caret { + margin-left: 0; +} + +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} + +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + display: block; + float: none; + width: 100%; + max-width: 100%; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.btn-group-vertical > .btn-group > .btn { + float: none; +} + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 0; +} + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group-vertical > .btn-group:first-child > .btn:last-child, +.btn-group-vertical > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn-group:last-child > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.btn-group-justified { + display: table; + width: 100%; + border-collapse: separate; + table-layout: fixed; +} + +.btn-group-justified .btn { + display: table-cell; + float: none; + width: 1%; +} + +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + display: none; +} + +.input-group { + position: relative; + display: table; + border-collapse: separate; +} + +.input-group.col { + float: none; + padding-right: 0; + padding-left: 0; +} + +.input-group .form-control { + width: 100%; + margin-bottom: 0; +} + +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} + +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn { + height: auto; +} + +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} + +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn { + height: auto; +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} + +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + text-align: center; + background-color: #eeeeee; + border: 1px solid #cccccc; + border-radius: 4px; +} + +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} + +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} + +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} + +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group-addon:first-child { + border-right: 0; +} + +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.input-group-addon:last-child { + border-left: 0; +} + +.input-group-btn { + position: relative; + white-space: nowrap; +} + +.input-group-btn > .btn { + position: relative; +} + +.input-group-btn > .btn + .btn { + margin-left: -4px; +} + +.input-group-btn > .btn:hover, +.input-group-btn > .btn:active { + z-index: 2; +} + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav > li { + position: relative; + display: block; +} + +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} + +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > li.disabled > a { + color: #999999; +} + +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} + +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #428bca; +} + +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.nav > li > a > img { + max-width: none; +} + +.nav-tabs { + border-bottom: 1px solid #dddddd; +} + +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} + +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; +} + +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} + +.nav-tabs.nav-justified > li { + float: none; +} + +.nav-tabs.nav-justified > li > a { + text-align: center; +} + +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } +} + +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-bottom: 1px solid #dddddd; +} + +.nav-tabs.nav-justified > .active > a { + border-bottom-color: #ffffff; +} + +.nav-pills > li { + float: left; +} + +.nav-pills > li > a { + border-radius: 5px; +} + +.nav-pills > li + li { + margin-left: 2px; +} + +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #428bca; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} + +.nav-justified { + width: 100%; +} + +.nav-justified > li { + float: none; +} + +.nav-justified > li > a { + text-align: center; +} + +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } +} + +.nav-tabs-justified { + border-bottom: 0; +} + +.nav-tabs-justified > li > a { + margin-right: 0; + border-bottom: 1px solid #dddddd; +} + +.nav-tabs-justified > .active > a { + border-bottom-color: #ffffff; +} + +.tabbable:before, +.tabbable:after { + display: table; + content: " "; +} + +.tabbable:after { + clear: both; +} + +.tabbable:before, +.tabbable:after { + display: table; + content: " "; +} + +.tabbable:after { + clear: both; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.nav .caret { + border-top-color: #428bca; + border-bottom-color: #428bca; +} + +.nav a:hover .caret { + border-top-color: #2a6496; + border-bottom-color: #2a6496; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar { + position: relative; + z-index: 1000; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} + +.navbar-collapse { + max-height: 340px; + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse.in { + overflow-y: auto; +} + +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-collapse .navbar-nav.navbar-left:first-child { + margin-left: -15px; + } + .navbar-collapse .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } + .navbar-collapse .navbar-text:last-child { + margin-right: 0; + } +} + +.container > .navbar-header, +.container > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} + +@media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} + +.navbar-static-top { + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} + +.navbar-fixed-top { + top: 0; + z-index: 1030; +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; +} + +.navbar-brand { + float: left; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} + +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} + +@media (min-width: 768px) { + .navbar > .container .navbar-brand { + margin-left: -15px; + } +} + +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 4px; +} + +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} + +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} + +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} + +.navbar-nav { + margin: 7.5px -15px; +} + +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} + +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} + +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} + +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} + +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); +} + +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} + +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.navbar-nav.pull-right > li > .dropdown-menu, +.navbar-nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} + +.navbar-text { + float: left; + margin-top: 15px; + margin-bottom: 15px; +} + +@media (min-width: 768px) { + .navbar-text { + margin-right: 15px; + margin-left: 15px; + } +} + +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} + +.navbar-default .navbar-brand { + color: #777777; +} + +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} + +.navbar-default .navbar-text { + color: #777777; +} + +.navbar-default .navbar-nav > li > a { + color: #777777; +} + +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333333; + background-color: transparent; +} + +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} + +.navbar-default .navbar-toggle { + border-color: #dddddd; +} + +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #dddddd; +} + +.navbar-default .navbar-toggle .icon-bar { + background-color: #cccccc; +} + +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e6e6e6; +} + +.navbar-default .navbar-nav > .dropdown > a:hover .caret, +.navbar-default .navbar-nav > .dropdown > a:focus .caret { + border-top-color: #333333; + border-bottom-color: #333333; +} + +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .open > a .caret, +.navbar-default .navbar-nav > .open > a:hover .caret, +.navbar-default .navbar-nav > .open > a:focus .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar-default .navbar-nav > .dropdown > a .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} + +.navbar-default .navbar-link { + color: #777777; +} + +.navbar-default .navbar-link:hover { + color: #333333; +} + +.navbar-inverse { + background-color: #222222; + border-color: #080808; +} + +.navbar-inverse .navbar-brand { + color: #999999; +} + +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #080808; +} + +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444444; + background-color: transparent; +} + +.navbar-inverse .navbar-toggle { + border-color: #333333; +} + +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333333; +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} + +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} + +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #ffffff; + background-color: #080808; +} + +.navbar-inverse .navbar-nav > .dropdown > a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-nav > .dropdown > a .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .navbar-nav > .open > a .caret, +.navbar-inverse .navbar-nav > .open > a:hover .caret, +.navbar-inverse .navbar-nav > .open > a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #999999; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444444; + background-color: transparent; + } +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} + +.breadcrumb > li { + display: inline-block; +} + +.breadcrumb > li + li:before { + padding: 0 5px; + color: #cccccc; + content: "/\00a0"; +} + +.breadcrumb > .active { + color: #999999; +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} + +.pagination > li { + display: inline; +} + +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.428571429; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} + +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + background-color: #eeeeee; +} + +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} + +.pagination > .disabled > span, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; + border-color: #dddddd; +} + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} + +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 15px; +} + +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} + +.label[href]:hover, +.label[href]:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label:empty { + display: none; +} + +.label-default { + background-color: #999999; +} + +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #808080; +} + +.label-primary { + background-color: #428bca; +} + +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} + +.label-success { + background-color: #5cb85c; +} + +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} + +.label-info { + background-color: #5bc0de; +} + +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} + +.label-warning { + background-color: #f0ad4e; +} + +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} + +.label-danger { + background-color: #d9534f; +} + +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; + border-radius: 10px; +} + +.badge:empty { + display: none; +} + +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.btn .badge { + position: relative; + top: -1px; +} + +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #ffffff; +} + +.nav-pills > li > a > .badge { + margin-left: 3px; +} + +.jumbotron { + padding: 30px; + margin-bottom: 30px; + font-size: 21px; + font-weight: 200; + line-height: 2.1428571435; + color: inherit; + background-color: #eeeeee; +} + +.jumbotron h1 { + line-height: 1; + color: inherit; +} + +.jumbotron p { + line-height: 1.4; +} + +.container .jumbotron { + border-radius: 6px; +} + +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1 { + font-size: 63px; + } +} + +.thumbnail { + display: inline-block; + display: block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.thumbnail > img { + display: block; + height: auto; + max-width: 100%; +} + +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #428bca; +} + +.thumbnail > img { + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #333333; +} + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} + +.alert h4 { + margin-top: 0; + color: inherit; +} + +.alert .alert-link { + font-weight: bold; +} + +.alert > p, +.alert > ul { + margin-bottom: 0; +} + +.alert > p + p { + margin-top: 5px; +} + +.alert-dismissable { + padding-right: 35px; +} + +.alert-dismissable .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success hr { + border-top-color: #c9e2b3; +} + +.alert-success .alert-link { + color: #356635; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info hr { + border-top-color: #a6e1ec; +} + +.alert-info .alert-link { + color: #2d6987; +} + +.alert-warning { + color: #c09853; + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.alert-warning hr { + border-top-color: #f8e5be; +} + +.alert-warning .alert-link { + color: #a47e3c; +} + +.alert-danger { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-danger hr { + border-top-color: #e6c1c7; +} + +.alert-danger .alert-link { + color: #953b39; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress-striped .progress-bar { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} + +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-bar-success { + background-color: #5cb85c; +} + +.progress-striped .progress-bar-success { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-info { + background-color: #5bc0de; +} + +.progress-striped .progress-bar-info { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-warning { + background-color: #f0ad4e; +} + +.progress-striped .progress-bar-warning { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-danger { + background-color: #d9534f; +} + +.progress-striped .progress-bar-danger { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.media, +.media-body { + overflow: hidden; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media > .pull-left { + margin-right: 10px; +} + +.media > .pull-right { + margin-left: 10px; +} + +.media-list { + padding-left: 0; + list-style: none; +} + +.list-group { + padding-left: 0; + margin-bottom: 20px; +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} + +.list-group-item > .badge { + float: right; +} + +.list-group-item > .badge + .badge { + margin-right: 5px; +} + +a.list-group-item { + color: #555555; +} + +a.list-group-item .list-group-item-heading { + color: #333333; +} + +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading { + color: inherit; +} + +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #e1edf7; +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} + +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.panel-body { + padding: 15px; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel > .list-group { + margin-bottom: 0; +} + +.panel > .list-group .list-group-item { + border-width: 1px 0; +} + +.panel > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.panel > .list-group .list-group-item:last-child { + border-bottom: 0; +} + +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} + +.panel > .table { + margin-bottom: 0; +} + +.panel > .panel-body + .table { + border-top: 1px solid #dddddd; +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; +} + +.panel-title > a { + color: inherit; +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} + +.panel-group .panel { + margin-bottom: 0; + overflow: hidden; + border-radius: 4px; +} + +.panel-group .panel + .panel { + margin-top: 5px; +} + +.panel-group .panel-heading { + border-bottom: 0; +} + +.panel-group .panel-heading + .panel-collapse .panel-body { + border-top: 1px solid #dddddd; +} + +.panel-group .panel-footer { + border-top: 0; +} + +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; +} + +.panel-default { + border-color: #dddddd; +} + +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; +} + +.panel-default > .panel-heading + .panel-collapse .panel-body { + border-top-color: #dddddd; +} + +.panel-default > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #dddddd; +} + +.panel-primary { + border-color: #428bca; +} + +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +.panel-primary > .panel-heading + .panel-collapse .panel-body { + border-top-color: #428bca; +} + +.panel-primary > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #428bca; +} + +.panel-success { + border-color: #d6e9c6; +} + +.panel-success > .panel-heading { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.panel-success > .panel-heading + .panel-collapse .panel-body { + border-top-color: #d6e9c6; +} + +.panel-success > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #d6e9c6; +} + +.panel-warning { + border-color: #fbeed5; +} + +.panel-warning > .panel-heading { + color: #c09853; + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.panel-warning > .panel-heading + .panel-collapse .panel-body { + border-top-color: #fbeed5; +} + +.panel-warning > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #fbeed5; +} + +.panel-danger { + border-color: #eed3d7; +} + +.panel-danger > .panel-heading { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.panel-danger > .panel-heading + .panel-collapse .panel-body { + border-top-color: #eed3d7; +} + +.panel-danger > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #eed3d7; +} + +.panel-info { + border-color: #bce8f1; +} + +.panel-info > .panel-heading { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.panel-info > .panel-heading + .panel-collapse .panel-body { + border-top-color: #bce8f1; +} + +.panel-info > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #bce8f1; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-lg { + padding: 24px; + border-radius: 6px; +} + +.well-sm { + padding: 9px; + border-radius: 3px; +} + +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +body.modal-open, +.modal-open .navbar-fixed-top, +.modal-open .navbar-fixed-bottom { + margin-right: 15px; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + display: none; + overflow: auto; + overflow-y: scroll; +} + +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} + +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-dialog { + z-index: 1050; + width: auto; + padding: 10px; + margin-right: auto; + margin-left: auto; +} + +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} + +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} + +.modal-header { + min-height: 16.428571429px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} + +.modal-header .close { + margin-top: -2px; +} + +.modal-title { + margin: 0; + line-height: 1.428571429; +} + +.modal-body { + position: relative; + padding: 20px; +} + +.modal-footer { + padding: 19px 20px 20px; + margin-top: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +@media screen and (min-width: 768px) { + .modal-dialog { + right: auto; + left: 50%; + width: 600px; + padding-top: 30px; + padding-bottom: 30px; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 12px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; + content: " "; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; + content: " "; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; + content: " "; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; + content: " "; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + height: auto; + max-width: 100%; + line-height: 1; +} + +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} + +.carousel-inner > .active { + left: 0; +} + +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner > .next { + left: 100%; +} + +.carousel-inner > .prev { + left: -100%; +} + +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} + +.carousel-inner > .active.left { + left: -100%; +} + +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.left { + background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} + +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} + +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + left: 50%; + z-index: 5; + display: inline-block; +} + +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + font-family: serif; +} + +.carousel-control .icon-prev:before { + content: '\2039'; +} + +.carousel-control .icon-next:before { + content: '\203a'; +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} + +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + border: 1px solid #ffffff; + border-radius: 10px; +} + +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #ffffff; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} + +.carousel-caption .btn { + text-shadow: none; +} + +@media screen and (min-width: 768px) { + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + font-size: 30px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} + +.clearfix:before, +.clearfix:after { + display: table; + content: " "; +} + +.clearfix:after { + clear: both; +} + +.pull-right { + float: right !important; +} + +.pull-left { + float: left !important; +} + +.hide { + display: none !important; +} + +.show { + display: block !important; +} + +.invisible { + visibility: hidden; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.affix { + position: fixed; +} + +@-ms-viewport { + width: device-width; +} + +@media screen and (max-width: 400px) { + @-ms-viewport { + width: 320px; + } +} + +.hidden { + display: none !important; + visibility: hidden !important; +} + +.visible-xs { + display: none !important; +} + +tr.visible-xs { + display: none !important; +} + +th.visible-xs, +td.visible-xs { + display: none !important; +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-xs.visible-sm { + display: block !important; + } + tr.visible-xs.visible-sm { + display: table-row !important; + } + th.visible-xs.visible-sm, + td.visible-xs.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-xs.visible-md { + display: block !important; + } + tr.visible-xs.visible-md { + display: table-row !important; + } + th.visible-xs.visible-md, + td.visible-xs.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-xs.visible-lg { + display: block !important; + } + tr.visible-xs.visible-lg { + display: table-row !important; + } + th.visible-xs.visible-lg, + td.visible-xs.visible-lg { + display: table-cell !important; + } +} + +.visible-sm { + display: none !important; +} + +tr.visible-sm { + display: none !important; +} + +th.visible-sm, +td.visible-sm { + display: none !important; +} + +@media (max-width: 767px) { + .visible-sm.visible-xs { + display: block !important; + } + tr.visible-sm.visible-xs { + display: table-row !important; + } + th.visible-sm.visible-xs, + td.visible-sm.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-sm.visible-md { + display: block !important; + } + tr.visible-sm.visible-md { + display: table-row !important; + } + th.visible-sm.visible-md, + td.visible-sm.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-sm.visible-lg { + display: block !important; + } + tr.visible-sm.visible-lg { + display: table-row !important; + } + th.visible-sm.visible-lg, + td.visible-sm.visible-lg { + display: table-cell !important; + } +} + +.visible-md { + display: none !important; +} + +tr.visible-md { + display: none !important; +} + +th.visible-md, +td.visible-md { + display: none !important; +} + +@media (max-width: 767px) { + .visible-md.visible-xs { + display: block !important; + } + tr.visible-md.visible-xs { + display: table-row !important; + } + th.visible-md.visible-xs, + td.visible-md.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-md.visible-sm { + display: block !important; + } + tr.visible-md.visible-sm { + display: table-row !important; + } + th.visible-md.visible-sm, + td.visible-md.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-md.visible-lg { + display: block !important; + } + tr.visible-md.visible-lg { + display: table-row !important; + } + th.visible-md.visible-lg, + td.visible-md.visible-lg { + display: table-cell !important; + } +} + +.visible-lg { + display: none !important; +} + +tr.visible-lg { + display: none !important; +} + +th.visible-lg, +td.visible-lg { + display: none !important; +} + +@media (max-width: 767px) { + .visible-lg.visible-xs { + display: block !important; + } + tr.visible-lg.visible-xs { + display: table-row !important; + } + th.visible-lg.visible-xs, + td.visible-lg.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-lg.visible-sm { + display: block !important; + } + tr.visible-lg.visible-sm { + display: table-row !important; + } + th.visible-lg.visible-sm, + td.visible-lg.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-lg.visible-md { + display: block !important; + } + tr.visible-lg.visible-md { + display: table-row !important; + } + th.visible-lg.visible-md, + td.visible-lg.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} + +.hidden-xs { + display: block !important; +} + +tr.hidden-xs { + display: table-row !important; +} + +th.hidden-xs, +td.hidden-xs { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } + tr.hidden-xs { + display: none !important; + } + th.hidden-xs, + td.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-xs.hidden-sm { + display: none !important; + } + tr.hidden-xs.hidden-sm { + display: none !important; + } + th.hidden-xs.hidden-sm, + td.hidden-xs.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-xs.hidden-md { + display: none !important; + } + tr.hidden-xs.hidden-md { + display: none !important; + } + th.hidden-xs.hidden-md, + td.hidden-xs.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-xs.hidden-lg { + display: none !important; + } + tr.hidden-xs.hidden-lg { + display: none !important; + } + th.hidden-xs.hidden-lg, + td.hidden-xs.hidden-lg { + display: none !important; + } +} + +.hidden-sm { + display: block !important; +} + +tr.hidden-sm { + display: table-row !important; +} + +th.hidden-sm, +td.hidden-sm { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-sm.hidden-xs { + display: none !important; + } + tr.hidden-sm.hidden-xs { + display: none !important; + } + th.hidden-sm.hidden-xs, + td.hidden-sm.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } + tr.hidden-sm { + display: none !important; + } + th.hidden-sm, + td.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-sm.hidden-md { + display: none !important; + } + tr.hidden-sm.hidden-md { + display: none !important; + } + th.hidden-sm.hidden-md, + td.hidden-sm.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-sm.hidden-lg { + display: none !important; + } + tr.hidden-sm.hidden-lg { + display: none !important; + } + th.hidden-sm.hidden-lg, + td.hidden-sm.hidden-lg { + display: none !important; + } +} + +.hidden-md { + display: block !important; +} + +tr.hidden-md { + display: table-row !important; +} + +th.hidden-md, +td.hidden-md { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-md.hidden-xs { + display: none !important; + } + tr.hidden-md.hidden-xs { + display: none !important; + } + th.hidden-md.hidden-xs, + td.hidden-md.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-md.hidden-sm { + display: none !important; + } + tr.hidden-md.hidden-sm { + display: none !important; + } + th.hidden-md.hidden-sm, + td.hidden-md.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } + tr.hidden-md { + display: none !important; + } + th.hidden-md, + td.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-md.hidden-lg { + display: none !important; + } + tr.hidden-md.hidden-lg { + display: none !important; + } + th.hidden-md.hidden-lg, + td.hidden-md.hidden-lg { + display: none !important; + } +} + +.hidden-lg { + display: block !important; +} + +tr.hidden-lg { + display: table-row !important; +} + +th.hidden-lg, +td.hidden-lg { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-lg.hidden-xs { + display: none !important; + } + tr.hidden-lg.hidden-xs { + display: none !important; + } + th.hidden-lg.hidden-xs, + td.hidden-lg.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-lg.hidden-sm { + display: none !important; + } + tr.hidden-lg.hidden-sm { + display: none !important; + } + th.hidden-lg.hidden-sm, + td.hidden-lg.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-lg.hidden-md { + display: none !important; + } + tr.hidden-lg.hidden-md { + display: none !important; + } + th.hidden-lg.hidden-md, + td.hidden-lg.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } + tr.hidden-lg { + display: none !important; + } + th.hidden-lg, + td.hidden-lg { + display: none !important; + } +} + +.visible-print { + display: none !important; +} + +tr.visible-print { + display: none !important; +} + +th.visible-print, +td.visible-print { + display: none !important; +} + +@media print { + .visible-print { + display: block !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } + .hidden-print { + display: none !important; + } + tr.hidden-print { + display: none !important; + } + th.hidden-print, + td.hidden-print { + display: none !important; + } +} \ No newline at end of file diff --git a/Amen/Content/bootstrap.min.css b/Amen/Content/bootstrap.min.css new file mode 100644 index 0000000..df89a50 --- /dev/null +++ b/Amen/Content/bootstrap.min.css @@ -0,0 +1,20 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. The notices and licenses below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + *//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}h1 small,.h1 small{font-size:24px}h2 small,.h2 small{font-size:18px}h3 small,.h3 small,h4 small,.h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.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-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-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{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}.col-xs-1{width:8.333333333333332%}.col-xs-2{width:16.666666666666664%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333333333%}.col-xs-5{width:41.66666666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333333333336%}.col-xs-8{width:66.66666666666666%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333333334%}.col-xs-11{width:91.66666666666666%}.col-xs-12{width:100%}@media(min-width:768px){.container{max-width:750px}.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{float:left}.col-sm-1{width:8.333333333333332%}.col-sm-2{width:16.666666666666664%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333333333%}.col-sm-5{width:41.66666666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333333333336%}.col-sm-8{width:66.66666666666666%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333333334%}.col-sm-11{width:91.66666666666666%}.col-sm-12{width:100%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-11{left:91.66666666666666%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-11{margin-left:91.66666666666666%}}@media(min-width:992px){.container{max-width:970px}.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{float:left}.col-md-1{width:8.333333333333332%}.col-md-2{width:16.666666666666664%}.col-md-3{width:25%}.col-md-4{width:33.33333333333333%}.col-md-5{width:41.66666666666667%}.col-md-6{width:50%}.col-md-7{width:58.333333333333336%}.col-md-8{width:66.66666666666666%}.col-md-9{width:75%}.col-md-10{width:83.33333333333334%}.col-md-11{width:91.66666666666666%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333333333332%}.col-md-push-2{left:16.666666666666664%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333333333%}.col-md-push-5{left:41.66666666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333333333336%}.col-md-push-8{left:66.66666666666666%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333333334%}.col-md-push-11{left:91.66666666666666%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-11{right:91.66666666666666%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-11{margin-left:91.66666666666666%}}@media(min-width:1200px){.container{max-width:1170px}.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{float:left}.col-lg-1{width:8.333333333333332%}.col-lg-2{width:16.666666666666664%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333333333%}.col-lg-5{width:41.66666666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333333333336%}.col-lg-8{width:66.66666666666666%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333333334%}.col-lg-11{width:91.66666666666666%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-11{left:91.66666666666666%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}@media(max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.has-error .help-block,.has-error .control-label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.has-success .help-block,.has-success .control-label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;background-color:#dff0d8;border-color:#468847}.form-control-static{padding-top:7px;margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-print:before{content:"\e045"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-briefcase:before{content:"\1f4bc"}.glyphicon-calendar:before{content:"\1f4c5"}.glyphicon-pushpin:before{content:"\1f4cc"}.glyphicon-paperclip:before{content:"\1f4ce"}.glyphicon-camera:before{content:"\1f4f7"}.glyphicon-lock:before{content:"\1f512"}.glyphicon-bell:before{content:"\1f514"}.glyphicon-bookmark:before{content:"\1f516"}.glyphicon-fire:before{content:"\1f525"}.glyphicon-wrench:before{content:"\1f527"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-bottom:0 dotted;border-left:4px solid transparent;content:""}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#fff;text-decoration:none;background-color:#428bca}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}.dropup .btn-default .caret{border-bottom-color:#333}.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:5px 10px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified .btn{display:table-cell;float:none;width:1%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs-justified>.active>a{border-bottom-color:#fff}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-collapse .navbar-text:last-child{margin-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;z-index:1030}.navbar-fixed-bottom{bottom:0;margin-bottom:0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{margin-right:15px;margin-left:15px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.btn .badge{position:relative;top:-1px}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1{font-size:63px}}.thumbnail{display:inline-block;display:block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img{display:block;height:auto;max-width:100%}a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}.thumbnail>img{margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table{margin-bottom:0}.panel>.panel-body+.table{border-top:1px solid #ddd}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{z-index:1050;width:auto;padding:10px;margin-right:auto;margin-left:auto}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{right:auto;left:50%;width:600px;padding-top:30px;padding-bottom:30px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.0001)),to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;left:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none!important;visibility:hidden!important}.visible-xs{display:none!important}tr.visible-xs{display:none!important}th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm{display:none!important}tr.visible-sm{display:none!important}th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md{display:none!important}tr.visible-md{display:none!important}th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg{display:none!important}tr.visible-lg{display:none!important}th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs{display:none!important}tr.hidden-xs{display:none!important}th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none!important}tr.hidden-xs.hidden-sm{display:none!important}th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none!important}tr.hidden-xs.hidden-md{display:none!important}th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg{display:none!important}tr.hidden-xs.hidden-lg{display:none!important}th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs{display:none!important}tr.hidden-sm.hidden-xs{display:none!important}th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}tr.hidden-sm{display:none!important}th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none!important}tr.hidden-sm.hidden-md{display:none!important}th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg{display:none!important}tr.hidden-sm.hidden-lg{display:none!important}th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs{display:none!important}tr.hidden-md.hidden-xs{display:none!important}th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none!important}tr.hidden-md.hidden-sm{display:none!important}th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}tr.hidden-md{display:none!important}th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg{display:none!important}tr.hidden-md.hidden-lg{display:none!important}th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs{display:none!important}tr.hidden-lg.hidden-xs{display:none!important}th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none!important}tr.hidden-lg.hidden-sm{display:none!important}th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none!important}tr.hidden-lg.hidden-md{display:none!important}th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg{display:none!important}tr.hidden-lg{display:none!important}th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print{display:none!important}tr.visible-print{display:none!important}th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print{display:none!important}tr.hidden-print{display:none!important}th.hidden-print,td.hidden-print{display:none!important}} \ No newline at end of file diff --git a/Amen/Controllers/APIController.cs b/Amen/Controllers/APIController.cs new file mode 100644 index 0000000..315e726 --- /dev/null +++ b/Amen/Controllers/APIController.cs @@ -0,0 +1,139 @@ +using System; +using System.Linq; +using System.Web.Mvc; + +namespace Amen.Controllers +{ + public class APIController : BaseController + { + /* Previous totals before initial reset + 229,412 prayers prayed before reset and 5,762,657 prayers by KTIS affiliates before migration + 13,082 prayer requests before reset and 364,224 requests by KTIS affiliates before migration + 6,211 notes sent before reset and 72,923 notes by KTIS affiliates before migration + */ + public const int CONST_PreviousPrayedCount = 229412 + 5762657; + public const int CONST_PreviousPrayerCount = 13082 + 364224; + public const int CONST_PreviousNotesSent = 6211 + 72923; + + // GET: API/Index + public JsonResult Index() + { + return Json("", JsonRequestBehavior.AllowGet); + } + + public JsonResult PraiseCount(string affiliatekey, string includeAll = "false") + { + return PrayerCount(affiliatekey, includeAll, bool.TrueString); + } + + // GET: API/PrayerCount + public JsonResult PrayerCount(string affiliatekey, string includeAll = "false", string isPraise = "false") + { + var isPraiseBool = StringToBool(isPraise); + var includeAllBool = StringToBool(includeAll); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + + var totalCount = controllerHelper + .db.Prayers + .Count(i => (i.AffiliateId == affiliate.Id + || includeAllBool + ) + && !i.IsDeleted + && i.IsPraise == isPraiseBool); + + if (includeAllBool && !isPraiseBool) + { + totalCount += CONST_PreviousPrayerCount; + } + + var data = new + { + count = totalCount, + display = totalCount.ToString("N0") + }; + + return Json(data, JsonRequestBehavior.AllowGet); + } + + // GET: API/PrayedCount + public JsonResult PrayedCount(string affiliatekey, string includeAll = "false") + { + var includeAllBool = StringToBool(includeAll); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + + var totalCount = controllerHelper + .db.Prayers + .Where(i => (i.AffiliateId == affiliate.Id + && !i.IsDeleted + && !i.IsPraise + ) + || includeAllBool + ) + .Select(i => i.CountPrayed).DefaultIfEmpty(0).Sum(); + + + if (includeAllBool) + { + totalCount += CONST_PreviousPrayedCount; + } + + var data = new + { + count = totalCount, + display = totalCount.ToString("N0") + }; + + return Json(data, JsonRequestBehavior.AllowGet); + } + + // GET: API/PrayedCount + public JsonResult NotesCount(string affiliatekey, string includeAll = "false") + { + var includeAllBool = StringToBool(includeAll); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + + var totalCount = controllerHelper + .db.PrayerNotes + .Include("Prayer") + .Where(i => (i.Prayer.AffiliateId == affiliate.Id + || includeAllBool + ) + && !i.Prayer.IsDeleted + && !i.Prayer.IsPraise) + .Count(); + + + if (includeAllBool) + { + totalCount += CONST_PreviousNotesSent; + } + + + var data = new + { + count = totalCount, + display = totalCount.ToString("N0") + }; + + return Json(data, JsonRequestBehavior.AllowGet); + } + + public static bool StringToBool(string boolString) + { + if (boolString.Equals("1", StringComparison.InvariantCultureIgnoreCase) + || boolString.Equals("yes", StringComparison.InvariantCultureIgnoreCase)) + { + boolString = bool.TrueString; + } + + var boolValue = false; + bool.TryParse(boolString, out boolValue); + + return boolValue; + } + + } +} \ No newline at end of file diff --git a/Amen/Controllers/AccountController.cs b/Amen/Controllers/AccountController.cs new file mode 100644 index 0000000..755469b --- /dev/null +++ b/Amen/Controllers/AccountController.cs @@ -0,0 +1,600 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Web; +using System.Web.Mvc; +using Microsoft.AspNet.Identity; +using Microsoft.AspNet.Identity.Owin; +using Microsoft.Owin.Security; +using Amen.Models; +using Facebook; +using System.Data.Entity; + +namespace Amen.Controllers +{ + [Authorize] + public class AccountController : BaseController + { + private ApplicationSignInManager _signInManager; + private ApplicationUserManager _userManager; + + public AccountController() + { + } + + public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager ) + { + UserManager = userManager; + SignInManager = signInManager; + } + + public ApplicationSignInManager SignInManager + { + get + { + return _signInManager ?? HttpContext.GetOwinContext().Get(); + } + private set + { + _signInManager = value; + } + } + + public ApplicationUserManager UserManager + { + get + { + return _userManager ?? HttpContext.GetOwinContext().GetUserManager(); + } + private set + { + _userManager = value; + } + } + + // + // GET: /Account/Login + [AllowAnonymous] + public ActionResult Login(string returnUrl, string affiliatekey) + { + ViewBag.ReturnUrl = returnUrl; + return View(); + } + + // + // POST: /Account/Login + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public async Task Login(LoginViewModel model, string returnUrl, string affiliatekey) + { + if (!ModelState.IsValid) + { + return View(model); + } + + // This doesn't count login failures towards account lockout + // To enable password failures to trigger account lockout, change to shouldLockout: true + var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: true); + switch (result) + { + case SignInStatus.Success: + var user = controllerHelper.db.Users.Include("Affiliate").FirstOrDefault(i => i.Email == model.Email); + + if (user != null) + { + user.LastLoginDateUtc = DateTime.UtcNow; + controllerHelper.db.SaveChanges(); + affiliatekey = user.Affiliate.Key; + } + + return RedirectToLocal(returnUrl, affiliatekey); + case SignInStatus.LockedOut: + return View("Lockout"); + case SignInStatus.RequiresVerification: + return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); + case SignInStatus.Failure: + default: + ModelState.AddModelError("", "Invalid login attempt."); + return View(model); + } + } + + // + // GET: /Account/VerifyCode + [AllowAnonymous] + public async Task VerifyCode(string provider, string returnUrl, bool rememberMe, string affiliatekey) + { + // Require that the user has already logged in via username/password or external login + if (!await SignInManager.HasBeenVerifiedAsync()) + { + return View("Error"); + } + return View(new VerifyCodeViewModel { Provider = provider, ReturnUrl = returnUrl, RememberMe = rememberMe }); + } + + // + // POST: /Account/VerifyCode + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public async Task VerifyCode(VerifyCodeViewModel model, string affiliatekey) + { + if (!ModelState.IsValid) + { + return View(model); + } + + // The following code protects for brute force attacks against the two factor codes. + // If a user enters incorrect codes for a specified amount of time then the user account + // will be locked out for a specified amount of time. + // You can configure the account lockout settings in IdentityConfig + var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent: model.RememberMe, rememberBrowser: model.RememberBrowser); + switch (result) + { + case SignInStatus.Success: + return RedirectToLocal(model.ReturnUrl, affiliatekey); + case SignInStatus.LockedOut: + return View("Lockout"); + case SignInStatus.Failure: + default: + ModelState.AddModelError("", "Invalid code."); + return View(model); + } + } + + // + // GET: /Account/Register + [AllowAnonymous] + public ActionResult Register(string affiliatekey) + { + var affiliate = new ControllerHelper().GetAffiliate(affiliatekey); + var model = new RegisterViewModel() + { + EnableSmsNotifications = true, + EnableEmailNotifications = true, + AffiliateEnableShowLocation = affiliate.EnableShowLocation, + AffiliateEnableShowName = affiliate.EnableShowName, + AffiliateIsSmsCapable = affiliate.IsSmsCapable + }; + return View(model); + } + + // + // POST: /Account/Register + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public async Task Register(RegisterViewModel model, string affiliatekey) + { + if (ModelState.IsValid) + { + var affiliate = new ControllerHelper().GetAffiliate(affiliatekey); + + var user = new ApplicationUser { FullName = model.FullName, UserName = model.Email, Email = model.Email, AffiliateId = affiliate.Id, LastLoginDateUtc = DateTime.UtcNow, EnableSmsNotifications = model.EnableSmsNotifications, EnableEmailNotifications = model.EnableEmailNotifications, Location = model.Location, ShouldShowLocation = model.ShouldShowLocation, ShouldShowName = model.ShouldShowName }; + //return View(model); + + var result = await UserManager.CreateAsync(user, model.Password); + + if (result.Succeeded) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + + // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 + // Send an email with this link + //string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); + //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code, affiliatekey = affiliatekey }, protocol: Request.Url.Scheme); + //await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking here"); + + //TODO: redirect to note indicating confirmation email was sent + return RedirectToAction("Index", "Prayer", new { affiliatekey = affiliatekey }); + } + + //AddErrors(result); + //hack to not show the "Name [emailaddress] is already taken." error + foreach (var error in result.Errors) + { + if (error.StartsWith("Name") && error.EndsWith("is already taken.")) + continue; + + ModelState.AddModelError("", error); + } + + if (result.Errors.Count(i => i.StartsWith("Email") && i.EndsWith("is already taken.")) > 0) + ViewBag.ShowResetPassword = true; + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ConfirmEmail + [AllowAnonymous] + public async Task ConfirmEmail(string userId, string code, string affiliatekey) + { + if (userId == null || code == null) + { + return View("Error"); + } + var result = await UserManager.ConfirmEmailAsync(userId, code); + return View(result.Succeeded ? "ConfirmEmail" : "Error"); + } + + // + // GET: /Account/ForgotPassword + [AllowAnonymous] + public ActionResult ForgotPassword(string affiliatekey) + { + return View(); + } + + // + // POST: /Account/ForgotPassword + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public async Task ForgotPassword(ForgotPasswordViewModel model, string affiliatekey) + { + if (ModelState.IsValid) + { + var user = await UserManager.FindByNameAsync(model.Email); + //TODO: determine if we only send forgot password requests to confirmed users + if (user == null) // || !(await UserManager.IsEmailConfirmedAsync(user.Id))) + { + // Don't reveal that the user does not exist or is not confirmed + return View("ForgotPasswordConfirmation"); + } + + // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 + // Send an email with this link + string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); + var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); + await UserManager.SendEmailAsync(user.Id, "Reset Password", "Please reset your password by clicking here"); + return RedirectToAction("ForgotPasswordConfirmation", "Account"); + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ForgotPasswordConfirmation + [AllowAnonymous] + public ActionResult ForgotPasswordConfirmation(string affiliatekey) + { + return View(); + } + + // + // GET: /Account/ResetPassword + [AllowAnonymous] + public ActionResult ResetPassword(string code, string affiliatekey) + { + return code == null ? View("Error") : View(); + } + + // + // POST: /Account/ResetPassword + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public async Task ResetPassword(ResetPasswordViewModel model, string affiliatekey) + { + if (!ModelState.IsValid) + { + return View(model); + } + var user = await UserManager.FindByNameAsync(model.Email); + if (user == null) + { + // Don't reveal that the user does not exist + return RedirectToAction("ResetPasswordConfirmation", "Account"); + } + var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); + if (result.Succeeded) + { + return RedirectToAction("ResetPasswordConfirmation", "Account"); + } + AddErrors(result); + return View(); + } + + // + // GET: /Account/ResetPasswordConfirmation + [AllowAnonymous] + public ActionResult ResetPasswordConfirmation(string affiliatekey) + { + return View(); + } + + // + // POST: /Account/ExternalLogin + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public ActionResult ExternalLogin(string provider, string returnUrl, string affiliatekey) + { + + + // Request a redirect to the external login provider + return new ChallengeResult(provider, Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl, affiliatekey = (ViewBag.AffiliateKey ?? ControllerHelper.DefaultAffiliateKey) })); + } + + // + // GET: /Account/SendCode + [AllowAnonymous] + public async Task SendCode(string returnUrl, bool rememberMe, string affiliatekey) + { + var userId = await SignInManager.GetVerifiedUserIdAsync(); + if (userId == null) + { + return View("Error"); + } + var userFactors = await UserManager.GetValidTwoFactorProvidersAsync(userId); + var factorOptions = userFactors.Select(purpose => new SelectListItem { Text = purpose, Value = purpose }).ToList(); + return View(new SendCodeViewModel { Providers = factorOptions, ReturnUrl = returnUrl, RememberMe = rememberMe }); + } + + // + // POST: /Account/SendCode + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public async Task SendCode(SendCodeViewModel model, string affiliatekey) + { + if (!ModelState.IsValid) + { + return View(); + } + + // Generate the token and send it + if (!await SignInManager.SendTwoFactorCodeAsync(model.SelectedProvider)) + { + return View("Error"); + } + return RedirectToAction("VerifyCode", new { Provider = model.SelectedProvider, ReturnUrl = model.ReturnUrl, RememberMe = model.RememberMe }); + } + + // + // GET: /Account/ExternalLoginCallback + [AllowAnonymous] + public async Task ExternalLoginCallback(string returnUrl, string affiliatekey) + { + var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); + if (loginInfo == null) + { + return RedirectToAction("Login"); + } + // added the following lines + if (loginInfo.Login.LoginProvider == "Facebook") + { + var identity = AuthenticationManager.GetExternalIdentity(DefaultAuthenticationTypes.ExternalCookie); + var access_token = identity.FindFirstValue("FacebookAccessToken"); + var fb = new FacebookClient(access_token); + dynamic myInfo = fb.Get("/me?fields=email"); // specify the email field + loginInfo.Email = myInfo.email; + loginInfo.DefaultUserName = identity.Name; + } + + // Sign in the user with this external login provider if the user already has a login + var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false); + switch (result) + { + case SignInStatus.Success: + + var user = controllerHelper.db.Users.Include("Affiliate").Where(i => i.Logins.Count(l => l.ProviderKey.Equals(loginInfo.Login.ProviderKey)) > 0).FirstOrDefault(); + if (user != null) + { + user.LastLoginDateUtc = DateTime.UtcNow; + controllerHelper.db.SaveChanges(); + affiliatekey = user.Affiliate.Key; + } + + return RedirectToLocal(returnUrl, affiliatekey); + case SignInStatus.LockedOut: + return View("Lockout"); + case SignInStatus.RequiresVerification: + return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false }); + case SignInStatus.Failure: + default: + if (await TryCreateOrAssocaiateUser(loginInfo, affiliatekey)) + { + var user2 = controllerHelper.db.Users.Include("Affiliate").FirstOrDefault(i => i.Email == loginInfo.Email); + if (user2 != null) + { + affiliatekey = user2.Affiliate.Key; + } + + return RedirectToLocal(returnUrl, affiliatekey); + } + + // If the user does not have an account, then prompt the user to create an account + ViewBag.ReturnUrl = returnUrl; + ViewBag.LoginProvider = loginInfo.Login.LoginProvider; + return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email, FullName = loginInfo.DefaultUserName }); + } + } + + private async Task TryCreateOrAssocaiateUser( ExternalLoginInfo info, string affiliatekey) + { + var affiliate = new ControllerHelper().GetAffiliate(affiliatekey); + + var user = controllerHelper.db.Users.FirstOrDefault(i => i.Email.Equals(info.Email)); + var result = new IdentityResult(); + + if (user == null) + { + user = new ApplicationUser { UserName = info.Email, FullName = info.DefaultUserName, Email = info.Email, AffiliateId = affiliate.Id, EmailConfirmed = true, LastLoginDateUtc = DateTime.UtcNow, EnableEmailNotifications = true, EnableSmsNotifications = true }; + result = await UserManager.CreateAsync(user); + } + + if (result.Succeeded || result.Errors.Count() == 0) + { + result = await UserManager.AddLoginAsync(user.Id, info.Login); + if (result.Succeeded) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + } + else + { + return false; + } + + return true; + } + + // + // POST: /Account/ExternalLoginConfirmation + [HttpPost] + [AllowAnonymous] + [ValidateAntiForgeryToken] + public async Task ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl, string affiliatekey) + { + if (User.Identity.IsAuthenticated) + { + return RedirectToAction("Index", "Manage"); + } + + if (ModelState.IsValid) + { + // Get the information about the user from the external login provider + var info = await AuthenticationManager.GetExternalLoginInfoAsync(); + if (info == null) + { + return View("ExternalLoginFailure"); + } + + var affiliate = new ControllerHelper().GetAffiliate(affiliatekey); + + var user = controllerHelper.db.Users.FirstOrDefault(i => i.Email.Equals(model.Email)); + var result = new IdentityResult(); + + if (user == null) + { + user = new ApplicationUser { UserName = model.Email, FullName = model.FullName, Email = model.Email, AffiliateId = affiliate.Id, LastLoginDateUtc = DateTime.UtcNow, EnableSmsNotifications = true, EnableEmailNotifications = true }; + result = await UserManager.CreateAsync(user); + } + + if (result.Succeeded || result.Errors.Count() == 0) + { + result = await UserManager.AddLoginAsync(user.Id, info.Login); + if (result.Succeeded) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + return RedirectToLocal(returnUrl, affiliatekey); + } + } + AddErrors(result); + } + + ViewBag.ReturnUrl = returnUrl; + return View(model); + } + + // + // POST: /Account/LogOff + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult LogOff(string affiliatekey) + { + AuthenticationManager.SignOut(); + return RedirectToAction("Index", "Prayer", new { affiliatekey = affiliatekey }); + } + + // + // GET: /Account/ExternalLoginFailure + [AllowAnonymous] + public ActionResult ExternalLoginFailure(string affiliatekey) + { + return View(); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (_userManager != null) + { + _userManager.Dispose(); + _userManager = null; + } + + if (_signInManager != null) + { + _signInManager.Dispose(); + _signInManager = null; + } + } + + base.Dispose(disposing); + } + + #region Helpers + // Used for XSRF protection when adding external logins + private const string XsrfKey = "XsrfId"; + + private IAuthenticationManager AuthenticationManager + { + get + { + return HttpContext.GetOwinContext().Authentication; + } + } + + private void AddErrors(IdentityResult result) + { + foreach (var error in result.Errors) + { + ModelState.AddModelError("", error); + } + } + + private ActionResult RedirectToLocal(string returnUrl, string affiliatekey) + { + if (Url.IsLocalUrl(returnUrl)) + { + return Redirect(returnUrl); + } + return RedirectToAction("Index", "Prayer", new { affiliatekey = affiliatekey }); + } + + internal class ChallengeResult : HttpUnauthorizedResult + { + public ChallengeResult(string provider, string redirectUri) + : this(provider, redirectUri, null) + { + } + + public ChallengeResult(string provider, string redirectUri, string userId) + { + LoginProvider = provider; + RedirectUri = redirectUri; + UserId = userId; + } + + public string LoginProvider { get; set; } + public string RedirectUri { get; set; } + public string UserId { get; set; } + + public override void ExecuteResult(ControllerContext context) + { + + //context.HttpContext.Session["WAKEUP"] = "NOW!"; + //context.HttpContext.Session.RemoveAll(); + + //// this line fixed the problem with returing null + //context.RequestContext.HttpContext.Response.SuppressFormsAuthenticationRedirect = true; + + var properties = new AuthenticationProperties { RedirectUri = RedirectUri }; + if (UserId != null) + { + properties.Dictionary[XsrfKey] = UserId; + } + context.HttpContext.GetOwinContext().Authentication.Challenge(properties, LoginProvider); + } + } + #endregion + } +} \ No newline at end of file diff --git a/Amen/Controllers/AffiliateController.Extended.cs b/Amen/Controllers/AffiliateController.Extended.cs new file mode 100644 index 0000000..71a62d1 --- /dev/null +++ b/Amen/Controllers/AffiliateController.Extended.cs @@ -0,0 +1,816 @@ +using Amen.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Mvc; +using Microsoft.AspNet.Identity; +using System.Configuration; +using System.Text; +using System.Data.Entity; +using OfficeOpenXml; +using System.IO; +using PagedList; + +namespace Amen.Controllers +{ + [Authorize(Roles = ControllerHelper.Role_Administrator + "," + ControllerHelper.Role_AffiliateAdministrator)] + public partial class AffiliateController : BaseController + { + [AllowAnonymous] + public ActionResult Select(string affiliatekey) + { + var prayerSource = PrayerSource.DeterminePrayerSource(this.Request.UserAgent); + + var model = controllerHelper.db + .Affiliates + .Where(i => i.IsActive && i.SubscriptionTypeId != (int)SubscriptionTypeEnum.Demo) + .OrderByDescending(i => i.Key == ControllerHelper.DefaultAffiliateKey) + .ThenBy(i => i.Name) + .Select(i => new AffiliateSelectViewModel() + { + Name = i.Name, + Key = i.Key, + UrlLogo = i.UrlLogo, + SubscriptionTypeId = i.SubscriptionTypeId + }) + .ToList(); + + if (prayerSource == (int)PrayerSourceEnum.iOS) + { + model = model.Where(i => i.Key == ControllerHelper.DefaultAffiliateKey || i.SubscriptionTypeId == (int)SubscriptionTypeEnum.BasicPlus).ToList(); + } + + foreach (var item in model) + { + item.NavigateUrl = Url.Action("Index", "Prayer", new { affiliatekey = item.Key }, null); + } + + return View(model); + } + + + [AllowAnonymous] + public ActionResult NavigateToWebsite(string affiliatekey) + { + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + if (affiliate != null && !string.IsNullOrEmpty(affiliate.UrlWebsite)) + return Redirect(affiliate.UrlWebsite); + + return Redirect(Url.Action("Index", "Prayer", new { affiliatekey = affiliate.Key })); + } + + bool ValidateAccess(string affiliatekey) + { + if (User.IsInRole(ControllerHelper.Role_Administrator)) + return true; + + if (User.IsInRole(ControllerHelper.Role_AffiliateAdministrator)) + { + var appUserId = User.Identity.GetUserId(); + return controllerHelper.db.AffiliateAdmins.Include("Affiliate").Count(i => i.Affiliate.Key.Equals(affiliatekey) && i.ApplicationUserId == appUserId) > 0; + } + + return false; + } + + public ActionResult Users(int id, string affiliatekey) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var adminRoles = db.Roles.Where(i => i.Name == ControllerHelper.Role_Administrator || i.Name == ControllerHelper.Role_AffiliateAdministrator).Select(i => i.Id).ToList(); + var admins = db.Users.Where(i => i.AffiliateId == id && i.Roles.Count(r => adminRoles.Contains(r.RoleId)) > 0).Select(i => i.Id).ToList(); + + var offset = controllerHelper.GetTimeZoneOffsetFromClient(); + + //TODO: add case where user does not have default affiliate of current affiliate, but is an admin for the affiliate (when 1 person is an admin for multiple affiliates) + var model = new AffiliateUsersViewModel(); + model.Id = id; + model.Users = controllerHelper.db.Users + .Include("Affiliate") + .Where(i => i.AffiliateId == id) + .Select(i => new AffiliateUsersViewModel.AffiliateUserViewModel() + { + Id = i.Id, + FullName = i.FullName, + Email = i.Email, + //LastLoginDate = i.LastLoginDateUtc, + OffsetMinutes = offset, + IsAdmin = i.Roles.Count(r => admins.Contains(r.UserId)) > 0 + }) + .OrderByDescending(i => i.IsAdmin) + .ThenBy(i => i.FullName) + .ToList(); + + return View(model); + } + + [Authorize(Roles = ControllerHelper.Role_Administrator)] + public ActionResult UserMakeAdmin(int id, string userId) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var adminRoleId = db.Roles.First(i => i.Name == ControllerHelper.Role_AffiliateAdministrator).Id; + var user = db.Users.Include("Roles").FirstOrDefault(i => i.Id == userId); + if (user != null) + { + if (user.Roles.Count(i => i.RoleId == adminRoleId) == 0) + { + user.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole() { RoleId = adminRoleId, UserId = user.Id }); + db.SaveChanges(); + } + + if (db.AffiliateAdmins.Count(i => i.ApplicationUserId == userId && i.AffiliateId == id) == 0) + { + db.AffiliateAdmins.Add(new AffiliateAdmin() + { + AffiliateId = id, + ApplicationUserId = userId, + CreatedUTC = DateTime.UtcNow + + }); + db.SaveChanges(); + } + } + + return RedirectToAction("Users", new { id = id, affiliatekey = ViewBag.AffiliateKey ?? Amen.Controllers.ControllerHelper.DefaultAffiliateKey }); + } + + [Authorize(Roles = ControllerHelper.Role_Administrator)] + public ActionResult UserRemoveAdmin(int id, string userId) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var adminRoleId = db.Roles.First(i => i.Name == ControllerHelper.Role_AffiliateAdministrator).Id; + var user = db.Users.Include("Roles").FirstOrDefault(i => i.Id == userId); + if (user != null) + { + var role = user.Roles.FirstOrDefault(i => i.RoleId == adminRoleId); + if (role != null) + { + user.Roles.Remove(role); + db.SaveChanges(); + } + + var affAdmin = db.AffiliateAdmins.FirstOrDefault(i => i.ApplicationUserId == userId && i.AffiliateId == id); + if (affAdmin != null) + { + db.AffiliateAdmins.Remove(affAdmin); + db.SaveChanges(); + } + } + + return RedirectToAction("Users", new { id = id, affiliatekey = ViewBag.AffiliateKey ?? Amen.Controllers.ControllerHelper.DefaultAffiliateKey }); + } + + public ActionResult Prayers(int id, string affiliatekey, int page = 1) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var pageSize = 100; + + var model = new AffiliatePrayersViewModel() { Id = id, PageSize = pageSize, Page = page }; + model.Prayers = controllerHelper.db + .Prayers + .Include("ApplicationUser") + .Where(i => i.AffiliateId == id + && !i.IsPraise + && !i.IsDeleted) + .OrderByDescending(i => i.CreatedUTC) + .ToPagedList(page, pageSize); + + return View(model); + } + + public ActionResult Praise(int id, string affiliatekey, int page = 1) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var pageSize = 100; + + var model = new AffiliatePrayersViewModel() { Id = id, PageSize = pageSize, Page = page }; + model.Prayers = controllerHelper.db + .Prayers + .Include("ApplicationUser") + .Where(i => i.AffiliateId == id + && i.IsPraise + && !i.IsDeleted) + .OrderByDescending(i => i.CreatedUTC) + .ToPagedList(page, pageSize); + + return View(model); + } + + public void ExportPrayers(int id, string affiliatekey, int days = 0) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return; + + if (days <= 0) + { + days = 20 * 365; + } + + var startDate = DateTime.UtcNow.AddDays(-days); + + var data = controllerHelper.db + .Prayers + .Include("ApplicationUser") + .Include("PrayerSource") + .Where(i => i.AffiliateId == id + && !i.IsPraise + && !i.IsDeleted + && i.CreatedUTC >= startDate) + .OrderByDescending(i => i.Id) + //.OrderByDescending(i => i.CreatedUTC) + .ToList(); + + ExcelPackage excel = new ExcelPackage(); + var workSheet = excel.Workbook.Worksheets.Add("Prayers"); + var filename = string.Format("{0}-Prayers", affiliatekey); + + var row = 1; + var col = 1; + //headers first + workSheet.Cells[row, col++].Value = "Id"; + workSheet.Cells[row, col++].Value = "IsActive"; + workSheet.Cells[row, col++].Value = "Title"; + workSheet.Cells[row, col++].Value = "Content"; + workSheet.Cells[row, col++].Value = "CountPrayed"; + workSheet.Cells[row, col++].Value = "CountFlagged"; + workSheet.Cells[row, col++].Value = "EnableEmailNote"; + workSheet.Cells[row, col++].Value = "EnableEmailNotification"; + workSheet.Cells[row, col++].Value = "EnableTextNotification"; + workSheet.Cells[row, col++].Value = "FullName"; + workSheet.Cells[row, col++].Value = "Email"; + workSheet.Cells[row, col++].Value = "IPAddress"; + workSheet.Cells[row, col++].Value = "UserAgent"; + workSheet.Cells[row, col++].Value = "Source"; + workSheet.Cells[row, col++].Value = "CreatedUTC"; + workSheet.Column(col - 1).Style.Numberformat.Format = "m/d/yyyy HH:mm"; + + foreach (var item in data) + { + col = 1; + row++; + workSheet.Cells[row, col++].Value = item.Id; + workSheet.Cells[row, col++].Value = item.IsActive; + workSheet.Cells[row, col++].Value = item.Summary; + workSheet.Cells[row, col++].Value = item.Content; + workSheet.Cells[row, col++].Value = item.CountPrayed; + workSheet.Cells[row, col++].Value = item.CountFlagged; + workSheet.Cells[row, col++].Value = item.EnableEmailNote; + workSheet.Cells[row, col++].Value = item.EnableEmailNotification; + workSheet.Cells[row, col++].Value = item.EnableTextNotification; + + if (item.ApplicationUser != null) + { + workSheet.Cells[row, col++].Value = item.ApplicationUser.FullName; + workSheet.Cells[row, col++].Value = item.ApplicationUser.Email; + } + else + { + workSheet.Cells[row, col++].Value = item.AnonymousName; + workSheet.Cells[row, col++].Value = item.AnonymousEmail; + } + + workSheet.Cells[row, col++].Value = item.AnonymousPhone; + workSheet.Cells[row, col++].Value = item.IPAddress; + workSheet.Cells[row, col++].Value = item.UserAgent; + workSheet.Cells[row, col++].Value = item.PrayerSource.EnumValue.ToString(); + workSheet.Cells[row, col++].Value = item.CreatedUTC; + + } + + for (int i = 1; i <= workSheet.Dimension.End.Column; i++) + { + workSheet.Column(i).AutoFit(0, 300); + } + + using (var memoryStream = new MemoryStream()) + { + Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + Response.AddHeader("content-disposition", "attachment; filename=" + filename + ".xlsx"); + excel.SaveAs(memoryStream); + memoryStream.WriteTo(Response.OutputStream); + Response.Flush(); + Response.End(); + } + } + + public void ExportPraise(int id, string affiliatekey, int days = 0) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return; + + if (days <= 0) + { + days = 20 * 365; + } + + var startDate = DateTime.UtcNow.AddDays(-days); + + var data = controllerHelper.db + .Prayers + .Include("ApplicationUser") + .Include("PrayerSource") + .Where(i => i.AffiliateId == id + && i.IsPraise + && !i.IsDeleted + && i.CreatedUTC >= startDate) + .OrderByDescending(i => i.Id) + //.OrderByDescending(i => i.CreatedUTC) + .ToList(); + + ExcelPackage excel = new ExcelPackage(); + var workSheet = excel.Workbook.Worksheets.Add("Praise"); + var filename = string.Format("{0}-Praise", affiliatekey); + + var row = 1; + var col = 1; + //headers first + workSheet.Cells[row, col++].Value = "Id"; + workSheet.Cells[row, col++].Value = "IsActive"; + workSheet.Cells[row, col++].Value = "Title"; + workSheet.Cells[row, col++].Value = "Content"; + workSheet.Cells[row, col++].Value = "CountFlagged"; + workSheet.Cells[row, col++].Value = "FullName"; + workSheet.Cells[row, col++].Value = "Email"; + workSheet.Cells[row, col++].Value = "IPAddress"; + workSheet.Cells[row, col++].Value = "UserAgent"; + workSheet.Cells[row, col++].Value = "Source"; + workSheet.Cells[row, col++].Value = "CreatedUTC"; + workSheet.Column(col - 1).Style.Numberformat.Format = "m/d/yyyy HH:mm"; + + foreach (var item in data) + { + col = 1; + row++; + workSheet.Cells[row, col++].Value = item.Id; + workSheet.Cells[row, col++].Value = item.IsActive; + workSheet.Cells[row, col++].Value = item.Summary; + workSheet.Cells[row, col++].Value = item.Content; + workSheet.Cells[row, col++].Value = item.CountFlagged; + + if (item.ApplicationUser != null) + { + workSheet.Cells[row, col++].Value = item.ApplicationUser.FullName; + workSheet.Cells[row, col++].Value = item.ApplicationUser.Email; + } + else + { + workSheet.Cells[row, col++].Value = item.AnonymousName; + workSheet.Cells[row, col++].Value = item.AnonymousEmail; + } + + workSheet.Cells[row, col++].Value = item.IPAddress; + workSheet.Cells[row, col++].Value = item.UserAgent; + workSheet.Cells[row, col++].Value = item.PrayerSource.EnumValue.ToString(); + workSheet.Cells[row, col++].Value = item.CreatedUTC; + + } + + for (int i = 1; i <= workSheet.Dimension.End.Column; i++) + { + workSheet.Column(i).AutoFit(0, 300); + } + + using (var memoryStream = new MemoryStream()) + { + Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + Response.AddHeader("content-disposition", "attachment; filename=" + filename + ".xlsx"); + excel.SaveAs(memoryStream); + memoryStream.WriteTo(Response.OutputStream); + Response.Flush(); + Response.End(); + } + } + + public ActionResult PrayerEdit(int id, string affiliatekey) + { + var prayer = db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + if (!ValidateAccess(prayer.Affiliate.Key)) + return new EmptyResult(); + + var model = controllerHelper.db.Prayers + .Include("ApplicationUser") + .FirstOrDefault(i => i.Id == id && !i.IsDeleted); + + ViewBag.PrayerSourceId = new SelectList(db.PrayerSources, "Id", "Label", model.PrayerSourceId); + + return View(model); + } + + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult PrayerEdit([Bind(Include = "Id,PWId,AffiliateId,ApplicationUserId,IsActive,IsDeleted,EnableTextNotification,EnableEmailNotification,EnableEmailNote,Summary,Content,IsPraise,AnonymousName,AnonymousEmail,AnonymousPhone,AgreeTermsOfUse,IPAddress,UserAgent,ModifiedUTC,CreatedUTC,CountPrayed,CountFlagged,PrayerSourceId")] Prayer prayer, string affiliatekey) + //public ActionResult PrayerEdit([Bind(Include = "Id,IsActive,EnableTextNotification")] Prayer prayer, string affiliatekey) + { + Affiliate affiliate = db.Affiliates.Find(prayer.AffiliateId); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + if (ModelState.IsValid) + { + prayer.ModifiedUTC = DateTime.UtcNow; + db.Entry(prayer).State = EntityState.Modified; + db.SaveChanges(); + + if (prayer.IsPraise) + return RedirectToAction("Praise", new { id = prayer.AffiliateId, affiliatekey = affiliatekey }); + else + return RedirectToAction("Prayers", new { id = prayer.AffiliateId, affiliatekey = affiliatekey }); + } + + ViewBag.PrayerSourceId = new SelectList(db.PrayerSources, "Id", "Label", prayer.PrayerSourceId); + return View(prayer); + } + + public ActionResult PrayerDelete(int id, string affiliatekey) + { + var prayer = controllerHelper.db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + if (!ValidateAccess(prayer.Affiliate.Key)) + return new EmptyResult(); + + prayer.IsDeleted = true; + prayer.ModifiedUTC = DateTime.UtcNow; + controllerHelper.db.SaveChanges(); + + if (prayer.IsPraise) + return RedirectToAction("Praise", new { id = prayer.AffiliateId, affiliatekey = affiliatekey }); + else + return RedirectToAction("Prayers", new { id = prayer.AffiliateId, affiliatekey = affiliatekey }); + } + + public ActionResult PrayerActivate(int id, string affiliatekey) + { + var prayer = controllerHelper.db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + if (!ValidateAccess(prayer.Affiliate.Key)) + return new EmptyResult(); + + prayer.IsActive = true; + prayer.ModifiedUTC = DateTime.UtcNow; + controllerHelper.db.SaveChanges(); + + if (prayer.IsPraise) + return RedirectToAction("Praise", new { id = prayer.AffiliateId, affiliatekey = affiliatekey }); + else + return RedirectToAction("Prayers", new { id = prayer.AffiliateId, affiliatekey = affiliatekey }); + } + + // GET: Affiliate + public ActionResult Index() + { + var affiliates = new List(); + if (!User.IsInRole(ControllerHelper.Role_Administrator)) + { + var appUserId = User.Identity.GetUserId() ?? "none"; + affiliates = db.AffiliateAdmins + .Include("Affiliate") + .Include("Affiliate.SubscriptionType") + .Where(i => i.ApplicationUserId == appUserId) + .Select(i => i.Affiliate) + .ToList(); + + if (affiliates.Count == 1) + return RedirectToAction("Details", new { id = affiliates.First().Id, affiliatekey = affiliates.First().Key }); + + } + else + { + affiliates = db.Affiliates + .Include("SubscriptionType") + .ToList(); + } + + affiliates = affiliates + .OrderByDescending(i => i.Key == ControllerHelper.DefaultAffiliateKey) + .ThenByDescending(i => i.IsActive) + .ThenBy(i => i.Name) + .ToList(); + + return View(affiliates); + } + + public ActionResult Stats(int id, string affiliatekey) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var model = new AffiliateStatsViewModel(); + model.Id = id; + + var recentStart = DateTime.UtcNow.AddDays(-30); + + model.TotalRequests = db.Prayers.Count(i => i.AffiliateId == id && !i.IsDeleted && !i.IsPraise); + model.RecentRequests = db.Prayers.Count(i => i.AffiliateId == id && !i.IsDeleted && !i.IsPraise && i.CreatedUTC > recentStart); + + model.TotalPraise = db.Prayers.Count(i => i.AffiliateId == id && !i.IsDeleted && i.IsPraise); + model.RecentPraise = db.Prayers.Count(i => i.AffiliateId == id && !i.IsDeleted && i.IsPraise && i.CreatedUTC > recentStart); + + model.TotalNotesSent = db.PrayerNotes.Include("Prayer").Count(i => i.Prayer.AffiliateId == id && !i.Prayer.IsDeleted); + model.RecentNotesSent = db.PrayerNotes.Include("Prayer").Count(i => i.Prayer.AffiliateId == id && !i.Prayer.IsDeleted && i.CreatedUTC > recentStart); + + //TODO look at prayer rather than PrayerItems + //model.TotalPrayersPrayed = db.PrayerItems.Include("Prayer").Count(i => i.Prayer.AffiliateId == id && !i.Prayer.IsDeleted); + //model.RecentPrayersPrayed = db.PrayerItems.Include("Prayer").Count(i => i.Prayer.AffiliateId == id && !i.Prayer.IsDeleted && i.CreatedUTC > recentStart); + model.TotalPrayersPrayed = db.Prayers.Where(i => !i.IsDeleted && i.AffiliateId == id).Select(i => i.CountPrayed).DefaultIfEmpty(0).Sum(); + model.RecentPrayersPrayed = db.Prayers.Where(i => !i.IsDeleted && i.AffiliateId == id && i.CreatedUTC > recentStart).Select(i => i.CountPrayed).DefaultIfEmpty(0).Sum(); + + //TODO look at prayer.CountFlagged rather than PrayerFlags + //model.TotalFlagsIndicated = db.PrayerFlags.Include("Prayer").Count(i => i.Prayer.AffiliateId == id && !i.Prayer.IsDeleted); + //model.RecentFlagsIndicated = db.PrayerFlags.Include("Prayer").Count(i => i.Prayer.AffiliateId == id && !i.Prayer.IsDeleted && i.CreatedUTC > recentStart); + model.TotalFlagsIndicated = db.Prayers.Where(i => !i.IsDeleted && i.AffiliateId == id).Select(i => i.CountFlagged).DefaultIfEmpty(0).Sum(); + model.RecentFlagsIndicated = db.Prayers.Where(i => !i.IsDeleted && i.AffiliateId == id && i.CreatedUTC > recentStart).Select(i => i.CountFlagged).DefaultIfEmpty(0).Sum(); + + return View(model); + } + + public string UploadImage(string affiliatekey) + { + if (!ValidateAccess(affiliatekey)) + return string.Empty; + + var returnImage = ""; + + if (this.Request.Files.AllKeys.Any()) + { + // Get the uploaded image from the Files collection + var httpPostedFile = this.Request.Files["UploadedImage"]; + + var fileName = httpPostedFile.FileName; + var contentType = httpPostedFile.ContentType; + var fileExtension = fileName.Substring(fileName.LastIndexOf('.') + 1); + fileName = fileName.Substring(0, fileName.LastIndexOf('.')); + + var imageName = string.Format("{0}-{1}-{2}.{3}", affiliatekey, fileName, DateTime.UtcNow.Ticks, fileExtension).ToLower(); + + foreach (char c in System.IO.Path.GetInvalidFileNameChars()) + { + imageName = imageName.Replace(c, '-'); + } + + var azureFolder = ConfigurationManager.AppSettings["AzureBlobStorageLogoFolder"]; + + if (httpPostedFile != null) + { + returnImage = ControllerHelper.ResizeAndSaveStreamToBlobStorage(httpPostedFile.InputStream, azureFolder, imageName, contentType, new ImageResizer.ResizeSettings(200, 200, ImageResizer.FitMode.Max, fileExtension)); + + //httpPostedFile.InputStream.Position = 0; + //returnImage = BlobStorageHelper.SaveToBlobStorage(azureFolder, imageName, contentType, httpPostedFile.InputStream); + } + } + return returnImage; + } + + public ActionResult Style(int id, string affiliatekey) + { + Affiliate affiliate = db.Affiliates.Find(id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var builder = new StringBuilder(); + var styles = controllerHelper.db.AffiliateStyles.Where(i => i.AffiliateId == id).Select(i => i.StyleSheet); + foreach (var style in styles) + { + builder.Append(style); + builder.AppendLine(); + } + + var template = System.IO.File.ReadAllText(Server.MapPath(@"~/Content/SiteCustom.css")).Trim(); + var model = new AffiliateStyleViewModel() + { + Id = id, + Template = template, + StyleContent = builder.ToString(), + Key = affiliatekey + }; + + return View(model); + } + + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult Style(AffiliateStyleViewModel affiliateStyle, string affiliatekey) + { + if (!ValidateAccess(affiliateStyle.Key)) + return new EmptyResult(); + + if (ModelState.IsValid) + { + var styleItem = db.AffiliateStyles.FirstOrDefault(i => i.AffiliateId == affiliateStyle.Id); + var hasNewContent = !string.IsNullOrWhiteSpace(affiliateStyle.StyleContent); + var hasExistingStyle = styleItem != null; + + if (!hasNewContent && hasExistingStyle)//need to clear out style + { + db.AffiliateStyles.Remove(styleItem); + } + else if (hasNewContent && !hasExistingStyle) // need to add new style + { + db.AffiliateStyles.Add(new AffiliateStyle() + { + AffiliateId = affiliateStyle.Id, + StyleSheet = affiliateStyle.StyleContent.Trim(), + CreatedUTC = DateTime.UtcNow + }); + } + else if (hasNewContent && hasExistingStyle) // need to update existing style + { + styleItem.StyleSheet = affiliateStyle.StyleContent.Trim(); + } + + db.SaveChanges(); + + } + + return View(affiliateStyle); + } + + + public ActionResult FlagWords(int id, string affiliatekey) + { + Affiliate affiliate = db.Affiliates.Include("AutoFlagItems").FirstOrDefault(i => i.Id == id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var model = new AffiliateFlagItemsViewModel() + { + Id = id, + Key = affiliatekey, + FlagItems = string.Join(",", affiliate.AutoFlagItems.Select(i => i.Text).ToArray()) + }; + + return View(model); + } + + + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult FlagWords(AffiliateFlagItemsViewModel model, string affiliatekey) + { + if (!ValidateAccess(model.Key)) + return new EmptyResult(); + + if (ModelState.IsValid) + { + var affiliate = db.Affiliates.Include("AutoFlagItems").FirstOrDefault(i => i.Key.Equals(model.Key)); + + var newList = (model.FlagItems ?? "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => i.Trim()).ToList(); + var existingList = affiliate.AutoFlagItems.Select(i => i.Text.Trim()).ToList(); + + var added = newList.Except(existingList); + var deleted = existingList.Except(newList); + + foreach (var item in added) + { + db.AutoFlagItems.Add(new AutoFlagItem() + { + AffiliateId = affiliate.Id, + Text = item + }); + } + + var dbItems = affiliate.AutoFlagItems.ToList(); + foreach (var item in dbItems) + { + if (deleted.Contains(item.Text)) + db.AutoFlagItems.Remove(item); + } + + db.SaveChanges(); + + } + + return View(model); + } + + + public ActionResult FlagIPs(int id, string affiliatekey) + { + Affiliate affiliate = db.Affiliates.Include("BlacklistIPs").FirstOrDefault(i => i.Id == id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var model = new AffiliateFlagItemsViewModel() + { + Id = id, + Key = affiliatekey, + FlagItems = string.Join(",", affiliate.BlacklistIPs.Select(i => i.IP).ToArray()) + }; + + return View(model); + } + + + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult FlagIPs(AffiliateFlagItemsViewModel model, string affiliatekey) + { + if (!ValidateAccess(model.Key)) + return new EmptyResult(); + + if (ModelState.IsValid) + { + var affiliate = db.Affiliates.Include("BlacklistIPs").FirstOrDefault(i => i.Key.Equals(model.Key)); + + var newList = (model.FlagItems ?? "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => i.Trim()).ToList(); + var existingList = affiliate.BlacklistIPs.Select(i => i.IP.Trim()).ToList(); + + var added = newList.Except(existingList); + var deleted = existingList.Except(newList); + + foreach (var item in added) + { + db.BlacklistIPs.Add(new BlacklistIP() + { + AffiliateId = affiliate.Id, + IP = item + }); + } + + var dbItems = affiliate.BlacklistIPs.ToList(); + foreach (var item in dbItems) + { + if (deleted.Contains(item.IP)) + db.BlacklistIPs.Remove(item); + } + + db.SaveChanges(); + + } + + return View(model); + } + + + public ActionResult FlagEmails(int id, string affiliatekey) + { + Affiliate affiliate = db.Affiliates.Include("BlacklistEmails").FirstOrDefault(i => i.Id == id); + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var model = new AffiliateFlagItemsViewModel() + { + Id = id, + Key = affiliatekey, + FlagItems = string.Join(",", affiliate.BlacklistEmails.Select(i => i.Email).ToArray()) + }; + + return View(model); + } + + + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult FlagEmails(AffiliateFlagItemsViewModel model, string affiliatekey) + { + if (!ValidateAccess(model.Key)) + return new EmptyResult(); + + if (ModelState.IsValid) + { + var affiliate = db.Affiliates.Include("BlacklistEmails").FirstOrDefault(i => i.Key.Equals(model.Key)); + + var newList = (model.FlagItems ?? "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => i.Trim()).ToList(); + var existingList = affiliate.BlacklistEmails.Select(i => i.Email.Trim()).ToList(); + + var added = newList.Except(existingList); + var deleted = existingList.Except(newList); + + foreach (var item in added) + { + db.BlacklistEmails.Add(new BlacklistEmail() + { + AffiliateId = affiliate.Id, + Email = item + }); + } + + var dbItems = affiliate.BlacklistEmails.ToList(); + foreach (var item in dbItems) + { + if (deleted.Contains(item.Email)) + db.BlacklistEmails.Remove(item); + } + + db.SaveChanges(); + + } + + return View(model); + } + } +} \ No newline at end of file diff --git a/Amen/Controllers/AffiliateController.cs b/Amen/Controllers/AffiliateController.cs new file mode 100644 index 0000000..2b4a496 --- /dev/null +++ b/Amen/Controllers/AffiliateController.cs @@ -0,0 +1,146 @@ +using System.Data.Entity; +using System.Linq; +using System.Net; +using System.Web.Mvc; +using Amen.Models; + +namespace Amen.Controllers +{ + public partial class AffiliateController : BaseController + { + private ApplicationDbContext db = new ApplicationDbContext(); + + + // GET: Affiliate/Details/5 + public ActionResult Details(int? id, string affiliatekey) + { + if (id == null) + { + return new HttpStatusCodeResult(HttpStatusCode.BadRequest); + } + + Affiliate affiliate = db.Affiliates.Find(id); + + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + affiliate = db.Affiliates.Include("SubscriptionType").FirstOrDefault(i => i.Id == id); + if (affiliate == null) + { + return HttpNotFound(); + } + return View(affiliate); + } + + // GET: Affiliate/Create + [Authorize(Roles = ControllerHelper.Role_Administrator)] + public ActionResult Create() + { + ViewBag.SubscriptionTypeId = new SelectList(db.SubscriptionTypes, "Id", "Label"); + return View(); + } + + // POST: Affiliate/Create + // To protect from overposting attacks, please enable the specific properties you want to bind to, for + // more details see http://go.microsoft.com/fwlink/?LinkId=317598. + [HttpPost] + [ValidateAntiForgeryToken] + [Authorize(Roles = ControllerHelper.Role_Administrator)] + public ActionResult Create([Bind(Include = "Id,PWId,Key,IncludeInUniversal,IsActive,Name,Instructions,InstructionsAddPrayer,UrlWebsite,UrlLogo,EmailAdmin,EmailBilling,EmailFlag,SendMessagePrayed,SendMessageNote,PrayerDaysThreshold,FlagThreshold,TwilioSID,TwilioAuthToken,TwilioPhoneNumber,ShouldSendPrayerNotificationAdmin,ShouldSendPraiseNotificationAdmin,EnableNotes,RequireModeration,SubscriptionTypeId,RequireLoginForNoticiations,EnableShowLocation,EnableShowName")] Affiliate affiliate) + { + if (ModelState.IsValid) + { + db.Affiliates.Add(affiliate); + db.SaveChanges(); + return RedirectToAction("Details", new { id = affiliate.Id, affiliatekey = ViewBag.AffiliateKey ?? Amen.Controllers.ControllerHelper.DefaultAffiliateKey }); + } + + ViewBag.SubscriptionTypeId = new SelectList(db.SubscriptionTypes, "Id", "Label", affiliate.SubscriptionTypeId); + return View(affiliate); + } + + // GET: Affiliate/Edit/5 + public ActionResult Edit(int? id) + { + if (id == null) + { + return new HttpStatusCodeResult(HttpStatusCode.BadRequest); + } + Affiliate affiliate = db.Affiliates.Find(id); + if (affiliate == null) + { + return HttpNotFound(); + } + + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + ViewBag.SubscriptionTypeId = new SelectList(db.SubscriptionTypes, "Id", "Label", affiliate.SubscriptionTypeId); + return View(affiliate); + } + + // POST: Affiliate/Edit/5 + // To protect from overposting attacks, please enable the specific properties you want to bind to, for + // more details see http://go.microsoft.com/fwlink/?LinkId=317598. + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult Edit([Bind(Include = "Id,PWId,Key,IncludeInUniversal,IsActive,Name,Instructions,InstructionsPraise,InstructionsAddPrayer,InstructionsAddPraise,InstructionsNote,UrlWebsite,UrlLogo,EmailAdmin,EmailBilling,EmailFlag,SendMessagePrayed,SendMessageNote,PrayerDaysThreshold,FlagThreshold,TwilioSID,TwilioAuthToken,TwilioPhoneNumber,ShouldSendPrayerNotificationAdmin,ShouldSendPraiseNotificationAdmin,EnableNotes,RequireModeration,SubscriptionTypeId,RequireLoginForNoticiations,EnableShowLocation,EnableShowName")] Affiliate affiliate) + { + if (!ValidateAccess(affiliate.Key)) + return new EmptyResult(); + + var extraValid = true; + if (affiliate.PrayerDaysThreshold <= 0 || affiliate.FlagThreshold <= 0) + { + extraValid = false; + } + + if (ModelState.IsValid && extraValid) + { + db.Entry(affiliate).State = EntityState.Modified; + db.SaveChanges(); + return RedirectToAction("Details", new { id = affiliate.Id, affiliatekey = ViewBag.AffiliateKey ?? Amen.Controllers.ControllerHelper.DefaultAffiliateKey }); + } + + ViewBag.SubscriptionTypeId = new SelectList(db.SubscriptionTypes, "Id", "Label", affiliate.SubscriptionTypeId); + return View(affiliate); + } + + // GET: Affiliate/Delete/5 + [Authorize(Roles = ControllerHelper.Role_Administrator)] + public ActionResult Delete(int? id) + { + if (id == null) + { + return new HttpStatusCodeResult(HttpStatusCode.BadRequest); + } + Affiliate affiliate = db.Affiliates.Find(id); + if (affiliate == null) + { + return HttpNotFound(); + } + return View(affiliate); + } + + // POST: Affiliate/Delete/5 + [HttpPost, ActionName("Delete")] + [ValidateAntiForgeryToken] + [Authorize(Roles = ControllerHelper.Role_Administrator)] + public ActionResult DeleteConfirmed(int id) + { + Affiliate affiliate = db.Affiliates.Find(id); + db.Affiliates.Remove(affiliate); + db.SaveChanges(); + return RedirectToAction("Index", new { affiliatekey = ViewBag.AffiliateKey ?? Amen.Controllers.ControllerHelper.DefaultAffiliateKey }); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + db.Dispose(); + } + base.Dispose(disposing); + } + } +} diff --git a/Amen/Controllers/BaseController.cs b/Amen/Controllers/BaseController.cs new file mode 100644 index 0000000..20822e8 --- /dev/null +++ b/Amen/Controllers/BaseController.cs @@ -0,0 +1,46 @@ +using System.Collections.Generic; +using System.Configuration; +using System.Web.Mvc; +using System.Web.Routing; + +namespace Amen.Controllers +{ + public class BaseController : Controller + { + public ControllerHelper controllerHelper = new ControllerHelper(); + + protected override void OnActionExecuting(ActionExecutingContext filterContext) + { + //ViewBag.AffiliateKey = filterContext.ActionParameters["affiliatekey"]; + + ViewBag.AffiliateKey = filterContext.RouteData.Values["affiliatekey"]; + var isAdmin = filterContext.HttpContext.User.IsInRole(ControllerHelper.Role_Administrator); + ViewBag.IsAdministrator = isAdmin; + + string controller = (filterContext.RouteData.Values["controller"] as string ?? "").ToLower(); + string action = (filterContext.RouteData.Values["action"] as string ?? "").ToLower(); + var isUpgrade = false; + bool.TryParse(ConfigurationManager.AppSettings["IsUpgradeInProgress"], out isUpgrade); + + var allowControllers = new List() { "account", "css" }; + var allowActions = new List() { "upgradeinprogress" }; + + ViewBag.IsUpgradeInProgress = isUpgrade; + + if (isUpgrade + && !isAdmin + && !allowControllers.Contains(controller) + && !allowActions.Contains(action)) + { + filterContext.Result = new RedirectToRouteResult( + new RouteValueDictionary { + { "controller", "Home" }, + { "action", "UpgradeInProgress" }, + { "affiliatekey", ViewBag.AffiliateKey } + }); + } + + base.OnActionExecuting(filterContext); + } + } +} \ No newline at end of file diff --git a/Amen/Controllers/CSSController.cs b/Amen/Controllers/CSSController.cs new file mode 100644 index 0000000..4fa4f81 --- /dev/null +++ b/Amen/Controllers/CSSController.cs @@ -0,0 +1,36 @@ +using System.Linq; +using System.Text; +using System.Web.Mvc; + +namespace Amen.Controllers +{ + public class CssController : BaseController + { + public ContentResult GetTheme(string affiliatekey) + { + var builder = new StringBuilder(); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + var styles = controllerHelper.db.AffiliateStyles.Where(i => i.AffiliateId == affiliate.Id).Select(i => i.StyleSheet); + + foreach (var style in styles) + { + builder.Append(style); + builder.AppendLine(); + } + + return Content(builder.ToString(), "text/css"); + } + + public ActionResult AffiliateLogo(string affiliatekey) + { + var path = controllerHelper.Absolute(Url, Url.Content("~/Content/Images/Blank.png")); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + if (affiliate != null && !string.IsNullOrEmpty(affiliate.UrlLogo)) + path = affiliate.UrlLogo; + + return Redirect(path); + } + } +} \ No newline at end of file diff --git a/Amen/Controllers/ControllerHelper.cs b/Amen/Controllers/ControllerHelper.cs new file mode 100644 index 0000000..f9b5b76 --- /dev/null +++ b/Amen/Controllers/ControllerHelper.cs @@ -0,0 +1,195 @@ +using Amen.Models; +using System; +using System.Linq; +using System.Web; +using Microsoft.AspNet.Identity; +using System.Web.Mvc; +using System.IO; +using System.Web.Routing; +using System.Data.Entity; +using Amen.Helpers; +using Microsoft.Crm.Sdk.Messages; + +namespace Amen.Controllers +{ + public class ControllerHelper + { + public const string DefaultAffiliateKey = "Amen"; + public const string Role_SuperAdministrator = "Super Administrator"; + public const string Role_Administrator = "Administrator"; + public const string Role_AffiliateAdministrator = "Affiliate Administrator"; + + public ApplicationDbContext db = new ApplicationDbContext(); + + public static string ToAbsolute(HttpContext context, string relativeUrl) + { + var request = context.Request; + + return string.Format("{0}://{1}{2}", + (request.IsSecureConnection) ? "https" : "http", + request.Headers["Host"], + VirtualPathUtility.ToAbsolute(relativeUrl)); + } + + public string Absolute(UrlHelper url, string relativeUrl) + { + var request = url.RequestContext.HttpContext.Request; + + return string.Format("{0}://{1}{2}", + (request.IsSecureConnection) ? "https" : "http", + request.Headers["Host"], + VirtualPathUtility.ToAbsolute(relativeUrl)); + } + + private Affiliate _currentAffiliate; + public Affiliate GetAffiliate(string key, bool returnInactive = false) + { + if (_currentAffiliate != null) + return _currentAffiliate; + + var aff = db.Affiliates.FirstOrDefault(i => i.Key == key); + + if (aff != null && !aff.IsActive && returnInactive) + { + return aff; + } + + if (aff == null || !aff.IsActive) + { + aff = db.Affiliates.FirstOrDefault(i => i.Key.Equals(DefaultAffiliateKey, StringComparison.InvariantCultureIgnoreCase)); + } + + _currentAffiliate = aff; + + return _currentAffiliate; + } + + public ApplicationUser GetLoggedInUser() + { + if (HttpContext.Current == null || !HttpContext.Current.User.Identity.IsAuthenticated) + return null; + + var userIdentity = HttpContext.Current.User.Identity.GetUserId(); + return db.Users.Include("Affiliate").FirstOrDefault(i => i.Id.Equals(userIdentity)); + } + + public int GetTimeZoneOffsetFromClient() + { + var cookieVal = GetCookieValue("TZOffset"); + var offset = 0; + int.TryParse(cookieVal, out offset); + + return offset; + } + + + private void SetCookie(string cName, string cValue) + { + HttpCookie cookie = new HttpCookie(cName); + cookie.Value = cValue; + cookie.Path = "/"; + HttpContext.Current.Response.Cookies.Add(cookie); + } + + private string GetCookieValue(string cName) + { + var cookie = HttpContext.Current.Request.Cookies.Get(cName); + return cookie == null ? "" : cookie.Value; + } + + private void RemoveCookie(string cName) + { + var cookie = HttpContext.Current.Request.Cookies.Get(cName); + + if (cookie == null) + return; + + HttpContext.Current.Response.Cookies.Remove(cookie.Name); + + cookie.Expires = DateTime.Now.AddDays(-1); + cookie.Value = null; + cookie.Path = "/"; + + HttpContext.Current.Response.Cookies.Set(cookie); + } + + public static string RenderViewToString(ControllerContext context, + string viewPath, + object model = null, + bool partial = false) + { + // first find the ViewEngine for this view + ViewEngineResult viewEngineResult = null; + if (partial) + viewEngineResult = ViewEngines.Engines.FindPartialView(context, viewPath); + else + viewEngineResult = ViewEngines.Engines.FindView(context, viewPath, null); + + if (viewEngineResult == null) + throw new FileNotFoundException("View cannot be found."); + + // get the view and attach the model to view data + var view = viewEngineResult.View; + context.Controller.ViewData.Model = model; + + string result = null; + + using (var sw = new StringWriter()) + { + var ctx = new ViewContext(context, view, + context.Controller.ViewData, + context.Controller.TempData, + sw); + view.Render(ctx, sw); + result = sw.ToString(); + } + + return result; + } + + public static T CreateController(RouteData routeData = null) + where T : Controller, new() + { + // create a disconnected controller instance + T controller = new T(); + + // get context wrapper from HttpContext if available + HttpContextBase wrapper; + if (System.Web.HttpContext.Current != null) + wrapper = new HttpContextWrapper(System.Web.HttpContext.Current); + else + throw new InvalidOperationException( + "Can't create Controller Context if no " + + "active HttpContext instance is available."); + + if (routeData == null) + routeData = new RouteData(); + + // add the controller routing if not existing + if (!routeData.Values.ContainsKey("controller") && + !routeData.Values.ContainsKey("Controller")) + routeData.Values.Add("controller", + controller.GetType() + .Name.ToLower().Replace("controller", "")); + + controller.ControllerContext = new ControllerContext(wrapper, routeData, controller); + return controller; + } + + static internal string ResizeAndSaveStreamToBlobStorage(Stream inputStream, string azureFolder, string fileName, string contentType, ImageResizer.ResizeSettings settings) + { + using (var outstream = new MemoryStream()) + { + inputStream.Position = 0; + + //resize with settings + ImageResizer.ImageBuilder.Current.Build(inputStream, outstream, settings, false); + + //reset the outstream back to the initial position + outstream.Position = 0; + + return BlobStorageHelper.SaveToBlobStorage(azureFolder, fileName, contentType, outstream); + } + } + } +} \ No newline at end of file diff --git a/Amen/Controllers/HomeController.cs b/Amen/Controllers/HomeController.cs new file mode 100644 index 0000000..fc0d0bc --- /dev/null +++ b/Amen/Controllers/HomeController.cs @@ -0,0 +1,12 @@ +using System.Web.Mvc; + +namespace Amen.Controllers +{ + public class HomeController : Controller + { + public ActionResult UpgradeInProgress() + { + return View(); + } + } +} \ No newline at end of file diff --git a/Amen/Controllers/ManageController.cs b/Amen/Controllers/ManageController.cs new file mode 100644 index 0000000..b6c6c86 --- /dev/null +++ b/Amen/Controllers/ManageController.cs @@ -0,0 +1,425 @@ +using System.Linq; +using System.Threading.Tasks; +using System.Web; +using System.Web.Mvc; +using Microsoft.AspNet.Identity; +using Microsoft.AspNet.Identity.Owin; +using Microsoft.Owin.Security; +using Amen.Models; +using System.Net; + +namespace Amen.Controllers +{ + [Authorize] + public class ManageController : BaseController + { + private ApplicationSignInManager _signInManager; + private ApplicationUserManager _userManager; + + public ManageController() + { + } + + public ManageController(ApplicationUserManager userManager, ApplicationSignInManager signInManager) + { + UserManager = userManager; + SignInManager = signInManager; + } + + public ApplicationSignInManager SignInManager + { + get + { + return _signInManager ?? HttpContext.GetOwinContext().Get(); + } + private set + { + _signInManager = value; + } + } + + public ApplicationUserManager UserManager + { + get + { + return _userManager ?? HttpContext.GetOwinContext().GetUserManager(); + } + private set + { + _userManager = value; + } + } + + // + // GET: /Manage/Index + public async Task Index(ManageMessageId? message, string affiliatekey) + { + ViewBag.StatusMessage = + message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." + : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." + : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set." + : message == ManageMessageId.Error ? "An error has occurred." + : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added." + : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." + : ""; + + var userId = User.Identity.GetUserId(); + var user = controllerHelper.GetLoggedInUser(); + var model = new IndexViewModel + { + FullName = user.FullName, + EnableEmailNotifications = user.EnableEmailNotifications, + EnableSmsNotifications = user.EnableSmsNotifications, + HasPassword = HasPassword(), + PhoneNumber = await UserManager.GetPhoneNumberAsync(userId), + TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId), + Logins = await UserManager.GetLoginsAsync(userId), + BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId), + AffiliateSmsCapable = user.Affiliate.IsSmsCapable, + AffiliateEnableShowLocation = user.Affiliate.EnableShowLocation, + AffiliateEnableShowName = user.Affiliate.EnableShowName, + ShouldShowLocation = user.ShouldShowLocation, + ShouldShowName = user.ShouldShowName, + Location = user.Location + }; + return View(model); + } + + [HttpPost] + public JsonResult SaveProfile(SaveProfileViewModel model, string affiliatekey) + { + if (!User.Identity.IsAuthenticated) + return Json(false, JsonRequestBehavior.AllowGet); + + var user = controllerHelper.GetLoggedInUser(); + user.FullName = model.FullName; + user.Location = model.Location; + user.EnableEmailNotifications = model.EnableEmailNotifications; + user.EnableSmsNotifications = model.EnableSmsNotifications; + user.ShouldShowName = model.ShouldShowName; + user.ShouldShowLocation = model.ShouldShowLocation; + + + controllerHelper.db.SaveChanges(); + + return Json(true, JsonRequestBehavior.AllowGet); + } + + // + // POST: /Manage/RemoveLogin + [HttpPost] + [ValidateAntiForgeryToken] + public async Task RemoveLogin(string loginProvider, string providerKey, string affiliatekey) + { + ManageMessageId? message; + var result = await UserManager.RemoveLoginAsync(User.Identity.GetUserId(), new UserLoginInfo(loginProvider, providerKey)); + if (result.Succeeded) + { + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user != null) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + message = ManageMessageId.RemoveLoginSuccess; + } + else + { + message = ManageMessageId.Error; + } + return RedirectToAction("ManageLogins", new { Message = message, affiliatekey = affiliatekey }); + } + + // + // GET: /Manage/AddPhoneNumber + public ActionResult AddPhoneNumber(string affiliatekey) + { + return View(); + } + + // + // POST: /Manage/AddPhoneNumber + [HttpPost] + [ValidateAntiForgeryToken] + public async Task AddPhoneNumber(AddPhoneNumberViewModel model, string affiliatekey) + { + if (!ModelState.IsValid) + { + return View(model); + } + // Generate the token and send it + var code = await UserManager.GenerateChangePhoneNumberTokenAsync(User.Identity.GetUserId(), model.Number); + if (UserManager.SmsService != null) + { + ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + var message = new SmsIdentityMessage + { + Destination = model.Number, + Body = "Your security code is: " + code, + TwilioSID = affiliate.TwilioSID, + TwilioAuthToken = affiliate.TwilioAuthToken, + TwilioPhoneNumber = affiliate.TwilioPhoneNumber + }; + await UserManager.SmsService.SendAsync(message); + } + return RedirectToAction("VerifyPhoneNumber", new { PhoneNumber = model.Number, affiliatekey = affiliatekey }); + } + + // + // POST: /Manage/EnableTwoFactorAuthentication + [HttpPost] + [ValidateAntiForgeryToken] + public async Task EnableTwoFactorAuthentication(string affiliatekey) + { + await UserManager.SetTwoFactorEnabledAsync(User.Identity.GetUserId(), true); + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user != null) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + return RedirectToAction("Index", "Manage", new { affiliatekey = affiliatekey }); + } + + // + // POST: /Manage/DisableTwoFactorAuthentication + [HttpPost] + [ValidateAntiForgeryToken] + public async Task DisableTwoFactorAuthentication(string affiliatekey) + { + await UserManager.SetTwoFactorEnabledAsync(User.Identity.GetUserId(), false); + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user != null) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + return RedirectToAction("Index", "Manage", new {affiliatekey = affiliatekey }); + } + + // + // GET: /Manage/VerifyPhoneNumber + public async Task VerifyPhoneNumber(string phoneNumber, string affiliatekey) + { + var code = await UserManager.GenerateChangePhoneNumberTokenAsync(User.Identity.GetUserId(), phoneNumber); + + // Send an SMS through the SMS provider to verify the phone number + //controllerHelper.SendSmsMessage(affiliatekey, phoneNumber, code); + + return phoneNumber == null ? View("Error") : View(new VerifyPhoneNumberViewModel { PhoneNumber = phoneNumber }); + } + + // + // POST: /Manage/VerifyPhoneNumber + [HttpPost] + [ValidateAntiForgeryToken] + public async Task VerifyPhoneNumber(VerifyPhoneNumberViewModel model, string affiliatekey) + { + if (!ModelState.IsValid) + { + return View(model); + } + var result = await UserManager.ChangePhoneNumberAsync(User.Identity.GetUserId(), model.PhoneNumber, model.Code); + if (result.Succeeded) + { + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user != null) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + return RedirectToAction("Index", new { Message = ManageMessageId.AddPhoneSuccess, affiliatekey = affiliatekey }); + } + // If we got this far, something failed, redisplay form + ModelState.AddModelError("", "Failed to verify phone"); + return View(model); + } + + // + // GET: /Manage/RemovePhoneNumber + public async Task RemovePhoneNumber(string affiliatekey) + { + var result = await UserManager.SetPhoneNumberAsync(User.Identity.GetUserId(), null); + if (!result.Succeeded) + { + return RedirectToAction("Index", new { Message = ManageMessageId.Error, affiliatekey = affiliatekey }); + } + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user != null) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + return RedirectToAction("Index", new { Message = ManageMessageId.RemovePhoneSuccess, affiliatekey = affiliatekey }); + } + + // + // GET: /Manage/ChangePassword + public ActionResult ChangePassword(string affiliatekey) + { + return View(); + } + + // + // POST: /Manage/ChangePassword + [HttpPost] + [ValidateAntiForgeryToken] + public async Task ChangePassword(ChangePasswordViewModel model, string affiliatekey) + { + if (!ModelState.IsValid) + { + return View(model); + } + var result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword); + if (result.Succeeded) + { + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user != null) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + return RedirectToAction("Index", new { Message = ManageMessageId.ChangePasswordSuccess, affiliatekey = affiliatekey }); + } + AddErrors(result); + return View(model); + } + + // + // GET: /Manage/SetPassword + public ActionResult SetPassword(string affiliatekey) + { + return View(); + } + + // + // POST: /Manage/SetPassword + [HttpPost] + [ValidateAntiForgeryToken] + public async Task SetPassword(SetPasswordViewModel model, string affiliatekey) + { + if (ModelState.IsValid) + { + var result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword); + if (result.Succeeded) + { + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user != null) + { + await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); + } + return RedirectToAction("Index", new { Message = ManageMessageId.SetPasswordSuccess, affiliatekey = affiliatekey }); + } + AddErrors(result); + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Manage/ManageLogins + public async Task ManageLogins(ManageMessageId? message, string affiliatekey) + { + ViewBag.StatusMessage = + message == ManageMessageId.RemoveLoginSuccess ? "The external login was removed." + : message == ManageMessageId.Error ? "An error has occurred." + : ""; + var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); + if (user == null) + { + return View("Error"); + } + var userLogins = await UserManager.GetLoginsAsync(User.Identity.GetUserId()); + var otherLogins = AuthenticationManager.GetExternalAuthenticationTypes().Where(auth => userLogins.All(ul => auth.AuthenticationType != ul.LoginProvider)).ToList(); + ViewBag.ShowRemoveButton = user.PasswordHash != null || userLogins.Count > 1; + return View(new ManageLoginsViewModel + { + CurrentLogins = userLogins, + OtherLogins = otherLogins + }); + } + + // + // POST: /Manage/LinkLogin + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult LinkLogin(string provider, string affiliatekey) + { + // Request a redirect to the external login provider to link a login for the current user + return new AccountController.ChallengeResult(provider, Url.Action("LinkLoginCallback", "Manage", new {affiliatekey = affiliatekey}), User.Identity.GetUserId()); + } + + // + // GET: /Manage/LinkLoginCallback + public async Task LinkLoginCallback(string affiliatekey) + { + var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(XsrfKey, User.Identity.GetUserId()); + if (loginInfo == null) + { + return RedirectToAction("ManageLogins", new { Message = ManageMessageId.Error, affiliatekey = affiliatekey }); + } + var result = await UserManager.AddLoginAsync(User.Identity.GetUserId(), loginInfo.Login); + return result.Succeeded ? RedirectToAction("ManageLogins", new { affiliatekey = affiliatekey }) : RedirectToAction("ManageLogins", new { Message = ManageMessageId.Error, affiliatekey = affiliatekey }); + } + + protected override void Dispose(bool disposing) + { + if (disposing && _userManager != null) + { + _userManager.Dispose(); + _userManager = null; + } + + base.Dispose(disposing); + } + +#region Helpers + // Used for XSRF protection when adding external logins + private const string XsrfKey = "XsrfId"; + + private IAuthenticationManager AuthenticationManager + { + get + { + return HttpContext.GetOwinContext().Authentication; + } + } + + private void AddErrors(IdentityResult result) + { + foreach (var error in result.Errors) + { + ModelState.AddModelError("", error); + } + } + + private bool HasPassword() + { + var user = UserManager.FindById(User.Identity.GetUserId()); + if (user != null) + { + return user.PasswordHash != null; + } + return false; + } + + private bool HasPhoneNumber() + { + var user = UserManager.FindById(User.Identity.GetUserId()); + if (user != null) + { + return user.PhoneNumber != null; + } + return false; + } + + public enum ManageMessageId + { + AddPhoneSuccess, + ChangePasswordSuccess, + SetTwoFactorSuccess, + SetPasswordSuccess, + RemoveLoginSuccess, + RemovePhoneSuccess, + Error + } + +#endregion + } +} \ No newline at end of file diff --git a/Amen/Controllers/NotificationController.cs b/Amen/Controllers/NotificationController.cs new file mode 100644 index 0000000..2b736dd --- /dev/null +++ b/Amen/Controllers/NotificationController.cs @@ -0,0 +1,366 @@ +using Amen.Models; +using System; +using System.Configuration; +using System.Diagnostics; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Net.Mail; +using System.Web.Mvc; +using System.Web.Routing; +using System.Xml; +using Twilio; + +namespace Amen.Controllers +{ + public class NotificationController : BaseController + { + + public enum EmailSendType + { + Account, + Notify + } + + public ActionResult PreviewPrayed(int id) + { + var prayer = controllerHelper.db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + var model = new PrayerEmailViewModel() + { + To = "", + Subject = "", + Title = prayer.Summary, + DetailUrl = controllerHelper.Absolute(this.Url, Url.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = prayer.Affiliate.Key })), + ManageUrl = controllerHelper.Absolute(this.Url, Url.Action("Index", "Manage", new { affiliatekey = prayer.Affiliate.Key })) + }; + ViewBag.LogoUrl = controllerHelper.Absolute(this.Url, Url.Content("~/Content/Images/amen-logo-flyin.gif")); + + return View("~/Views/Email/Prayed.cshtml", model); + } + + public ActionResult PreviewPrayerSubmitted(int id) + { + var prayer = controllerHelper.db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + var model = new PrayerEmailViewModel() + { + To = "", + Subject = "", + Title = prayer.Summary, + DetailUrl = controllerHelper.Absolute(this.Url, Url.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = prayer.Affiliate.Key })), + ManageUrl = controllerHelper.Absolute(this.Url, Url.Action("Index", "Manage", new { affiliatekey = prayer.Affiliate.Key })) + }; + ViewBag.LogoUrl = controllerHelper.Absolute(this.Url, Url.Content("~/Content/Images/amen-logo-flyin.gif")); + + return View("~/Views/Email/PrayerSubmitted.cshtml", model); + } + + + public ActionResult PreviewNoteSent(int id) + { + var prayer = controllerHelper.db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + var model = new PrayerEmailViewModel() + { + To = "", + Subject = "", + Title = prayer.Summary, + NoteText = "This is preview text for the note of encouragement", + DetailUrl = controllerHelper.Absolute(this.Url, Url.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = prayer.Affiliate.Key })), + ManageUrl = controllerHelper.Absolute(this.Url, Url.Action("Index", "Manage", new { affiliatekey = prayer.Affiliate.Key })) + }; + ViewBag.LogoUrl = controllerHelper.Absolute(this.Url, Url.Content("~/Content/Images/amen-logo-flyin.gif")); + + return View("~/Views/Email/NoteSent.cshtml", model); + } + + + public ActionResult PreviewAdminNotification(int id) + { + var prayer = controllerHelper.db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + var model = new AdminEmailViewModel() + { + To = "", + Subject = "", + PrayerTitle = prayer.Summary, + PrayerContent = prayer.Content, + DetailUrl = controllerHelper.Absolute(this.Url, Url.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = prayer.Affiliate.Key, isPraise = prayer.IsPraise })), + ManageUrl = controllerHelper.Absolute(this.Url, Url.Action("Index", "Group", new { affiliatekey = prayer.Affiliate.Key })), + NotificationTypeMessage = string.Format("A new {0} has been submitted.", prayer.IsPraise ? "Praise" : "Prayer") + }; + ViewBag.LogoUrl = controllerHelper.Absolute(this.Url, Url.Content("~/Content/Images/amen-logo-flyin.gif")); + + return View("~/Views/Email/AdminNotification.cshtml", model); + } + + public static void SendSmsMessage(string twilioSID, string twilioAuthToken, string twilioPhoneNumber, string phoneNumber, string message) + { + var overrideToNumber = ConfigurationManager.AppSettings["SmsOverrideToNumber"]; + if (!string.IsNullOrEmpty(overrideToNumber)) + phoneNumber = overrideToNumber; + + if (string.IsNullOrEmpty(twilioSID) || string.IsNullOrEmpty(twilioAuthToken) || string.IsNullOrEmpty(twilioPhoneNumber) || string.IsNullOrEmpty(phoneNumber) || string.IsNullOrEmpty(message)) + return; + + try + { + ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; + var twilio = new TwilioRestClient(twilioSID, twilioAuthToken); + var msg = twilio.SendMessage(twilioPhoneNumber, phoneNumber, message); + + //TODO: log success + } + catch (Exception) + { + //TODO: log failure + } + } + + public static void SendEmailMessage(string to, string subject, string body, EmailSendType sendType = EmailSendType.Notify) + { + var overrideToAddress = ConfigurationManager.AppSettings["EmailOverrideToAddress"]; + if (!string.IsNullOrEmpty(overrideToAddress)) + to = overrideToAddress; + + //sender info + var from = ConfigurationManager.AppSettings[sendType.ToString() + "EmailFromAccount"]; + var fromName = ConfigurationManager.AppSettings[sendType.ToString() + "EmailFromAccountName"]; + //var password = ConfigurationManager.AppSettings[sendType.ToString() + "EmailFromPassword"]; + + //mail server + var smtpServer = ConfigurationManager.AppSettings["EmailServer"]; + int smtpPort = 587; + int.TryParse(ConfigurationManager.AppSettings["EmailServerPort"] ?? "587", out smtpPort); + bool smtpEnableSsl = false; + bool.TryParse(ConfigurationManager.AppSettings["EmailServerEnableSsl"], out smtpEnableSsl); + var smtpUsername = ConfigurationManager.AppSettings["EmailServerUsername"]; + var smtpPassword = ConfigurationManager.AppSettings["EmailServerPassword"]; + + try + { + var client = new SmtpClient(smtpServer, smtpPort) + { + Credentials = new NetworkCredential(smtpUsername, smtpPassword), + EnableSsl = smtpEnableSsl + }; + var message = new MailMessage(from, to, subject, body); + message.From = new MailAddress(from, fromName); + message.IsBodyHtml = true; + client.Send(message); + + //TODO: log success + } + catch (Exception) + { + //TODO: log failure + } + } + + static bool CanSendText(Affiliate affiliate, ApplicationUser appUser, Prayer prayer) + { + //if we don't have what we need then return + if (affiliate == null || appUser == null || prayer == null) + return false; + + //if user opted not to recieve text notifications then return + if (!appUser.IsSmsCapable || !prayer.EnableTextNotification || !affiliate.IsSmsCapable) + return false; + + return true; + } + + static bool CanSendEmail(Affiliate affiliate, ref ApplicationUser appUser, Prayer prayer, bool noteCheck = false, bool submitCheck = false) + { + //if we don't have what we need then return + if (affiliate == null || prayer == null) + return false; + + if (appUser == null) + { + // log in is no longer required + //if (!affiliate.RequireLoginForNoticiations) + //{ + //if login not required, then set the user with anonymous email and name + appUser = new ApplicationUser() + { + Email = prayer.AnonymousEmail, + PhoneNumber = prayer.AnonymousPhone, + FullName = prayer.AnonymousName, + EnableEmailNotifications = true + }; + //} + //else + //{ + // return false; + //} + } + + //this indicates that someone submitted a prayer, so we should check if the user allows notifications, and then send them an email regarless of whether they sellected to allow prayed for notifications + if (appUser.EnableEmailNotifications && submitCheck) + return true; + + //if doing a noteCheck, then ignore the prayer.EnableEmailNotification flag as they explicitly chose to allow notes of encouragement but not necessarily to be notified when someone prays. + if (appUser.EnableEmailNotifications && noteCheck && prayer.EnableEmailNote) + return true; + + //if user opted not to recieve notifications then return + if (!appUser.EnableEmailNotifications || !prayer.EnableEmailNotification) + return false; + + return true; + } + + static BaseController GetBaseController(Affiliate affiliate) + { + var routeData = new RouteData(); + routeData.Values.Add("affiliatekey", affiliate.Key); + + return ControllerHelper.CreateController(routeData); + } + + public static void NotifyPrayerRequest(UrlHelper urlHelper, Affiliate affiliate, ApplicationUser appUser, Prayer prayer) + { + var controller = GetBaseController(affiliate); + controller.ViewBag.LogoUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Content("~/Content/Images/amen-logo-flyin.gif")); + var model = new PrayerEmailViewModel(); + model.Title = prayer.Summary; + model.Subject = "We are praying for you!"; + if (appUser != null) + { + model.To = appUser.Email; + } + else + { + model.To = prayer.AnonymousEmail; + } + model.DetailUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = affiliate.Key })); + model.ManageUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Index", "Manage", new { affiliatekey = affiliate.Key })); + model.IsUserLoggedIn = !string.IsNullOrEmpty(prayer.ApplicationUserId); + model.IsPraise = prayer.IsPraise; + + if (CanSendEmail(affiliate, ref appUser, prayer, false, true)) + { + if (prayer.ContactPreference == "email" || prayer.ContactPreference == "any") + { + var body = ControllerHelper.RenderViewToString(controller.ControllerContext, "~/Views/Email/PrayerSubmitted.cshtml", model); + SendEmailMessage(model.To, model.Subject, body); + } + } + + if (CanSendText(affiliate, appUser, prayer)) + { + if (prayer.ContactPreference == "phone" || prayer.ContactPreference == "any") + { + SendSmsMessage(affiliate.TwilioSID, affiliate.TwilioAuthToken, affiliate.TwilioPhoneNumber, appUser.PhoneNumber, string.Format("We are praying for you! {0}", model.DetailUrl)); + } + } + + if (affiliate != null + && !string.IsNullOrEmpty(affiliate.EmailAdmin) + && ( + (affiliate.ShouldSendPrayerNotificationAdmin && !prayer.IsPraise) + || + (affiliate.ShouldSendPraiseNotificationAdmin && prayer.IsPraise) + ) + ) + { + var controller2 = GetBaseController(affiliate); + controller2.ViewBag.LogoUrl = controller2.controllerHelper.Absolute(urlHelper, urlHelper.Content("~/Content/Images/amen-logo-flyin.gif")); + + var adminModel = new AdminEmailViewModel(); + + adminModel.PrayerTitle = prayer.Summary; + adminModel.PrayerContent = prayer.Content; + adminModel.Subject = string.Format("Admin Notification: {0} Requested", prayer.IsPraise ? "Praise" : "Prayer"); + adminModel.To = affiliate.EmailAdmin; + adminModel.NotificationTypeMessage = string.Format("A new {0} has been submitted.", prayer.IsPraise ? "Praise" : "Prayer"); + if (affiliate.RequireModeration) + { + adminModel.NotificationTypeMessage = "** MODERATION REQUIRED ** " + adminModel.NotificationTypeMessage; + } + adminModel.DetailUrl = controller2.controllerHelper.Absolute(urlHelper, urlHelper.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = affiliate.Key, isPraise = prayer.IsPraise })); + adminModel.ManageUrl = controller2.controllerHelper.Absolute(urlHelper, urlHelper.Action("Index", "Group")); + + var body = ControllerHelper.RenderViewToString(controller2.ControllerContext, "~/Views/Email/AdminNotification.cshtml", adminModel); + + SendEmailMessage(adminModel.To, adminModel.Subject, body); + } + } + + public static void NotifyPrayed(UrlHelper urlHelper, Affiliate affiliate, ApplicationUser appUser, Prayer prayer) + { + var model = new PrayerEmailViewModel(); + var controller = GetBaseController(affiliate); + model.DetailUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = affiliate.Key })); + model.ManageUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Index", "Manage", new { affiliatekey = affiliate.Key })); + + if (CanSendText(affiliate, appUser, prayer)) + { + if (prayer.ContactPreference == "phone" || prayer.ContactPreference == "any") + { + SendSmsMessage(affiliate.TwilioSID, affiliate.TwilioAuthToken, affiliate.TwilioPhoneNumber, appUser.PhoneNumber, string.Format("Someone just prayed for you! {0}", model.DetailUrl)); + } + } + + if (CanSendEmail(affiliate, ref appUser, prayer)) + { + if (prayer.ContactPreference == "email" || prayer.ContactPreference == "any") + { + controller.ViewBag.LogoUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Content("~/Content/Images/amen-logo-flyin.gif")); + + model.Title = prayer.Summary; + model.Subject = !string.IsNullOrEmpty(affiliate.SendMessagePrayed) ? affiliate.SendMessagePrayed : "Someone just prayed for you!"; + model.To = appUser.Email; + + var body = ControllerHelper.RenderViewToString(controller.ControllerContext, "~/Views/Email/Prayed.cshtml", model); + + SendEmailMessage(model.To, model.Subject, body); + } + } + } + + public static void NotifyNoteSent(UrlHelper urlHelper, Affiliate affiliate, ApplicationUser appUser, Prayer prayer, PrayerNote note) + { + if (!CanSendEmail(affiliate, ref appUser, prayer, true) || !prayer.EnableEmailNote) + return; + + var controller = GetBaseController(affiliate); + controller.ViewBag.LogoUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Content("~/Content/Images/amen-logo-flyin.gif")); + + var model = new PrayerEmailViewModel(); + model.Title = prayer.Summary; + model.NoteText = note.NoteText; + model.Subject = !string.IsNullOrEmpty(affiliate.SendMessagePrayed) ? affiliate.SendMessageNote : "A note from Amen"; + model.To = appUser.Email; + model.DetailUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = affiliate.Key })); + model.ManageUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Index", "Manage", new { affiliatekey = affiliate.Key })); + + var body = ControllerHelper.RenderViewToString(controller.ControllerContext, "~/Views/Email/NoteSent.cshtml", model); + + SendEmailMessage(model.To, model.Subject, body); + } + + public static void NotifyPrayerFlagged(UrlHelper urlHelper, Affiliate affiliate, Prayer prayer, PrayerFlag flag) + { + if (affiliate != null && !string.IsNullOrEmpty(affiliate.EmailFlag)) + { + var controller = GetBaseController(affiliate); + controller.ViewBag.LogoUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Content("~/Content/Images/amen-logo-flyin.gif")); + + var model = new AdminEmailViewModel(); + model.NotificationTypeMessage = "Prayer Flagged"; + model.PrayerTitle = prayer.Summary; + if (!string.IsNullOrEmpty(flag.Reason)) + { + model.PrayerContent = "Has been flagged for the following reason: " + flag.Reason; + } + model.Subject = "An Amen Prayer Has Been Flagged"; + model.To = affiliate.EmailFlag; + model.DetailUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Detail", "Prayer", new { id = prayer.Id, affiliatekey = affiliate.Key })); + model.ManageUrl = controller.controllerHelper.Absolute(urlHelper, urlHelper.Action("Index", "Group", new { affiliatekey = affiliate.Key })); + + var body = ControllerHelper.RenderViewToString(controller.ControllerContext, "~/Views/Email/AdminNotification.cshtml", model); + + SendEmailMessage(model.To, model.Subject, body); + } + } + } +} \ No newline at end of file diff --git a/Amen/Controllers/PrayerController.cs b/Amen/Controllers/PrayerController.cs new file mode 100644 index 0000000..97eace2 --- /dev/null +++ b/Amen/Controllers/PrayerController.cs @@ -0,0 +1,682 @@ +using Amen.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Mvc; +using Microsoft.AspNet.Identity; +using Amen.Helpers; +using System.Data.SqlClient; +using System.Text.RegularExpressions; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Threading.Tasks; + +namespace Amen.Controllers +{ + public class PrayerController : BaseController + { + + // GET: Prayer + public ActionResult Index(string affiliatekey, bool isPraise = false, string sort = "newest") + { + ViewBag.IsPraise = isPraise; + var affiliate = controllerHelper.GetAffiliate(affiliatekey, true); + if (!affiliate.IsActive) + { + ViewBag.ShowInactiveAffiliateMessage = true; + affiliate = controllerHelper.GetAffiliate(affiliatekey); + } + + if(!affiliate.Key.Equals(affiliatekey, StringComparison.InvariantCultureIgnoreCase)) + { + //TODO: Log this since a different affiliate was requested + } + + var user = controllerHelper.GetLoggedInUser(); + ViewBag.AffiliateKey = affiliate.Key; + + ViewBag.Title = string.Format("{0} {1}", affiliate.Name, isPraise ? "Praise" : "Prayers"); + + var model = new PrayersViewModel(); + model.IsUserAuthenticated = User.Identity.IsAuthenticated; + if (model.IsUserAuthenticated) + { + model.AuthenticatedUserEmail = user.Email; + } + model.EnableNotifications = true; //model.IsUserAuthenticated || !affiliate.RequireLoginForNoticiations; + model.IsAffiliateNotesEnabled = affiliate.EnableNotes; + model.IsAffiliateSmsCapable = affiliate.IsSmsCapable; + model.IsUserSmsCapable = user != null && user.IsSmsCapable; + model.IsPraise = isPraise; + model.Prayers = FetchPrayerItems(affiliate.Id, affiliatekey, affiliate.PrayerDaysThreshold, isPraise, 0, sort); + model.IsDetail = false; + model.Instructions = affiliate.Instructions; + model.InstructionsPraise = affiliate.InstructionsPraise; + model.InstructionsAddPrayer = affiliate.InstructionsAddPrayer; + model.InstructionsAddPraise = affiliate.InstructionsAddPraise; + model.InstructionsNote = affiliate.InstructionsNote; + + return View(model); + } + + public ActionResult Pray(string affiliatekey, bool isPraise = false, string sort = "newest") + { + ViewBag.IsPraise = isPraise; + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + var user = controllerHelper.GetLoggedInUser(); + ViewBag.Title = string.Format("{0} {1}", affiliate.Name, isPraise ? "Praise" : "Prayers"); + ViewBag.ShowInactiveAffiliateMessage = !affiliate.Key.Equals(affiliatekey, StringComparison.InvariantCultureIgnoreCase); + + var model = new PrayersViewModel(); + model.ShouldOpenSubmit = true; + model.IsUserAuthenticated = User.Identity.IsAuthenticated; + if (model.IsUserAuthenticated) + { + model.AuthenticatedUserEmail = user.Email; + } + model.EnableNotifications = true; //model.IsUserAuthenticated || !affiliate.RequireLoginForNoticiations; + model.IsAffiliateNotesEnabled = affiliate.EnableNotes; + model.IsAffiliateSmsCapable = affiliate.IsSmsCapable; + model.IsUserSmsCapable = user != null && user.IsSmsCapable; + model.IsPraise = isPraise; + model.Prayers = FetchPrayerItems(affiliate.Id, affiliatekey, affiliate.PrayerDaysThreshold, isPraise, 0, sort); + model.IsDetail = false; + + return View("Index", model); + } + + public ActionResult Detail(int id, string affiliatekey, bool isPraise = false, bool returnToUserPage = false) + { + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + var user = controllerHelper.GetLoggedInUser(); + + var model = new PrayersViewModel(); + model.ShouldReturnToUserPage = returnToUserPage; + model.IsDetail = true; + model.IsUserAuthenticated = User.Identity.IsAuthenticated; + if (model.IsUserAuthenticated) + { + model.AuthenticatedUserEmail = user.Email; + } + model.EnableNotifications = true; //model.IsUserAuthenticated || !affiliate.RequireLoginForNoticiations; + model.IsAffiliateNotesEnabled = affiliate.EnableNotes; + model.IsAffiliateSmsCapable = affiliate.IsSmsCapable; + model.IsUserSmsCapable = user != null && user.IsSmsCapable; + model.Prayers = FetchPrayerItems(affiliate.Id, affiliatekey, affiliate.PrayerDaysThreshold, isPraise, 0, null, 1, id); + + if (model.Prayers.Count == 1) + { + model.IsPraise = model.Prayers.First().IsPraise; + } + else + model.IsPraise = false; + + ViewBag.Title = string.Format("{0} {1}", affiliate.Name, model.IsPraise ? "Praise" : "Prayers"); + + + return View("Index", model); + } + + public ActionResult PrayerItems(string affiliatekey, bool isPraise = false, int lastPrayerId = 0, string sort = "newest") + { + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + return PartialView("_PrayerItems", FetchPrayerItems(affiliate.Id, affiliatekey, affiliate.PrayerDaysThreshold, isPraise, lastPrayerId, sort)); + } + + public PartialViewResult EditPrayer(string affiliatekey) + { + //Thread.Sleep(3000); + + return PartialView("_EditPrayer"); + } + + public PartialViewResult MyPrayerItems(string affiliatekey, bool isPraise = false, bool isSubmitted = false, bool isBookmarked = false, bool isPrayedFor = false) + { + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + + var threshold = affiliate.PrayerDaysThreshold; + if (isSubmitted || isBookmarked) + { + threshold = 365; + } + + ViewBag.HideAction = true; + return PartialView("_PrayerItems", FetchPrayerItems(affiliate.Id, affiliatekey, threshold, isPraise, lastPrayerId: 0, takeCount: int.MaxValue, isSubmitted: isSubmitted, isBookmarked: isBookmarked, isPrayedFor: isPrayedFor)); + } + + private List FetchPrayerItems(int affiliateId, string affiliatekey, int includeDays, bool isPraise, int lastPrayerId, string sort = "newest", int takeCount = 10, int? prayerId = null, bool isSubmitted = false, bool isBookmarked = false, bool isPrayedFor = false) + { + //var universalAffiliateId = 1; + var appUserId = User.Identity.GetUserId() ?? "none"; + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + + var offset = controllerHelper.GetTimeZoneOffsetFromClient(); + var now = DateTime.Now; + var dateThreshold = now.AddDays(-includeDays); + + var parms = new List(); + parms.Add(new SqlParameter() + { + ParameterName = "affiliateId", + SqlDbType = System.Data.SqlDbType.Int, + Value = affiliateId + }); + parms.Add(new SqlParameter() + { + ParameterName = "fetchCount", + SqlDbType = System.Data.SqlDbType.Int, + Value = takeCount + }); + parms.Add(new SqlParameter() + { + ParameterName = "skipCount", + SqlDbType = System.Data.SqlDbType.Int, + Value = 0 + }); + parms.Add(new SqlParameter() + { + ParameterName = "days", + SqlDbType = System.Data.SqlDbType.Int, + Value = includeDays + }); + parms.Add(new SqlParameter() + { + ParameterName = "userId", + SqlDbType = System.Data.SqlDbType.NVarChar, + Size = 255, + Value = appUserId + }); + parms.Add(new SqlParameter() + { + ParameterName = "orderBy", + SqlDbType = System.Data.SqlDbType.NVarChar, + Size = 255, + Value = sort ?? "newest" + }); + parms.Add(new SqlParameter() + { + ParameterName = "skipToPrayerId", + SqlDbType = System.Data.SqlDbType.Int, + Value = lastPrayerId + }); + parms.Add(new SqlParameter() + { + ParameterName = "isPraise", + SqlDbType = System.Data.SqlDbType.Bit, + Value = isPraise + }); + + if (prayerId.HasValue) + parms.Add(new SqlParameter() + { + ParameterName = "prayerId", + SqlDbType = System.Data.SqlDbType.Int, + Value = prayerId.Value + }); + else + parms.Add(new SqlParameter() + { + ParameterName = "prayerId", + SqlDbType = System.Data.SqlDbType.Int, + Value = DBNull.Value + }); + + parms.Add(new SqlParameter() + { + ParameterName = "isSubmitted", + SqlDbType = System.Data.SqlDbType.Bit, + Value = isSubmitted + }); + parms.Add(new SqlParameter() + { + ParameterName = "isBookmarked", + SqlDbType = System.Data.SqlDbType.Bit, + Value = isBookmarked + }); + parms.Add(new SqlParameter() + { + ParameterName = "isPrayedFor", + SqlDbType = System.Data.SqlDbType.Bit, + Value = isPrayedFor + }); + + var fetchItems = controllerHelper.db.Database.SqlQuery("GetPrayers @affiliateId, @fetchCount, @skipCount, @days, @userId, @orderBy, @skipToPrayerId, @isPraise, @prayerId, @isSubmitted, @isBookmarked, @isPrayedFor", parms.ToArray()) .ToList(); + + foreach (var item in fetchItems) + { + item.DetailUrl = controllerHelper.Absolute(this.Url, Url.Action("Detail", "Prayer", new { id = item.Id, affiliatekey = affiliatekey })); + //item.IsUserAuthenticated = User.Identity.IsAuthenticated; + //item.EnableNotifications = item.IsUserAuthenticated || !affiliate.RequireLoginForNoticiations; + item.IsAffiliateNotesEnabled = affiliate.EnableNotes; + item.EnableNotifications = affiliate.EnableNotes; + item.OffsetMinutes = offset; + + if (!affiliate.EnableShowName) + item.UserName = ""; + + if (!affiliate.EnableShowLocation) + item.UserLocation = ""; + } + return fetchItems; + } + + public JsonResult Subscribe(int prayerId, string affiliatekey) + { + var userIdentity = this.User.Identity.GetUserId(); + if (string.IsNullOrEmpty(userIdentity)) + return Json(false, JsonRequestBehavior.AllowGet); + + var subscription = controllerHelper.db.PrayerSubscriptions.FirstOrDefault(i => i.PrayerId == prayerId && i.ApplicationUserId == userIdentity); + + if (subscription == null) + { + controllerHelper.db.PrayerSubscriptions.Add(new PrayerSubscription() + { + ApplicationUserId = userIdentity, + PrayerId = prayerId, + CreatedUTC = DateTime.UtcNow + }); + controllerHelper.db.SaveChanges(); + } + + return Json(true, JsonRequestBehavior.AllowGet); + } + + public JsonResult Unsubscribe(int prayerId, string affiliatekey) + { + var userIdentity = this.User.Identity.GetUserId(); + if (string.IsNullOrEmpty(userIdentity)) + return Json(false, JsonRequestBehavior.AllowGet); + + var subscription = controllerHelper.db.PrayerSubscriptions.FirstOrDefault(i => i.PrayerId == prayerId && i.ApplicationUserId == userIdentity); + + if (subscription != null) + { + controllerHelper.db.PrayerSubscriptions.Remove(subscription); + controllerHelper.db.SaveChanges(); + } + + return Json(true, JsonRequestBehavior.AllowGet); + } + + public JsonResult Bookmark(int prayerId, string affiliatekey) + { + var userIdentity = this.User.Identity.GetUserId(); + if (string.IsNullOrEmpty(userIdentity)) + return Json(false, JsonRequestBehavior.AllowGet); + + var bookmark = controllerHelper.db.PrayerBookmarks.FirstOrDefault(i => i.PrayerId == prayerId && i.ApplicationUserId == userIdentity); + + if (bookmark == null) + { + controllerHelper.db.PrayerBookmarks.Add(new PrayerBookmark() + { + ApplicationUserId = userIdentity, + PrayerId = prayerId, + CreatedUTC = DateTime.UtcNow + }); + controllerHelper.db.SaveChanges(); + } + + return Json(true, JsonRequestBehavior.AllowGet); + } + + public JsonResult RemoveBookmark(int prayerId, string affiliatekey) + { + var userIdentity = this.User.Identity.GetUserId(); + if (string.IsNullOrEmpty(userIdentity)) + return Json(false, JsonRequestBehavior.AllowGet); + + var bookmark = controllerHelper.db.PrayerBookmarks.FirstOrDefault(i => i.PrayerId == prayerId && i.ApplicationUserId == userIdentity); + + if (bookmark != null) + { + controllerHelper.db.PrayerBookmarks.Remove(bookmark); + controllerHelper.db.SaveChanges(); + } + + return Json(true, JsonRequestBehavior.AllowGet); + } + + + public JsonResult Prayed(int prayerId, string affiliatekey) + { + var prayer = controllerHelper.db.Prayers.Include("ApplicationUser").FirstOrDefault(i => i.Id == prayerId && i.IsActive && !i.IsDeleted); + + if (prayer == null) + return Json(false, JsonRequestBehavior.AllowGet); + + var user = controllerHelper.GetLoggedInUser(); + var ipAddress = RequestHelper.GetClientIpAddress(this.Request); + var userAgent = this.Request.UserAgent ?? ""; + + controllerHelper.db.PrayerItems.Add(new PrayerItem() + { + PrayerId = prayerId, + ApplicationUserId = user != null ? user.Id : null, + CreatedUTC = DateTime.UtcNow, + IPAddress = ipAddress, + UserAgent = userAgent + }); + + controllerHelper.db.SaveChanges(); + + var dbPrayedCount = controllerHelper.db.PrayerItems.Count(i => i.PrayerId == prayerId); + prayer.CountPrayed = Math.Max(prayer.CountPrayed + 1, dbPrayedCount); + controllerHelper.db.SaveChanges(); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + + NotificationController.NotifyPrayed(this.Url, affiliate, prayer.ApplicationUser, prayer); + + var data = new + { + id = prayer.Id, + count = prayer.CountPrayed + }; + + return Json(data, JsonRequestBehavior.AllowGet); + } + + public JsonResult SendNote(int prayerId, string content, string affiliatekey) + { + var prayer = controllerHelper.db.Prayers.Include("ApplicationUser").FirstOrDefault(i => i.Id == prayerId && i.IsActive && !i.IsDeleted); + + if (prayer == null) + return Json(new { success = false, message = "Prayer doesn't exist." }, JsonRequestBehavior.AllowGet); + + var user = controllerHelper.GetLoggedInUser(); + var ipAddress = RequestHelper.GetClientIpAddress(this.Request); + var userAgent = this.Request.UserAgent ?? ""; + + var validationMessage = ""; + if (!ValidatePrayerSubmission(affiliatekey, "note of encouragement", content, "", ipAddress, out validationMessage)) + { + return Json(new { success = false, message = validationMessage }, JsonRequestBehavior.AllowGet); + } + + var note = controllerHelper.db.PrayerNotes.Add(new PrayerNote() + { + PrayerId = prayerId, + ApplicationUserId = user != null ? user.Id : null, + NoteText = content, + CreatedUTC = DateTime.UtcNow, + IPAddress = ipAddress, + UserAgent = userAgent + }); + + controllerHelper.db.SaveChanges(); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + NotificationController.NotifyNoteSent(this.Url, affiliate, prayer.ApplicationUser, prayer, note); + + return Json(new { success = true, message = "" }, JsonRequestBehavior.AllowGet); + } + + public JsonResult Flag(int prayerId, string reason, string name, string email, string affiliatekey) + { + var prayer = controllerHelper.db.Prayers.FirstOrDefault(i => i.Id == prayerId && i.IsActive && !i.IsDeleted); + + if (prayer != null) + { + var user = controllerHelper.GetLoggedInUser(); + string userid = null; + if (user != null) + { + userid = user.Id; + name = user.UserName; + email = user.Email; + } + + var flag = new PrayerFlag() + { + PrayerId = prayerId, + ApplicationUserId = userid, + Reason = reason, + AnonymousName = name, + AnonymousEmail = email, + CreatedUTC = DateTime.UtcNow + }; + + controllerHelper.db.PrayerFlags.Add(flag); + controllerHelper.db.SaveChanges(); + + var dbFlagCount = controllerHelper.db.PrayerFlags.Count(i => i.PrayerId == prayerId); + prayer.CountFlagged = Math.Max(prayer.CountFlagged + 1, dbFlagCount); + controllerHelper.db.SaveChanges(); + + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + NotificationController.NotifyPrayerFlagged(this.Url, affiliate, prayer, flag); + + var data = new + { + id = prayer.Id, + hide = prayer.CountFlagged >= affiliate.FlagThreshold + }; + + return Json(data, JsonRequestBehavior.AllowGet); + } + else + { + return Json(false, JsonRequestBehavior.AllowGet); + } + } + + public bool Delete(int id, string affiliatekey) + { + if (!User.Identity.IsAuthenticated) + { + return false; + } + + var prayer = controllerHelper.db.Prayers.Include("Affiliate").FirstOrDefault(i => i.Id == id); + var userIdentity = User.Identity.GetUserId(); + + if (prayer.ApplicationUserId != userIdentity) + { + return false; + } + + prayer.IsDeleted = true; + prayer.ModifiedUTC = DateTime.UtcNow; + controllerHelper.db.SaveChanges(); + + return true; + } + + private bool ValidatePrayerSubmission(string affiliatekey, string subject, string content, string emailAddress, string ipAddress, out string message) + { + message = ""; + if (string.IsNullOrEmpty(subject) || string.IsNullOrEmpty(content)) + { + message = "Prayer Request cannot be empty"; + return false; + } + + emailAddress = (emailAddress ?? "").Trim(); + ipAddress = (ipAddress ?? "").Trim(); + + var affiliate = controllerHelper.db.Affiliates.Include("BlacklistEmails").Include("BlacklistIPs").Include("AutoFlagItems").FirstOrDefault(i => i.Key == affiliatekey && i.IsActive); + + if (affiliate == null) + { + affiliate = controllerHelper.db.Affiliates.Include("BlacklistEmails").Include("BlacklistIPs").Include("AutoFlagItems").FirstOrDefault(i => i.Key.Equals(ControllerHelper.DefaultAffiliateKey, StringComparison.InvariantCultureIgnoreCase)); + } + + //ensure not a blacklist email address + if (affiliate.BlacklistEmails.Count(i => i.Email.Equals(emailAddress, StringComparison.InvariantCultureIgnoreCase)) > 0) + { + message = "Email address has been blocked"; + return false; + } + + //ensure not a blacklist ip address + if (affiliate.BlacklistIPs.Count(i => i.IP.Equals(ipAddress, StringComparison.InvariantCultureIgnoreCase)) > 0) + { + message = "IP address has been blocked"; + return false; + } + + if (affiliate.AutoFlagItems.Count > 0) + { + subject = subject.StripPunctuation().ToLower(); + content = content.StripPunctuation().ToLower(); + + var flagWords = @"\b(" + string.Join("|", affiliate.AutoFlagItems.Select(i => i.Text.ToLower()).ToArray()) + @")\b"; + var subjectMatch = Regex.IsMatch(subject, flagWords); + var contentMatch = Regex.IsMatch(content, flagWords); + + if (contentMatch || subjectMatch) + { + message = "Title or Content contains inappropriate word or phrase."; + return false; + } + } + return true; + } + + public JsonResult Edit(PrayerEditViewModel model, string affiliatekey) + { + var user = controllerHelper.GetLoggedInUser(); + var appUserId = User.Identity.GetUserId() ?? "none"; + var ipAddress = RequestHelper.GetClientIpAddress(this.Request); + var userAgent = this.Request.UserAgent ?? ""; + + var email = model.AnonymousEmail ?? "none"; + var phone = model.AnonymousPhone ?? "none"; + + if (user != null) + { + email = user.Email ?? email; + phone = user.PhoneNumber ?? phone; + } + + //if (User.Identity.IsAuthenticated) + //{ + // model.AnonymousName = null; + // model.AnonymousEmail = null; + //} + + model.ContactPreference = model.ContactPreference ?? "email"; + + var validationMessage = ""; + if (!ValidatePrayerSubmission(affiliatekey, model.Summary, model.Content, email, ipAddress, out validationMessage)) + { + return Json(new { success = false, message = validationMessage }, JsonRequestBehavior.AllowGet); + } + + var prayer = controllerHelper.db.Prayers.FirstOrDefault(i => i.Id == model.Id && i.IsActive && !i.IsDeleted && i.ApplicationUserId == appUserId); + + if (model.IsNew) + { + var affiliate = controllerHelper.GetAffiliate(affiliatekey); + prayer = controllerHelper.db.Prayers.Add(new Prayer() + { + AffiliateId = affiliate.Id, + IsPraise = model.IsPraise, + CreatedUTC = DateTime.UtcNow, + AgreeTermsOfUse = model.AgreeTermsOfUse, + IsActive = true, + ApplicationUserId = User.Identity.IsAuthenticated ? appUserId : null, + EnableEmailNotification = model.EnableEmailNotification, + EnableTextNotification = model.EnableTextNotification, + EnableEmailNote = model.EnableEmailNote, + AnonymousEmail = email, + AnonymousPhone = phone, + AnonymousName = model.AnonymousName.Trim(), + ShareThis = model.ShareThis, + ContactPreference = model.ContactPreference, + UserAgent = userAgent, + IPAddress = ipAddress, + PrayerSourceId = PrayerSource.DeterminePrayerSource(userAgent), + Summary = model.Summary.Trim(), + Content = model.Content.Trim(), + ModifiedUTC = DateTime.UtcNow + }); + + if (!model.IsPraise && affiliate.RequireModeration) + { + prayer.IsActive = false; + } + + controllerHelper.db.SaveChanges(); + + //send info to Dataverse for select affiliates + //National: 293 + //West: 356 + //East: 357 + //South: 358 + //Way Nation: 350 + //KSBJ: 17 + //NGEN: 19 + //Vida: 352 + int[] aryAffliates = { 293, 356, 357, 358, 350, 17, 19, 352, 1 }; //TODO: remove 1, it's for testing + if (aryAffliates.Contains(prayer.AffiliateId)) + { + _ = SyncDataverseAsync("add_prayer", prayer.AffiliateId, prayer.Content, prayer.AnonymousName, prayer.AnonymousEmail, prayer.AnonymousPhone); + } + + NotificationController.NotifyPrayerRequest(this.Url, affiliate, user, prayer); + } + + if (prayer == null) + return Json(new { success = false, message = "Prayer does not exist" }, JsonRequestBehavior.AllowGet); + + if (!model.IsNew) + { + prayer.Summary = model.Summary; + prayer.Content = model.Content; + + prayer.EnableEmailNotification = model.EnableEmailNotification; + prayer.EnableTextNotification = model.EnableTextNotification; + prayer.EnableEmailNote = model.EnableEmailNote; + + prayer.ModifiedUTC = DateTime.UtcNow; + + controllerHelper.db.SaveChanges(); + } + + return Json(new { success = true, message = "Success" }, JsonRequestBehavior.AllowGet); + } + + public async Task SyncDataverseAsync(string task, int affiliateId, string prayer_request, string name, string email, string phone) + { + // have to get Affiliate name by Id + ApplicationDbContext db = new ApplicationDbContext(); + Affiliate affiliate = db.Affiliates.Find(affiliateId); + + //string APIUrl = "http://localhost:7157/api/AmenDataSync"; + string APIUrl = "https://amendatasync.azurewebsites.net/api/AmenDataSync"; + APIUrl += "?task=" + task + + "&brand=" + affiliate.Name + + "&prayer_request=" + prayer_request + + "&name=" + name + + "&email=" + email + + "&phone=" + phone; + + try + { + using (var client = new HttpClient()) + { + client.BaseAddress = new Uri(APIUrl); + client.DefaultRequestHeaders.Accept.Clear(); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + HttpResponseMessage response = await client.GetAsync(APIUrl); + //var result = client.GetAsync(APIUrl).Result; + + if (response.IsSuccessStatusCode) + { + var readTask = response.Content.ReadAsStringAsync().ConfigureAwait(false); + var rawResponse = readTask.GetAwaiter().GetResult(); + } + } + } + catch + { + + } + + + } + } +} \ No newline at end of file diff --git a/Amen/Global.asax b/Amen/Global.asax new file mode 100644 index 0000000..1ba8282 --- /dev/null +++ b/Amen/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="Amen.MvcApplication" Language="C#" %> diff --git a/Amen/Global.asax.cs b/Amen/Global.asax.cs new file mode 100644 index 0000000..bb8063f --- /dev/null +++ b/Amen/Global.asax.cs @@ -0,0 +1,29 @@ +using Amen.Models; +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Linq; +using System.Web; +using System.Web.Http; +using System.Web.Mvc; +using System.Web.Optimization; +using System.Web.Routing; + +namespace Amen +{ + public class MvcApplication : System.Web.HttpApplication + { + protected void Application_Start() + { + AreaRegistration.RegisterAllAreas(); + //GlobalConfiguration.Configure(WebApiConfig.Register); + FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); + RouteConfig.RegisterRoutes(RouteTable.Routes); + BundleConfig.RegisterBundles(BundleTable.Bundles); + +#if DEBUG + //Database.SetInitializer(new ApplicationDbContextInitializer()); +#endif + } + } +} diff --git a/Amen/Helpers/BlobStorageHelper.cs b/Amen/Helpers/BlobStorageHelper.cs new file mode 100644 index 0000000..4a51e03 --- /dev/null +++ b/Amen/Helpers/BlobStorageHelper.cs @@ -0,0 +1,77 @@ +using Microsoft.WindowsAzure.Storage; +using Microsoft.WindowsAzure.Storage.Auth; +using Microsoft.WindowsAzure.Storage.Blob; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.IO; +using System.Linq; +using System.Web; + +namespace Amen.Helpers +{ + public class BlobStorageHelper + { + + //public static string SaveToBlobStorage(string containerName, string blobName, string contentType, byte[] bytes) + public static string SaveToBlobStorage(string containerName, string blobName, string contentType, Stream stream) + { + var accountName = ConfigurationManager.AppSettings["AzureBlobStorageAccount"]; + var accountKey = ConfigurationManager.AppSettings["AzureBlobStorageAccountKey"]; + + CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true); + CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient(); + CloudBlobContainer container = cloudBlobClient.GetContainerReference(containerName); + + container.CreateIfNotExists(); + var permission = container.GetPermissions(); + permission.PublicAccess = BlobContainerPublicAccessType.Container; + container.SetPermissions(permission); + + CloudBlockBlob blob = container.GetBlockBlobReference(blobName); + + blob.UploadFromStream(stream); + //blob.UploadFromByteArray(bytes, 0, bytes.Length); + blob.Properties.ContentType = contentType; + blob.SetProperties(); + + return blob.Uri.AbsoluteUri; + } + + public static string RenameBlobStorageItem(string containerName, string oldBlobName, string newBlobName) + { + var accountName = ConfigurationManager.AppSettings["AzureBlobStorageAccount"]; + var accountKey = ConfigurationManager.AppSettings["AzureBlobStorageAccountKey"]; + + CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true); + CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient(); + CloudBlobContainer container = cloudBlobClient.GetContainerReference(containerName); + + container.CreateIfNotExists(); + + CloudBlockBlob oldBlob = container.GetBlockBlobReference(oldBlobName); + + if (!oldBlob.Exists()) + return string.Empty; + + CloudBlockBlob newBlob = container.GetBlockBlobReference(newBlobName); + + //newBlob.StartCopyFromBlob(oldBlob.Uri); + newBlob.StartCopy(oldBlob); + while (true) + { + newBlob.FetchAttributes(); + if (newBlob.CopyState.Status != CopyStatus.Pending) + { + break; + } + //Sleep for a second may be + System.Threading.Thread.Sleep(100); + } + oldBlob.Delete(); + + return newBlob.Uri.AbsoluteUri; + } + } + +} \ No newline at end of file diff --git a/Amen/Helpers/RequestHelper.cs b/Amen/Helpers/RequestHelper.cs new file mode 100644 index 0000000..6293131 --- /dev/null +++ b/Amen/Helpers/RequestHelper.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Web; + +namespace Amen.Helpers +{ + public class RequestHelper + { + public static string GetClientIpAddress(HttpRequestBase request) + { + try + { + var userHostAddress = request.UserHostAddress; + + // Attempt to parse. If it fails, we catch below and return "0.0.0.0" + // Could use TryParse instead, but I wanted to catch all exceptions + IPAddress.Parse(userHostAddress); + + var xForwardedFor = request.ServerVariables["X_FORWARDED_FOR"]; + + if (string.IsNullOrEmpty(xForwardedFor)) + return userHostAddress; + + // Get a list of public ip addresses in the X_FORWARDED_FOR variable + var publicForwardingIps = xForwardedFor.Split(',').Where(ip => !IsPrivateIpAddress(ip)).ToList(); + + // If we found any, return the last one, otherwise return the user host address + return publicForwardingIps.Any() ? publicForwardingIps.Last() : userHostAddress; + } + catch (Exception) + { + // Always return all zeroes for any failure (my calling code expects it) + return "0.0.0.0"; + } + } + + private static bool IsPrivateIpAddress(string ipAddress) + { + // http://en.wikipedia.org/wiki/Private_network + // Private IP Addresses are: + // 24-bit block: 10.0.0.0 through 10.255.255.255 + // 20-bit block: 172.16.0.0 through 172.31.255.255 + // 16-bit block: 192.168.0.0 through 192.168.255.255 + // Link-local addresses: 169.254.0.0 through 169.254.255.255 (http://en.wikipedia.org/wiki/Link-local_address) + + var ip = IPAddress.Parse(ipAddress); + var octets = ip.GetAddressBytes(); + + var is24BitBlock = octets[0] == 10; + if (is24BitBlock) return true; // Return to prevent further processing + + var is20BitBlock = octets[0] == 172 && octets[1] >= 16 && octets[1] <= 31; + if (is20BitBlock) return true; // Return to prevent further processing + + var is16BitBlock = octets[0] == 192 && octets[1] == 168; + if (is16BitBlock) return true; // Return to prevent further processing + + var isLinkLocalAddress = octets[0] == 169 && octets[1] == 254; + return isLinkLocalAddress; + } + } +} \ No newline at end of file diff --git a/Amen/Helpers/StringHelper.cs b/Amen/Helpers/StringHelper.cs new file mode 100644 index 0000000..fc3f4c4 --- /dev/null +++ b/Amen/Helpers/StringHelper.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web; + +namespace Amen.Helpers +{ + public static class StringExtension + { + public static string StripPunctuation(this string s) + { + var sb = new StringBuilder(); + foreach (char c in s) + { + if (!char.IsPunctuation(c)) + sb.Append(c); + } + return sb.ToString(); + } + } + + public class StringHelper + { + + } +} \ No newline at end of file diff --git a/Amen/Helpers/UserHelper.cs b/Amen/Helpers/UserHelper.cs new file mode 100644 index 0000000..b7b971b --- /dev/null +++ b/Amen/Helpers/UserHelper.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Claims; +using System.Web; + +namespace Amen.Helpers +{ + public static class UserHelper + { + public static string GetFullName(this System.Security.Principal.IPrincipal usr) + { + var fullNameClaim = ((ClaimsIdentity)usr.Identity).FindFirst("FullName"); + if (fullNameClaim != null) + return fullNameClaim.Value; + + return ""; + } + } +} \ No newline at end of file diff --git a/Amen/Migrations/201701031255563_AddCreatedUTCColumns.Designer.cs b/Amen/Migrations/201701031255563_AddCreatedUTCColumns.Designer.cs new file mode 100644 index 0000000..f91830d --- /dev/null +++ b/Amen/Migrations/201701031255563_AddCreatedUTCColumns.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Amen.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.1.1-30610")] + public sealed partial class AddCreatedUTCColumns : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddCreatedUTCColumns)); + + string IMigrationMetadata.Id + { + get { return "201701031255563_AddCreatedUTCColumns"; } + } + + string IMigrationMetadata.Source + { + get { return Resources.GetString("Source"); } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Amen/Migrations/201701031255563_AddCreatedUTCColumns.cs b/Amen/Migrations/201701031255563_AddCreatedUTCColumns.cs new file mode 100644 index 0000000..47a2b40 --- /dev/null +++ b/Amen/Migrations/201701031255563_AddCreatedUTCColumns.cs @@ -0,0 +1,30 @@ +namespace Amen.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddCreatedUTCColumns : DbMigration + { + public override void Up() + { + AddColumn("dbo.AffiliateAdmin", "CreatedUTC", c => c.DateTime(nullable: false, defaultValueSql: "GETUTCDATE()")); + AddColumn("dbo.AffiliateStyle", "CreatedUTC", c => c.DateTime(nullable: false, defaultValueSql: "GETUTCDATE()")); + AddColumn("dbo.PrayerBookmark", "CreatedUTC", c => c.DateTime(nullable: false, defaultValueSql: "GETUTCDATE()")); + AddColumn("dbo.PrayerFlag", "CreatedUTC", c => c.DateTime(nullable: false, defaultValueSql: "GETUTCDATE()")); + AddColumn("dbo.PrayerItem", "CreatedUTC", c => c.DateTime(nullable: false, defaultValueSql: "GETUTCDATE()")); + AddColumn("dbo.PrayerNote", "CreatedUTC", c => c.DateTime(nullable: false, defaultValueSql: "GETUTCDATE()")); + AddColumn("dbo.PrayerSubscription", "CreatedUTC", c => c.DateTime(nullable: false, defaultValueSql: "GETUTCDATE()")); + } + + public override void Down() + { + DropColumn("dbo.PrayerSubscription", "CreatedUTC"); + DropColumn("dbo.PrayerNote", "CreatedUTC"); + DropColumn("dbo.PrayerItem", "CreatedUTC"); + DropColumn("dbo.PrayerFlag", "CreatedUTC"); + DropColumn("dbo.PrayerBookmark", "CreatedUTC"); + DropColumn("dbo.AffiliateStyle", "CreatedUTC"); + DropColumn("dbo.AffiliateAdmin", "CreatedUTC"); + } + } +} diff --git a/Amen/Migrations/201701031255563_AddCreatedUTCColumns.resx b/Amen/Migrations/201701031255563_AddCreatedUTCColumns.resx new file mode 100644 index 0000000..dfc9332 --- /dev/null +++ b/Amen/Migrations/201701031255563_AddCreatedUTCColumns.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Amen/Migrations/201708042356577_AddAffiliateIntructions.Designer.cs b/Amen/Migrations/201708042356577_AddAffiliateIntructions.Designer.cs new file mode 100644 index 0000000..0a76732 --- /dev/null +++ b/Amen/Migrations/201708042356577_AddAffiliateIntructions.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Amen.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.1.1-30610")] + public sealed partial class AddAffiliateIntructions : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddAffiliateIntructions)); + + string IMigrationMetadata.Id + { + get { return "201708042356577_AddAffiliateIntructions"; } + } + + string IMigrationMetadata.Source + { + get { return Resources.GetString("Source"); } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Amen/Migrations/201708042356577_AddAffiliateIntructions.cs b/Amen/Migrations/201708042356577_AddAffiliateIntructions.cs new file mode 100644 index 0000000..b4a5b2a --- /dev/null +++ b/Amen/Migrations/201708042356577_AddAffiliateIntructions.cs @@ -0,0 +1,22 @@ +namespace Amen.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddAffiliateIntructions : DbMigration + { + public override void Up() + { + AddColumn("dbo.Affiliate", "InstructionsPraise", c => c.String()); + AddColumn("dbo.Affiliate", "InstructionsAddPraise", c => c.String()); + AddColumn("dbo.Affiliate", "InstructionsNote", c => c.String()); + } + + public override void Down() + { + DropColumn("dbo.Affiliate", "InstructionsNote"); + DropColumn("dbo.Affiliate", "InstructionsAddPraise"); + DropColumn("dbo.Affiliate", "InstructionsPraise"); + } + } +} diff --git a/Amen/Migrations/201708042356577_AddAffiliateIntructions.resx b/Amen/Migrations/201708042356577_AddAffiliateIntructions.resx new file mode 100644 index 0000000..00cf5cb --- /dev/null +++ b/Amen/Migrations/201708042356577_AddAffiliateIntructions.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.Designer.cs b/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.Designer.cs new file mode 100644 index 0000000..52744ad --- /dev/null +++ b/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Amen.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.1.1-30610")] + public sealed partial class AddFieldsToSupportShowingUserNameAndLocation : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddFieldsToSupportShowingUserNameAndLocation)); + + string IMigrationMetadata.Id + { + get { return "201708050049099_AddFieldsToSupportShowingUserNameAndLocation"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.cs b/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.cs new file mode 100644 index 0000000..5fce406 --- /dev/null +++ b/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.cs @@ -0,0 +1,26 @@ +namespace Amen.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddFieldsToSupportShowingUserNameAndLocation : DbMigration + { + public override void Up() + { + AddColumn("dbo.Affiliate", "EnableShowLocation", c => c.Boolean(nullable: false)); + AddColumn("dbo.Affiliate", "EnableShowName", c => c.Boolean(nullable: false)); + AddColumn("dbo.AspNetUsers", "Location", c => c.String()); + AddColumn("dbo.AspNetUsers", "ShouldShowLocation", c => c.Boolean(nullable: false)); + AddColumn("dbo.AspNetUsers", "ShouldShowName", c => c.Boolean(nullable: false)); + } + + public override void Down() + { + DropColumn("dbo.AspNetUsers", "ShouldShowName"); + DropColumn("dbo.AspNetUsers", "ShouldShowLocation"); + DropColumn("dbo.AspNetUsers", "Location"); + DropColumn("dbo.Affiliate", "EnableShowName"); + DropColumn("dbo.Affiliate", "EnableShowLocation"); + } + } +} diff --git a/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.resx b/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.resx new file mode 100644 index 0000000..3a36d69 --- /dev/null +++ b/Amen/Migrations/201708050049099_AddFieldsToSupportShowingUserNameAndLocation.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Amen/Migrations/Configuration.cs b/Amen/Migrations/Configuration.cs new file mode 100644 index 0000000..e28ce61 --- /dev/null +++ b/Amen/Migrations/Configuration.cs @@ -0,0 +1,116 @@ +namespace Amen.Migrations +{ + using Amen.Controllers; + using Amen.Models; + using System; + using System.Data.Entity; + using System.Data.Entity.Migrations; + using System.Linq; + using System.Web.Security; + + internal sealed class Configuration : DbMigrationsConfiguration + { + public Configuration() + { + AutomaticMigrationsEnabled = true; + ContextKey = "Amen.Models.ApplicationDbContext"; + AutomaticMigrationDataLossAllowed = true; + + /* + * Add-Migration [MigrationName] + * Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration: [MigrationName] + * + * Update-Database -ConnectionStringName: AmenPrayerDev + * Update-Database -ConnectionStringName: AmenPrayerProd + * + * */ + } + + protected override void Seed(Amen.Models.ApplicationDbContext context) + { + // This method will be called after migrating to the latest version. + + // You can use the DbSet.AddOrUpdate() helper extension method + // to avoid creating duplicate seed data. E.g. + // + // context.People.AddOrUpdate( + // p => p.FullName, + // new Person { FullName = "Andrew Peters" }, + // new Person { FullName = "Brice Lambson" }, + // new Person { FullName = "Rowan Miller" } + // ); + // + + context.PrayerSources.AddOrUpdate(i => i.Label, + new PrayerSource() { Label = "Web", Description = "Requests made via the web site." }, + new PrayerSource() { Label = "iOS", Description = "Requests made via the iOS app." } + ); + context.SaveChanges(); + + context.SubscriptionTypes.AddOrUpdate(i => i.Label, + new SubscriptionType() { Label = "Basic", Description = "Basic subscription with web access." }, + new SubscriptionType() { Label = "BasicPlus", Description = "Basic Plus access to iOS app." }, + new SubscriptionType() { Label = "Demo", Description = "Try it out, but does not show up in the affiliate list." } + ); + context.SaveChanges(); + + var noSource = context.Prayers.Where(i => !i.PrayerSourceId.HasValue).ToList(); + //var noSource = context.Prayers.ToList(); + foreach (var item in noSource) + { + item.PrayerSourceId = PrayerSource.DeterminePrayerSource(item.UserAgent); + } + context.SaveChanges(); + + if (context.Roles.Count(i => i.Name == ControllerHelper.Role_SuperAdministrator) == 0) + { + context.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityRole(ControllerHelper.Role_SuperAdministrator)); + context.SaveChanges(); + } + + if (context.Roles.Count(i => i.Name == ControllerHelper.Role_Administrator) == 0) + { + context.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityRole(ControllerHelper.Role_Administrator)); + context.SaveChanges(); + } + + if (context.Roles.Count(i => i.Name == ControllerHelper.Role_AffiliateAdministrator) == 0) + { + context.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityRole(ControllerHelper.Role_AffiliateAdministrator)); + context.SaveChanges(); + } + + var than = context.Users.Include(i => i.Roles).FirstOrDefault(i => i.Email == "thannap@hotmail.com"); + if (than != null) + { + var adminRole = context.Roles.FirstOrDefault(i => i.Name == ControllerHelper.Role_Administrator); + if (than.Roles.Count(i => i.RoleId == adminRole.Id) == 0) + { + than.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole() { RoleId = adminRole.Id, UserId = than.Id }); + context.SaveChanges(); + } + + var superAdminRole = context.Roles.FirstOrDefault(i => i.Name == ControllerHelper.Role_SuperAdministrator); + if (than.Roles.Count(i => i.RoleId == superAdminRole.Id) == 0) + { + than.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole() { RoleId = superAdminRole.Id, UserId = than.Id }); + context.SaveChanges(); + } + } + + var thangmail = context.Users.Include(i => i.Roles).FirstOrDefault(i => i.Email == "thannap@gmail.com"); + if (thangmail != null) + { + var adminRole = context.Roles.FirstOrDefault(i => i.Name == ControllerHelper.Role_AffiliateAdministrator); + if (thangmail.Roles.Count(i => i.RoleId == adminRole.Id) == 0) + { + thangmail.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole() { RoleId = adminRole.Id, UserId = thangmail.Id }); + context.SaveChanges(); + } + } + + //RoleManager = new RoleManager(new RoleStore(new MyDbContext())); + //var roleresult = RoleManager.Create(new IdentityRole(roleName)); + } + } +} diff --git a/Amen/Models/AccountViewModels.cs b/Amen/Models/AccountViewModels.cs new file mode 100644 index 0000000..10b529e --- /dev/null +++ b/Amen/Models/AccountViewModels.cs @@ -0,0 +1,140 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; + +namespace Amen.Models +{ + public class ExternalLoginConfirmationViewModel + { + [Required] + [Display(Name = "Email")] + public string Email { get; set; } + + [Required] + [Display(Name = "Full Name")] + public string FullName { get; set; } + } + + public class ExternalLoginListViewModel + { + public string ReturnUrl { get; set; } + } + + public class SendCodeViewModel + { + public string SelectedProvider { get; set; } + public ICollection Providers { get; set; } + public string ReturnUrl { get; set; } + public bool RememberMe { get; set; } + } + + public class VerifyCodeViewModel + { + [Required] + public string Provider { get; set; } + + [Required] + [Display(Name = "Code")] + public string Code { get; set; } + public string ReturnUrl { get; set; } + + [Display(Name = "Remember this browser?")] + public bool RememberBrowser { get; set; } + + public bool RememberMe { get; set; } + } + + public class ForgotViewModel + { + [Required] + [Display(Name = "Email")] + public string Email { get; set; } + } + + public class LoginViewModel + { + [Required] + [Display(Name = "Email")] + [EmailAddress] + public string Email { get; set; } + + [Required] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [Display(Name = "Remember me?")] + public bool RememberMe { get; set; } + } + + public class RegisterViewModel + { + + [Required] + [Display(Name = "Full Name")] + public string FullName { get; set; } + + [Required] + [EmailAddress] + [Display(Name = "Email")] + public string Email { get; set; } + + [Display(Name = "Location")] + public string Location { get; set; } + + [Display(Name = "Enable Text Notifications")] + public bool EnableSmsNotifications { get; set; } + + [Display(Name = "Enable Email Notifications")] + public bool EnableEmailNotifications { get; set; } + + [Display(Name = "Allow My Name To Be Shown When Posting")] + public bool ShouldShowName { get; set; } + + [Display(Name = "Allow My Location To Be Shown When Posting")] + public bool ShouldShowLocation { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm password")] + [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + + public bool AffiliateEnableShowLocation { get; set; } + public bool AffiliateEnableShowName { get; set; } + public bool AffiliateIsSmsCapable { get; set; } + } + + public class ResetPasswordViewModel + { + [Required] + [EmailAddress] + [Display(Name = "Email")] + public string Email { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm password")] + [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + + public string Code { get; set; } + } + + public class ForgotPasswordViewModel + { + [Required] + [EmailAddress] + [Display(Name = "Email")] + public string Email { get; set; } + } +} diff --git a/Amen/Models/Affiliate.cs b/Amen/Models/Affiliate.cs new file mode 100644 index 0000000..0263d96 --- /dev/null +++ b/Amen/Models/Affiliate.cs @@ -0,0 +1,137 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; +using System.Web.Mvc; + +namespace Amen.Models +{ + public class Affiliate + { + public int Id { get; set; } + + [ScaffoldColumn(false)] + public int PWId { get; set; } + + [Index(IsUnique = true)] + [StringLength(64)] + [Required] + public string Key { get; set; } + + [Display(Name = "Include prayers in Amen universal list?", Description = "Increases visibility of prayers")] + public bool IncludeInUniversal { get; set; } + + + [Display(Name = "Is Active?")] + public bool IsActive { get; set; } + + [Required] + public string Name { get; set; } + + [AllowHtml] + [DataType(DataType.MultilineText)] + [Display(Name = "Instructions for Prayer List")] + public string Instructions { get; set; } + + [AllowHtml] + [DataType(DataType.MultilineText)] + [Display(Name = "Instructions for Praise List")] + public string InstructionsPraise { get; set; } + + [AllowHtml] + [DataType(DataType.MultilineText)] + [Display(Name = "Instructions for Submitting Individual Prayers")] + public string InstructionsAddPrayer { get; set; } + + [AllowHtml] + [DataType(DataType.MultilineText)] + [Display(Name = "Instructions for Submitting Individual Praise")] + public string InstructionsAddPraise { get; set; } + + [AllowHtml] + [DataType(DataType.MultilineText)] + [Display(Name = "Instructions for Notes of Encouragement")] + public string InstructionsNote { get; set; } + + [Display(Name = "Website Url")] + public string UrlWebsite { get; set; } + [Display(Name = "Logo Url")] + public string UrlLogo { get; set; } + + [Display(Name = "Email Address of Admin Contact")] + public string EmailAdmin { get; set; } + [Display(Name = "Email Address of Billing Contact")] + public string EmailBilling { get; set; } + [Display(Name = "Email Address of Flag Contact")] + public string EmailFlag { get; set; } + + [Display(Name = "Email Subject Line For Prayed Notification")] + public string SendMessagePrayed { get; set; } + [Display(Name = "Email Subject Line For Note of Encouragement Notification")] + public string SendMessageNote { get; set; } + + [Display(Name = "How many days of prayers to include")] + public int PrayerDaysThreshold { get; set; } + + [Display(Name = "How many flags to disable a prayer")] + public int FlagThreshold { get; set; } + + public string TwilioSID { get; set; } + public string TwilioAuthToken { get; set; } + public string TwilioPhoneNumber { get; set; } + + + [Display(Name = "Send notification to admin when someone submits prayer request")] + public bool ShouldSendPrayerNotificationAdmin { get; set; } + + [Display(Name = "Send notification to admin when someone submits praise")] + public bool ShouldSendPraiseNotificationAdmin { get; set; } + + [Display(Name = "Allow users to send notes of encouragement")] + public bool EnableNotes { get; set; } + + [Display(Name = "Require admin moderation in order for prayers to become 'active'")] + public bool RequireModeration { get; set; } + + public int? SubscriptionTypeId { get; set; } + public SubscriptionType SubscriptionType { get; set; } + + [Display(Name = "Require users to create and log into an account to use notification features (recommended)")] + public bool RequireLoginForNoticiations { get; set; } + + [Display(Name = "Allow users to opt in to show their location")] + public bool EnableShowLocation { get; set; } + + [Display(Name = "Allow users to opt in to show their name")] + public bool EnableShowName { get; set; } + + //TODO: implement something new + //public int Level { get; set; } + //public int Status { get; set; } + //public bool ShouldUseBlacklist { get; set; } + //public string BlacklistEmails { get; set; } + //public string BlacklistIPs { get; set; } + + //public int MaxLengthPrayer { get; set; } + //public int MaxLengthStory { get; set; } + + public virtual IList Styles { get; set; } + public virtual IList BlacklistEmails { get; set; } + public virtual IList BlacklistIPs { get; set; } + public virtual IList AutoFlagItems { get; set; } + public virtual IList AffiliateAdmins { get; set; } + + [NotMapped] + public bool IsSmsCapable + { + get + { + return !string.IsNullOrEmpty(this.TwilioSID) + && !string.IsNullOrEmpty(this.TwilioAuthToken) + && !string.IsNullOrEmpty(this.TwilioPhoneNumber); + } + } + } +} \ No newline at end of file diff --git a/Amen/Models/AffiliateAdmin.cs b/Amen/Models/AffiliateAdmin.cs new file mode 100644 index 0000000..f53bae2 --- /dev/null +++ b/Amen/Models/AffiliateAdmin.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class AffiliateAdmin + { + [Key, Column(Order = 0)] + [ForeignKey("ApplicationUser")] + public string ApplicationUserId { get; set; } + public ApplicationUser ApplicationUser { get; set; } + + [Key, Column(Order = 1)] + public int AffiliateId { get; set; } + public Affiliate Affiliate { get; set; } + + public DateTime CreatedUTC { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/AffiliateStyle.cs b/Amen/Models/AffiliateStyle.cs new file mode 100644 index 0000000..e5e6e52 --- /dev/null +++ b/Amen/Models/AffiliateStyle.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class AffiliateStyle + { + public int Id { get; set; } + + public int AffiliateId { get; set; } + public Affiliate Affiliate { get; set; } + + public string StyleSheet { get; set; } + + public DateTime CreatedUTC { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/AffiliateViewModels.cs b/Amen/Models/AffiliateViewModels.cs new file mode 100644 index 0000000..3f5826e --- /dev/null +++ b/Amen/Models/AffiliateViewModels.cs @@ -0,0 +1,127 @@ +using PagedList; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class AffiliateSelectViewModel + { + public int Id { get; set; } + public string Name { get; set; } + public string Key { get; set; } + public string UrlLogo { get; set; } + public string NavigateUrl { get; set; } + + public int? SubscriptionTypeId { get; set; } + } + + public class AffiliateTabsViewModel + { + public int Id { get; set; } + public string Key { get; set; } + public string Selected { get; set; } + } + + public class AffiliateStyleViewModel + { + public int Id { get; set; } + public string Key { get; set; } + + [DataType(DataType.MultilineText)] + public string StyleContent { get; set; } + public string Template { get; set; } + } + + public class AffiliateFlagItemsViewModel + { + public int Id { get; set; } + public string Key { get; set; } + + //[DataType(DataType.MultilineText)] + public string FlagItems { get; set; } + } + + public class AffiliatePrayersViewModel + { + public int Id { get; set; } + public int Page { get; set; } + public int PageSize { get; set; } + public IPagedList Prayers { get; set; } + } + + public class AffiliateStatsViewModel + { + public int Id { get; set; } + + [Display(Name = "Total Requests")] + public int TotalRequests { get; set; } + [Display(Name = "Total Praise")] + public int TotalPraise { get; set; } + [Display(Name = "Total Notes Sent")] + public int TotalNotesSent { get; set; } + [Display(Name = "Total Prayers Prayed")] + public int TotalPrayersPrayed { get; set; } + [Display(Name = "Total Flags")] + public int TotalFlagsIndicated { get; set; } + + [Display(Name = "Recent Requests")] + public int RecentRequests { get; set; } + [Display(Name = "Recent Praise")] + public int RecentPraise { get; set; } + [Display(Name = "Recent Notes Sent")] + public int RecentNotesSent { get; set; } + [Display(Name = "Recent Prayers Prayed")] + public int RecentPrayersPrayed { get; set; } + [Display(Name = "Recent Flags")] + public int RecentFlagsIndicated { get; set; } + + [Display(Name="Recent Requests %")] + [DisplayFormat(DataFormatString = "{0:N2}")] + public double RecentRequestsPercentage { get { if (this.TotalRequests == 0) return 0; return (double)this.RecentRequests / (double)this.TotalRequests * 100.0; } } + [Display(Name = "Recent Praise %")] + [DisplayFormat(DataFormatString = "{0:N2}")] + public double RecentPraisePercentage { get { if (this.TotalPraise == 0) return 0; return (double)this.RecentPraise / (double)this.TotalPraise * 100.0; } } + [Display(Name = "Recent Notes %")] + [DisplayFormat(DataFormatString = "{0:N2}")] + public double RecentNotesSentPercentage { get { if (this.TotalNotesSent == 0) return 0; return (double)this.RecentNotesSent / (double)this.TotalNotesSent * 100.0; } } + [Display(Name = "Recent Prayed %")] + [DisplayFormat(DataFormatString = "{0:N2}")] + public double RecentPrayersPrayedPercentage { get { if (this.TotalPrayersPrayed == 0) return 0; return (double)this.RecentPrayersPrayed / (double)this.TotalPrayersPrayed * 100.0; } } + [Display(Name = "Recent Flags %")] + [DisplayFormat(DataFormatString = "{0:N2}")] + public double RecentFlagsIndicatedPercentage { get { if (this.TotalFlagsIndicated == 0) return 0; return (double)this.RecentFlagsIndicated / (double)this.TotalFlagsIndicated * 100.0; } } + } + + public class AffiliateUsersViewModel + { + public int Id { get; set; } + public List Users { get; set; } + + public class AffiliateUserViewModel + { + public string Id { get; set; } + public string FullName { get; set; } + public string Email { get; set; } + + public DateTime? LastLoginDate { get; set; } + public bool IsAdmin { get; set; } + public int OffsetMinutes { get; set; } + + public string DisplayLoginDate + { + get + { + if (!this.LastLoginDate.HasValue) + return ""; + + return this.LastLoginDate.Value.AddMinutes(OffsetMinutes).ToShortDateString(); + } + } + } + } + + +} \ No newline at end of file diff --git a/Amen/Models/AutoFlagItem.cs b/Amen/Models/AutoFlagItem.cs new file mode 100644 index 0000000..01b8490 --- /dev/null +++ b/Amen/Models/AutoFlagItem.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class AutoFlagItem + { + public int Id { get; set; } + + public int AffiliateId { get; set; } + public Affiliate Affiliate { get; set; } + + public string Text { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/BlacklistEmail.cs b/Amen/Models/BlacklistEmail.cs new file mode 100644 index 0000000..f277b39 --- /dev/null +++ b/Amen/Models/BlacklistEmail.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class BlacklistEmail + { + public int Id { get; set; } + + public int AffiliateId { get; set; } + public Affiliate Affiliate { get; set; } + + public string Email { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/BlacklistIP.cs b/Amen/Models/BlacklistIP.cs new file mode 100644 index 0000000..70465ac --- /dev/null +++ b/Amen/Models/BlacklistIP.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class BlacklistIP + { + public int Id { get; set; } + + public int AffiliateId { get; set; } + public Affiliate Affiliate { get; set; } + + public string IP { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/EmailViewModels.cs b/Amen/Models/EmailViewModels.cs new file mode 100644 index 0000000..0e14f2a --- /dev/null +++ b/Amen/Models/EmailViewModels.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class EmailViewModel + { + public string To { get; set; } + public string Subject { get; set; } + } + + public class PrayerEmailViewModel : EmailViewModel + { + public string Title { get; set; } + public string NoteText { get; set; } + public string DetailUrl { get; set; } + public string ManageUrl { get; set; } + public bool IsUserLoggedIn { get; set; } + public bool IsPraise { get; set; } + } + + + public class AdminEmailViewModel : EmailViewModel + { + public string PrayerTitle { get; set; } + public string PrayerContent { get; set; } + public string NotificationTypeMessage { get; set; } + public string DetailUrl { get; set; } + public string ManageUrl { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/FacebookAuthModels.cs b/Amen/Models/FacebookAuthModels.cs new file mode 100644 index 0000000..dcaaea2 --- /dev/null +++ b/Amen/Models/FacebookAuthModels.cs @@ -0,0 +1,44 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Web; + +namespace Amen.Models +{ + public class FacebookOauthResponse + { + public string access_token { get; set; } + public string token_type { get; set; } + public int expires_in { get; set; } + } + + public class FacebookBackChannelHandler : HttpClientHandler + { + protected override async System.Threading.Tasks.Task SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) + { + var result = await base.SendAsync(request, cancellationToken); + if (!request.RequestUri.AbsolutePath.Contains("access_token")) + return result; + + // For the access token we need to now deal with the fact that the response is now in JSON format, not form values. Owin looks for form values. + var content = await result.Content.ReadAsStringAsync(); + var facebookOauthResponse = JsonConvert.DeserializeObject(content); + + var outgoingQueryString = HttpUtility.ParseQueryString(string.Empty); + outgoingQueryString.Add("access_token", facebookOauthResponse.access_token); + outgoingQueryString.Add("expires_in", facebookOauthResponse.expires_in + string.Empty); + outgoingQueryString.Add("token_type", facebookOauthResponse.token_type); + var postdata = outgoingQueryString.ToString(); + + var modifiedResult = new HttpResponseMessage(HttpStatusCode.OK) + { + Content = new StringContent(postdata) + }; + + return modifiedResult; + } + } +} \ No newline at end of file diff --git a/Amen/Models/IdentityModels.cs b/Amen/Models/IdentityModels.cs new file mode 100644 index 0000000..870740a --- /dev/null +++ b/Amen/Models/IdentityModels.cs @@ -0,0 +1,217 @@ +using System.Data.Entity; +using System.Security.Claims; +using System.Threading.Tasks; +using Microsoft.AspNet.Identity; +using Microsoft.AspNet.Identity.EntityFramework; +using System.Data.Entity.ModelConfiguration.Conventions; +using System.Collections.Generic; +using System; +using Amen.Controllers; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Amen.Models +{ + + // You can add profile data for the user by adding more properties to your ApplicationUser class, please visit http://go.microsoft.com/fwlink/?LinkID=317594 to learn more. + public class ApplicationUser : IdentityUser + { + public int AffiliateId { get; set; } + public Affiliate Affiliate { get; set; } + + [Display(Name = "Name")] + public string FullName { get; set; } + + + public bool EnableSmsNotifications { get; set; } + public bool EnableEmailNotifications { get; set; } + + public DateTime? LastLoginDateUtc { get; set; } + + public string Location { get; set; } + public bool ShouldShowLocation { get; set; } + public bool ShouldShowName { get; set; } + + [NotMapped] + public bool IsSmsCapable + { + get + { + return !string.IsNullOrEmpty(this.PhoneNumber) && this.EnableSmsNotifications; + } + } + + public virtual IList Prayers { get; set; } + + public async Task GenerateUserIdentityAsync(UserManager manager) + { + // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType + var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); + + userIdentity.AddClaim(new Claim("FullName", this.FullName)); + // Add custom user claims here + return userIdentity; + } + } + + public class ApplicationDbContext : IdentityDbContext + { + public DbSet Prayers { get; set; } + public DbSet Affiliates { get; set; } + public DbSet PrayerBookmarks { get; set; } + public DbSet PrayerSubscriptions { get; set; } + public DbSet PrayerFlags { get; set; } + public DbSet PrayerItems { get; set; } + public DbSet BlacklistEmails { get; set; } + public DbSet BlacklistIPs { get; set; } + public DbSet AutoFlagItems { get; set; } + public DbSet PrayerNotes { get; set; } + public DbSet AffiliateStyles { get; set; } + public DbSet AffiliateAdmins { get; set; } + public DbSet PrayerSources { get; set; } + public DbSet SubscriptionTypes { get; set; } + + public ApplicationDbContext() + : base("AmenPrayer", throwIfV1Schema: false) + { + this.Database.CommandTimeout = 300; + } + + public static ApplicationDbContext Create() + { + return new ApplicationDbContext(); + } + + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + //keep table names singular + modelBuilder.Conventions.Remove(); + + //turn off cascade delete + modelBuilder.Conventions.Remove(); + modelBuilder.Conventions.Remove(); + } + + } + + public class ApplicationDbContextInitializer : DropCreateDatabaseIfModelChanges + { + private void SeedMembership(ApplicationDbContext db) + { + //var roles = Roles.Provider; + //var membership = Membership.Provider; + + //if (!roles.RoleExists("Administrator")) + //{ + // roles.CreateRole("Administrator"); + //} + //if (membership.GetUser("thannap", false) == null) + //{ + // MembershipCreateStatus status; + // membership.CreateUser("thannap", "password", "thannap@hotmail.com", "pass?", "password", true, null, out status); + // //membership.CreateUserAndAccount("sallen", "imalittleteapot"); + //} + //if (!roles.GetRolesForUser("thannap").Contains("Admin")) + //{ + // roles.AddUsersToRoles(new[] { "thannap" }, new[] { "Admin" }); + //} + } + + protected override void Seed(ApplicationDbContext db) + { + var aff = db.Affiliates.Add(new Affiliate() + { + Key = ControllerHelper.DefaultAffiliateKey, + IsActive = true, + Name = "Amen", + Instructions = "Amen: A prayer app", + //Status = 0, + //Level = 0, + PrayerDaysThreshold = 30, + //BlacklistEmails = "", + //BlacklistIPs = "", + EmailAdmin = "than@effectivepixels.net", + EmailBilling = "than@effectivepixels.net", + EmailFlag = "than@effectivepixels.net", + FlagThreshold = 3, + //HasCustomCSS = false, + //MaxLengthPrayer = 1024, + //MaxLengthStory = 1024, + SendMessageNote = "Someone has sent you a note!", + SendMessagePrayed = "Someone has prayed for you!", + InstructionsAddPrayer = "This is text that shows up before the add prayer button", + ShouldSendPrayerNotificationAdmin = true, + ShouldSendPraiseNotificationAdmin = true, + //ShouldUseBlacklist = true, + TwilioAuthToken = "480bcbad18cd89e11ab5627532549c18", + TwilioPhoneNumber = "2064296488", + TwilioSID = "ACffd3ffac5601e6ee480e3ff6855d3b54", + UrlLogo = "https://amen.blob.core.windows.net/logos/amen-logo.png", + UrlWebsite = "http://www.amenprayer.com", + IncludeInUniversal = true + }); + + var aff2 = db.Affiliates.Add(new Affiliate() + { + Key = "joyfm", + IsActive = true, + Name = "Joy FM", + Instructions = "Nap: There's a Nap for that", + //Status = 0, + //Level = 0, + PrayerDaysThreshold = 30, + //BlacklistEmails = "", + //BlacklistIPs = "", + EmailAdmin = "than@napclan.com", + EmailBilling = "than@napclan.com", + EmailFlag = "than@napclan.com", + FlagThreshold = 3, + //HasCustomCSS = false, + //MaxLengthPrayer = 1024, + //MaxLengthStory = 1024, + SendMessageNote = "Someone has sent you a note!", + SendMessagePrayed = "Someone has prayed for you!", + InstructionsAddPrayer = "This is text that shows up before the add prayer button", + ShouldSendPrayerNotificationAdmin = true, + ShouldSendPraiseNotificationAdmin = true, + //ShouldUseBlacklist = true, + TwilioAuthToken = "480bcbad18cd89e11ab5627532549c18", + TwilioPhoneNumber = "2064296488", + TwilioSID = "ACffd3ffac5601e6ee480e3ff6855d3b54", + UrlLogo = "https://amen.blob.core.windows.net/logos/joy-logo.gif", + UrlWebsite = "http://www.napclan.com", + IncludeInUniversal = false + }); + db.SaveChanges(); + + for (int i = 0; i < 100; i++) + { + db.Prayers.Add(new Prayer() + { + Summary = "Prayer Summary " + i.ToString(), + Content = i.ToString() + " - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum gravida fringilla dui mattis consequat.\r\rDonec ultrices facilisis metus, et ultrices erat efficitur non. Nunc viverra id nulla id pulvinar. Donec posuere, nibh a pretium tempus, leo enim bibendum metus, eu efficitur justo tellus ullamcorper purus. Mauris mi dui, porta quis pellentesque laoreet, finibus sollicitudin elit. Cras maximus dui lorem, at tincidunt metus egestas ac. Nam vitae neque tincidunt, pulvinar nibh id, molestie nisl. Aliquam nec libero faucibus, aliquet urna ut, ultrices diam. Aenean purus tortor, pulvinar sit amet arcu a, lacinia tristique est.", + CreatedUTC = System.DateTime.UtcNow, + AffiliateId = i % 2 == 0 ? aff.Id : aff2.Id, + AgreeTermsOfUse = true, + AnonymousEmail = "thannap@gmail.com", + AnonymousName = "Annon Than", + //AnonymousPhone = "2067550211", + EnableEmailNote = i % 3 == 0, + EnableEmailNotification = i % 4 == 0, + EnableTextNotification = i % 5 == 0, + IsActive = true, + IsPraise = i % 5 == 0, + CountFlagged = 0, + CountPrayed = (int)Math.Floor((double)i % 5), + PrayerSourceId = (int)PrayerSourceEnum.Web + }); + db.SaveChanges(); + } + + SeedMembership(db); + } + } +} \ No newline at end of file diff --git a/Amen/Models/ManageViewModels.cs b/Amen/Models/ManageViewModels.cs new file mode 100644 index 0000000..04c3700 --- /dev/null +++ b/Amen/Models/ManageViewModels.cs @@ -0,0 +1,115 @@ +using Microsoft.AspNet.Identity; +using Microsoft.Owin.Security; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; + +namespace Amen.Models +{ + public class SaveProfileViewModel + { + public string FullName { get; set; } + public string Location { get; set; } + public bool EnableEmailNotifications { get; set; } + public bool EnableSmsNotifications { get; set; } + public bool ShouldShowName { get; set; } + public bool ShouldShowLocation { get; set; } + } + + public class IndexViewModel + { + public bool HasPassword { get; set; } + + public IList Logins { get; set; } + public string PhoneNumber { get; set; } + public bool TwoFactor { get; set; } + public bool BrowserRemembered { get; set; } + public string FullName { get; set; } + + public string Location { get; set; } + + [Display(Name="Enable Text Notifications")] + public bool EnableSmsNotifications { get; set; } + [Display(Name = "Enable Email Notifications")] + public bool EnableEmailNotifications { get; set; } + + [Display(Name = "Allow My Name To Be Shown When Posting")] + public bool ShouldShowName { get; set; } + + [Display(Name = "Allow My Location To Be Shown When Posting")] + public bool ShouldShowLocation { get; set; } + + public bool AffiliateSmsCapable { get; set; } + public bool AffiliateEnableShowLocation { get; set; } + public bool AffiliateEnableShowName { get; set; } + } + + public class ManageLoginsViewModel + { + public IList CurrentLogins { get; set; } + public IList OtherLogins { get; set; } + } + + public class FactorViewModel + { + public string Purpose { get; set; } + } + + public class SetPasswordViewModel + { + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "New password")] + public string NewPassword { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm new password")] + [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } + + public class ChangePasswordViewModel + { + [Required] + [DataType(DataType.Password)] + [Display(Name = "Current password")] + public string OldPassword { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "New password")] + public string NewPassword { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm new password")] + [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } + + public class AddPhoneNumberViewModel + { + [Required] + [Phone] + [Display(Name = "Phone Number")] + public string Number { get; set; } + } + + public class VerifyPhoneNumberViewModel + { + [Required] + [Display(Name = "Code")] + public string Code { get; set; } + + [Required] + [Phone] + [Display(Name = "Phone Number")] + public string PhoneNumber { get; set; } + } + + public class ConfigureTwoFactorViewModel + { + public string SelectedProvider { get; set; } + public ICollection Providers { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/Prayer.cs b/Amen/Models/Prayer.cs new file mode 100644 index 0000000..bad3cd2 --- /dev/null +++ b/Amen/Models/Prayer.cs @@ -0,0 +1,142 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class Prayer + { + public int Id { get; set; } + + public int PWId { get; set; } + + public int AffiliateId { get; set; } + + public Affiliate Affiliate { get; set; } + + [ForeignKey("ApplicationUser")] + public string ApplicationUserId { get; set; } + + public ApplicationUser ApplicationUser { get; set; } + + [Display(Name = "Active?")] + public bool IsActive { get; set; } + + public bool IsDeleted { get; set; } + + [Display(Name = "Enable Text Notifications?")] + public bool EnableTextNotification { get; set; } + + [Display(Name = "Enable Email Notifications?")] + public bool EnableEmailNotification { get; set; } + + [Display(Name = "Enable Note of Encouragement?")] + public bool EnableEmailNote { get; set; } + + [Display(Name = "Title")] + public string Summary { get; set; } + + [DataType(DataType.MultilineText)] + public string Content { get; set; } + + public bool IsPraise { get; set; } + + [Display(Name = "Anonymous Name")] + public string AnonymousName { get; set; } + + [Display(Name = "Anonymous Email")] + public string AnonymousEmail { get; set; } + + [Display(Name = "Phone")] + public string AnonymousPhone { get; set; } + + [Display(Name = "Share this?")] + public string ShareThis { get; set; } + + [Display(Name = "Contact Preference")] + public string ContactPreference { get; set; } + + [Display(Name="Terms?")] + public bool AgreeTermsOfUse { get; set; } + + [Display(Name = "IP")] + public string IPAddress { get; set; } + + public string UserAgent { get; set; } + + public DateTime? ModifiedUTC { get; set; } + + [DisplayFormat(DataFormatString="{0:MMM d, yyyy}")] + [Display(Name = "Created")] + public DateTime CreatedUTC { get; set; } + + [Display(Name = "Prayed")] + public int CountPrayed { get; set; } + + [Display(Name="Flagged")] + public int CountFlagged { get; set; } + + public int? PrayerSourceId { get; set; } + + public PrayerSource PrayerSource { get; set; } + + public virtual IList PrayerItems { get; set; } + + public virtual IList PrayerFlags { get; set; } + + public virtual IList PrayerNotes { get; set; } + + public virtual IList PrayerBookmarks { get; set; } + + public virtual IList PrayerSubscriptions { get; set; } + + + [ForeignKey("ParentPrayer")] + public int? ParentPrayerId { get; set; } + + public virtual Prayer ParentPrayer { get; set; } + + public virtual ICollection ChildPrayers { get; set; } + + [NotMapped] + public string ContentElipsis + { + get + { + if (string.IsNullOrEmpty(this.Content) || this.Content.Length <= 50) + return this.Content; + + else + return this.Content.Substring(0, Math.Min(100, this.Content.Length)) + "..."; + } + } + + [NotMapped] + public string DisplayUserName + { + get + { + if (this.ApplicationUser != null) + return this.ApplicationUser.FullName; + else + return this.AnonymousName; + } + } + + [NotMapped] + public string DisplayUserEmail + { + get + { + if (this.ApplicationUser != null) + return this.ApplicationUser.Email; + else + return this.AnonymousEmail; + } + } + } +} \ No newline at end of file diff --git a/Amen/Models/PrayerBookmark.cs b/Amen/Models/PrayerBookmark.cs new file mode 100644 index 0000000..942eda2 --- /dev/null +++ b/Amen/Models/PrayerBookmark.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class PrayerBookmark + { + public int Id { get; set; } + + public int PrayerId { get; set; } + public Prayer Prayer { get; set; } + + [ForeignKey("ApplicationUser")] + public string ApplicationUserId { get; set; } + public ApplicationUser ApplicationUser { get; set; } + + public DateTime CreatedUTC { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/PrayerFlag.cs b/Amen/Models/PrayerFlag.cs new file mode 100644 index 0000000..5f2ad41 --- /dev/null +++ b/Amen/Models/PrayerFlag.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class PrayerFlag + { + public int Id { get; set; } + + public int PrayerId { get; set; } + public Prayer Prayer { get; set; } + + [ForeignKey("ApplicationUser")] + public string ApplicationUserId { get; set; } + public ApplicationUser ApplicationUser { get; set; } + + public string AnonymousName { get; set; } + public string AnonymousEmail { get; set; } + + public string Reason { get; set; } + + public DateTime CreatedUTC { get; set; } + + } +} \ No newline at end of file diff --git a/Amen/Models/PrayerItem.cs b/Amen/Models/PrayerItem.cs new file mode 100644 index 0000000..8a363c7 --- /dev/null +++ b/Amen/Models/PrayerItem.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class PrayerItem + { + public int Id { get; set; } + + public int PrayerId { get; set; } + public Prayer Prayer { get; set; } + + [ForeignKey("ApplicationUser")] + public string ApplicationUserId { get; set; } + public ApplicationUser ApplicationUser { get; set; } + + public string IPAddress { get; set; } + public string UserAgent { get; set; } + + public DateTime CreatedUTC { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/PrayerNote.cs b/Amen/Models/PrayerNote.cs new file mode 100644 index 0000000..e099ca7 --- /dev/null +++ b/Amen/Models/PrayerNote.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class PrayerNote + { + public int Id { get; set; } + + public int PrayerId { get; set; } + public Prayer Prayer { get; set; } + + [ForeignKey("ApplicationUser")] + public string ApplicationUserId { get; set; } + public ApplicationUser ApplicationUser { get; set; } + + public string NoteText { get; set; } + + public string IPAddress { get; set; } + public string UserAgent { get; set; } + + public DateTime CreatedUTC { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/PrayerSource.cs b/Amen/Models/PrayerSource.cs new file mode 100644 index 0000000..77e671e --- /dev/null +++ b/Amen/Models/PrayerSource.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text.RegularExpressions; +using System.Web; + +namespace Amen.Models +{ + public enum PrayerSourceEnum + { + Web = 1, + iOS = 2 + } + + public class PrayerSource + { + public int Id { get; set; } + public string Label { get; set; } + public string Description { get; set; } + + [NotMapped] + public PrayerSourceEnum EnumValue + { + get + { + return (PrayerSourceEnum)this.Id; + } + set + { + this.Id = (int)value; + } + } + + public static int DeterminePrayerSource(string userAgent) + { + userAgent = userAgent ?? ""; + var isWebView = Regex.IsMatch(userAgent, "((iPhone|iPod|iPad).*AppleWebKit(?!.*(Safari|CriOS)))", RegexOptions.IgnoreCase); + isWebView = isWebView || userAgent.Contains("AmenPrayer iOS"); + + if (isWebView) + { + return (int)PrayerSourceEnum.iOS; + } + else + { + return (int)PrayerSourceEnum.Web; + } + } + } + +} \ No newline at end of file diff --git a/Amen/Models/PrayerSubscription.cs b/Amen/Models/PrayerSubscription.cs new file mode 100644 index 0000000..b75e0f0 --- /dev/null +++ b/Amen/Models/PrayerSubscription.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class PrayerSubscription + { + public int Id { get; set; } + + public int PrayerId { get; set; } + public Prayer Prayer { get; set; } + + [ForeignKey("ApplicationUser")] + public string ApplicationUserId { get; set; } + public ApplicationUser ApplicationUser { get; set; } + + public DateTime CreatedUTC { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/PrayerViewModels.cs b/Amen/Models/PrayerViewModels.cs new file mode 100644 index 0000000..37875ca --- /dev/null +++ b/Amen/Models/PrayerViewModels.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public class PrayersViewModel + { + public string Instructions { get; set; } + public string InstructionsPraise { get; set; } + public string InstructionsAddPrayer { get; set; } + public string InstructionsAddPraise { get; set; } + public string InstructionsNote { get; set; } + public bool ShouldOpenSubmit { get; set; } + public bool IsDetail { get; set; } + public bool IsPraise { get; set; } + public bool IsUserAuthenticated { get; set; } + public string AuthenticatedUserEmail { get; set; } + public bool IsAffiliateSmsCapable { get; set; } + public bool IsUserSmsCapable { get; set; } + public bool EnableNotifications { get; set; } + public bool IsAffiliateNotesEnabled { get; set; } + public bool ShouldReturnToUserPage { get; set; } + public IList Prayers { get; set; } + + public bool ShowPraiseListInstructions + { + get + { + return !this.IsDetail && this.IsPraise && !string.IsNullOrEmpty(InstructionsPraise); + } + } + + public bool ShowPrayerListInstructions + { + get + { + return !this.IsDetail && !this.IsPraise && !string.IsNullOrEmpty(Instructions); + } + } + + public bool ShowAddPraiseInstructions + { + get + { + return this.IsPraise && !string.IsNullOrEmpty(InstructionsAddPraise); + } + } + + public bool ShowAddPrayerInstructions + { + get + { + return !this.IsPraise && !string.IsNullOrEmpty(InstructionsAddPrayer); + } + } + } + + public class PrayerItemViewModel + { + public int Id { get; set; } + public string UserName { get; set; } + public string UserLocation { get; set; } + public string Summary { get; set; } + public string Content { get; set; } + public string ContentElipsis + { + get + { + if (string.IsNullOrEmpty(this.Content) || this.Content.Length <= 50) + return this.Content; + + else + return this.Content.Substring(0, Math.Min(100, this.Content.Length)) + "..."; + } + } + public bool IsPraise { get; set; } + public int CountPrayed { get; set; } + public bool EnableEmailNote { get; set; } + + //public bool IsUserAuthenticated { get; set; } + public string ShareThis { get; set; } + public bool EnableNotifications { get; set; } + public bool IsAffiliateNotesEnabled { get; set; } + public bool IsUserSubscribed { get; set; } + public bool IsUserBookmarked { get; set; } + public bool EnableEdit { get; set; } + public DateTime CreatedUTC { get; set; } + public int OffsetMinutes { get; set; } + public string DetailUrl { get; set; } + public string UrlLogo { get; set; } + + public string DisplaySubmittedDate + { + get + { + var now = DateTime.UtcNow.AddMinutes(-this.OffsetMinutes); + var created = this.CreatedUTC.AddMinutes(-this.OffsetMinutes); + var diffMinutes = Math.Round((now - created).TotalMinutes); + var hours = Math.Round( diffMinutes / 60); + + if (diffMinutes <= 1) + return "1 minute ago"; + else if (diffMinutes < 60) + return string.Format("{0} minutes ago", diffMinutes); + else if (hours == 1) + return "1 hour ago"; + else if (hours <= 12) + return string.Format("{0} hours ago", hours); + else if (created.DayOfYear != now.DayOfYear) + return string.Format("{0:MMM d, yyyy}", created); + else + return string.Format("{0} hours ago", hours); + } + } + + public string DisplaySubscribeText + { + get + { + return this.IsUserSubscribed ? "Unsubscribe" : "Subscribe"; + } + } + + public string DisplayBookmarkText + { + get + { + return this.IsUserBookmarked ? "Remove Bookmark" : "Bookmark"; + } + } + + public string ShareFacebookUrl + { + get + { + return string.Format("https://www.facebook.com/sharer/sharer.php?u={0}", HttpUtility.UrlEncode(DetailUrl)); + } + } + + public string ShareTwitterUrl + { + get + { + return string.Format("https://twitter.com/home?status={0}", HttpUtility.UrlEncode(DetailUrl)); + } + } + + public string ShareEmailUrl + { + get + { + return string.Format("mailto:?&subject={0}&body={1}", HttpUtility.UrlPathEncode("Amen Prayer - " + this.Summary), HttpUtility.UrlPathEncode("Please pray with me - " + this.DetailUrl)); + } + } + + public bool HasUserName + { + get { return !string.IsNullOrEmpty(this.UserName); } + } + + public bool HasUserLocation + { + get { return !string.IsNullOrEmpty(this.UserLocation); } + } + + public bool HasUserNameAndLocation + { + get { return HasUserName && HasUserLocation; } + } + + } + + + //public class PrayerFlagViewModel + //{ + // public int Id { get; set; } + // public string Reason { get; set; } + // public string Name { get; set; } + // public string Email { get; set; } + //} + + public class PrayerEditViewModel + { + public int Id { get; set; } + + public string Summary { get; set; } + + public string Content { get; set; } + + public bool IsNew { get; set; } + + public bool IsPraise { get; set; } + + public bool AgreeTermsOfUse { get; set; } + + public string AnonymousName { get; set; } + + public string AnonymousEmail { get; set; } + + public string AnonymousPhone { get; set; } + + public string ShareThis { get; set; } + + public string ContactPreference { get; set; } + + public bool EnableEmailNote { get; set; } + + public bool EnableEmailNotification { get; set; } + + public bool EnableTextNotification { get; set; } + } +} \ No newline at end of file diff --git a/Amen/Models/RelatedPrayer.cs b/Amen/Models/RelatedPrayer.cs new file mode 100644 index 0000000..0350d2b --- /dev/null +++ b/Amen/Models/RelatedPrayer.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + //public class RelatedPrayer + //{ + // [Key, Column(Order = 0)] + // [ForeignKey("Prayer")] + // public string ParentPrayerId { get; set; } + // public Prayer ParentPrayer { get; set; } + + // [Key, Column(Order = 1)] + // [ForeignKey("Prayer")] + // public int ChildPrayerId { get; set; } + // public Prayer ChildPrayer { get; set; } + + // public DateTime CreatedUTC { get; set; } + //} +} \ No newline at end of file diff --git a/Amen/Models/SubscriptionType.cs b/Amen/Models/SubscriptionType.cs new file mode 100644 index 0000000..2f2f6bc --- /dev/null +++ b/Amen/Models/SubscriptionType.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Web; + +namespace Amen.Models +{ + public enum SubscriptionTypeEnum + { + Basic = 1, + BasicPlus = 2, + Demo = 3 + } + + public class SubscriptionType + { + public int Id { get; set; } + [Display(Name = "Subscription Type")] + public string Label { get; set; } + public string Description { get; set; } + + [NotMapped] + public SubscriptionTypeEnum EnumValue + { + get + { + return (SubscriptionTypeEnum)this.Id; + } + set + { + this.Id = (int)value; + } + } + } +} \ No newline at end of file diff --git a/Amen/Project_Readme.html b/Amen/Project_Readme.html new file mode 100644 index 0000000..4bb6760 --- /dev/null +++ b/Amen/Project_Readme.html @@ -0,0 +1,151 @@ + + + + + Your ASP.NET application + + + + +

    + +
    +
    +

    This application consists of:

    +
      +
    • Sample pages showing basic nav between Home, About, and Contact
    • +
    • Theming using Bootstrap
    • +
    • Authentication, if selected, shows how to register and sign in
    • +
    • ASP.NET features managed using NuGet
    • +
    +
    + + + + + +
    +

    Get help

    + +
    +
    + + + \ No newline at end of file diff --git a/Amen/Properties/AssemblyInfo.cs b/Amen/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0036321 --- /dev/null +++ b/Amen/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Amen")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Amen")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4699afe3-6d5c-43bd-b9e6-4c06583eae1f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyFileVersion("1.0.*")] diff --git a/Amen/Scripts/_references.js b/Amen/Scripts/_references.js new file mode 100644 index 0000000000000000000000000000000000000000..ae3e38df3067c9121cb288738010cf03f33d03ac GIT binary patch literal 1158 zcmcJO&2GXl5QOJksqcWeI}{E*(Y}jm0tJyc%?}cN_`%bAyk}dK^XMz zw`U=NFpqew?T~L zdktgr+j5nOE_m?;W Dte3mz literal 0 HcmV?d00001 diff --git a/Amen/Scripts/bootstrap-tagsinput-angular.js b/Amen/Scripts/bootstrap-tagsinput-angular.js new file mode 100644 index 0000000..b849848 --- /dev/null +++ b/Amen/Scripts/bootstrap-tagsinput-angular.js @@ -0,0 +1,92 @@ +/* + * bootstrap-tagsinput v0.8.0 + * + */ + +angular.module('bootstrap-tagsinput', []) +.directive('bootstrapTagsinput', [function() { + + function getItemProperty(scope, property) { + if (!property) + return undefined; + + if (angular.isFunction(scope.$parent[property])) + return scope.$parent[property]; + + return function(item) { + return item[property]; + }; + } + + return { + restrict: 'EA', + scope: { + model: '=ngModel' + }, + template: '', + replace: false, + link: function(scope, element, attrs) { + $(function() { + if (!angular.isArray(scope.model)) + scope.model = []; + + var select = $('select', element); + var typeaheadSourceArray = attrs.typeaheadSource ? attrs.typeaheadSource.split('.') : null; + var typeaheadSource = typeaheadSourceArray ? + (typeaheadSourceArray.length > 1 ? + scope.$parent[typeaheadSourceArray[0]][typeaheadSourceArray[1]] + : scope.$parent[typeaheadSourceArray[0]]) + : null; + + select.tagsinput(scope.$parent[attrs.options || ''] || { + typeahead : { + source : angular.isFunction(typeaheadSource) ? typeaheadSource : null + }, + itemValue: getItemProperty(scope, attrs.itemvalue), + itemText : getItemProperty(scope, attrs.itemtext), + confirmKeys : getItemProperty(scope, attrs.confirmkeys) ? JSON.parse(attrs.confirmkeys) : [13], + tagClass : angular.isFunction(scope.$parent[attrs.tagclass]) ? scope.$parent[attrs.tagclass] : function(item) { return attrs.tagclass; } + }); + + for (var i = 0; i < scope.model.length; i++) { + select.tagsinput('add', scope.model[i]); + } + + select.on('itemAdded', function(event) { + if (scope.model.indexOf(event.item) === -1) + scope.model.push(event.item); + }); + + select.on('itemRemoved', function(event) { + var idx = scope.model.indexOf(event.item); + if (idx !== -1) + scope.model.splice(idx, 1); + }); + + // create a shallow copy of model's current state, needed to determine + // diff when model changes + var prev = scope.model.slice(); + scope.$watch("model", function() { + var added = scope.model.filter(function(i) {return prev.indexOf(i) === -1;}), + removed = prev.filter(function(i) {return scope.model.indexOf(i) === -1;}), + i; + + prev = scope.model.slice(); + + // Remove tags no longer in binded model + for (i = 0; i < removed.length; i++) { + select.tagsinput('remove', removed[i]); + } + + // Refresh remaining tags + select.tagsinput('refresh'); + + // Add new items in model as tags + for (i = 0; i < added.length; i++) { + select.tagsinput('add', added[i]); + } + }, true); + }); + } + }; +}]); diff --git a/Amen/Scripts/bootstrap-tagsinput-angular.min.js b/Amen/Scripts/bootstrap-tagsinput-angular.min.js new file mode 100644 index 0000000..02ed4fd --- /dev/null +++ b/Amen/Scripts/bootstrap-tagsinput-angular.min.js @@ -0,0 +1,7 @@ +/* + * bootstrap-tagsinput v0.8.0 + * + */ + +angular.module("bootstrap-tagsinput",[]).directive("bootstrapTagsinput",[function(){function a(a,b){return b?angular.isFunction(a.$parent[b])?a.$parent[b]:function(a){return a[b]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"",replace:!1,link:function(b,c,d){$(function(){angular.isArray(b.model)||(b.model=[]);var e=$("select",c),f=d.typeaheadSource?d.typeaheadSource.split("."):null,g=f?f.length>1?b.$parent[f[0]][f[1]]:b.$parent[f[0]]:null;e.tagsinput(b.$parent[d.options||""]||{typeahead:{source:angular.isFunction(g)?g:null},itemValue:a(b,d.itemvalue),itemText:a(b,d.itemtext),confirmKeys:a(b,d.confirmkeys)?JSON.parse(d.confirmkeys):[13],tagClass:angular.isFunction(b.$parent[d.tagclass])?b.$parent[d.tagclass]:function(a){return d.tagclass}});for(var h=0;h'); + this.$input = $('').appendTo(this.$container); + + this.$element.before(this.$container); + + this.build(options); + this.isInit = false; + } + + TagsInput.prototype = { + constructor: TagsInput, + + /** + * Adds the given item as a new tag. Pass true to dontPushVal to prevent + * updating the elements val() + */ + add: function(item, dontPushVal, options) { + var self = this; + + if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags) + return; + + // Ignore falsey values, except false + if (item !== false && !item) + return; + + // Trim value + if (typeof item === "string" && self.options.trimValue) { + item = $.trim(item); + } + + // Throw an error when trying to add an object while the itemValue option was not set + if (typeof item === "object" && !self.objectItems) + throw("Can't add objects when itemValue option is not set"); + + // Ignore strings only containg whitespace + if (item.toString().match(/^\s*$/)) + return; + + // If SELECT but not multiple, remove current tag + if (self.isSelect && !self.multiple && self.itemsArray.length > 0) + self.remove(self.itemsArray[0]); + + if (typeof item === "string" && this.$element[0].tagName === 'INPUT') { + var delimiter = (self.options.delimiterRegex) ? self.options.delimiterRegex : self.options.delimiter; + var items = item.split(delimiter); + if (items.length > 1) { + for (var i = 0; i < items.length; i++) { + this.add(items[i], true); + } + + if (!dontPushVal) + self.pushVal(self.options.triggerChange); + return; + } + } + + var itemValue = self.options.itemValue(item), + itemText = self.options.itemText(item), + tagClass = self.options.tagClass(item), + itemTitle = self.options.itemTitle(item); + + // Ignore items allready added + var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0]; + if (existing && !self.options.allowDuplicates) { + // Invoke onTagExists + if (self.options.onTagExists) { + var $existingTag = $(".tag", self.$container).filter(function() { return $(this).data("item") === existing; }); + self.options.onTagExists(item, $existingTag); + } + return; + } + + // if length greater than limit + if (self.items().toString().length + item.length + 1 > self.options.maxInputLength) + return; + + // raise beforeItemAdd arg + var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false, options: options}); + self.$element.trigger(beforeItemAddEvent); + if (beforeItemAddEvent.cancel) + return; + + // register item in internal array and map + self.itemsArray.push(item); + + // add a tag element + + var $tag = $('' + htmlEncode(itemText) + ''); + $tag.data('item', item); + self.findInputWrapper().before($tag); + $tag.after(' '); + + // Check to see if the tag exists in its raw or uri-encoded form + var optionExists = ( + $('option[value="' + encodeURIComponent(itemValue) + '"]', self.$element).length || + $('option[value="' + htmlEncode(itemValue) + '"]', self.$element).length + ); + + // add