wip - refacts

This commit is contained in:
2017-03-13 16:44:07 +01:00
parent 7cf2630424
commit 3efcfc2e5f
68 changed files with 630 additions and 9885 deletions

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{07B9A14B-2D22-4B97-A63C-12B77A7DBB4F}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>CrossZicMoove.Desktop</RootNamespace>
<AssemblyName>CrossZicMoove.Desktop</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>full</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="Eto">
<HintPath>..\..\..\.config\NuGet\packages\Eto.Forms.2.2.0\lib\net45\Eto.dll</HintPath>
</Reference>
<Reference Include="Eto.Gtk2">
<HintPath>..\..\..\.config\NuGet\packages\Eto.Platform.Gtk.2.2.0\lib\net45\Eto.Gtk2.dll</HintPath>
</Reference>
<Reference Include="Eto.Gtk3">
<HintPath>..\..\..\.config\NuGet\packages\Eto.Platform.Gtk3.2.2.0\lib\net45\Eto.Gtk3.dll</HintPath>
</Reference>
<Reference Include="Eto.WinForms">
<HintPath>..\..\..\.config\NuGet\packages\Eto.Platform.Windows.2.2.0\lib\net45\Eto.WinForms.dll</HintPath>
</Reference>
<Reference Include="Eto.Wpf">
<HintPath>..\..\..\.config\NuGet\packages\Eto.Platform.Wpf.2.2.0\lib\net45\Eto.Wpf.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<ProjectReference Include="..\CrossZicMoove\CrossZicMoove.csproj">
<Project>{3E5584DB-F061-4E7F-B78B-E1830D16E529}</Project>
<Name>CrossZicMoove</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,15 @@
using System;
using Eto;
using Eto.Forms;
namespace CrossZicMoove.Desktop
{
public class Program
{
[STAThread]
public static void Main (string[] args)
{
new Application (Platform.Detect).Run (new MainForm ());
}
}
}

View File

@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle ("CrossZicMoove.Desktop")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
[assembly: AssemblyCompany ("")]
[assembly: AssemblyProduct ("")]
[assembly: AssemblyCopyright ("Paul Schneider")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion ("1.0.*")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Eto.Forms" version="2.2.0" targetFramework="net45" />
<package id="Eto.Platform.Gtk" version="2.2.0" targetFramework="net45" />
<package id="Eto.Platform.Gtk3" version="2.2.0" targetFramework="net45" />
<package id="Eto.Platform.Windows" version="2.2.0" targetFramework="net45" />
<package id="Eto.Platform.Wpf" version="2.2.0" targetFramework="net45" />
</packages>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{3E5584DB-F061-4E7F-B78B-E1830D16E529}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>CrossZicMoove</RootNamespace>
<AssemblyName>CrossZicMoove</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>full</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="MainForm.xeto.cs">
<DependentUpon>MainForm.xeto</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MainForm.xeto" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Reference Include="Eto">
<HintPath>..\..\..\.config\NuGet\packages\Eto.Forms.2.2.0\lib\net45\Eto.dll</HintPath>
</Reference>
<Reference Include="Portable.Xaml">
<HintPath>..\..\..\.config\NuGet\packages\Portable.Xaml.0.6.1\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+xamarinios10+MonoTouch10\Portable.Xaml.dll</HintPath>
</Reference>
<Reference Include="Eto.Serialization.Xaml">
<HintPath>..\..\..\.config\NuGet\packages\Eto.Serialization.Xaml.2.2.0\lib\net45\Eto.Serialization.Xaml.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\YavscLib\YavscLib.csproj">
<Project>{67F9D3A8-F71E-4428-913F-C37AE82CDB24}</Project>
<Name>YavscLib</Name>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="My Eto Form" ClientSize="400, 350">
<StackLayout>
<Label>Some Content</Label>
</StackLayout>
<Form.Menu>
<MenuBar>
<ButtonMenuItem Text="F&amp;ile">
<ButtonMenuItem Text="Click Me!" Click="HandleClickMe" />
</ButtonMenuItem>
<MenuBar.ApplicationItems>
<ButtonMenuItem Text="Preferences.." Shortcut="{On Control+O, Mac=Application+Comma}" />
</MenuBar.ApplicationItems>
<MenuBar.QuitItem>
<ButtonMenuItem Text="Quit!" Shortcut="CommonModifier+Q" Click="HandleQuit" />
</MenuBar.QuitItem>
</MenuBar>
</Form.Menu>
<Form.ToolBar>
<ToolBar>
<ButtonToolItem Text="Click Me!" Click="HandleClickMe" />
</ToolBar>
</Form.ToolBar>
</Form>

View File

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using Eto.Forms;
using Eto.Drawing;
using Eto.Serialization.Xaml;
namespace CrossZicMoove
{
public class MainForm : Form
{
public MainForm ()
{
XamlReader.Load (this);
}
protected void HandleClickMe (object sender, EventArgs e)
{
MessageBox.Show ("I was clicked!");
}
protected void HandleQuit (object sender, EventArgs e)
{
Application.Instance.Quit ();
}
}
}

View File

@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle ("CrossZicMoove")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
[assembly: AssemblyCompany ("")]
[assembly: AssemblyProduct ("")]
[assembly: AssemblyCopyright ("Paul Schneider")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion ("1.0.*")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Eto.Forms" version="2.2.0" targetFramework="net45" />
<package id="Eto.Serialization.Xaml" version="2.2.0" targetFramework="net45" />
<package id="Portable.Xaml" version="0.6.1" targetFramework="net45" />
</packages>

View File

@ -0,0 +1,26 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc.ModelBinding;
namespace Yavsc
{
public class MyDecimalModelBinder : IModelBinder
{
public async Task<ModelBindingResult> BindModelAsync(ModelBindingContext bindingContext)
{
ValueProviderResult valueResult = bindingContext.ValueProvider
.GetValue(bindingContext.ModelName);
decimal actualValue ;
ModelStateEntry modelState = new ModelStateEntry();
try {
actualValue = Decimal.Parse(valueResult.FirstValue, System.Globalization.NumberStyles.AllowDecimalPoint);
return await ModelBindingResult.SuccessAsync(bindingContext.ModelName,actualValue);
}
catch (Exception ) {
}
return await ModelBindingResult.FailedAsync(bindingContext.ModelName);
}
}
}

View File

@ -46,10 +46,10 @@ namespace Yavsc
}
if (culture != null) {
#if DNX451
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
// System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
#else
CultureInfo.CurrentCulture = new CultureInfo(culture);
// CultureInfo.CurrentCulture = new CultureInfo(culture);
CultureInfo.CurrentUICulture = new CultureInfo(culture);
#endif
}

View File

@ -1,15 +0,0 @@
using System.Collections.Generic;
namespace Yavsc.Interfaces
{
public interface IApplicationUser
{
IAccountBalance AccountBalance { get; set; }
IList<IContact> Book { get; set; }
IList<ICircle> Circles { get; set; }
string DedicatedGoogleCalendar { get; set; }
IList<IGoogleCloudMobileDeclaration> Devices { get; set; }
ILocation PostalAddress { get; set; }
IList<IBlog> Posts { get; set; }
}
}

View File

@ -1,4 +1,6 @@
namespace Yavsc.Interfaces
using YavscLib;
namespace Yavsc.Interfaces
{
public interface ICircleMember: IIdentified<long>
{

View File

@ -1,11 +0,0 @@
namespace Yavsc.Interfaces
{
public interface IFormNode
{
T GetControl<T>();
bool IsUIControl { get; }
bool IsInputControl { get; }
}
}

View File

@ -1,4 +1,6 @@
namespace Yavsc.Interfaces
using YavscLib;
namespace Yavsc.Interfaces
{
public interface IGCMDeclaration
{

View File

@ -1,9 +0,0 @@
namespace Yavsc.Interfaces
{
public interface IAccountBalance
{
long ContactCredits { get; set; }
decimal Credits { get; set; }
string UserId { get; set; }
}
}

View File

@ -1,13 +0,0 @@
using System.Collections.Generic;
namespace Yavsc.Interfaces
{
public interface ICircle
{
long Id { get; set; }
IList<ICircleMember> Members { get; set; }
string Name { get; set; }
IApplicationUser Owner { get; set; }
string OwnerId { get; set; }
}
}

View File

@ -2,7 +2,6 @@
{
public interface IContact
{
IApplicationUser Owner { get; set; }
string OwnerId { get; set; }
string UserId { get; set; }
}

View File

@ -1,28 +0,0 @@
//
// INominative.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
namespace Yavsc.Interfaces
{
public interface IPerformerSpecified {
string PerformerName { get; set; }
}
}

View File

@ -35,6 +35,8 @@ namespace Yavsc.Models.Workflow
set;
get;
}
[Display(Name="GiveAnExplicitReason")]
public string Reason { get; set; }
public RdvQuery()

View File

@ -91,7 +91,7 @@ namespace Yavsc
{
var supportedCultures = new[]
{
new CultureInfo("fr")
new CultureInfo("en")
};
var supportedUICultures = new[]
{
@ -126,7 +126,7 @@ namespace Yavsc
services.Add(ServiceDescriptor.Singleton(typeof(IOptions<SmtpSettings>), typeof(OptionsManager<SmtpSettings>)));
services.Add(ServiceDescriptor.Singleton(typeof(IOptions<GoogleAuthSettings>), typeof(OptionsManager<GoogleAuthSettings>)));
services.Add(ServiceDescriptor.Singleton(typeof(IOptions<CompanyInfoSettings>), typeof(OptionsManager<CompanyInfoSettings>)));
services.Add(ServiceDescriptor.Singleton(typeof(IOptions<RequestLocalizationOptions>), typeof(OptionsManager<RequestLocalizationOptions>)));
// DataProtection
ConfigureProtectionServices(services);
@ -223,6 +223,7 @@ namespace Yavsc
{
options.ResourcesPath = "Resources";
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
@ -240,7 +241,7 @@ namespace Yavsc
Startup.UserFilesDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Blog).FullName;
Startup.UserBillsDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Bills).FullName;
Startup.Temp = siteSettings.Value.TempDir;
// TODO implement an installation & upgrade procedure
// Create required directories
foreach (string dir in new string[] { UserFilesDirName, UserBillsDirName, SiteSetup.TempDir })

View File

@ -1,15 +1,15 @@
@model Yavsc.Models.Haircut.BrusherProfile
@{
ViewData["Title"] = "Edit";
ViewData["Title"] = "Edition du profile coiffeu(se|r)";
}
<h2>Edit</h2>
<h1>@ViewData["Title"]</h1>
<form asp-action="Edit">
<div class="form-horizontal">
<h4>BrusherProfile</h4>
<hr />
@Html.ValidationSummary()
<fieldset><legend>Disponibilité</legend>
<div class="form-group">
<label asp-for="StartOfTheDay" class="col-md-2 control-label"></label>
@ -35,8 +35,10 @@
</fieldset>
<fieldset><legend>Grille tarifaire</legend>
<h2>Divers</h2>
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="UserId" />
<div class="form-group">
<label asp-for="CarePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
@ -45,19 +47,17 @@
</div>
</div>
<div class="form-group">
<label asp-for="HalfBalayagePrice" class="col-md-2 control-label"></label>
<label asp-for="ShampooPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfBalayagePrice" class="form-control" />
<span asp-validation-for="HalfBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfBrushingPrice" class="form-control" />
<span asp-validation-for="HalfBrushingPrice" class="text-danger" />
<input asp-for="ShampooPrice" class="form-control" />
<span asp-validation-for="ShampooPrice" class="text-danger" />
</div>
</div>
<h2>Techniques</h2>
<h3>Couleurs</h3>
<h4>Simple</h4>
<div class="form-group">
<label asp-for="HalfColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
@ -65,55 +65,6 @@
<span asp-validation-for="HalfColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfDefrisPrice" class="form-control" />
<span asp-validation-for="HalfDefrisPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfMechPrice" class="form-control" />
<span asp-validation-for="HalfMechPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfMultiColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfMultiColorPrice" class="form-control" />
<span asp-validation-for="HalfMultiColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfPermanentPrice" class="form-control" />
<span asp-validation-for="HalfPermanentPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="KidCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="KidCutPrice" class="form-control" />
<span asp-validation-for="KidCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongBalayagePrice" class="form-control" />
<span asp-validation-for="LongBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongBrushingPrice" class="form-control" />
<span asp-validation-for="LongBrushingPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
@ -121,62 +72,6 @@
<span asp-validation-for="LongColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongDefrisPrice" class="form-control" />
<span asp-validation-for="LongDefrisPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongMechPrice" class="form-control" />
<span asp-validation-for="LongMechPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongMultiColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongMultiColorPrice" class="form-control" />
<span asp-validation-for="LongMultiColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongPermanentPrice" class="form-control" />
<span asp-validation-for="LongPermanentPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ManCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ManCutPrice" class="form-control" />
<span asp-validation-for="ManCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShampooPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShampooPrice" class="form-control" />
<span asp-validation-for="ShampooPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortBalayagePrice" class="form-control" />
<span asp-validation-for="ShortBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortBrushingPrice" class="form-control" />
<span asp-validation-for="ShortBrushingPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
@ -184,18 +79,21 @@
<span asp-validation-for="ShortColorPrice" class="text-danger" />
</div>
</div>
<h4>Multi-couleur</h4>
<div class="form-group">
<label asp-for="ShortDefrisPrice" class="col-md-2 control-label"></label>
<label asp-for="HalfMultiColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortDefrisPrice" class="form-control" />
<span asp-validation-for="ShortDefrisPrice" class="text-danger" />
<input asp-for="HalfMultiColorPrice" class="form-control" />
<span asp-validation-for="HalfMultiColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortMechPrice" class="col-md-2 control-label"></label>
<label asp-for="LongMultiColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortMechPrice" class="form-control" />
<span asp-validation-for="ShortMechPrice" class="text-danger" />
<input asp-for="LongMultiColorPrice" class="form-control" />
<span asp-validation-for="LongMultiColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
@ -205,34 +103,55 @@
<span asp-validation-for="ShortMultiColorPrice" class="text-danger" />
</div>
</div>
<h3>Balayage</h3>
<div class="form-group">
<label asp-for="ShortPermanentPrice" class="col-md-2 control-label"></label>
<label asp-for="HalfBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortPermanentPrice" class="form-control" />
<span asp-validation-for="ShortPermanentPrice" class="text-danger" />
<input asp-for="HalfBalayagePrice" class="form-control" />
<span asp-validation-for="HalfBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenHalfCutPrice" class="col-md-2 control-label"></label>
<label asp-for="LongBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenHalfCutPrice" class="form-control" />
<span asp-validation-for="WomenHalfCutPrice" class="text-danger" />
<input asp-for="LongBalayagePrice" class="form-control" />
<span asp-validation-for="LongBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenLongCutPrice" class="col-md-2 control-label"></label>
<label asp-for="ShortBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenLongCutPrice" class="form-control" />
<span asp-validation-for="WomenLongCutPrice" class="text-danger" />
<input asp-for="ShortBalayagePrice" class="form-control" />
<span asp-validation-for="ShortBalayagePrice" class="text-danger" />
</div>
</div>
<h2>Coiffage</h2>
<h3>Brushing</h3>
<h4>Pour la femme</h4>
<div class="form-group">
<label asp-for="HalfBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfBrushingPrice" class="form-control" />
<span asp-validation-for="HalfBrushingPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenShortCutPrice" class="col-md-2 control-label"></label>
<label asp-for="LongBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenShortCutPrice" class="form-control" />
<span asp-validation-for="WomenShortCutPrice" class="text-danger" />
<input asp-for="LongBrushingPrice" class="form-control" />
<span asp-validation-for="LongBrushingPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortBrushingPrice" class="form-control" />
<span asp-validation-for="ShortBrushingPrice" class="text-danger" />
</div>
</div>
<h4>Pour l'homme</h4>
<div class="form-group">
<label asp-for="ManBrushPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
@ -240,6 +159,9 @@
<span asp-validation-for="ManBrushPrice" class="text-danger" />
</div>
</div>
<h3>Mise en plis</h3>
<div class="form-group">
<label asp-for="LongFoldingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
@ -261,6 +183,118 @@
<span asp-validation-for="ShortFoldingPrice" class="text-danger" />
</div>
</div>
<h3>Défrisage</h3>
<div class="form-group">
<label asp-for="HalfDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfDefrisPrice" class="form-control" />
<span asp-validation-for="HalfDefrisPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongDefrisPrice" class="form-control" />
<span asp-validation-for="LongDefrisPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortDefrisPrice" class="form-control" />
<span asp-validation-for="ShortDefrisPrice" class="text-danger" />
</div>
</div>
<h3>Mèches</h3>
<div class="form-group">
<label asp-for="HalfMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfMechPrice" class="form-control" />
<span asp-validation-for="HalfMechPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongMechPrice" class="form-control" />
<span asp-validation-for="LongMechPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortMechPrice" class="form-control" />
<span asp-validation-for="ShortMechPrice" class="text-danger" />
</div>
</div>
<h3>Permanentes</h3>
<div class="form-group">
<label asp-for="HalfPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfPermanentPrice" class="form-control" />
<span asp-validation-for="HalfPermanentPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongPermanentPrice" class="form-control" />
<span asp-validation-for="LongPermanentPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortPermanentPrice" class="form-control" />
<span asp-validation-for="ShortPermanentPrice" class="text-danger" />
</div>
</div>
<h2>Coupes</h2>
<h3>Femme</h3>
<div class="form-group">
<label asp-for="WomenHalfCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenHalfCutPrice" class="form-control" />
<span asp-validation-for="WomenHalfCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenLongCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenLongCutPrice" class="form-control" />
<span asp-validation-for="WomenLongCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenShortCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenShortCutPrice" class="form-control" />
<span asp-validation-for="WomenShortCutPrice" class="text-danger" />
</div>
</div>
<h3>Homme et enfant</h3>
<div class="form-group">
<label asp-for="KidCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="KidCutPrice" class="form-control" />
<span asp-validation-for="KidCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ManCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ManCutPrice" class="form-control" />
<span asp-validation-for="ManCutPrice" class="text-danger" />
</div>
</div>
<h2>Le forfait</h2>
<div class="form-group">
<label asp-for="FlatFeeDiscount" class="col-md-2 control-label"></label>
<div class="col-md-10">

View File

@ -169,10 +169,9 @@
</div>
</div>
<label for="Reason" class="col-md-2 control-label">
@SR["GiveAnExplicitReason"]
</label>
<label asp-for="Reason" class="col-md-2 control-label">
@SR["GiveAnExplicitReason"]
</label>
<div class="col-md-10">
<div class="container">
<div class="row">

View File

@ -114,6 +114,7 @@
gtarif=tarifs[1];
} else gtarif=tarifs[2];
}
onTarif(tarifs[0]);
updateTarif();
});

View File

@ -1,27 +1,6 @@
@{ ViewBag.Title = "Chat"; }
<h2>Chat </h2>
<label><input type="checkbox" id="mute" />Muet</label>
<style>
.discussion {
color: white;
font-family: monospace;
}
.notif {
color: #aaf;
font-family: monospace;
}
.pv {
color: yellow;
font-family: monospace;
font-style: bold;
}
#targets {
display:inline-block;
}
</style>
<div class="container">
<input type="hidden" id="displayname" />
@ -36,15 +15,26 @@
</div>
<ul id="discussion">
</ul>
<div id="targets">
<div id="targets" >
<div id="sendmessagebox">
<input type="text" id="message" class="form-control"/>
<div class="col-md-10">
<div class="row">
<div class='col-sm-9'> <input type="text" id="message" class="form-control"/></div>
<div class='col-sm-3'>
<input type="button" id="sendmessage" value="@SR["Send"]" class="btn btn-default"/>
</div></div></div>
</div>
@if (ViewBag.IsAuthenticated) {
<div id="sendpvbox">
<input type="text" id="pv" class="form-control" />
<button type="submit" id="sendpv" class="btn btn-default">@SR["Send a private message"] @SR["to"] <div id="sendpvdest" /> </button>
<div class="col-md-10">
<div class="row">
<div class='col-sm-9'>
<input type="text" id="pv" class="form-control" />
</div>
<div class='col-sm-3'>
<button type="submit" id="sendpv" class="btn btn-default">@SR["Send a private message"] @SR["to"]
<div id="sendpvdest" /> </button>
</div></div></div>
</div>
}
<input type="hidden" id="mySignalRConnectionIdHidden" value="" />
@ -110,7 +100,7 @@
chat.client.addMessage = function (name, message) {
// Add the message to the page.
$('#discussion').append('<li class="discussion"><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
+ '</strong>: ' + htmlEncode(message) + '</li>')
};
chat.client.addPV = function (name, message) {
if (!$("#mute").prop('checked'))
@ -141,14 +131,14 @@
if (connected.length > 0) {
var ids = connected.data("cxids");
ids.push(cxid);
connected.data("cxids", ids);
connected.data("cxids", ids)
} else {
var li = $('<li class="user"><img src="/Avatars/' + username + '.xs.png"> ' + username + '</li>');
li.data("name", username);
li.data("cxids", [cxid]);
li.appendTo('#userlist');
li.css('cursor', 'pointer');
li.click(function () { setPrivate(this); });
li.click(function () { setPrivate(this); })
}
};
chat.client.notify = function (tag, message, data) {
@ -158,16 +148,16 @@
if (tag === 'connected') {
onUserConnected(message, data);
$('#discussion').append('<li class="notif"><i>' + htmlEncode(tag)
+ '</i> ' + htmlEncode(data) + '</li>');
+ '</i> ' + htmlEncode(data) + '</li>')
}
else if (tag === 'disconnected') {
onUserDisconnected(message, data);
$('#discussion').append('<li class="notif"><i>' + htmlEncode(tag)
+ '</i> ' + htmlEncode(data) + '</li>');
+ '</i> ' + htmlEncode(data) + '</li>')
}
else {
$('#discussion').append('<li class="notif"><i>' + htmlEncode(tag)
+ '</i> ' + htmlEncode(message) + ' : ' + htmlEncode(data) + '</li>');
+ '</i> ' + htmlEncode(message) + ' : ' + htmlEncode(data) + '</li>')
}
}
};
@ -195,7 +185,8 @@
$.connection.hub.start().done(function () {
$('#sendmessage').click(function () {
// Call the Send method on the hub.
sendMessage().focus();
sendMessage();
$('#message').focus();
});
$("#message").keydown(function (event) {
if (event.which == 13) {
@ -214,7 +205,7 @@
});
getUsers();
});
}).fail(function (e) {console.log(e) });
$("#btnDebug").click(getUsers);
$.connection.hub.disconnected(function () {

View File

@ -7,13 +7,17 @@
<title>@ViewData["Title"] - @SiteSettings.Value.Title</title>
<environment names="Development">
<link rel="stylesheet" href="~/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
<link rel="stylesheet" href="~/css/jquery-ui.css" />
<link rel="stylesheet" href="~/css/main/bootstrap.css" />
<link rel="stylesheet" href="~/css/main/site.css" />
<link rel="stylesheet" href="~/css/main/jquery-ui.css" />
<link rel="alternate stylesheet" title="Dark" href="~/css/dark/site.css" asp-append-version="true" />
<link rel="alternate stylesheet" title="Clear" href="~/css/clear/site.css" asp-append-version="true" />
</environment>
<environment names="Staging,Production,yavsc,yavscpre,zicmoove,lua">
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
<link rel="stylesheet" href="~/csslib/site.min.css" asp-append-version="true" />
</environment>
<environment names="Development">
<script src="~/js/jquery.js"></script>
<script src="~/js/jquery-ui.js"></script>
@ -32,6 +36,10 @@
<script src="~/js/jquery-ui.js"></script>
<script src="~/js/site.js"></script>
</environment>
<script src="~/js/jquery.signalR-2.2.1.js"></script>
<style>
nav {

View File

@ -49,8 +49,8 @@ gulp.task("min:css", function () {
gulp.task("min", ["min:js", "min:css"]);
gulp.task('watch:web', shell.task(['ASPNET_ENV=Development dnx-watch web --configuration=Debug']));
gulp.task('watch:lua', shell.task(['ASPNET_ENV=Lua dnx-watch luatest --configuration=Debug']));
gulp.task('watch', shell.task(['ASPNET_ENV=Development dnx-watch web --configuration=Debug']));
gulp.task('watchlua', shell.task(['ASPNET_ENV=Lua dnx-watch luatest --configuration=Debug']));
gulp.task('build', shell.task(['dnu build --configuration=Debug']));
gulp.task('publish', shell.task(['dnu publish']));
@ -59,12 +59,12 @@ gulp.task("amincss", function () {
gulp.src([paths.css, "!" + paths.minCss, '!site.css'])
.pipe(cssmin())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('wwwroot/css'));
.pipe(gulp.dest('wwwroot/csslib'));
});
gulp.task("aminjs", function () {
return gulp.src([paths.js, "!" + paths.minJs, '!site.js'])
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('wwwroot/js'));
.pipe(gulp.dest('wwwroot/jslib'));
});
gulp.task("default",['amincss','aminjs']);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

View File

@ -9,25 +9,26 @@ body {
color:#999;
}
h1,h2,h3,h4,h5,h6{color:#fff;}
.smalltofhol { max-height: 3em; max-width: 3em; float:left; margin:.5em; }
.discussion {
color: white;
}
.notif {
color: #aaf;
}
.pv {
color: yellow;
font-style: bold;
}
.price {
font-weight: bold;
font-size: x-large;
color: #fff;
border: solid white 1px;
border-radius: 1em;
padding: .2em;
margin: .2em;
}
.total {
font-weight: bold;
font-size: xx-large;
color: #fff;
background-color: #1f1c58;
border: solid white 1px;
border-radius: 1em;
padding: .2em;
margin: .2em;
border-color: white ;
}
.blog {
@ -35,40 +36,27 @@ h1,h2,h3,h4,h5,h6{color:#fff;}
}
.blog a {
color: #FF8;
font-weight: 900;
}
.blog a:active,
.blog a:hover {
outline: 0;
color: #FAFA09;
}
tr.visiblepost {
max-height: 3em;
}
tr.hiddenpost {
background-color: #130414;
font-size: smaller;
max-height: 2em;
}
a.bloglink {
font-weight: bold;
text-shadow: 0px 0px 8px white;
}
a {
font-weight: 900;
color: #FF8;
}
a:active,
a:hover {
outline: 0;
color: #FAFA09;
}
.panel{
float: left;
padding:1em;
margin:1em;
color: white;
background-color: #421824;
}
@ -83,7 +71,6 @@ select,
.jumbotron {
background-color: #502020;
padding: .5em;
}
/* Set widths on image and video, since otherwise they use their native resolution */
@ -92,54 +79,18 @@ select,
/* Carousel */
.carousel-caption-s p {
font-family: "jubilat";
font-weight: 600;
font-size: large;
line-height: 1.1;
text-decoration: overline;
text-decoration-line: overline;
text-shadow: 3px 3px 7px rgba(0, 0, 0, 0.8);
-webkit-text-shadow: inset 0 3px 5px rgb(0, 0, 0);
color: black;
margin:0.5em;
padding:.5em;
animation: mymove 3s infinite;
background-color: rgba(256,256,256,.4);
}
.carousel-caption-s {
right: 3em;
top: 1em;
left: 3em;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
text-shadow: 0 4px 8px rgba(0, 0, 0, .6);
height: 16em;
overflow: auto;
}
.carousel-inner .item {
/* background-color: #301010; */
color: #FF8;
margin-left:15%; /* la taille du carousel-control */
margin-right:15%; /* la taille du carousel-control */
}
.carousel-indicators {
position: absolute;
z-index: 15;
padding: 0;
text-align: center;
list-style: none;
top: .1em;
height: 1em;
}
main.container {
padding-right: 1em;
padding-left: 1em;
margin-left: 1em;
margin-right: 1em;
}
@ -155,61 +106,32 @@ main.container {
50% {text-decoration-color: blue;}
to {text-decoration-color: red;}
}
ul.actiongroup li {
display:inline;
}
ul.actiongroup li a:hover {
background-color: rgba(128,128,128,.2);
color: red;
}
footer {
vertical-align: bottom;
padding: 1.5em;
}
.display-field {
font-kerning: none;
display: inline-flex;
color: #FF8;
background-color: #502020;
}
.display-label {
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
font-stretch: condensed;
display: inline-flex;
color: #A0A0A0;
background-color: #210912;
}
footer {
color:rgb(128,128,128);
font-weight: bolder;
font-size: x-small;
}
.meta {
color : #A0A0A0;
font-style: italic;
font-size: smaller;
}
.activity {
font-family: fantasy
}
.blogtitle {
display: inline-block;
font-size: x-large;
}
.blogphoto {
float: left;
margin: 1em;
}

View File

@ -1,388 +0,0 @@
/*
* The MIT License
* Copyright (c) 2012 Matias Meno <m@tias.me>
*/
@-webkit-keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); }
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px); } }
@-moz-keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); }
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px); } }
@keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); }
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px); } }
@-webkit-keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); } }
@-moz-keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); } }
@keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); } }
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); }
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1); }
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); } }
@-moz-keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); }
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1); }
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); } }
@keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); }
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1); }
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); } }
.dropzone, .dropzone * {
box-sizing: border-box; }
.dropzone {
min-height: 150px;
border: 2px solid rgba(0, 0, 0, 0.3);
background: white;
padding: 20px 20px; }
.dropzone.dz-clickable {
cursor: pointer; }
.dropzone.dz-clickable * {
cursor: default; }
.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
cursor: pointer; }
.dropzone.dz-started .dz-message {
display: none; }
.dropzone.dz-drag-hover {
border-style: solid; }
.dropzone.dz-drag-hover .dz-message {
opacity: 0.5; }
.dropzone .dz-message {
text-align: center;
margin: 2em 0; }
.dropzone .dz-preview {
position: relative;
display: inline-block;
vertical-align: top;
margin: 16px;
min-height: 100px; }
.dropzone .dz-preview:hover {
z-index: 1000; }
.dropzone .dz-preview:hover .dz-details {
opacity: 1; }
.dropzone .dz-preview.dz-file-preview .dz-image {
border-radius: 20px;
background: #999;
background: linear-gradient(to bottom, #eee, #ddd); }
.dropzone .dz-preview.dz-file-preview .dz-details {
opacity: 1; }
.dropzone .dz-preview.dz-image-preview {
background: white; }
.dropzone .dz-preview.dz-image-preview .dz-details {
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-ms-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear; }
.dropzone .dz-preview .dz-remove {
font-size: 14px;
text-align: center;
display: block;
cursor: pointer;
border: none; }
.dropzone .dz-preview .dz-remove:hover {
text-decoration: underline; }
.dropzone .dz-preview:hover .dz-details {
opacity: 1; }
.dropzone .dz-preview .dz-details {
z-index: 20;
position: absolute;
top: 0;
left: 0;
opacity: 0;
font-size: 13px;
min-width: 100%;
max-width: 100%;
padding: 2em 1em;
text-align: center;
color: rgba(0, 0, 0, 0.9);
line-height: 150%; }
.dropzone .dz-preview .dz-details .dz-size {
margin-bottom: 1em;
font-size: 16px; }
.dropzone .dz-preview .dz-details .dz-filename {
white-space: nowrap; }
.dropzone .dz-preview .dz-details .dz-filename:hover span {
border: 1px solid rgba(200, 200, 200, 0.8);
background-color: rgba(255, 255, 255, 0.8); }
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
overflow: hidden;
text-overflow: ellipsis; }
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
border: 1px solid transparent; }
.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
background-color: rgba(255, 255, 255, 0.4);
padding: 0 0.4em;
border-radius: 3px; }
.dropzone .dz-preview:hover .dz-image img {
-webkit-transform: scale(1.05, 1.05);
-moz-transform: scale(1.05, 1.05);
-ms-transform: scale(1.05, 1.05);
-o-transform: scale(1.05, 1.05);
transform: scale(1.05, 1.05);
-webkit-filter: blur(8px);
filter: blur(8px); }
.dropzone .dz-preview .dz-image {
border-radius: 20px;
overflow: hidden;
width: 120px;
height: 120px;
position: relative;
display: block;
z-index: 10; }
.dropzone .dz-preview .dz-image img {
display: block; }
.dropzone .dz-preview.dz-success .dz-success-mark {
-webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
-moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
-ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
-o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
.dropzone .dz-preview.dz-error .dz-error-mark {
opacity: 1;
-webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
-moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
-ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
-o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
pointer-events: none;
opacity: 0;
z-index: 500;
position: absolute;
display: block;
top: 50%;
left: 50%;
margin-left: -27px;
margin-top: -27px; }
.dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
display: block;
width: 54px;
height: 54px; }
.dropzone .dz-preview.dz-processing .dz-progress {
opacity: 1;
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
transition: all 0.2s linear; }
.dropzone .dz-preview.dz-complete .dz-progress {
opacity: 0;
-webkit-transition: opacity 0.4s ease-in;
-moz-transition: opacity 0.4s ease-in;
-ms-transition: opacity 0.4s ease-in;
-o-transition: opacity 0.4s ease-in;
transition: opacity 0.4s ease-in; }
.dropzone .dz-preview:not(.dz-processing) .dz-progress {
-webkit-animation: pulse 6s ease infinite;
-moz-animation: pulse 6s ease infinite;
-ms-animation: pulse 6s ease infinite;
-o-animation: pulse 6s ease infinite;
animation: pulse 6s ease infinite; }
.dropzone .dz-preview .dz-progress {
opacity: 1;
z-index: 1000;
pointer-events: none;
position: absolute;
height: 16px;
left: 50%;
top: 50%;
margin-top: -8px;
width: 80px;
margin-left: -40px;
background: rgba(255, 255, 255, 0.9);
-webkit-transform: scale(1);
border-radius: 8px;
overflow: hidden; }
.dropzone .dz-preview .dz-progress .dz-upload {
background: #333;
background: linear-gradient(to bottom, #666, #444);
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 0;
-webkit-transition: width 300ms ease-in-out;
-moz-transition: width 300ms ease-in-out;
-ms-transition: width 300ms ease-in-out;
-o-transition: width 300ms ease-in-out;
transition: width 300ms ease-in-out; }
.dropzone .dz-preview.dz-error .dz-error-message {
display: block; }
.dropzone .dz-preview.dz-error:hover .dz-error-message {
opacity: 1;
pointer-events: auto; }
.dropzone .dz-preview .dz-error-message {
pointer-events: none;
z-index: 1000;
position: absolute;
display: block;
display: none;
opacity: 0;
-webkit-transition: opacity 0.3s ease;
-moz-transition: opacity 0.3s ease;
-ms-transition: opacity 0.3s ease;
-o-transition: opacity 0.3s ease;
transition: opacity 0.3s ease;
border-radius: 8px;
font-size: 13px;
top: 130px;
left: -10px;
width: 140px;
background: #be2626;
background: linear-gradient(to bottom, #be2626, #a92222);
padding: 0.5em 1.2em;
color: white; }
.dropzone .dz-preview .dz-error-message:after {
content: '';
position: absolute;
top: -6px;
left: 64px;
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #be2626; }

File diff suppressed because it is too large Load Diff

View File

@ -263,8 +263,8 @@ th {
@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');
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;
@ -4210,7 +4210,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.navbar {
position: relative;
min-height: 50px;
margin-bottom: 20px;
border: 1px solid transparent;
}
@media (min-width: 768px) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

74
Yavsc/wwwroot/css/main/site.css Executable file → Normal file
View File

@ -2,19 +2,12 @@
/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
body {
/* background-color: #04264f;
color:#000;*/
background-color: #080225;
color:#999;
}
h1,h2,h3,h4,h5,h6{color:#fff;}
.smalltofhol { max-height: 3em; max-width: 3em; float:left; margin:.5em; }
.price {
font-weight: bold;
font-size: x-large;
color: #fff;
border: solid white 1px;
border: solid black 2px;
border-radius: 1em;
padding: .2em;
margin: .2em;
@ -22,9 +15,8 @@ h1,h2,h3,h4,h5,h6{color:#fff;}
.total {
font-weight: bold;
font-size: xx-large;
color: #fff;
background-color: #1f1c58;
border: solid white 1px;
background-color: #f8f;
border: solid black 3px;
border-radius: 1em;
padding: .2em;
margin: .2em;
@ -34,55 +26,75 @@ h1,h2,h3,h4,h5,h6{color:#fff;}
padding: 1em;
}
.blog a {
color: #FF8;
font-weight: 900;
}
.blog a:active,
.blog a:hover {
outline: 0;
color: #FAFA09;
}
.discussion {
color: black;
}
.notif {
color: #555;
}
.pv {
color: #540;
font-style: bold;
}
.discussion {
font-family: monospace;
}
.notif {
color: #006;
font-family: monospace;
}
.pv {
color: #251;
font-family: monospace;
font-style: bold;
}
#targets {
display:block;
}
tr.visiblepost {
max-height: 3em;
}
tr.hiddenpost {
background-color: #130414;
background-color: #888;
font-size: smaller;
max-height: 2em;
}
a.bloglink {
font-weight: bold;
text-shadow: 0px 0px 8px white;
text-shadow: 0px 0px 8px black;
}
a {
font-weight: 900;
color: #FF8;
}
a:active,
a:hover {
outline: 0;
color: #FAFA09;
}
.panel{
float: left;
padding:1em;
margin:1em;
color: white;
background-color: #421824;
color: black;
}
/* Set widths on the form inputs since otherwise they're 100% wide */
input,
select,
button,
textarea {
background-color: #999;
color: #333;
background-color: #bbb;
color: #000;
}
.jumbotron {
background-color: #502020;
padding: .5em;
}
/* Set widths on image and video, since otherwise they use their native resolution */
@ -98,13 +110,13 @@ select,
line-height: 1.1;
text-decoration: overline;
text-decoration-line: overline;
text-shadow: 3px 3px 7px rgba(0, 0, 0, 0.8);
text-shadow: 3px 3px 7px rgb(0, 0, 0);
-webkit-text-shadow: inset 0 3px 5px rgb(0, 0, 0);
color: black;
margin:0.5em;
padding:.5em;
animation: mymove 3s infinite;
background-color: rgba(256,256,256,.4);
background-color: rgba(256,256,256,.6);
}
.carousel-caption-s {
@ -121,7 +133,6 @@ select,
}
.carousel-inner .item {
/* background-color: #301010; */
color: #FF8;
padding-left:15%; /* la taille du carousel-control */
margin-right:15%; /* la taille du carousel-control */
}
@ -160,8 +171,8 @@ ul.actiongroup li {
}
ul.actiongroup li a:hover {
background-color: rgba(128,128,128,.2);
color: red;
background-color: rgba(200,200,200,.6);
color: #400;
}
footer {
@ -172,15 +183,14 @@ footer {
.display-field {
font-kerning: none;
display: inline-flex;
color: #FF8;
background-color: #502020;
color: #008;
}
.display-label {
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
font-stretch: condensed;
display: inline-flex;
color: #A0A0A0;
color: #444;
background-color: #210912;
}
@ -191,7 +201,7 @@ footer {
}
.meta {
color : #A0A0A0;
color : #444;
font-style: italic;
font-size: smaller;
}

File diff suppressed because one or more lines are too long

View File

@ -1,912 +0,0 @@
/*! Quill Editor v0.20.1
* https://quilljs.com/
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/
.ql-image-tooltip {
padding: 10px;
width: 300px;
}
.ql-image-tooltip:after {
clear: both;
content: "";
display: table;
}
.ql-image-tooltip a {
border: 1px solid #000;
box-sizing: border-box;
display: inline-block;
padding: 5px;
text-align: center;
width: 50%;
}
.ql-image-tooltip img {
bottom: 0;
left: 0;
margin: auto;
max-height: 100%;
max-width: 100%;
position: absolute;
right: 0;
top: 0;
}
.ql-image-tooltip .input {
box-sizing: border-box;
width: 100%;
}
.ql-image-tooltip .preview {
margin: 10px 0px;
position: relative;
border: 1px dashed #000;
height: 200px;
}
.ql-image-tooltip .preview span {
display: inline-block;
position: absolute;
text-align: center;
top: 40%;
width: 100%;
}
.ql-link-tooltip {
padding: 5px 10px;
}
.ql-link-tooltip input.input {
width: 170px;
}
.ql-link-tooltip input.input,
.ql-link-tooltip a.done {
display: none;
}
.ql-link-tooltip a.change {
margin-right: 4px;
}
.ql-link-tooltip.editing input.input,
.ql-link-tooltip.editing a.done {
display: inline-block;
}
.ql-link-tooltip.editing a.url,
.ql-link-tooltip.editing a.change,
.ql-link-tooltip.editing a.remove {
display: none;
}
.ql-multi-cursor {
position: absolute;
left: 0;
top: 0;
z-index: 1000;
}
.ql-multi-cursor .cursor {
margin-left: -1px;
position: absolute;
}
.ql-multi-cursor .cursor-flag {
bottom: 100%;
position: absolute;
white-space: nowrap;
}
.ql-multi-cursor .cursor-name {
display: inline-block;
color: #fff;
padding: 2px 8px;
}
.ql-multi-cursor .cursor-caret {
height: 100%;
position: absolute;
width: 2px;
}
.ql-multi-cursor .cursor.hidden .cursor-flag {
display: none;
}
.ql-multi-cursor .cursor.top .cursor-flag {
bottom: auto;
top: 100%;
}
.ql-multi-cursor .cursor.right .cursor-flag {
right: -2px;
}
.ql-paste-manager {
left: -100000px;
position: absolute;
top: 50%;
}
.ql-toolbar {
box-sizing: border-box;
}
.ql-tooltip {
background-color: #fff;
border: 1px solid #000;
box-sizing: border-box;
position: absolute;
top: 0px;
white-space: nowrap;
z-index: 2000;
}
.ql-tooltip a {
cursor: pointer;
text-decoration: none;
}
.ql-container {
box-sizing: border-box;
cursor: text;
height: 100%;
margin: 0px;
overflow-x: hidden;
overflow-y: auto;
}
.ql-editor {
box-sizing: border-box;
min-height: 100%;
outline: none;
tab-size: 4;
white-space: pre-wrap;
}
.ql-editor div {
margin: 0;
padding: 0;
}
.ql-editor a {
text-decoration: underline;
}
.ql-editor b {
font-weight: bold;
}
.ql-editor i {
font-style: italic;
}
.ql-editor s {
text-decoration: line-through;
}
.ql-editor u {
text-decoration: underline;
}
.ql-editor a,
.ql-editor b,
.ql-editor i,
.ql-editor s,
.ql-editor u,
.ql-editor span {
background-color: inherit;
}
.ql-editor img {
max-width: 100%;
}
.ql-editor blockquote,
.ql-editor ol,
.ql-editor ul {
margin: 0 0 0 2em;
padding: 0;
}
.ql-editor ol {
list-style-type: decimal;
}
.ql-editor ul {
list-style-type: disc;
}
.ql-editor.ql-ie-9 br,
.ql-editor.ql-ie-10 br {
display: none;
}
.ql-snow .ql-image-tooltip a {
border: 1px solid #06c;
}
.ql-snow .ql-image-tooltip a.insert {
background-color: #06c;
color: #fff;
}
.ql-snow .ql-image-tooltip .preview {
border-color: #ccc;
color: #ccc;
}
.ql-snow .ql-link-tooltip a,
.ql-snow .ql-link-tooltip span {
line-height: 25px;
}
.ql-snow .ql-multi-cursor .cursor-name {
border-radius: 4px;
font-size: 11px;
font-family: Arial;
margin-left: -50%;
padding: 4px 10px;
}
.ql-snow .ql-multi-cursor .cursor-triangle {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
height: 0px;
margin-left: -3px;
width: 0px;
}
.ql-snow .ql-multi-cursor .cursor.left .cursor-name {
margin-left: -8px;
}
.ql-snow .ql-multi-cursor .cursor.right .cursor-flag {
right: auto;
}
.ql-snow .ql-multi-cursor .cursor.right .cursor-name {
margin-left: -100%;
margin-right: -8px;
}
.ql-snow .ql-multi-cursor .cursor-triangle.bottom {
border-top: 4px solid transparent;
display: block;
margin-bottom: -1px;
}
.ql-snow .ql-multi-cursor .cursor-triangle.top {
border-bottom: 4px solid transparent;
display: none;
margin-top: -1px;
}
.ql-snow .ql-multi-cursor .cursor.top .cursor-triangle.bottom {
display: none;
}
.ql-snow .ql-multi-cursor .cursor.top .cursor-triangle.top {
display: block;
}
.ql-snow.ql-toolbar {
box-sizing: border-box;
padding: 8px;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
border: outset grey 3px;
}
.ql-snow.ql-toolbar .ql-format-group {
display: inline-block;
margin-right: 15px;
vertical-align: middle;
}
.ql-snow.ql-toolbar .ql-format-separator {
box-sizing: border-box;
background-color: #ddd;
display: inline-block;
height: 14px;
margin-left: 4px;
margin-right: 4px;
vertical-align: middle;
width: 1px;
}
.ql-snow.ql-toolbar .ql-format-button {
box-sizing: border-box;
display: inline-block;
height: 24px;
line-height: 24px;
vertical-align: middle;
background-position: center center;
background-repeat: no-repeat;
background-size: 18px 18px;
box-sizing: border-box;
cursor: pointer;
text-align: center;
width: 24px;
}
.ql-snow.ql-toolbar .ql-picker {
box-sizing: border-box;
color: #444;
display: inline-block;
font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
font-size: 14px;
font-weight: 500;
position: relative;
}
.ql-snow.ql-toolbar .ql-picker .ql-picker-label {
box-sizing: border-box;
display: inline-block;
height: 24px;
line-height: 24px;
vertical-align: middle;
background-color: #fff;
background-position: right center;
background-repeat: no-repeat;
background-size: 18px 18px;
border: 1px solid transparent;
cursor: pointer;
position: relative;
width: 100%;
}
.ql-snow.ql-toolbar .ql-picker .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label:hover {
color: #06c;
}
.ql-snow.ql-toolbar .ql-picker .ql-picker-options {
background-color: #fff;
border: 1px solid transparent;
box-sizing: border-box;
display: none;
padding: 4px 8px;
position: absolute;
width: 100%;
}
.ql-snow.ql-toolbar .ql-picker .ql-picker-options .ql-picker-item {
background-position: center center;
background-repeat: no-repeat;
background-size: 18px 18px;
box-sizing: border-box;
cursor: pointer;
display: block;
padding-bottom: 5px;
padding-top: 5px;
}
.ql-snow.ql-toolbar .ql-picker .ql-picker-options .ql-picker-item.ql-selected,
.ql-snow.ql-toolbar .ql-picker .ql-picker-options .ql-picker-item:hover {
color: #06c;
}
.ql-snow.ql-toolbar .ql-picker.ql-expanded .ql-picker-label {
border-color: #ccc;
color: #ccc;
z-index: 2;
}
.ql-snow.ql-toolbar .ql-picker.ql-expanded .ql-picker-options {
border-color: #ccc;
box-shadow: rgba(0,0,0,0.2) 0 2px 8px;
display: block;
margin-top: -1px;
z-index: 1;
}
.ql-snow.ql-toolbar .ql-picker.ql-color-picker .ql-picker-label {
background-position: center center;
width: 28px;
}
.ql-snow.ql-toolbar .ql-picker.ql-color-picker .ql-picker-options {
padding: 5px;
width: 152px;
}
.ql-snow.ql-toolbar .ql-picker.ql-color-picker .ql-picker-options .ql-picker-item {
border: 1px solid transparent;
float: left;
height: 16px;
margin: 2px;
padding: 0px;
width: 16px;
}
.ql-snow.ql-toolbar .ql-picker.ql-color-picker .ql-picker-options .ql-picker-item.ql-primary-color {
margin-bottom: 8px;
}
.ql-snow.ql-toolbar .ql-picker.ql-color-picker .ql-picker-options .ql-picker-item.ql-selected,
.ql-snow.ql-toolbar .ql-picker.ql-color-picker .ql-picker-options .ql-picker-item:hover {
border-color: #000;
}
.ql-snow.ql-toolbar .ql-picker.ql-font {
width: 105px;
}
.ql-snow.ql-toolbar .ql-picker.ql-size {
width: 80px;
}
.ql-snow.ql-toolbar .ql-picker.ql-font .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker.ql-size .ql-picker-label {
padding-left: 8px;
padding-right: 8px;
}
.ql-snow.ql-toolbar .ql-picker.ql-align .ql-picker-label {
background-position: center center;
width: 28px;
}
.ql-snow.ql-toolbar .ql-picker.ql-align .ql-picker-item {
box-sizing: border-box;
display: inline-block;
height: 24px;
line-height: 24px;
vertical-align: middle;
padding: 0px;
width: 28px;
}
.ql-snow.ql-toolbar .ql-picker.ql-align .ql-picker-options {
padding: 4px 0px;
}
.ql-snow.ql-toolbar .ql-picker .ql-picker-label {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAKlBMVEUAAABJSUlAQEBERERFRUVERERERERERERERERFRUVEREREREREREREREQJcW6NAAAADXRSTlMAFRzExcbLzM/Q0dLbKbcyLwAAADVJREFUCNdjYCAeMKYJQFnSdzdCWbl3r0NZvnev4tFre/cKlNV79yaUpXP3EJTFtEqBBHcAAHyoDQk0vM/lAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-picker.ql-expanded .ql-picker-label {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAdElEQVR42mP4//8/VfBINGjVqlUMhw4dEj148OBpEAaxQWKkGgQz5BIQ/4fiSyAxkg2CuuQ/Gj5DjkFHsRh0jJwwwooHzCCQ145g8dpRcgw6j8WgCyQbtH//fhmgxttIhtwGiZETRjDDLoIwiA0UG820FGAA5b25+qRqGXcAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-picker.ql-active:not(.ql-expanded) .ql-picker-label,
.ql-snow.ql-toolbar:not(.ios) .ql-picker:not(.ql-expanded) .ql-picker-label:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAKlBMVEUAAAAAYc4AZMgAZcwAZs0AZs0AZs0AZ8wAZswAZs0AZswAZswAZswAZsx12LPhAAAADXRSTlMAFRzExcbLzM/Q0dLbKbcyLwAAADVJREFUCNdjYCAeMKYJQFnSdzdCWbl3r0NZvnev4tFre/cKlNV79yaUpXP3EJTFtEqBBHcAAHyoDQk0vM/lAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bold,
.ql-snow.ql-toolbar .ql-picker.ql-bold .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bold],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bold] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAYFBMVEUAAACAgIBAQEA5OTlAQEBERERAQEBERERERERERERDQ0NERERERERERERDQ0NERERERERFRUVERERERERFRUVERERERERERERERERERERERERERERERERERERERERERESN6WzHAAAAH3RSTlMAAggJDA8cQEtTWHF/i4yTpau+xMXX3O7v8/f6+/z+qN9w2AAAAFZJREFUeNqlzMcSgCAMRVEsYO+9vv//S9FhNIYld5HFmSTCqQ66dazkRzA1lPSQGRZGIsDMKMxRW7+2yCIcyf/QUyUGSnc+dkaqoFumM32pf2BqY+HUBfQaCPgVIBc1AAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bold.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-bold .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bold].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bold].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-bold:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-bold .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=bold]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=bold]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAYFBMVEUAAAAAgP8AYL8AccYAatUAZswAZMgAZMsAZswAZcsAZcsAZssAZssAZ80AZswAZs0AZswAZ8wAZswAZcwAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsxCU9XcAAAAH3RSTlMAAggJDA8cQEtTWHF/i4yTpau+xMXX3O7v8/f6+/z+qN9w2AAAAFZJREFUeNqlzMcSgCAMRVEsYO+9vv//S9FhNIYld5HFmSTCqQ66dazkRzA1lPSQGRZGIsDMKMxRW7+2yCIcyf/QUyUGSnc+dkaqoFumM32pf2BqY+HUBfQaCPgVIBc1AAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-italic,
.ql-snow.ql-toolbar .ql-picker.ql-italic .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=italic],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=italic] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAi0lEQVR42mMYvoARl4SLi0sNkGoAYmY0qf+MjIztu3fvrkYWZGLADZhB8pS4CN1lQUBqLRDvAQJXHMqIstEISp8BEZQYZAIi/v//f5ZSg0xBBCMj4ymyDQKGjxKQEgLiV8DweUS2QUBXGEOZp0EEJV4zgdJnKDLo379/JsS6iJHSFA0DTDhT9CiAAQBbWyIY/pd4rQAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-italic.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-italic .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=italic].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=italic].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-italic:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-italic .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=italic]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=italic]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAk0lEQVR42u3SsQ3CMBBA0X/2BozACMQswg4EMQMUdOyQVdggdpagZAc4ihjJjYmU66K8xpZsfdnSsVxCzTFdEW6AB0oKcqdrLhQcNaK+PLc79QfapLTDgz8cU9Tv8ibZQqIBgI8OxhexH29KPz90jltgA7zownN+6C0Nowhg+JqEvCZbSDSHNDJBLBNdctWJXv18Ad5dJL0jVfDhAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-underline,
.ql-snow.ql-toolbar .ql-picker.ql-underline .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=underline],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=underline] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAM1BMVEUAAABLS0tFRUVDQ0NERERDQ0NFRUVFRUVERERDQ0NERERFRUVERERERERERERERERERESvCHKbAAAAEHRSTlMAERpMbW6Bgry9xMXh5PP51ZZfkwAAAEdJREFUeNq9yEEKgDAMRNHERDWq6dz/tFLBQUC6KfRtPnzpsh/sC2AHrcRUo0iuDXONI7gMxVW9wIQWPFb5sMgMk5YTdMmvGw2DA8yS9di7AAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-underline.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-underline .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=underline].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=underline].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-underline:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-underline .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=underline]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=underline]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAM1BMVEUAAAAAadIAYs4AZc0AZcwAZswAZ84AZswAZs0AZ8wAZcwAZs0AZswAZswAZswAZswAZsycBlETAAAAEHRSTlMAERpMbW6Bgry9xMXh5PP51ZZfkwAAAEdJREFUeNq9yEEKgDAMRNHERDWq6dz/tFLBQUC6KfRtPnzpsh/sC2AHrcRUo0iuDXONI7gMxVW9wIQWPFb5sMgMk5YTdMmvGw2DA8yS9di7AAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-strike,
.ql-snow.ql-toolbar .ql-picker.ql-strike .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=strike],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=strike] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAn1BMVEUAAAAAAACAgIBAQEA7OztAQEBLS0tHR0dAQEBJSUlGRkZERERCQkJERERDQ0NERERERERDQ0NFRUVERERERERERERERERERERFRUVERERERERERERFRUVDQ0NFRUVERERFRUVFRUVERERFRUVFRUVFRUVERERFRUVFRUVERERERERERERERERERERERERERERERERERERERERERERERERfrjwTAAAANHRSTlMAAQIMDRAREhQVKCk6PEhLT1xkZWZ4e4CCg4SIiZucoaersLK2wcTFydLX2ODi5err8fX3BKZfrQAAAH5JREFUGBmlwOEWgTAYBuC3isgMxCYAmwRh++7/2qRzttP/HnQTZjdjilkALzhR4wBvQiaLk8WXOJwlHVHjYgxnSmbeR0swGEkpxWZ3vt7fL/w9P4/ist+KdZ7zYYiWiCnScFYiRq1HFo4mxaKIKdJw0ooaVQovkaW1pUzQyQ86Agx4yKmWPAAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-strike.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-strike .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=strike].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=strike].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-strike:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-strike .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=strike]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=strike]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAolBMVEUAAAAAAP8AgP8AatUAYsQAYM8AadIAY8YAZswAYc4AZswAZM0AZcoAZswAZ8oAZswAZMsAZ8oAZswAZcoAZ8sAZswAZssAZssAZs0AZswAZ8wAZs0AZ8wAZs0AZswAZ8wAZ8wAZs0AZ8wAZ8wAZs0AZs0AZs0AZcwAZs0AZcwAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsyiCU+yAAAANXRSTlMAAQIMDRAREhQVKCk6PEhLT1xkZWZ4e4CAgoOEiImbnKGnq7CytsHExcnS19jg4uXq6/H190B1i7AAAAB/SURBVBgZpcDhFoEwGAbgt4pIBmImAJsEYfvu/9ZU52yn/z3oxk/vWuczD453psYRzoR0GkaLHzFYSzqhwvgY1pT0vI8WbzASQvDt/nJ7fN6ovb7P/HrYrTdZxoY+WoJEkoK14iEqPTKwFMkkCBJJClZcUqOM4USiMKYQETr5A2SVDLpJv6ZtAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-link,
.ql-snow.ql-toolbar .ql-picker.ql-link .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=link],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=link] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAllBMVEUAAAD///9VVVVJSUk5OTlAQEBHR0dFRUVCQkJHR0dBQUFCQkJGRkZDQ0NGRkZFRUVCQkJDQ0NERERDQ0NERERFRUVERERFRUVDQ0NERERFRUVERERERERFRUVERERERERERERERERFRUVERERFRUVFRUVERERERERERERERERERERERERERERERERERERERERERERERETx5KUoAAAAMXRSTlMAAAYHCQwZGiMkJzIzOUJOYGNlfoCJl5ibnaCxtLa8xsfIycrQ1OHi5uvs7e/19vn8NGTYeAAAAJdJREFUeNqN0McOgkAARdGnFJWiKGBhEEFpSn3//3OGjMmQ6MK7PMuLxVe/CXDTPl5DJmk3cOTTmZE7MDQES11RyhBY5vQU9aOB2z3gWVFMsXywYx3t9Q9tXsyDjlOVLQlOyanOL1ibkqB7l5odM01QSJqK6GdXmGwUHVhowImJIr2iMI9sLUWwa5LtFjPCSjSJBUl//HoDlmQPy0DFuCkAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-link.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-link .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=link].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=link].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-link:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-link .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=link]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=link]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAmVBMVEUAAAD///8AVdUAbdsAccYAatUAZswAYs4AZswAY80AacsAZswAZM0AZ8kAZM0AZcsAZcoAZMsAZcoAZcoAZssAZs0AZs0AZ8wAZs0AZswAZs0AZswAZs0AZswAZs0AZs0AZs0AZ8wAZswAZcwAZs0AZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsy/jsjWAAAAMnRSTlMAAAYHCQwZGiMkJzIzOUJOYGNlfoCAiZeYm52gsbS2vMbHyMnK0NTh4ubr7O3v9fb5/BM/koAAAACXSURBVHjajdDbEoFQAIXhpROqiAjaSdGJSq33fzjTbDO7GS78l9/lj9lXvwnw0le8gEzSuufAhzshr2doCpaGopQhoOX0Fb0GE9fbnidFMYV2Z8c62hgfWj6Z7zqOVY4kuCXHuqBgbUmC4Z9rdsx0QSFpLGKQXWCxUbRloQNHJoqMisI6sLUVwalJtitMCHPRJDYk/fHrDdIHECSPJag6AAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-image,
.ql-snow.ql-toolbar .ql-picker.ql-image .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=image],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=image] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAElBMVEUAAABERERERERFRUVEREREREQbmEZBAAAABXRSTlMAeMTFxj7M9NAAAABBSURBVAjXY2DAD1RDQSAYyAqFABALLANmMRnAWMwODIIMUFnGUAEIS1A0NADMYgTqhLBY4SyEKXCTTcGMEAJuAgBa9RKl6Fva+wAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-image.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-image .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=image].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=image].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-image:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-image .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=image]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=image]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAElBMVEUAAAAAZswAZcwAZs0AZs0AZszYB6XUAAAABXRSTlMAeMTFxj7M9NAAAABBSURBVAjXY2DAD1RDQSAYyAqFABALLANmMRnAWMwODIIMUFnGUAEIS1A0NADMYgTqhLBY4SyEKXCTTcGMEAJuAgBa9RKl6Fva+wAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-list,
.ql-snow.ql-toolbar .ql-picker.ql-list .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=list],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=list] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAS1BMVEUAAABCQkJFRUVGRkZFRUVCQkJFRUVDQ0NFRUVFRUVFRUVERERERERERERERERFRUVERERERERERERERERERERERERERERERERERET32eciAAAAGHRSTlMAMjRCQ0lOfYKQlJmaocTFxuHi5OXm9falfyKhAAAATElEQVR42mMgFnCKYIpJMDDwSUABP1yIHyYkABYRlBAmwngucV50IXZGIXTjmQTZ0I0XIcp4DjEedCFWFlF041mZRdCN5xDjZiAdAACXwgbrzvG+ZgAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-list.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-list .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=list].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=list].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-list:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-list .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=list]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=list]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAS1BMVEUAAAAAZswAZ8kAZM0AZ8oAZcsAZcsAZswAZswAZ80AZs0AZs0AZ80AZ8wAZcwAZs0AZs0AZswAZswAZswAZswAZswAZswAZswAZswCB3gJAAAAGHRSTlMAMjRCQ0lOfYKQlJmaocTFxuHi5OXm9falfyKhAAAATElEQVR42mMgFnCKYIpJMDDwSUABP1yIHyYkABYRlBAmwngucV50IXZGIXTjmQTZ0I0XIcp4DjEedCFWFlF041mZRdCN5xDjZiAdAACXwgbrzvG+ZgAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bullet,
.ql-snow.ql-toolbar .ql-picker.ql-bullet .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bullet],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bullet] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAABERERFRUVERERERETRGyWnAAAABHRSTlMAxMXG4b8ciAAAABxJREFUCNdjYMAPhBhdgMAJyFJmArGcGRgGXAcA/t0ImAOSO9kAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bullet.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-bullet .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bullet].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bullet].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-bullet:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-bullet .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=bullet]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=bullet]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAAAAZcwAZs0AZs0AZsyEYJIjAAAABHRSTlMAxMXG4b8ciAAAABxJREFUCNdjYMAPhBhdgMAJyFJmArGcGRgGXAcA/t0ImAOSO9kAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-authorship,
.ql-snow.ql-toolbar .ql-picker.ql-authorship .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=authorship],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=authorship] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAARVBMVEUAAABFRUVFRUUAAAAAAABERERDQ0NEREQAAABERERERERERERERERERERFRUVERERERERERERERERERERERERERERERERVeSBUAAAAFnRSTlMAMDtOT1JfYmassMfN09Ta6vD4+fz9w8DTTwAAAExJREFUGBmVwEkSgCAMBMBRQUEU4zb/f6oFF5KbNLp4EQ8rkxnWQ76whBRYkYwwxo08ZijDzWJBs7La0ZysLjSJVUKXKSgOhQuKw08fJOYE1SddZQoAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-authorship.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-authorship .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=authorship].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=authorship].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-authorship:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-authorship .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=authorship]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=authorship]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAARVBMVEUAAAAAZcoAaMsAZc4AZ8sAZ8oAZswAZcsAZ80AZs0AZ8wAZ8wAZswAZswAZswAZs0AZswAZswAZswAZswAZswAZswAZszAoUIuAAAAFnRSTlMAMDtOT1JfYmassMfN09Ta6vD4+fz9w8DTTwAAAExJREFUGBmVwEkSgCAMBMBRQUEU4zb/f6oFF5KbNLp4EQ8rkxnWQ76whBRYkYwwxo08ZijDzWJBs7La0ZysLjSJVUKXKSgOhQuKw08fJOYE1SddZQoAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-color,
.ql-snow.ql-toolbar .ql-picker.ql-color .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=color],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=color] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAgVBMVEUAAAAAAACAgIBAQEBVVVVDQ0NGRkZGRkZFRUVERERDQ0NDQ0NDQ0NCQkIAAABFRUUAAABDQ0NEREREREREREQAAABDQ0NDQ0NERERFRUVERERERERERERDQ0NERERERERFRUVFRUVERERERERERERERERERERERERERERERERERERLPkdWAAAAKnRSTlMAAQIEBhMWISUtLkVMTU5OT1BTVlpmeX6OkJmdvL3GztTj5/Hy8/b3/f5utmv0AAAAX0lEQVR42pXIRQ6AQABDUdzd3bX3PyCWwAwr+Is2ecyvuKriXmQD5otKoKBFQz+sKkU5khQZKdK8yMoyiQTFOIseEbqLWv6mAPW+bAPvJmN0j/N7nfmTFRI5Jzk0fWwD4sYJPnqIyzwAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-color.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-color .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=color].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=color].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-color:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-color .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=color]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=color]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAgVBMVEUAAAAAAP8AgP8AgL8AVdUAa8kAaNEAZMkAZ8gAZswAZM0AZMsAZc0AZ8oAZcsAZc4AZ8sAZswAZcsAZc0AZswAZ80AZcoAZcoAZs0AZ80AZs0AZs0AZs0AZ8wAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsy3JBcuAAAAKnRSTlMAAQIEBhMWISUtLkVMTU5OT1BTVlpmeX6OkJmdvL3GztTj5/Hy8/b3/f5utmv0AAAAX0lEQVR42pXIRQ6AQABDUdzd3bX3PyCWwAwr+Is2ecyvuKriXmQB5otKoKBFQz+sKkU5khQZKdK8yMoyiQTFOIseEbqLWv6mAPW+bAPvJmN0j/N7nfmTHRI5Jzk0fWwD4foJPqgJbeoAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-background,
.ql-snow.ql-toolbar .ql-picker.ql-background .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=background],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=background] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAnFBMVEUAAAAAAACAgIBAQEAAAABVVVUAAAAAAAAAAABDQ0MAAABGRkZGRkYAAABFRUVERERDQ0MAAAAAAAAAAAAAAABDQ0MAAABDQ0MAAABCQkJFRUVDQ0NERERERERERERDQ0NDQ0NERERFRUVERERERERERERDQ0NERERERERFRUVFRUVERERERERERERERERERERERERERERERERERETMTXVbAAAAM3RSTlMAAQIEBgYHCBMTFBYhIyUtLjE2N0JFS0xNTU5QU1ZaeX6OkJmdvL3GztTj5/Hy8/b3/f5Qd6EEAAAAf0lEQVR42o2PRw6DQBRDHVJISCUhvTd69/3vhgT6MLPDmoX15KfRR++c6mdKgVIOTRFoeJ6hE+tCnjXRgUv+oc02jJNyrYk/vj/8jhRxnheLVZHNupn1Yp3nVIgzjhoUDlvxQR/AIOBtKbNjerUB+x7vhZjARPkLyslbYIe+qQDqMQxGJwkBGwAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-background.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-background .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=background].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=background].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-background:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-background .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=background]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=background]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAllBMVEUAAAAAAP8AgP8AgL8AVdUAbbYAYL8Aa8kAZswAaNEAZMkAZswAZ8gAZswAZM0AaMsAaNAAZswAZM0AZMsAZswAZc0AZ8oAZ80AZcsAZswAZcsAZc0AZswAZcoAZcoAZs0AZ80AZs0AZs0AZs0AZ8wAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsy8dW5vAAAAMXRSTlMAAQIEBgcIExQWISMlLS4xNjdCRUtMTU1OUFNWWnl+jpCZnby9xs7U4+fx8vP29/3+dqGBzgAAAH5JREFUeNqNj0cOg0AUQx1CgFQS0nujd9//ckigDzM7rFlYT34afYzOuX2WFCjl0BWBRhAYOnEu5EkTPfjkH9pswzSr15r44/vDr6mI87JarKrCHmbOi22ethDPTDoUT3vxwRDAJOJtKbNjfnUB957uhVjATPkLyslbYIexaQB/ngudkm14XQAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-left,
.ql-snow.ql-toolbar .ql-picker.ql-left .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=left],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=left] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAABERERFRUVERERERETRGyWnAAAABHRSTlMAxMXG4b8ciAAAAClJREFUCNdjYMAPRFxcnCAsFRcXZwYiAFCHC0STCpjlTJwOJwaYDoIaAKIACBBRNsu4AAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-left.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-left .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=left].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=left].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-left:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-left .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=left]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=left]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAAAAZcwAZs0AZs0AZsyEYJIjAAAABHRSTlMAxMXG4b8ciAAAAClJREFUCNdjYMAPRFxcnCAsFRcXZwYiAFCHC0STCpjlTJwOJwaYDoIaAKIACBBRNsu4AAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-right,
.ql-snow.ql-toolbar .ql-picker.ql-right .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=right],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=right] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAABERERFRUVERERERETRGyWnAAAABHRSTlMAxMXG4b8ciAAAAChJREFUCNdjYCAIRFxcnCAsFRcXZ2KUu0B0qIBZzgzEaXFigGkhpAMAmbwIEMJ9k/cAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-right.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-right .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=right].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=right].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-right:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-right .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=right]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=right]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAAAAZcwAZs0AZs0AZsyEYJIjAAAABHRSTlMAxMXG4b8ciAAAAChJREFUCNdjYCAIRFxcnCAsFRcXZ2KUu0B0qIBZzgzEaXFigGkhpAMAmbwIEMJ9k/cAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-center,
.ql-snow.ql-toolbar .ql-picker.ql-center .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=center],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=center] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAABERERFRUVERERERETRGyWnAAAABHRSTlMAxMXG4b8ciAAAAC1JREFUCNdjYCAAGF1cXBTALCYgy4CBIBBxAQEnIEsFzHJmIMYKiCVMYBYhSwCyqQhMfft6AQAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-center.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-center .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=center].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=center].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-center:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-center .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=center]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=center]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAAAAZcwAZs0AZs0AZsyEYJIjAAAABHRSTlMAxMXG4b8ciAAAAC1JREFUCNdjYCAAGF1cXBTALCYgy4CBIBBxAQEnIEsFzHJmIMYKiCVMYBYhSwCyqQhMfft6AQAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-justify,
.ql-snow.ql-toolbar .ql-picker.ql-justify .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=justify],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=justify] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAD1BMVEUAAABERERFRUVERERERETRGyWnAAAABHRSTlMAxMXG4b8ciAAAABpJREFUCNdjYMAPRFxAwAnIUgGznBkYBlwHAJGzCjB/C3owAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-justify.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-justify .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=justify].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=justify].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-justify:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-justify .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=justify]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=justify]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAALklEQVR42mMYvoARzko9cwTIsyZR+zGGWcZgPUwIMUZGShwyGtijgT0a2EMMAADESwwWta/i5QAAAABJRU5ErkJggg==");
}
@media (-webkit-min-device-pixel-ratio: 2) {
.ql-snow.ql-toolbar .ql-picker .ql-picker-label {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAIVBMVEUAAABCQkJDQ0NDQ0NERERERERERERERERERERERERERERehmmoAAAACnRSTlMATVRbaeXo6fz+NPhZJgAAAF9JREFUKM9jYBjkQC0JXYS5a4UBmpDFqlXN6IpWrUJTprEKCJpQhLJAQsswhZaiCImDhAJp5kMxkPGJZLjLEiQ0GUWIZdaqVSsdUM33XLVqCpqVLLPQFTEwmAcP9qQAAFUgKabkwE6gAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-picker.ql-expanded .ql-picker-label {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAJFBMVEWqqqr////AwMDAwMDAwMDBwcHBwcHBwcHBwcHBwcHBwcHBwcEexLCPAAAAC3RSTlMAAE1UW2nl6On8/tZA57EAAABxSURBVHjazc4hFkBAGMTxL3AAp+AGniYiyaLnBETHoKkknbc7l7OrzW7zhP3HX5mRxCskEsknEaZoU6VDNbAyRRugSqICpoVotnT7dBFllnpefPuHUpjGD78aSztRfAK65cUOOIQpPnXrkFSDEFFB0APtK1HCkKpz1wAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-picker.ql-active:not(.ql-expanded) .ql-picker-label,
.ql-snow.ql-toolbar:not(.ios) .ql-picker:not(.ql-expanded) .ql-picker-label:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAIVBMVEUAAAAAZ8oAZMsAZc0AZswAZswAZswAZswAZswAZswAZswhMkyGAAAACnRSTlMATVRbaeXo6fz+NPhZJgAAAF9JREFUKM9jYBjkQC0JXYS5a4UBmpDFqlXN6IpWrUJTprEKCJpQhLJAQsswhZaiCImDhAJp5kMxkPGJZLjLEiQ0GUWIZdaqVSsdUM33XLVqCpqVLLPQFTEwmAcP9qQAAFUgKabkwE6gAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bold,
.ql-snow.ql-toolbar .ql-picker.ql-bold .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bold],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bold] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAxlBMVEUAAABVVVUzMzNVVVVJSUlGRkZAQEBJSUlAQEBAQEBAQEBHR0dCQkJGRkZAQEBGRkZCQkJERERDQ0NDQ0NGRkZERERDQ0NFRUVCQkJFRUVERERDQ0NDQ0NFRUVDQ0NERERERERERERERERERERERERERERERERERERFRUVDQ0NERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERfjmwgAAAAQXRSTlMAAwUGBwsMDhAUGBkbHSAhIykuOUJERUpNUVZYXGRne3yAi4+SmqWmq67R1tfY2dve5ujp7/Dy8/T19vf4+fv8/mUg1b0AAACrSURBVDjL5dPFDgJBEEXRxt3d3d11gPv/P8WCEAgZuno/b1WLk1TqJaWUI1Jc8852Mqz5bdHHALDK2CF+ckgYIHp/0GtypxpHYKlFSqkycJeQD7hIKADMJFQHulrkSrYs2MflCnZZgzKvo7RJmZeSAWIf1V3nihSGAG19BUq1gKmEQsBZQkHAklATmOuQN5zvP4COQQWnmIxuFfERWOTsXmrztWg8qHqUU/IEzOhNFx6Ncl4AAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bold.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-bold .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bold].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bold].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-bold:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-bold .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=bold]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=bold]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAxlBMVEUAAAAAVaoAZswAVdUAbdsAXdEAatUAbcgAYM8AZswAasoAZswAaNAAasoAaMcAZMkAZswAZM0AZM0AZ8kAZM0AZcsAZMsAZMsAZ8oAZc0AZc0AZcsAZ8oAZswAZssAZssAZcwAZssAZ80AZs0AZ8wAZ80AZswAZ8wAZ8wAZ8wAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsyeO+aMAAAAQXRSTlMAAwUGBwsMDhAUGBkbHSAhIykuOUJERUpNUVZYXGRne3yAi4+SmqWmq67R1tfY2dve5ujp7/Dy8/T19vf4+fv8/mUg1b0AAACrSURBVDjL5dPFDgJBEEXRxt3d3d11gPv/P8WCEAgZuno/b1WLk1TqJaWUI1Jc8852Mqz5bdHHALDK2CF+ckgYIHp/0GtypxpHYKlFSqkycJeQD7hIKADMJFQHulrkSrYs2MflCnZZgzKvo7RJmZeSAWIf1V3nihSGAG19BUq1gKmEQsBZQkHAklATmOuQN5zvP4COQQWnmIxuFfERWOTsXmrztWg8qHqUU/IEzOhNFx6Ncl4AAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-italic,
.ql-snow.ql-toolbar .ql-picker.ql-italic .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=italic],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=italic] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAjVBMVEUAAAAAAACAgIBAQEBVVVVAQEBAQEBCQkJCQkJFRUVDQ0NBQUFDQ0NDQ0NDQ0NFRUVERERERERERERDQ0NERERDQ0NERERERERERERFRUVFRUVERERFRUVERERERERDQ0NERERERERERERDQ0NFRUVEREREREREREREREREREREREREREREREREREREREQUqV1+AAAALnRSTlMAAQIEBggMGyMlKisuUFhZXmJmb3R9hIiKjZGTlKWprrG0uL3BxObt8PL19/j9SqrrawAAAIJJREFUOMvl0jUOQgEQRVHc3d1dzv6XRwch+WRq4NYnmVdMKvU35RZXz+7LQiJqe6uXiDrvqJuI8vM7ALd14fOwIabR+i1agUmfUA1QGedMgJrYRZPGGEVoh0ZgMmeUAlTBMbrWwiZCEwwitEc9MNkLigGq4RBda2MVoRn6X/jfv9YDjuYgGnCpSqcAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-italic.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-italic .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=italic].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=italic].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-italic:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-italic .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=italic]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=italic]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAjVBMVEUAAAAAAP8AgP8AgL8AVdUAYL8AatUAaNAAZswAZ8gAZ8gAZcoAZM0AZswAZcsAZMsAZMsAZcsAZ8sAZcoAZcoAZswAZs0AZ8wAZs0AZ8wAZswAZs0AZs0AZswAZ8wAZ8wAZs0AZswAZ8wAZ8wAZs0AZcwAZswAZswAZswAZswAZswAZswAZswAZswAZsyyI9XbAAAALnRSTlMAAQIEBggMGyMlKisuUFhZXmJmb3R9hIiKjZGTlKWprrG0uL3BxObt8PL19/j9SqrrawAAAIJJREFUOMvl0jUOQgEQRVHc3d1dzv6XRwch+WRq4NYnmVdMKvU35RZXz+7LQiJqe6uXiDrvqJuI8vM7ALd14fOwIabR+i1agUmfUA1QGedMgJrYRZPGGEVoh0ZgMmeUAlTBMbrWwiZCEwwitEc9MNkLigGq4RBda2MVoRn6X/jfv9YDjuYgGnCpSqcAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-underline,
.ql-snow.ql-toolbar .ql-picker.ql-underline .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=underline],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=underline] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAWlBMVEUAAAAAAAAzMzNAQEBGRkZERERERERCQkJERERDQ0NFRUVERERERERFRUVERERERERERERFRUVERERERERERERDQ0NFRUVERERERERERERERERERERERERERET15sOLAAAAHXRSTlMAAQUMLC04TU9UVYePkJKkxMXG2Nrf4+jz9/n6/qlZ0HQAAACUSURBVHja7Y3BDsIgEAW3UCmCFatQxLL//5uuiQ0py1EPxs5tHhMW/oMhxoF5TUSMzGuQqH2PfiO60yiLStIHi260qqKKNLDI0XouOpI6Fh1f/x9W6xOpYZHwNM/9u5lJvACGzvSQRiWlOiUkNDSwuMFCi87mkmTbQRvt18aXWwxhXFiW4IyAr3LBJtMmmtrRFT7ME0B0HEswIOSJAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-underline.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-underline .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=underline].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=underline].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-underline:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-underline .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=underline]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=underline]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAWlBMVEUAAAAAAP8AZswAatUAaMsAZswAZM0AZ8oAZMsAZMsAZswAZswAZs0AZ80AZ8wAZ8wAZcwAZs0AZs0AZswAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZszogqY1AAAAHXRSTlMAAQUMLC04TU9UVYePkJKkxMXG2Nrf4+jz9/n6/qlZ0HQAAACUSURBVHja7Y3BDsIgEAW3UCmCFatQxLL//5uuiQ0py1EPxs5tHhMW/oMhxoF5TUSMzGuQqH2PfiO60yiLStIHi260qqKKNLDI0XouOpI6Fh1f/x9W6xOpYZHwNM/9u5lJvACGzvSQRiWlOiUkNDSwuMFCi87mkmTbQRvt18aXWwxhXFiW4IyAr3LBJtMmmtrRFT7ME0B0HEswIOSJAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-strike,
.ql-snow.ql-toolbar .ql-picker.ql-strike .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=strike],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=strike] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAABLFBMVEUAAACAgIBVVVVAQEAzMzNVVVVAQEA5OTlNTU1JSUlERERHR0dDQ0NGRkZDQ0NAQEBCQkJAQEBGRkZAQEBGRkZERERBQUFERERGRkZCQkJGRkZERERFRUVERERDQ0NFRUVERERDQ0NFRUVCQkJDQ0NFRUVCQkJDQ0NERERDQ0NERERERERDQ0NFRUVERERERERERERERERFRUVERERDQ0NFRUVERERERERFRUVERERERERDQ0NDQ0NFRUVERERERERFRUVERERERERFRUVERERERERDQ0NERERFRUVERERERERERERFRUVERERERERERERERERFRUVERERERERERERFRUVERERERERERERERERERERERERERERERERERERERERERERERERERERERET5TTiyAAAAY3RSTlMAAgMEBQYICQoODxITFhcYGxwdICEtLzEzNjc4P0BFRkdISk1YWWBjaWtsdHZ3f4CHiImKjJGSk5SVl5ufo6Smp625uru8vb/BwsPExcbMzs/Q0dPi4+Tl6+zv8PL19vf4+/z2SQ4sAAABE0lEQVQ4y2NgGDmAV8c5PCkxxFGDE6cSDuOEZCiI0WXGroY/OBkJeHJhU8Pkm4wCXBixKFIHyUTqibJzS5lEgNhqWBT5AMWD+CFsHg8gxxuLoniguCyMIwLkxGFRBPKZDKEw8gMqCuAloEgb7HADMTZ8ijisjHTUlCSFOdgFxeVUNPXM7Z38QmJ9EApQxFFCyxeuxhtFPC7U39nBQl9LVV5CiAMpiFDEOYQlldR0jGwM8DmOVVDRLBpkpDIBr/KBXOBKKNSEgYpiMUQjgaLChBQ5A0W94AHO6wXkumEoUgY5NcpUUYCFRUDBNAqHw22T0YAdNp9bo6qxZMLqI4VAhJIgBZwelzZ0D4uLC3M3lB5B5QgAFQdgZ6NzzvYAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-strike.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-strike .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=strike].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=strike].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-strike:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-strike .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=strike]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=strike]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAABLFBMVEUAAAAAgP8AVaoAgL8AZswAVdUAYL8AccYAZswAbcgAZswAY8YAa8kAaNEAZMgAasoAaNAAZMgAasoAaMcAZMkAZswAZ8kAaMsAZM0AaMsAZswAZM0AZcoAZMsAZMsAZswAZc0AZ8oAZMsAZ8oAZcsAZMsAZcoAZMsAZswAZssAZssAZcoAZssAZcwAZssAZs0AZswAZ8wAZs0AZs0AZswAZswAZ8wAZs0AZs0AZ80AZ8wAZswAZ8wAZs0AZ8wAZ8wAZs0AZs0AZswAZ8wAZs0AZs0AZ8wAZcwAZs0AZ8wAZswAZcwAZs0AZs0AZ8wAZswAZswAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswL5dPDAAAAY3RSTlMAAgMEBQYICQoODxITFhcYGxwdICEtLzEzNjc4P0BFRkdISk1YWWBjaWtsdHZ3f4CHiImKjJGSk5SVl5ufo6Smp625uru8vb/BwsPExcbMzs/Q0dPi4+Tl6+zv8PL19vf4+/z2SQ4sAAABE0lEQVQ4y2NgGDmAV8c5PCkxxFGDE6cSDuOEZCiI0WXGroY/OBkJeHJhU8Pkm4wCXBixKFIHyUTqibJzS5lEgNhqWBT5AMWD+CFsHg8gxxuLoniguCyMIwLkxGFRBPKZDKEw8gMqCuAloEgb7HADMTZ8ijisjHTUlCSFOdgFxeVUNPXM7Z38QmJ9EApQxFFCyxeuxhtFPC7U39nBQl9LVV5CiAMpiFDEOYQlldR0jGwM8DmOVVDRLBpkpDIBr/KBXOBKKNSEgYpiMUQjgaLChBQ5A0W94AHO6wXkumEoUgY5NcpUUYCFRUDBNAqHw22T0YAdNp9bo6qxZMLqI4VAhJIgBZwelzZ0D4uLC3M3lB5B5QgAFQdgZ6NzzvYAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-link,
.ql-snow.ql-toolbar .ql-picker.ql-link .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=link],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=link] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAABDlBMVEUAAAD///8AAACAgIBVVVVAQEAzMzNVVVVAQEBNTU1HR0dAQEBJSUlGRkZDQ0NAQEBERERHR0dGRkZDQ0NBQUFGRkZERERCQkJGRkZFRUVCQkJFRUVERERDQ0NDQ0NCQkJFRUVDQ0NERERDQ0NFRUVDQ0NFRUVFRUVFRUVFRUVERERDQ0NFRUVERERFRUVERERERERDQ0NFRUVFRUVERERERERERERERERFRUVERERERERERERFRUVDQ0NERERERERFRUVERERERERERERERERERERERERERERERERERERERERFRUVERERERERERERERERERERERERERERERERERERERERERERERERERERERESFPz0UAAAAWXRSTlMAAAECAwQFBggKEhQVFhccHiQoKissLTIzNDpGR0hMTU5QUlRVW12BgoaHjI2PmJmam5ygpKWosbKztLW6vcDD0NLT2Nna3N7g4eLj5Ofo6err7u/w8vn7/A90CXkAAAFqSURBVDjLzdTHUgJREIXho8yo6JgFc0LFjAkVMZAFJYrCzP/+L+JCtJipS5U7Patbt79Vd1dr6BfRHyBJUiie6dSSiwrEh2aeAPAO7cEoUqWXdHgQirQAOh7A46gZzVQBzsfmSgAnRhR6AjiS5OQAd9aE4t9GmqoCCRPKAGe9zzhQDxlQBzpjknab9c2RD2DBgGrgzUlqQnfrHlg3oGug6Eh1oFsAEtvLVhAteUBuSjseP2lfzQf6dARQjY/s9SncY9uH7DQA7+ky/XkI+8YSfvRVC6k3AO4s34BHT90+1N2yYq8A+/5V0Wyi0ac2NJkD3KgfSaGF9QRQ9oCC5JSAiyCStA2k9jzISooCFQNaBlpWrJBdkTThQsOA7DYQ+3pbKeDWgHQFvDiSNJwEWDWheRfIOZKVBLiRCekYoBiZSAHkx83IfgDABXielhkpfAcAkJ/WICTrwAXgZlyDkRS9rDRu1wJL98/u0yeVYHcP1mwWWgAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-link.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-link .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=link].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=link].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-link:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-link .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=link]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=link]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAABDlBMVEUAAAD///8AAP8AgP8AVaoAgL8AZswAVdUAYL8AZswAY8YAZswAYc4AaNEAZMgAZMgAZswAY80AZswAZ8gAZcoAaMsAZswAZswAZM0AZ8kAZcoAZswAZc0AZ8oAZc0AZ8oAZcsAZswAZ8oAZMsAZswAZc0AZcsAZ84AZswAZ84AZswAZswAZ8wAZs0AZs0AZs0AZ80AZswAZ8wAZswAZ8wAZswAZs0AZs0AZs0AZ8wAZswAZ8wAZ8wAZ8wAZs0AZswAZs0AZswAZswAZswAZswAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsxCnEEHAAAAWXRSTlMAAAECAwQFBggKEhQVFhccHiQoKissLTIzNDpGR0hMTU5QUlRVW12BgoaHjI2PmJmam5ygpKWosbKztLW6vcDD0NLT2Nna3N7g4eLj5Ofo6err7u/w8vn7/A90CXkAAAFqSURBVDjLzdTHUgJREIXho8yo6JgFc0LFjAkVMZAFJYrCzP/+L+JCtJipS5U7Patbt79Vd1dr6BfRHyBJUiie6dSSiwrEh2aeAPAO7cEoUqWXdHgQirQAOh7A46gZzVQBzsfmSgAnRhR6AjiS5OQAd9aE4t9GmqoCCRPKAGe9zzhQDxlQBzpjknab9c2RD2DBgGrgzUlqQnfrHlg3oGug6Eh1oFsAEtvLVhAteUBuSjseP2lfzQf6dARQjY/s9SncY9uH7DQA7+ky/XkI+8YSfvRVC6k3AO4s34BHT90+1N2yYq8A+/5V0Wyi0ac2NJkD3KgfSaGF9QRQ9oCC5JSAiyCStA2k9jzISooCFQNaBlpWrJBdkTThQsOA7DYQ+3pbKeDWgHQFvDiSNJwEWDWheRfIOZKVBLiRCekYoBiZSAHkx83IfgDABXielhkpfAcAkJ/WICTrwAXgZlyDkRS9rDRu1wJL98/u0yeVYHcP1mwWWgAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-image,
.ql-snow.ql-toolbar .ql-picker.ql-image .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=image],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=image] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAFVBMVEUAAABCQkJEREREREREREREREREREQL6X1nAAAABnRSTlMATXjl6OmAFiJpAAAAZklEQVR42sXQsQ3AIAxEUeQZoKdyzwg0DALo9h8hiCYXo4R0/MbSK1ycO5EHlScVpj4Jj97p/vtJPi9U+kptXIlMIY2r1b4XIBpSoDJJFIyYtKohAWBIV8Ke9kv8X7WwtEmBKbkDXfWkWdehkaSCAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-image.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-image .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=image].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=image].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-image:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-image .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=image]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=image]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAFVBMVEUAAAAAZ8oAZswAZswAZswAZswAZsx4QzxlAAAABnRSTlMATXjl6OmAFiJpAAAAZklEQVR42sXQsQ3AIAxEUeQZoKdyzwg0DALo9h8hiCYXo4R0/MbSK1ycO5EHlScVpj4Jj97p/vtJPi9U+kptXIlMIY2r1b4XIBpSoDJJFIyYtKohAWBIV8Ke9kv8X7WwtEmBKbkDXfWkWdehkaSCAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-list,
.ql-snow.ql-toolbar .ql-picker.ql-list .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=list],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=list] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAw1BMVEUAAAAAAABVVVVAQEBERERAQEBJSUlGRkZHR0dFRUVCQkJERERAQEBGRkZDQ0NFRUVDQ0NCQkJGRkZDQ0NCQkJERERDQ0NFRUVERERFRUVERERDQ0NERERERERDQ0NFRUVERERERERERERERERERERERERERERFRUVERERERERERERFRUVERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERESFbZw4AAAAQHRSTlMAAQYIDxAVFhkaGx4gKCo0NTY3OU10fYKIiYqMj56fo6SmqKmvtLe6vr/ExcbLz9fh4uXm5+jp7O/w8vP3+vv9Z7IwDAAAAK1JREFUOMvV0scOglAQQFGwYO+oiIq9YldEFPX+/1e5cGEii2FFdNY3b/JORlF+dAqNrS1GQyDEW+9Id/gaRw9EgQacMNEhuO4caD7rlgDS/2yAVWTiia53HWeEaMLzwUKIdvt08n4TxLMptc1UEo/38YqCuGZzKknimxDi6jpa8Vjn6I4kcQNgLkSmVSvjizeeb9ITbzxXxxLETatSxRfEWwAzicC4uANN+at5AdptTQ0Ubk4LAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-list.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-list .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=list].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=list].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-list:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-list .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=list]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=list]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAw1BMVEUAAAAAAP8AVdUAYL8AZswAYM8AYc4AaNEAZswAYs4AaNAAZswAaMcAZswAZ8gAZ8kAZcoAaMsAZswAZ8kAZ8oAZcoAZswAZswAZ8wAZs0AZs0AZswAZs0AZs0AZ8wAZs0AZ8wAZ8wAZs0AZ8wAZswAZswAZs0AZ8wAZswAZcwAZcwAZs0AZs0AZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZszno9YmAAAAQHRSTlMAAQYIDxAVFhkaGx4gKCo0NTY3OU10fYKIiYqMj56fo6SmqKmvtLe6vr/ExcbLz9fh4uXm5+jp7O/w8vP3+vv9Z7IwDAAAAK1JREFUOMvV0scOglAQQFGwYO+oiIq9YldEFPX+/1e5cGEii2FFdNY3b/JORlF+dAqNrS1GQyDEW+9Id/gaRw9EgQacMNEhuO4caD7rlgDS/2yAVWTiia53HWeEaMLzwUKIdvt08n4TxLMptc1UEo/38YqCuGZzKknimxDi6jpa8Vjn6I4kcQNgLkSmVSvjizeeb9ITbzxXxxLETatSxRfEWwAzicC4uANN+at5AdptTQ0Ubk4LAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bullet,
.ql-snow.ql-toolbar .ql-picker.ql-bullet .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bullet],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bullet] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAABCQkJEREREREREREREREQc4xmxAAAABXRSTlMATeXo6UtNtyIAAAAzSURBVCjPY2AYACBsyCAcCgOGYCHTYAZTuFAwRCgISSgILCSiyCACF1JkGBgw6voBcj0AFsUtDasGrUcAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-bullet.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-bullet .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=bullet].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=bullet].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-bullet:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-bullet .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=bullet]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=bullet]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAAAAZ8oAZswAZswAZswAZsxixJGvAAAABXRSTlMATeXo6UtNtyIAAAAzSURBVCjPY2AYACBsyCAcCgOGYCHTYAZTuFAwRCgISSgILCSiyCACF1JkGBgw6voBcj0AFsUtDasGrUcAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-authorship,
.ql-snow.ql-toolbar .ql-picker.ql-authorship .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=authorship],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=authorship] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAllBMVEUAAACAgIBAQEBCQkIAAABCQkJAQEBGRkZERERERERCQkJGRkZDQ0NDQ0NDQ0MAAAAAAAAAAABDQ0NFRUVERERFRUVERERFRUVERERFRUVERERERERERERERERERERERERERERFRUVEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREQe3JVeAAAAMXRSTlMAAhgbHx8gIS0xMjM5VFdcXWZyd3yChImPkKy4yMrO0tPj5ebq7e7v8PLz9/j6/P3+mEwo9QAAAJxJREFUGBnVwNcOgjAYBeCj4l7FjeAGUZzn/V9O0kikSftf44c/0A+Tc9iFqHll7tKEJKAWQLKjtockpZZC8qL2hiSjlkESUYsgmVNbQtKhNoCgNrwz95w14NTe8Os2gUP9wJ8p7NYsebRg06NhAZsVDRFstjQksMlogs2Rhhg2o5glpxGqz1O+g/JQUL6TQkH5TmMUPOU7jD1U1AdG8S1kERvjygAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-authorship.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-authorship .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=authorship].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=authorship].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-authorship:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-authorship .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=authorship]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=authorship]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAllBMVEUAAAAAgP8AasoAaNAAY84AaMcAZMkAZswAaMsAZswAZM0AZ8kAZMsAZ8oAZ8oAZcsAZc4AZ80AZcwAZcwAZcwAZswAZs0AZs0AZs0AZ80AZs0AZ8wAZswAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsyCDIYeAAAAMXRSTlMAAhgbHyAhLTEyMzlUV1xdXWZyd3yChImPkKy4yMrO0tPj5ebq7e7v8PLz9/j6/P3+PxHOPAAAAJxJREFUGBnVwNcOgjAYBeCj1j0q7oEbRHGe9385SSORJu1/jR/+QGcdn9ctiNSVmYuCZEljCcmOxh6ShEYCyYvGG5KURgpJSCOEZEpjDkmTRheCSu/OzHNSg1djw6/bCB7VA3/GcFux4FGHS5uWGVwWtIRw2dISwyWlDS5HWiK49CMWnPooP6UDD62Q04GXRk4HXgPk1DDwGCiU1AcZWy1RmD8CRQAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-color,
.ql-snow.ql-toolbar .ql-picker.ql-color .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=color],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=color] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAz1BMVEUAAAAAAACAgIBVVVVAQEBVVVU5OTk7OztLS0tHR0dGRkZCQkIAAABERERDQ0NDQ0NDQ0NDQ0NGRkZERERERERCQkJFRUVERERFRUVEREQAAAAAAABDQ0NFRUVEREQAAABERERFRUVERERDQ0NDQ0NERERERERERERERERERERERERERERERERERERFRUVFRUVERERERERERERERERERERDQ0NERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERbYaT1AAAARHRSTlMAAQIDBAYJDRESFhsfIiYqNUFCREtNVVZZWlxdY2RlZm1zdXZ9hI6Tl6Sws7nExcnS09XY2d/g5ejp6+zt8PP09/n9/idH/qoAAADKSURBVBgZ1cDXUsJAAIXhg2KMGruxsGoUe8cWoij1f/9nYiZDGJjsLrfwaRHEWRZrhuAXWoH8zgBO5VVpADTktU9uVz5P5B7lsdUn19+U2x3w+gbcyilsA0cnwP+qXOpAWl1pAhdyqKZAXboGvpZkdwi0Q2m9CxzI7oUJz7LaYdJgWzYPTLmXxUaPKZ01ld0A7xXllr+BK5VlwLlGLoFPlWXQCjQSduBDZfFPM9bY8V+6p7kXmcTBRCqYxMmoYBKnmgqRSRxqkebUEKsKOlxMa6IbAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-color.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-color .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=color].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=color].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-color:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-color .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=color]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=color]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAA0lBMVEUAAAAAAP8AgP8AVaoAgL8AVdUAccYAYsQAadIAY8YAaNEAaNAAY84AacsAZckAZ8gAZcoAZswAZM0AZcsAZswAZ8oAZswAZc0AZMsAZswAZ8oAZcsAZc4AZMsAZswAZcoAZ80AZcwAZswAZssAZssAZswAZs0AZs0AZs0AZ8wAZ8wAZ8wAZ8wAZswAZcwAZs0AZcwAZswAZswAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswVaivDAAAARXRSTlMAAQIDBAYJDRESFhsfIiYqNUFCREtNVVZZWlxdXWNkZWZtc3V2fYSOk5eksLO5xMXJ0tPV2Nnf4OXo6evs7fDz9Pf5/f6Y2SWXAAAAy0lEQVQYGdXA11LCQACF4YNijBq7sbCWKPaOLURREPjf/5WYyRAGJrvLLXyaB3GWxZoi+IFWIL9TgBN5VRoADXntktuWzyO5B3ls9Mj11uV2C7y8AjdyCtvAwRHwtyyXOpBWl5rAuRyqKVCXroDPBdntA+1QWv0H9mT3zJgnWW0xrr8pm3sm3MlircuEzorKroG3inKLX8ClyjLgTEMXwIfKMmgFGgo78K6y+LsZa+TwN93RzItM4mAiFUziZFQwiVNNheg4cahFmlEDFzs7cwmPHM8AAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-background,
.ql-snow.ql-toolbar .ql-picker.ql-background .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=background],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=background] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAA4VBMVEUAAAAAAACAgIBVVVVAQEBVVVU5OTk7OztLS0tHR0dGRkZCQkJERERDQ0NDQ0NDQ0NDQ0NERERCQkJEREQAAAADAwMGBgZDQ0NEREQODg5ERERDQ0NFRUVERERERERERERDQ0MiIiJDQ0MmJiZEREQrKytEREREREQyMjIyMjJEREREREREREQ4ODhERERERERFRUVFRUVERERERERERERERERAQEBERERERERBQUFERERERERERERBQUFERERERERERERBQUFERERERERERERDQ0NERERERERDQ0NERERERESZD8GyAAAASnRSTlMAAQIDBAYJDRESFhsiJio1QURJS01QU1RWWVpjZGVtdXZ4fYCEiI6TnZ6ksLO3ucTFydLT193g4OLl5ebn6enq6+7w8vP39/n+/rihcb4AAADbSURBVHjazZPFDsMwEERdZkpTZmbmpszd//+grhpFSaS1e+khc1jbmrG1z7KZdSXLgvo79M9ziKCkKJIeoUPJA8AxKT6H5QGVE3dlmwJqKqaLwVdRIV1fDfVEdKGXGnoFBXQtDIwnWJp8uswd/XQWy8XD7aqD9srp2uJQ5NElVuiWGKvisLFz6Bpo3ryM+R84iXO6GoFBQ5ouAka9wyRdF0waUHSBpzl09xF0dTRmNnXu2OOiTNDtAKCg7W3jYk7QnQGObu0KvVeAJUFXU9aS/h5Sp0VFtui/s6w+XSJAbiVJ3G0AAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-background.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-background .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=background].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=background].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-background:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-background .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=background]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=background]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAA5FBMVEUAAAAAAP8AgP8AVaoAgL8AZswAVdUAYL8AccYAYsQAadIAY8YAaNEAasoAZswAYsQAaNAAacsAZckAadEAZ8gAZcoAZswAZswAZMkAZM0AZcsAZ8sAZswAaM0AZ8oAZ80AZswAZc0AZMsAZswAZMsAZswAZcoAZcwAZswAZssAZssAZswAZs0AZs0AZs0AZ8wAZ8wAZ8wAZ8wAZswAZcwAZs0AZcwAZswAZswAZs0AZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZswAZsxJPDLdAAAAS3RSTlMAAQIDBAUGCAkNERIWGBkaGyImJyo1N0FCQkRFS0xNTVVWWVpjZGVtc3V2fYSOk5eksLO5xMXJ0tPV2Nnf4OXo6evs7fDz9Pf5/f60OfwzAAABG0lEQVR42s2T6VKDQBCEGyUJoqgSjcYg8dZ43/EieCUa5/3fx661qMAu7O98P4bZnq5lZlkwvXS7k1hf1BTdZFEsFpvUMU15IU7TuKiYJu9d5MODZZ8WcCBk39ZVAKcvpG+ZrgNsimIdTtV0TeBGFNewdBWORTFesUx3QcP9A8N59XT+kPWdPYavOQQVXfVYTtz6gI8jvfUsdRNWe8ApHy8z5ftgm8WhDyx8M4nKumoBd5LjVkkaAdYkz+8qpQLqtK+kwKU5XRPLP1JgNF8y3RkLjw4Us69cnMDb0qdLqR9myjEXz2brNPG2NSKQqOGPRJ5gEr8NYoT/9yHE7mfShoarovYptDw7kiWLyZTbNZBa9saK33tDWZlPK39U3ELkzhssBgAAAABJRU5ErkJggg==");
}
.ql-snow.ql-toolbar .ql-format-button.ql-left,
.ql-snow.ql-toolbar .ql-picker.ql-left .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=left],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=left] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAABCQkJEREREREREREREREQc4xmxAAAABXRSTlMATeXo6UtNtyIAAABCSURBVCjPY2AYACAcCgaGSEKmEKFgTKEgJCERiJAiw0ACqOuR/WCKLBSMKRSE7PqB9YMwuttRnBqMKRSEGvYD6HYAD8opyeJDvUUAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-left.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-left .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=left].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=left].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-left:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-left .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=left]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=left]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAAAAZ8oAZswAZswAZswAZsxixJGvAAAABXRSTlMATeXo6UtNtyIAAABCSURBVCjPY2AYACAcCgaGSEKmEKFgTKEgJCERiJAiw0ACqOuR/WCKLBSMKRSE7PqB9YMwuttRnBqMKRSEGvYD6HYAD8opyeJDvUUAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-right,
.ql-snow.ql-toolbar .ql-picker.ql-right .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=right],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=right] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAABCQkJEREREREREREREREQc4xmxAAAABXRSTlMATeXo6UtNtyIAAABCSURBVCjPY2AYMCAcCgaGSEKmEKFgTKEgJCERiJDiwLob2fWmyELBmEJByO4eWNejuN8QNZCRw94U3fUo7h8Q1wMAuRspyVIXC2UAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-right.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-right .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=right].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=right].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-right:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-right .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=right]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=right]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAAAAZ8oAZswAZswAZswAZsxixJGvAAAABXRSTlMATeXo6UtNtyIAAABCSURBVCjPY2AYMCAcCgaGSEKmEKFgTKEgJCERiJDiwLob2fWmyELBmEJByO4eWNejuN8QNZCRw94U3fUo7h8Q1wMAuRspyVIXC2UAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-center,
.ql-snow.ql-toolbar .ql-picker.ql-center .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=center],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=center] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAABCQkJEREREREREREREREQc4xmxAAAABXRSTlMATeXo6UtNtyIAAABCSURBVCjPY2AYGCAcCgaGSEKmEKFgTKEgJCERiJAiw4ABqNORPWCKLBSMKRSE7PQB9oAwuuNR3BqMKRSEGvID53gA5GspyQ9EElMAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-center.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-center .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=center].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=center].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-center:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-center .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=center]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=center]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAAAAZ8oAZswAZswAZswAZsxixJGvAAAABXRSTlMATeXo6UtNtyIAAABCSURBVCjPY2AYGCAcCgaGSEKmEKFgTKEgJCERiJAiw4ABqNORPWCKLBSMKRSE7PQB9oAwuuNR3BqMKRSEGvID53gA5GspyQ9EElMAAAAASUVORK5CYII=");
}
.ql-snow.ql-toolbar .ql-format-button.ql-justify,
.ql-snow.ql-toolbar .ql-picker.ql-justify .ql-picker-label,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=justify],
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=justify] {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAABCQkJEREREREREREREREQc4xmxAAAABXRSTlMATeXo6UtNtyIAAAAoSURBVCjPY2AYACAcigQMwUKmyELBmEJBYCERZCFFhoEBo64fINcDAAcQNGkJNhVcAAAAAElFTkSuQmCC");
}
.ql-snow.ql-toolbar .ql-format-button.ql-justify.ql-active,
.ql-snow.ql-toolbar .ql-picker.ql-justify .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-label[data-value=justify].ql-active,
.ql-snow.ql-toolbar .ql-picker .ql-picker-item[data-value=justify].ql-selected,
.ql-snow.ql-toolbar:not(.ios) .ql-format-button.ql-justify:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker.ql-justify .ql-picker-label:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-label[data-value=justify]:hover,
.ql-snow.ql-toolbar:not(.ios) .ql-picker .ql-picker-item[data-value=justify]:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkBAMAAAATLoWrAAAAElBMVEUAAAAAZ8oAZswAZswAZswAZsxixJGvAAAABXRSTlMATeXo6UtNtyIAAAAoSURBVCjPY2AYACAcigQMwUKmyELBmEJBYCERZCFFhoEBo64fINcDAAcQNGkJNhVcAAAAAElFTkSuQmCC");
}
}
.ql-snow .ql-tooltip {
border: 1px solid #ccc;
box-shadow: 0px 0px 5px #ddd;
color: #222;
}
.ql-snow .ql-tooltip a {
color: #06c;
}
.ql-snow .ql-tooltip .input {
border: 1px solid #ccc;
margin: 0px;
padding: 5px;
}
.ql-snow a {
color: #06c;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
Yavsc/wwwroot/jslib/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

3
Yavsc/wwwroot/jslib/dropzone.min.js vendored Normal file

File diff suppressed because one or more lines are too long

11
Yavsc/wwwroot/jslib/jquery-ui.min.js vendored Normal file

File diff suppressed because one or more lines are too long

4
Yavsc/wwwroot/jslib/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
Yavsc/wwwroot/jslib/md-helpers.min.js vendored Normal file
View File

@ -0,0 +1 @@
var markdownize=function(r){if(!r)return"";var n=r.split("\n").map($.trim).filter(function(r){return""!=r}).join("\n");return toMarkdown(n)},converter=new showdown.Converter,htmlize=function(r){return converter.makeHtml(r)},updateMD=function(r,n){if(!n)return jQuery("#"+r).val("");var e=markdownize(n);jQuery("#"+r).val()!==e&&jQuery("#"+r).val(e)};

5
Yavsc/wwwroot/jslib/quill.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
Yavsc/wwwroot/jslib/showdown.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
Yavsc/wwwroot/jslib/site.min.js vendored Executable file
View File

@ -0,0 +1 @@
var allowCircleToBlog=function(o){var c=$(this).prop("checked"),e=$(this).data("circle-id"),n=$(this).data("target-id"),l={CircleId:e,BlogPostId:n},i="/api/blogacl";c||(i+="/"+e),console.log(l),$.ajax({url:i,type:c?"POST":"DELETE",data:JSON.stringify(l),contentType:"application/json;charset=utf-8",success:function(o){console.log("POSTed")},error:function(){console.log("POSTed")}}),o.preventDefault()};$(document).ready(function(){$("input.Blogcirle[type=checkbox]").on("change",allowCircleToBlog)});var notifClick=function(o){$.get("/api/dimiss/click/"+o).done(function(o){console.log("second success"),console.log(o)}).fail(function(){console.log("error")}).always(function(){console.log("finished")})};

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,9 @@
using System.Collections.Generic;
namespace YavscLib
namespace YavscLib
{
public interface IApplicationUser
{
IAccountBalance AccountBalance { get; set; }
IList<IContact> Book { get; set; }
IList<ICircle> Circles { get; set; }
string DedicatedGoogleCalendar { get; set; }
IList<IGoogleCloudMobileDeclaration> Devices { get; set; }
ILocation PostalAddress { get; set; }
IList<IBlog> Posts { get; set; }
}
}

View File

@ -1,13 +0,0 @@
using System.Collections.Generic;
namespace YavscLib
{
public interface ICircle
{
long Id { get; set; }
IList<ICircleMember> Members { get; set; }
string Name { get; set; }
IApplicationUser Owner { get; set; }
string OwnerId { get; set; }
}
}

View File

@ -1,9 +0,0 @@
namespace YavscLib
{
public interface ICircleMember
{
ICircle Circle { get; set; }
long Id { get; set; }
IApplicationUser Member { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace Yavsc.Interfaces
{
public interface ICircle
{
long Id { get; set; }
string Name { get; set; }
string OwnerId { get; set; }
}
}

View File

@ -43,6 +43,7 @@
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ZicMoove|AnyCPU'">
@ -52,6 +53,7 @@
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Yavsc|AnyCPU'">
@ -61,6 +63,7 @@
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'WinDev|AnyCPU'">
@ -70,6 +73,7 @@
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>

View File

@ -45,6 +45,7 @@
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ZicMoove|AnyCPU'">
@ -54,6 +55,7 @@
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Yavsc|AnyCPU'">
@ -63,6 +65,7 @@
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'WinDev|AnyCPU'">
@ -72,6 +75,7 @@
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>

View File

@ -6,8 +6,8 @@ var gulp = require("gulp"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
uglify = require("gulp-uglify"),
shell = require("gulp-shell");
shell = require("gulp-shell"),
rename = require('gulp-rename');
var webroot = "./wwwroot/";
var paths = {
@ -40,14 +40,20 @@ gulp.task("min:js", function () {
});
gulp.task("min:css", function () {
return gulp.src([paths.css, "!" + paths.minCss])
return gulp.src([paths.css, "!" + paths.minCss], {
base: "."
})
.pipe(concat(paths.concatCssDest))
.pipe(cssmin())
.pipe(gulp.dest("."));
});
gulp.task("min", ["min:js", "min:css"]);
gulp.task("mindefault", function () {
gulp.src('src/**/*.css')
.pipe(cssmin())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('../dist'));
});
gulp.task('build', shell.task(['dnu build --configuration=Debug']))
gulp.task('publish', shell.task(['dnu publish -o ../build']))