commit 4f74caac6f68c1ae8629af2dfc63cb5edffcca4a Author: Michael Nolan Date: Wed Aug 24 06:34:56 2022 -0500 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9833dad --- /dev/null +++ b/.gitignore @@ -0,0 +1,399 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml +*.db \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..aa5389a --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + "version": "0.2.0", + "configurations": [ + { + // Use IntelliSense to find out which attributes exist for C# debugging + // Use hover for the description of the existing attributes + // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + // If you have changed target frameworks, make sure to update the program path. + "program": "${workspaceFolder}/ChatrClient/Chatr.Skia.Gtk/bin/Debug/net6.0/Chatr.Skia.Gtk.dll", + "args": [], + "cwd": "${workspaceFolder}/ChatrClient/Chatr.Skia.Gtk", + // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console + "console": "internalConsole", + "stopAtEntry": false + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..c716ef7 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,41 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/ChatrClient/Chatr.Skia.Gtk/Chatr.Skia.Gtk.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "publish", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "${workspaceFolder}/ChatrClient/Chatr.Skia.Gtk/Chatr.Skia.Gtk.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "watch", + "command": "dotnet", + "type": "process", + "args": [ + "watch", + "run", + "--project", + "${workspaceFolder}/ChatrClient/Chatr.Skia.Gtk/Chatr.Skia.Gtk.csproj" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/ChatrCommon/ChatrCommon.csproj b/ChatrCommon/ChatrCommon.csproj new file mode 100644 index 0000000..074f136 --- /dev/null +++ b/ChatrCommon/ChatrCommon.csproj @@ -0,0 +1,13 @@ + + + + netstandard2.0 + + + + + + + + + diff --git a/ChatrCommon/ChatrMsg.cs b/ChatrCommon/ChatrMsg.cs new file mode 100644 index 0000000..72eb2f0 --- /dev/null +++ b/ChatrCommon/ChatrMsg.cs @@ -0,0 +1,347 @@ + +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System.Collections.Generic; +using System.Linq; +using System; +using System.Net.Http; +using System.Text; + + +namespace Chatr +{ + internal class appcfg + { + public bool WS_SAME_AS_HTTP {get;set;} + public ushort WSPort {get;set;} + public bool WSS {get;set;} + + } + public class State + { + + public string Email {get;set;} + public string Name {get;set;} + public string Url {get;set;} + public bool Loggedin {get;set;} + + public List Mymessages {get;set;} + + public List Users {get;set;} + } +public class ChatrWSMsg +{ + public ChatrWSMsg() + { + PacketType=PacketType.NoOp; + + } + public ChatrWSMsg(IPacketData data) + { + SetPacketData(data); + } + public PacketType PacketType {get;set;} + public JObject Data {get;set;} + + public IPacketData GetPacketData() + { + if(Data == null) return new NoOpPacket(); + switch(PacketType) + { + case PacketType.AuthenticateUser: + return Data.ToObject(); + case PacketType.AuthenticateBot: + return Data.ToObject(); + case PacketType.Message: + return Data.ToObject(); + case PacketType.Notification: + return Data.ToObject(); + case PacketType.NotificationEventFire: + return Data.ToObject(); + case PacketType.ClearAll: + return Data.ToObject(); + } + + return new NoOpPacket(); + } + public void SetPacketData(IPacketData data) + { + PacketType=data.PacketType; + Data=JObject.FromObject(data); + } + + public bool IsType(PacketType type,out IPacketData data) + { + + var res= type == PacketType; + if(res) + { + var gata=GetPacketData(); + if(gata != null) + { + data=gata; + return true; + } + + } + data=new NoOpPacket(); + return false; + } +} + +public abstract class IPacketData +{ + + public abstract PacketType PacketType {get;} +} +public class NoOpPacket : IPacketData +{ + public override PacketType PacketType => PacketType.NoOp; +} +public class AuthenticationUserPacket : IPacketData +{ + public AuthenticationUserPacket() + { + SessionId=""; + } + [JsonIgnore] + public override PacketType PacketType => PacketType.AuthenticateUser; + + public string SessionId {get;set;} +} +public class AuthenticateBotPacket : IPacketData +{ + public AuthenticateBotPacket() + { + ApiKey=""; + } + [JsonIgnore] + public override PacketType PacketType => PacketType.AuthenticateBot; + + + public string ApiKey {get;set;} +} +public class ClearAllPacket : IPacketData +{ + public override PacketType PacketType => PacketType.ClearAll; + + public string UserStr {get;set;} +} +public class MessagePacket : IPacketData +{ + public override PacketType PacketType => PacketType.Message; + + public string Name {get;set;} + public string Content {get;set;} + public string CreationTime {get;set;} + public string UserStr {get;set;} +} +public enum PacketType +{ + NoOp=0, + AuthenticateUser=1, + AuthenticateBot=2, + Message=3, + + Notification=4, + + NotificationEventFire=5, + ClearAll= 6 + +} +public class NotificationEventFirePacket : IPacketData +{ + public string DestinationUserName {get;set;} + public string SourceUserName {get;set;} + public string SourceBotUserName {get;set;} + public string BotNotificationId {get;set;} + public string Button {get;set;} + public string BotUserString {get;set;} + public override PacketType PacketType => PacketType.NotificationEventFire; +} +public class NotificationPacket : IPacketData +{ + public NotificationPacket() + { + OnClick=new NotificationEvent(); + NotificationButtons=new List(); + } + public override PacketType PacketType => PacketType.Notification; + + public long Id {get;set;} + + public string BotNotificationId {get;set;} //an id chosen by bot + public string BotOwnerName {get;set;} //cleartext name of bot owner + public string BotOwnerUserName {get;set;} //username of bot owner + public string Title {get;set;} + + public string Body {get;set;} + + public string BotName {get;set;} + public string BotUserString {get;set;} + + public string UserName {get;set;} + + public NotificationEvent OnClick {get;set;} + + public List NotificationButtons {get;set;} + +} +public class NotificationButton +{ + public NotificationButton() + { + Text=""; + Event=new NotificationEvent(); + } + public string Text {get;set;} + public NotificationEvent Event {get;set;} + + public static NotificationButton CreateButton(string text,NotificationEvent evt) + { + NotificationButton btn=new NotificationButton(); + btn.Text=text; + btn.Event = evt; + return btn; + } + +} + +public enum NotificationEventType +{ + DoNothing=0, + DownloadOnClient=1, + GoToOnClient=2, + CallApiFromServer=3, //is the only one that device has to send for + SendCallbackToBot=4 //ws only +} +public class NotificationEvent +{ + public NotificationEvent() + { + Type=NotificationEventType.DoNothing; + Data=new Dictionary(); + } + + public NotificationEventType Type {get;set;} + + public Dictionary Data {get;set;} + + public static NotificationEvent CreateRedirect(string url) + { + NotificationEvent evt=new NotificationEvent(); + evt.Type = NotificationEventType.GoToOnClient; + evt.Data.Add("Url",url); + return evt; + } + public static NotificationEvent CreateDownload(string url) + { + NotificationEvent evt=new NotificationEvent(); + evt.Type = NotificationEventType.DownloadOnClient; + evt.Data.Add("Url",url); + return evt; + } + public static NotificationEvent CreateBotCallback() + { + NotificationEvent evt=new NotificationEvent(); + evt.Type=NotificationEventType.SendCallbackToBot; + return evt; + } + + public static NotificationHttpBuilder CreateServerCallback(HttpMethod method,string url) + { + NotificationHttpBuilder builder=new NotificationHttpBuilder(method,url); + return builder; + } +} + + public class NotificationHttpBuilder + { + internal NotificationHttpBuilder(HttpMethod method,string url) + { + this.method = method.Method; + this.url = url; + } + string method; + string url; + Dictionary> headers=new Dictionary>(); + + byte[] body=new byte[0]; + private void AddTo(Dictionary> ls,string key,string value) + { + if(!ls.ContainsKey(key)) + { + ls.Add(key,new List()); + } + ls[key].Add(value); + } + public NotificationHttpBuilder AddHeader(string key,string value) + { + AddTo(headers,key,value); + return this; + } + public NotificationHttpBuilder SetBody(string data,Encoding encoding) + { + body=encoding.GetBytes(data); + return this; + } + public NotificationHttpBuilder SetBody(string data) + { + return SetBody(data,Encoding.UTF8); + } + public NotificationHttpBuilder SetBody(byte[] data) + { + body = data; + return this; + } + public NotificationEvent Build() + { + NotificationEvent evt=new NotificationEvent(); + evt.Type=NotificationEventType.CallApiFromServer; + foreach(var header in headers) + { + int i=0; + foreach(var val in header.Value) + { + evt.Data.Add($"HDR{header.Key}:{i++}",val); + } + } + evt.Data.Add("URL",url); + evt.Data.Add("MET",method); + evt.Data.Add("BDY",Convert.ToBase64String(body)); + return evt; + } + } + + public class UserAccount +{ + public UserAccount() + { + Messages=new List(); + Hash=""; + Text=""; + Shown=""; + } + public string Shown {get;set;} + public string Hash {get;set;} + public string Text {get;set;} + + [JsonIgnore] + public long UId {get;set;} + + public List Messages {get;set;} +} + +public class MyMessage +{ + public MyMessage() + { + Body = ""; + Time=""; + } + public string Time {get;set;} + public bool Mine {get;set;} + public string Body {get;set;} + +} +} \ No newline at end of file diff --git a/ChatrCommon/Class1.cs b/ChatrCommon/Class1.cs new file mode 100644 index 0000000..28ed37d --- /dev/null +++ b/ChatrCommon/Class1.cs @@ -0,0 +1,246 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using System.Net.Http; +using System.Collections.Generic; +using WebSocketSharp; +using Newtonsoft.Json; + +namespace Chatr +{ + public class ReceivedEventArgs : EventArgs + { + public ReceivedEventArgs(T data) + { + Data=data; + } + public T Data {get;set;} + } + + internal class WSClient : IDisposable + { + public class ChatrWSMsgReceivedEventArgs : EventArgs + { + public ChatrWSMsgReceivedEventArgs(ChatrWSMsg msg){ + Message=msg; + } + public ChatrWSMsg Message {get;set;} + } + public event EventHandler OnMessage; + public event EventHandler OnError; + + public event EventHandler OnOpen; + + public event EventHandler OnClose; + WebSocket sock; + public WSClient(string url,params string[] protocols) + { + sock=new WebSocket(url,protocols); + sock.OnMessage += (sender,e)=>{ + + if(e.IsText) + { + OnMessage?.Invoke(this,new ChatrWSMsgReceivedEventArgs(JsonConvert.DeserializeObject(e.Data))); + } + }; + sock.OnError += (sender,e)=>{ + OnError?.Invoke(this,e); + }; + sock.OnOpen+= (sender,e)=>{ + OnOpen?.Invoke(this,e); + }; + sock.OnClose += (sender,e)=>{ + OnClose?.Invoke(this,e); + }; + + } + public void Connect() + { + sock.Connect(); + } + public void Send(ChatrWSMsg msg) + { + sock.Send(JsonConvert.SerializeObject(msg)); + } + public void Dispose() + { + sock.Close(); + } + } + + public class ChatrClient + { + + public ChatrClient() + { + client=new HttpClient(); + } + HttpClient client; + + + + + + public async Task GetSessionAsync(string url,string username,string password) + { + HttpRequestMessage msg=new HttpRequestMessage(HttpMethod.Post,$"{url.TrimEnd('/')}/api/login2"); + Dictionary ls=new Dictionary(); + ls.Add("username",username); + ls.Add("password",password); + var content=new FormUrlEncodedContent(ls); + + msg.Content=content; + using(var resp=await client.SendAsync(msg)){ + + if(resp.IsSuccessStatusCode) { + var val= await resp.Content.ReadAsStringAsync(); + return val; + } + } + return ""; + } + + public ChatrInstance AuthenticateUser(string endpoint,string sessionId) + { + return new ChatrInstance(client,endpoint,false,sessionId); + } + public ChatrInstance AuthenticateBot(string endpoint,string apiKey) + { + return new ChatrInstance(client,endpoint,true,apiKey); + } + } + public class ChatrInstance + { + public event EventHandler> OnMessage; + + public event EventHandler> OnNotification; + + public event EventHandler> OnNotificationEventFire; + HttpClient clt; + string endpoint; + bool isBot; + string auth; + + WSClient wsClt; + public async Task GetStateAsync() + { + if(isBot) return new State(); + + HttpRequestMessage msg=new HttpRequestMessage(HttpMethod.Get,$"{endpoint.TrimEnd('/')}/api/state.json"); + msg.Headers.Add("Cookie",$"Chatr-Session={auth}"); + using(var resp=await clt.SendAsync(msg)){ + if(resp.IsSuccessStatusCode) { + var val= await resp.Content.ReadAsStringAsync(); + return JsonConvert.DeserializeObject(val); + } + } + return new State(); + + } + internal ChatrInstance(HttpClient clt,string endpoint,bool isBot,string auth) + { + this.clt=clt; + this.endpoint = endpoint.TrimEnd('/'); + this.isBot=isBot; + this.auth = auth; + } + public async Task StartCommunication() + { + /* + // + if(e.WS_SAME_AS_HTTP) + { + var scheme= window.location.protocol == "http" ? "ws" : "wss"; + wsStr=`${scheme}://${window.location.host}${window.location.pathname}chatr-ws`; + }else{ + var scheme = e.WSS ? 'wss' : 'ws'; + wsStr=`${scheme}://${window.location.hostname}:${e.WSPort}${window.location.pathname}chatr-ws`; + } + */ + // + string data=await clt.GetStringAsync($"{endpoint}/api/appconfig.json"); + var res=JsonConvert.DeserializeObject(data); + string wsURL=""; + var uri=new Uri(endpoint + "/"); + + if(res.WS_SAME_AS_HTTP) + { + var scheme = uri.Scheme == "http" ? "ws" : "wss"; + wsURL = $"{scheme}://{uri.Host}:{uri.Port}{uri.PathAndQuery.TrimEnd('/')}/chatr-ws"; + + }else{ + var scheme = res.WSS ? "wss" : "ws"; + wsURL = $"{scheme}://{uri.Host}:{res.WSPort}{uri.PathAndQuery.TrimEnd('/')}/chatr-ws"; + } + wsClt=new WSClient(wsURL); + var authPkt=new ChatrWSMsg(); + if(isBot) + { + AuthenticateBotPacket botPacket=new AuthenticateBotPacket(); + botPacket.ApiKey = auth; + authPkt.SetPacketData(botPacket); + + + }else{ + AuthenticationUserPacket userPkt=new AuthenticationUserPacket(); + userPkt.SessionId = auth; + authPkt.SetPacketData(userPkt); + } + + + wsClt.OnMessage += (sender,e)=>{ + IPacketData packetData; + + if(e.Message.IsType(PacketType.Message,out packetData)) + { + var message=(MessagePacket)packetData; + OnMessage?.Invoke(this,new ReceivedEventArgs(message)); + } + if(e.Message.IsType(PacketType.Notification,out packetData)) + { + var notification =(NotificationPacket)packetData; + OnNotification?.Invoke(this,new ReceivedEventArgs(notification)); + } + if(e.Message.IsType(PacketType.NotificationEventFire,out packetData)) + { + var noFire = (NotificationEventFirePacket)packetData; + OnNotificationEventFire?.Invoke(this,new ReceivedEventArgs(noFire)); + } + }; + wsClt.Connect(); + wsClt.Send(authPkt); + } + + public void SendMessage(string userName,string messageData) + { + MessagePacket pkt=new MessagePacket(); + + pkt.Content = messageData; + pkt.UserStr=userName; + wsClt.Send(new ChatrWSMsg(pkt)); + } + public void SendNotification(string userName,string botNotId,string title,string body,NotificationEvent clicked,params NotificationButton[] links) + { + NotificationPacket pkt=new NotificationPacket(); + pkt.UserName=userName; + pkt.BotNotificationId = botNotId; + pkt.Title = title; + pkt.Body= body; + pkt.OnClick = clicked; + pkt.NotificationButtons=links.ToList(); + wsClt.Send(new ChatrWSMsg(pkt)); + } + public void Click(NotificationPacket pkt,string eventFired="") + { + NotificationEventFirePacket efp=new NotificationEventFirePacket(); + efp.BotUserString=pkt.BotUserString; + efp.BotNotificationId=pkt.BotNotificationId; + efp.SourceUserName = pkt.BotOwnerUserName; + efp.Button=eventFired; + wsClt.Send(new ChatrWSMsg(efp)); + } + + + + } +} diff --git a/ChatrNotificationBotTest/ChatrNotificationBotTest.csproj b/ChatrNotificationBotTest/ChatrNotificationBotTest.csproj new file mode 100644 index 0000000..c3434b5 --- /dev/null +++ b/ChatrNotificationBotTest/ChatrNotificationBotTest.csproj @@ -0,0 +1,14 @@ + + + + + + + + Exe + net6.0 + enable + enable + + + diff --git a/ChatrNotificationBotTest/Program.cs b/ChatrNotificationBotTest/Program.cs new file mode 100644 index 0000000..46a6b6d --- /dev/null +++ b/ChatrNotificationBotTest/Program.cs @@ -0,0 +1,33 @@ +using Chatr; + +ChatrClient clt=new ChatrClient(); +var bot=clt.AuthenticateBot("http://127.0.0.1:4031/","YOUR_API_KEY"); +bot.OnMessage += (sender,e)=>{ + + Console.WriteLine($"New Messsage: {e.Data.Content}"); +}; +await bot.StartCommunication(); + +bot.SendMessage("me","Demi Lovato Is Cool"); + +bot.SendNotification("mnolan1202","SOME_NOTIFICATION223","Hot Chicks?","Do You Want Demi Lovato?", + NotificationEvent.CreateBotCallback(), + NotificationButton.CreateButton("Download",NotificationEvent.CreateDownload("http://192.168.0.142:3252/api/Storage/Video/PzUKeGZiEl0")), + NotificationButton.CreateButton("Fire Bot",NotificationEvent.CreateBotCallback()) +); + +bot.OnNotificationEventFire += (sender,e)=>{ + + if(string.IsNullOrWhiteSpace(e.Data.Button)) + { + Console.WriteLine($"Notification: \"{e.Data.BotNotificationId}\" Clicked"); + }else{ + Console.WriteLine($"Notification: \"{e.Data.BotNotificationId}\" Action \"{e.Data.Button}\" Clicked"); + } + +}; + +while(true) +{ + +} \ No newline at end of file diff --git a/ChatrNotificationDaemon/ChatrNotificationDaemon.csproj b/ChatrNotificationDaemon/ChatrNotificationDaemon.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/ChatrNotificationDaemon/ChatrNotificationDaemon.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/ChatrNotificationDaemon/Program.cs b/ChatrNotificationDaemon/Program.cs new file mode 100644 index 0000000..83fa4f4 --- /dev/null +++ b/ChatrNotificationDaemon/Program.cs @@ -0,0 +1,2 @@ +// See https://aka.ms/new-console-template for more information +Console.WriteLine("Hello, World!"); diff --git a/ChatrServer/Api.txt.save b/ChatrServer/Api.txt.save new file mode 100644 index 0000000..7873135 --- /dev/null +++ b/ChatrServer/Api.txt.save @@ -0,0 +1,13 @@ +/api/sendmsg +{ + "ApiKey":"SomeApiKey", + "Title":"This Is A Notification", + "Body":"This is a body" + "To":{ + "Username":"username@example.com", + "AllDevices":false, + "Device":"MyMainPhone" + } +} +/api/messages/count +/api/messages/ diff --git a/ChatrServer/Chatr/Account.cs b/ChatrServer/Chatr/Account.cs new file mode 100644 index 0000000..004d56d --- /dev/null +++ b/ChatrServer/Chatr/Account.cs @@ -0,0 +1,167 @@ +using System.Globalization; +using System.Security.Cryptography; +using System.Text.RegularExpressions; +using System.Collections.Generic; +using System; +namespace Tesses.Chatr.Server +{ +public class Account +{ + public Account() + { + Name=""; + Username=""; + HashedPassword=""; + Salt=""; + Email=""; + ShowUserNameToAnyBody=false; + ShowBots=true; + HiddenBots=new List(); + HiddenUsers=new List(); + IsAnonymous=false; + IsAdmin=false; + } + + public bool IsHidden(long user,long bot) + { + if(bot != -1 && !ShowBots) return true; + + if(HiddenUsers.Contains(user)) return true; + + if(bot == -1) return false; + if(HiddenBots.Contains(bot)) return true; + + return false; + } + public bool IsAnonymous {get;set;} + public long Id {get;set;} + public string Name {get;set;} + public string Username {get;set;} + + public string Email {get;set;} + + public string HashedPassword {get;set;} + + public string Salt {get;set;} + + public bool Verified {get;set;} + + public bool ShowUserNameToAnyBody {get;set;} + + public bool ShowBots {get;set;} + + public List HiddenUsers {get;set;} + + public List HiddenBots {get;set;} + public bool IsAdmin { get; internal set; } + + public bool IsValid() + { + if(!IsValidEmail(Email)) return false; + if(!IsValidUserName(Username)) return false; + if(!IsValidName(Name)) return false; + + return true; + } + public static bool IsValidName(string name) + { + foreach(var c in name) + { + if(c == ' ') continue; + if(char.IsLetterOrDigit(c)) continue; + if(c=='_') continue; + + return false; + } + return true; + } + public static bool IsValidUserName(string username) + { + if(string.IsNullOrWhiteSpace(username)) return false; + if(username.Contains(" ")) return false; + + return IsValidName(username); + } + private static bool IsValidEmail(string email) + { + if (string.IsNullOrWhiteSpace(email)) + return false; + + try + { + // Normalize the domain + email = Regex.Replace(email, @"(@)(.+)$", DomainMapper, + RegexOptions.None, TimeSpan.FromMilliseconds(200)); + + // Examines the domain part of the email and normalizes it. + string DomainMapper(Match match) + { + // Use IdnMapping class to convert Unicode domain names. + var idn = new IdnMapping(); + + // Pull out and process domain name (throws ArgumentException on invalid) + string domainName = idn.GetAscii(match.Groups[2].Value); + + return match.Groups[1].Value + domainName; + } + } + catch (RegexMatchTimeoutException e) + { + _=e; + return false; + } + catch (ArgumentException e) + { + _=e; + return false; + } + + try + { + return Regex.IsMatch(email, + @"^[^@\s]+@[^@\s]+\.[^@\s]+$", + RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250)); + } + catch (RegexMatchTimeoutException) + { + return false; + } + } + + + + + + + public bool IsCorrectPassword(string password) + { + string pass = $"{password}{Salt}"; + + using(SHA256 mySHA256 = SHA256.Create()) + { + string check= Convert.ToBase64String(mySHA256.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass))); + return check.Equals(HashedPassword); + } + } + public void SetPassword(string password,bool resetSalt=true) + { + if(resetSalt) Salt=GetNewSalt(); + + string pass = $"{password}{Salt}"; + + using(SHA256 mySHA256 = SHA256.Create()) + { + string check= Convert.ToBase64String(mySHA256.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass))); + HashedPassword=check; + } + + + + } + public static string GetNewSalt() + { + return Session.GetNewId(); + + } +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/AppConfig.cs b/ChatrServer/Chatr/AppConfig.cs new file mode 100644 index 0000000..47d3dc6 --- /dev/null +++ b/ChatrServer/Chatr/AppConfig.cs @@ -0,0 +1,74 @@ +using Tesses.WebServer; + +namespace Tesses.Chatr.Server +{ +public class AppConfig +{ + internal AppConfig(ServerContext ctx,Arguments args) + { + + bool hasWSPort=false; + + string ws_port_str; + ushort ws_port; + if(ctx.RequestHeaders.TryGetFirst("WS-Port",out ws_port_str)) + { + if(ushort.TryParse(ws_port_str,out ws_port)) + { + hasWSPort=true; + WSPort=ws_port; + } + } + if(!hasWSPort) + { + if(args.TryGetValueNotNull("ws-port",out ws_port_str)) + { + if(ushort.TryParse(ws_port_str,out ws_port)) + { + hasWSPort=true; + WSPort=ws_port; + } + }else{ + WSPort=4030; + } + } + + hasWSPort=false; //reusing bool to save ram + if(ctx.RequestHeaders.TryGetFirst("WS-Secure",out ws_port_str)) //reusing string to save ram + { + if(ws_port_str=="true") { + hasWSPort=true; + WSS=true; + } + } + if(!hasWSPort) + { + if(args.TryGetValue("ws-secure",out ws_port_str)) + { + if(string.IsNullOrWhiteSpace(ws_port_str)) + { + WSS=true; + }else{ + WSS = ws_port_str=="true"; + } + }else{ + WSS=false; + } + + + } + + if(ctx.QueryParams.TryGetFirst("Chatr-Session",out ws_port_str)) + { + + SessionId=ws_port_str; + } + } + public string SessionId {get;set;} + public ushort WSPort {get;set;} + public bool WSS {get;set;} + public bool WS_SAME_AS_HTTP {get{return WebSocketSameAsHttp;}set {WebSocketSameAsHttp=value;}} + + public static bool WebSocketSameAsHttp {get;set;} +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/Arguments.cs b/ChatrServer/Chatr/Arguments.cs new file mode 100644 index 0000000..06ca9e0 --- /dev/null +++ b/ChatrServer/Chatr/Arguments.cs @@ -0,0 +1,61 @@ +using System.Collections.Generic; +using System; +namespace Tesses.Chatr.Server +{ +public class Arguments +{ + public Arguments(string[] args) + { + //--key={value} + + foreach(var arg in args) + { + string[] argument=arg.Split(new char[]{'='},2,StringSplitOptions.RemoveEmptyEntries); + + if(argument.Length >= 1) + { + string key=argument[0]; + string value=null; + if(argument.Length ==2) value=argument[1]; + + + } + } + } + + private Dictionary _args=new Dictionary(); + public IReadOnlyDictionary ArgumentList {get{return _args;}} + + public static implicit operator Dictionary(Arguments args) + { + Dictionary dict=new Dictionary(); + foreach(var di in args.ArgumentList) + { + dict.Add(di.Key,di.Value); + } + return dict; + } + + public bool ContainsKey(string key) + { + return ArgumentList.ContainsKey(key); + } + public bool TryGetValue(string key,out string value) + { + + return ArgumentList.TryGetValue(key,out value); + } + public bool TryGetValueNotNull(string key,out string value) + { + string value0; + if(TryGetValue(key,out value0)) + { + if(!string.IsNullOrWhiteSpace(value0)) {value=value0; return true;} + } + value=""; + return false; + } + + +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/AuthenticationResult.cs b/ChatrServer/Chatr/AuthenticationResult.cs new file mode 100644 index 0000000..eccad83 --- /dev/null +++ b/ChatrServer/Chatr/AuthenticationResult.cs @@ -0,0 +1,44 @@ +namespace Tesses.Chatr.Server +{ +public class AuthenticationResult +{ + public AuthenticationResult(string error) + { + Success=UserManagement.AllowLoginAsAnnonymous; + Account = UserManagement.GetAnonymous(); + + Session=new Session() {RememberMe=true,SessionId=""}; + NotAnonymous=false; + } + public AuthenticationResult(Account account,Session session) + { + Success=true; + Account =account; + Session=session; + NotAnonymous=true; + } + public bool NotAnonymous {get;set;} + public bool Success {get;set;} + public string Error {get;set;} + + public Account Account {get;set;} + public Session Session {get;set;} +} +public class AuthenticationBotResult +{ + public AuthenticationBotResult(Bot bot) + { + Bot=bot; + Success=true; + } + public AuthenticationBotResult(string error) + { + Success=false; + Error=error; + } + public bool Success {get;set;} + public string Error {get;set;} + + public Bot Bot {get;set;} +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/Bot.cs b/ChatrServer/Chatr/Bot.cs new file mode 100644 index 0000000..1cdb2ad --- /dev/null +++ b/ChatrServer/Chatr/Bot.cs @@ -0,0 +1,26 @@ +namespace Tesses.Chatr.Server +{ +public class Bot +{ + public Bot() + { + BotUserName=""; + ApiKey=""; + BotName=""; + BotDescription=""; + Permissions=new Permissions(); + } + public long Id {get;set;} + + public long UserId {get;set;} + + public string BotUserName {get;set;} + public string BotName {get;set;} + public string ApiKey {get;set;} + + + public string BotDescription {get;set;} + + public Permissions Permissions {get;set;} +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/Chatr.csproj b/ChatrServer/Chatr/Chatr.csproj new file mode 100644 index 0000000..7e44e3c --- /dev/null +++ b/ChatrServer/Chatr/Chatr.csproj @@ -0,0 +1,20 @@ + + + + + netstandard2.0 + + + + + + + + + + + + + + + diff --git a/ChatrServer/Chatr/LoginResult.cs b/ChatrServer/Chatr/LoginResult.cs new file mode 100644 index 0000000..ca4ce0b --- /dev/null +++ b/ChatrServer/Chatr/LoginResult.cs @@ -0,0 +1,16 @@ +using System; +namespace Tesses.Chatr.Server +{ +public class LoginResult +{ + public const string SessionCookieName="Chatr-Session"; + + public string SessionId {get;set;} + + public DateTime Expires {get;set;} + + public Account Account {get;set;} + + public bool Success {get;set;} +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/Message.cs b/ChatrServer/Chatr/Message.cs new file mode 100644 index 0000000..7e954c3 --- /dev/null +++ b/ChatrServer/Chatr/Message.cs @@ -0,0 +1,65 @@ +using Newtonsoft.Json; +using Chatr; +using System; +using System.Collections.Generic; +namespace Tesses.Chatr.Server +{ +public class Message +{ + public Message() + { + CreationTime=new DateTime(1970,1,1); + Content=""; + IsFromBot=false; + IsToBot=false; + } + + public DateTime CreationTime {get;set;} + public long Id {get;set;} + public long SourceUserId {get;set;} + + public bool IsFromBot {get;set;} + + public long SourceBotId {get;set;} + + public bool IsToBot {get;set;} + + public long DestinationBotId {get;set;} + public long DestinationUserId {get;set;} + + public string Content {get;set;} +} + +public class Notification +{ + public Notification() + { + Title=""; + Body=""; + OnClick=new NotificationEvent(); + NotificationButtons=new List(); + + BotNotificationId=""; + } + public string BotNotificationId {get;set;} + public long Id {get;set;} + + + public string Title {get;set;} + + public string Body {get;set;} + + public long DestinationUserId {get;set;} + + public long SourceUserId {get;set;} + + public long SourceBotId {get;set;} + + public string BotUserString {get;set;} + //no dest bot id + public NotificationEvent OnClick {get;set;} + + public List NotificationButtons {get;set;} +} + +} \ No newline at end of file diff --git a/ChatrServer/Chatr/Permissions.cs b/ChatrServer/Chatr/Permissions.cs new file mode 100644 index 0000000..fe161db --- /dev/null +++ b/ChatrServer/Chatr/Permissions.cs @@ -0,0 +1,49 @@ +using Tesses.WebServer; +namespace Tesses.Chatr.Server +{ +public class Permissions +{ + /// + /// Can the bot send messages to other users + /// + public bool CanSendMessagesToOtherPeople {get;set;} + /// + /// Can other bots receive messages from this bot + /// + public bool OthersCanReceiveMessages {get;set;} + + /// + /// Can this bot send notifications + /// + public bool CanSendNotifications {get;set;} + /// + ///Bot Can pull data from share target + /// + public bool CanGetFromShareTarget {get;set;} + /// + ///Bot Can Receive Messages + /// + + public bool CanGetMessages { get; set; } + + public void SetPermissionsFromForm(ServerContext ctx) + { + CanSendMessagesToOtherPeople=GetPermissionValue(ctx,"other_people"); + OthersCanReceiveMessages=GetPermissionValue(ctx,"bot2bot"); + CanSendNotifications=GetPermissionValue(ctx,"notification"); + CanGetFromShareTarget=GetPermissionValue(ctx,"share_target"); + CanGetMessages=GetPermissionValue(ctx,"recv_msg"); + + } + private bool GetPermissionValue(ServerContext ctx,string key) + { + string res; + if(ctx.QueryParams.TryGetFirst(key,out res)) + { + return res=="on"; + } + return false; + } + +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/Program.cs b/ChatrServer/Chatr/Program.cs new file mode 100644 index 0000000..de61574 --- /dev/null +++ b/ChatrServer/Chatr/Program.cs @@ -0,0 +1,977 @@ +using System; +using System.IO; +using System.Diagnostics; +using System.Net; +using Newtonsoft.Json; +using Scriban; +using Tesses.WebServer; +using WebSocketSharp.Server; +using Chatr; +using System.Collections.Generic; +using System.Linq; +using Tesses.Chatr.Server; +using System.Threading; +using System.Threading.Tasks; +using System.Text; + +public class ChatrApp +{ +public static async Task Init(Arguments arguments,Func getPath,IPEndPoint http,WebSocketServer wssv,Action wsInit=null) +{ + + +using(var token = new CancellationTokenSource()){ + Console.CancelKeyPress +=(sender,e)=>{token.Cancel();}; + + +var template_index = Template.Parse(File.ReadAllText(getPath("index.html"))); +var template_user = Template.Parse(File.ReadAllText(getPath("user/index.html"))); +var template_qr = Template.Parse(File.ReadAllText(getPath("device-qr/index.html"))); +RouteServer svr=new RouteServer(); +/*svr.Add("/dem",async(e)=>{ + var data= QRCoder.PngByteQRCodeHelper.GetQRCode("Demi Lovato",QRCoder.QRCodeGenerator.ECCLevel.Q,640); + await e.SendBytesAsync(data,"image/png"); +});*/ +svr.Add("/onetimeauth",async(e)=>{ + string key; + if(e.QueryParams.TryGetFirst("key",out key)) + { + + await e.SendTextAsync($"Login
"); + + } +}); +svr.Add("/share",async(e)=>{ + e.ParseBody(); + StringBuilder b=new StringBuilder(); + foreach(var queryParm in e.QueryParams) + { + foreach(var value in queryParm.Value) + { + b.AppendLine($"{queryParm.Key}: {value}"); + } + } + await e.SendTextAsync(b.ToString(),"text/plain"); + +},"POST"); +svr.Add("/onetimeauth",async(e)=>{ + e.ParseBody(); + string key; + if(e.QueryParams.TryGetFirst("key",out key)) + { + string session; + if(UserManagement.GetAuthCode(key,out session)) + { + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={session}; Path=/"); + + } + await e.SendRedirectAsync("/"); + } + +},"POST"); +svr.Add("/api/appconfig.json",async(e)=>{ + AppConfig config = new AppConfig(e,arguments); + + await e.SendJsonAsync(config); + +}); +svr.Add("/api/email",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + await e.SendTextAsync(res.Account.Email,"text/plain"); + return; + } + } + } + }catch(Exception ex) + { + _=ex; + } + await e.SendTextAsync("[NO ACCOUNT]","text/plain"); +}); +svr.Add("/api/name",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + await e.SendTextAsync(res.Account.Name,"text/plain"); + return; + } + } + } + }catch(Exception ex) + { + _=ex; + } + await e.SendTextAsync("[NO ACCOUNT]","text/plain"); +}); +svr.Add("/api/login2",async(e)=>{ + + + + e.ParseBody(); + string username; + string password; + + + if(e.QueryParams.TryGetFirst("username",out username)) + { + if(e.QueryParams.TryGetFirst("password",out password)) + { + var res=UserManagement.Login(username,password,true); + if(res.Success) + { + //Set-Cookie + //if(rememberMe) + //{ + await e.SendTextAsync(res.SessionId,"text/plain"); + Console.WriteLine("HI"); + + //}else{ + // e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={res.SessionId}; Path=/"); + //} + //await e.SendRedirectAsync("/"); + }else{ + e.StatusCode=401; + await e.SendTextAsync("Unauthorized"); + //await e.SendRedirectAsync("/err/incorrect-password.html"); + + //do what you do when You Have Wrong password + } + } + + } + +},"POST"); +svr.Add("/api/botmsg",async(e)=>{ + e.ParseBody(); + //enforce bot permissions + e.StatusCode=400; + string msg_to; + if(!e.QueryParams.TryGetFirst("message_to",out msg_to)) msg_to="me"; + + string apiKey; + if(!e.QueryParams.TryGetFirst("ApiKey",out apiKey)) return; + + string body; + if(!e.QueryParams.TryGetFirst("body",out body)) body="[No Body]"; + + string destbot; + if(!e.QueryParams.TryGetFirst("destbot",out destbot)) destbot=""; + + bool destIsBot=!string.IsNullOrWhiteSpace(destbot); + bool isToMe = msg_to == "me"; + + var key=UserManagement.AuthenticateApiKey(apiKey); + Func getIsNotMe=(b,msg_to_who)=>{ + if(msg_to_who == "me") return false; + + if(DataBase.Accounts ==null) return true; + + var res=DataBase.Accounts.FindById(UserManagement.GetUserId(msg_to_who)); + if(res == null) return true; + return res.Id != b.UserId; + }; + if(key.Success && key.Bot != null) + { + if(!isToMe && getIsNotMe(key.Bot,msg_to) && key.Bot.Permissions.CanSendMessagesToOtherPeople) { await e.SendTextAsync("Access Denied: Can't Send To Another Person"); return;} + if(destIsBot && !key.Bot.Permissions.OthersCanReceiveMessages ) {await e.SendTextAsync("Access Denied: Can't send message to another bot"); return;} + + Message msg=new Message(); + msg.IsFromBot=true; + msg.IsToBot = destIsBot; + msg.SourceBotId = key.Bot.Id; + msg.SourceUserId = key.Bot.UserId; + msg.DestinationUserId = isToMe ? key.Bot.UserId : UserManagement.GetUserId(msg_to); + if(msg.DestinationUserId == -1) + { + await e.SendTextAsync("Unknown destination user"); + return; + } + if(msg.IsToBot) + { + var res=UserManagement.GetBotId(msg.DestinationUserId,destbot); + if(res == -1) + { + await e.SendTextAsync("Unknown destination bot"); + return; + } + msg.DestinationBotId=res; + } + msg.Content = body; + UserManagement.SendMessage(msg); + + e.StatusCode=200; + await e.SendTextAsync("Success"); + return; + } + await e.SendTextAsync("No Source Bot"); +},"POST"); +svr.Add("/api/msg",async(e)=>{ + e.ParseBody(); + string msg_to; + bool msg_to_me=true; + + string redirect_to; + string body; + if(!e.QueryParams.TryGetFirst("body",out body)) body="[No Body]"; + if(!e.QueryParams.TryGetFirst("redirect_to",out redirect_to)) redirect_to="/"; + long dest_id=-1; + if(e.QueryParams.TryGetFirst("message_to",out msg_to)){ + + if(!string.IsNullOrWhiteSpace(msg_to)) + { + dest_id=UserManagement.GetUserId(msg_to); + if(dest_id>-1) + { + msg_to_me=false; + } + } + } + + + //long dest_id = + /* + + +
+ + + +
*/ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + + + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + //from user + Message msg=new Message(); + msg.IsFromBot=false; + msg.IsToBot=false; + msg.SourceUserId = res.Account.Id; + + if(msg_to_me) msg.DestinationUserId=msg.SourceUserId; else msg.DestinationUserId=dest_id; + msg.Content=body; + UserManagement.SendMessage(msg); + + await e.SendRedirectAsync(redirect_to);return; + } + + } + } + + if(!msg_to_me) + { + var account =UserManagement.GetAnonymous(); + if(account != null && account.IsCorrectPassword("4209enabled")){ + Message msg=new Message(); + msg.IsFromBot=false; + msg.IsToBot=false; + msg.SourceUserId = account.Id; // + if(msg_to_me) msg.DestinationUserId=msg.SourceUserId; else msg.DestinationUserId=dest_id; + msg.Content=body; + UserManagement.SendMessage(msg); + } + + } + await e.SendRedirectAsync(redirect_to);return; +},"POST"); //send msg from page +svr.Add("/api/logout",async(e)=>{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null && res.Session != null) + { + string session_id=cookie[1]; + UserManagement.Logout(session_id); + DateTime past=new DateTime(2018,7,24,14,55,00); //some bloke Overdoses on this date + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={session_id}; Path=/; Expires={past.ToString("R")}"); + } + } + await e.SendRedirectAsync("/"); + } + await e.SendRedirectAsync("/"); +}); +svr.Add("/apikey",async(e)=>{ + //await e.SendRedirectAsync($"/apikey?name={bot.BotUserName}"); + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + string username; + if(e.QueryParams.TryGetFirst("name",out username)){ + Bot bot; + if(DataBase.Bots !=null && (bot=DataBase.Bots.FindOne(ee=>ee.UserId==res.Account.Id && ee.BotUserName==username))!=null) + { + string key= File.ReadAllText(getPath("apikey/index.html")).Replace("{API_KEY}",bot.ApiKey); + await e.SendTextAsync(key); + return; + } + } + } + } + } + await e.SendTextAsync("Unauthorized user or no bot with specified username"); +}); +svr.Add("/user",async(e)=>{ + + if(DataBase.Accounts ==null) { + await e.SendTextAsync("DataBase error: Accounts is null"); + return; + } + Account account=null; + string username; + if(e.QueryParams.TryGetFirst("name",out username)) + { + + account=DataBase.Accounts.FindOne(ee=>ee.Username==username); + + } + + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + string accountName=res.Account.Name; + string accountUserName=res.Account.Username; + long accountUserId =res.Account.Id; + if(account == null) + { + account = res.Account; + } + object logged_in=new{ + Name=WebUtility.HtmlEncode(accountName), + Url=$"./user?name={WebUtility.UrlEncode(accountUserName)}", + Notloggedin=false, + Loggedin=true, + Uname=account.Username, + Loggedinme=account.Id == res.Account.Id, + Loggedinnotme=account.Id != res.Account.Id, + Othername=WebUtility.HtmlEncode(account.Name), + Opt=UserManagement.GetUserOptions(account) + }; + + await e.SendTextAsync(template_user.Render(logged_in)); + return; + } + } + } + if(account == null) { + + await e.SendTextAsync("No Account"); + return; + } + + await e.SendTextAsync(template_user.Render(new{ + Url="./login", + Name="Login", + Loggedinnotme=false, + Loggedinme=false, + Loggedin=false, + Notloggedin=true, + Uname=account.Username, + Othername=WebUtility.HtmlEncode(account.Name) + })); + + + //await e.SendFileAsync(getPath("user/index.html")); +}); +svr.Add("/api/create-bot",async(e)=>{ + string cookie_txt; + e.ParseBody(); + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + string botname; + string botuser; + string botdesc; + + if(e.QueryParams.TryGetFirst("botname",out botname)) + { + if(e.QueryParams.TryGetFirst("botuser",out botuser)) + { + if(e.QueryParams.TryGetFirst("botdesc",out botdesc)) + { + if(DataBase.Bots != null && Account.IsValidName(botname) && Account.IsValidUserName(botuser) && Account.IsValidName(botdesc)){ + var bot= DataBase.Bots.FindOne(ee=>ee.BotUserName == botuser && res.Account.Id == ee.UserId); + if(bot == null) + { + Bot b=new Bot(); + b.UserId= res.Account.Id; + b.BotUserName=botuser; + b.BotDescription=botdesc; + b.BotName = botname; + b.ApiKey = Account.GetNewSalt(); + b.Permissions.SetPermissionsFromForm(e); + DataBase.Bots.Insert(b); + await e.SendRedirectAsync($"/apikey?name={b.BotUserName}"); + return; + }else{ + bot.Permissions.SetPermissionsFromForm(e); + DataBase.Bots.Update(bot); + await e.SendRedirectAsync($"/apikey?name={bot.BotUserName}"); + return; + } + + } + } + } + } + } + } + } +},"POST"); + +svr.Add("/create-bot-permissions",async(e)=>{ + string cookie_txt; + e.ParseBody(); + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + //get botname botuser botdesc + string botname; + string botuser; + string botdesc; + if(e.QueryParams.TryGetFirst("botname",out botname)) + { + if(e.QueryParams.TryGetFirst("botuser",out botuser)) + { + if(e.QueryParams.TryGetFirst("botdesc",out botdesc)) + { + if(DataBase.Bots != null){ + var bot= DataBase.Bots.FindOne(ee=>ee.BotUserName == botuser && res.Account.Id == ee.UserId); + + if(bot == null && Account.IsValidName(botname) && Account.IsValidUserName(botuser) && Account.IsValidName(botdesc)) + { + string page0=File.ReadAllText(getPath("create-bot-permissions/index.html")).Replace("{BOT_DESC}",botdesc).Replace("{BOT_USER}",botuser).Replace("{BOT_NAME}",botname); + await e.SendTextAsync(page0); + return; + } + } + + } + } + } + } + } + } + await e.SendTextAsync("Either your not logged in or post error"); +},"POST"); +svr.Add("/create-bot",async(e)=>{ + await e.SendFileAsync(getPath("create-bot/index.html")); + +}); +svr.Add("/api/user-setting",async(e)=>{ + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + await e.SendJsonAsync(UserManagement.GetUserOptions(res.Account)); + } + } + } + +}); +svr.Add("/api/user-setting",async(e)=>{ + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + var opt=UserManagement.GetUserOptions(res.Account); + UserManagement.SetUserOptions(opt,e); + await e.SendRedirectAsync($"/user?name={res.Account.Username}"); + } + } + } +},"POST"); + + + +svr.Add("/",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + var mymsg=new List(); + foreach(var msg in UserManagement.GetMessages(res.Account,null,null)) + { + var msg0=new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Mine=true; + mymsg.Add(msg0); + } + var users = new List(); + + foreach(var bot in UserManagement.GetMyBots(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = $"me-{bot.BotUserName}"; + usr.Text = WebUtility.HtmlEncode($"{bot.BotName} (My Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,null,bot.BotUserName)) + { + var msg0 =new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Mine = msg.IsToBot; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + usr.Messages.Add(msg0); + } + users.Add(usr); + } + foreach(var otherUser in UserManagement.GetUserWithMe(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = otherUser.Username; + + usr.Text = WebUtility.HtmlEncode(otherUser.Name); + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username)) + { + var msg0=new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + usr.Messages.Add(msg0); + + } + users.Add(usr); + foreach(var bot in UserManagement.GetBotsWithMe(res.Account,otherUser)) + { + var usr0 = new UserAccount(); + usr0.Hash = $"{otherUser.Username}-{bot.BotUserName}"; + usr0.Text = WebUtility.HtmlDecode($"{bot.BotName} ({otherUser.Name}'s Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username,bot.BotUserName)) + { + var msg0=new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + usr0.Messages.Add(msg0); + } + users.Add(usr0); + } + } + + + string accountName=res.Account.Name; + string accountUserName =res.Account.Username; + object logged_in=new{ + Name=WebUtility.HtmlEncode(accountName), + Url=$"./user?name={accountUserName}", + Loggedin=true, + Mymessages=mymsg, + Users=users + }; + await e.SendTextAsync(template_index.Render(logged_in)); + return; + } + } + + } + }catch (Exception ex){ + Console.WriteLine(ex); + } + + await e.SendTextAsync(template_index.Render(new{ + Url="./login", + Name="Login", + Loggedin=false + })); +}); +svr.Add("/api/new-ota.txt",async(e)=>{ + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + DateTime expire=DateTime.Now.AddYears(1); + if(e.QueryParams.TryGetFirst("expires",out cookie_txt)) + { + long exp; + if(long.TryParse(cookie_txt,out exp)) + { + expire=DateTimeOffset.FromUnixTimeSeconds(exp).DateTime; + } + } + + string session=UserManagement.CreateAnotherSession(cookie[1],expire); + if(!string.IsNullOrWhiteSpace(session)) + + { + + await e.SendTextAsync(UserManagement.CreateOTA(session),"text/plain");return; + } + // + } + } + } + e.StatusCode=401; + await e.WriteHeadersAsync(); + +}); +svr.Add("/device-qr",async(e)=>{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + string accountName=res.Account.Name; + string accountUserName =res.Account.Username; + //string? session=UserManagement.CreateAnotherSession(cookie[1],DateTime.Now.AddYears(1)); + /* + Console.WriteLine($"{e.Host}#{session}"); + */ + + object logged_in=new{ + Name=WebUtility.HtmlEncode(accountName), + Url=$"./user?name={WebUtility.UrlEncode(accountUserName)}", + Loggedin=true, + }; + await e.SendTextAsync(template_qr.Render(logged_in)); + return; + } + } + } + + + await e.SendTextAsync(template_qr.Render(new{ + Url="./login", + Name="Login", + Loggedin=false + })); +}); +svr.Add("/api/state.json",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + var mymsg=new List(); + foreach(var msg in UserManagement.GetMessages(res.Account,null,null)) + { + var msg0=new MyMessage(); + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Mine=true; + msg0.Time=msg.CreationTime.ToString("R"); + mymsg.Add(msg0); + } + var users = new List(); + + foreach(var bot in UserManagement.GetMyBots(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = $"me-{bot.BotUserName}"; + usr.Text = WebUtility.HtmlEncode($"{bot.BotName} (My Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,null,bot.BotUserName)) + { + var msg0 =new MyMessage(); + msg0.Mine = msg.IsToBot; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Time=msg.CreationTime.ToString("R"); + + usr.Messages.Add(msg0); + } + users.Add(usr); + } + foreach(var otherUser in UserManagement.GetUserWithMe(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = otherUser.Username; + + usr.Text = WebUtility.HtmlEncode(otherUser.Name); + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username)) + { + var msg0=new MyMessage(); + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Time=msg.CreationTime.ToString("R"); + + usr.Messages.Add(msg0); + + } + users.Add(usr); + foreach(var bot in UserManagement.GetBotsWithMe(res.Account,otherUser)) + { + var usr0 = new UserAccount(); + usr0.Hash = $"{otherUser.Username}-{bot.BotUserName}"; + usr0.Text = WebUtility.HtmlDecode($"{bot.BotName} ({otherUser.Name}'s Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username,bot.BotUserName)) + { + var msg0=new MyMessage(); + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Time=msg.CreationTime.ToString("R"); + + usr0.Messages.Add(msg0); + } + users.Add(usr0); + } + } + + + string accountName=res.Account.Name; + string accountUserName =res.Account.Username; + object logged_in=new{ + Email=res.Account.Email, + Name=accountName, + Url=$"/user?name={accountUserName}", + Loggedin=true, + Mymessages=mymsg, + Users=users + }; + Console.WriteLine("Alternate HI"); + await e.SendJsonAsync(logged_in); + Console.WriteLine("SENT"); + return; + + } + } + + } + }catch (Exception ex){ + _=ex; + } + await e.SendJsonAsync(new{ + Loggedin=false + }); + +},"GET"); + svr.Add($"/login",async(e)=>{ + await e.SendFileAsync(getPath("login/index.html")); +}); + svr.Add($"/signup",async(e)=>{ + await e.SendFileAsync(getPath("signup/index.html")); +}); +Action set_url=(e2)=>{ + svr.Add($"/{e2}",async(e)=>{ + await e.SendFileAsync(getPath(e2)); +}); +}; +foreach(var f in File.ReadAllLines(getPath("files.txt"))) +{ + set_url(f); +} + +svr.Add("/api/login",async(e)=>{ + + + e.ParseBody(); + string username; + string password; + string rememberMeStr; + bool rememberMe; + + if(e.QueryParams.TryGetFirst("username",out username)) + { + if(e.QueryParams.TryGetFirst("password",out password)) + { + rememberMe=(e.QueryParams.TryGetFirst("remember",out rememberMeStr) && rememberMeStr == "on"); + var res=UserManagement.Login(username,password,rememberMe); + if(res.Success) + { + //Set-Cookie + if(rememberMe) + { + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={res.SessionId}; Path=/; Expires={res.Expires.ToString("R")}"); + + }else{ + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={res.SessionId}; Path=/"); + } + await e.SendRedirectAsync("/"); + }else{ + await e.SendRedirectAsync("/err/incorrect-password.html"); + + //do what you do when You Have Wrong password + } + } + + } + +},"POST"); +svr.Add("/api/signup",async(e)=>{ + + e.ParseBody(); + string email; + string name; + string username; + string password; + string confirm; + if(e.QueryParams.TryGetFirst("email",out email)) + { + if(e.QueryParams.TryGetFirst("name",out name)) + { + if(e.QueryParams.TryGetFirst("uname",out username)) + { + if(e.QueryParams.TryGetFirst("password",out password)) + { + if(e.QueryParams.TryGetFirst("password2",out confirm)) + { + if(!string.IsNullOrWhiteSpace(name) && !string.IsNullOrWhiteSpace(username) && !string.IsNullOrWhiteSpace(password) && !string.IsNullOrWhiteSpace(confirm)) + { + RegistrationResult result=UserManagement.RegisterAccount(name,username,email,password); + + if(result.Success) + { + await e.SendRedirectAsync("/"); + return; + }else{ + object o=new{ + success=false, + error=result.Error + }; + e.StatusCode=400; + await e.SendJsonAsync(o); + return; + } + + } + + + } + } + + + } + } + } + e.StatusCode=400; + object op=new{ + success=false, + error="Information not filled out" + }; + await e.SendJsonAsync(op); +},"POST"); + +MountableServer _mountable=new MountableServer(svr); + + + +HttpServerListener listener=new HttpServerListener(http,_mountable); + +Timer t=new Timer((e)=>{ + try{ + DateTime d=DateTime.Now; + List items=new List(); + if(DataBase.Sessions != null){ + + foreach(var s in DataBase.Sessions.FindAll()) + { + if(s.Expires < d) + { + items.Add(s.Id); + } + } + foreach(var item in items){ + DataBase.Sessions.Delete(item); + } + } + }catch(Exception ex) + { + _=ex; + } +},null,0,600000); + + + +wssv.AddWebSocketService("/chatr-ws"); +wssv.Start(); +if(wsInit != null) +{ + wsInit(); +} + +await listener.ListenAsync(token.Token); +wssv.Stop(); + +} +} + +} diff --git a/ChatrServer/Chatr/RegistrationResult.cs b/ChatrServer/Chatr/RegistrationResult.cs new file mode 100644 index 0000000..be0397e --- /dev/null +++ b/ChatrServer/Chatr/RegistrationResult.cs @@ -0,0 +1,20 @@ +namespace Tesses.Chatr.Server +{ +public class RegistrationResult +{ + public RegistrationResult(Account account) + { + Account = account; + Success=true; + } + public RegistrationResult(string error) + { + Error=error; + Success=false; + } + public Account Account {get;set;} + public string Error {get;set;} + + public bool Success {get;set;} +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/Session.cs b/ChatrServer/Chatr/Session.cs new file mode 100644 index 0000000..d0a2d89 --- /dev/null +++ b/ChatrServer/Chatr/Session.cs @@ -0,0 +1,42 @@ +using System.Security.Cryptography; +using System; +namespace Tesses.Chatr.Server +{ +public class Session +{ + + public Session() + { + SessionId=""; + } + + + public static string GetNewId() + { + byte[] data= new byte[32]; + RandomNumberGenerator.Create().GetBytes(data); + return Convert.ToBase64String(data) ; + + } + + public string PrettyName {get;set;} + + public DateTime Created {get;set;} + public long Id {get;set;} + + public string SessionId {get;set;} + + public long UserId {get;set;} + + public bool RememberMe {get;set;} + public DateTime Expires {get;set;} + public string GetPrettyName() + { + if(string.IsNullOrWhiteSpace(PrettyName)) + { + return $"Device {Created.ToShortTimeString()} on {Created.ToShortDateString()}"; + } + return PrettyName; + } +} +} \ No newline at end of file diff --git a/ChatrServer/Chatr/UserManagement.cs b/ChatrServer/Chatr/UserManagement.cs new file mode 100644 index 0000000..dd3d85f --- /dev/null +++ b/ChatrServer/Chatr/UserManagement.cs @@ -0,0 +1,1231 @@ + +using LiteDB; +using Newtonsoft.Json; +using WebSocketSharp; +using WebSocketSharp.Server; +using Tesses.WebServer; +using Chatr; +using System.Collections.Generic; +using System; +using System.Linq; +using System.Net.Http; +namespace Tesses.Chatr.Server +{ + + +public static class DataBase +{ + private const string SessionCollectionName = "Sessions"; + private const string AccountCollectionName="Accounts"; + private const string MessageCollectionName="Messages"; + + private const string NotificationCollectionName="Notifications"; + private const string BotCollectionName = "Bots"; + + private static LiteDatabase _db; + public static void SetDb(string path) + { + _db=new LiteDatabase(path); + Accounts=_db.GetCollection(AccountCollectionName); + Sessions=_db.GetCollection(SessionCollectionName); + Messages=_db.GetCollection(MessageCollectionName); + Bots=_db.GetCollection(BotCollectionName); + Notifications=_db.GetCollection(NotificationCollectionName); + } + public static ILiteCollection Notifications {get;private set;} + public static ILiteCollection Accounts {get;private set;} + public static ILiteCollection Sessions {get;private set;} + public static ILiteCollection Messages {get;private set;} + //public static ILiteCollection? Messages {get;private set;} + public static ILiteCollection Bots {get;private set;} + + public static void Dispose() + { + _db?.Dispose(); + } + +} + +public class WSConnection : WebSocketBehavior +{ + private Account account; + private Bot bot; + + protected override void OnClose(CloseEventArgs e) + { + if(bot != null) + { + UserManagement.Bots[bot.Id].Remove(this); + } + if(account != null) + { + UserManagement.Humans[account.Id].Remove(this); + } + } + private void Send(ChatrWSMsg msg) + { + if(this.ConnectionState == WebSocketState.Open) + { + try{ + Send(JsonConvert.SerializeObject(msg)); + }catch(Exception ex) + { + _=ex; + } + } + } + protected override void OnMessage(MessageEventArgs e) + { + if(e.IsText) + { + + var chattrMsg=JsonConvert.DeserializeObject(e.Data); + if(chattrMsg!=null){ + IPacketData packet; + if(chattrMsg.IsType(PacketType.ClearAll,out packet)) + { + if(account != null && bot == null) + { + var clrAll=(ClearAllPacket)packet; + string[] p=clrAll.UserStr.Split(new char[]{'-'},2,StringSplitOptions.RemoveEmptyEntries); + if(p.Length < 1) return; + + string human_name = p[0]== "me" ? account.Username : p[0]; + if(p.Length ==1) + { + //its human + foreach(var msg in UserManagement.GetMessages(account,human_name).ToList()) + { + DataBase.Messages.Delete(msg.Id); + } + + + if(p[0] != "me") + { + //we send clear all message to other person + ClearAllPacket pkt=new ClearAllPacket(); + pkt.UserStr=account.Username; + UserManagement.SendClearAll(pkt); + } + + }else{ + + //its a bot + foreach(var msg in UserManagement.GetMessages(account,human_name,p[1]).ToList()) + { + DataBase.Messages.Delete(msg.Id); + } + + + } + } + } + if(chattrMsg.IsType(PacketType.NotificationEventFire,out packet)) + { + if(account != null && bot == null) + { + var noFire=(NotificationEventFirePacket)packet; + Console.WriteLine(JsonConvert.SerializeObject(noFire)); + noFire.DestinationUserName = account.Username; + UserManagement.HandleNotificationEventFirePacket(noFire); + + } + } + if(chattrMsg.IsType(PacketType.Notification,out packet)) + { + + if(bot == null || !bot.Permissions.CanSendNotifications || account != null) return; //users can't send notifications + + + var notification = (NotificationPacket)packet; + if(notification.UserName != "me" && !bot.Permissions.CanSendMessagesToOtherPeople) return; + if(DataBase.Accounts != null && DataBase.Notifications != null && notification != null && !string.IsNullOrWhiteSpace(notification.UserName)) + { + var bUser = DataBase.Accounts.FindById(bot.UserId); + if(bUser != null){ + long destId = notification.UserName == "me" ? bot.UserId : UserManagement.GetUserId(notification.UserName); + + var not= DataBase.Notifications.FindOne(ee=>ee.SourceBotId == bot.Id && ee.SourceUserId == bot.UserId && ee.BotNotificationId == notification.BotNotificationId); + if(not != null) + { + + if(!string.IsNullOrWhiteSpace(notification.Body)) + { + not.Body=notification.Body; + }else{ + not.Body=""; + } + not.NotificationButtons.Clear(); + foreach(var item in notification.NotificationButtons) + { + not.NotificationButtons.Add(item); + } + not.OnClick=notification.OnClick; + if(!string.IsNullOrWhiteSpace(notification.Title)) + { + not.Title=notification.Title; + + }else{ + not.Title = ""; + } + bool isMe = notification.UserName == "me"; + + string botowneruserName= isMe ? "me" : bUser.Username; + + string botusername = bot.BotUserName; + not.BotUserString = $"{botowneruserName}-{botusername}"; + DataBase.Notifications.Update(not); + + + } + else { + Console.WriteLine("NN"); + not=new Notification(); + if(!string.IsNullOrWhiteSpace(notification.Body)) + { + not.Body=notification.Body; + }else{ + not.Body=""; + } + not.NotificationButtons.Clear(); + foreach(var item in notification.NotificationButtons) + { + not.NotificationButtons.Add(item); + } + not.OnClick=notification.OnClick; + if(!string.IsNullOrWhiteSpace(notification.Title)) + { + not.Title=notification.Title; + + }else{ + not.Title = ""; + } + if(!string.IsNullOrWhiteSpace(notification.BotNotificationId)) + { + not.BotNotificationId=notification.BotNotificationId; + } else{ + not.BotNotificationId=""; + } + not.SourceBotId = bot.Id; + not.SourceUserId = bot.UserId; + not.DestinationUserId=destId; + bool isMe = notification.UserName == "me"; + + + string botowneruserName= isMe ? "me" : bUser.Username; + + string botusername = bot.BotUserName; + not.BotUserString = $"{botowneruserName}-{botusername}"; + var bson=DataBase.Notifications.Insert(not); + not.Id=bson.AsInt64; + notification.Id=bson.AsInt64; + + + } + + UserManagement.SendNotification(not); + } + } + } + if(chattrMsg.IsType(PacketType.AuthenticateUser,out packet)) + { + var authUser=(AuthenticationUserPacket)packet; + //authenticate this as a user + var res=UserManagement.Authenticate(authUser.SessionId); + if(res.Success && res.Account !=null) + { + UserManagement.Humans.Add(res.Account.Id,this); + account=res.Account; + }else{ + + } + + } + if(chattrMsg.IsType(PacketType.AuthenticateBot,out packet)) + { + var authUser=(AuthenticateBotPacket)packet; + //authenticate this as a user + var res=UserManagement.AuthenticateApiKey(authUser.ApiKey); + if(res.Success && res.Bot !=null) + { + UserManagement.Bots.Add(res.Bot.Id,this); + bot=res.Bot; + } + + } + if(chattrMsg.IsType(PacketType.Message,out packet)) + { + var msg = (MessagePacket)packet; + + if(!string.IsNullOrWhiteSpace(msg.UserStr)){ + var usrs=msg.UserStr.Split(new char[]{'-'},2); + if(usrs.Length >= 1) + { + string user = usrs[0]; + string bot=null; + if(usrs.Length == 2) + { + bot = usrs[1]; + } + Message msg0=new Message(); + if(msg0.CreationTime.Year == 1970) msg0.CreationTime=DateTime.Now; + if(!string.IsNullOrWhiteSpace(msg.Content)) + msg0.Content = msg.Content; + else + msg0.Content = "[No Body]"; + if(this.bot != null) + { + + msg0.IsFromBot=true; + msg0.SourceBotId = this.bot.Id; + msg0.SourceUserId = this.bot.UserId; + + if(!string.IsNullOrWhiteSpace(bot)) + { + msg0.IsToBot=true; + if(!this.bot.Permissions.OthersCanReceiveMessages) return; + if(user == "me") + { + msg0.DestinationUserId = msg0.SourceUserId; + msg0.DestinationBotId = UserManagement.GetBotId(msg0.SourceUserId,bot); + }else{ + msg0.DestinationUserId= UserManagement.GetUserId(user); + msg0.DestinationBotId= UserManagement.GetBotId(user,bot); + } + UserManagement.SendMessage(msg0); + }else{ + msg0.IsToBot=false; + + if(user == "me") + { + + msg0.DestinationUserId=msg0.SourceUserId; + }else{ + + if(!this.bot.Permissions.CanSendMessagesToOtherPeople) return; + msg0.DestinationUserId= UserManagement.GetUserId(user); + } + UserManagement.SendMessage(msg0); + } + } + if(this.account != null) + { + + msg0.IsFromBot=false; + msg0.SourceUserId = this.account.Id; + + if(!string.IsNullOrWhiteSpace(bot)) + { + + msg0.IsToBot=true; + + if(user == "me") + { + msg0.DestinationUserId = msg0.SourceUserId; + msg0.DestinationBotId= UserManagement.GetBotId(msg0.DestinationUserId,bot); + + }else{ + + msg0.DestinationUserId= UserManagement.GetUserId(user); + msg0.DestinationBotId= UserManagement.GetBotId(user,bot); + + } + Bot bt; + if(DataBase.Bots != null && (bt=DataBase.Bots.FindById(msg0.DestinationBotId)) != null) + { + if(!bt.Permissions.CanGetMessages) + { + return; + } + } + + UserManagement.SendMessage(msg0); + }else{ + msg0.IsToBot=false; + if(user == "me") + { + msg0.DestinationUserId=msg0.SourceUserId; + }else{ + msg0.DestinationUserId= UserManagement.GetUserId(user); + } + UserManagement.SendMessage(msg0); + } + } + } + } + } + } + } + } + public void Push(ClearAllPacket pkt) + { + Send(new ChatrWSMsg(pkt)); + } + public void Push(Message msg) + { + var userStr = UserManagement.GetHashTextFromMessage(msg,true); + var nameStr = UserManagement.GetNameTextFromMessage(msg,true); + var msgData = msg.Content; + var creationTime = msg.CreationTime.ToString("R"); + ChatrWSMsg packet=new ChatrWSMsg(); + + var mpd=new MessagePacket(); + + mpd.Content=msgData; + mpd.CreationTime=creationTime; + mpd.UserStr=userStr; + mpd.Name=nameStr; + + //mpd.Name + + packet.SetPacketData(mpd); + //the json packet + Send(packet); + } + public void Push(NotificationEventFirePacket packet) + { + var ppacket=new ChatrWSMsg(); + ppacket.SetPacketData(packet); + Send(ppacket); + } + public void Push(Notification notification) + { + if(DataBase.Bots==null || DataBase.Accounts == null) return; + /* + object packet=new{ + PacketType="Notification", + Data=new{ + BotName = notification.BotName, + Title=notification.Title, + Body=notification.Body, + OnClick=notification.OnClick.ToObject(notification.Id), + } + }; + //the json packet + Send(packet); + */ + + NotificationPacket packet=new NotificationPacket(); + packet.Body=notification.Body; + var bot = DataBase.Bots.FindOne(e=>e.Id==notification.SourceBotId); + var usr = DataBase.Accounts.FindOne(e=>e.Id ==notification.SourceUserId); + if(bot != null && usr != null) + { + packet.BotName = bot.BotName; + packet.BotOwnerName = usr.Name; + packet.BotOwnerUserName =usr.Username; + packet.BotNotificationId=notification.BotNotificationId; + packet.Id=notification.Id; + packet.NotificationButtons=notification.NotificationButtons; + packet.OnClick=notification.OnClick; + packet.Title =notification.Title; + packet.BotUserString = notification.BotUserString; + var ppacket=new ChatrWSMsg(); + ppacket.SetPacketData(packet); + Send(ppacket); + } + //packet.BotName=notification.SourceBotId + } +} + +public static class UserManagement +{ + internal static Dictionary> Humans=new Dictionary>(); + internal static Dictionary> Bots=new Dictionary>(); + internal static HttpClient clt=new HttpClient(); + + internal static Dictionary _otaCodes=new Dictionary(); + private static void SendHttpRequest(Dictionary dict) + { + //MET + //HDR + //URL + //BDY + Dictionary> headers=new Dictionary>(); + string method="GET"; + string url="http://example.com/"; + byte[] body=new byte[0]; + + foreach(var d in dict) + { + if(d.Key == "MET") + { + + method=d.Value; + + }else if(d.Key == "URL") + { + url = d.Value; + }else if(d.Key == "BDY") + { + body = Convert.FromBase64String(d.Value); + }else if(d.Key.StartsWith("HDR")) + { + string[] key= d.Key.Substring(3).Split(new char[]{':'},2); + headers.Add(key[0],d.Value); + } + + } + + HttpRequestMessage msg=new HttpRequestMessage(new HttpMethod(method),url); + foreach(var h in headers) + { + msg.Headers.Add(h.Key,h.Value); + } + if(body.Length > 0) + { + msg.Content=new ByteArrayContent(body); + } + + clt.SendAsync(msg).GetAwaiter().GetResult().Dispose(); + + } + public static void HandleNotificationEventFirePacket(NotificationEventFirePacket packet) + { + if(DataBase.Notifications != null) + { + var p=DataBase.Notifications.FindOne(e=>e.BotUserString ==packet.BotUserString && e.BotNotificationId == packet.BotNotificationId); + if(p != null) + { + if(string.IsNullOrWhiteSpace(packet.Button)) + { + //onclick + switch(p.OnClick.Type) + { + case NotificationEventType.CallApiFromServer: + SendHttpRequest(p.OnClick.Data); + break; + case NotificationEventType.SendCallbackToBot: + SendNotificationEvent(packet); + break; + } + }else{ + try{ + var p0 = p.NotificationButtons.Find(e=>{ + return e.Text == packet.Button; + }); + if(p0==null) return; + switch(p0.Event.Type) + { + case NotificationEventType.CallApiFromServer: + SendHttpRequest(p0.Event.Data); + break; + case NotificationEventType.SendCallbackToBot: + SendNotificationEvent(packet); + break; + } + }catch(Exception ex) + { + _=ex; + } + } + } + } + } + public static bool DefaultVerificationStatus { get; set; } + public static bool AllowLoginAsAnnonymous { get; set; } + + public static RegistrationResult RegisterAccount(string name,string username,string email,string password) + { + if(username.Equals("_anonymous") || email.Equals("anonymous@example.com")) + { + return new RegistrationResult("Can't Register Anonymous"); + } + if(IsValidPassword(password)) + { + var users=DataBase.Accounts; + + if(users != null){ + var user =users.FindOne(e=>e.Username == username); + if(user != null) + { + var res=new RegistrationResult("Username Exists"); + return res; + } + user = users.FindOne(e=>e.Email == email); + if(user != null) + { + var res=new RegistrationResult("Email Exists"); + return res; + } + bool oobe=users.LongCount() == 0; + + Account a =new Account(); + a.Username = username; + a.SetPassword(password,true); + a.Name = name; + a.Email=email; + a.Verified=UserManagement.DefaultVerificationStatus; + a.IsAdmin = oobe; + a.ShowUserNameToAnyBody=oobe; + if(a.IsValid()) + { + users.Insert(a); + if(oobe) + { + //Register Anonymous + Account a2=new Account(); + a2.IsAnonymous=true; + a2.IsAdmin=false; + a2.Verified=true; + a2.Username="_anonymous"; + a2.Email = "anonymous@example.com"; + a2.ShowUserNameToAnyBody=true; + a2.Name="Chatr Anonymous User"; + a2.SetPassword("4209enabled",true); //dummy password would be 4209disabled when disabled + users.Insert(a2); + } + return new RegistrationResult(a); + } + return new RegistrationResult("Invalid sign up details"); + } + return new RegistrationResult("Database Error: Accounts is null"); + } + return new RegistrationResult("Invalid Password"); + } + + internal static void Logout(string session_id) + { + var sessions=DataBase.Sessions; + if(!string.IsNullOrWhiteSpace(session_id) && sessions!=null) + { + var session=sessions.FindOne(e=>e.SessionId==session_id); + if(session != null) + { + sessions.Delete(session.Id); + } + } + } + static Dictionary _opt=new Dictionary(); + public static UserOptions GetUserOptions(Account account) + { + if(_opt.ContainsKey(account.Id)) + { + return _opt[account.Id]; + } + + + + return new UserOptions(account); + } + public static void SetUserOptions(UserOptions options,ServerContext ctx) + { + options.Set(ctx); + } + + public static AuthenticationResult Authenticate(string session_id) + { + var sessions=DataBase.Sessions; + if(sessions == null) return new AuthenticationResult("Database Error: Sessions is null"); + var users=DataBase.Accounts; + if(users == null) return new AuthenticationResult("Database Error: Accounts is null"); + + foreach(var session in sessions.FindAll()) + { + + if(session.SessionId.Equals(session_id) && DateTime.Now < session.Expires) + { + var user=users.FindById(session.UserId); + if(user != null) + { + return new AuthenticationResult(user,session); + } + return new AuthenticationResult("User Removed"); + } + } + return new AuthenticationResult("No valid session"); + } + + public static string CreateAnotherSession(string session_id,DateTime expires) + { + var sessions=DataBase.Sessions; + if(sessions == null) return null; + var users=DataBase.Accounts; + if(users == null) return null; + var session=sessions.FindOne(e=>e.SessionId==session_id); + if(session != null && DateTime.Now < session.Expires) + { + var user=users.FindById(session.UserId); + if(user != null) + { + Session session2=new Session(); + session2.Expires=expires; + session2.RememberMe=true; + session2.Created=DateTime.Now; + session2.SessionId = Session.GetNewId(); + session2.UserId=session.UserId; + sessions.Insert(session2); + return session2.SessionId; + } + } + return null; + } + private static string CreateSession(Account user,DateTime expire,bool rememberMe) + { + var sessions=DataBase.Sessions; + if(sessions == null) return null; + + string id= Session.GetNewId(); + Session s=new Session(); + s.Expires=expire; + s.SessionId=id; + s.UserId=user.Id; + s.RememberMe=rememberMe; + s.Created=DateTime.Now; + + sessions.Insert(s); + + return id; + } + + public static Account GetAnonymous() + { + if(DataBase.Accounts != null) + { + var res=DataBase.Accounts.FindOne(e=>e.IsAnonymous); + if(res!=null) return res; + } + return null; + } + public static LoginResult Login(string username,string password,bool rememberMe) + { + LoginResult res=new LoginResult(); + res.Success=false; + var users=DataBase.Accounts; + if(users == null || username == "_anonymous" /*prevent logging in as lovely _anonymous account*/) return res; + + + var user=users.FindOne(e=>e.Username == username); + + if(user != null && user.IsCorrectPassword(password)) + { + DateTime expire=rememberMe ? DateTime.Now.AddYears(1) : DateTime.Now.AddHours(2); + res.Success=true; + res.Account=user; + res.Expires=expire; + res.SessionId = CreateSession(user,expire,rememberMe); + } + + + + return res; + } + public static string GetNameTextFromMessage(Message msg,bool fromMe) + { + if(!msg.IsFromBot && !msg.IsToBot) + { + //person to person + if(msg.DestinationUserId == msg.SourceUserId) return "me"; + if(DataBase.Accounts != null){ + if(!fromMe) + { + //to me from username + var user = DataBase.Accounts.FindById(msg.DestinationUserId); + if(user != null) + { + return user.Name; + } + + }else{ + var user = DataBase.Accounts.FindById(msg.SourceUserId); + if(user != null) + { + return user.Name; + } + + } + } + + }else{ + if(DataBase.Bots != null) + { + + if(msg.DestinationUserId == msg.SourceUserId) + { + //me-botname + if(msg.IsFromBot ^ msg.IsToBot) + { + if(msg.IsFromBot) + { + //get bot for from + var bot=DataBase.Bots.FindById(msg.SourceBotId); + if(bot != null) + return $"{bot.BotName} (My Bot)"; + }else{ + var bot=DataBase.Bots.FindById(msg.DestinationBotId); + if(bot != null) + return $"{bot.BotName} (My Bot)"; + + + } + } // bot to bot communication not supported in ui if at all + + }else{ + if(DataBase.Accounts != null){ + //the bot must not be yours + if(msg.IsFromBot ^ !fromMe) + { + var a = DataBase.Accounts.FindById(msg.SourceUserId); + var bot=DataBase.Bots.FindById(msg.SourceBotId); + if(bot != null && a != null) + return $"{bot.BotName} ({a.Name}'s Bot)"; + + //return $"{a.Username}-{bot.BotUserName}"; + + // {userName}-{botname} + }else if(msg.IsToBot ^ fromMe) + { + var a = DataBase.Accounts.FindById(msg.DestinationUserId); + var bot=DataBase.Bots.FindById(msg.DestinationBotId); + if(bot != null && a != null) + return $"{bot.BotName} ({a.Name}'s Bot)"; + //return $"{a.Username}-{bot.BotUserName}"; + } + } + } + + } + } + + return ""; + } + + + + public static string GetHashTextFromMessage(Message msg,bool fromMe) //true if you are ws to dest, false if loading my msg from data base + { + //from me = true + //msg.Source will be considered me msg.Destination will be username + //from me = false + //msg.Destination will be considered username, destination will be me + + + if(!msg.IsFromBot && !msg.IsToBot) + { + //person to person + if(msg.DestinationUserId == msg.SourceUserId) return "me"; + if(DataBase.Accounts != null){ + if(!fromMe) + { + //to me from username + var user = DataBase.Accounts.FindById(msg.DestinationUserId); + if(user != null) + { + return user.Username; + } + + }else{ + var user = DataBase.Accounts.FindById(msg.SourceUserId); + if(user != null) + { + return user.Username; + } + + } + } + + }else{ + if(DataBase.Bots != null) + { + + if(msg.DestinationUserId == msg.SourceUserId) + { + //me-botname + if(msg.IsFromBot ^ msg.IsToBot) + { + if(msg.IsFromBot) + { + //get bot for from + var bot=DataBase.Bots.FindById(msg.SourceBotId); + if(bot != null) + return $"me-{bot.BotUserName}"; + }else{ + var bot=DataBase.Bots.FindById(msg.DestinationBotId); + if(bot != null) + return $"me-{bot.BotUserName}"; + } + } // bot to bot communication not supported in ui if at all + + }else{ + if(DataBase.Accounts != null){ + //the bot must not be yours + if(msg.IsFromBot ^ !fromMe) + { + var a = DataBase.Accounts.FindById(msg.SourceUserId); + var bot=DataBase.Bots.FindById(msg.SourceBotId); + if(bot != null && a != null) + return $"{a.Username}-{bot.BotUserName}"; + + // {userName}-{botname} + }else if(msg.IsToBot ^ fromMe) + { + var a = DataBase.Accounts.FindById(msg.DestinationUserId); + var bot=DataBase.Bots.FindById(msg.DestinationBotId); + if(bot != null && a != null) + return $"{a.Username}-{bot.BotUserName}"; + } + } + } + + } + } + + return ""; + } +//this doesn't check whether message is legit, it is done somewhere else + + public static void SendMessage(Message msg) + { + msg.CreationTime=DateTime.Now; + + if(DataBase.Messages != null) + { + //put msg in database + + DataBase.Messages.Insert(msg); //easy as pie + + + //send to user over ws, somewhat harder + + + + if(msg.IsToBot) + { + if(Bots.ContainsKey(msg.DestinationBotId)) + { + foreach(var bot in Bots[msg.DestinationBotId]) + { + bot.Push(msg); + } + } + }else{ + Account tmpAcc; + if(DataBase.Accounts != null && ( tmpAcc = DataBase.Accounts.FindById(msg.DestinationUserId))!= null && tmpAcc.IsHidden(msg.SourceUserId,msg.IsFromBot ? msg.SourceBotId : -1) ) return;//impl hidden accounts and stuff + + + if(Humans.ContainsKey(msg.DestinationUserId)) + { + foreach(var human in Humans[msg.DestinationUserId]) + { + human.Push(msg); + } + } + } + } + } + public static void SendNotification(Notification notification) + { + + + if(DataBase.Notifications != null) + { + + + if(Humans.ContainsKey(notification.DestinationUserId)) + { + foreach(var item in Humans[notification.DestinationUserId]) + { + item.Push(notification); + } + + } + + } + } + public static void SendNotificationEvent(NotificationEventFirePacket notification) + { + + + if(DataBase.Notifications != null && !string.IsNullOrWhiteSpace(notification.BotUserString) && !string.IsNullOrWhiteSpace(notification.SourceUserName)) + { + + var not=notification.BotUserString.Split(new char[]{'-'},2); + if(not.Length < 2) return; + string user=not[0]; + string bot = not[1]; + if(user == "me") + { + user = notification.SourceUserName; + } + long botId = GetBotId(user,bot); + + if(Bots.ContainsKey(botId)) + { + foreach(var item in Bots[botId]) + { + item.Push(notification); + } + } + + } + } + public static long GetUserId(string user) + { + Account a; + if(DataBase.Accounts != null && (a=DataBase.Accounts.FindOne(e=>e.Username == user)) != null ) + return a.Id; + + return -1; + } + public static long GetBotId(string user,string bot) + { + Bot b; + if(DataBase.Bots != null && (b=DataBase.Bots.FindOne(e=>e.BotUserName == bot && e.UserId== GetUserId(user))) != null) + return b.Id; + + return -1; + } + public static long GetBotId(long user,string bot) + { + Bot b; + if(DataBase.Bots != null && (b=DataBase.Bots.FindOne(e=>e.BotUserName == bot && e.UserId== user)) != null) + return b.Id; + + return -1; + } + public static IEnumerable GetMyBots(Account account,bool censored=true) + { + + if(DataBase.Bots != null) + { + foreach(var bot in DataBase.Bots.Find(e=>e.UserId==account.Id)) + { + if(censored && account.IsHidden(account.Id,bot.Id)) continue; + yield return bot; + } + } + yield break; + } + public static IEnumerable GetBotsWithMe(Account account,Account other,bool censored=true) + { + if(censored && account.IsHidden(other.Id,-1)) yield break; + + List ids=new List(); + if(DataBase.Messages != null && DataBase.Bots != null) + { + foreach(var msg in DataBase.Messages.FindAll()) + { + var e=msg; + if(!((e.DestinationUserId == other.Id && e.SourceUserId ==account.Id && !e.IsFromBot && e.IsToBot ) ^ (e.DestinationUserId == account.Id && e.IsFromBot && !e.IsToBot && e.SourceUserId == other.Id) )) continue; + if(msg.SourceUserId == account.Id) + { + if(!ids.Contains(msg.DestinationBotId)) ids.Add(msg.DestinationBotId); + }else{ + if(!ids.Contains(msg.SourceBotId)) ids.Add(msg.SourceBotId); + } + + } + foreach(var id in ids) + { + if( censored|| account.IsHidden(other.Id,id)) continue; + var res=DataBase.Bots.FindById(id); + if(res != null) + yield return res; + } + } + yield break; + } + public static IEnumerable GetUserWithMe(Account account,bool censored=true) + { + List ids=new List(); + if(DataBase.Messages != null && DataBase.Accounts != null) + { + foreach(var msg in DataBase.Messages.FindAll()) + { + var e=msg; + if(!(e.SourceUserId ==account.Id ^ e.DestinationUserId == account.Id )) continue; + if(msg.SourceUserId == account.Id) + { + if(!ids.Contains(msg.DestinationUserId)) ids.Add(msg.DestinationUserId); + }else{ + if(!ids.Contains(msg.SourceUserId)) ids.Add(msg.SourceUserId); + } + + } + + foreach(var usr in DataBase.Accounts.Find(e=>e.ShowUserNameToAnyBody==true)) + { + if(!ids.Contains(usr.Id)) + { + ids.Add(usr.Id); + } + } + foreach(var id in ids) + { + if(censored && account.IsHidden(id,-1)) continue; + var res=DataBase.Accounts.FindById(id); + if(res != null) + yield return res; + } + } + yield break; + } + public static IEnumerable GetMessages(Account account,string user=null,string bot=null,bool censored=true) + { + + if(DataBase.Messages != null) + { + + if(string.IsNullOrWhiteSpace(user) && string.IsNullOrWhiteSpace(bot)) + { + //you + + + foreach(var msg in DataBase.Messages.Find(e=> e.IsFromBot == false && e.IsToBot == false && e.SourceUserId == account.Id && e.DestinationUserId == account.Id)) + { + yield return msg; + } + } + + else if(string.IsNullOrWhiteSpace(bot) && !string.IsNullOrWhiteSpace(user)) + { + //a user + var userId=GetUserId(user); + if(censored && account.IsHidden(userId,-1)) yield break; + foreach(var msg in DataBase.Messages.Find(e=>e.IsFromBot == false && e.IsToBot==false && ((e.SourceUserId == userId && e.DestinationUserId == account.Id) || (e.SourceUserId == account.Id && e.DestinationUserId == userId)))) + { + yield return msg; + } + }else if(!string.IsNullOrWhiteSpace(bot) && string.IsNullOrWhiteSpace(user)) + { + //my bots + + var botId = GetBotId(account.Id,bot); + + if(censored && account.IsHidden(account.Id,botId)) yield break; + + foreach(var msg in DataBase.Messages.Find(e=>( + (e.SourceUserId == account.Id && e.IsFromBot==true && e.IsToBot==false && e.SourceBotId == botId && e.DestinationUserId ==account.Id) || + (e.DestinationUserId == account.Id && e.IsToBot==true && e.IsFromBot == false && e.SourceUserId == account.Id) + ))) + { + yield return msg; + } + } + else if(!string.IsNullOrWhiteSpace(bot) && !string.IsNullOrWhiteSpace(user)){ + // a bot + var userId = GetUserId(user); + var botId = GetBotId(userId,bot); + if(account.IsHidden(userId,botId)) yield break; + foreach(var msg in DataBase.Messages.Find(e=>( + (e.SourceUserId == userId && e.IsFromBot==true && e.IsToBot==false && e.SourceBotId == botId && e.DestinationUserId == account.Id) || + (e.DestinationUserId == userId && e.IsToBot==true && e.IsFromBot == false && e.SourceUserId == account.Id) + ))) + { + yield return msg; + } + + } + } + + yield break; + } + public static AuthenticationBotResult AuthenticateApiKey(string apiKey) + { + if(DataBase.Bots == null)return new AuthenticationBotResult("Database Error: Bots is null"); + + //authenticate bot + var bot=DataBase.Bots.FindOne(e=>e.ApiKey == apiKey); + if(bot != null){ + return new AuthenticationBotResult(bot); + } + return new AuthenticationBotResult("Bot Not found for apiKey"); + + } + public static string GenerateApiKey(Account user,Bot bot) + { + + if(DataBase.Bots == null)return null; + string apiKey; + do{ + apiKey=Account.GetNewSalt(); + } while(DataBase.Bots.FindOne(e=>e.ApiKey == apiKey) != null); + bot.ApiKey=apiKey; + bot.UserId=user.Id; + DataBase.Bots.Insert(bot); + return apiKey; + + } + + public static bool IsValidPassword(string password) + { + if(password.Length < 8) return false; //need a longer password + + if(password.StartsWith("password",StringComparison.OrdinalIgnoreCase)) return false; //prevents password password1 etc + + int num = 0; + char lastChar='\0'; + foreach(var c in password) //prevents 12345678 + { + + if(c+1 == lastChar) + {num++;} + else if(c-1 == lastChar) {num++;} else {num=0;} + + + lastChar=c; + if(num > 5) return false; + + } + + + return true; + } + + internal static bool GetAuthCode(string key, out string session) + { + session=""; + if(_otaCodes.ContainsKey(key)) + { + if(_otaCodes[key].Expires > DateTime.Now) + { + session=_otaCodes[key].SessionId; + return true; + } + _otaCodes.Remove(key); + } + return false; + } + private static string GetRandOta() + { + string id=Session.GetNewId().Replace("=","ee").Replace("+","je").Replace("/","42"); + return id; + } + internal static string CreateOTA(string sessionId) + { + string ota=GetRandOta(); + while(_otaCodes.ContainsKey(ota)) + { + ota=GetRandOta(); + } + OTA o=new OTA(); + o.Expires=DateTime.Now.AddMinutes(10); + o.SessionId = sessionId; + _otaCodes.Add(ota,o); + return ota; + } + + internal static void SendClearAll(ClearAllPacket pkt) + { + var uid= UserManagement.GetUserId(pkt.UserStr); + + if(Humans.ContainsKey(uid)) + { + foreach(var item in Humans[uid]) + { + item.Push(pkt); + } + + } + + } + + } + + internal class OTA + { + public string SessionId {get;set;} + + public DateTime Expires {get;set;} + } +} \ No newline at end of file diff --git a/ChatrServer/Chatr/UserOptions.cs b/ChatrServer/Chatr/UserOptions.cs new file mode 100644 index 0000000..60bbc70 --- /dev/null +++ b/ChatrServer/Chatr/UserOptions.cs @@ -0,0 +1,106 @@ +using System.Net; +using Newtonsoft.Json; +using Tesses.WebServer; +using Chatr; +using System.Collections.Generic; +namespace Tesses.Chatr.Server +{ +public class UserOptions +{ + + Account a; + + public List Users {get;set;} + + public List Bots {get;set;} + + public string Hidebotschecked {get {return a.ShowBots ? "" : "checked"; } set {a.ShowBots=value != "checked";}} + + public string Showuserchecked {get {return a.ShowUserNameToAnyBody ? "checked" : "";} set{a.ShowUserNameToAnyBody=value=="checked";}} + + public UserOptions(Account account) + { + Users=new List(); + Bots=new List(); + a=account; + + foreach(var user in UserManagement.GetUserWithMe(account,false)) + { + UserAccount usr=new UserAccount(); + usr.Hash = user.Username; + usr.Text = WebUtility.HtmlEncode(user.Name); + usr.UId=user.Id; + usr.Shown = account.HiddenUsers.Contains(user.Id) ? "" : "checked"; + foreach(var bot in UserManagement.GetBotsWithMe(account,user,false)) + { + UserAccount usr1=new UserAccount(); + usr1.Hash=$"{user.Username}={bot.BotUserName}"; + usr1.Text = WebUtility.HtmlEncode($"{bot.BotName} ({bot.BotUserName}'s Bot)"); + usr1.UId = bot.Id; + usr1.Shown = account.HiddenBots.Contains(bot.Id) ? "" : "checked"; + Bots.Add(usr1); + } + Users.Add(usr); + } + } + public void Set(ServerContext ctx,bool save=true) + { + string res; + if(ctx.QueryParams.TryGetFirst("hide_bots",out res)) + { + Hidebotschecked=res=="on" ? "checked" : ""; + } + if(ctx.QueryParams.TryGetFirst("show_user",out res)) + { + Showuserchecked=res=="on" ? "checked" : ""; + } + foreach(var user in Users) + { + //user + user.Shown=""; + + if(ctx.QueryParams.TryGetFirst($"user{user.Hash}",out res)) + { + user.Shown = res == "on" ? "checked" : ""; + } + } + foreach(var bot in Bots) + { + bot.Shown=""; + + if(ctx.QueryParams.TryGetFirst($"bot{bot.Hash}",out res)) + { + bot.Shown = res == "on" ? "checked" : ""; + } + } + + if(save) + { + Save(); + } + } + public void Save() + { + a.HiddenUsers.Clear(); + a.HiddenBots.Clear(); + //only do users and bots + //the other bools are already set + foreach(var user in Users) + { + if(user.Shown == "") + { + a.HiddenUsers.Add(user.UId); + } + } + foreach(var bot in Users) + { + if(bot.Shown == "") + { + a.HiddenBots.Add(bot.UId); + } + } + if(DataBase.Accounts != null) + DataBase.Accounts.Update(a); + } +} +} \ No newline at end of file diff --git a/ChatrServer/ChatrServer/ChatrServer.csproj b/ChatrServer/ChatrServer/ChatrServer.csproj new file mode 100644 index 0000000..58fceae --- /dev/null +++ b/ChatrServer/ChatrServer/ChatrServer.csproj @@ -0,0 +1,18 @@ + + + + + + + + + + + + Exe + net6.0 + enable + enable + + + diff --git a/ChatrServer/ChatrServer/Program.cs b/ChatrServer/ChatrServer/Program.cs new file mode 100644 index 0000000..400231f --- /dev/null +++ b/ChatrServer/ChatrServer/Program.cs @@ -0,0 +1,26 @@ +using System.Net; +using Tesses.Chatr.Server; +using WebSocketProxy; + +/* +DataBase.SetDb("data.db"); +UserManagement.DefaultVerificationStatus=true; +Func getPath=(e)=>{ + return Path.Combine(page,"wwwroot",e); +};*/ +DataBase.SetDb("data.db"); +UserManagement.DefaultVerificationStatus=true; + string? page=Path.GetDirectoryName(Environment.CurrentDirectory); + if(string.IsNullOrWhiteSpace(page)) + { + page=Environment.CurrentDirectory; + } +Func getPath=(e)=>{ + return Path.Combine(page,"wwwroot",e); +}; +AppConfig.WebSocketSameAsHttp=false; + + + +await ChatrApp.Init(new Arguments(args),getPath,new System.Net.IPEndPoint(System.Net.IPAddress.Any,4031),new WebSocketSharp.Server.WebSocketServer(System.Net.IPAddress.Any,4030)); + \ No newline at end of file diff --git a/ChatrServer/Program.Backup.cs b/ChatrServer/Program.Backup.cs new file mode 100644 index 0000000..de61574 --- /dev/null +++ b/ChatrServer/Program.Backup.cs @@ -0,0 +1,977 @@ +using System; +using System.IO; +using System.Diagnostics; +using System.Net; +using Newtonsoft.Json; +using Scriban; +using Tesses.WebServer; +using WebSocketSharp.Server; +using Chatr; +using System.Collections.Generic; +using System.Linq; +using Tesses.Chatr.Server; +using System.Threading; +using System.Threading.Tasks; +using System.Text; + +public class ChatrApp +{ +public static async Task Init(Arguments arguments,Func getPath,IPEndPoint http,WebSocketServer wssv,Action wsInit=null) +{ + + +using(var token = new CancellationTokenSource()){ + Console.CancelKeyPress +=(sender,e)=>{token.Cancel();}; + + +var template_index = Template.Parse(File.ReadAllText(getPath("index.html"))); +var template_user = Template.Parse(File.ReadAllText(getPath("user/index.html"))); +var template_qr = Template.Parse(File.ReadAllText(getPath("device-qr/index.html"))); +RouteServer svr=new RouteServer(); +/*svr.Add("/dem",async(e)=>{ + var data= QRCoder.PngByteQRCodeHelper.GetQRCode("Demi Lovato",QRCoder.QRCodeGenerator.ECCLevel.Q,640); + await e.SendBytesAsync(data,"image/png"); +});*/ +svr.Add("/onetimeauth",async(e)=>{ + string key; + if(e.QueryParams.TryGetFirst("key",out key)) + { + + await e.SendTextAsync($"Login
"); + + } +}); +svr.Add("/share",async(e)=>{ + e.ParseBody(); + StringBuilder b=new StringBuilder(); + foreach(var queryParm in e.QueryParams) + { + foreach(var value in queryParm.Value) + { + b.AppendLine($"{queryParm.Key}: {value}"); + } + } + await e.SendTextAsync(b.ToString(),"text/plain"); + +},"POST"); +svr.Add("/onetimeauth",async(e)=>{ + e.ParseBody(); + string key; + if(e.QueryParams.TryGetFirst("key",out key)) + { + string session; + if(UserManagement.GetAuthCode(key,out session)) + { + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={session}; Path=/"); + + } + await e.SendRedirectAsync("/"); + } + +},"POST"); +svr.Add("/api/appconfig.json",async(e)=>{ + AppConfig config = new AppConfig(e,arguments); + + await e.SendJsonAsync(config); + +}); +svr.Add("/api/email",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + await e.SendTextAsync(res.Account.Email,"text/plain"); + return; + } + } + } + }catch(Exception ex) + { + _=ex; + } + await e.SendTextAsync("[NO ACCOUNT]","text/plain"); +}); +svr.Add("/api/name",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + await e.SendTextAsync(res.Account.Name,"text/plain"); + return; + } + } + } + }catch(Exception ex) + { + _=ex; + } + await e.SendTextAsync("[NO ACCOUNT]","text/plain"); +}); +svr.Add("/api/login2",async(e)=>{ + + + + e.ParseBody(); + string username; + string password; + + + if(e.QueryParams.TryGetFirst("username",out username)) + { + if(e.QueryParams.TryGetFirst("password",out password)) + { + var res=UserManagement.Login(username,password,true); + if(res.Success) + { + //Set-Cookie + //if(rememberMe) + //{ + await e.SendTextAsync(res.SessionId,"text/plain"); + Console.WriteLine("HI"); + + //}else{ + // e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={res.SessionId}; Path=/"); + //} + //await e.SendRedirectAsync("/"); + }else{ + e.StatusCode=401; + await e.SendTextAsync("Unauthorized"); + //await e.SendRedirectAsync("/err/incorrect-password.html"); + + //do what you do when You Have Wrong password + } + } + + } + +},"POST"); +svr.Add("/api/botmsg",async(e)=>{ + e.ParseBody(); + //enforce bot permissions + e.StatusCode=400; + string msg_to; + if(!e.QueryParams.TryGetFirst("message_to",out msg_to)) msg_to="me"; + + string apiKey; + if(!e.QueryParams.TryGetFirst("ApiKey",out apiKey)) return; + + string body; + if(!e.QueryParams.TryGetFirst("body",out body)) body="[No Body]"; + + string destbot; + if(!e.QueryParams.TryGetFirst("destbot",out destbot)) destbot=""; + + bool destIsBot=!string.IsNullOrWhiteSpace(destbot); + bool isToMe = msg_to == "me"; + + var key=UserManagement.AuthenticateApiKey(apiKey); + Func getIsNotMe=(b,msg_to_who)=>{ + if(msg_to_who == "me") return false; + + if(DataBase.Accounts ==null) return true; + + var res=DataBase.Accounts.FindById(UserManagement.GetUserId(msg_to_who)); + if(res == null) return true; + return res.Id != b.UserId; + }; + if(key.Success && key.Bot != null) + { + if(!isToMe && getIsNotMe(key.Bot,msg_to) && key.Bot.Permissions.CanSendMessagesToOtherPeople) { await e.SendTextAsync("Access Denied: Can't Send To Another Person"); return;} + if(destIsBot && !key.Bot.Permissions.OthersCanReceiveMessages ) {await e.SendTextAsync("Access Denied: Can't send message to another bot"); return;} + + Message msg=new Message(); + msg.IsFromBot=true; + msg.IsToBot = destIsBot; + msg.SourceBotId = key.Bot.Id; + msg.SourceUserId = key.Bot.UserId; + msg.DestinationUserId = isToMe ? key.Bot.UserId : UserManagement.GetUserId(msg_to); + if(msg.DestinationUserId == -1) + { + await e.SendTextAsync("Unknown destination user"); + return; + } + if(msg.IsToBot) + { + var res=UserManagement.GetBotId(msg.DestinationUserId,destbot); + if(res == -1) + { + await e.SendTextAsync("Unknown destination bot"); + return; + } + msg.DestinationBotId=res; + } + msg.Content = body; + UserManagement.SendMessage(msg); + + e.StatusCode=200; + await e.SendTextAsync("Success"); + return; + } + await e.SendTextAsync("No Source Bot"); +},"POST"); +svr.Add("/api/msg",async(e)=>{ + e.ParseBody(); + string msg_to; + bool msg_to_me=true; + + string redirect_to; + string body; + if(!e.QueryParams.TryGetFirst("body",out body)) body="[No Body]"; + if(!e.QueryParams.TryGetFirst("redirect_to",out redirect_to)) redirect_to="/"; + long dest_id=-1; + if(e.QueryParams.TryGetFirst("message_to",out msg_to)){ + + if(!string.IsNullOrWhiteSpace(msg_to)) + { + dest_id=UserManagement.GetUserId(msg_to); + if(dest_id>-1) + { + msg_to_me=false; + } + } + } + + + //long dest_id = + /* + + +
+ + + +
*/ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + + + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + //from user + Message msg=new Message(); + msg.IsFromBot=false; + msg.IsToBot=false; + msg.SourceUserId = res.Account.Id; + + if(msg_to_me) msg.DestinationUserId=msg.SourceUserId; else msg.DestinationUserId=dest_id; + msg.Content=body; + UserManagement.SendMessage(msg); + + await e.SendRedirectAsync(redirect_to);return; + } + + } + } + + if(!msg_to_me) + { + var account =UserManagement.GetAnonymous(); + if(account != null && account.IsCorrectPassword("4209enabled")){ + Message msg=new Message(); + msg.IsFromBot=false; + msg.IsToBot=false; + msg.SourceUserId = account.Id; // + if(msg_to_me) msg.DestinationUserId=msg.SourceUserId; else msg.DestinationUserId=dest_id; + msg.Content=body; + UserManagement.SendMessage(msg); + } + + } + await e.SendRedirectAsync(redirect_to);return; +},"POST"); //send msg from page +svr.Add("/api/logout",async(e)=>{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null && res.Session != null) + { + string session_id=cookie[1]; + UserManagement.Logout(session_id); + DateTime past=new DateTime(2018,7,24,14,55,00); //some bloke Overdoses on this date + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={session_id}; Path=/; Expires={past.ToString("R")}"); + } + } + await e.SendRedirectAsync("/"); + } + await e.SendRedirectAsync("/"); +}); +svr.Add("/apikey",async(e)=>{ + //await e.SendRedirectAsync($"/apikey?name={bot.BotUserName}"); + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + string username; + if(e.QueryParams.TryGetFirst("name",out username)){ + Bot bot; + if(DataBase.Bots !=null && (bot=DataBase.Bots.FindOne(ee=>ee.UserId==res.Account.Id && ee.BotUserName==username))!=null) + { + string key= File.ReadAllText(getPath("apikey/index.html")).Replace("{API_KEY}",bot.ApiKey); + await e.SendTextAsync(key); + return; + } + } + } + } + } + await e.SendTextAsync("Unauthorized user or no bot with specified username"); +}); +svr.Add("/user",async(e)=>{ + + if(DataBase.Accounts ==null) { + await e.SendTextAsync("DataBase error: Accounts is null"); + return; + } + Account account=null; + string username; + if(e.QueryParams.TryGetFirst("name",out username)) + { + + account=DataBase.Accounts.FindOne(ee=>ee.Username==username); + + } + + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + string accountName=res.Account.Name; + string accountUserName=res.Account.Username; + long accountUserId =res.Account.Id; + if(account == null) + { + account = res.Account; + } + object logged_in=new{ + Name=WebUtility.HtmlEncode(accountName), + Url=$"./user?name={WebUtility.UrlEncode(accountUserName)}", + Notloggedin=false, + Loggedin=true, + Uname=account.Username, + Loggedinme=account.Id == res.Account.Id, + Loggedinnotme=account.Id != res.Account.Id, + Othername=WebUtility.HtmlEncode(account.Name), + Opt=UserManagement.GetUserOptions(account) + }; + + await e.SendTextAsync(template_user.Render(logged_in)); + return; + } + } + } + if(account == null) { + + await e.SendTextAsync("No Account"); + return; + } + + await e.SendTextAsync(template_user.Render(new{ + Url="./login", + Name="Login", + Loggedinnotme=false, + Loggedinme=false, + Loggedin=false, + Notloggedin=true, + Uname=account.Username, + Othername=WebUtility.HtmlEncode(account.Name) + })); + + + //await e.SendFileAsync(getPath("user/index.html")); +}); +svr.Add("/api/create-bot",async(e)=>{ + string cookie_txt; + e.ParseBody(); + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + string botname; + string botuser; + string botdesc; + + if(e.QueryParams.TryGetFirst("botname",out botname)) + { + if(e.QueryParams.TryGetFirst("botuser",out botuser)) + { + if(e.QueryParams.TryGetFirst("botdesc",out botdesc)) + { + if(DataBase.Bots != null && Account.IsValidName(botname) && Account.IsValidUserName(botuser) && Account.IsValidName(botdesc)){ + var bot= DataBase.Bots.FindOne(ee=>ee.BotUserName == botuser && res.Account.Id == ee.UserId); + if(bot == null) + { + Bot b=new Bot(); + b.UserId= res.Account.Id; + b.BotUserName=botuser; + b.BotDescription=botdesc; + b.BotName = botname; + b.ApiKey = Account.GetNewSalt(); + b.Permissions.SetPermissionsFromForm(e); + DataBase.Bots.Insert(b); + await e.SendRedirectAsync($"/apikey?name={b.BotUserName}"); + return; + }else{ + bot.Permissions.SetPermissionsFromForm(e); + DataBase.Bots.Update(bot); + await e.SendRedirectAsync($"/apikey?name={bot.BotUserName}"); + return; + } + + } + } + } + } + } + } + } +},"POST"); + +svr.Add("/create-bot-permissions",async(e)=>{ + string cookie_txt; + e.ParseBody(); + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + //get botname botuser botdesc + string botname; + string botuser; + string botdesc; + if(e.QueryParams.TryGetFirst("botname",out botname)) + { + if(e.QueryParams.TryGetFirst("botuser",out botuser)) + { + if(e.QueryParams.TryGetFirst("botdesc",out botdesc)) + { + if(DataBase.Bots != null){ + var bot= DataBase.Bots.FindOne(ee=>ee.BotUserName == botuser && res.Account.Id == ee.UserId); + + if(bot == null && Account.IsValidName(botname) && Account.IsValidUserName(botuser) && Account.IsValidName(botdesc)) + { + string page0=File.ReadAllText(getPath("create-bot-permissions/index.html")).Replace("{BOT_DESC}",botdesc).Replace("{BOT_USER}",botuser).Replace("{BOT_NAME}",botname); + await e.SendTextAsync(page0); + return; + } + } + + } + } + } + } + } + } + await e.SendTextAsync("Either your not logged in or post error"); +},"POST"); +svr.Add("/create-bot",async(e)=>{ + await e.SendFileAsync(getPath("create-bot/index.html")); + +}); +svr.Add("/api/user-setting",async(e)=>{ + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + await e.SendJsonAsync(UserManagement.GetUserOptions(res.Account)); + } + } + } + +}); +svr.Add("/api/user-setting",async(e)=>{ + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + var opt=UserManagement.GetUserOptions(res.Account); + UserManagement.SetUserOptions(opt,e); + await e.SendRedirectAsync($"/user?name={res.Account.Username}"); + } + } + } +},"POST"); + + + +svr.Add("/",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + var mymsg=new List(); + foreach(var msg in UserManagement.GetMessages(res.Account,null,null)) + { + var msg0=new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Mine=true; + mymsg.Add(msg0); + } + var users = new List(); + + foreach(var bot in UserManagement.GetMyBots(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = $"me-{bot.BotUserName}"; + usr.Text = WebUtility.HtmlEncode($"{bot.BotName} (My Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,null,bot.BotUserName)) + { + var msg0 =new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Mine = msg.IsToBot; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + usr.Messages.Add(msg0); + } + users.Add(usr); + } + foreach(var otherUser in UserManagement.GetUserWithMe(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = otherUser.Username; + + usr.Text = WebUtility.HtmlEncode(otherUser.Name); + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username)) + { + var msg0=new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + usr.Messages.Add(msg0); + + } + users.Add(usr); + foreach(var bot in UserManagement.GetBotsWithMe(res.Account,otherUser)) + { + var usr0 = new UserAccount(); + usr0.Hash = $"{otherUser.Username}-{bot.BotUserName}"; + usr0.Text = WebUtility.HtmlDecode($"{bot.BotName} ({otherUser.Name}'s Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username,bot.BotUserName)) + { + var msg0=new MyMessage(); + msg0.Time=msg.CreationTime.ToString("R"); + + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + usr0.Messages.Add(msg0); + } + users.Add(usr0); + } + } + + + string accountName=res.Account.Name; + string accountUserName =res.Account.Username; + object logged_in=new{ + Name=WebUtility.HtmlEncode(accountName), + Url=$"./user?name={accountUserName}", + Loggedin=true, + Mymessages=mymsg, + Users=users + }; + await e.SendTextAsync(template_index.Render(logged_in)); + return; + } + } + + } + }catch (Exception ex){ + Console.WriteLine(ex); + } + + await e.SendTextAsync(template_index.Render(new{ + Url="./login", + Name="Login", + Loggedin=false + })); +}); +svr.Add("/api/new-ota.txt",async(e)=>{ + + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + DateTime expire=DateTime.Now.AddYears(1); + if(e.QueryParams.TryGetFirst("expires",out cookie_txt)) + { + long exp; + if(long.TryParse(cookie_txt,out exp)) + { + expire=DateTimeOffset.FromUnixTimeSeconds(exp).DateTime; + } + } + + string session=UserManagement.CreateAnotherSession(cookie[1],expire); + if(!string.IsNullOrWhiteSpace(session)) + + { + + await e.SendTextAsync(UserManagement.CreateOTA(session),"text/plain");return; + } + // + } + } + } + e.StatusCode=401; + await e.WriteHeadersAsync(); + +}); +svr.Add("/device-qr",async(e)=>{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + string accountName=res.Account.Name; + string accountUserName =res.Account.Username; + //string? session=UserManagement.CreateAnotherSession(cookie[1],DateTime.Now.AddYears(1)); + /* + Console.WriteLine($"{e.Host}#{session}"); + */ + + object logged_in=new{ + Name=WebUtility.HtmlEncode(accountName), + Url=$"./user?name={WebUtility.UrlEncode(accountUserName)}", + Loggedin=true, + }; + await e.SendTextAsync(template_qr.Render(logged_in)); + return; + } + } + } + + + await e.SendTextAsync(template_qr.Render(new{ + Url="./login", + Name="Login", + Loggedin=false + })); +}); +svr.Add("/api/state.json",async(e)=>{ + try{ + string cookie_txt; + if(e.RequestHeaders.TryGetFirst("Cookie",out cookie_txt)) + { + string[] cookie=cookie_txt.Split(new char[]{'='},2); + if(cookie.Length == 2 && !string.IsNullOrWhiteSpace(cookie[0]) && cookie[0].Equals("Chatr-Session") && !string.IsNullOrWhiteSpace(cookie[1])) + { + var res=UserManagement.Authenticate(cookie[1]); + if(res.Success && res.Account != null) + { + + var mymsg=new List(); + foreach(var msg in UserManagement.GetMessages(res.Account,null,null)) + { + var msg0=new MyMessage(); + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Mine=true; + msg0.Time=msg.CreationTime.ToString("R"); + mymsg.Add(msg0); + } + var users = new List(); + + foreach(var bot in UserManagement.GetMyBots(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = $"me-{bot.BotUserName}"; + usr.Text = WebUtility.HtmlEncode($"{bot.BotName} (My Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,null,bot.BotUserName)) + { + var msg0 =new MyMessage(); + msg0.Mine = msg.IsToBot; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Time=msg.CreationTime.ToString("R"); + + usr.Messages.Add(msg0); + } + users.Add(usr); + } + foreach(var otherUser in UserManagement.GetUserWithMe(res.Account)) + { + var usr=new UserAccount(); + usr.Hash = otherUser.Username; + + usr.Text = WebUtility.HtmlEncode(otherUser.Name); + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username)) + { + var msg0=new MyMessage(); + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Time=msg.CreationTime.ToString("R"); + + usr.Messages.Add(msg0); + + } + users.Add(usr); + foreach(var bot in UserManagement.GetBotsWithMe(res.Account,otherUser)) + { + var usr0 = new UserAccount(); + usr0.Hash = $"{otherUser.Username}-{bot.BotUserName}"; + usr0.Text = WebUtility.HtmlDecode($"{bot.BotName} ({otherUser.Name}'s Bot)"); + + foreach(var msg in UserManagement.GetMessages(res.Account,otherUser.Username,bot.BotUserName)) + { + var msg0=new MyMessage(); + msg0.Mine = msg.SourceUserId == res.Account.Id; + msg0.Body = WebUtility.HtmlEncode(msg.Content); + msg0.Time=msg.CreationTime.ToString("R"); + + usr0.Messages.Add(msg0); + } + users.Add(usr0); + } + } + + + string accountName=res.Account.Name; + string accountUserName =res.Account.Username; + object logged_in=new{ + Email=res.Account.Email, + Name=accountName, + Url=$"/user?name={accountUserName}", + Loggedin=true, + Mymessages=mymsg, + Users=users + }; + Console.WriteLine("Alternate HI"); + await e.SendJsonAsync(logged_in); + Console.WriteLine("SENT"); + return; + + } + } + + } + }catch (Exception ex){ + _=ex; + } + await e.SendJsonAsync(new{ + Loggedin=false + }); + +},"GET"); + svr.Add($"/login",async(e)=>{ + await e.SendFileAsync(getPath("login/index.html")); +}); + svr.Add($"/signup",async(e)=>{ + await e.SendFileAsync(getPath("signup/index.html")); +}); +Action set_url=(e2)=>{ + svr.Add($"/{e2}",async(e)=>{ + await e.SendFileAsync(getPath(e2)); +}); +}; +foreach(var f in File.ReadAllLines(getPath("files.txt"))) +{ + set_url(f); +} + +svr.Add("/api/login",async(e)=>{ + + + e.ParseBody(); + string username; + string password; + string rememberMeStr; + bool rememberMe; + + if(e.QueryParams.TryGetFirst("username",out username)) + { + if(e.QueryParams.TryGetFirst("password",out password)) + { + rememberMe=(e.QueryParams.TryGetFirst("remember",out rememberMeStr) && rememberMeStr == "on"); + var res=UserManagement.Login(username,password,rememberMe); + if(res.Success) + { + //Set-Cookie + if(rememberMe) + { + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={res.SessionId}; Path=/; Expires={res.Expires.ToString("R")}"); + + }else{ + e.ResponseHeaders.Add("Set-Cookie",$"{LoginResult.SessionCookieName}={res.SessionId}; Path=/"); + } + await e.SendRedirectAsync("/"); + }else{ + await e.SendRedirectAsync("/err/incorrect-password.html"); + + //do what you do when You Have Wrong password + } + } + + } + +},"POST"); +svr.Add("/api/signup",async(e)=>{ + + e.ParseBody(); + string email; + string name; + string username; + string password; + string confirm; + if(e.QueryParams.TryGetFirst("email",out email)) + { + if(e.QueryParams.TryGetFirst("name",out name)) + { + if(e.QueryParams.TryGetFirst("uname",out username)) + { + if(e.QueryParams.TryGetFirst("password",out password)) + { + if(e.QueryParams.TryGetFirst("password2",out confirm)) + { + if(!string.IsNullOrWhiteSpace(name) && !string.IsNullOrWhiteSpace(username) && !string.IsNullOrWhiteSpace(password) && !string.IsNullOrWhiteSpace(confirm)) + { + RegistrationResult result=UserManagement.RegisterAccount(name,username,email,password); + + if(result.Success) + { + await e.SendRedirectAsync("/"); + return; + }else{ + object o=new{ + success=false, + error=result.Error + }; + e.StatusCode=400; + await e.SendJsonAsync(o); + return; + } + + } + + + } + } + + + } + } + } + e.StatusCode=400; + object op=new{ + success=false, + error="Information not filled out" + }; + await e.SendJsonAsync(op); +},"POST"); + +MountableServer _mountable=new MountableServer(svr); + + + +HttpServerListener listener=new HttpServerListener(http,_mountable); + +Timer t=new Timer((e)=>{ + try{ + DateTime d=DateTime.Now; + List items=new List(); + if(DataBase.Sessions != null){ + + foreach(var s in DataBase.Sessions.FindAll()) + { + if(s.Expires < d) + { + items.Add(s.Id); + } + } + foreach(var item in items){ + DataBase.Sessions.Delete(item); + } + } + }catch(Exception ex) + { + _=ex; + } +},null,0,600000); + + + +wssv.AddWebSocketService("/chatr-ws"); +wssv.Start(); +if(wsInit != null) +{ + wsInit(); +} + +await listener.ListenAsync(token.Token); +wssv.Stop(); + +} +} + +} diff --git a/ChatrServer/wwwroot/LICENSE b/ChatrServer/wwwroot/LICENSE new file mode 100644 index 0000000..9faf108 --- /dev/null +++ b/ChatrServer/wwwroot/LICENSE @@ -0,0 +1,212 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 Google Inc + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + All code in any directories or sub-directories that end with *.html or + *.css is licensed under the Creative Commons Attribution International + 4.0 License, which full text can be found here: + https://creativecommons.org/licenses/by/4.0/legalcode. + + As an exception to this license, all html or css that is generated by + the software at the direction of the user is copyright the user. The + user has full ownership and control over such content, including + whether and how they wish to license it. diff --git a/ChatrServer/wwwroot/android-chrome-192x192.png b/ChatrServer/wwwroot/android-chrome-192x192.png new file mode 100644 index 0000000..14c244d Binary files /dev/null and b/ChatrServer/wwwroot/android-chrome-192x192.png differ diff --git a/ChatrServer/wwwroot/android-chrome-512x512.png b/ChatrServer/wwwroot/android-chrome-512x512.png new file mode 100644 index 0000000..f0d5500 Binary files /dev/null and b/ChatrServer/wwwroot/android-chrome-512x512.png differ diff --git a/ChatrServer/wwwroot/apikey/index.html b/ChatrServer/wwwroot/apikey/index.html new file mode 100644 index 0000000..ab5be64 --- /dev/null +++ b/ChatrServer/wwwroot/apikey/index.html @@ -0,0 +1,22 @@ + + + + + + + Login + + + + + + + +
+ +

Your Api Key Is

+

{API_KEY}

+
+ + + \ No newline at end of file diff --git a/ChatrServer/wwwroot/apple-touch-icon.png b/ChatrServer/wwwroot/apple-touch-icon.png new file mode 100644 index 0000000..6c80fe2 Binary files /dev/null and b/ChatrServer/wwwroot/apple-touch-icon.png differ diff --git a/ChatrServer/wwwroot/create-bot-permissions/index.html b/ChatrServer/wwwroot/create-bot-permissions/index.html new file mode 100644 index 0000000..d3cef5c --- /dev/null +++ b/ChatrServer/wwwroot/create-bot-permissions/index.html @@ -0,0 +1,72 @@ + + + + + + + Login + + + + + + + +
+ +

Permissions

+ + + + + + + + + + + +
+ If checked this bot can send messages to other people +
+
+ If checked this bot can send messages to other bots +
+
+ If checked this bot can send notifications to your device, can send to other people +
+
+ If checked this bot can handle share target +
+
+ If checked this bot can receive messages +
+ + + + +
+ + + \ No newline at end of file diff --git a/ChatrServer/wwwroot/create-bot/index.html b/ChatrServer/wwwroot/create-bot/index.html new file mode 100644 index 0000000..e5683e7 --- /dev/null +++ b/ChatrServer/wwwroot/create-bot/index.html @@ -0,0 +1,44 @@ + + + + + + + Create A Bot + + + + + + + +
+

Chatr Bot

+ +
+ + +
+
+ + +
+ +
+
+ + +
+ +
+ + + + My Bots + + Cancel + +
+ + + \ No newline at end of file diff --git a/ChatrServer/wwwroot/css/material.css b/ChatrServer/wwwroot/css/material.css new file mode 100644 index 0000000..6c7206e --- /dev/null +++ b/ChatrServer/wwwroot/css/material.css @@ -0,0 +1,11476 @@ +/** + * material-design-lite - Material Design Components in CSS, JS and HTML + * @version v1.3.0 + * @license Apache-2.0 + * @copyright 2015 Google, Inc. + * @link https://github.com/google/material-design-lite + */ +@charset "UTF-8"; +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Material Design Lite */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/* + * What follows is the result of much research on cross-browser styling. + * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, + * Kroc Camen, and the H5BP dev community and team. + */ +/* ========================================================================== + Base styles: opinionated defaults + ========================================================================== */ +html { + color: rgba(0,0,0, 0.87); + font-size: 1em; + line-height: 1.4; } + +/* + * Remove text-shadow in selection highlight: + * https://twitter.com/miketaylr/status/12228805301 + * + * These selection rule sets have to be separate. + * Customize the background color to match your design. + */ +::-moz-selection { + background: #b3d4fc; + text-shadow: none; } +::selection { + background: #b3d4fc; + text-shadow: none; } + +/* + * A better looking default horizontal rule + */ +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; } + +/* + * Remove the gap between audio, canvas, iframes, + * images, videos and the bottom of their containers: + * https://github.com/h5bp/html5-boilerplate/issues/440 + */ +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; } + +/* + * Remove default fieldset styles. + */ +fieldset { + border: 0; + margin: 0; + padding: 0; } + +/* + * Allow only vertical resizing of textareas. + */ +textarea { + resize: vertical; } + +/* ========================================================================== + Browser Upgrade Prompt + ========================================================================== */ +.browserupgrade { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; } + +/* ========================================================================== + Author's custom styles + ========================================================================== */ +/* ========================================================================== + Helper classes + ========================================================================== */ +/* + * Hide visually and from screen readers: + */ +.hidden { + display: none !important; } + +/* + * Hide only visually, but have it available for screen readers: + * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility + */ +.visuallyhidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +/* + * Extends the .visuallyhidden class to allow the element + * to be focusable when navigated to via the keyboard: + * https://www.drupal.org/node/897638 + */ +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } + +/* + * Hide visually and from screen readers, but maintain layout + */ +.invisible { + visibility: hidden; } + +/* + * Clearfix: contain floats + * + * For modern browsers + * 1. The space content is one way to avoid an Opera bug when the + * `contenteditable` attribute is included anywhere else in the document. + * Otherwise it causes space to appear at the top and bottom of elements + * that receive the `clearfix` class. + * 2. The use of `table` rather than `block` is only necessary if using + * `:before` to contain the top-margins of child elements. + */ +.clearfix:before, +.clearfix:after { + content: " "; + /* 1 */ + display: table; + /* 2 */ } + +.clearfix:after { + clear: both; } + +/* ========================================================================== + EXAMPLE Media Queries for Responsive Design. + These examples override the primary ('mobile first') styles. + Modify as content requires. + ========================================================================== */ +@media only screen and (min-width: 35em) { + /* Style adjustments for viewports that meet the condition */ } + +@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) { + /* Style adjustments for high resolution devices */ } + +/* ========================================================================== + Print styles. + Inlined to avoid the additional HTTP request: + http://www.phpied.com/delay-loading-your-print-css/ + ========================================================================== */ +@media print { + *, + *:before, + *:after, + *:first-letter { + background: transparent !important; + color: #000 !important; + /* Black prints faster: http://www.sanbeiji.com/archives/953 */ + box-shadow: none !important; } + a, + a:visited { + text-decoration: underline; } + a[href]:after { + content: " (" attr(href) ")"; } + abbr[title]:after { + content: " (" attr(title) ")"; } + /* + * Don't show links that are fragment identifiers, + * or use the `javascript:` pseudo protocol + */ + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + /* + * Printing Tables: + * http://css-discuss.incutio.com/wiki/Printing_Tables + */ + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Remove the unwanted box around FAB buttons */ +/* More info: http://goo.gl/IPwKi */ +a, .mdl-accordion, .mdl-button, .mdl-card, .mdl-checkbox, .mdl-dropdown-menu, +.mdl-icon-toggle, .mdl-item, .mdl-radio, .mdl-slider, .mdl-switch, .mdl-tabs__tab { + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); } + +/* + * Make html take up the entire screen + * Then set touch-action to avoid touch delay on mobile IE + */ +html { + width: 100%; + height: 100%; + -ms-touch-action: manipulation; + touch-action: manipulation; } + +/* +* Make body take up the entire screen +* Remove body margin so layout containers don't cause extra overflow. +*/ +body { + width: 100%; + min-height: 100%; + margin: 0; } + +/* + * Main display reset for IE support. + * Source: http://weblog.west-wind.com/posts/2015/Jan/12/main-HTML5-Tag-not-working-in-Internet-Explorer-91011 + */ +main { + display: block; } + +/* +* Apply no display to elements with the hidden attribute. +* IE 9 and 10 support. +*/ +*[hidden] { + display: none !important; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +html, body { + font-family: "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 20px; } + +h1, h2, h3, h4, h5, h6, p { + margin: 0; + padding: 0; } + +/** + * Styles for HTML elements + */ +h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; + opacity: 0.54; + font-size: 0.6em; } + +h1 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; + margin-top: 24px; + margin-bottom: 24px; } + +h2 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 45px; + font-weight: 400; + line-height: 48px; + margin-top: 24px; + margin-bottom: 24px; } + +h3 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 34px; + font-weight: 400; + line-height: 40px; + margin-top: 24px; + margin-bottom: 24px; } + +h4 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 24px; + font-weight: 400; + line-height: 32px; + -moz-osx-font-smoothing: grayscale; + margin-top: 24px; + margin-bottom: 16px; } + +h5 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; + margin-top: 24px; + margin-bottom: 16px; } + +h6 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.04em; + margin-top: 24px; + margin-bottom: 16px; } + +p { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + margin-bottom: 16px; } + +a { + color: rgb(255,64,129); + font-weight: 500; } + +blockquote { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + position: relative; + font-size: 24px; + font-weight: 300; + font-style: italic; + line-height: 1.35; + letter-spacing: 0.08em; } + blockquote:before { + position: absolute; + left: -0.5em; + content: '“'; } + blockquote:after { + content: '”'; + margin-left: -0.05em; } + +mark { + background-color: #f4ff81; } + +dt { + font-weight: 700; } + +address { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + font-style: normal; } + +ul, ol { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; } + +/** + * Class Name Styles + */ +.mdl-typography--display-4 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 112px; + font-weight: 300; + line-height: 1; + letter-spacing: -0.04em; } + +.mdl-typography--display-4-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 112px; + font-weight: 300; + line-height: 1; + letter-spacing: -0.04em; + opacity: 0.54; } + +.mdl-typography--display-3 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; } + +.mdl-typography--display-3-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; + opacity: 0.54; } + +.mdl-typography--display-2 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 45px; + font-weight: 400; + line-height: 48px; } + +.mdl-typography--display-2-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 45px; + font-weight: 400; + line-height: 48px; + opacity: 0.54; } + +.mdl-typography--display-1 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 34px; + font-weight: 400; + line-height: 40px; } + +.mdl-typography--display-1-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 34px; + font-weight: 400; + line-height: 40px; + opacity: 0.54; } + +.mdl-typography--headline { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 24px; + font-weight: 400; + line-height: 32px; + -moz-osx-font-smoothing: grayscale; } + +.mdl-typography--headline-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 24px; + font-weight: 400; + line-height: 32px; + -moz-osx-font-smoothing: grayscale; + opacity: 0.87; } + +.mdl-typography--title { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; } + +.mdl-typography--title-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; + opacity: 0.87; } + +.mdl-typography--subhead { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.04em; } + +.mdl-typography--subhead-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.04em; + opacity: 0.87; } + +.mdl-typography--body-2 { + font-size: 14px; + font-weight: bold; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-2-color-contrast { + font-size: 14px; + font-weight: bold; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--body-1 { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-1-color-contrast { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--body-2-force-preferred-font { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-2-force-preferred-font-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--body-1-force-preferred-font { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-1-force-preferred-font-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--caption { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--caption-force-preferred-font { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--caption-color-contrast { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + opacity: 0.54; } + +.mdl-typography--caption-force-preferred-font-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + opacity: 0.54; } + +.mdl-typography--menu { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--menu-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 1; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--button { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--button-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--text-left { + text-align: left; } + +.mdl-typography--text-right { + text-align: right; } + +.mdl-typography--text-center { + text-align: center; } + +.mdl-typography--text-justify { + text-align: justify; } + +.mdl-typography--text-nowrap { + white-space: nowrap; } + +.mdl-typography--text-lowercase { + text-transform: lowercase; } + +.mdl-typography--text-uppercase { + text-transform: uppercase; } + +.mdl-typography--text-capitalize { + text-transform: capitalize; } + +.mdl-typography--font-thin { + font-weight: 200 !important; } + +.mdl-typography--font-light { + font-weight: 300 !important; } + +.mdl-typography--font-regular { + font-weight: 400 !important; } + +.mdl-typography--font-medium { + font-weight: 500 !important; } + +.mdl-typography--font-bold { + font-weight: 700 !important; } + +.mdl-typography--font-black { + font-weight: 900 !important; } + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + word-wrap: normal; + -moz-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-color-text--red { + color: rgb(244,67,54) !important; } + +.mdl-color--red { + background-color: rgb(244,67,54) !important; } + +.mdl-color-text--red-50 { + color: rgb(255,235,238) !important; } + +.mdl-color--red-50 { + background-color: rgb(255,235,238) !important; } + +.mdl-color-text--red-100 { + color: rgb(255,205,210) !important; } + +.mdl-color--red-100 { + background-color: rgb(255,205,210) !important; } + +.mdl-color-text--red-200 { + color: rgb(239,154,154) !important; } + +.mdl-color--red-200 { + background-color: rgb(239,154,154) !important; } + +.mdl-color-text--red-300 { + color: rgb(229,115,115) !important; } + +.mdl-color--red-300 { + background-color: rgb(229,115,115) !important; } + +.mdl-color-text--red-400 { + color: rgb(239,83,80) !important; } + +.mdl-color--red-400 { + background-color: rgb(239,83,80) !important; } + +.mdl-color-text--red-500 { + color: rgb(244,67,54) !important; } + +.mdl-color--red-500 { + background-color: rgb(244,67,54) !important; } + +.mdl-color-text--red-600 { + color: rgb(229,57,53) !important; } + +.mdl-color--red-600 { + background-color: rgb(229,57,53) !important; } + +.mdl-color-text--red-700 { + color: rgb(211,47,47) !important; } + +.mdl-color--red-700 { + background-color: rgb(211,47,47) !important; } + +.mdl-color-text--red-800 { + color: rgb(198,40,40) !important; } + +.mdl-color--red-800 { + background-color: rgb(198,40,40) !important; } + +.mdl-color-text--red-900 { + color: rgb(183,28,28) !important; } + +.mdl-color--red-900 { + background-color: rgb(183,28,28) !important; } + +.mdl-color-text--red-A100 { + color: rgb(255,138,128) !important; } + +.mdl-color--red-A100 { + background-color: rgb(255,138,128) !important; } + +.mdl-color-text--red-A200 { + color: rgb(255,82,82) !important; } + +.mdl-color--red-A200 { + background-color: rgb(255,82,82) !important; } + +.mdl-color-text--red-A400 { + color: rgb(255,23,68) !important; } + +.mdl-color--red-A400 { + background-color: rgb(255,23,68) !important; } + +.mdl-color-text--red-A700 { + color: rgb(213,0,0) !important; } + +.mdl-color--red-A700 { + background-color: rgb(213,0,0) !important; } + +.mdl-color-text--pink { + color: rgb(233,30,99) !important; } + +.mdl-color--pink { + background-color: rgb(233,30,99) !important; } + +.mdl-color-text--pink-50 { + color: rgb(252,228,236) !important; } + +.mdl-color--pink-50 { + background-color: rgb(252,228,236) !important; } + +.mdl-color-text--pink-100 { + color: rgb(248,187,208) !important; } + +.mdl-color--pink-100 { + background-color: rgb(248,187,208) !important; } + +.mdl-color-text--pink-200 { + color: rgb(244,143,177) !important; } + +.mdl-color--pink-200 { + background-color: rgb(244,143,177) !important; } + +.mdl-color-text--pink-300 { + color: rgb(240,98,146) !important; } + +.mdl-color--pink-300 { + background-color: rgb(240,98,146) !important; } + +.mdl-color-text--pink-400 { + color: rgb(236,64,122) !important; } + +.mdl-color--pink-400 { + background-color: rgb(236,64,122) !important; } + +.mdl-color-text--pink-500 { + color: rgb(233,30,99) !important; } + +.mdl-color--pink-500 { + background-color: rgb(233,30,99) !important; } + +.mdl-color-text--pink-600 { + color: rgb(216,27,96) !important; } + +.mdl-color--pink-600 { + background-color: rgb(216,27,96) !important; } + +.mdl-color-text--pink-700 { + color: rgb(194,24,91) !important; } + +.mdl-color--pink-700 { + background-color: rgb(194,24,91) !important; } + +.mdl-color-text--pink-800 { + color: rgb(173,20,87) !important; } + +.mdl-color--pink-800 { + background-color: rgb(173,20,87) !important; } + +.mdl-color-text--pink-900 { + color: rgb(136,14,79) !important; } + +.mdl-color--pink-900 { + background-color: rgb(136,14,79) !important; } + +.mdl-color-text--pink-A100 { + color: rgb(255,128,171) !important; } + +.mdl-color--pink-A100 { + background-color: rgb(255,128,171) !important; } + +.mdl-color-text--pink-A200 { + color: rgb(255,64,129) !important; } + +.mdl-color--pink-A200 { + background-color: rgb(255,64,129) !important; } + +.mdl-color-text--pink-A400 { + color: rgb(245,0,87) !important; } + +.mdl-color--pink-A400 { + background-color: rgb(245,0,87) !important; } + +.mdl-color-text--pink-A700 { + color: rgb(197,17,98) !important; } + +.mdl-color--pink-A700 { + background-color: rgb(197,17,98) !important; } + +.mdl-color-text--purple { + color: rgb(156,39,176) !important; } + +.mdl-color--purple { + background-color: rgb(156,39,176) !important; } + +.mdl-color-text--purple-50 { + color: rgb(243,229,245) !important; } + +.mdl-color--purple-50 { + background-color: rgb(243,229,245) !important; } + +.mdl-color-text--purple-100 { + color: rgb(225,190,231) !important; } + +.mdl-color--purple-100 { + background-color: rgb(225,190,231) !important; } + +.mdl-color-text--purple-200 { + color: rgb(206,147,216) !important; } + +.mdl-color--purple-200 { + background-color: rgb(206,147,216) !important; } + +.mdl-color-text--purple-300 { + color: rgb(186,104,200) !important; } + +.mdl-color--purple-300 { + background-color: rgb(186,104,200) !important; } + +.mdl-color-text--purple-400 { + color: rgb(171,71,188) !important; } + +.mdl-color--purple-400 { + background-color: rgb(171,71,188) !important; } + +.mdl-color-text--purple-500 { + color: rgb(156,39,176) !important; } + +.mdl-color--purple-500 { + background-color: rgb(156,39,176) !important; } + +.mdl-color-text--purple-600 { + color: rgb(142,36,170) !important; } + +.mdl-color--purple-600 { + background-color: rgb(142,36,170) !important; } + +.mdl-color-text--purple-700 { + color: rgb(123,31,162) !important; } + +.mdl-color--purple-700 { + background-color: rgb(123,31,162) !important; } + +.mdl-color-text--purple-800 { + color: rgb(106,27,154) !important; } + +.mdl-color--purple-800 { + background-color: rgb(106,27,154) !important; } + +.mdl-color-text--purple-900 { + color: rgb(74,20,140) !important; } + +.mdl-color--purple-900 { + background-color: rgb(74,20,140) !important; } + +.mdl-color-text--purple-A100 { + color: rgb(234,128,252) !important; } + +.mdl-color--purple-A100 { + background-color: rgb(234,128,252) !important; } + +.mdl-color-text--purple-A200 { + color: rgb(224,64,251) !important; } + +.mdl-color--purple-A200 { + background-color: rgb(224,64,251) !important; } + +.mdl-color-text--purple-A400 { + color: rgb(213,0,249) !important; } + +.mdl-color--purple-A400 { + background-color: rgb(213,0,249) !important; } + +.mdl-color-text--purple-A700 { + color: rgb(170,0,255) !important; } + +.mdl-color--purple-A700 { + background-color: rgb(170,0,255) !important; } + +.mdl-color-text--deep-purple { + color: rgb(103,58,183) !important; } + +.mdl-color--deep-purple { + background-color: rgb(103,58,183) !important; } + +.mdl-color-text--deep-purple-50 { + color: rgb(237,231,246) !important; } + +.mdl-color--deep-purple-50 { + background-color: rgb(237,231,246) !important; } + +.mdl-color-text--deep-purple-100 { + color: rgb(209,196,233) !important; } + +.mdl-color--deep-purple-100 { + background-color: rgb(209,196,233) !important; } + +.mdl-color-text--deep-purple-200 { + color: rgb(179,157,219) !important; } + +.mdl-color--deep-purple-200 { + background-color: rgb(179,157,219) !important; } + +.mdl-color-text--deep-purple-300 { + color: rgb(149,117,205) !important; } + +.mdl-color--deep-purple-300 { + background-color: rgb(149,117,205) !important; } + +.mdl-color-text--deep-purple-400 { + color: rgb(126,87,194) !important; } + +.mdl-color--deep-purple-400 { + background-color: rgb(126,87,194) !important; } + +.mdl-color-text--deep-purple-500 { + color: rgb(103,58,183) !important; } + +.mdl-color--deep-purple-500 { + background-color: rgb(103,58,183) !important; } + +.mdl-color-text--deep-purple-600 { + color: rgb(94,53,177) !important; } + +.mdl-color--deep-purple-600 { + background-color: rgb(94,53,177) !important; } + +.mdl-color-text--deep-purple-700 { + color: rgb(81,45,168) !important; } + +.mdl-color--deep-purple-700 { + background-color: rgb(81,45,168) !important; } + +.mdl-color-text--deep-purple-800 { + color: rgb(69,39,160) !important; } + +.mdl-color--deep-purple-800 { + background-color: rgb(69,39,160) !important; } + +.mdl-color-text--deep-purple-900 { + color: rgb(49,27,146) !important; } + +.mdl-color--deep-purple-900 { + background-color: rgb(49,27,146) !important; } + +.mdl-color-text--deep-purple-A100 { + color: rgb(179,136,255) !important; } + +.mdl-color--deep-purple-A100 { + background-color: rgb(179,136,255) !important; } + +.mdl-color-text--deep-purple-A200 { + color: rgb(124,77,255) !important; } + +.mdl-color--deep-purple-A200 { + background-color: rgb(124,77,255) !important; } + +.mdl-color-text--deep-purple-A400 { + color: rgb(101,31,255) !important; } + +.mdl-color--deep-purple-A400 { + background-color: rgb(101,31,255) !important; } + +.mdl-color-text--deep-purple-A700 { + color: rgb(98,0,234) !important; } + +.mdl-color--deep-purple-A700 { + background-color: rgb(98,0,234) !important; } + +.mdl-color-text--indigo { + color: rgb(63,81,181) !important; } + +.mdl-color--indigo { + background-color: rgb(63,81,181) !important; } + +.mdl-color-text--indigo-50 { + color: rgb(232,234,246) !important; } + +.mdl-color--indigo-50 { + background-color: rgb(232,234,246) !important; } + +.mdl-color-text--indigo-100 { + color: rgb(197,202,233) !important; } + +.mdl-color--indigo-100 { + background-color: rgb(197,202,233) !important; } + +.mdl-color-text--indigo-200 { + color: rgb(159,168,218) !important; } + +.mdl-color--indigo-200 { + background-color: rgb(159,168,218) !important; } + +.mdl-color-text--indigo-300 { + color: rgb(121,134,203) !important; } + +.mdl-color--indigo-300 { + background-color: rgb(121,134,203) !important; } + +.mdl-color-text--indigo-400 { + color: rgb(92,107,192) !important; } + +.mdl-color--indigo-400 { + background-color: rgb(92,107,192) !important; } + +.mdl-color-text--indigo-500 { + color: rgb(63,81,181) !important; } + +.mdl-color--indigo-500 { + background-color: rgb(63,81,181) !important; } + +.mdl-color-text--indigo-600 { + color: rgb(57,73,171) !important; } + +.mdl-color--indigo-600 { + background-color: rgb(57,73,171) !important; } + +.mdl-color-text--indigo-700 { + color: rgb(48,63,159) !important; } + +.mdl-color--indigo-700 { + background-color: rgb(48,63,159) !important; } + +.mdl-color-text--indigo-800 { + color: rgb(40,53,147) !important; } + +.mdl-color--indigo-800 { + background-color: rgb(40,53,147) !important; } + +.mdl-color-text--indigo-900 { + color: rgb(26,35,126) !important; } + +.mdl-color--indigo-900 { + background-color: rgb(26,35,126) !important; } + +.mdl-color-text--indigo-A100 { + color: rgb(140,158,255) !important; } + +.mdl-color--indigo-A100 { + background-color: rgb(140,158,255) !important; } + +.mdl-color-text--indigo-A200 { + color: rgb(83,109,254) !important; } + +.mdl-color--indigo-A200 { + background-color: rgb(83,109,254) !important; } + +.mdl-color-text--indigo-A400 { + color: rgb(61,90,254) !important; } + +.mdl-color--indigo-A400 { + background-color: rgb(61,90,254) !important; } + +.mdl-color-text--indigo-A700 { + color: rgb(48,79,254) !important; } + +.mdl-color--indigo-A700 { + background-color: rgb(48,79,254) !important; } + +.mdl-color-text--blue { + color: rgb(33,150,243) !important; } + +.mdl-color--blue { + background-color: rgb(33,150,243) !important; } + +.mdl-color-text--blue-50 { + color: rgb(227,242,253) !important; } + +.mdl-color--blue-50 { + background-color: rgb(227,242,253) !important; } + +.mdl-color-text--blue-100 { + color: rgb(187,222,251) !important; } + +.mdl-color--blue-100 { + background-color: rgb(187,222,251) !important; } + +.mdl-color-text--blue-200 { + color: rgb(144,202,249) !important; } + +.mdl-color--blue-200 { + background-color: rgb(144,202,249) !important; } + +.mdl-color-text--blue-300 { + color: rgb(100,181,246) !important; } + +.mdl-color--blue-300 { + background-color: rgb(100,181,246) !important; } + +.mdl-color-text--blue-400 { + color: rgb(66,165,245) !important; } + +.mdl-color--blue-400 { + background-color: rgb(66,165,245) !important; } + +.mdl-color-text--blue-500 { + color: rgb(33,150,243) !important; } + +.mdl-color--blue-500 { + background-color: rgb(33,150,243) !important; } + +.mdl-color-text--blue-600 { + color: rgb(30,136,229) !important; } + +.mdl-color--blue-600 { + background-color: rgb(30,136,229) !important; } + +.mdl-color-text--blue-700 { + color: rgb(25,118,210) !important; } + +.mdl-color--blue-700 { + background-color: rgb(25,118,210) !important; } + +.mdl-color-text--blue-800 { + color: rgb(21,101,192) !important; } + +.mdl-color--blue-800 { + background-color: rgb(21,101,192) !important; } + +.mdl-color-text--blue-900 { + color: rgb(13,71,161) !important; } + +.mdl-color--blue-900 { + background-color: rgb(13,71,161) !important; } + +.mdl-color-text--blue-A100 { + color: rgb(130,177,255) !important; } + +.mdl-color--blue-A100 { + background-color: rgb(130,177,255) !important; } + +.mdl-color-text--blue-A200 { + color: rgb(68,138,255) !important; } + +.mdl-color--blue-A200 { + background-color: rgb(68,138,255) !important; } + +.mdl-color-text--blue-A400 { + color: rgb(41,121,255) !important; } + +.mdl-color--blue-A400 { + background-color: rgb(41,121,255) !important; } + +.mdl-color-text--blue-A700 { + color: rgb(41,98,255) !important; } + +.mdl-color--blue-A700 { + background-color: rgb(41,98,255) !important; } + +.mdl-color-text--light-blue { + color: rgb(3,169,244) !important; } + +.mdl-color--light-blue { + background-color: rgb(3,169,244) !important; } + +.mdl-color-text--light-blue-50 { + color: rgb(225,245,254) !important; } + +.mdl-color--light-blue-50 { + background-color: rgb(225,245,254) !important; } + +.mdl-color-text--light-blue-100 { + color: rgb(179,229,252) !important; } + +.mdl-color--light-blue-100 { + background-color: rgb(179,229,252) !important; } + +.mdl-color-text--light-blue-200 { + color: rgb(129,212,250) !important; } + +.mdl-color--light-blue-200 { + background-color: rgb(129,212,250) !important; } + +.mdl-color-text--light-blue-300 { + color: rgb(79,195,247) !important; } + +.mdl-color--light-blue-300 { + background-color: rgb(79,195,247) !important; } + +.mdl-color-text--light-blue-400 { + color: rgb(41,182,246) !important; } + +.mdl-color--light-blue-400 { + background-color: rgb(41,182,246) !important; } + +.mdl-color-text--light-blue-500 { + color: rgb(3,169,244) !important; } + +.mdl-color--light-blue-500 { + background-color: rgb(3,169,244) !important; } + +.mdl-color-text--light-blue-600 { + color: rgb(3,155,229) !important; } + +.mdl-color--light-blue-600 { + background-color: rgb(3,155,229) !important; } + +.mdl-color-text--light-blue-700 { + color: rgb(2,136,209) !important; } + +.mdl-color--light-blue-700 { + background-color: rgb(2,136,209) !important; } + +.mdl-color-text--light-blue-800 { + color: rgb(2,119,189) !important; } + +.mdl-color--light-blue-800 { + background-color: rgb(2,119,189) !important; } + +.mdl-color-text--light-blue-900 { + color: rgb(1,87,155) !important; } + +.mdl-color--light-blue-900 { + background-color: rgb(1,87,155) !important; } + +.mdl-color-text--light-blue-A100 { + color: rgb(128,216,255) !important; } + +.mdl-color--light-blue-A100 { + background-color: rgb(128,216,255) !important; } + +.mdl-color-text--light-blue-A200 { + color: rgb(64,196,255) !important; } + +.mdl-color--light-blue-A200 { + background-color: rgb(64,196,255) !important; } + +.mdl-color-text--light-blue-A400 { + color: rgb(0,176,255) !important; } + +.mdl-color--light-blue-A400 { + background-color: rgb(0,176,255) !important; } + +.mdl-color-text--light-blue-A700 { + color: rgb(0,145,234) !important; } + +.mdl-color--light-blue-A700 { + background-color: rgb(0,145,234) !important; } + +.mdl-color-text--cyan { + color: rgb(0,188,212) !important; } + +.mdl-color--cyan { + background-color: rgb(0,188,212) !important; } + +.mdl-color-text--cyan-50 { + color: rgb(224,247,250) !important; } + +.mdl-color--cyan-50 { + background-color: rgb(224,247,250) !important; } + +.mdl-color-text--cyan-100 { + color: rgb(178,235,242) !important; } + +.mdl-color--cyan-100 { + background-color: rgb(178,235,242) !important; } + +.mdl-color-text--cyan-200 { + color: rgb(128,222,234) !important; } + +.mdl-color--cyan-200 { + background-color: rgb(128,222,234) !important; } + +.mdl-color-text--cyan-300 { + color: rgb(77,208,225) !important; } + +.mdl-color--cyan-300 { + background-color: rgb(77,208,225) !important; } + +.mdl-color-text--cyan-400 { + color: rgb(38,198,218) !important; } + +.mdl-color--cyan-400 { + background-color: rgb(38,198,218) !important; } + +.mdl-color-text--cyan-500 { + color: rgb(0,188,212) !important; } + +.mdl-color--cyan-500 { + background-color: rgb(0,188,212) !important; } + +.mdl-color-text--cyan-600 { + color: rgb(0,172,193) !important; } + +.mdl-color--cyan-600 { + background-color: rgb(0,172,193) !important; } + +.mdl-color-text--cyan-700 { + color: rgb(0,151,167) !important; } + +.mdl-color--cyan-700 { + background-color: rgb(0,151,167) !important; } + +.mdl-color-text--cyan-800 { + color: rgb(0,131,143) !important; } + +.mdl-color--cyan-800 { + background-color: rgb(0,131,143) !important; } + +.mdl-color-text--cyan-900 { + color: rgb(0,96,100) !important; } + +.mdl-color--cyan-900 { + background-color: rgb(0,96,100) !important; } + +.mdl-color-text--cyan-A100 { + color: rgb(132,255,255) !important; } + +.mdl-color--cyan-A100 { + background-color: rgb(132,255,255) !important; } + +.mdl-color-text--cyan-A200 { + color: rgb(24,255,255) !important; } + +.mdl-color--cyan-A200 { + background-color: rgb(24,255,255) !important; } + +.mdl-color-text--cyan-A400 { + color: rgb(0,229,255) !important; } + +.mdl-color--cyan-A400 { + background-color: rgb(0,229,255) !important; } + +.mdl-color-text--cyan-A700 { + color: rgb(0,184,212) !important; } + +.mdl-color--cyan-A700 { + background-color: rgb(0,184,212) !important; } + +.mdl-color-text--teal { + color: rgb(0,150,136) !important; } + +.mdl-color--teal { + background-color: rgb(0,150,136) !important; } + +.mdl-color-text--teal-50 { + color: rgb(224,242,241) !important; } + +.mdl-color--teal-50 { + background-color: rgb(224,242,241) !important; } + +.mdl-color-text--teal-100 { + color: rgb(178,223,219) !important; } + +.mdl-color--teal-100 { + background-color: rgb(178,223,219) !important; } + +.mdl-color-text--teal-200 { + color: rgb(128,203,196) !important; } + +.mdl-color--teal-200 { + background-color: rgb(128,203,196) !important; } + +.mdl-color-text--teal-300 { + color: rgb(77,182,172) !important; } + +.mdl-color--teal-300 { + background-color: rgb(77,182,172) !important; } + +.mdl-color-text--teal-400 { + color: rgb(38,166,154) !important; } + +.mdl-color--teal-400 { + background-color: rgb(38,166,154) !important; } + +.mdl-color-text--teal-500 { + color: rgb(0,150,136) !important; } + +.mdl-color--teal-500 { + background-color: rgb(0,150,136) !important; } + +.mdl-color-text--teal-600 { + color: rgb(0,137,123) !important; } + +.mdl-color--teal-600 { + background-color: rgb(0,137,123) !important; } + +.mdl-color-text--teal-700 { + color: rgb(0,121,107) !important; } + +.mdl-color--teal-700 { + background-color: rgb(0,121,107) !important; } + +.mdl-color-text--teal-800 { + color: rgb(0,105,92) !important; } + +.mdl-color--teal-800 { + background-color: rgb(0,105,92) !important; } + +.mdl-color-text--teal-900 { + color: rgb(0,77,64) !important; } + +.mdl-color--teal-900 { + background-color: rgb(0,77,64) !important; } + +.mdl-color-text--teal-A100 { + color: rgb(167,255,235) !important; } + +.mdl-color--teal-A100 { + background-color: rgb(167,255,235) !important; } + +.mdl-color-text--teal-A200 { + color: rgb(100,255,218) !important; } + +.mdl-color--teal-A200 { + background-color: rgb(100,255,218) !important; } + +.mdl-color-text--teal-A400 { + color: rgb(29,233,182) !important; } + +.mdl-color--teal-A400 { + background-color: rgb(29,233,182) !important; } + +.mdl-color-text--teal-A700 { + color: rgb(0,191,165) !important; } + +.mdl-color--teal-A700 { + background-color: rgb(0,191,165) !important; } + +.mdl-color-text--green { + color: rgb(76,175,80) !important; } + +.mdl-color--green { + background-color: rgb(76,175,80) !important; } + +.mdl-color-text--green-50 { + color: rgb(232,245,233) !important; } + +.mdl-color--green-50 { + background-color: rgb(232,245,233) !important; } + +.mdl-color-text--green-100 { + color: rgb(200,230,201) !important; } + +.mdl-color--green-100 { + background-color: rgb(200,230,201) !important; } + +.mdl-color-text--green-200 { + color: rgb(165,214,167) !important; } + +.mdl-color--green-200 { + background-color: rgb(165,214,167) !important; } + +.mdl-color-text--green-300 { + color: rgb(129,199,132) !important; } + +.mdl-color--green-300 { + background-color: rgb(129,199,132) !important; } + +.mdl-color-text--green-400 { + color: rgb(102,187,106) !important; } + +.mdl-color--green-400 { + background-color: rgb(102,187,106) !important; } + +.mdl-color-text--green-500 { + color: rgb(76,175,80) !important; } + +.mdl-color--green-500 { + background-color: rgb(76,175,80) !important; } + +.mdl-color-text--green-600 { + color: rgb(67,160,71) !important; } + +.mdl-color--green-600 { + background-color: rgb(67,160,71) !important; } + +.mdl-color-text--green-700 { + color: rgb(56,142,60) !important; } + +.mdl-color--green-700 { + background-color: rgb(56,142,60) !important; } + +.mdl-color-text--green-800 { + color: rgb(46,125,50) !important; } + +.mdl-color--green-800 { + background-color: rgb(46,125,50) !important; } + +.mdl-color-text--green-900 { + color: rgb(27,94,32) !important; } + +.mdl-color--green-900 { + background-color: rgb(27,94,32) !important; } + +.mdl-color-text--green-A100 { + color: rgb(185,246,202) !important; } + +.mdl-color--green-A100 { + background-color: rgb(185,246,202) !important; } + +.mdl-color-text--green-A200 { + color: rgb(105,240,174) !important; } + +.mdl-color--green-A200 { + background-color: rgb(105,240,174) !important; } + +.mdl-color-text--green-A400 { + color: rgb(0,230,118) !important; } + +.mdl-color--green-A400 { + background-color: rgb(0,230,118) !important; } + +.mdl-color-text--green-A700 { + color: rgb(0,200,83) !important; } + +.mdl-color--green-A700 { + background-color: rgb(0,200,83) !important; } + +.mdl-color-text--light-green { + color: rgb(139,195,74) !important; } + +.mdl-color--light-green { + background-color: rgb(139,195,74) !important; } + +.mdl-color-text--light-green-50 { + color: rgb(241,248,233) !important; } + +.mdl-color--light-green-50 { + background-color: rgb(241,248,233) !important; } + +.mdl-color-text--light-green-100 { + color: rgb(220,237,200) !important; } + +.mdl-color--light-green-100 { + background-color: rgb(220,237,200) !important; } + +.mdl-color-text--light-green-200 { + color: rgb(197,225,165) !important; } + +.mdl-color--light-green-200 { + background-color: rgb(197,225,165) !important; } + +.mdl-color-text--light-green-300 { + color: rgb(174,213,129) !important; } + +.mdl-color--light-green-300 { + background-color: rgb(174,213,129) !important; } + +.mdl-color-text--light-green-400 { + color: rgb(156,204,101) !important; } + +.mdl-color--light-green-400 { + background-color: rgb(156,204,101) !important; } + +.mdl-color-text--light-green-500 { + color: rgb(139,195,74) !important; } + +.mdl-color--light-green-500 { + background-color: rgb(139,195,74) !important; } + +.mdl-color-text--light-green-600 { + color: rgb(124,179,66) !important; } + +.mdl-color--light-green-600 { + background-color: rgb(124,179,66) !important; } + +.mdl-color-text--light-green-700 { + color: rgb(104,159,56) !important; } + +.mdl-color--light-green-700 { + background-color: rgb(104,159,56) !important; } + +.mdl-color-text--light-green-800 { + color: rgb(85,139,47) !important; } + +.mdl-color--light-green-800 { + background-color: rgb(85,139,47) !important; } + +.mdl-color-text--light-green-900 { + color: rgb(51,105,30) !important; } + +.mdl-color--light-green-900 { + background-color: rgb(51,105,30) !important; } + +.mdl-color-text--light-green-A100 { + color: rgb(204,255,144) !important; } + +.mdl-color--light-green-A100 { + background-color: rgb(204,255,144) !important; } + +.mdl-color-text--light-green-A200 { + color: rgb(178,255,89) !important; } + +.mdl-color--light-green-A200 { + background-color: rgb(178,255,89) !important; } + +.mdl-color-text--light-green-A400 { + color: rgb(118,255,3) !important; } + +.mdl-color--light-green-A400 { + background-color: rgb(118,255,3) !important; } + +.mdl-color-text--light-green-A700 { + color: rgb(100,221,23) !important; } + +.mdl-color--light-green-A700 { + background-color: rgb(100,221,23) !important; } + +.mdl-color-text--lime { + color: rgb(205,220,57) !important; } + +.mdl-color--lime { + background-color: rgb(205,220,57) !important; } + +.mdl-color-text--lime-50 { + color: rgb(249,251,231) !important; } + +.mdl-color--lime-50 { + background-color: rgb(249,251,231) !important; } + +.mdl-color-text--lime-100 { + color: rgb(240,244,195) !important; } + +.mdl-color--lime-100 { + background-color: rgb(240,244,195) !important; } + +.mdl-color-text--lime-200 { + color: rgb(230,238,156) !important; } + +.mdl-color--lime-200 { + background-color: rgb(230,238,156) !important; } + +.mdl-color-text--lime-300 { + color: rgb(220,231,117) !important; } + +.mdl-color--lime-300 { + background-color: rgb(220,231,117) !important; } + +.mdl-color-text--lime-400 { + color: rgb(212,225,87) !important; } + +.mdl-color--lime-400 { + background-color: rgb(212,225,87) !important; } + +.mdl-color-text--lime-500 { + color: rgb(205,220,57) !important; } + +.mdl-color--lime-500 { + background-color: rgb(205,220,57) !important; } + +.mdl-color-text--lime-600 { + color: rgb(192,202,51) !important; } + +.mdl-color--lime-600 { + background-color: rgb(192,202,51) !important; } + +.mdl-color-text--lime-700 { + color: rgb(175,180,43) !important; } + +.mdl-color--lime-700 { + background-color: rgb(175,180,43) !important; } + +.mdl-color-text--lime-800 { + color: rgb(158,157,36) !important; } + +.mdl-color--lime-800 { + background-color: rgb(158,157,36) !important; } + +.mdl-color-text--lime-900 { + color: rgb(130,119,23) !important; } + +.mdl-color--lime-900 { + background-color: rgb(130,119,23) !important; } + +.mdl-color-text--lime-A100 { + color: rgb(244,255,129) !important; } + +.mdl-color--lime-A100 { + background-color: rgb(244,255,129) !important; } + +.mdl-color-text--lime-A200 { + color: rgb(238,255,65) !important; } + +.mdl-color--lime-A200 { + background-color: rgb(238,255,65) !important; } + +.mdl-color-text--lime-A400 { + color: rgb(198,255,0) !important; } + +.mdl-color--lime-A400 { + background-color: rgb(198,255,0) !important; } + +.mdl-color-text--lime-A700 { + color: rgb(174,234,0) !important; } + +.mdl-color--lime-A700 { + background-color: rgb(174,234,0) !important; } + +.mdl-color-text--yellow { + color: rgb(255,235,59) !important; } + +.mdl-color--yellow { + background-color: rgb(255,235,59) !important; } + +.mdl-color-text--yellow-50 { + color: rgb(255,253,231) !important; } + +.mdl-color--yellow-50 { + background-color: rgb(255,253,231) !important; } + +.mdl-color-text--yellow-100 { + color: rgb(255,249,196) !important; } + +.mdl-color--yellow-100 { + background-color: rgb(255,249,196) !important; } + +.mdl-color-text--yellow-200 { + color: rgb(255,245,157) !important; } + +.mdl-color--yellow-200 { + background-color: rgb(255,245,157) !important; } + +.mdl-color-text--yellow-300 { + color: rgb(255,241,118) !important; } + +.mdl-color--yellow-300 { + background-color: rgb(255,241,118) !important; } + +.mdl-color-text--yellow-400 { + color: rgb(255,238,88) !important; } + +.mdl-color--yellow-400 { + background-color: rgb(255,238,88) !important; } + +.mdl-color-text--yellow-500 { + color: rgb(255,235,59) !important; } + +.mdl-color--yellow-500 { + background-color: rgb(255,235,59) !important; } + +.mdl-color-text--yellow-600 { + color: rgb(253,216,53) !important; } + +.mdl-color--yellow-600 { + background-color: rgb(253,216,53) !important; } + +.mdl-color-text--yellow-700 { + color: rgb(251,192,45) !important; } + +.mdl-color--yellow-700 { + background-color: rgb(251,192,45) !important; } + +.mdl-color-text--yellow-800 { + color: rgb(249,168,37) !important; } + +.mdl-color--yellow-800 { + background-color: rgb(249,168,37) !important; } + +.mdl-color-text--yellow-900 { + color: rgb(245,127,23) !important; } + +.mdl-color--yellow-900 { + background-color: rgb(245,127,23) !important; } + +.mdl-color-text--yellow-A100 { + color: rgb(255,255,141) !important; } + +.mdl-color--yellow-A100 { + background-color: rgb(255,255,141) !important; } + +.mdl-color-text--yellow-A200 { + color: rgb(255,255,0) !important; } + +.mdl-color--yellow-A200 { + background-color: rgb(255,255,0) !important; } + +.mdl-color-text--yellow-A400 { + color: rgb(255,234,0) !important; } + +.mdl-color--yellow-A400 { + background-color: rgb(255,234,0) !important; } + +.mdl-color-text--yellow-A700 { + color: rgb(255,214,0) !important; } + +.mdl-color--yellow-A700 { + background-color: rgb(255,214,0) !important; } + +.mdl-color-text--amber { + color: rgb(255,193,7) !important; } + +.mdl-color--amber { + background-color: rgb(255,193,7) !important; } + +.mdl-color-text--amber-50 { + color: rgb(255,248,225) !important; } + +.mdl-color--amber-50 { + background-color: rgb(255,248,225) !important; } + +.mdl-color-text--amber-100 { + color: rgb(255,236,179) !important; } + +.mdl-color--amber-100 { + background-color: rgb(255,236,179) !important; } + +.mdl-color-text--amber-200 { + color: rgb(255,224,130) !important; } + +.mdl-color--amber-200 { + background-color: rgb(255,224,130) !important; } + +.mdl-color-text--amber-300 { + color: rgb(255,213,79) !important; } + +.mdl-color--amber-300 { + background-color: rgb(255,213,79) !important; } + +.mdl-color-text--amber-400 { + color: rgb(255,202,40) !important; } + +.mdl-color--amber-400 { + background-color: rgb(255,202,40) !important; } + +.mdl-color-text--amber-500 { + color: rgb(255,193,7) !important; } + +.mdl-color--amber-500 { + background-color: rgb(255,193,7) !important; } + +.mdl-color-text--amber-600 { + color: rgb(255,179,0) !important; } + +.mdl-color--amber-600 { + background-color: rgb(255,179,0) !important; } + +.mdl-color-text--amber-700 { + color: rgb(255,160,0) !important; } + +.mdl-color--amber-700 { + background-color: rgb(255,160,0) !important; } + +.mdl-color-text--amber-800 { + color: rgb(255,143,0) !important; } + +.mdl-color--amber-800 { + background-color: rgb(255,143,0) !important; } + +.mdl-color-text--amber-900 { + color: rgb(255,111,0) !important; } + +.mdl-color--amber-900 { + background-color: rgb(255,111,0) !important; } + +.mdl-color-text--amber-A100 { + color: rgb(255,229,127) !important; } + +.mdl-color--amber-A100 { + background-color: rgb(255,229,127) !important; } + +.mdl-color-text--amber-A200 { + color: rgb(255,215,64) !important; } + +.mdl-color--amber-A200 { + background-color: rgb(255,215,64) !important; } + +.mdl-color-text--amber-A400 { + color: rgb(255,196,0) !important; } + +.mdl-color--amber-A400 { + background-color: rgb(255,196,0) !important; } + +.mdl-color-text--amber-A700 { + color: rgb(255,171,0) !important; } + +.mdl-color--amber-A700 { + background-color: rgb(255,171,0) !important; } + +.mdl-color-text--orange { + color: rgb(255,152,0) !important; } + +.mdl-color--orange { + background-color: rgb(255,152,0) !important; } + +.mdl-color-text--orange-50 { + color: rgb(255,243,224) !important; } + +.mdl-color--orange-50 { + background-color: rgb(255,243,224) !important; } + +.mdl-color-text--orange-100 { + color: rgb(255,224,178) !important; } + +.mdl-color--orange-100 { + background-color: rgb(255,224,178) !important; } + +.mdl-color-text--orange-200 { + color: rgb(255,204,128) !important; } + +.mdl-color--orange-200 { + background-color: rgb(255,204,128) !important; } + +.mdl-color-text--orange-300 { + color: rgb(255,183,77) !important; } + +.mdl-color--orange-300 { + background-color: rgb(255,183,77) !important; } + +.mdl-color-text--orange-400 { + color: rgb(255,167,38) !important; } + +.mdl-color--orange-400 { + background-color: rgb(255,167,38) !important; } + +.mdl-color-text--orange-500 { + color: rgb(255,152,0) !important; } + +.mdl-color--orange-500 { + background-color: rgb(255,152,0) !important; } + +.mdl-color-text--orange-600 { + color: rgb(251,140,0) !important; } + +.mdl-color--orange-600 { + background-color: rgb(251,140,0) !important; } + +.mdl-color-text--orange-700 { + color: rgb(245,124,0) !important; } + +.mdl-color--orange-700 { + background-color: rgb(245,124,0) !important; } + +.mdl-color-text--orange-800 { + color: rgb(239,108,0) !important; } + +.mdl-color--orange-800 { + background-color: rgb(239,108,0) !important; } + +.mdl-color-text--orange-900 { + color: rgb(230,81,0) !important; } + +.mdl-color--orange-900 { + background-color: rgb(230,81,0) !important; } + +.mdl-color-text--orange-A100 { + color: rgb(255,209,128) !important; } + +.mdl-color--orange-A100 { + background-color: rgb(255,209,128) !important; } + +.mdl-color-text--orange-A200 { + color: rgb(255,171,64) !important; } + +.mdl-color--orange-A200 { + background-color: rgb(255,171,64) !important; } + +.mdl-color-text--orange-A400 { + color: rgb(255,145,0) !important; } + +.mdl-color--orange-A400 { + background-color: rgb(255,145,0) !important; } + +.mdl-color-text--orange-A700 { + color: rgb(255,109,0) !important; } + +.mdl-color--orange-A700 { + background-color: rgb(255,109,0) !important; } + +.mdl-color-text--deep-orange { + color: rgb(255,87,34) !important; } + +.mdl-color--deep-orange { + background-color: rgb(255,87,34) !important; } + +.mdl-color-text--deep-orange-50 { + color: rgb(251,233,231) !important; } + +.mdl-color--deep-orange-50 { + background-color: rgb(251,233,231) !important; } + +.mdl-color-text--deep-orange-100 { + color: rgb(255,204,188) !important; } + +.mdl-color--deep-orange-100 { + background-color: rgb(255,204,188) !important; } + +.mdl-color-text--deep-orange-200 { + color: rgb(255,171,145) !important; } + +.mdl-color--deep-orange-200 { + background-color: rgb(255,171,145) !important; } + +.mdl-color-text--deep-orange-300 { + color: rgb(255,138,101) !important; } + +.mdl-color--deep-orange-300 { + background-color: rgb(255,138,101) !important; } + +.mdl-color-text--deep-orange-400 { + color: rgb(255,112,67) !important; } + +.mdl-color--deep-orange-400 { + background-color: rgb(255,112,67) !important; } + +.mdl-color-text--deep-orange-500 { + color: rgb(255,87,34) !important; } + +.mdl-color--deep-orange-500 { + background-color: rgb(255,87,34) !important; } + +.mdl-color-text--deep-orange-600 { + color: rgb(244,81,30) !important; } + +.mdl-color--deep-orange-600 { + background-color: rgb(244,81,30) !important; } + +.mdl-color-text--deep-orange-700 { + color: rgb(230,74,25) !important; } + +.mdl-color--deep-orange-700 { + background-color: rgb(230,74,25) !important; } + +.mdl-color-text--deep-orange-800 { + color: rgb(216,67,21) !important; } + +.mdl-color--deep-orange-800 { + background-color: rgb(216,67,21) !important; } + +.mdl-color-text--deep-orange-900 { + color: rgb(191,54,12) !important; } + +.mdl-color--deep-orange-900 { + background-color: rgb(191,54,12) !important; } + +.mdl-color-text--deep-orange-A100 { + color: rgb(255,158,128) !important; } + +.mdl-color--deep-orange-A100 { + background-color: rgb(255,158,128) !important; } + +.mdl-color-text--deep-orange-A200 { + color: rgb(255,110,64) !important; } + +.mdl-color--deep-orange-A200 { + background-color: rgb(255,110,64) !important; } + +.mdl-color-text--deep-orange-A400 { + color: rgb(255,61,0) !important; } + +.mdl-color--deep-orange-A400 { + background-color: rgb(255,61,0) !important; } + +.mdl-color-text--deep-orange-A700 { + color: rgb(221,44,0) !important; } + +.mdl-color--deep-orange-A700 { + background-color: rgb(221,44,0) !important; } + +.mdl-color-text--brown { + color: rgb(121,85,72) !important; } + +.mdl-color--brown { + background-color: rgb(121,85,72) !important; } + +.mdl-color-text--brown-50 { + color: rgb(239,235,233) !important; } + +.mdl-color--brown-50 { + background-color: rgb(239,235,233) !important; } + +.mdl-color-text--brown-100 { + color: rgb(215,204,200) !important; } + +.mdl-color--brown-100 { + background-color: rgb(215,204,200) !important; } + +.mdl-color-text--brown-200 { + color: rgb(188,170,164) !important; } + +.mdl-color--brown-200 { + background-color: rgb(188,170,164) !important; } + +.mdl-color-text--brown-300 { + color: rgb(161,136,127) !important; } + +.mdl-color--brown-300 { + background-color: rgb(161,136,127) !important; } + +.mdl-color-text--brown-400 { + color: rgb(141,110,99) !important; } + +.mdl-color--brown-400 { + background-color: rgb(141,110,99) !important; } + +.mdl-color-text--brown-500 { + color: rgb(121,85,72) !important; } + +.mdl-color--brown-500 { + background-color: rgb(121,85,72) !important; } + +.mdl-color-text--brown-600 { + color: rgb(109,76,65) !important; } + +.mdl-color--brown-600 { + background-color: rgb(109,76,65) !important; } + +.mdl-color-text--brown-700 { + color: rgb(93,64,55) !important; } + +.mdl-color--brown-700 { + background-color: rgb(93,64,55) !important; } + +.mdl-color-text--brown-800 { + color: rgb(78,52,46) !important; } + +.mdl-color--brown-800 { + background-color: rgb(78,52,46) !important; } + +.mdl-color-text--brown-900 { + color: rgb(62,39,35) !important; } + +.mdl-color--brown-900 { + background-color: rgb(62,39,35) !important; } + +.mdl-color-text--grey { + color: rgb(158,158,158) !important; } + +.mdl-color--grey { + background-color: rgb(158,158,158) !important; } + +.mdl-color-text--grey-50 { + color: rgb(250,250,250) !important; } + +.mdl-color--grey-50 { + background-color: rgb(250,250,250) !important; } + +.mdl-color-text--grey-100 { + color: rgb(245,245,245) !important; } + +.mdl-color--grey-100 { + background-color: rgb(245,245,245) !important; } + +.mdl-color-text--grey-200 { + color: rgb(238,238,238) !important; } + +.mdl-color--grey-200 { + background-color: rgb(238,238,238) !important; } + +.mdl-color-text--grey-300 { + color: rgb(224,224,224) !important; } + +.mdl-color--grey-300 { + background-color: rgb(224,224,224) !important; } + +.mdl-color-text--grey-400 { + color: rgb(189,189,189) !important; } + +.mdl-color--grey-400 { + background-color: rgb(189,189,189) !important; } + +.mdl-color-text--grey-500 { + color: rgb(158,158,158) !important; } + +.mdl-color--grey-500 { + background-color: rgb(158,158,158) !important; } + +.mdl-color-text--grey-600 { + color: rgb(117,117,117) !important; } + +.mdl-color--grey-600 { + background-color: rgb(117,117,117) !important; } + +.mdl-color-text--grey-700 { + color: rgb(97,97,97) !important; } + +.mdl-color--grey-700 { + background-color: rgb(97,97,97) !important; } + +.mdl-color-text--grey-800 { + color: rgb(66,66,66) !important; } + +.mdl-color--grey-800 { + background-color: rgb(66,66,66) !important; } + +.mdl-color-text--grey-900 { + color: rgb(33,33,33) !important; } + +.mdl-color--grey-900 { + background-color: rgb(33,33,33) !important; } + +.mdl-color-text--blue-grey { + color: rgb(96,125,139) !important; } + +.mdl-color--blue-grey { + background-color: rgb(96,125,139) !important; } + +.mdl-color-text--blue-grey-50 { + color: rgb(236,239,241) !important; } + +.mdl-color--blue-grey-50 { + background-color: rgb(236,239,241) !important; } + +.mdl-color-text--blue-grey-100 { + color: rgb(207,216,220) !important; } + +.mdl-color--blue-grey-100 { + background-color: rgb(207,216,220) !important; } + +.mdl-color-text--blue-grey-200 { + color: rgb(176,190,197) !important; } + +.mdl-color--blue-grey-200 { + background-color: rgb(176,190,197) !important; } + +.mdl-color-text--blue-grey-300 { + color: rgb(144,164,174) !important; } + +.mdl-color--blue-grey-300 { + background-color: rgb(144,164,174) !important; } + +.mdl-color-text--blue-grey-400 { + color: rgb(120,144,156) !important; } + +.mdl-color--blue-grey-400 { + background-color: rgb(120,144,156) !important; } + +.mdl-color-text--blue-grey-500 { + color: rgb(96,125,139) !important; } + +.mdl-color--blue-grey-500 { + background-color: rgb(96,125,139) !important; } + +.mdl-color-text--blue-grey-600 { + color: rgb(84,110,122) !important; } + +.mdl-color--blue-grey-600 { + background-color: rgb(84,110,122) !important; } + +.mdl-color-text--blue-grey-700 { + color: rgb(69,90,100) !important; } + +.mdl-color--blue-grey-700 { + background-color: rgb(69,90,100) !important; } + +.mdl-color-text--blue-grey-800 { + color: rgb(55,71,79) !important; } + +.mdl-color--blue-grey-800 { + background-color: rgb(55,71,79) !important; } + +.mdl-color-text--blue-grey-900 { + color: rgb(38,50,56) !important; } + +.mdl-color--blue-grey-900 { + background-color: rgb(38,50,56) !important; } + +.mdl-color--black { + background-color: rgb(0,0,0) !important; } + +.mdl-color-text--black { + color: rgb(0,0,0) !important; } + +.mdl-color--white { + background-color: rgb(255,255,255) !important; } + +.mdl-color-text--white { + color: rgb(255,255,255) !important; } + +.mdl-color--primary { + background-color: rgb(63,81,181) !important; } + +.mdl-color--primary-contrast { + background-color: rgb(255,255,255) !important; } + +.mdl-color--primary-dark { + background-color: rgb(48,63,159) !important; } + +.mdl-color--accent { + background-color: rgb(255,64,129) !important; } + +.mdl-color--accent-contrast { + background-color: rgb(255,255,255) !important; } + +.mdl-color-text--primary { + color: rgb(63,81,181) !important; } + +.mdl-color-text--primary-contrast { + color: rgb(255,255,255) !important; } + +.mdl-color-text--primary-dark { + color: rgb(48,63,159) !important; } + +.mdl-color-text--accent { + color: rgb(255,64,129) !important; } + +.mdl-color-text--accent-contrast { + color: rgb(255,255,255) !important; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-ripple { + background: rgb(0,0,0); + border-radius: 50%; + height: 50px; + left: 0; + opacity: 0; + pointer-events: none; + position: absolute; + top: 0; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + width: 50px; + overflow: hidden; } + .mdl-ripple.is-animating { + transition: width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0, 0, 0.2, 1); } + .mdl-ripple.is-visible { + opacity: 0.3; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-animation--default { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + +.mdl-animation--fast-out-slow-in { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + +.mdl-animation--linear-out-slow-in { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); } + +.mdl-animation--fast-out-linear-in { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-badge { + position: relative; + white-space: nowrap; + margin-right: 24px; } + .mdl-badge:not([data-badge]) { + margin-right: auto; } + .mdl-badge[data-badge]:after { + content: attr(data-badge); + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-content: center; + -ms-flex-line-pack: center; + align-content: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + position: absolute; + top: -11px; + right: -24px; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-weight: 600; + font-size: 12px; + width: 22px; + height: 22px; + border-radius: 50%; + background: rgb(255,64,129); + color: rgb(255,255,255); } + .mdl-button .mdl-badge[data-badge]:after { + top: -10px; + right: -5px; } + .mdl-badge.mdl-badge--no-background[data-badge]:after { + color: rgb(255,64,129); + background: rgba(255,255,255,0.2); + box-shadow: 0 0 1px gray; } + .mdl-badge.mdl-badge--overlap { + margin-right: 10px; } + .mdl-badge.mdl-badge--overlap:after { + right: -10px; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-button { + background: transparent; + border: none; + border-radius: 2px; + color: rgb(0,0,0); + position: relative; + height: 36px; + margin: 0; + min-width: 64px; + padding: 0 16px; + display: inline-block; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; + overflow: hidden; + will-change: box-shadow; + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); + outline: none; + cursor: pointer; + text-decoration: none; + text-align: center; + line-height: 36px; + vertical-align: middle; } + .mdl-button::-moz-focus-inner { + border: 0; } + .mdl-button:hover { + background-color: rgba(158,158,158, 0.20); } + .mdl-button:focus:not(:active) { + background-color: rgba(0,0,0, 0.12); } + .mdl-button:active { + background-color: rgba(158,158,158, 0.40); } + .mdl-button.mdl-button--colored { + color: rgb(63,81,181); } + .mdl-button.mdl-button--colored:focus:not(:active) { + background-color: rgba(0,0,0, 0.12); } + +input.mdl-button[type="submit"] { + -webkit-appearance: none; } + +.mdl-button--raised { + background: rgba(158,158,158, 0.20); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + .mdl-button--raised:active { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--raised:focus:not(:active) { + box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--raised.mdl-button--colored { + background: rgb(63,81,181); + color: rgb(255,255,255); } + .mdl-button--raised.mdl-button--colored:hover { + background-color: rgb(63,81,181); } + .mdl-button--raised.mdl-button--colored:active { + background-color: rgb(63,81,181); } + .mdl-button--raised.mdl-button--colored:focus:not(:active) { + background-color: rgb(63,81,181); } + .mdl-button--raised.mdl-button--colored .mdl-ripple { + background: rgb(255,255,255); } + +.mdl-button--fab { + border-radius: 50%; + font-size: 24px; + height: 56px; + margin: auto; + min-width: 56px; + width: 56px; + padding: 0; + overflow: hidden; + background: rgba(158,158,158, 0.20); + box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24); + position: relative; + line-height: normal; } + .mdl-button--fab .material-icons { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px; } + .mdl-button--fab.mdl-button--mini-fab { + height: 40px; + min-width: 40px; + width: 40px; } + .mdl-button--fab .mdl-button__ripple-container { + border-radius: 50%; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-button--fab:active { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--fab:focus:not(:active) { + box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--fab.mdl-button--colored { + background: rgb(255,64,129); + color: rgb(255,255,255); } + .mdl-button--fab.mdl-button--colored:hover { + background-color: rgb(255,64,129); } + .mdl-button--fab.mdl-button--colored:focus:not(:active) { + background-color: rgb(255,64,129); } + .mdl-button--fab.mdl-button--colored:active { + background-color: rgb(255,64,129); } + .mdl-button--fab.mdl-button--colored .mdl-ripple { + background: rgb(255,255,255); } + +.mdl-button--icon { + border-radius: 50%; + font-size: 24px; + height: 32px; + margin-left: 0; + margin-right: 0; + min-width: 32px; + width: 32px; + padding: 0; + overflow: hidden; + color: inherit; + line-height: normal; } + .mdl-button--icon .material-icons { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px; } + .mdl-button--icon.mdl-button--mini-icon { + height: 24px; + min-width: 24px; + width: 24px; } + .mdl-button--icon.mdl-button--mini-icon .material-icons { + top: 0px; + left: 0px; } + .mdl-button--icon .mdl-button__ripple-container { + border-radius: 50%; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + +.mdl-button__ripple-container { + display: block; + height: 100%; + left: 0px; + position: absolute; + top: 0px; + width: 100%; + z-index: 0; + overflow: hidden; } + .mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple, + .mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple { + background-color: transparent; } + +.mdl-button--primary.mdl-button--primary { + color: rgb(63,81,181); } + .mdl-button--primary.mdl-button--primary .mdl-ripple { + background: rgb(255,255,255); } + .mdl-button--primary.mdl-button--primary.mdl-button--raised, .mdl-button--primary.mdl-button--primary.mdl-button--fab { + color: rgb(255,255,255); + background-color: rgb(63,81,181); } + +.mdl-button--accent.mdl-button--accent { + color: rgb(255,64,129); } + .mdl-button--accent.mdl-button--accent .mdl-ripple { + background: rgb(255,255,255); } + .mdl-button--accent.mdl-button--accent.mdl-button--raised, .mdl-button--accent.mdl-button--accent.mdl-button--fab { + color: rgb(255,255,255); + background-color: rgb(255,64,129); } + +.mdl-button[disabled][disabled], .mdl-button.mdl-button--disabled.mdl-button--disabled { + color: rgba(0,0,0, 0.26); + cursor: default; + background-color: transparent; } + +.mdl-button--fab[disabled][disabled], .mdl-button--fab.mdl-button--disabled.mdl-button--disabled { + background-color: rgba(0,0,0, 0.12); + color: rgba(0,0,0, 0.26); } + +.mdl-button--raised[disabled][disabled], .mdl-button--raised.mdl-button--disabled.mdl-button--disabled { + background-color: rgba(0,0,0, 0.12); + color: rgba(0,0,0, 0.26); + box-shadow: none; } + +.mdl-button--colored[disabled][disabled], .mdl-button--colored.mdl-button--disabled.mdl-button--disabled { + color: rgba(0,0,0, 0.26); } + +.mdl-button .material-icons { + vertical-align: middle; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-card { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + font-size: 16px; + font-weight: 400; + min-height: 200px; + overflow: hidden; + width: 330px; + z-index: 1; + position: relative; + background: rgb(255,255,255); + border-radius: 2px; + box-sizing: border-box; } + +.mdl-card__media { + background-color: rgb(255,64,129); + background-repeat: repeat; + background-position: 50% 50%; + background-size: cover; + background-origin: padding-box; + background-attachment: scroll; + box-sizing: border-box; } + +.mdl-card__title { + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + color: rgb(0,0,0); + display: block; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: stretch; + -ms-flex-pack: stretch; + justify-content: stretch; + line-height: normal; + padding: 16px 16px; + -webkit-perspective-origin: 165px 56px; + perspective-origin: 165px 56px; + -webkit-transform-origin: 165px 56px; + transform-origin: 165px 56px; + box-sizing: border-box; } + .mdl-card__title.mdl-card--border { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); } + +.mdl-card__title-text { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + color: inherit; + display: block; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + font-size: 24px; + font-weight: 300; + line-height: normal; + overflow: hidden; + -webkit-transform-origin: 149px 48px; + transform-origin: 149px 48px; + margin: 0; } + +.mdl-card__subtitle-text { + font-size: 14px; + color: rgba(0,0,0, 0.54); + margin: 0; } + +.mdl-card__supporting-text { + color: rgba(0,0,0, 0.54); + font-size: 1rem; + line-height: 18px; + overflow: hidden; + padding: 16px 16px; + width: 90%; } + .mdl-card__supporting-text.mdl-card--border { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); } + +.mdl-card__actions { + font-size: 16px; + line-height: normal; + width: 100%; + background-color: transparent; + padding: 8px; + box-sizing: border-box; } + .mdl-card__actions.mdl-card--border { + border-top: 1px solid rgba(0, 0, 0, 0.1); } + +.mdl-card--expand { + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + +.mdl-card__menu { + position: absolute; + right: 16px; + top: 16px; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-checkbox { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + box-sizing: border-box; + width: 100%; + height: 24px; + margin: 0; + padding: 0; } + .mdl-checkbox.is-upgraded { + padding-left: 24px; } + +.mdl-checkbox__input { + line-height: 24px; } + .mdl-checkbox.is-upgraded .mdl-checkbox__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-checkbox__box-outline { + position: absolute; + top: 3px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + overflow: hidden; + border: 2px solid rgba(0,0,0, 0.54); + border-radius: 2px; + z-index: 2; } + .mdl-checkbox.is-checked .mdl-checkbox__box-outline { + border: 2px solid rgb(63,81,181); } + fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, + .mdl-checkbox.is-disabled .mdl-checkbox__box-outline { + border: 2px solid rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-checkbox__focus-helper { + position: absolute; + top: 3px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + border-radius: 50%; + background-color: transparent; } + .mdl-checkbox.is-focused .mdl-checkbox__focus-helper { + box-shadow: 0 0 0px 8px rgba(0, 0, 0, 0.1); + background-color: rgba(0, 0, 0, 0.1); } + .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper { + box-shadow: 0 0 0px 8px rgba(63,81,181, 0.26); + background-color: rgba(63,81,181, 0.26); } + +.mdl-checkbox__tick-outline { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); + mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); + background: transparent; + transition-duration: 0.28s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-property: background; } + .mdl-checkbox.is-checked .mdl-checkbox__tick-outline { + background: rgb(63,81,181) url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K"); } + fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline, + .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline { + background: rgba(0,0,0, 0.26) url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K"); } + +.mdl-checkbox__label { + position: relative; + cursor: pointer; + font-size: 16px; + line-height: 24px; + margin: 0; } + fieldset[disabled] .mdl-checkbox .mdl-checkbox__label, + .mdl-checkbox.is-disabled .mdl-checkbox__label { + color: rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-checkbox__ripple-container { + position: absolute; + z-index: 2; + top: -6px; + left: -10px; + box-sizing: border-box; + width: 36px; + height: 36px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-checkbox__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container, + .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container { + cursor: auto; } + fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, + .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple { + background: transparent; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-chip { + height: 32px; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + line-height: 32px; + padding: 0 12px; + border: 0; + border-radius: 16px; + background-color: #dedede; + display: inline-block; + color: rgba(0,0,0, 0.87); + margin: 2px 0; + font-size: 0; + white-space: nowrap; } + .mdl-chip__text { + font-size: 13px; + vertical-align: middle; + display: inline-block; } + .mdl-chip__action { + height: 24px; + width: 24px; + background: transparent; + opacity: 0.54; + display: inline-block; + cursor: pointer; + text-align: center; + vertical-align: middle; + padding: 0; + margin: 0 0 0 4px; + font-size: 13px; + text-decoration: none; + color: rgba(0,0,0, 0.87); + border: none; + outline: none; + overflow: hidden; } + .mdl-chip__contact { + height: 32px; + width: 32px; + border-radius: 16px; + display: inline-block; + vertical-align: middle; + margin-right: 8px; + overflow: hidden; + text-align: center; + font-size: 18px; + line-height: 32px; } + .mdl-chip:focus { + outline: 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + .mdl-chip:active { + background-color: #d6d6d6; } + .mdl-chip--deletable { + padding-right: 4px; } + .mdl-chip--contact { + padding-left: 0; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-data-table { + position: relative; + border: 1px solid rgba(0, 0, 0, 0.12); + border-collapse: collapse; + white-space: nowrap; + font-size: 13px; + background-color: rgb(255,255,255); } + .mdl-data-table thead { + padding-bottom: 3px; } + .mdl-data-table thead .mdl-data-table__select { + margin-top: 0; } + .mdl-data-table tbody tr { + position: relative; + height: 48px; + transition-duration: 0.28s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-property: background-color; } + .mdl-data-table tbody tr.is-selected { + background-color: #e0e0e0; } + .mdl-data-table tbody tr:hover { + background-color: #eeeeee; } + .mdl-data-table td, .mdl-data-table th { + padding: 0 18px 12px 18px; + text-align: right; } + .mdl-data-table td:first-of-type, .mdl-data-table th:first-of-type { + padding-left: 24px; } + .mdl-data-table td:last-of-type, .mdl-data-table th:last-of-type { + padding-right: 24px; } + .mdl-data-table td { + position: relative; + vertical-align: middle; + height: 48px; + border-top: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + padding-top: 12px; + box-sizing: border-box; } + .mdl-data-table td .mdl-data-table__select { + vertical-align: middle; } + .mdl-data-table th { + position: relative; + vertical-align: bottom; + text-overflow: ellipsis; + font-size: 14px; + font-weight: bold; + line-height: 24px; + letter-spacing: 0; + height: 48px; + font-size: 12px; + color: rgba(0, 0, 0, 0.54); + padding-bottom: 8px; + box-sizing: border-box; } + .mdl-data-table th.mdl-data-table__header--sorted-ascending, .mdl-data-table th.mdl-data-table__header--sorted-descending { + color: rgba(0, 0, 0, 0.87); } + .mdl-data-table th.mdl-data-table__header--sorted-ascending:before, .mdl-data-table th.mdl-data-table__header--sorted-descending:before { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + word-wrap: normal; + -moz-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + font-size: 16px; + content: "\e5d8"; + margin-right: 5px; + vertical-align: sub; } + .mdl-data-table th.mdl-data-table__header--sorted-ascending:hover, .mdl-data-table th.mdl-data-table__header--sorted-descending:hover { + cursor: pointer; } + .mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before, .mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before { + color: rgba(0, 0, 0, 0.26); } + .mdl-data-table th.mdl-data-table__header--sorted-descending:before { + content: "\e5db"; } + +.mdl-data-table__select { + width: 16px; } + +.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric { + text-align: left; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-dialog { + border: none; + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); + width: 280px; } + .mdl-dialog__title { + padding: 24px 24px 0; + margin: 0; + font-size: 2.5rem; } + .mdl-dialog__actions { + padding: 8px 8px 8px 24px; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } + .mdl-dialog__actions > * { + margin-right: 8px; + height: 36px; } + .mdl-dialog__actions > *:first-child { + margin-right: 0; } + .mdl-dialog__actions--full-width { + padding: 0 0 8px 0; } + .mdl-dialog__actions--full-width > * { + height: 48px; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + padding-right: 16px; + margin-right: 0; + text-align: right; } + .mdl-dialog__content { + padding: 20px 24px 24px 24px; + color: rgba(0,0,0, 0.54); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-mega-footer { + padding: 16px 40px; + color: rgb(158,158,158); + background-color: rgb(66,66,66); } + +.mdl-mega-footer--top-section:after, +.mdl-mega-footer--middle-section:after, +.mdl-mega-footer--bottom-section:after, +.mdl-mega-footer__top-section:after, +.mdl-mega-footer__middle-section:after, +.mdl-mega-footer__bottom-section:after { + content: ''; + display: block; + clear: both; } + +.mdl-mega-footer--left-section, +.mdl-mega-footer__left-section { + margin-bottom: 16px; } + +.mdl-mega-footer--right-section, +.mdl-mega-footer__right-section { + margin-bottom: 16px; } + +.mdl-mega-footer--right-section a, +.mdl-mega-footer__right-section a { + display: block; + margin-bottom: 16px; + color: inherit; + text-decoration: none; } + +@media screen and (min-width: 760px) { + .mdl-mega-footer--left-section, + .mdl-mega-footer__left-section { + float: left; } + .mdl-mega-footer--right-section, + .mdl-mega-footer__right-section { + float: right; } + .mdl-mega-footer--right-section a, + .mdl-mega-footer__right-section a { + display: inline-block; + margin-left: 16px; + line-height: 36px; + vertical-align: middle; } } + +.mdl-mega-footer--social-btn, +.mdl-mega-footer__social-btn { + width: 36px; + height: 36px; + padding: 0; + margin: 0; + background-color: rgb(158,158,158); + border: none; } + +.mdl-mega-footer--drop-down-section, +.mdl-mega-footer__drop-down-section { + display: block; + position: relative; } + +@media screen and (min-width: 760px) { + .mdl-mega-footer--drop-down-section, + .mdl-mega-footer__drop-down-section { + width: 33%; } + .mdl-mega-footer--drop-down-section:nth-child(1), + .mdl-mega-footer--drop-down-section:nth-child(2), + .mdl-mega-footer__drop-down-section:nth-child(1), + .mdl-mega-footer__drop-down-section:nth-child(2) { + float: left; } + .mdl-mega-footer--drop-down-section:nth-child(3), + .mdl-mega-footer__drop-down-section:nth-child(3) { + float: right; } + .mdl-mega-footer--drop-down-section:nth-child(3):after, + .mdl-mega-footer__drop-down-section:nth-child(3):after { + clear: right; } + .mdl-mega-footer--drop-down-section:nth-child(4), + .mdl-mega-footer__drop-down-section:nth-child(4) { + clear: right; + float: right; } + .mdl-mega-footer--middle-section:after, + .mdl-mega-footer__middle-section:after { + content: ''; + display: block; + clear: both; } + .mdl-mega-footer--bottom-section, + .mdl-mega-footer__bottom-section { + padding-top: 0; } } + +@media screen and (min-width: 1024px) { + .mdl-mega-footer--drop-down-section, + .mdl-mega-footer--drop-down-section:nth-child(3), + .mdl-mega-footer--drop-down-section:nth-child(4), + .mdl-mega-footer__drop-down-section, + .mdl-mega-footer__drop-down-section:nth-child(3), + .mdl-mega-footer__drop-down-section:nth-child(4) { + width: 24%; + float: left; } } + +.mdl-mega-footer--heading-checkbox, +.mdl-mega-footer__heading-checkbox { + position: absolute; + width: 100%; + height: 55.8px; + padding: 32px; + margin: 0; + margin-top: -16px; + cursor: pointer; + z-index: 1; + opacity: 0; } + .mdl-mega-footer--heading-checkbox + .mdl-mega-footer--heading:after, + .mdl-mega-footer--heading-checkbox + .mdl-mega-footer__heading:after, + .mdl-mega-footer__heading-checkbox + .mdl-mega-footer--heading:after, + .mdl-mega-footer__heading-checkbox + .mdl-mega-footer__heading:after { + font-family: 'Material Icons'; + content: '\E5CE'; } + +.mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--link-list, +.mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer__link-list, +.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list, +.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list, +.mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer--link-list, +.mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer__link-list, +.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list, +.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list { + display: none; } + +.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading:after, +.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading:after, +.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading:after, +.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading:after { + font-family: 'Material Icons'; + content: '\E5CF'; } + +.mdl-mega-footer--heading, +.mdl-mega-footer__heading { + position: relative; + width: 100%; + padding-right: 39.8px; + margin-bottom: 16px; + box-sizing: border-box; + font-size: 14px; + line-height: 23.8px; + font-weight: 500; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + color: rgb(224,224,224); } + +.mdl-mega-footer--heading:after, +.mdl-mega-footer__heading:after { + content: ''; + position: absolute; + top: 0; + right: 0; + display: block; + width: 23.8px; + height: 23.8px; + background-size: cover; } + +.mdl-mega-footer--link-list, +.mdl-mega-footer__link-list { + list-style: none; + margin: 0; + padding: 0; + margin-bottom: 32px; } + .mdl-mega-footer--link-list:after, + .mdl-mega-footer__link-list:after { + clear: both; + display: block; + content: ''; } + +.mdl-mega-footer--link-list li, +.mdl-mega-footer__link-list li { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + line-height: 20px; } + +.mdl-mega-footer--link-list a, +.mdl-mega-footer__link-list a { + color: inherit; + text-decoration: none; + white-space: nowrap; } + +@media screen and (min-width: 760px) { + .mdl-mega-footer--heading-checkbox, + .mdl-mega-footer__heading-checkbox { + display: none; } + .mdl-mega-footer--heading-checkbox + .mdl-mega-footer--heading:after, + .mdl-mega-footer--heading-checkbox + .mdl-mega-footer__heading:after, + .mdl-mega-footer__heading-checkbox + .mdl-mega-footer--heading:after, + .mdl-mega-footer__heading-checkbox + .mdl-mega-footer__heading:after { + content: ''; } + .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--link-list, + .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer__link-list, + .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list, + .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list, + .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer--link-list, + .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer__link-list, + .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list, + .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list { + display: block; } + .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading:after, + .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading:after, + .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading:after, + .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading:after { + content: ''; } } + +.mdl-mega-footer--bottom-section, +.mdl-mega-footer__bottom-section { + padding-top: 16px; + margin-bottom: 16px; } + +.mdl-logo { + margin-bottom: 16px; + color: white; } + +.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li, +.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li { + float: left; + margin-bottom: 0; + margin-right: 16px; } + +@media screen and (min-width: 760px) { + .mdl-logo { + float: left; + margin-bottom: 0; + margin-right: 16px; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-mini-footer { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 32px 16px; + color: rgb(158,158,158); + background-color: rgb(66,66,66); } + .mdl-mini-footer:after { + content: ''; + display: block; } + .mdl-mini-footer .mdl-logo { + line-height: 36px; } + +.mdl-mini-footer--link-list, +.mdl-mini-footer__link-list { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + list-style: none; + margin: 0; + padding: 0; } + .mdl-mini-footer--link-list li, + .mdl-mini-footer__link-list li { + margin-bottom: 0; + margin-right: 16px; } + @media screen and (min-width: 760px) { + .mdl-mini-footer--link-list li, + .mdl-mini-footer__link-list li { + line-height: 36px; } } + .mdl-mini-footer--link-list a, + .mdl-mini-footer__link-list a { + color: inherit; + text-decoration: none; + white-space: nowrap; } + +.mdl-mini-footer--left-section, +.mdl-mini-footer__left-section { + display: inline-block; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; } + +.mdl-mini-footer--right-section, +.mdl-mini-footer__right-section { + display: inline-block; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + +.mdl-mini-footer--social-btn, +.mdl-mini-footer__social-btn { + width: 36px; + height: 36px; + padding: 0; + margin: 0; + background-color: rgb(158,158,158); + border: none; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-icon-toggle { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + height: 32px; + margin: 0; + padding: 0; } + +.mdl-icon-toggle__input { + line-height: 32px; } + .mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-icon-toggle__label { + display: inline-block; + position: relative; + cursor: pointer; + height: 32px; + width: 32px; + min-width: 32px; + color: rgb(97,97,97); + border-radius: 50%; + padding: 0; + margin-left: 0; + margin-right: 0; + text-align: center; + background-color: transparent; + will-change: background-color; + transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-icon-toggle__label.material-icons { + line-height: 32px; + font-size: 24px; } + .mdl-icon-toggle.is-checked .mdl-icon-toggle__label { + color: rgb(63,81,181); } + .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label { + color: rgba(0,0,0, 0.26); + cursor: auto; + transition: none; } + .mdl-icon-toggle.is-focused .mdl-icon-toggle__label { + background-color: rgba(0,0,0, 0.12); } + .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label { + background-color: rgba(63,81,181, 0.26); } + +.mdl-icon-toggle__ripple-container { + position: absolute; + z-index: 2; + top: -2px; + left: -2px; + box-sizing: border-box; + width: 36px; + height: 36px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-icon-toggle__ripple-container .mdl-ripple { + background: rgb(97,97,97); } + .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container { + cursor: auto; } + .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple { + background: transparent; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-list { + display: block; + padding: 8px 0; + list-style: none; } + +.mdl-list__item { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.04em; + line-height: 1; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + min-height: 48px; + box-sizing: border-box; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + padding: 16px; + cursor: default; + color: rgba(0,0,0, 0.87); + overflow: hidden; } + .mdl-list__item .mdl-list__item-primary-content { + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; + -webkit-flex-grow: 2; + -ms-flex-positive: 2; + flex-grow: 2; + text-decoration: none; + box-sizing: border-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + .mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon { + margin-right: 32px; } + .mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar { + margin-right: 16px; } + .mdl-list__item .mdl-list__item-secondary-content { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: column; + -ms-flex-flow: column; + flex-flow: column; + -webkit-align-items: flex-end; + -ms-flex-align: end; + align-items: flex-end; + margin-left: 16px; } + .mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label { + display: inline; } + .mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + color: rgba(0,0,0, 0.54); } + .mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header { + padding: 0 0 0 16px; } + +.mdl-list__item-icon, +.mdl-list__item-icon.material-icons { + height: 24px; + width: 24px; + font-size: 24px; + box-sizing: border-box; + color: rgb(117,117,117); } + +.mdl-list__item-avatar, +.mdl-list__item-avatar.material-icons { + height: 40px; + width: 40px; + box-sizing: border-box; + border-radius: 50%; + background-color: rgb(117,117,117); + font-size: 40px; + color: white; } + +.mdl-list__item--two-line { + height: 72px; } + .mdl-list__item--two-line .mdl-list__item-primary-content { + height: 36px; + line-height: 20px; + display: block; } + .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar { + float: left; } + .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon { + float: left; + margin-top: 6px; } + .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content { + height: 36px; } + .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + line-height: 18px; + color: rgba(0,0,0, 0.54); + display: block; + padding: 0; } + +.mdl-list__item--three-line { + height: 88px; } + .mdl-list__item--three-line .mdl-list__item-primary-content { + height: 52px; + line-height: 20px; + display: block; } + .mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar, + .mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon { + float: left; } + .mdl-list__item--three-line .mdl-list__item-secondary-content { + height: 52px; } + .mdl-list__item--three-line .mdl-list__item-text-body { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + line-height: 18px; + height: 52px; + color: rgba(0,0,0, 0.54); + display: block; + padding: 0; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-menu__container { + display: block; + margin: 0; + padding: 0; + border: none; + position: absolute; + overflow: visible; + height: 0; + width: 0; + visibility: hidden; + z-index: -1; } + .mdl-menu__container.is-visible, .mdl-menu__container.is-animating { + z-index: 999; + visibility: visible; } + +.mdl-menu__outline { + display: block; + background: rgb(255,255,255); + margin: 0; + padding: 0; + border: none; + border-radius: 2px; + position: absolute; + top: 0; + left: 0; + overflow: hidden; + opacity: 0; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + will-change: transform; + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + z-index: -1; } + .mdl-menu__container.is-visible .mdl-menu__outline { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + z-index: 999; } + .mdl-menu__outline.mdl-menu--bottom-right { + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; } + .mdl-menu__outline.mdl-menu--top-left { + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; } + .mdl-menu__outline.mdl-menu--top-right { + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; } + +.mdl-menu { + position: absolute; + list-style: none; + top: 0; + left: 0; + height: auto; + width: auto; + min-width: 124px; + padding: 8px 0; + margin: 0; + opacity: 0; + clip: rect(0 0 0 0); + z-index: -1; } + .mdl-menu__container.is-visible .mdl-menu { + opacity: 1; + z-index: 999; } + .mdl-menu.is-animating { + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), clip 0.3s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-menu.mdl-menu--bottom-right { + left: auto; + right: 0; } + .mdl-menu.mdl-menu--top-left { + top: auto; + bottom: 0; } + .mdl-menu.mdl-menu--top-right { + top: auto; + left: auto; + bottom: 0; + right: 0; } + .mdl-menu.mdl-menu--unaligned { + top: auto; + left: auto; } + +.mdl-menu__item { + display: block; + border: none; + color: rgba(0,0,0, 0.87); + background-color: transparent; + text-align: left; + margin: 0; + padding: 0 16px; + outline-color: rgb(189,189,189); + position: relative; + overflow: hidden; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + text-decoration: none; + cursor: pointer; + height: 48px; + line-height: 48px; + white-space: nowrap; + opacity: 0; + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .mdl-menu__container.is-visible .mdl-menu__item { + opacity: 1; } + .mdl-menu__item::-moz-focus-inner { + border: 0; } + .mdl-menu__item--full-bleed-divider { + border-bottom: 1px solid rgba(0,0,0, 0.12); } + .mdl-menu__item[disabled], .mdl-menu__item[data-mdl-disabled] { + color: rgb(189,189,189); + background-color: transparent; + cursor: auto; } + .mdl-menu__item[disabled]:hover, .mdl-menu__item[data-mdl-disabled]:hover { + background-color: transparent; } + .mdl-menu__item[disabled]:focus, .mdl-menu__item[data-mdl-disabled]:focus { + background-color: transparent; } + .mdl-menu__item[disabled] .mdl-ripple, .mdl-menu__item[data-mdl-disabled] .mdl-ripple { + background: transparent; } + .mdl-menu__item:hover { + background-color: rgb(238,238,238); } + .mdl-menu__item:focus { + outline: none; + background-color: rgb(238,238,238); } + .mdl-menu__item:active { + background-color: rgb(224,224,224); } + +.mdl-menu__item--ripple-container { + display: block; + height: 100%; + left: 0px; + position: absolute; + top: 0px; + width: 100%; + z-index: 0; + overflow: hidden; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-progress { + display: block; + position: relative; + height: 4px; + width: 500px; + max-width: 100%; } + +.mdl-progress > .bar { + display: block; + position: absolute; + top: 0; + bottom: 0; + width: 0%; + transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1); } + +.mdl-progress > .progressbar { + background-color: rgb(63,81,181); + z-index: 1; + left: 0; } + +.mdl-progress > .bufferbar { + background-image: linear-gradient(to right, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181)); + z-index: 0; + left: 0; } + +.mdl-progress > .auxbar { + right: 0; } + +@supports (-webkit-appearance: none) { + .mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate) > .auxbar, + .mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate) > .auxbar { + background-image: linear-gradient(to right, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181)); + -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo="); + mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo="); } } + +.mdl-progress:not(.mdl-progress--indeterminate) > .auxbar, +.mdl-progress:not(.mdl-progress__indeterminate) > .auxbar { + background-image: linear-gradient(to right, rgba(255,255,255, 0.9), rgba(255,255,255, 0.9)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181)); } + +.mdl-progress.mdl-progress--indeterminate > .bar1, +.mdl-progress.mdl-progress__indeterminate > .bar1 { + background-color: rgb(63,81,181); + -webkit-animation-name: indeterminate1; + animation-name: indeterminate1; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; } + +.mdl-progress.mdl-progress--indeterminate > .bar3, +.mdl-progress.mdl-progress__indeterminate > .bar3 { + background-image: none; + background-color: rgb(63,81,181); + -webkit-animation-name: indeterminate2; + animation-name: indeterminate2; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; } + +@-webkit-keyframes indeterminate1 { + 0% { + left: 0%; + width: 0%; } + 50% { + left: 25%; + width: 75%; } + 75% { + left: 100%; + width: 0%; } } + +@keyframes indeterminate1 { + 0% { + left: 0%; + width: 0%; } + 50% { + left: 25%; + width: 75%; } + 75% { + left: 100%; + width: 0%; } } + +@-webkit-keyframes indeterminate2 { + 0% { + left: 0%; + width: 0%; } + 50% { + left: 0%; + width: 0%; } + 75% { + left: 0%; + width: 25%; } + 100% { + left: 100%; + width: 0%; } } + +@keyframes indeterminate2 { + 0% { + left: 0%; + width: 0%; } + 50% { + left: 0%; + width: 0%; } + 75% { + left: 0%; + width: 25%; } + 100% { + left: 100%; + width: 0%; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-navigation { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + box-sizing: border-box; } + +.mdl-navigation__link { + color: rgb(66,66,66); + text-decoration: none; + margin: 0; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + .mdl-navigation__link .material-icons { + vertical-align: middle; } + +.mdl-layout { + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow-y: auto; + overflow-x: hidden; + position: relative; + -webkit-overflow-scrolling: touch; } + +.mdl-layout.is-small-screen .mdl-layout--large-screen-only { + display: none; } + +.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only { + display: none; } + +.mdl-layout__container { + position: absolute; + width: 100%; + height: 100%; } + +.mdl-layout__title, +.mdl-layout-title { + display: block; + position: relative; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; + font-weight: 400; + box-sizing: border-box; } + +.mdl-layout-spacer { + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + +.mdl-layout__drawer { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + width: 240px; + height: 100%; + max-height: 100%; + position: absolute; + top: 0; + left: 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-sizing: border-box; + border-right: 1px solid rgb(224,224,224); + background: rgb(250,250,250); + -webkit-transform: translateX(-250px); + transform: translateX(-250px); + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + will-change: transform; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + color: rgb(66,66,66); + overflow: visible; + overflow-y: auto; + z-index: 5; } + .mdl-layout__drawer.is-visible { + -webkit-transform: translateX(0); + transform: translateX(0); } + .mdl-layout__drawer.is-visible ~ .mdl-layout__content.mdl-layout__content { + overflow: hidden; } + .mdl-layout__drawer > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .mdl-layout__drawer > .mdl-layout__title, + .mdl-layout__drawer > .mdl-layout-title { + line-height: 64px; + padding-left: 40px; } + @media screen and (max-width: 1024px) { + .mdl-layout__drawer > .mdl-layout__title, + .mdl-layout__drawer > .mdl-layout-title { + line-height: 56px; + padding-left: 16px; } } + .mdl-layout__drawer .mdl-navigation { + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + padding-top: 16px; } + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link { + display: block; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + padding: 16px 40px; + margin: 0; + color: #757575; } + @media screen and (max-width: 1024px) { + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link { + padding: 16px 16px; } } + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover { + background-color: rgb(224,224,224); } + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current { + background-color: rgb(224,224,224); + color: rgb(0,0,0); } + @media screen and (min-width: 1025px) { + .mdl-layout--fixed-drawer > .mdl-layout__drawer { + -webkit-transform: translateX(0); + transform: translateX(0); } } + +.mdl-layout__drawer-button { + display: block; + position: absolute; + height: 48px; + width: 48px; + border: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + overflow: hidden; + text-align: center; + cursor: pointer; + font-size: 26px; + line-height: 56px; + font-family: Helvetica, Arial, sans-serif; + margin: 8px 12px; + top: 0; + left: 0; + color: rgb(255,255,255); + z-index: 4; } + .mdl-layout__header .mdl-layout__drawer-button { + position: absolute; + color: rgb(255,255,255); + background-color: inherit; } + @media screen and (max-width: 1024px) { + .mdl-layout__header .mdl-layout__drawer-button { + margin: 4px; } } + @media screen and (max-width: 1024px) { + .mdl-layout__drawer-button { + margin: 4px; + color: rgba(0, 0, 0, 0.5); } } + @media screen and (min-width: 1025px) { + .mdl-layout__drawer-button { + line-height: 54px; } + .mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button, + .mdl-layout--fixed-drawer > .mdl-layout__drawer-button, + .mdl-layout--no-drawer-button .mdl-layout__drawer-button { + display: none; } } + +.mdl-layout__header { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; + box-sizing: border-box; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; + margin: 0; + padding: 0; + border: none; + min-height: 64px; + max-height: 1000px; + z-index: 3; + background-color: rgb(63,81,181); + color: rgb(255,255,255); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-property: max-height, box-shadow; } + @media screen and (max-width: 1024px) { + .mdl-layout__header { + min-height: 56px; } } + .mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen) > .mdl-layout__header { + margin-left: 240px; + width: calc(100% - 240px); } + @media screen and (min-width: 1025px) { + .mdl-layout--fixed-drawer > .mdl-layout__header .mdl-layout__header-row { + padding-left: 40px; } } + .mdl-layout__header > .mdl-layout-icon { + position: absolute; + left: 40px; + top: 16px; + height: 32px; + width: 32px; + overflow: hidden; + z-index: 3; + display: block; } + @media screen and (max-width: 1024px) { + .mdl-layout__header > .mdl-layout-icon { + left: 16px; + top: 12px; } } + .mdl-layout.has-drawer .mdl-layout__header > .mdl-layout-icon { + display: none; } + .mdl-layout__header.is-compact { + max-height: 64px; } + @media screen and (max-width: 1024px) { + .mdl-layout__header.is-compact { + max-height: 56px; } } + .mdl-layout__header.is-compact.has-tabs { + height: 112px; } + @media screen and (max-width: 1024px) { + .mdl-layout__header.is-compact.has-tabs { + min-height: 104px; } } + @media screen and (max-width: 1024px) { + .mdl-layout__header { + display: none; } + .mdl-layout--fixed-header > .mdl-layout__header { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } } + +.mdl-layout__header--transparent.mdl-layout__header--transparent { + background-color: transparent; + box-shadow: none; } + +.mdl-layout__header--seamed { + box-shadow: none; } + +.mdl-layout__header--scroll { + box-shadow: none; } + +.mdl-layout__header--waterfall { + box-shadow: none; + overflow: hidden; } + .mdl-layout__header--waterfall.is-casting-shadow { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + .mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top { + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; } + +.mdl-layout__header-row { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + box-sizing: border-box; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 64px; + margin: 0; + padding: 0 40px 0 80px; } + .mdl-layout--no-drawer-button .mdl-layout__header-row { + padding-left: 40px; } + @media screen and (min-width: 1025px) { + .mdl-layout--no-desktop-drawer-button .mdl-layout__header-row { + padding-left: 40px; } } + @media screen and (max-width: 1024px) { + .mdl-layout__header-row { + height: 56px; + padding: 0 16px 0 72px; } + .mdl-layout--no-drawer-button .mdl-layout__header-row { + padding-left: 16px; } } + .mdl-layout__header-row > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .mdl-layout__header--scroll .mdl-layout__header-row { + width: 100%; } + .mdl-layout__header-row .mdl-navigation { + margin: 0; + padding: 0; + height: 64px; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + @media screen and (max-width: 1024px) { + .mdl-layout__header-row .mdl-navigation { + height: 56px; } } + .mdl-layout__header-row .mdl-navigation__link { + display: block; + color: rgb(255,255,255); + line-height: 64px; + padding: 0 24px; } + @media screen and (max-width: 1024px) { + .mdl-layout__header-row .mdl-navigation__link { + line-height: 56px; + padding: 0 16px; } } + +.mdl-layout__obfuscator { + background-color: transparent; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 4; + visibility: hidden; + transition-property: background-color; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-layout__obfuscator.is-visible { + background-color: rgba(0, 0, 0, 0.5); + visibility: visible; } + @supports (pointer-events: auto) { + .mdl-layout__obfuscator { + background-color: rgba(0, 0, 0, 0.5); + opacity: 0; + transition-property: opacity; + visibility: visible; + pointer-events: none; } + .mdl-layout__obfuscator.is-visible { + pointer-events: auto; + opacity: 1; } } + +.mdl-layout__content { + -ms-flex: 0 1 auto; + position: relative; + display: inline-block; + overflow-y: auto; + overflow-x: hidden; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + z-index: 1; + -webkit-overflow-scrolling: touch; } + .mdl-layout--fixed-drawer > .mdl-layout__content { + margin-left: 240px; } + .mdl-layout__container.has-scrolling-header .mdl-layout__content { + overflow: visible; } + @media screen and (max-width: 1024px) { + .mdl-layout--fixed-drawer > .mdl-layout__content { + margin-left: 0; } + .mdl-layout__container.has-scrolling-header .mdl-layout__content { + overflow-y: auto; + overflow-x: hidden; } } + +.mdl-layout__tab-bar { + height: 96px; + margin: 0; + width: calc(100% - 112px); + padding: 0 0 0 56px; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + background-color: rgb(63,81,181); + overflow-y: hidden; + overflow-x: scroll; } + .mdl-layout__tab-bar::-webkit-scrollbar { + display: none; } + .mdl-layout--no-drawer-button .mdl-layout__tab-bar { + padding-left: 16px; + width: calc(100% - 32px); } + @media screen and (min-width: 1025px) { + .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar { + padding-left: 16px; + width: calc(100% - 32px); } } + @media screen and (max-width: 1024px) { + .mdl-layout__tab-bar { + width: calc(100% - 60px); + padding: 0 0 0 60px; } + .mdl-layout--no-drawer-button .mdl-layout__tab-bar { + width: calc(100% - 8px); + padding-left: 4px; } } + .mdl-layout--fixed-tabs .mdl-layout__tab-bar { + padding: 0; + overflow: hidden; + width: 100%; } + +.mdl-layout__tab-bar-container { + position: relative; + height: 48px; + width: 100%; + border: none; + margin: 0; + z-index: 2; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + overflow: hidden; } + .mdl-layout__container > .mdl-layout__tab-bar-container { + position: absolute; + top: 0; + left: 0; } + +.mdl-layout__tab-bar-button { + display: inline-block; + position: absolute; + top: 0; + height: 48px; + width: 56px; + z-index: 4; + text-align: center; + background-color: rgb(63,81,181); + color: transparent; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button, + .mdl-layout--no-drawer-button .mdl-layout__tab-bar-button { + width: 16px; } + .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons, + .mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons { + position: relative; + left: -4px; } + @media screen and (max-width: 1024px) { + .mdl-layout__tab-bar-button { + width: 60px; } } + .mdl-layout--fixed-tabs .mdl-layout__tab-bar-button { + display: none; } + .mdl-layout__tab-bar-button .material-icons { + line-height: 48px; } + .mdl-layout__tab-bar-button.is-active { + color: rgb(255,255,255); } + +.mdl-layout__tab-bar-left-button { + left: 0; } + +.mdl-layout__tab-bar-right-button { + right: 0; } + +.mdl-layout__tab { + margin: 0; + border: none; + padding: 0 24px 0 24px; + float: left; + position: relative; + display: block; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + text-decoration: none; + height: 48px; + line-height: 48px; + text-align: center; + font-weight: 500; + font-size: 14px; + text-transform: uppercase; + color: rgba(255,255,255, 0.6); + overflow: hidden; } + @media screen and (max-width: 1024px) { + .mdl-layout__tab { + padding: 0 12px 0 12px; } } + .mdl-layout--fixed-tabs .mdl-layout__tab { + float: none; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + padding: 0; } + .mdl-layout.is-upgraded .mdl-layout__tab.is-active { + color: rgb(255,255,255); } + .mdl-layout.is-upgraded .mdl-layout__tab.is-active::after { + height: 2px; + width: 100%; + display: block; + content: " "; + bottom: 0; + left: 0; + position: absolute; + background: rgb(255,64,129); + -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + transition: all 1s cubic-bezier(0.4, 0, 1, 1); } + .mdl-layout__tab .mdl-layout__tab-ripple-container { + display: block; + position: absolute; + height: 100%; + width: 100%; + left: 0; + top: 0; + z-index: 1; + overflow: hidden; } + .mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple { + background-color: rgb(255,255,255); } + +.mdl-layout__tab-panel { + display: block; } + .mdl-layout.is-upgraded .mdl-layout__tab-panel { + display: none; } + .mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active { + display: block; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-radio { + position: relative; + font-size: 16px; + line-height: 24px; + display: inline-block; + vertical-align: middle; + box-sizing: border-box; + height: 24px; + margin: 0; + padding-left: 0; } + .mdl-radio.is-upgraded { + padding-left: 24px; } + +.mdl-radio__button { + line-height: 24px; } + .mdl-radio.is-upgraded .mdl-radio__button { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-radio__outer-circle { + position: absolute; + top: 4px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + border: 2px solid rgba(0,0,0, 0.54); + border-radius: 50%; + z-index: 2; } + .mdl-radio.is-checked .mdl-radio__outer-circle { + border: 2px solid rgb(63,81,181); } + .mdl-radio__outer-circle fieldset[disabled] .mdl-radio, + .mdl-radio.is-disabled .mdl-radio__outer-circle { + border: 2px solid rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-radio__inner-circle { + position: absolute; + z-index: 1; + margin: 0; + top: 8px; + left: 4px; + box-sizing: border-box; + width: 8px; + height: 8px; + cursor: pointer; + transition-duration: 0.28s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + -webkit-transform: scale(0, 0); + transform: scale(0, 0); + border-radius: 50%; + background: rgb(63,81,181); } + .mdl-radio.is-checked .mdl-radio__inner-circle { + -webkit-transform: scale(1, 1); + transform: scale(1, 1); } + fieldset[disabled] .mdl-radio .mdl-radio__inner-circle, + .mdl-radio.is-disabled .mdl-radio__inner-circle { + background: rgba(0,0,0, 0.26); + cursor: auto; } + .mdl-radio.is-focused .mdl-radio__inner-circle { + box-shadow: 0 0 0px 10px rgba(0, 0, 0, 0.1); } + +.mdl-radio__label { + cursor: pointer; } + fieldset[disabled] .mdl-radio .mdl-radio__label, + .mdl-radio.is-disabled .mdl-radio__label { + color: rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-radio__ripple-container { + position: absolute; + z-index: 2; + top: -9px; + left: -13px; + box-sizing: border-box; + width: 42px; + height: 42px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-radio__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + fieldset[disabled] .mdl-radio .mdl-radio__ripple-container, + .mdl-radio.is-disabled .mdl-radio__ripple-container { + cursor: auto; } + fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple, + .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple { + background: transparent; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +_:-ms-input-placeholder, :root .mdl-slider.mdl-slider.is-upgraded { + -ms-appearance: none; + height: 32px; + margin: 0; } + +.mdl-slider { + width: calc(100% - 40px); + margin: 0 20px; } + .mdl-slider.is-upgraded { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 2px; + background: transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + outline: 0; + padding: 0; + color: rgb(63,81,181); + -webkit-align-self: center; + -ms-flex-item-align: center; + -ms-grid-row-align: center; + align-self: center; + z-index: 1; + cursor: pointer; + /**************************** Tracks ****************************/ + /**************************** Thumbs ****************************/ + /**************************** 0-value ****************************/ + /**************************** Disabled ****************************/ } + .mdl-slider.is-upgraded::-moz-focus-outer { + border: 0; } + .mdl-slider.is-upgraded::-ms-tooltip { + display: none; } + .mdl-slider.is-upgraded::-webkit-slider-runnable-track { + background: transparent; } + .mdl-slider.is-upgraded::-moz-range-track { + background: transparent; + border: none; } + .mdl-slider.is-upgraded::-ms-track { + background: none; + color: transparent; + height: 2px; + width: 100%; + border: none; } + .mdl-slider.is-upgraded::-ms-fill-lower { + padding: 0; + background: linear-gradient(to right, transparent, transparent 16px, rgb(63,81,181) 16px, rgb(63,81,181) 0); } + .mdl-slider.is-upgraded::-ms-fill-upper { + padding: 0; + background: linear-gradient(to left, transparent, transparent 16px, rgba(0,0,0, 0.26) 16px, rgba(0,0,0, 0.26) 0); } + .mdl-slider.is-upgraded::-webkit-slider-thumb { + -webkit-appearance: none; + width: 12px; + height: 12px; + box-sizing: border-box; + border-radius: 50%; + background: rgb(63,81,181); + border: none; + transition: border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-slider.is-upgraded::-moz-range-thumb { + -moz-appearance: none; + width: 12px; + height: 12px; + box-sizing: border-box; + border-radius: 50%; + background-image: none; + background: rgb(63,81,181); + border: none; } + .mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb { + box-shadow: 0 0 0 10px rgba(63,81,181, 0.26); } + .mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb { + box-shadow: 0 0 0 10px rgba(63,81,181, 0.26); } + .mdl-slider.is-upgraded:active::-webkit-slider-thumb { + background-image: none; + background: rgb(63,81,181); + -webkit-transform: scale(1.5); + transform: scale(1.5); } + .mdl-slider.is-upgraded:active::-moz-range-thumb { + background-image: none; + background: rgb(63,81,181); + transform: scale(1.5); } + .mdl-slider.is-upgraded::-ms-thumb { + width: 32px; + height: 32px; + border: none; + border-radius: 50%; + background: rgb(63,81,181); + transform: scale(0.375); + transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb { + background: radial-gradient(circle closest-side, rgb(63,81,181) 0%, rgb(63,81,181) 37.5%, rgba(63,81,181, 0.26) 37.5%, rgba(63,81,181, 0.26) 100%); + transform: scale(1); } + .mdl-slider.is-upgraded:active::-ms-thumb { + background: rgb(63,81,181); + transform: scale(0.5625); } + .mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb { + border: 2px solid rgba(0,0,0, 0.26); + background: transparent; } + .mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb { + border: 2px solid rgba(0,0,0, 0.26); + background: transparent; } + .mdl-slider.is-upgraded.is-lowest-value + +.mdl-slider__background-flex > .mdl-slider__background-upper { + left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb { + box-shadow: 0 0 0 10px rgba(0,0,0, 0.12); + background: rgba(0,0,0, 0.12); } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb { + box-shadow: 0 0 0 10px rgba(0,0,0, 0.12); + background: rgba(0,0,0, 0.12); } + .mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb { + border: 1.6px solid rgba(0,0,0, 0.26); + -webkit-transform: scale(1.5); + transform: scale(1.5); } + .mdl-slider.is-upgraded.is-lowest-value:active + +.mdl-slider__background-flex > .mdl-slider__background-upper { + left: 9px; } + .mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb { + border: 1.5px solid rgba(0,0,0, 0.26); + transform: scale(1.5); } + .mdl-slider.is-upgraded.is-lowest-value::-ms-thumb { + background: radial-gradient(circle closest-side, transparent 0%, transparent 66.67%, rgba(0,0,0, 0.26) 66.67%, rgba(0,0,0, 0.26) 100%); } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb { + background: radial-gradient(circle closest-side, rgba(0,0,0, 0.12) 0%, rgba(0,0,0, 0.12) 25%, rgba(0,0,0, 0.26) 25%, rgba(0,0,0, 0.26) 37.5%, rgba(0,0,0, 0.12) 37.5%, rgba(0,0,0, 0.12) 100%); + transform: scale(1); } + .mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb { + transform: scale(0.5625); + background: radial-gradient(circle closest-side, transparent 0%, transparent 77.78%, rgba(0,0,0, 0.26) 77.78%, rgba(0,0,0, 0.26) 100%); } + .mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower { + background: transparent; } + .mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper { + margin-left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper { + margin-left: 9px; } + .mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled::-webkit-slider-thumb { + -webkit-transform: scale(0.667); + transform: scale(0.667); + background: rgba(0,0,0, 0.26); } + .mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded:disabled::-moz-range-thumb { + transform: scale(0.667); + background: rgba(0,0,0, 0.26); } + .mdl-slider.is-upgraded:disabled + +.mdl-slider__background-flex > .mdl-slider__background-lower { + background-color: rgba(0,0,0, 0.26); + left: -6px; } + .mdl-slider.is-upgraded:disabled + +.mdl-slider__background-flex > .mdl-slider__background-upper { + left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb { + border: 3px solid rgba(0,0,0, 0.26); + background: transparent; + -webkit-transform: scale(0.667); + transform: scale(0.667); } + .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb { + border: 3px solid rgba(0,0,0, 0.26); + background: transparent; + transform: scale(0.667); } + .mdl-slider.is-upgraded.is-lowest-value:disabled:active + +.mdl-slider__background-flex > .mdl-slider__background-upper { + left: 6px; } + .mdl-slider.is-upgraded:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded:disabled:active::-ms-thumb, .mdl-slider.is-upgraded:disabled::-ms-thumb { + transform: scale(0.25); + background: rgba(0,0,0, 0.26); } + .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb { + transform: scale(0.25); + background: radial-gradient(circle closest-side, transparent 0%, transparent 50%, rgba(0,0,0, 0.26) 50%, rgba(0,0,0, 0.26) 100%); } + .mdl-slider.is-upgraded:disabled::-ms-fill-lower { + margin-right: 6px; + background: linear-gradient(to right, transparent, transparent 25px, rgba(0,0,0, 0.26) 25px, rgba(0,0,0, 0.26) 0); } + .mdl-slider.is-upgraded:disabled::-ms-fill-upper { + margin-left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper { + margin-left: 6px; } + +.mdl-slider__ie-container { + height: 18px; + overflow: visible; + border: none; + margin: none; + padding: none; } + +.mdl-slider__container { + height: 18px; + position: relative; + background: none; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + +.mdl-slider__background-flex { + background: transparent; + position: absolute; + height: 2px; + width: calc(100% - 52px); + top: 50%; + left: 0; + margin: 0 26px; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + overflow: hidden; + border: 0; + padding: 0; + -webkit-transform: translate(0, -1px); + transform: translate(0, -1px); } + +.mdl-slider__background-lower { + background: rgb(63,81,181); + -webkit-flex: 0; + -ms-flex: 0; + flex: 0; + position: relative; + border: 0; + padding: 0; } + +.mdl-slider__background-upper { + background: rgba(0,0,0, 0.26); + -webkit-flex: 0; + -ms-flex: 0; + flex: 0; + position: relative; + border: 0; + padding: 0; + transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-snackbar { + position: fixed; + bottom: 0; + left: 50%; + cursor: default; + background-color: #323232; + z-index: 3; + display: block; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + will-change: transform; + -webkit-transform: translate(0, 80px); + transform: translate(0, 80px); + transition: -webkit-transform 0.25s cubic-bezier(0.4, 0, 1, 1); + transition: transform 0.25s cubic-bezier(0.4, 0, 1, 1); + transition: transform 0.25s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 1, 1); + pointer-events: none; } + @media (max-width: 479px) { + .mdl-snackbar { + width: 100%; + left: 0; + min-height: 48px; + max-height: 80px; } } + @media (min-width: 480px) { + .mdl-snackbar { + min-width: 288px; + max-width: 568px; + border-radius: 2px; + -webkit-transform: translate(-50%, 80px); + transform: translate(-50%, 80px); } } + .mdl-snackbar--active { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); + pointer-events: auto; + transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.2, 1); + transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1); + transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0, 0, 0.2, 1); } + @media (min-width: 480px) { + .mdl-snackbar--active { + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0); } } + .mdl-snackbar__text { + padding: 14px 12px 14px 24px; + vertical-align: middle; + color: white; + float: left; } + .mdl-snackbar__action { + background: transparent; + border: none; + color: rgb(255,64,129); + float: right; + text-transform: uppercase; + padding: 14px 24px 14px 12px; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; + overflow: hidden; + outline: none; + opacity: 0; + pointer-events: none; + cursor: pointer; + text-decoration: none; + text-align: center; + -webkit-align-self: center; + -ms-flex-item-align: center; + -ms-grid-row-align: center; + align-self: center; } + .mdl-snackbar__action::-moz-focus-inner { + border: 0; } + .mdl-snackbar__action:not([aria-hidden]) { + opacity: 1; + pointer-events: auto; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-spinner { + display: inline-block; + position: relative; + width: 28px; + height: 28px; } + .mdl-spinner:not(.is-upgraded).is-active:after { + content: "Loading..."; } + .mdl-spinner.is-upgraded.is-active { + -webkit-animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; + animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; } + +@-webkit-keyframes mdl-spinner__container-rotate { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes mdl-spinner__container-rotate { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.mdl-spinner__layer { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; } + +.mdl-spinner__layer-1 { + border-color: rgb(66,165,245); } + .mdl-spinner--single-color .mdl-spinner__layer-1 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-1 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +.mdl-spinner__layer-2 { + border-color: rgb(244,67,54); } + .mdl-spinner--single-color .mdl-spinner__layer-2 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-2 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +.mdl-spinner__layer-3 { + border-color: rgb(253,216,53); } + .mdl-spinner--single-color .mdl-spinner__layer-3 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-3 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +.mdl-spinner__layer-4 { + border-color: rgb(76,175,80); } + .mdl-spinner--single-color .mdl-spinner__layer-4 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-4 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +@-webkit-keyframes mdl-spinner__fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); } } + +@keyframes mdl-spinner__fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); } } + +/** +* HACK: Even though the intention is to have the current .mdl-spinner__layer-N +* at `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome +* to do proper subpixel rendering for the elements being animated. This is +* especially visible in Chrome 39 on Ubuntu 14.04. See: +* +* - https://github.com/Polymer/paper-spinner/issues/9 +* - https://code.google.com/p/chromium/issues/detail?id=436255 +*/ +@-webkit-keyframes mdl-spinner__layer-1-fade-in-out { + from { + opacity: 0.99; } + 25% { + opacity: 0.99; } + 26% { + opacity: 0; } + 89% { + opacity: 0; } + 90% { + opacity: 0.99; } + 100% { + opacity: 0.99; } } +@keyframes mdl-spinner__layer-1-fade-in-out { + from { + opacity: 0.99; } + 25% { + opacity: 0.99; } + 26% { + opacity: 0; } + 89% { + opacity: 0; } + 90% { + opacity: 0.99; } + 100% { + opacity: 0.99; } } + +@-webkit-keyframes mdl-spinner__layer-2-fade-in-out { + from { + opacity: 0; } + 15% { + opacity: 0; } + 25% { + opacity: 0.99; } + 50% { + opacity: 0.99; } + 51% { + opacity: 0; } } + +@keyframes mdl-spinner__layer-2-fade-in-out { + from { + opacity: 0; } + 15% { + opacity: 0; } + 25% { + opacity: 0.99; } + 50% { + opacity: 0.99; } + 51% { + opacity: 0; } } + +@-webkit-keyframes mdl-spinner__layer-3-fade-in-out { + from { + opacity: 0; } + 40% { + opacity: 0; } + 50% { + opacity: 0.99; } + 75% { + opacity: 0.99; } + 76% { + opacity: 0; } } + +@keyframes mdl-spinner__layer-3-fade-in-out { + from { + opacity: 0; } + 40% { + opacity: 0; } + 50% { + opacity: 0.99; } + 75% { + opacity: 0.99; } + 76% { + opacity: 0; } } + +@-webkit-keyframes mdl-spinner__layer-4-fade-in-out { + from { + opacity: 0; } + 65% { + opacity: 0; } + 75% { + opacity: 0.99; } + 90% { + opacity: 0.99; } + 100% { + opacity: 0; } } + +@keyframes mdl-spinner__layer-4-fade-in-out { + from { + opacity: 0; } + 65% { + opacity: 0; } + 75% { + opacity: 0.99; } + 90% { + opacity: 0.99; } + 100% { + opacity: 0; } } + +/** +* Patch the gap that appear between the two adjacent +* div.mdl-spinner__circle-clipper while the spinner is rotating +* (appears on Chrome 38, Safari 7.1, and IE 11). +* +* Update: the gap no longer appears on Chrome when .mdl-spinner__layer-N's +* opacity is 0.99, but still does on Safari and IE. +*/ +.mdl-spinner__gap-patch { + position: absolute; + box-sizing: border-box; + top: 0; + left: 45%; + width: 10%; + height: 100%; + overflow: hidden; + border-color: inherit; } + .mdl-spinner__gap-patch .mdl-spinner__circle { + width: 1000%; + left: -450%; } + +.mdl-spinner__circle-clipper { + display: inline-block; + position: relative; + width: 50%; + height: 100%; + overflow: hidden; + border-color: inherit; } + .mdl-spinner__circle-clipper.mdl-spinner__left { + float: left; } + .mdl-spinner__circle-clipper.mdl-spinner__right { + float: right; } + .mdl-spinner__circle-clipper .mdl-spinner__circle { + width: 200%; } + +.mdl-spinner__circle { + box-sizing: border-box; + height: 100%; + border-width: 3px; + border-style: solid; + border-color: inherit; + border-bottom-color: transparent !important; + border-radius: 50%; + -webkit-animation: none; + animation: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; } + .mdl-spinner__left .mdl-spinner__circle { + border-right-color: transparent !important; + -webkit-transform: rotate(129deg); + transform: rotate(129deg); } + .mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle { + -webkit-animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + .mdl-spinner__right .mdl-spinner__circle { + left: -100%; + border-left-color: transparent !important; + -webkit-transform: rotate(-129deg); + transform: rotate(-129deg); } + .mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle { + -webkit-animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +@-webkit-keyframes mdl-spinner__left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } } + +@keyframes mdl-spinner__left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } } + +@-webkit-keyframes mdl-spinner__right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } } + +@keyframes mdl-spinner__right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-switch { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + box-sizing: border-box; + width: 100%; + height: 24px; + margin: 0; + padding: 0; + overflow: visible; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .mdl-switch.is-upgraded { + padding-left: 28px; } + +.mdl-switch__input { + line-height: 24px; } + .mdl-switch.is-upgraded .mdl-switch__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-switch__track { + background: rgba(0,0,0, 0.26); + position: absolute; + left: 0; + top: 5px; + height: 14px; + width: 36px; + border-radius: 14px; + cursor: pointer; } + .mdl-switch.is-checked .mdl-switch__track { + background: rgba(63,81,181, 0.5); } + .mdl-switch__track fieldset[disabled] .mdl-switch, + .mdl-switch.is-disabled .mdl-switch__track { + background: rgba(0,0,0, 0.12); + cursor: auto; } + +.mdl-switch__thumb { + background: rgb(250,250,250); + position: absolute; + left: 0; + top: 2px; + height: 20px; + width: 20px; + border-radius: 50%; + cursor: pointer; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + transition-duration: 0.28s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-property: left; } + .mdl-switch.is-checked .mdl-switch__thumb { + background: rgb(63,81,181); + left: 16px; + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); } + .mdl-switch__thumb fieldset[disabled] .mdl-switch, + .mdl-switch.is-disabled .mdl-switch__thumb { + background: rgb(189,189,189); + cursor: auto; } + +.mdl-switch__focus-helper { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-4px, -4px); + transform: translate(-4px, -4px); + display: inline-block; + box-sizing: border-box; + width: 8px; + height: 8px; + border-radius: 50%; + background-color: transparent; } + .mdl-switch.is-focused .mdl-switch__focus-helper { + box-shadow: 0 0 0px 20px rgba(0, 0, 0, 0.1); + background-color: rgba(0, 0, 0, 0.1); } + .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper { + box-shadow: 0 0 0px 20px rgba(63,81,181, 0.26); + background-color: rgba(63,81,181, 0.26); } + +.mdl-switch__label { + position: relative; + cursor: pointer; + font-size: 16px; + line-height: 24px; + margin: 0; + left: 24px; } + .mdl-switch__label fieldset[disabled] .mdl-switch, + .mdl-switch.is-disabled .mdl-switch__label { + color: rgb(189,189,189); + cursor: auto; } + +.mdl-switch__ripple-container { + position: absolute; + z-index: 2; + top: -12px; + left: -14px; + box-sizing: border-box; + width: 48px; + height: 48px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); + transition-duration: 0.40s; + transition-timing-function: step-end; + transition-property: left; } + .mdl-switch__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + .mdl-switch__ripple-container fieldset[disabled] .mdl-switch, + .mdl-switch.is-disabled .mdl-switch__ripple-container { + cursor: auto; } + fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple, + .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple { + background: transparent; } + .mdl-switch.is-checked .mdl-switch__ripple-container { + left: 2px; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-tabs { + display: block; + width: 100%; } + +.mdl-tabs__tab-bar { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-content: space-between; + -ms-flex-line-pack: justify; + align-content: space-between; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + height: 48px; + padding: 0 0 0 0; + margin: 0; + border-bottom: 1px solid rgb(224,224,224); } + +.mdl-tabs__tab { + margin: 0; + border: none; + padding: 0 24px 0 24px; + float: left; + position: relative; + display: block; + text-decoration: none; + height: 48px; + line-height: 48px; + text-align: center; + font-weight: 500; + font-size: 14px; + text-transform: uppercase; + color: rgba(0,0,0, 0.54); + overflow: hidden; } + .mdl-tabs.is-upgraded .mdl-tabs__tab.is-active { + color: rgba(0,0,0, 0.87); } + .mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after { + height: 2px; + width: 100%; + display: block; + content: " "; + bottom: 0px; + left: 0px; + position: absolute; + background: rgb(63,81,181); + -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + transition: all 1s cubic-bezier(0.4, 0, 1, 1); } + .mdl-tabs__tab .mdl-tabs__ripple-container { + display: block; + position: absolute; + height: 100%; + width: 100%; + left: 0px; + top: 0px; + z-index: 1; + overflow: hidden; } + .mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + +.mdl-tabs__panel { + display: block; } + .mdl-tabs.is-upgraded .mdl-tabs__panel { + display: none; } + .mdl-tabs.is-upgraded .mdl-tabs__panel.is-active { + display: block; } + +@-webkit-keyframes border-expand { + 0% { + opacity: 0; + width: 0; } + 100% { + opacity: 1; + width: 100%; } } + +@keyframes border-expand { + 0% { + opacity: 0; + width: 0; } + 100% { + opacity: 1; + width: 100%; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-textfield { + position: relative; + font-size: 16px; + display: inline-block; + box-sizing: border-box; + width: 300px; + max-width: 100%; + margin: 0; + padding: 20px 0; } + .mdl-textfield .mdl-button { + position: absolute; + bottom: 20px; } + +.mdl-textfield--align-right { + text-align: right; } + +.mdl-textfield--full-width { + width: 100%; } + +.mdl-textfield--expandable { + min-width: 32px; + width: auto; + min-height: 32px; } + .mdl-textfield--expandable .mdl-button--icon { + top: 16px; } + +.mdl-textfield__input { + border: none; + border-bottom: 1px solid rgba(0,0,0, 0.12); + display: block; + font-size: 16px; + font-family: "Helvetica", "Arial", sans-serif; + margin: 0; + padding: 4px 0; + width: 100%; + background: none; + text-align: left; + color: inherit; } + .mdl-textfield__input[type="number"] { + -moz-appearance: textfield; } + .mdl-textfield__input[type="number"]::-webkit-inner-spin-button, .mdl-textfield__input[type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; } + .mdl-textfield.is-focused .mdl-textfield__input { + outline: none; } + .mdl-textfield.is-invalid .mdl-textfield__input { + border-color: rgb(213,0,0); + box-shadow: none; } + fieldset[disabled] .mdl-textfield .mdl-textfield__input, + .mdl-textfield.is-disabled .mdl-textfield__input { + background-color: transparent; + border-bottom: 1px dotted rgba(0,0,0, 0.12); + color: rgba(0,0,0, 0.26); } + +.mdl-textfield textarea.mdl-textfield__input { + display: block; } + +.mdl-textfield__label { + bottom: 0; + color: rgba(0,0,0, 0.26); + font-size: 16px; + left: 0; + right: 0; + pointer-events: none; + position: absolute; + display: block; + top: 24px; + width: 100%; + overflow: hidden; + white-space: nowrap; + text-align: left; } + .mdl-textfield.is-dirty .mdl-textfield__label, + .mdl-textfield.has-placeholder .mdl-textfield__label { + visibility: hidden; } + .mdl-textfield--floating-label .mdl-textfield__label { + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label { + transition: none; } + fieldset[disabled] .mdl-textfield .mdl-textfield__label, + .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label { + color: rgba(0,0,0, 0.26); } + .mdl-textfield--floating-label.is-focused .mdl-textfield__label, + .mdl-textfield--floating-label.is-dirty .mdl-textfield__label, + .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label { + color: rgb(63,81,181); + font-size: 12px; + top: 4px; + visibility: visible; } + .mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label, + .mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label, + .mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label { + top: -16px; } + .mdl-textfield--floating-label.is-invalid .mdl-textfield__label { + color: rgb(213,0,0); + font-size: 12px; } + .mdl-textfield__label:after { + background-color: rgb(63,81,181); + bottom: 20px; + content: ''; + height: 2px; + left: 45%; + position: absolute; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + visibility: hidden; + width: 10px; } + .mdl-textfield.is-focused .mdl-textfield__label:after { + left: 0; + visibility: visible; + width: 100%; } + .mdl-textfield.is-invalid .mdl-textfield__label:after { + background-color: rgb(213,0,0); } + +.mdl-textfield__error { + color: rgb(213,0,0); + position: absolute; + font-size: 12px; + margin-top: 3px; + visibility: hidden; + display: block; } + .mdl-textfield.is-invalid .mdl-textfield__error { + visibility: visible; } + +.mdl-textfield__expandable-holder { + display: inline-block; + position: relative; + margin-left: 32px; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + display: inline-block; + max-width: 0.1px; } + .mdl-textfield.is-focused .mdl-textfield__expandable-holder, .mdl-textfield.is-dirty .mdl-textfield__expandable-holder { + max-width: 600px; } + .mdl-textfield__expandable-holder .mdl-textfield__label:after { + bottom: 0; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-tooltip { + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: top center; + transform-origin: top center; + z-index: 999; + background: rgba(97,97,97, 0.9); + border-radius: 2px; + color: rgb(255,255,255); + display: inline-block; + font-size: 10px; + font-weight: 500; + line-height: 14px; + max-width: 170px; + position: fixed; + top: -500px; + left: -500px; + padding: 8px; + text-align: center; } + +.mdl-tooltip.is-active { + -webkit-animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards; + animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards; } + +.mdl-tooltip--large { + line-height: 14px; + font-size: 14px; + padding: 16px; } + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; } + 50% { + -webkit-transform: scale(0.99); + transform: scale(0.99); } + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible; } } + +@keyframes pulse { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; } + 50% { + -webkit-transform: scale(0.99); + transform: scale(0.99); } + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/* Dialog */ +.mdl-shadow--2dp { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + +.mdl-shadow--3dp { + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); } + +.mdl-shadow--4dp { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); } + +.mdl-shadow--6dp { + box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2); } + +.mdl-shadow--8dp { + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); } + +.mdl-shadow--16dp { + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); } + +.mdl-shadow--24dp { + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* +* NOTE: Some rules here are applied using duplicate selectors. +* This is on purpose to increase their specificity when applied. +* For example: `.mdl-cell--1-col-phone.mdl-cell--1-col-phone` +*/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------* $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + * -----Dialog + * -----Snackbar + * -----Tooltip + * -----Chip + * + * Even though all variables have the `!default` directive, most of them + * should not be changed as they are dependent one another. This can cause + * visual distortions (like alignment issues) that are hard to track down + * and fix. + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== IMAGES ========== */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* LAYOUT */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/*mini-footer*/ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* DIALOG */ +/* SNACKBAR */ +/* TOOLTIP */ +/* CHIP */ +.mdl-grid { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin: 0 auto 0 auto; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; } + .mdl-grid.mdl-grid--no-spacing { + padding: 0; } + +.mdl-cell { + box-sizing: border-box; } + +.mdl-cell--top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + +.mdl-cell--middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + -ms-grid-row-align: center; + align-self: center; } + +.mdl-cell--bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + +.mdl-cell--stretch { + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + -ms-grid-row-align: stretch; + align-self: stretch; } + +.mdl-grid.mdl-grid--no-spacing > .mdl-cell { + margin: 0; } + +.mdl-cell--order-1 { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + +.mdl-cell--order-2 { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; } + +.mdl-cell--order-3 { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; } + +.mdl-cell--order-4 { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4; } + +.mdl-cell--order-5 { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5; } + +.mdl-cell--order-6 { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6; } + +.mdl-cell--order-7 { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7; } + +.mdl-cell--order-8 { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8; } + +.mdl-cell--order-9 { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9; } + +.mdl-cell--order-10 { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10; } + +.mdl-cell--order-11 { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11; } + +.mdl-cell--order-12 { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12; } + +@media (max-width: 479px) { + .mdl-grid { + padding: 8px; } + .mdl-cell { + margin: 8px; + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell { + width: 100%; } + .mdl-cell--hide-phone { + display: none !important; } + .mdl-cell--order-1-phone.mdl-cell--order-1-phone { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .mdl-cell--order-2-phone.mdl-cell--order-2-phone { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; } + .mdl-cell--order-3-phone.mdl-cell--order-3-phone { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; } + .mdl-cell--order-4-phone.mdl-cell--order-4-phone { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4; } + .mdl-cell--order-5-phone.mdl-cell--order-5-phone { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5; } + .mdl-cell--order-6-phone.mdl-cell--order-6-phone { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6; } + .mdl-cell--order-7-phone.mdl-cell--order-7-phone { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7; } + .mdl-cell--order-8-phone.mdl-cell--order-8-phone { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8; } + .mdl-cell--order-9-phone.mdl-cell--order-9-phone { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9; } + .mdl-cell--order-10-phone.mdl-cell--order-10-phone { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10; } + .mdl-cell--order-11-phone.mdl-cell--order-11-phone { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11; } + .mdl-cell--order-12-phone.mdl-cell--order-12-phone { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12; } + .mdl-cell--1-col, + .mdl-cell--1-col-phone.mdl-cell--1-col-phone { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing > + .mdl-cell--1-col-phone.mdl-cell--1-col-phone { + width: 25%; } + .mdl-cell--2-col, + .mdl-cell--2-col-phone.mdl-cell--2-col-phone { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing > + .mdl-cell--2-col-phone.mdl-cell--2-col-phone { + width: 50%; } + .mdl-cell--3-col, + .mdl-cell--3-col-phone.mdl-cell--3-col-phone { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing > + .mdl-cell--3-col-phone.mdl-cell--3-col-phone { + width: 75%; } + .mdl-cell--4-col, + .mdl-cell--4-col-phone.mdl-cell--4-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing > + .mdl-cell--4-col-phone.mdl-cell--4-col-phone { + width: 100%; } + .mdl-cell--5-col, + .mdl-cell--5-col-phone.mdl-cell--5-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing > + .mdl-cell--5-col-phone.mdl-cell--5-col-phone { + width: 100%; } + .mdl-cell--6-col, + .mdl-cell--6-col-phone.mdl-cell--6-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing > + .mdl-cell--6-col-phone.mdl-cell--6-col-phone { + width: 100%; } + .mdl-cell--7-col, + .mdl-cell--7-col-phone.mdl-cell--7-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing > + .mdl-cell--7-col-phone.mdl-cell--7-col-phone { + width: 100%; } + .mdl-cell--8-col, + .mdl-cell--8-col-phone.mdl-cell--8-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing > + .mdl-cell--8-col-phone.mdl-cell--8-col-phone { + width: 100%; } + .mdl-cell--9-col, + .mdl-cell--9-col-phone.mdl-cell--9-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing > + .mdl-cell--9-col-phone.mdl-cell--9-col-phone { + width: 100%; } + .mdl-cell--10-col, + .mdl-cell--10-col-phone.mdl-cell--10-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing > + .mdl-cell--10-col-phone.mdl-cell--10-col-phone { + width: 100%; } + .mdl-cell--11-col, + .mdl-cell--11-col-phone.mdl-cell--11-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing > + .mdl-cell--11-col-phone.mdl-cell--11-col-phone { + width: 100%; } + .mdl-cell--12-col, + .mdl-cell--12-col-phone.mdl-cell--12-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing > + .mdl-cell--12-col-phone.mdl-cell--12-col-phone { + width: 100%; } + .mdl-cell--1-offset, + .mdl-cell--1-offset-phone.mdl-cell--1-offset-phone { + margin-left: calc(25% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--1-offset-phone.mdl-cell--1-offset-phone { + margin-left: 25%; } + .mdl-cell--2-offset, + .mdl-cell--2-offset-phone.mdl-cell--2-offset-phone { + margin-left: calc(50% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--2-offset-phone.mdl-cell--2-offset-phone { + margin-left: 50%; } + .mdl-cell--3-offset, + .mdl-cell--3-offset-phone.mdl-cell--3-offset-phone { + margin-left: calc(75% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--3-offset-phone.mdl-cell--3-offset-phone { + margin-left: 75%; } } + +@media (min-width: 480px) and (max-width: 839px) { + .mdl-grid { + padding: 8px; } + .mdl-cell { + margin: 8px; + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell { + width: 50%; } + .mdl-cell--hide-tablet { + display: none !important; } + .mdl-cell--order-1-tablet.mdl-cell--order-1-tablet { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .mdl-cell--order-2-tablet.mdl-cell--order-2-tablet { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; } + .mdl-cell--order-3-tablet.mdl-cell--order-3-tablet { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; } + .mdl-cell--order-4-tablet.mdl-cell--order-4-tablet { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4; } + .mdl-cell--order-5-tablet.mdl-cell--order-5-tablet { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5; } + .mdl-cell--order-6-tablet.mdl-cell--order-6-tablet { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6; } + .mdl-cell--order-7-tablet.mdl-cell--order-7-tablet { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7; } + .mdl-cell--order-8-tablet.mdl-cell--order-8-tablet { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8; } + .mdl-cell--order-9-tablet.mdl-cell--order-9-tablet { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9; } + .mdl-cell--order-10-tablet.mdl-cell--order-10-tablet { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10; } + .mdl-cell--order-11-tablet.mdl-cell--order-11-tablet { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11; } + .mdl-cell--order-12-tablet.mdl-cell--order-12-tablet { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12; } + .mdl-cell--1-col, + .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet { + width: calc(12.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing > + .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet { + width: 12.5%; } + .mdl-cell--2-col, + .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing > + .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet { + width: 25%; } + .mdl-cell--3-col, + .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet { + width: calc(37.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing > + .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet { + width: 37.5%; } + .mdl-cell--4-col, + .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing > + .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet { + width: 50%; } + .mdl-cell--5-col, + .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet { + width: calc(62.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing > + .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet { + width: 62.5%; } + .mdl-cell--6-col, + .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing > + .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet { + width: 75%; } + .mdl-cell--7-col, + .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet { + width: calc(87.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing > + .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet { + width: 87.5%; } + .mdl-cell--8-col, + .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing > + .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet { + width: 100%; } + .mdl-cell--9-col, + .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing > + .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet { + width: 100%; } + .mdl-cell--10-col, + .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing > + .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet { + width: 100%; } + .mdl-cell--11-col, + .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing > + .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet { + width: 100%; } + .mdl-cell--12-col, + .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing > + .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet { + width: 100%; } + .mdl-cell--1-offset, + .mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet { + margin-left: calc(12.5% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet { + margin-left: 12.5%; } + .mdl-cell--2-offset, + .mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet { + margin-left: calc(25% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet { + margin-left: 25%; } + .mdl-cell--3-offset, + .mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet { + margin-left: calc(37.5% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet { + margin-left: 37.5%; } + .mdl-cell--4-offset, + .mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet { + margin-left: calc(50% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet { + margin-left: 50%; } + .mdl-cell--5-offset, + .mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet { + margin-left: calc(62.5% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet { + margin-left: 62.5%; } + .mdl-cell--6-offset, + .mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet { + margin-left: calc(75% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet { + margin-left: 75%; } + .mdl-cell--7-offset, + .mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet { + margin-left: calc(87.5% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet { + margin-left: 87.5%; } } + +@media (min-width: 840px) { + .mdl-grid { + padding: 8px; } + .mdl-cell { + margin: 8px; + width: calc(33.3333333333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell { + width: 33.3333333333%; } + .mdl-cell--hide-desktop { + display: none !important; } + .mdl-cell--order-1-desktop.mdl-cell--order-1-desktop { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + .mdl-cell--order-2-desktop.mdl-cell--order-2-desktop { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; } + .mdl-cell--order-3-desktop.mdl-cell--order-3-desktop { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; } + .mdl-cell--order-4-desktop.mdl-cell--order-4-desktop { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4; } + .mdl-cell--order-5-desktop.mdl-cell--order-5-desktop { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5; } + .mdl-cell--order-6-desktop.mdl-cell--order-6-desktop { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6; } + .mdl-cell--order-7-desktop.mdl-cell--order-7-desktop { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7; } + .mdl-cell--order-8-desktop.mdl-cell--order-8-desktop { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8; } + .mdl-cell--order-9-desktop.mdl-cell--order-9-desktop { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9; } + .mdl-cell--order-10-desktop.mdl-cell--order-10-desktop { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10; } + .mdl-cell--order-11-desktop.mdl-cell--order-11-desktop { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11; } + .mdl-cell--order-12-desktop.mdl-cell--order-12-desktop { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12; } + .mdl-cell--1-col, + .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop { + width: calc(8.3333333333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing > + .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop { + width: 8.3333333333%; } + .mdl-cell--2-col, + .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop { + width: calc(16.6666666667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing > + .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop { + width: 16.6666666667%; } + .mdl-cell--3-col, + .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing > + .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop { + width: 25%; } + .mdl-cell--4-col, + .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop { + width: calc(33.3333333333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing > + .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop { + width: 33.3333333333%; } + .mdl-cell--5-col, + .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop { + width: calc(41.6666666667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing > + .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop { + width: 41.6666666667%; } + .mdl-cell--6-col, + .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing > + .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop { + width: 50%; } + .mdl-cell--7-col, + .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop { + width: calc(58.3333333333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing > + .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop { + width: 58.3333333333%; } + .mdl-cell--8-col, + .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop { + width: calc(66.6666666667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing > + .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop { + width: 66.6666666667%; } + .mdl-cell--9-col, + .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing > + .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop { + width: 75%; } + .mdl-cell--10-col, + .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop { + width: calc(83.3333333333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing > + .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop { + width: 83.3333333333%; } + .mdl-cell--11-col, + .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop { + width: calc(91.6666666667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing > + .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop { + width: 91.6666666667%; } + .mdl-cell--12-col, + .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing > + .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop { + width: 100%; } + .mdl-cell--1-offset, + .mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop { + margin-left: calc(8.3333333333% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop { + margin-left: 8.3333333333%; } + .mdl-cell--2-offset, + .mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop { + margin-left: calc(16.6666666667% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop { + margin-left: 16.6666666667%; } + .mdl-cell--3-offset, + .mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop { + margin-left: calc(25% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop { + margin-left: 25%; } + .mdl-cell--4-offset, + .mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop { + margin-left: calc(33.3333333333% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop { + margin-left: 33.3333333333%; } + .mdl-cell--5-offset, + .mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop { + margin-left: calc(41.6666666667% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop { + margin-left: 41.6666666667%; } + .mdl-cell--6-offset, + .mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop { + margin-left: calc(50% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop { + margin-left: 50%; } + .mdl-cell--7-offset, + .mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop { + margin-left: calc(58.3333333333% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop { + margin-left: 58.3333333333%; } + .mdl-cell--8-offset, + .mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop { + margin-left: calc(66.6666666667% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--8-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop { + margin-left: 66.6666666667%; } + .mdl-cell--9-offset, + .mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop { + margin-left: calc(75% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--9-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop { + margin-left: 75%; } + .mdl-cell--10-offset, + .mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop { + margin-left: calc(83.3333333333% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--10-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop { + margin-left: 83.3333333333%; } + .mdl-cell--11-offset, + .mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop { + margin-left: calc(91.6666666667% + 8px); } + .mdl-grid.mdl-grid--no-spacing > .mdl-cell--11-offset, .mdl-grid.mdl-grid--no-spacing > + .mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop { + margin-left: 91.6666666667%; } } diff --git a/ChatrServer/wwwroot/css/material.min.css b/ChatrServer/wwwroot/css/material.min.css new file mode 100644 index 0000000..e2632ca --- /dev/null +++ b/ChatrServer/wwwroot/css/material.min.css @@ -0,0 +1,9 @@ +/** + * material-design-lite - Material Design Components in CSS, JS and HTML + * @version v1.3.0 + * @license Apache-2.0 + * @copyright 2015 Google, Inc. + * @link https://github.com/google/material-design-lite + */ +@charset "UTF-8";html{color:rgba(0,0,0,.87)}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.hidden{display:none!important}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}@media print{*,*:before,*:after,*:first-letter{background:transparent!important;color:#000!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}a,.mdl-accordion,.mdl-button,.mdl-card,.mdl-checkbox,.mdl-dropdown-menu,.mdl-icon-toggle,.mdl-item,.mdl-radio,.mdl-slider,.mdl-switch,.mdl-tabs__tab{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(255,255,255,0)}html{width:100%;height:100%;-ms-touch-action:manipulation;touch-action:manipulation}body{width:100%;min-height:100%;margin:0}main{display:block}*[hidden]{display:none!important}html,body{font-family:"Helvetica","Arial",sans-serif;font-size:14px;font-weight:400;line-height:20px}h1,h2,h3,h4,h5,h6,p{padding:0}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400;line-height:1.35;letter-spacing:-.02em;opacity:.54;font-size:.6em}h1{font-size:56px;line-height:1.35;letter-spacing:-.02em;margin:24px 0}h1,h2{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400}h2{font-size:45px;line-height:48px}h2,h3{margin:24px 0}h3{font-size:34px;line-height:40px}h3,h4{font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400}h4{font-size:24px;line-height:32px;-moz-osx-font-smoothing:grayscale;margin:24px 0 16px}h5{font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}h5,h6{font-family:"Roboto","Helvetica","Arial",sans-serif;margin:24px 0 16px}h6{font-size:16px;letter-spacing:.04em}h6,p{font-weight:400;line-height:24px}p{font-size:14px;letter-spacing:0;margin:0 0 16px}a{color:#ff4081;font-weight:500}blockquote{font-family:"Roboto","Helvetica","Arial",sans-serif;position:relative;font-size:24px;font-weight:300;font-style:italic;line-height:1.35;letter-spacing:.08em}blockquote:before{position:absolute;left:-.5em;content:'“'}blockquote:after{content:'”';margin-left:-.05em}mark{background-color:#f4ff81}dt{font-weight:700}address{font-size:12px;line-height:1;font-style:normal}address,ul,ol{font-weight:400;letter-spacing:0}ul,ol{font-size:14px;line-height:24px}.mdl-typography--display-4,.mdl-typography--display-4-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:112px;font-weight:300;line-height:1;letter-spacing:-.04em}.mdl-typography--display-4-color-contrast{opacity:.54}.mdl-typography--display-3,.mdl-typography--display-3-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:56px;font-weight:400;line-height:1.35;letter-spacing:-.02em}.mdl-typography--display-3-color-contrast{opacity:.54}.mdl-typography--display-2,.mdl-typography--display-2-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:45px;font-weight:400;line-height:48px}.mdl-typography--display-2-color-contrast{opacity:.54}.mdl-typography--display-1,.mdl-typography--display-1-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:34px;font-weight:400;line-height:40px}.mdl-typography--display-1-color-contrast{opacity:.54}.mdl-typography--headline,.mdl-typography--headline-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:24px;font-weight:400;line-height:32px;-moz-osx-font-smoothing:grayscale}.mdl-typography--headline-color-contrast{opacity:.87}.mdl-typography--title,.mdl-typography--title-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}.mdl-typography--title-color-contrast{opacity:.87}.mdl-typography--subhead,.mdl-typography--subhead-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:.04em}.mdl-typography--subhead-color-contrast{opacity:.87}.mdl-typography--body-2,.mdl-typography--body-2-color-contrast{font-size:14px;font-weight:700;line-height:24px;letter-spacing:0}.mdl-typography--body-2-color-contrast{opacity:.87}.mdl-typography--body-1,.mdl-typography--body-1-color-contrast{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-color-contrast{opacity:.87}.mdl-typography--body-2-force-preferred-font,.mdl-typography--body-2-force-preferred-font-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;line-height:24px;letter-spacing:0}.mdl-typography--body-2-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--body-1-force-preferred-font,.mdl-typography--body-1-force-preferred-font-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--caption,.mdl-typography--caption-force-preferred-font{font-size:12px;font-weight:400;line-height:1;letter-spacing:0}.mdl-typography--caption-force-preferred-font{font-family:"Roboto","Helvetica","Arial",sans-serif}.mdl-typography--caption-color-contrast,.mdl-typography--caption-force-preferred-font-color-contrast{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;opacity:.54}.mdl-typography--caption-force-preferred-font-color-contrast,.mdl-typography--menu{font-family:"Roboto","Helvetica","Arial",sans-serif}.mdl-typography--menu{font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--menu-color-contrast{opacity:.87}.mdl-typography--menu-color-contrast,.mdl-typography--button,.mdl-typography--button-color-contrast{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--button,.mdl-typography--button-color-contrast{text-transform:uppercase}.mdl-typography--button-color-contrast{opacity:.87}.mdl-typography--text-left{text-align:left}.mdl-typography--text-right{text-align:right}.mdl-typography--text-center{text-align:center}.mdl-typography--text-justify{text-align:justify}.mdl-typography--text-nowrap{white-space:nowrap}.mdl-typography--text-lowercase{text-transform:lowercase}.mdl-typography--text-uppercase{text-transform:uppercase}.mdl-typography--text-capitalize{text-transform:capitalize}.mdl-typography--font-thin{font-weight:200!important}.mdl-typography--font-light{font-weight:300!important}.mdl-typography--font-regular{font-weight:400!important}.mdl-typography--font-medium{font-weight:500!important}.mdl-typography--font-bold{font-weight:700!important}.mdl-typography--font-black{font-weight:900!important}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;-moz-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.mdl-color-text--red{color:#f44336 !important}.mdl-color--red{background-color:#f44336 !important}.mdl-color-text--red-50{color:#ffebee !important}.mdl-color--red-50{background-color:#ffebee !important}.mdl-color-text--red-100{color:#ffcdd2 !important}.mdl-color--red-100{background-color:#ffcdd2 !important}.mdl-color-text--red-200{color:#ef9a9a !important}.mdl-color--red-200{background-color:#ef9a9a !important}.mdl-color-text--red-300{color:#e57373 !important}.mdl-color--red-300{background-color:#e57373 !important}.mdl-color-text--red-400{color:#ef5350 !important}.mdl-color--red-400{background-color:#ef5350 !important}.mdl-color-text--red-500{color:#f44336 !important}.mdl-color--red-500{background-color:#f44336 !important}.mdl-color-text--red-600{color:#e53935 !important}.mdl-color--red-600{background-color:#e53935 !important}.mdl-color-text--red-700{color:#d32f2f !important}.mdl-color--red-700{background-color:#d32f2f !important}.mdl-color-text--red-800{color:#c62828 !important}.mdl-color--red-800{background-color:#c62828 !important}.mdl-color-text--red-900{color:#b71c1c !important}.mdl-color--red-900{background-color:#b71c1c !important}.mdl-color-text--red-A100{color:#ff8a80 !important}.mdl-color--red-A100{background-color:#ff8a80 !important}.mdl-color-text--red-A200{color:#ff5252 !important}.mdl-color--red-A200{background-color:#ff5252 !important}.mdl-color-text--red-A400{color:#ff1744 !important}.mdl-color--red-A400{background-color:#ff1744 !important}.mdl-color-text--red-A700{color:#d50000 !important}.mdl-color--red-A700{background-color:#d50000 !important}.mdl-color-text--pink{color:#e91e63 !important}.mdl-color--pink{background-color:#e91e63 !important}.mdl-color-text--pink-50{color:#fce4ec !important}.mdl-color--pink-50{background-color:#fce4ec !important}.mdl-color-text--pink-100{color:#f8bbd0 !important}.mdl-color--pink-100{background-color:#f8bbd0 !important}.mdl-color-text--pink-200{color:#f48fb1 !important}.mdl-color--pink-200{background-color:#f48fb1 !important}.mdl-color-text--pink-300{color:#f06292 !important}.mdl-color--pink-300{background-color:#f06292 !important}.mdl-color-text--pink-400{color:#ec407a !important}.mdl-color--pink-400{background-color:#ec407a !important}.mdl-color-text--pink-500{color:#e91e63 !important}.mdl-color--pink-500{background-color:#e91e63 !important}.mdl-color-text--pink-600{color:#d81b60 !important}.mdl-color--pink-600{background-color:#d81b60 !important}.mdl-color-text--pink-700{color:#c2185b !important}.mdl-color--pink-700{background-color:#c2185b !important}.mdl-color-text--pink-800{color:#ad1457 !important}.mdl-color--pink-800{background-color:#ad1457 !important}.mdl-color-text--pink-900{color:#880e4f !important}.mdl-color--pink-900{background-color:#880e4f !important}.mdl-color-text--pink-A100{color:#ff80ab !important}.mdl-color--pink-A100{background-color:#ff80ab !important}.mdl-color-text--pink-A200{color:#ff4081 !important}.mdl-color--pink-A200{background-color:#ff4081 !important}.mdl-color-text--pink-A400{color:#f50057 !important}.mdl-color--pink-A400{background-color:#f50057 !important}.mdl-color-text--pink-A700{color:#c51162 !important}.mdl-color--pink-A700{background-color:#c51162 !important}.mdl-color-text--purple{color:#9c27b0 !important}.mdl-color--purple{background-color:#9c27b0 !important}.mdl-color-text--purple-50{color:#f3e5f5 !important}.mdl-color--purple-50{background-color:#f3e5f5 !important}.mdl-color-text--purple-100{color:#e1bee7 !important}.mdl-color--purple-100{background-color:#e1bee7 !important}.mdl-color-text--purple-200{color:#ce93d8 !important}.mdl-color--purple-200{background-color:#ce93d8 !important}.mdl-color-text--purple-300{color:#ba68c8 !important}.mdl-color--purple-300{background-color:#ba68c8 !important}.mdl-color-text--purple-400{color:#ab47bc !important}.mdl-color--purple-400{background-color:#ab47bc !important}.mdl-color-text--purple-500{color:#9c27b0 !important}.mdl-color--purple-500{background-color:#9c27b0 !important}.mdl-color-text--purple-600{color:#8e24aa !important}.mdl-color--purple-600{background-color:#8e24aa !important}.mdl-color-text--purple-700{color:#7b1fa2 !important}.mdl-color--purple-700{background-color:#7b1fa2 !important}.mdl-color-text--purple-800{color:#6a1b9a !important}.mdl-color--purple-800{background-color:#6a1b9a !important}.mdl-color-text--purple-900{color:#4a148c !important}.mdl-color--purple-900{background-color:#4a148c !important}.mdl-color-text--purple-A100{color:#ea80fc !important}.mdl-color--purple-A100{background-color:#ea80fc !important}.mdl-color-text--purple-A200{color:#e040fb !important}.mdl-color--purple-A200{background-color:#e040fb !important}.mdl-color-text--purple-A400{color:#d500f9 !important}.mdl-color--purple-A400{background-color:#d500f9 !important}.mdl-color-text--purple-A700{color:#a0f !important}.mdl-color--purple-A700{background-color:#a0f !important}.mdl-color-text--deep-purple{color:#673ab7 !important}.mdl-color--deep-purple{background-color:#673ab7 !important}.mdl-color-text--deep-purple-50{color:#ede7f6 !important}.mdl-color--deep-purple-50{background-color:#ede7f6 !important}.mdl-color-text--deep-purple-100{color:#d1c4e9 !important}.mdl-color--deep-purple-100{background-color:#d1c4e9 !important}.mdl-color-text--deep-purple-200{color:#b39ddb !important}.mdl-color--deep-purple-200{background-color:#b39ddb !important}.mdl-color-text--deep-purple-300{color:#9575cd !important}.mdl-color--deep-purple-300{background-color:#9575cd !important}.mdl-color-text--deep-purple-400{color:#7e57c2 !important}.mdl-color--deep-purple-400{background-color:#7e57c2 !important}.mdl-color-text--deep-purple-500{color:#673ab7 !important}.mdl-color--deep-purple-500{background-color:#673ab7 !important}.mdl-color-text--deep-purple-600{color:#5e35b1 !important}.mdl-color--deep-purple-600{background-color:#5e35b1 !important}.mdl-color-text--deep-purple-700{color:#512da8 !important}.mdl-color--deep-purple-700{background-color:#512da8 !important}.mdl-color-text--deep-purple-800{color:#4527a0 !important}.mdl-color--deep-purple-800{background-color:#4527a0 !important}.mdl-color-text--deep-purple-900{color:#311b92 !important}.mdl-color--deep-purple-900{background-color:#311b92 !important}.mdl-color-text--deep-purple-A100{color:#b388ff !important}.mdl-color--deep-purple-A100{background-color:#b388ff !important}.mdl-color-text--deep-purple-A200{color:#7c4dff !important}.mdl-color--deep-purple-A200{background-color:#7c4dff !important}.mdl-color-text--deep-purple-A400{color:#651fff !important}.mdl-color--deep-purple-A400{background-color:#651fff !important}.mdl-color-text--deep-purple-A700{color:#6200ea !important}.mdl-color--deep-purple-A700{background-color:#6200ea !important}.mdl-color-text--indigo{color:#3f51b5 !important}.mdl-color--indigo{background-color:#3f51b5 !important}.mdl-color-text--indigo-50{color:#e8eaf6 !important}.mdl-color--indigo-50{background-color:#e8eaf6 !important}.mdl-color-text--indigo-100{color:#c5cae9 !important}.mdl-color--indigo-100{background-color:#c5cae9 !important}.mdl-color-text--indigo-200{color:#9fa8da !important}.mdl-color--indigo-200{background-color:#9fa8da !important}.mdl-color-text--indigo-300{color:#7986cb !important}.mdl-color--indigo-300{background-color:#7986cb !important}.mdl-color-text--indigo-400{color:#5c6bc0 !important}.mdl-color--indigo-400{background-color:#5c6bc0 !important}.mdl-color-text--indigo-500{color:#3f51b5 !important}.mdl-color--indigo-500{background-color:#3f51b5 !important}.mdl-color-text--indigo-600{color:#3949ab !important}.mdl-color--indigo-600{background-color:#3949ab !important}.mdl-color-text--indigo-700{color:#303f9f !important}.mdl-color--indigo-700{background-color:#303f9f !important}.mdl-color-text--indigo-800{color:#283593 !important}.mdl-color--indigo-800{background-color:#283593 !important}.mdl-color-text--indigo-900{color:#1a237e !important}.mdl-color--indigo-900{background-color:#1a237e !important}.mdl-color-text--indigo-A100{color:#8c9eff !important}.mdl-color--indigo-A100{background-color:#8c9eff !important}.mdl-color-text--indigo-A200{color:#536dfe !important}.mdl-color--indigo-A200{background-color:#536dfe !important}.mdl-color-text--indigo-A400{color:#3d5afe !important}.mdl-color--indigo-A400{background-color:#3d5afe !important}.mdl-color-text--indigo-A700{color:#304ffe !important}.mdl-color--indigo-A700{background-color:#304ffe !important}.mdl-color-text--blue{color:#2196f3 !important}.mdl-color--blue{background-color:#2196f3 !important}.mdl-color-text--blue-50{color:#e3f2fd !important}.mdl-color--blue-50{background-color:#e3f2fd !important}.mdl-color-text--blue-100{color:#bbdefb !important}.mdl-color--blue-100{background-color:#bbdefb !important}.mdl-color-text--blue-200{color:#90caf9 !important}.mdl-color--blue-200{background-color:#90caf9 !important}.mdl-color-text--blue-300{color:#64b5f6 !important}.mdl-color--blue-300{background-color:#64b5f6 !important}.mdl-color-text--blue-400{color:#42a5f5 !important}.mdl-color--blue-400{background-color:#42a5f5 !important}.mdl-color-text--blue-500{color:#2196f3 !important}.mdl-color--blue-500{background-color:#2196f3 !important}.mdl-color-text--blue-600{color:#1e88e5 !important}.mdl-color--blue-600{background-color:#1e88e5 !important}.mdl-color-text--blue-700{color:#1976d2 !important}.mdl-color--blue-700{background-color:#1976d2 !important}.mdl-color-text--blue-800{color:#1565c0 !important}.mdl-color--blue-800{background-color:#1565c0 !important}.mdl-color-text--blue-900{color:#0d47a1 !important}.mdl-color--blue-900{background-color:#0d47a1 !important}.mdl-color-text--blue-A100{color:#82b1ff !important}.mdl-color--blue-A100{background-color:#82b1ff !important}.mdl-color-text--blue-A200{color:#448aff !important}.mdl-color--blue-A200{background-color:#448aff !important}.mdl-color-text--blue-A400{color:#2979ff !important}.mdl-color--blue-A400{background-color:#2979ff !important}.mdl-color-text--blue-A700{color:#2962ff !important}.mdl-color--blue-A700{background-color:#2962ff !important}.mdl-color-text--light-blue{color:#03a9f4 !important}.mdl-color--light-blue{background-color:#03a9f4 !important}.mdl-color-text--light-blue-50{color:#e1f5fe !important}.mdl-color--light-blue-50{background-color:#e1f5fe !important}.mdl-color-text--light-blue-100{color:#b3e5fc !important}.mdl-color--light-blue-100{background-color:#b3e5fc !important}.mdl-color-text--light-blue-200{color:#81d4fa !important}.mdl-color--light-blue-200{background-color:#81d4fa !important}.mdl-color-text--light-blue-300{color:#4fc3f7 !important}.mdl-color--light-blue-300{background-color:#4fc3f7 !important}.mdl-color-text--light-blue-400{color:#29b6f6 !important}.mdl-color--light-blue-400{background-color:#29b6f6 !important}.mdl-color-text--light-blue-500{color:#03a9f4 !important}.mdl-color--light-blue-500{background-color:#03a9f4 !important}.mdl-color-text--light-blue-600{color:#039be5 !important}.mdl-color--light-blue-600{background-color:#039be5 !important}.mdl-color-text--light-blue-700{color:#0288d1 !important}.mdl-color--light-blue-700{background-color:#0288d1 !important}.mdl-color-text--light-blue-800{color:#0277bd !important}.mdl-color--light-blue-800{background-color:#0277bd !important}.mdl-color-text--light-blue-900{color:#01579b !important}.mdl-color--light-blue-900{background-color:#01579b !important}.mdl-color-text--light-blue-A100{color:#80d8ff !important}.mdl-color--light-blue-A100{background-color:#80d8ff !important}.mdl-color-text--light-blue-A200{color:#40c4ff !important}.mdl-color--light-blue-A200{background-color:#40c4ff !important}.mdl-color-text--light-blue-A400{color:#00b0ff !important}.mdl-color--light-blue-A400{background-color:#00b0ff !important}.mdl-color-text--light-blue-A700{color:#0091ea !important}.mdl-color--light-blue-A700{background-color:#0091ea !important}.mdl-color-text--cyan{color:#00bcd4 !important}.mdl-color--cyan{background-color:#00bcd4 !important}.mdl-color-text--cyan-50{color:#e0f7fa !important}.mdl-color--cyan-50{background-color:#e0f7fa !important}.mdl-color-text--cyan-100{color:#b2ebf2 !important}.mdl-color--cyan-100{background-color:#b2ebf2 !important}.mdl-color-text--cyan-200{color:#80deea !important}.mdl-color--cyan-200{background-color:#80deea !important}.mdl-color-text--cyan-300{color:#4dd0e1 !important}.mdl-color--cyan-300{background-color:#4dd0e1 !important}.mdl-color-text--cyan-400{color:#26c6da !important}.mdl-color--cyan-400{background-color:#26c6da !important}.mdl-color-text--cyan-500{color:#00bcd4 !important}.mdl-color--cyan-500{background-color:#00bcd4 !important}.mdl-color-text--cyan-600{color:#00acc1 !important}.mdl-color--cyan-600{background-color:#00acc1 !important}.mdl-color-text--cyan-700{color:#0097a7 !important}.mdl-color--cyan-700{background-color:#0097a7 !important}.mdl-color-text--cyan-800{color:#00838f !important}.mdl-color--cyan-800{background-color:#00838f !important}.mdl-color-text--cyan-900{color:#006064 !important}.mdl-color--cyan-900{background-color:#006064 !important}.mdl-color-text--cyan-A100{color:#84ffff !important}.mdl-color--cyan-A100{background-color:#84ffff !important}.mdl-color-text--cyan-A200{color:#18ffff !important}.mdl-color--cyan-A200{background-color:#18ffff !important}.mdl-color-text--cyan-A400{color:#00e5ff !important}.mdl-color--cyan-A400{background-color:#00e5ff !important}.mdl-color-text--cyan-A700{color:#00b8d4 !important}.mdl-color--cyan-A700{background-color:#00b8d4 !important}.mdl-color-text--teal{color:#009688 !important}.mdl-color--teal{background-color:#009688 !important}.mdl-color-text--teal-50{color:#e0f2f1 !important}.mdl-color--teal-50{background-color:#e0f2f1 !important}.mdl-color-text--teal-100{color:#b2dfdb !important}.mdl-color--teal-100{background-color:#b2dfdb !important}.mdl-color-text--teal-200{color:#80cbc4 !important}.mdl-color--teal-200{background-color:#80cbc4 !important}.mdl-color-text--teal-300{color:#4db6ac !important}.mdl-color--teal-300{background-color:#4db6ac !important}.mdl-color-text--teal-400{color:#26a69a !important}.mdl-color--teal-400{background-color:#26a69a !important}.mdl-color-text--teal-500{color:#009688 !important}.mdl-color--teal-500{background-color:#009688 !important}.mdl-color-text--teal-600{color:#00897b !important}.mdl-color--teal-600{background-color:#00897b !important}.mdl-color-text--teal-700{color:#00796b !important}.mdl-color--teal-700{background-color:#00796b !important}.mdl-color-text--teal-800{color:#00695c !important}.mdl-color--teal-800{background-color:#00695c !important}.mdl-color-text--teal-900{color:#004d40 !important}.mdl-color--teal-900{background-color:#004d40 !important}.mdl-color-text--teal-A100{color:#a7ffeb !important}.mdl-color--teal-A100{background-color:#a7ffeb !important}.mdl-color-text--teal-A200{color:#64ffda !important}.mdl-color--teal-A200{background-color:#64ffda !important}.mdl-color-text--teal-A400{color:#1de9b6 !important}.mdl-color--teal-A400{background-color:#1de9b6 !important}.mdl-color-text--teal-A700{color:#00bfa5 !important}.mdl-color--teal-A700{background-color:#00bfa5 !important}.mdl-color-text--green{color:#4caf50 !important}.mdl-color--green{background-color:#4caf50 !important}.mdl-color-text--green-50{color:#e8f5e9 !important}.mdl-color--green-50{background-color:#e8f5e9 !important}.mdl-color-text--green-100{color:#c8e6c9 !important}.mdl-color--green-100{background-color:#c8e6c9 !important}.mdl-color-text--green-200{color:#a5d6a7 !important}.mdl-color--green-200{background-color:#a5d6a7 !important}.mdl-color-text--green-300{color:#81c784 !important}.mdl-color--green-300{background-color:#81c784 !important}.mdl-color-text--green-400{color:#66bb6a !important}.mdl-color--green-400{background-color:#66bb6a !important}.mdl-color-text--green-500{color:#4caf50 !important}.mdl-color--green-500{background-color:#4caf50 !important}.mdl-color-text--green-600{color:#43a047 !important}.mdl-color--green-600{background-color:#43a047 !important}.mdl-color-text--green-700{color:#388e3c !important}.mdl-color--green-700{background-color:#388e3c !important}.mdl-color-text--green-800{color:#2e7d32 !important}.mdl-color--green-800{background-color:#2e7d32 !important}.mdl-color-text--green-900{color:#1b5e20 !important}.mdl-color--green-900{background-color:#1b5e20 !important}.mdl-color-text--green-A100{color:#b9f6ca !important}.mdl-color--green-A100{background-color:#b9f6ca !important}.mdl-color-text--green-A200{color:#69f0ae !important}.mdl-color--green-A200{background-color:#69f0ae !important}.mdl-color-text--green-A400{color:#00e676 !important}.mdl-color--green-A400{background-color:#00e676 !important}.mdl-color-text--green-A700{color:#00c853 !important}.mdl-color--green-A700{background-color:#00c853 !important}.mdl-color-text--light-green{color:#8bc34a !important}.mdl-color--light-green{background-color:#8bc34a !important}.mdl-color-text--light-green-50{color:#f1f8e9 !important}.mdl-color--light-green-50{background-color:#f1f8e9 !important}.mdl-color-text--light-green-100{color:#dcedc8 !important}.mdl-color--light-green-100{background-color:#dcedc8 !important}.mdl-color-text--light-green-200{color:#c5e1a5 !important}.mdl-color--light-green-200{background-color:#c5e1a5 !important}.mdl-color-text--light-green-300{color:#aed581 !important}.mdl-color--light-green-300{background-color:#aed581 !important}.mdl-color-text--light-green-400{color:#9ccc65 !important}.mdl-color--light-green-400{background-color:#9ccc65 !important}.mdl-color-text--light-green-500{color:#8bc34a !important}.mdl-color--light-green-500{background-color:#8bc34a !important}.mdl-color-text--light-green-600{color:#7cb342 !important}.mdl-color--light-green-600{background-color:#7cb342 !important}.mdl-color-text--light-green-700{color:#689f38 !important}.mdl-color--light-green-700{background-color:#689f38 !important}.mdl-color-text--light-green-800{color:#558b2f !important}.mdl-color--light-green-800{background-color:#558b2f !important}.mdl-color-text--light-green-900{color:#33691e !important}.mdl-color--light-green-900{background-color:#33691e !important}.mdl-color-text--light-green-A100{color:#ccff90 !important}.mdl-color--light-green-A100{background-color:#ccff90 !important}.mdl-color-text--light-green-A200{color:#b2ff59 !important}.mdl-color--light-green-A200{background-color:#b2ff59 !important}.mdl-color-text--light-green-A400{color:#76ff03 !important}.mdl-color--light-green-A400{background-color:#76ff03 !important}.mdl-color-text--light-green-A700{color:#64dd17 !important}.mdl-color--light-green-A700{background-color:#64dd17 !important}.mdl-color-text--lime{color:#cddc39 !important}.mdl-color--lime{background-color:#cddc39 !important}.mdl-color-text--lime-50{color:#f9fbe7 !important}.mdl-color--lime-50{background-color:#f9fbe7 !important}.mdl-color-text--lime-100{color:#f0f4c3 !important}.mdl-color--lime-100{background-color:#f0f4c3 !important}.mdl-color-text--lime-200{color:#e6ee9c !important}.mdl-color--lime-200{background-color:#e6ee9c !important}.mdl-color-text--lime-300{color:#dce775 !important}.mdl-color--lime-300{background-color:#dce775 !important}.mdl-color-text--lime-400{color:#d4e157 !important}.mdl-color--lime-400{background-color:#d4e157 !important}.mdl-color-text--lime-500{color:#cddc39 !important}.mdl-color--lime-500{background-color:#cddc39 !important}.mdl-color-text--lime-600{color:#c0ca33 !important}.mdl-color--lime-600{background-color:#c0ca33 !important}.mdl-color-text--lime-700{color:#afb42b !important}.mdl-color--lime-700{background-color:#afb42b !important}.mdl-color-text--lime-800{color:#9e9d24 !important}.mdl-color--lime-800{background-color:#9e9d24 !important}.mdl-color-text--lime-900{color:#827717 !important}.mdl-color--lime-900{background-color:#827717 !important}.mdl-color-text--lime-A100{color:#f4ff81 !important}.mdl-color--lime-A100{background-color:#f4ff81 !important}.mdl-color-text--lime-A200{color:#eeff41 !important}.mdl-color--lime-A200{background-color:#eeff41 !important}.mdl-color-text--lime-A400{color:#c6ff00 !important}.mdl-color--lime-A400{background-color:#c6ff00 !important}.mdl-color-text--lime-A700{color:#aeea00 !important}.mdl-color--lime-A700{background-color:#aeea00 !important}.mdl-color-text--yellow{color:#ffeb3b !important}.mdl-color--yellow{background-color:#ffeb3b !important}.mdl-color-text--yellow-50{color:#fffde7 !important}.mdl-color--yellow-50{background-color:#fffde7 !important}.mdl-color-text--yellow-100{color:#fff9c4 !important}.mdl-color--yellow-100{background-color:#fff9c4 !important}.mdl-color-text--yellow-200{color:#fff59d !important}.mdl-color--yellow-200{background-color:#fff59d !important}.mdl-color-text--yellow-300{color:#fff176 !important}.mdl-color--yellow-300{background-color:#fff176 !important}.mdl-color-text--yellow-400{color:#ffee58 !important}.mdl-color--yellow-400{background-color:#ffee58 !important}.mdl-color-text--yellow-500{color:#ffeb3b !important}.mdl-color--yellow-500{background-color:#ffeb3b !important}.mdl-color-text--yellow-600{color:#fdd835 !important}.mdl-color--yellow-600{background-color:#fdd835 !important}.mdl-color-text--yellow-700{color:#fbc02d !important}.mdl-color--yellow-700{background-color:#fbc02d !important}.mdl-color-text--yellow-800{color:#f9a825 !important}.mdl-color--yellow-800{background-color:#f9a825 !important}.mdl-color-text--yellow-900{color:#f57f17 !important}.mdl-color--yellow-900{background-color:#f57f17 !important}.mdl-color-text--yellow-A100{color:#ffff8d !important}.mdl-color--yellow-A100{background-color:#ffff8d !important}.mdl-color-text--yellow-A200{color:#ff0 !important}.mdl-color--yellow-A200{background-color:#ff0 !important}.mdl-color-text--yellow-A400{color:#ffea00 !important}.mdl-color--yellow-A400{background-color:#ffea00 !important}.mdl-color-text--yellow-A700{color:#ffd600 !important}.mdl-color--yellow-A700{background-color:#ffd600 !important}.mdl-color-text--amber{color:#ffc107 !important}.mdl-color--amber{background-color:#ffc107 !important}.mdl-color-text--amber-50{color:#fff8e1 !important}.mdl-color--amber-50{background-color:#fff8e1 !important}.mdl-color-text--amber-100{color:#ffecb3 !important}.mdl-color--amber-100{background-color:#ffecb3 !important}.mdl-color-text--amber-200{color:#ffe082 !important}.mdl-color--amber-200{background-color:#ffe082 !important}.mdl-color-text--amber-300{color:#ffd54f !important}.mdl-color--amber-300{background-color:#ffd54f !important}.mdl-color-text--amber-400{color:#ffca28 !important}.mdl-color--amber-400{background-color:#ffca28 !important}.mdl-color-text--amber-500{color:#ffc107 !important}.mdl-color--amber-500{background-color:#ffc107 !important}.mdl-color-text--amber-600{color:#ffb300 !important}.mdl-color--amber-600{background-color:#ffb300 !important}.mdl-color-text--amber-700{color:#ffa000 !important}.mdl-color--amber-700{background-color:#ffa000 !important}.mdl-color-text--amber-800{color:#ff8f00 !important}.mdl-color--amber-800{background-color:#ff8f00 !important}.mdl-color-text--amber-900{color:#ff6f00 !important}.mdl-color--amber-900{background-color:#ff6f00 !important}.mdl-color-text--amber-A100{color:#ffe57f !important}.mdl-color--amber-A100{background-color:#ffe57f !important}.mdl-color-text--amber-A200{color:#ffd740 !important}.mdl-color--amber-A200{background-color:#ffd740 !important}.mdl-color-text--amber-A400{color:#ffc400 !important}.mdl-color--amber-A400{background-color:#ffc400 !important}.mdl-color-text--amber-A700{color:#ffab00 !important}.mdl-color--amber-A700{background-color:#ffab00 !important}.mdl-color-text--orange{color:#ff9800 !important}.mdl-color--orange{background-color:#ff9800 !important}.mdl-color-text--orange-50{color:#fff3e0 !important}.mdl-color--orange-50{background-color:#fff3e0 !important}.mdl-color-text--orange-100{color:#ffe0b2 !important}.mdl-color--orange-100{background-color:#ffe0b2 !important}.mdl-color-text--orange-200{color:#ffcc80 !important}.mdl-color--orange-200{background-color:#ffcc80 !important}.mdl-color-text--orange-300{color:#ffb74d !important}.mdl-color--orange-300{background-color:#ffb74d !important}.mdl-color-text--orange-400{color:#ffa726 !important}.mdl-color--orange-400{background-color:#ffa726 !important}.mdl-color-text--orange-500{color:#ff9800 !important}.mdl-color--orange-500{background-color:#ff9800 !important}.mdl-color-text--orange-600{color:#fb8c00 !important}.mdl-color--orange-600{background-color:#fb8c00 !important}.mdl-color-text--orange-700{color:#f57c00 !important}.mdl-color--orange-700{background-color:#f57c00 !important}.mdl-color-text--orange-800{color:#ef6c00 !important}.mdl-color--orange-800{background-color:#ef6c00 !important}.mdl-color-text--orange-900{color:#e65100 !important}.mdl-color--orange-900{background-color:#e65100 !important}.mdl-color-text--orange-A100{color:#ffd180 !important}.mdl-color--orange-A100{background-color:#ffd180 !important}.mdl-color-text--orange-A200{color:#ffab40 !important}.mdl-color--orange-A200{background-color:#ffab40 !important}.mdl-color-text--orange-A400{color:#ff9100 !important}.mdl-color--orange-A400{background-color:#ff9100 !important}.mdl-color-text--orange-A700{color:#ff6d00 !important}.mdl-color--orange-A700{background-color:#ff6d00 !important}.mdl-color-text--deep-orange{color:#ff5722 !important}.mdl-color--deep-orange{background-color:#ff5722 !important}.mdl-color-text--deep-orange-50{color:#fbe9e7 !important}.mdl-color--deep-orange-50{background-color:#fbe9e7 !important}.mdl-color-text--deep-orange-100{color:#ffccbc !important}.mdl-color--deep-orange-100{background-color:#ffccbc !important}.mdl-color-text--deep-orange-200{color:#ffab91 !important}.mdl-color--deep-orange-200{background-color:#ffab91 !important}.mdl-color-text--deep-orange-300{color:#ff8a65 !important}.mdl-color--deep-orange-300{background-color:#ff8a65 !important}.mdl-color-text--deep-orange-400{color:#ff7043 !important}.mdl-color--deep-orange-400{background-color:#ff7043 !important}.mdl-color-text--deep-orange-500{color:#ff5722 !important}.mdl-color--deep-orange-500{background-color:#ff5722 !important}.mdl-color-text--deep-orange-600{color:#f4511e !important}.mdl-color--deep-orange-600{background-color:#f4511e !important}.mdl-color-text--deep-orange-700{color:#e64a19 !important}.mdl-color--deep-orange-700{background-color:#e64a19 !important}.mdl-color-text--deep-orange-800{color:#d84315 !important}.mdl-color--deep-orange-800{background-color:#d84315 !important}.mdl-color-text--deep-orange-900{color:#bf360c !important}.mdl-color--deep-orange-900{background-color:#bf360c !important}.mdl-color-text--deep-orange-A100{color:#ff9e80 !important}.mdl-color--deep-orange-A100{background-color:#ff9e80 !important}.mdl-color-text--deep-orange-A200{color:#ff6e40 !important}.mdl-color--deep-orange-A200{background-color:#ff6e40 !important}.mdl-color-text--deep-orange-A400{color:#ff3d00 !important}.mdl-color--deep-orange-A400{background-color:#ff3d00 !important}.mdl-color-text--deep-orange-A700{color:#dd2c00 !important}.mdl-color--deep-orange-A700{background-color:#dd2c00 !important}.mdl-color-text--brown{color:#795548 !important}.mdl-color--brown{background-color:#795548 !important}.mdl-color-text--brown-50{color:#efebe9 !important}.mdl-color--brown-50{background-color:#efebe9 !important}.mdl-color-text--brown-100{color:#d7ccc8 !important}.mdl-color--brown-100{background-color:#d7ccc8 !important}.mdl-color-text--brown-200{color:#bcaaa4 !important}.mdl-color--brown-200{background-color:#bcaaa4 !important}.mdl-color-text--brown-300{color:#a1887f !important}.mdl-color--brown-300{background-color:#a1887f !important}.mdl-color-text--brown-400{color:#8d6e63 !important}.mdl-color--brown-400{background-color:#8d6e63 !important}.mdl-color-text--brown-500{color:#795548 !important}.mdl-color--brown-500{background-color:#795548 !important}.mdl-color-text--brown-600{color:#6d4c41 !important}.mdl-color--brown-600{background-color:#6d4c41 !important}.mdl-color-text--brown-700{color:#5d4037 !important}.mdl-color--brown-700{background-color:#5d4037 !important}.mdl-color-text--brown-800{color:#4e342e !important}.mdl-color--brown-800{background-color:#4e342e !important}.mdl-color-text--brown-900{color:#3e2723 !important}.mdl-color--brown-900{background-color:#3e2723 !important}.mdl-color-text--grey{color:#9e9e9e !important}.mdl-color--grey{background-color:#9e9e9e !important}.mdl-color-text--grey-50{color:#fafafa !important}.mdl-color--grey-50{background-color:#fafafa !important}.mdl-color-text--grey-100{color:#f5f5f5 !important}.mdl-color--grey-100{background-color:#f5f5f5 !important}.mdl-color-text--grey-200{color:#eee !important}.mdl-color--grey-200{background-color:#eee !important}.mdl-color-text--grey-300{color:#e0e0e0 !important}.mdl-color--grey-300{background-color:#e0e0e0 !important}.mdl-color-text--grey-400{color:#bdbdbd !important}.mdl-color--grey-400{background-color:#bdbdbd !important}.mdl-color-text--grey-500{color:#9e9e9e !important}.mdl-color--grey-500{background-color:#9e9e9e !important}.mdl-color-text--grey-600{color:#757575 !important}.mdl-color--grey-600{background-color:#757575 !important}.mdl-color-text--grey-700{color:#616161 !important}.mdl-color--grey-700{background-color:#616161 !important}.mdl-color-text--grey-800{color:#424242 !important}.mdl-color--grey-800{background-color:#424242 !important}.mdl-color-text--grey-900{color:#212121 !important}.mdl-color--grey-900{background-color:#212121 !important}.mdl-color-text--blue-grey{color:#607d8b !important}.mdl-color--blue-grey{background-color:#607d8b !important}.mdl-color-text--blue-grey-50{color:#eceff1 !important}.mdl-color--blue-grey-50{background-color:#eceff1 !important}.mdl-color-text--blue-grey-100{color:#cfd8dc !important}.mdl-color--blue-grey-100{background-color:#cfd8dc !important}.mdl-color-text--blue-grey-200{color:#b0bec5 !important}.mdl-color--blue-grey-200{background-color:#b0bec5 !important}.mdl-color-text--blue-grey-300{color:#90a4ae !important}.mdl-color--blue-grey-300{background-color:#90a4ae !important}.mdl-color-text--blue-grey-400{color:#78909c !important}.mdl-color--blue-grey-400{background-color:#78909c !important}.mdl-color-text--blue-grey-500{color:#607d8b !important}.mdl-color--blue-grey-500{background-color:#607d8b !important}.mdl-color-text--blue-grey-600{color:#546e7a !important}.mdl-color--blue-grey-600{background-color:#546e7a !important}.mdl-color-text--blue-grey-700{color:#455a64 !important}.mdl-color--blue-grey-700{background-color:#455a64 !important}.mdl-color-text--blue-grey-800{color:#37474f !important}.mdl-color--blue-grey-800{background-color:#37474f !important}.mdl-color-text--blue-grey-900{color:#263238 !important}.mdl-color--blue-grey-900{background-color:#263238 !important}.mdl-color--black{background-color:#000 !important}.mdl-color-text--black{color:#000 !important}.mdl-color--white{background-color:#fff !important}.mdl-color-text--white{color:#fff !important}.mdl-color--primary{background-color:#3f51b5 !important}.mdl-color--primary-contrast{background-color:#fff !important}.mdl-color--primary-dark{background-color:#303f9f !important}.mdl-color--accent{background-color:#ff4081 !important}.mdl-color--accent-contrast{background-color:#fff !important}.mdl-color-text--primary{color:#3f51b5 !important}.mdl-color-text--primary-contrast{color:#fff !important}.mdl-color-text--primary-dark{color:#303f9f !important}.mdl-color-text--accent{color:#ff4081 !important}.mdl-color-text--accent-contrast{color:#fff !important}.mdl-ripple{background:#000;border-radius:50%;height:50px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:50px;overflow:hidden}.mdl-ripple.is-animating{transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1);transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1),-webkit-transform .3s cubic-bezier(0,0,.2,1)}.mdl-ripple.is-visible{opacity:.3}.mdl-animation--default,.mdl-animation--fast-out-slow-in{transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-animation--linear-out-slow-in{transition-timing-function:cubic-bezier(0,0,.2,1)}.mdl-animation--fast-out-linear-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.mdl-badge{position:relative;white-space:nowrap;margin-right:24px}.mdl-badge:not([data-badge]){margin-right:auto}.mdl-badge[data-badge]:after{content:attr(data-badge);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;top:-11px;right:-24px;font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:600;font-size:12px;width:22px;height:22px;border-radius:50%;background:#ff4081;color:#fff}.mdl-button .mdl-badge[data-badge]:after{top:-10px;right:-5px}.mdl-badge.mdl-badge--no-background[data-badge]:after{color:#ff4081;background:rgba(255,255,255,.2);box-shadow:0 0 1px gray}.mdl-badge.mdl-badge--overlap{margin-right:10px}.mdl-badge.mdl-badge--overlap:after{right:-10px}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:0;min-width:64px;padding:0 16px;display:inline-block;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.mdl-button::-moz-focus-inner{border:0}.mdl-button:hover{background-color:rgba(158,158,158,.2)}.mdl-button:focus:not(:active){background-color:rgba(0,0,0,.12)}.mdl-button:active{background-color:rgba(158,158,158,.4)}.mdl-button.mdl-button--colored{color:#3f51b5}.mdl-button.mdl-button--colored:focus:not(:active){background-color:rgba(0,0,0,.12)}input.mdl-button[type="submit"]{-webkit-appearance:none}.mdl-button--raised{background:rgba(158,158,158,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-button--raised:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--raised:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--raised.mdl-button--colored{background:#3f51b5;color:#fff}.mdl-button--raised.mdl-button--colored:hover{background-color:#3f51b5}.mdl-button--raised.mdl-button--colored:active{background-color:#3f51b5}.mdl-button--raised.mdl-button--colored:focus:not(:active){background-color:#3f51b5}.mdl-button--raised.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--fab{border-radius:50%;font-size:24px;height:56px;margin:auto;min-width:56px;width:56px;padding:0;overflow:hidden;background:rgba(158,158,158,.2);box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.mdl-button--fab .material-icons{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--fab.mdl-button--mini-fab{height:40px;min-width:40px;width:40px}.mdl-button--fab .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button--fab:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--fab:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--fab.mdl-button--colored{background:#ff4081;color:#fff}.mdl-button--fab.mdl-button--colored:hover{background-color:#ff4081}.mdl-button--fab.mdl-button--colored:focus:not(:active){background-color:#ff4081}.mdl-button--fab.mdl-button--colored:active{background-color:#ff4081}.mdl-button--fab.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--icon{border-radius:50%;font-size:24px;height:32px;margin-left:0;margin-right:0;min-width:32px;width:32px;padding:0;overflow:hidden;color:inherit;line-height:normal}.mdl-button--icon .material-icons{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon{height:24px;min-width:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon .material-icons{top:0;left:0}.mdl-button--icon .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button__ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple,.mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple{background-color:transparent}.mdl-button--primary.mdl-button--primary{color:#3f51b5}.mdl-button--primary.mdl-button--primary .mdl-ripple{background:#fff}.mdl-button--primary.mdl-button--primary.mdl-button--raised,.mdl-button--primary.mdl-button--primary.mdl-button--fab{color:#fff;background-color:#3f51b5}.mdl-button--accent.mdl-button--accent{color:#ff4081}.mdl-button--accent.mdl-button--accent .mdl-ripple{background:#fff}.mdl-button--accent.mdl-button--accent.mdl-button--raised,.mdl-button--accent.mdl-button--accent.mdl-button--fab{color:#fff;background-color:#ff4081}.mdl-button[disabled][disabled],.mdl-button.mdl-button--disabled.mdl-button--disabled{color:rgba(0,0,0,.26);cursor:default;background-color:transparent}.mdl-button--fab[disabled][disabled],.mdl-button--fab.mdl-button--disabled.mdl-button--disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-button--raised[disabled][disabled],.mdl-button--raised.mdl-button--disabled.mdl-button--disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26);box-shadow:none}.mdl-button--colored[disabled][disabled],.mdl-button--colored.mdl-button--disabled.mdl-button--disabled{color:rgba(0,0,0,.26)}.mdl-button .material-icons{vertical-align:middle}.mdl-card{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:16px;font-weight:400;min-height:200px;overflow:hidden;width:330px;z-index:1;position:relative;background:#fff;border-radius:2px;box-sizing:border-box}.mdl-card__media{background-color:#ff4081;background-repeat:repeat;background-position:50% 50%;background-size:cover;background-origin:padding-box;background-attachment:scroll;box-sizing:border-box}.mdl-card__title{-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#000;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;line-height:normal;padding:16px;-webkit-perspective-origin:165px 56px;perspective-origin:165px 56px;-webkit-transform-origin:165px 56px;transform-origin:165px 56px;box-sizing:border-box}.mdl-card__title.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__title-text{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;color:inherit;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:24px;font-weight:300;line-height:normal;overflow:hidden;-webkit-transform-origin:149px 48px;transform-origin:149px 48px;margin:0}.mdl-card__subtitle-text{font-size:14px;color:rgba(0,0,0,.54);margin:0}.mdl-card__supporting-text{color:rgba(0,0,0,.54);font-size:1rem;line-height:18px;overflow:hidden;padding:16px;width:90%}.mdl-card__supporting-text.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__actions{font-size:16px;line-height:normal;width:100%;background-color:transparent;padding:8px;box-sizing:border-box}.mdl-card__actions.mdl-card--border{border-top:1px solid rgba(0,0,0,.1)}.mdl-card--expand{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdl-card__menu{position:absolute;right:16px;top:16px}.mdl-checkbox{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0}.mdl-checkbox.is-upgraded{padding-left:24px}.mdl-checkbox__input{line-height:24px}.mdl-checkbox.is-upgraded .mdl-checkbox__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-checkbox__box-outline{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;overflow:hidden;border:2px solid rgba(0,0,0,.54);border-radius:2px;z-index:2}.mdl-checkbox.is-checked .mdl-checkbox__box-outline{border:2px solid #3f51b5}fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,.mdl-checkbox.is-disabled .mdl-checkbox__box-outline{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__focus-helper{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background-color:transparent}.mdl-checkbox.is-focused .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(63,81,181,.26);background-color:rgba(63,81,181,.26)}.mdl-checkbox__tick-outline{position:absolute;top:0;left:0;height:100%;width:100%;-webkit-mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");background:0 0;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background}.mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background:#3f51b5 url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K")}fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,.mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline{background:rgba(0,0,0,.26)url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K")}.mdl-checkbox__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0}fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,.mdl-checkbox.is-disabled .mdl-checkbox__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__ripple-container{position:absolute;z-index:2;top:-6px;left:-10px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-checkbox__ripple-container .mdl-ripple{background:#3f51b5}fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container,.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container{cursor:auto}fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple{background:0 0}.mdl-chip{height:32px;font-family:"Roboto","Helvetica","Arial",sans-serif;line-height:32px;padding:0 12px;border:0;border-radius:16px;background-color:#dedede;display:inline-block;color:rgba(0,0,0,.87);margin:2px 0;font-size:0;white-space:nowrap}.mdl-chip__text{font-size:13px;vertical-align:middle;display:inline-block}.mdl-chip__action{height:24px;width:24px;background:0 0;opacity:.54;cursor:pointer;padding:0;margin:0 0 0 4px;font-size:13px;text-decoration:none;color:rgba(0,0,0,.87);border:none;outline:none}.mdl-chip__action,.mdl-chip__contact{display:inline-block;vertical-align:middle;overflow:hidden;text-align:center}.mdl-chip__contact{height:32px;width:32px;border-radius:16px;margin-right:8px;font-size:18px;line-height:32px}.mdl-chip:focus{outline:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-chip:active{background-color:#d6d6d6}.mdl-chip--deletable{padding-right:4px}.mdl-chip--contact{padding-left:0}.mdl-data-table{position:relative;border:1px solid rgba(0,0,0,.12);border-collapse:collapse;white-space:nowrap;font-size:13px;background-color:#fff}.mdl-data-table thead{padding-bottom:3px}.mdl-data-table thead .mdl-data-table__select{margin-top:0}.mdl-data-table tbody tr{position:relative;height:48px;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color}.mdl-data-table tbody tr.is-selected{background-color:#e0e0e0}.mdl-data-table tbody tr:hover{background-color:#eee}.mdl-data-table td{text-align:right}.mdl-data-table th{padding:0 18px 12px 18px;text-align:right}.mdl-data-table td:first-of-type,.mdl-data-table th:first-of-type{padding-left:24px}.mdl-data-table td:last-of-type,.mdl-data-table th:last-of-type{padding-right:24px}.mdl-data-table td{position:relative;height:48px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);padding:12px 18px;box-sizing:border-box}.mdl-data-table td,.mdl-data-table td .mdl-data-table__select{vertical-align:middle}.mdl-data-table th{position:relative;vertical-align:bottom;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;height:48px;font-size:12px;color:rgba(0,0,0,.54);padding-bottom:8px;box-sizing:border-box}.mdl-data-table th.mdl-data-table__header--sorted-ascending,.mdl-data-table th.mdl-data-table__header--sorted-descending{color:rgba(0,0,0,.87)}.mdl-data-table th.mdl-data-table__header--sorted-ascending:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;-moz-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-size:16px;content:"\e5d8";margin-right:5px;vertical-align:sub}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover{cursor:pointer}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before{color:rgba(0,0,0,.26)}.mdl-data-table th.mdl-data-table__header--sorted-descending:before{content:"\e5db"}.mdl-data-table__select{width:16px}.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric{text-align:left}.mdl-dialog{border:none;box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2);width:280px}.mdl-dialog__title{padding:24px 24px 0;margin:0;font-size:2.5rem}.mdl-dialog__actions{padding:8px 8px 8px 24px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.mdl-dialog__actions>*{margin-right:8px;height:36px}.mdl-dialog__actions>*:first-child{margin-right:0}.mdl-dialog__actions--full-width{padding:0 0 8px}.mdl-dialog__actions--full-width>*{height:48px;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;padding-right:16px;margin-right:0;text-align:right}.mdl-dialog__content{padding:20px 24px 24px;color:rgba(0,0,0,.54)}.mdl-mega-footer{padding:16px 40px;color:#9e9e9e;background-color:#424242}.mdl-mega-footer--top-section:after,.mdl-mega-footer--middle-section:after,.mdl-mega-footer--bottom-section:after,.mdl-mega-footer__top-section:after,.mdl-mega-footer__middle-section:after,.mdl-mega-footer__bottom-section:after{content:'';display:block;clear:both}.mdl-mega-footer--left-section,.mdl-mega-footer__left-section,.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{margin-bottom:16px}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:block;margin-bottom:16px;color:inherit;text-decoration:none}@media screen and (min-width:760px){.mdl-mega-footer--left-section,.mdl-mega-footer__left-section{float:left}.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{float:right}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:inline-block;margin-left:16px;line-height:36px;vertical-align:middle}}.mdl-mega-footer--social-btn,.mdl-mega-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{display:block;position:relative}@media screen and (min-width:760px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{width:33%}.mdl-mega-footer--drop-down-section:nth-child(1),.mdl-mega-footer--drop-down-section:nth-child(2),.mdl-mega-footer__drop-down-section:nth-child(1),.mdl-mega-footer__drop-down-section:nth-child(2){float:left}.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(3){float:right}.mdl-mega-footer--drop-down-section:nth-child(3):after,.mdl-mega-footer__drop-down-section:nth-child(3):after{clear:right}.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section:nth-child(4){clear:right;float:right}.mdl-mega-footer--middle-section:after,.mdl-mega-footer__middle-section:after{content:'';display:block;clear:both}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:0}}@media screen and (min-width:1024px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section,.mdl-mega-footer__drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(4){width:24%;float:left}}.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{position:absolute;width:100%;height:55.8px;padding:32px;margin:-16px 0 0;cursor:pointer;z-index:1;opacity:0}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CE'}.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list{display:none}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CF'}.mdl-mega-footer--heading,.mdl-mega-footer__heading{position:relative;width:100%;padding-right:39.8px;margin-bottom:16px;box-sizing:border-box;font-size:14px;line-height:23.8px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#e0e0e0}.mdl-mega-footer--heading:after,.mdl-mega-footer__heading:after{content:'';position:absolute;top:0;right:0;display:block;width:23.8px;height:23.8px;background-size:cover}.mdl-mega-footer--link-list,.mdl-mega-footer__link-list{list-style:none;padding:0;margin:0 0 32px}.mdl-mega-footer--link-list:after,.mdl-mega-footer__link-list:after{clear:both;display:block;content:''}.mdl-mega-footer--link-list li,.mdl-mega-footer__link-list li{font-size:14px;font-weight:400;letter-spacing:0;line-height:20px}.mdl-mega-footer--link-list a,.mdl-mega-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}@media screen and (min-width:760px){.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{display:none}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{content:''}.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list{display:block}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{content:''}}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:16px;margin-bottom:16px}.mdl-logo{margin-bottom:16px;color:#fff}.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li,.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li{float:left;margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-logo{float:left;margin-bottom:0;margin-right:16px}}.mdl-mini-footer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:32px 16px;color:#9e9e9e;background-color:#424242}.mdl-mini-footer:after{content:'';display:block}.mdl-mini-footer .mdl-logo{line-height:36px}.mdl-mini-footer--link-list,.mdl-mini-footer__link-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;list-style:none;margin:0;padding:0}.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{line-height:36px}}.mdl-mini-footer--link-list a,.mdl-mini-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}.mdl-mini-footer--left-section,.mdl-mini-footer__left-section{display:inline-block;-webkit-order:0;-ms-flex-order:0;order:0}.mdl-mini-footer--right-section,.mdl-mini-footer__right-section{display:inline-block;-webkit-order:1;-ms-flex-order:1;order:1}.mdl-mini-footer--social-btn,.mdl-mini-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-icon-toggle{position:relative;z-index:1;vertical-align:middle;display:inline-block;height:32px;margin:0;padding:0}.mdl-icon-toggle__input{line-height:32px}.mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-icon-toggle__label{display:inline-block;position:relative;cursor:pointer;height:32px;width:32px;min-width:32px;color:#616161;border-radius:50%;padding:0;margin-left:0;margin-right:0;text-align:center;background-color:transparent;will-change:background-color;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.mdl-icon-toggle__label.material-icons{line-height:32px;font-size:24px}.mdl-icon-toggle.is-checked .mdl-icon-toggle__label{color:#3f51b5}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__label{color:rgba(0,0,0,.26);cursor:auto;transition:none}.mdl-icon-toggle.is-focused .mdl-icon-toggle__label{background-color:rgba(0,0,0,.12)}.mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label{background-color:rgba(63,81,181,.26)}.mdl-icon-toggle__ripple-container{position:absolute;z-index:2;top:-2px;left:-2px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-icon-toggle__ripple-container .mdl-ripple{background:#616161}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container{cursor:auto}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple{background:0 0}.mdl-list{display:block;padding:8px 0;list-style:none}.mdl-list__item{font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:16px;font-weight:400;letter-spacing:.04em;line-height:1;min-height:48px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:16px;cursor:default;color:rgba(0,0,0,.87);overflow:hidden}.mdl-list__item,.mdl-list__item .mdl-list__item-primary-content{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdl-list__item .mdl-list__item-primary-content{-webkit-order:0;-ms-flex-order:0;order:0;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2;text-decoration:none}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon{margin-right:32px}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar{margin-right:16px}.mdl-list__item .mdl-list__item-secondary-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;margin-left:16px}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label{display:inline}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;color:rgba(0,0,0,.54)}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header{padding:0 0 0 16px}.mdl-list__item-icon,.mdl-list__item-icon.material-icons{height:24px;width:24px;font-size:24px;box-sizing:border-box;color:#757575}.mdl-list__item-avatar,.mdl-list__item-avatar.material-icons{height:40px;width:40px;box-sizing:border-box;border-radius:50%;background-color:#757575;font-size:40px;color:#fff}.mdl-list__item--two-line{height:72px}.mdl-list__item--two-line .mdl-list__item-primary-content{height:36px;line-height:20px;display:block}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar{float:left}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left;margin-top:6px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content{height:36px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title{font-size:14px;font-weight:400;letter-spacing:0;line-height:18px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-list__item--three-line{height:88px}.mdl-list__item--three-line .mdl-list__item-primary-content{height:52px;line-height:20px;display:block}.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar,.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left}.mdl-list__item--three-line .mdl-list__item-secondary-content{height:52px}.mdl-list__item--three-line .mdl-list__item-text-body{font-size:14px;font-weight:400;letter-spacing:0;line-height:18px;height:52px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-menu__container{display:block;margin:0;padding:0;border:none;position:absolute;overflow:visible;height:0;width:0;visibility:hidden;z-index:-1}.mdl-menu__container.is-visible,.mdl-menu__container.is-animating{z-index:999;visibility:visible}.mdl-menu__outline{display:block;background:#fff;margin:0;padding:0;border:none;border-radius:2px;position:absolute;top:0;left:0;overflow:hidden;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);z-index:-1}.mdl-menu__container.is-visible .mdl-menu__outline{opacity:1;-webkit-transform:scale(1);transform:scale(1);z-index:999}.mdl-menu__outline.mdl-menu--bottom-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.mdl-menu__outline.mdl-menu--top-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.mdl-menu__outline.mdl-menu--top-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.mdl-menu{position:absolute;list-style:none;top:0;left:0;height:auto;width:auto;min-width:124px;padding:8px 0;margin:0;opacity:0;clip:rect(0 0 0 0);z-index:-1}.mdl-menu__container.is-visible .mdl-menu{opacity:1;z-index:999}.mdl-menu.is-animating{transition:opacity .2s cubic-bezier(.4,0,.2,1),clip .3s cubic-bezier(.4,0,.2,1)}.mdl-menu.mdl-menu--bottom-right{left:auto;right:0}.mdl-menu.mdl-menu--top-left{top:auto;bottom:0}.mdl-menu.mdl-menu--top-right{top:auto;left:auto;bottom:0;right:0}.mdl-menu.mdl-menu--unaligned{top:auto;left:auto}.mdl-menu__item{display:block;border:none;color:rgba(0,0,0,.87);background-color:transparent;text-align:left;margin:0;padding:0 16px;outline-color:#bdbdbd;position:relative;overflow:hidden;font-size:14px;font-weight:400;letter-spacing:0;text-decoration:none;cursor:pointer;height:48px;line-height:48px;white-space:nowrap;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-menu__container.is-visible .mdl-menu__item{opacity:1}.mdl-menu__item::-moz-focus-inner{border:0}.mdl-menu__item--full-bleed-divider{border-bottom:1px solid rgba(0,0,0,.12)}.mdl-menu__item[disabled],.mdl-menu__item[data-mdl-disabled]{color:#bdbdbd;background-color:transparent;cursor:auto}.mdl-menu__item[disabled]:hover,.mdl-menu__item[data-mdl-disabled]:hover{background-color:transparent}.mdl-menu__item[disabled]:focus,.mdl-menu__item[data-mdl-disabled]:focus{background-color:transparent}.mdl-menu__item[disabled] .mdl-ripple,.mdl-menu__item[data-mdl-disabled] .mdl-ripple{background:0 0}.mdl-menu__item:hover{background-color:#eee}.mdl-menu__item:focus{outline:none;background-color:#eee}.mdl-menu__item:active{background-color:#e0e0e0}.mdl-menu__item--ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-progress{display:block;position:relative;height:4px;width:500px;max-width:100%}.mdl-progress>.bar{display:block;position:absolute;top:0;bottom:0;width:0%;transition:width .2s cubic-bezier(.4,0,.2,1)}.mdl-progress>.progressbar{background-color:#3f51b5;z-index:1;left:0}.mdl-progress>.bufferbar{background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,#3f51b5 ,#3f51b5);z-index:0;left:0}.mdl-progress>.auxbar{right:0}@supports (-webkit-appearance:none){.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,#3f51b5 ,#3f51b5);-webkit-mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=");mask:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=")}}.mdl-progress:not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.9),rgba(255,255,255,.9)),linear-gradient(to right,#3f51b5 ,#3f51b5)}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1{-webkit-animation-name:indeterminate1;animation-name:indeterminate1}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1,.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-color:#3f51b5;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-image:none;-webkit-animation-name:indeterminate2;animation-name:indeterminate2}@-webkit-keyframes indeterminate1{0%{left:0%;width:0%}50%{left:25%;width:75%}75%{left:100%;width:0%}}@keyframes indeterminate1{0%{left:0%;width:0%}50%{left:25%;width:75%}75%{left:100%;width:0%}}@-webkit-keyframes indeterminate2{0%,50%{left:0%;width:0%}75%{left:0%;width:25%}100%{left:100%;width:0%}}@keyframes indeterminate2{0%,50%{left:0%;width:0%}75%{left:0%;width:25%}100%{left:100%;width:0%}}.mdl-navigation{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;box-sizing:border-box}.mdl-navigation__link{color:#424242;text-decoration:none;margin:0;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;opacity:.87}.mdl-navigation__link .material-icons{vertical-align:middle}.mdl-layout{width:100%;height:100%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.mdl-layout.is-small-screen .mdl-layout--large-screen-only{display:none}.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only{display:none}.mdl-layout__container{position:absolute;width:100%;height:100%}.mdl-layout__title,.mdl-layout-title{display:block;position:relative;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;line-height:1;letter-spacing:.02em;font-weight:400;box-sizing:border-box}.mdl-layout-spacer{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdl-layout__drawer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:240px;height:100%;max-height:100%;position:absolute;top:0;left:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-sizing:border-box;border-right:1px solid #e0e0e0;background:#fafafa;-webkit-transform:translateX(-250px);transform:translateX(-250px);-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transition-property:transform,-webkit-transform;color:#424242;overflow:visible;overflow-y:auto;z-index:5}.mdl-layout__drawer.is-visible{-webkit-transform:translateX(0);transform:translateX(0)}.mdl-layout__drawer.is-visible~.mdl-layout__content.mdl-layout__content{overflow:hidden}.mdl-layout__drawer>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.mdl-layout__drawer>.mdl-layout__title,.mdl-layout__drawer>.mdl-layout-title{line-height:64px;padding-left:40px}@media screen and (max-width:1024px){.mdl-layout__drawer>.mdl-layout__title,.mdl-layout__drawer>.mdl-layout-title{line-height:56px;padding-left:16px}}.mdl-layout__drawer .mdl-navigation{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;padding-top:16px}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{display:block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;padding:16px 40px;margin:0;color:#757575}@media screen and (max-width:1024px){.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{padding:16px}}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover{background-color:#e0e0e0}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current{background-color:#e0e0e0;color:#000}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__drawer{-webkit-transform:translateX(0);transform:translateX(0)}}.mdl-layout__drawer-button{display:block;position:absolute;height:48px;width:48px;border:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden;text-align:center;cursor:pointer;font-size:26px;line-height:56px;font-family:Helvetica,Arial,sans-serif;margin:8px 12px;top:0;left:0;color:#fff;z-index:4}.mdl-layout__header .mdl-layout__drawer-button{position:absolute;color:#fff;background-color:inherit}@media screen and (max-width:1024px){.mdl-layout__header .mdl-layout__drawer-button{margin:4px}}@media screen and (max-width:1024px){.mdl-layout__drawer-button{margin:4px;color:rgba(0,0,0,.5)}}@media screen and (min-width:1025px){.mdl-layout__drawer-button{line-height:54px}.mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button,.mdl-layout--fixed-drawer>.mdl-layout__drawer-button,.mdl-layout--no-drawer-button .mdl-layout__drawer-button{display:none}}.mdl-layout__header{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;margin:0;padding:0;border:none;min-height:64px;max-height:1000px;z-index:3;background-color:#3f51b5;color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:max-height,box-shadow}@media screen and (max-width:1024px){.mdl-layout__header{min-height:56px}}.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen)>.mdl-layout__header{margin-left:240px;width:calc(100% - 240px)}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__header .mdl-layout__header-row{padding-left:40px}}.mdl-layout__header>.mdl-layout-icon{position:absolute;left:40px;top:16px;height:32px;width:32px;overflow:hidden;z-index:3;display:block}@media screen and (max-width:1024px){.mdl-layout__header>.mdl-layout-icon{left:16px;top:12px}}.mdl-layout.has-drawer .mdl-layout__header>.mdl-layout-icon{display:none}.mdl-layout__header.is-compact{max-height:64px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact{max-height:56px}}.mdl-layout__header.is-compact.has-tabs{height:112px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact.has-tabs{min-height:104px}}@media screen and (max-width:1024px){.mdl-layout__header{display:none}.mdl-layout--fixed-header>.mdl-layout__header{display:-webkit-flex;display:-ms-flexbox;display:flex}}.mdl-layout__header--transparent.mdl-layout__header--transparent{background-color:transparent;box-shadow:none}.mdl-layout__header--seamed,.mdl-layout__header--scroll{box-shadow:none}.mdl-layout__header--waterfall{box-shadow:none;overflow:hidden}.mdl-layout__header--waterfall.is-casting-shadow{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.mdl-layout__header-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;box-sizing:border-box;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:64px;margin:0;padding:0 40px 0 80px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:40px}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__header-row{padding-left:40px}}@media screen and (max-width:1024px){.mdl-layout__header-row{height:56px;padding:0 16px 0 72px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:16px}}.mdl-layout__header-row>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.mdl-layout__header--scroll .mdl-layout__header-row{width:100%}.mdl-layout__header-row .mdl-navigation{margin:0;padding:0;height:64px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation{height:56px}}.mdl-layout__header-row .mdl-navigation__link{display:block;color:#fff;line-height:64px;padding:0 24px}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation__link{line-height:56px;padding:0 16px}}.mdl-layout__obfuscator{background-color:transparent;position:absolute;top:0;left:0;height:100%;width:100%;z-index:4;visibility:hidden;transition-property:background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-layout__obfuscator.is-visible{background-color:rgba(0,0,0,.5);visibility:visible}@supports (pointer-events:auto){.mdl-layout__obfuscator{background-color:rgba(0,0,0,.5);opacity:0;transition-property:opacity;visibility:visible;pointer-events:none}.mdl-layout__obfuscator.is-visible{pointer-events:auto;opacity:1}}.mdl-layout__content{-ms-flex:0 1 auto;position:relative;display:inline-block;overflow-y:auto;overflow-x:hidden;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;z-index:1;-webkit-overflow-scrolling:touch}.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:240px}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow:visible}@media screen and (max-width:1024px){.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:0}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow-y:auto;overflow-x:hidden}}.mdl-layout__tab-bar{height:96px;margin:0;width:calc(100% - 112px);padding:0 0 0 56px;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#3f51b5;overflow-y:hidden;overflow-x:scroll}.mdl-layout__tab-bar::-webkit-scrollbar{display:none}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}}@media screen and (max-width:1024px){.mdl-layout__tab-bar{width:calc(100% - 60px);padding:0 0 0 60px}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{width:calc(100% - 8px);padding-left:4px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar{padding:0;overflow:hidden;width:100%}.mdl-layout__tab-bar-container{position:relative;height:48px;width:100%;border:none;margin:0;z-index:2;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.mdl-layout__container>.mdl-layout__tab-bar-container{position:absolute;top:0;left:0}.mdl-layout__tab-bar-button{display:inline-block;position:absolute;top:0;height:48px;width:56px;z-index:4;text-align:center;background-color:#3f51b5;color:transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button{width:16px}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons{position:relative;left:-4px}@media screen and (max-width:1024px){.mdl-layout__tab-bar-button{width:60px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar-button{display:none}.mdl-layout__tab-bar-button .material-icons{line-height:48px}.mdl-layout__tab-bar-button.is-active{color:#fff}.mdl-layout__tab-bar-left-button{left:0}.mdl-layout__tab-bar-right-button{right:0}.mdl-layout__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:rgba(255,255,255,.6);overflow:hidden}@media screen and (max-width:1024px){.mdl-layout__tab{padding:0 12px}}.mdl-layout--fixed-tabs .mdl-layout__tab{float:none;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:0}.mdl-layout.is-upgraded .mdl-layout__tab.is-active{color:#fff}.mdl-layout.is-upgraded .mdl-layout__tab.is-active::after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#ff4081;-webkit-animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-layout__tab .mdl-layout__tab-ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple{background-color:#fff}.mdl-layout__tab-panel{display:block}.mdl-layout.is-upgraded .mdl-layout__tab-panel{display:none}.mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active{display:block}.mdl-radio{position:relative;font-size:16px;line-height:24px;display:inline-block;vertical-align:middle;box-sizing:border-box;height:24px;margin:0;padding-left:0}.mdl-radio.is-upgraded{padding-left:24px}.mdl-radio__button{line-height:24px}.mdl-radio.is-upgraded .mdl-radio__button{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-radio__outer-circle{position:absolute;top:4px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;border:2px solid rgba(0,0,0,.54);border-radius:50%;z-index:2}.mdl-radio.is-checked .mdl-radio__outer-circle{border:2px solid #3f51b5}.mdl-radio__outer-circle fieldset[disabled] .mdl-radio,.mdl-radio.is-disabled .mdl-radio__outer-circle{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-radio__inner-circle{position:absolute;z-index:1;margin:0;top:8px;left:4px;box-sizing:border-box;width:8px;height:8px;cursor:pointer;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transform:scale(0,0);transform:scale(0,0);border-radius:50%;background:#3f51b5}.mdl-radio.is-checked .mdl-radio__inner-circle{-webkit-transform:scale(1,1);transform:scale(1,1)}fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,.mdl-radio.is-disabled .mdl-radio__inner-circle{background:rgba(0,0,0,.26);cursor:auto}.mdl-radio.is-focused .mdl-radio__inner-circle{box-shadow:0 0 0 10px rgba(0,0,0,.1)}.mdl-radio__label{cursor:pointer}fieldset[disabled] .mdl-radio .mdl-radio__label,.mdl-radio.is-disabled .mdl-radio__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-radio__ripple-container{position:absolute;z-index:2;top:-9px;left:-13px;box-sizing:border-box;width:42px;height:42px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-radio__ripple-container .mdl-ripple{background:#3f51b5}fieldset[disabled] .mdl-radio .mdl-radio__ripple-container,.mdl-radio.is-disabled .mdl-radio__ripple-container{cursor:auto}fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,.mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple{background:0 0}_:-ms-input-placeholder,:root .mdl-slider.mdl-slider.is-upgraded{-ms-appearance:none;height:32px;margin:0}.mdl-slider{width:calc(100% - 40px);margin:0 20px}.mdl-slider.is-upgraded{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0;padding:0;color:#3f51b5;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;z-index:1;cursor:pointer}.mdl-slider.is-upgraded::-moz-focus-outer{border:0}.mdl-slider.is-upgraded::-ms-tooltip{display:none}.mdl-slider.is-upgraded::-webkit-slider-runnable-track{background:0 0}.mdl-slider.is-upgraded::-moz-range-track{background:0 0;border:none}.mdl-slider.is-upgraded::-ms-track{background:0 0;color:transparent;height:2px;width:100%;border:none}.mdl-slider.is-upgraded::-ms-fill-lower{padding:0;background:linear-gradient(to right,transparent,transparent 16px,#3f51b5 16px,#3f51b5 0)}.mdl-slider.is-upgraded::-ms-fill-upper{padding:0;background:linear-gradient(to left,transparent,transparent 16px,rgba(0,0,0,.26)16px,rgba(0,0,0,.26)0)}.mdl-slider.is-upgraded::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:#3f51b5;border:none;transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),-webkit-transform .18s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded::-moz-range-thumb{-moz-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background-image:none;background:#3f51b5;border:none}.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(63,81,181,.26)}.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(63,81,181,.26)}.mdl-slider.is-upgraded:active::-webkit-slider-thumb{background-image:none;background:#3f51b5;-webkit-transform:scale(1.5);transform:scale(1.5)}.mdl-slider.is-upgraded:active::-moz-range-thumb{background-image:none;background:#3f51b5;transform:scale(1.5)}.mdl-slider.is-upgraded::-ms-thumb{width:32px;height:32px;border:none;border-radius:50%;background:#3f51b5;transform:scale(.375);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),-webkit-transform .18s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,#3f51b5 0%,#3f51b5 37.5%,rgba(63,81,181,.26)37.5%,rgba(63,81,181,.26)100%);transform:scale(1)}.mdl-slider.is-upgraded:active::-ms-thumb{background:#3f51b5;transform:scale(.5625)}.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb{border:1.6px solid rgba(0,0,0,.26);-webkit-transform:scale(1.5);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:9px}.mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb{border:1.5px solid rgba(0,0,0,.26);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value::-ms-thumb{background:radial-gradient(circle closest-side,transparent 0%,transparent 66.67%,rgba(0,0,0,.26)66.67%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,rgba(0,0,0,.12)0%,rgba(0,0,0,.12)25%,rgba(0,0,0,.26)25%,rgba(0,0,0,.26)37.5%,rgba(0,0,0,.12)37.5%,rgba(0,0,0,.12)100%);transform:scale(1)}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb{transform:scale(.5625);background:radial-gradient(circle closest-side,transparent 0%,transparent 77.78%,rgba(0,0,0,.26)77.78%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower{background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper{margin-left:9px}.mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled::-webkit-slider-thumb{-webkit-transform:scale(.667);transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb,.mdl-slider.is-upgraded:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded:disabled::-moz-range-thumb{transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-lower{background-color:rgba(0,0,0,.26);left:-6px}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;-webkit-transform:scale(.667);transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded:disabled:focus::-ms-thumb,.mdl-slider.is-upgraded:disabled:active::-ms-thumb,.mdl-slider.is-upgraded:disabled::-ms-thumb{transform:scale(.25);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb{transform:scale(.25);background:radial-gradient(circle closest-side,transparent 0%,transparent 50%,rgba(0,0,0,.26)50%,rgba(0,0,0,.26)100%)}.mdl-slider.is-upgraded:disabled::-ms-fill-lower{margin-right:6px;background:linear-gradient(to right,transparent,transparent 25px,rgba(0,0,0,.26)25px,rgba(0,0,0,.26)0)}.mdl-slider.is-upgraded:disabled::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper{margin-left:6px}.mdl-slider__ie-container{height:18px;overflow:visible;border:none;margin:none;padding:none}.mdl-slider__container{height:18px;position:relative;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.mdl-slider__container,.mdl-slider__background-flex{background:0 0;display:-webkit-flex;display:-ms-flexbox;display:flex}.mdl-slider__background-flex{position:absolute;height:2px;width:calc(100% - 52px);top:50%;left:0;margin:0 26px;overflow:hidden;border:0;padding:0;-webkit-transform:translate(0,-1px);transform:translate(0,-1px)}.mdl-slider__background-lower{background:#3f51b5}.mdl-slider__background-lower,.mdl-slider__background-upper{-webkit-flex:0;-ms-flex:0;flex:0;position:relative;border:0;padding:0}.mdl-slider__background-upper{background:rgba(0,0,0,.26);transition:left .18s cubic-bezier(.4,0,.2,1)}.mdl-snackbar{position:fixed;bottom:0;left:50%;cursor:default;background-color:#323232;z-index:3;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;font-family:"Roboto","Helvetica","Arial",sans-serif;will-change:transform;-webkit-transform:translate(0,80px);transform:translate(0,80px);transition:transform .25s cubic-bezier(.4,0,1,1);transition:transform .25s cubic-bezier(.4,0,1,1),-webkit-transform .25s cubic-bezier(.4,0,1,1);pointer-events:none}@media (max-width:479px){.mdl-snackbar{width:100%;left:0;min-height:48px;max-height:80px}}@media (min-width:480px){.mdl-snackbar{min-width:288px;max-width:568px;border-radius:2px;-webkit-transform:translate(-50%,80px);transform:translate(-50%,80px)}}.mdl-snackbar--active{-webkit-transform:translate(0,0);transform:translate(0,0);pointer-events:auto;transition:transform .25s cubic-bezier(0,0,.2,1);transition:transform .25s cubic-bezier(0,0,.2,1),-webkit-transform .25s cubic-bezier(0,0,.2,1)}@media (min-width:480px){.mdl-snackbar--active{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}}.mdl-snackbar__text{padding:14px 12px 14px 24px;vertical-align:middle;color:#fff;float:left}.mdl-snackbar__action{background:0 0;border:none;color:#ff4081;float:right;padding:14px 24px 14px 12px;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:0;overflow:hidden;outline:none;opacity:0;pointer-events:none;cursor:pointer;text-decoration:none;text-align:center;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.mdl-snackbar__action::-moz-focus-inner{border:0}.mdl-snackbar__action:not([aria-hidden]){opacity:1;pointer-events:auto}.mdl-spinner{display:inline-block;position:relative;width:28px;height:28px}.mdl-spinner:not(.is-upgraded).is-active:after{content:"Loading..."}.mdl-spinner.is-upgraded.is-active{-webkit-animation:mdl-spinner__container-rotate 1568.23529412ms linear infinite;animation:mdl-spinner__container-rotate 1568.23529412ms linear infinite}@-webkit-keyframes mdl-spinner__container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdl-spinner__container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mdl-spinner__layer{position:absolute;width:100%;height:100%;opacity:0}.mdl-spinner__layer-1{border-color:#42a5f5}.mdl-spinner--single-color .mdl-spinner__layer-1{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-1{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-2{border-color:#f44336}.mdl-spinner--single-color .mdl-spinner__layer-2{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-2{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-3{border-color:#fdd835}.mdl-spinner--single-color .mdl-spinner__layer-3{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-3{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__layer-4{border-color:#4caf50}.mdl-spinner--single-color .mdl-spinner__layer-4{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-4{-webkit-animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1)infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1)infinite both}@-webkit-keyframes mdl-spinner__fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdl-spinner__fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdl-spinner__layer-1-fade-in-out{from,25%{opacity:.99}26%,89%{opacity:0}90%,100%{opacity:.99}}@keyframes mdl-spinner__layer-1-fade-in-out{from,25%{opacity:.99}26%,89%{opacity:0}90%,100%{opacity:.99}}@-webkit-keyframes mdl-spinner__layer-2-fade-in-out{from,15%{opacity:0}25%,50%{opacity:.99}51%{opacity:0}}@keyframes mdl-spinner__layer-2-fade-in-out{from,15%{opacity:0}25%,50%{opacity:.99}51%{opacity:0}}@-webkit-keyframes mdl-spinner__layer-3-fade-in-out{from,40%{opacity:0}50%,75%{opacity:.99}76%{opacity:0}}@keyframes mdl-spinner__layer-3-fade-in-out{from,40%{opacity:0}50%,75%{opacity:.99}76%{opacity:0}}@-webkit-keyframes mdl-spinner__layer-4-fade-in-out{from,65%{opacity:0}75%,90%{opacity:.99}100%{opacity:0}}@keyframes mdl-spinner__layer-4-fade-in-out{from,65%{opacity:0}75%,90%{opacity:.99}100%{opacity:0}}.mdl-spinner__gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__gap-patch .mdl-spinner__circle{width:1000%;left:-450%}.mdl-spinner__circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__circle-clipper.mdl-spinner__left{float:left}.mdl-spinner__circle-clipper.mdl-spinner__right{float:right}.mdl-spinner__circle-clipper .mdl-spinner__circle{width:200%}.mdl-spinner__circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0;left:0}.mdl-spinner__left .mdl-spinner__circle{border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle{-webkit-animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both}.mdl-spinner__right .mdl-spinner__circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle{-webkit-animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both;animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1)infinite both}@-webkit-keyframes mdl-spinner__left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@keyframes mdl-spinner__left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes mdl-spinner__right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@keyframes mdl-spinner__right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}.mdl-switch{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0;overflow:visible;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-switch.is-upgraded{padding-left:28px}.mdl-switch__input{line-height:24px}.mdl-switch.is-upgraded .mdl-switch__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-switch__track{background:rgba(0,0,0,.26);position:absolute;left:0;top:5px;height:14px;width:36px;border-radius:14px;cursor:pointer}.mdl-switch.is-checked .mdl-switch__track{background:rgba(63,81,181,.5)}.mdl-switch__track fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__track{background:rgba(0,0,0,.12);cursor:auto}.mdl-switch__thumb{background:#fafafa;position:absolute;left:0;top:2px;height:20px;width:20px;border-radius:50%;cursor:pointer;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:left}.mdl-switch.is-checked .mdl-switch__thumb{background:#3f51b5;left:16px;box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-switch__thumb fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__thumb{background:#bdbdbd;cursor:auto}.mdl-switch__focus-helper{position:absolute;top:50%;left:50%;-webkit-transform:translate(-4px,-4px);transform:translate(-4px,-4px);display:inline-block;box-sizing:border-box;width:8px;height:8px;border-radius:50%;background-color:transparent}.mdl-switch.is-focused .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-switch.is-focused.is-checked .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(63,81,181,.26);background-color:rgba(63,81,181,.26)}.mdl-switch__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0;left:24px}.mdl-switch__label fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__label{color:#bdbdbd;cursor:auto}.mdl-switch__ripple-container{position:absolute;z-index:2;top:-12px;left:-14px;box-sizing:border-box;width:48px;height:48px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000);transition-duration:.4s;transition-timing-function:step-end;transition-property:left}.mdl-switch__ripple-container .mdl-ripple{background:#3f51b5}.mdl-switch__ripple-container fieldset[disabled] .mdl-switch,.mdl-switch.is-disabled .mdl-switch__ripple-container{cursor:auto}fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,.mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple{background:0 0}.mdl-switch.is-checked .mdl-switch__ripple-container{left:2px}.mdl-tabs{display:block;width:100%}.mdl-tabs__tab-bar{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:space-between;-ms-flex-line-pack:justify;align-content:space-between;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;height:48px;padding:0;margin:0;border-bottom:1px solid #e0e0e0}.mdl-tabs__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:rgba(0,0,0,.54);overflow:hidden}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active{color:rgba(0,0,0,.87)}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#3f51b5;-webkit-animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;animation:border-expand .2s cubic-bezier(.4,0,.4,1).01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-tabs__tab .mdl-tabs__ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple{background:#3f51b5}.mdl-tabs__panel{display:block}.mdl-tabs.is-upgraded .mdl-tabs__panel{display:none}.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active{display:block}@-webkit-keyframes border-expand{0%{opacity:0;width:0}100%{opacity:1;width:100%}}@keyframes border-expand{0%{opacity:0;width:0}100%{opacity:1;width:100%}}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}.mdl-textfield .mdl-button{position:absolute;bottom:20px}.mdl-textfield--align-right{text-align:right}.mdl-textfield--full-width{width:100%}.mdl-textfield--expandable{min-width:32px;width:auto;min-height:32px}.mdl-textfield--expandable .mdl-button--icon{top:16px}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:"Helvetica","Arial",sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.mdl-textfield__input[type="number"]{-moz-appearance:textfield}.mdl-textfield__input[type="number"]::-webkit-inner-spin-button,.mdl-textfield__input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mdl-textfield.is-focused .mdl-textfield__input{outline:none}.mdl-textfield.is-invalid .mdl-textfield__input{border-color:#d50000;box-shadow:none}fieldset[disabled] .mdl-textfield .mdl-textfield__input,.mdl-textfield.is-disabled .mdl-textfield__input{background-color:transparent;border-bottom:1px dotted rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-textfield textarea.mdl-textfield__input{display:block}.mdl-textfield__label{bottom:0;color:rgba(0,0,0,.26);font-size:16px;left:0;right:0;pointer-events:none;position:absolute;display:block;top:24px;width:100%;overflow:hidden;white-space:nowrap;text-align:left}.mdl-textfield.is-dirty .mdl-textfield__label,.mdl-textfield.has-placeholder .mdl-textfield__label{visibility:hidden}.mdl-textfield--floating-label .mdl-textfield__label{transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{transition:none}fieldset[disabled] .mdl-textfield .mdl-textfield__label,.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label{color:rgba(0,0,0,.26)}.mdl-textfield--floating-label.is-focused .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{color:#3f51b5;font-size:12px;top:4px;visibility:visible}.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label{top:-16px}.mdl-textfield--floating-label.is-invalid .mdl-textfield__label{color:#d50000;font-size:12px}.mdl-textfield__label:after{background-color:#3f51b5;bottom:20px;content:'';height:2px;left:45%;position:absolute;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:10px}.mdl-textfield.is-focused .mdl-textfield__label:after{left:0;visibility:visible;width:100%}.mdl-textfield.is-invalid .mdl-textfield__label:after{background-color:#d50000}.mdl-textfield__error{color:#d50000;position:absolute;font-size:12px;margin-top:3px;visibility:hidden;display:block}.mdl-textfield.is-invalid .mdl-textfield__error{visibility:visible}.mdl-textfield__expandable-holder{display:inline-block;position:relative;margin-left:32px;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-block;max-width:.1px}.mdl-textfield.is-focused .mdl-textfield__expandable-holder,.mdl-textfield.is-dirty .mdl-textfield__expandable-holder{max-width:600px}.mdl-textfield__expandable-holder .mdl-textfield__label:after{bottom:0}.mdl-tooltip{-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:top center;transform-origin:top center;z-index:999;background:rgba(97,97,97,.9);border-radius:2px;color:#fff;display:inline-block;font-size:10px;font-weight:500;line-height:14px;max-width:170px;position:fixed;top:-500px;left:-500px;padding:8px;text-align:center}.mdl-tooltip.is-active{-webkit-animation:pulse 200ms cubic-bezier(0,0,.2,1)forwards;animation:pulse 200ms cubic-bezier(0,0,.2,1)forwards}.mdl-tooltip--large{line-height:14px;font-size:14px;padding:16px}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(.99);transform:scale(.99)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}}@keyframes pulse{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{-webkit-transform:scale(.99);transform:scale(.99)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}}.mdl-shadow--2dp{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-shadow--3dp{box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-shadow--4dp{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.mdl-shadow--6dp{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.mdl-shadow--8dp{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.mdl-shadow--16dp{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}.mdl-shadow--24dp{box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2)}.mdl-grid{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;margin:0 auto;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.mdl-grid.mdl-grid--no-spacing{padding:0}.mdl-cell{box-sizing:border-box}.mdl-cell--top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.mdl-cell--middle{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.mdl-cell--bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.mdl-cell--stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.mdl-grid.mdl-grid--no-spacing>.mdl-cell{margin:0}.mdl-cell--order-1{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12{-webkit-order:12;-ms-flex-order:12;order:12}@media (max-width:479px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:100%}.mdl-cell--hide-phone{display:none!important}.mdl-cell--order-1-phone.mdl-cell--order-1-phone{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-phone.mdl-cell--order-2-phone{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-phone.mdl-cell--order-3-phone{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-phone.mdl-cell--order-4-phone{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-phone.mdl-cell--order-5-phone{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-phone.mdl-cell--order-6-phone{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-phone.mdl-cell--order-7-phone{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-phone.mdl-cell--order-8-phone{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-phone.mdl-cell--order-9-phone{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-phone.mdl-cell--order-10-phone{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-phone.mdl-cell--order-11-phone{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-phone.mdl-cell--order-12-phone{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:25%}.mdl-cell--2-col,.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:50%}.mdl-cell--3-col,.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:75%}.mdl-cell--4-col,.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:100%}.mdl-cell--5-col,.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:100%}.mdl-cell--6-col,.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:100%}.mdl-cell--7-col,.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:100%}.mdl-cell--8-col,.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:25%}.mdl-cell--2-offset,.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:50%}.mdl-cell--3-offset,.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:75%}}@media (min-width:480px) and (max-width:839px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:50%}.mdl-cell--hide-tablet{display:none!important}.mdl-cell--order-1-tablet.mdl-cell--order-1-tablet{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-tablet.mdl-cell--order-2-tablet{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-tablet.mdl-cell--order-3-tablet{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-tablet.mdl-cell--order-4-tablet{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-tablet.mdl-cell--order-5-tablet{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-tablet.mdl-cell--order-6-tablet{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-tablet.mdl-cell--order-7-tablet{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-tablet.mdl-cell--order-8-tablet{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-tablet.mdl-cell--order-9-tablet{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-tablet.mdl-cell--order-10-tablet{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-tablet.mdl-cell--order-11-tablet{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-tablet.mdl-cell--order-12-tablet{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:calc(12.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:12.5%}.mdl-cell--2-col,.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:25%}.mdl-cell--3-col,.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:calc(37.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:37.5%}.mdl-cell--4-col,.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:50%}.mdl-cell--5-col,.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:calc(62.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:62.5%}.mdl-cell--6-col,.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:75%}.mdl-cell--7-col,.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:calc(87.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:87.5%}.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:calc(12.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:12.5%}.mdl-cell--2-offset,.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:25%}.mdl-cell--3-offset,.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:calc(37.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:37.5%}.mdl-cell--4-offset,.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:50%}.mdl-cell--5-offset,.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:calc(62.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:62.5%}.mdl-cell--6-offset,.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:75%}.mdl-cell--7-offset,.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:calc(87.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:87.5%}}@media (min-width:840px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(33.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:33.3333333333%}.mdl-cell--hide-desktop{display:none!important}.mdl-cell--order-1-desktop.mdl-cell--order-1-desktop{-webkit-order:1;-ms-flex-order:1;order:1}.mdl-cell--order-2-desktop.mdl-cell--order-2-desktop{-webkit-order:2;-ms-flex-order:2;order:2}.mdl-cell--order-3-desktop.mdl-cell--order-3-desktop{-webkit-order:3;-ms-flex-order:3;order:3}.mdl-cell--order-4-desktop.mdl-cell--order-4-desktop{-webkit-order:4;-ms-flex-order:4;order:4}.mdl-cell--order-5-desktop.mdl-cell--order-5-desktop{-webkit-order:5;-ms-flex-order:5;order:5}.mdl-cell--order-6-desktop.mdl-cell--order-6-desktop{-webkit-order:6;-ms-flex-order:6;order:6}.mdl-cell--order-7-desktop.mdl-cell--order-7-desktop{-webkit-order:7;-ms-flex-order:7;order:7}.mdl-cell--order-8-desktop.mdl-cell--order-8-desktop{-webkit-order:8;-ms-flex-order:8;order:8}.mdl-cell--order-9-desktop.mdl-cell--order-9-desktop{-webkit-order:9;-ms-flex-order:9;order:9}.mdl-cell--order-10-desktop.mdl-cell--order-10-desktop{-webkit-order:10;-ms-flex-order:10;order:10}.mdl-cell--order-11-desktop.mdl-cell--order-11-desktop{-webkit-order:11;-ms-flex-order:11;order:11}.mdl-cell--order-12-desktop.mdl-cell--order-12-desktop{-webkit-order:12;-ms-flex-order:12;order:12}.mdl-cell--1-col,.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:calc(8.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:8.3333333333%}.mdl-cell--2-col,.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:calc(16.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:16.6666666667%}.mdl-cell--3-col,.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:25%}.mdl-cell--4-col,.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:calc(33.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:33.3333333333%}.mdl-cell--5-col,.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:calc(41.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:41.6666666667%}.mdl-cell--6-col,.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:50%}.mdl-cell--7-col,.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:calc(58.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:58.3333333333%}.mdl-cell--8-col,.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:calc(66.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:66.6666666667%}.mdl-cell--9-col,.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:75%}.mdl-cell--10-col,.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:calc(83.3333333333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:83.3333333333%}.mdl-cell--11-col,.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:calc(91.6666666667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:91.6666666667%}.mdl-cell--12-col,.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:calc(8.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:8.3333333333%}.mdl-cell--2-offset,.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:calc(16.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:16.6666666667%}.mdl-cell--3-offset,.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:25%}.mdl-cell--4-offset,.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:calc(33.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:33.3333333333%}.mdl-cell--5-offset,.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:calc(41.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:41.6666666667%}.mdl-cell--6-offset,.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:50%}.mdl-cell--7-offset,.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:calc(58.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:58.3333333333%}.mdl-cell--8-offset,.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:calc(66.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:66.6666666667%}.mdl-cell--9-offset,.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:75%}.mdl-cell--10-offset,.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:calc(83.3333333333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:83.3333333333%}.mdl-cell--11-offset,.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:calc(91.6666666667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:91.6666666667%}} +/*# sourceMappingURL=material.min.css.map */ diff --git a/ChatrServer/wwwroot/css/material.min.css.map b/ChatrServer/wwwroot/css/material.min.css.map new file mode 100644 index 0000000..7d44bde --- /dev/null +++ b/ChatrServer/wwwroot/css/material.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["material-design-lite.css","material-design-lite.scss","_variables.scss","_color-definitions.scss","_functions.scss","_mixins.scss","resets/_resets.scss","resets/_h5bp.scss","resets/_mobile.scss","typography/_typography.scss","palette/_palette.scss","ripple/_ripple.scss","animation/_animation.scss","badge/_badge.scss","button/_button.scss","card/_card.scss","checkbox/_checkbox.scss","chip/_chip.scss","data-table/_data-table.scss","dialog/_dialog.scss","footer/_mega_footer.scss","footer/_mini_footer.scss","icon-toggle/_icon-toggle.scss","list/_list.scss","menu/_menu.scss","progress/_progress.scss","layout/_layout.scss","radio/_radio.scss","slider/_slider.scss","snackbar/_snackbar.scss","spinner/_spinner.scss","switch/_switch.scss","tabs/_tabs.scss","textfield/_textfield.scss","tooltip/_tooltip.scss","shadow/_shadow.scss","grid/_grid.scss"],"names":[],"mappings":"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EACE,4CAAgE,EACjE;;AAED;EACE,iCAAqD,EACtD;;AAED;EACE,4CAAgE,EACjE;;AAED;EACE,iCAAqD,EACtD;;AAED;EACE,4CAAgE,EACjE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,+BAAsD,EACvD;;AAED;EACE,0CAAiE,EAClE;;AAID;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,mCAAqD,EACtD;;AAED;EACE,8CAAgE,EACjE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,gCAAuD,EACxD;;AAED;EACE,2CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAID;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,mCAAyD,EAC1D;;AAED;EACE,8CAAoE,EACrE;;AAED;EACE,kCAAyD,EAC1D;;AAED;EACE,6CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAID;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,mCAA4D,EAC7D;;AAED;EACE,8CAAuE,EACxE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,mCAA8D,EAC/D;;AAED;EACE,8CAAyE,EAC1E;;AAED;EACE,kCAA8D,EAC/D;;AAED;EACE,6CAAyE,EAC1E;;AAED;EACE,kCAA8D,EAC/D;;AAED;EACE,6CAAyE,EAC1E;;AAED;EACE,gCAA8D,EAC/D;;AAED;EACE,2CAAyE,EAC1E;;AAID;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,mCAAyD,EAC1D;;AAED;EACE,8CAAoE,EACrE;;AAED;EACE,kCAAyD,EAC1D;;AAED;EACE,6CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAID;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,mCAAqD,EACtD;;AAED;EACE,8CAAgE,EACjE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAID;EACE,iCAA4D,EAC7D;;AAED;EACE,4CAAuE,EACxE;;AAED;EACE,mCAA2D,EAC5D;;AAED;EACE,8CAAsE,EACvE;;AAED;EACE,mCAA4D,EAC7D;;AAED;EACE,8CAAuE,EACxE;;AAED;EACE,mCAA4D,EAC7D;;AAED;EACE,8CAAuE,EACxE;;AAED;EACE,kCAA4D,EAC7D;;AAED;EACE,6CAAuE,EACxE;;AAED;EACE,kCAA4D,EAC7D;;AAED;EACE,6CAAuE,EACxE;;AAED;EACE,iCAA4D,EAC7D;;AAED;EACE,4CAAuE,EACxE;;AAED;EACE,iCAA4D,EAC7D;;AAED;EACE,4CAAuE,EACxE;;AAED;EACE,iCAA4D,EAC7D;;AAED;EACE,4CAAuE,EACxE;;AAED;EACE,iCAA4D,EAC7D;;AAED;EACE,4CAAuE,EACxE;;AAED;EACE,gCAA4D,EAC7D;;AAED;EACE,2CAAuE,EACxE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAID;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,mCAAqD,EACtD;;AAED;EACE,8CAAgE,EACjE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,gCAAsD,EACvD;;AAED;EACE,2CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAID;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,mCAAqD,EACtD;;AAED;EACE,8CAAgE,EACjE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,iCAAsD,EACvD;;AAED;EACE,4CAAiE,EAClE;;AAED;EACE,gCAAsD,EACvD;;AAED;EACE,2CAAiE,EAClE;;AAED;EACE,+BAAsD,EACvD;;AAED;EACE,0CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAID;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,gCAAuD,EACxD;;AAED;EACE,2CAAkE,EACnE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,gCAAwD,EACzD;;AAED;EACE,2CAAmE,EACpE;;AAID;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,mCAA4D,EAC7D;;AAED;EACE,8CAAuE,EACxE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,mCAA8D,EAC/D;;AAED;EACE,8CAAyE,EAC1E;;AAED;EACE,kCAA8D,EAC/D;;AAED;EACE,6CAAyE,EAC1E;;AAED;EACE,iCAA8D,EAC/D;;AAED;EACE,4CAAyE,EAC1E;;AAED;EACE,kCAA8D,EAC/D;;AAED;EACE,6CAAyE,EAC1E;;AAID;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,mCAAqD,EACtD;;AAED;EACE,8CAAgE,EACjE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,kCAAsD,EACvD;;AAED;EACE,6CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAID;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,mCAAyD,EAC1D;;AAED;EACE,8CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAID;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAID;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,mCAAwD,EACzD;;AAED;EACE,8CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,kCAAwD,EACzD;;AAED;EACE,6CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,gCAAwD,EACzD;;AAED;EACE,2CAAmE,EACpE;;AAED;EACE,mCAAyD,EAC1D;;AAED;EACE,8CAAoE,EACrE;;AAED;EACE,kCAAyD,EAC1D;;AAED;EACE,6CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAED;EACE,iCAAyD,EAC1D;;AAED;EACE,4CAAoE,EACrE;;AAID;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,mCAA4D,EAC7D;;AAED;EACE,8CAAuE,EACxE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,mCAA6D,EAC9D;;AAED;EACE,8CAAwE,EACzE;;AAED;EACE,kCAA6D,EAC9D;;AAED;EACE,6CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,iCAA6D,EAC9D;;AAED;EACE,4CAAwE,EACzE;;AAED;EACE,mCAA8D,EAC/D;;AAED;EACE,8CAAyE,EAC1E;;AAED;EACE,kCAA8D,EAC/D;;AAED;EACE,6CAAyE,EAC1E;;AAED;EACE,gCAA8D,EAC/D;;AAED;EACE,2CAAyE,EAC1E;;AAED;EACE,gCAA8D,EAC/D;;AAED;EACE,2CAAyE,EAC1E;;AAID;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,mCAAuD,EACxD;;AAED;EACE,8CAAkE,EACnE;;AAED;EACE,kCAAuD,EACxD;;AAED;EACE,6CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,iCAAuD,EACxD;;AAED;EACE,4CAAkE,EACnE;;AAED;EACE,gCAAuD,EACxD;;AAED;EACE,2CAAkE,EACnE;;AAED;EACE,gCAAuD,EACxD;;AAED;EACE,2CAAkE,EACnE;;AAED;EACE,gCAAuD,EACxD;;AAED;EACE,2CAAkE,EACnE;;AAID;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAqD,EACtD;;AAED;EACE,8CAAgE,EACjE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,mCAAsD,EACvD;;AAED;EACE,8CAAiE,EAClE;;AAED;EACE,gCAAsD,EACvD;;AAED;EACE,2CAAiE,EAClE;;AAED;EACE,gCAAsD,EACvD;;AAED;EACE,2CAAiE,EAClE;;AAED;EACE,gCAAsD,EACvD;;AAED;EACE,2CAAiE,EAClE;;AAID;EACE,kCAA2D,EAC5D;;AAED;EACE,6CAAsE,EACvE;;AAED;EACE,mCAA0D,EAC3D;;AAED;EACE,8CAAqE,EACtE;;AAED;EACE,mCAA2D,EAC5D;;AAED;EACE,8CAAsE,EACvE;;AAED;EACE,mCAA2D,EAC5D;;AAED;EACE,8CAAsE,EACvE;;AAED;EACE,mCAA2D,EAC5D;;AAED;EACE,8CAAsE,EACvE;;AAED;EACE,mCAA2D,EAC5D;;AAED;EACE,8CAAsE,EACvE;;AAED;EACE,kCAA2D,EAC5D;;AAED;EACE,6CAAsE,EACvE;;AAED;EACE,kCAA2D,EAC5D;;AAED;EACE,6CAAsE,EACvE;;AAED;EACE,iCAA2D,EAC5D;;AAED;EACE,4CAAsE,EACvE;;AAED;EACE,gCAA2D,EAC5D;;AAED;EACE,2CAAsE,EACvE;;AAED;EACE,gCAA2D,EAC5D;;AAED;EACE,2CAAsE,EACvE;;AAID;EACE,wCAA4D,EAC7D;;AAED;EACE,6BAAiD,EAClD;;AAID;EACE,8CAA4D,EAC7D;;AAED;EACE,mCAAiD,EAClD;;AAKH;EACE,4CAA8D,EAC/D;;AAED;EACE,8CAAuE,EACxE;;AAED;EACE,4CAAmE,EACpE;;AAED;EACE,6CAA6D,EAC9D;;AAED;EACE,8CAAsE,EACvE;;AAED;EACE,iCAAmD,EACpD;;AAED;EACE,mCAA4D,EAC7D;;AAED;EACE,iCAAwD,EACzD;;AAED;EACE,kCAAkD,EACnD;;AAED;EACE,mCAA2D,EAC5D;;AC9vED;;;;;;;;;;;;;;GAcG;ATdH;;;;;;;;;;;;;;GAcG;AAEH;wCAEwC;AACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,wCAAwC;AAExC;;;;;;;;;EASE;AAIF,oCAAoC;AAEpC;;;;;GAKG;AC5EH;;;;;;;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","file":"material.min.css","sourcesContent":["@charset \"UTF-8\";\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Material Design Lite */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/*\n * What follows is the result of much research on cross-browser styling.\n * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,\n * Kroc Camen, and the H5BP dev community and team.\n */\n/* ==========================================================================\n Base styles: opinionated defaults\n ========================================================================== */\nhtml {\n color: rgba(0,0,0, 0.87);\n font-size: 1em;\n line-height: 1.4; }\n\n/*\n * Remove text-shadow in selection highlight:\n * https://twitter.com/miketaylr/status/12228805301\n *\n * These selection rule sets have to be separate.\n * Customize the background color to match your design.\n */\n::selection {\n background: #b3d4fc;\n text-shadow: none; }\n\n/*\n * A better looking default horizontal rule\n */\nhr {\n display: block;\n height: 1px;\n border: 0;\n border-top: 1px solid #ccc;\n margin: 1em 0;\n padding: 0; }\n\n/*\n * Remove the gap between audio, canvas, iframes,\n * images, videos and the bottom of their containers:\n * https://github.com/h5bp/html5-boilerplate/issues/440\n */\naudio,\ncanvas,\niframe,\nimg,\nsvg,\nvideo {\n vertical-align: middle; }\n\n/*\n * Remove default fieldset styles.\n */\nfieldset {\n border: 0;\n margin: 0;\n padding: 0; }\n\n/*\n * Allow only vertical resizing of textareas.\n */\ntextarea {\n resize: vertical; }\n\n/* ==========================================================================\n Browser Upgrade Prompt\n ========================================================================== */\n.browserupgrade {\n margin: 0.2em 0;\n background: #ccc;\n color: #000;\n padding: 0.2em 0; }\n\n/* ==========================================================================\n Author's custom styles\n ========================================================================== */\n/* ==========================================================================\n Helper classes\n ========================================================================== */\n/*\n * Hide visually and from screen readers:\n */\n.hidden {\n display: none !important; }\n\n/*\n * Hide only visually, but have it available for screen readers:\n * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n */\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px; }\n\n/*\n * Extends the .visuallyhidden class to allow the element\n * to be focusable when navigated to via the keyboard:\n * https://www.drupal.org/node/897638\n */\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto; }\n\n/*\n * Hide visually and from screen readers, but maintain layout\n */\n.invisible {\n visibility: hidden; }\n\n/*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n * `contenteditable` attribute is included anywhere else in the document.\n * Otherwise it causes space to appear at the top and bottom of elements\n * that receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n * `:before` to contain the top-margins of child elements.\n */\n.clearfix:before,\n.clearfix:after {\n content: \" \";\n /* 1 */\n display: table;\n /* 2 */ }\n\n.clearfix:after {\n clear: both; }\n\n/* ==========================================================================\n EXAMPLE Media Queries for Responsive Design.\n These examples override the primary ('mobile first') styles.\n Modify as content requires.\n ========================================================================== */\n@media only screen and (min-width: 35em) {\n /* Style adjustments for viewports that meet the condition */ }\n\n@media print, (min-resolution: 1.25dppx), (min-resolution: 120dpi) {\n /* Style adjustments for high resolution devices */ }\n\n/* ==========================================================================\n Print styles.\n Inlined to avoid the additional HTTP request:\n http://www.phpied.com/delay-loading-your-print-css/\n ========================================================================== */\n@media print {\n *,\n *:before,\n *:after,\n *:first-letter {\n background: transparent !important;\n color: #000 !important;\n /* Black prints faster: http://www.sanbeiji.com/archives/953 */\n box-shadow: none !important; }\n a,\n a:visited {\n text-decoration: underline; }\n a[href]:after {\n content: \" (\" attr(href) \")\"; }\n abbr[title]:after {\n content: \" (\" attr(title) \")\"; }\n /*\n * Don't show links that are fragment identifiers,\n * or use the `javascript:` pseudo protocol\n */\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\"; }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid; }\n /*\n * Printing Tables:\n * http://css-discuss.incutio.com/wiki/Printing_Tables\n */\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n img {\n max-width: 100% !important; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; } }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Remove the unwanted box around FAB buttons */\n/* More info: http://goo.gl/IPwKi */\na, .mdl-accordion, .mdl-button, .mdl-card, .mdl-checkbox, .mdl-dropdown-menu,\n.mdl-icon-toggle, .mdl-item, .mdl-radio, .mdl-slider, .mdl-switch, .mdl-tabs__tab {\n -webkit-tap-highlight-color: transparent;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }\n\n/*\n * Make html take up the entire screen\n * Then set touch-action to avoid touch delay on mobile IE\n */\nhtml {\n width: 100%;\n height: 100%;\n -ms-touch-action: manipulation;\n touch-action: manipulation; }\n\n/*\n* Make body take up the entire screen\n* Remove body margin so layout containers don't cause extra overflow.\n*/\nbody {\n width: 100%;\n min-height: 100%;\n margin: 0; }\n\n/*\n * Main display reset for IE support.\n * Source: http://weblog.west-wind.com/posts/2015/Jan/12/main-HTML5-Tag-not-working-in-Internet-Explorer-91011\n */\nmain {\n display: block; }\n\n/*\n* Apply no display to elements with the hidden attribute.\n* IE 9 and 10 support.\n*/\n*[hidden] {\n display: none !important; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\nhtml, body {\n font-family: \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px; }\n\nh1, h2, h3, h4, h5, h6, p {\n margin: 0;\n padding: 0; }\n\n/**\n * Styles for HTML elements\n */\nh1 small, h2 small, h3 small, h4 small, h5 small, h6 small {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n opacity: 0.54;\n font-size: 0.6em; }\n\nh1 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n margin-top: 24px;\n margin-bottom: 24px; }\n\nh2 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 45px;\n font-weight: 400;\n line-height: 48px;\n margin-top: 24px;\n margin-bottom: 24px; }\n\nh3 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 34px;\n font-weight: 400;\n line-height: 40px;\n margin-top: 24px;\n margin-bottom: 24px; }\n\nh4 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale;\n margin-top: 24px;\n margin-bottom: 16px; }\n\nh5 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n margin-top: 24px;\n margin-bottom: 16px; }\n\nh6 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n margin-top: 24px;\n margin-bottom: 16px; }\n\np {\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n margin-bottom: 16px; }\n\na {\n color: rgb(255,64,129);\n font-weight: 500; }\n\nblockquote {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n position: relative;\n font-size: 24px;\n font-weight: 300;\n font-style: italic;\n line-height: 1.35;\n letter-spacing: 0.08em; }\n blockquote:before {\n position: absolute;\n left: -0.5em;\n content: '“'; }\n blockquote:after {\n content: '”';\n margin-left: -0.05em; }\n\nmark {\n background-color: #f4ff81; }\n\ndt {\n font-weight: 700; }\n\naddress {\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n font-style: normal; }\n\nul, ol {\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0; }\n\n/**\n * Class Name Styles\n */\n.mdl-typography--display-4 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 112px;\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.04em; }\n\n.mdl-typography--display-4-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 112px;\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.04em;\n opacity: 0.54; }\n\n.mdl-typography--display-3 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em; }\n\n.mdl-typography--display-3-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n opacity: 0.54; }\n\n.mdl-typography--display-2 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 45px;\n font-weight: 400;\n line-height: 48px; }\n\n.mdl-typography--display-2-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 45px;\n font-weight: 400;\n line-height: 48px;\n opacity: 0.54; }\n\n.mdl-typography--display-1 {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 34px;\n font-weight: 400;\n line-height: 40px; }\n\n.mdl-typography--display-1-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 34px;\n font-weight: 400;\n line-height: 40px;\n opacity: 0.54; }\n\n.mdl-typography--headline {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale; }\n\n.mdl-typography--headline-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale;\n opacity: 0.87; }\n\n.mdl-typography--title {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em; }\n\n.mdl-typography--title-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n opacity: 0.87; }\n\n.mdl-typography--subhead {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em; }\n\n.mdl-typography--subhead-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n opacity: 0.87; }\n\n.mdl-typography--body-2 {\n font-size: 14px;\n font-weight: bold;\n line-height: 24px;\n letter-spacing: 0; }\n\n.mdl-typography--body-2-color-contrast {\n font-size: 14px;\n font-weight: bold;\n line-height: 24px;\n letter-spacing: 0;\n opacity: 0.87; }\n\n.mdl-typography--body-1 {\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0; }\n\n.mdl-typography--body-1-color-contrast {\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n opacity: 0.87; }\n\n.mdl-typography--body-2-force-preferred-font {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 24px;\n letter-spacing: 0; }\n\n.mdl-typography--body-2-force-preferred-font-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 24px;\n letter-spacing: 0;\n opacity: 0.87; }\n\n.mdl-typography--body-1-force-preferred-font {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0; }\n\n.mdl-typography--body-1-force-preferred-font-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n opacity: 0.87; }\n\n.mdl-typography--caption {\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0; }\n\n.mdl-typography--caption-force-preferred-font {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0; }\n\n.mdl-typography--caption-color-contrast {\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n opacity: 0.54; }\n\n.mdl-typography--caption-force-preferred-font-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n opacity: 0.54; }\n\n.mdl-typography--menu {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0; }\n\n.mdl-typography--menu-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0;\n opacity: 0.87; }\n\n.mdl-typography--button {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0; }\n\n.mdl-typography--button-color-contrast {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n opacity: 0.87; }\n\n.mdl-typography--text-left {\n text-align: left; }\n\n.mdl-typography--text-right {\n text-align: right; }\n\n.mdl-typography--text-center {\n text-align: center; }\n\n.mdl-typography--text-justify {\n text-align: justify; }\n\n.mdl-typography--text-nowrap {\n white-space: nowrap; }\n\n.mdl-typography--text-lowercase {\n text-transform: lowercase; }\n\n.mdl-typography--text-uppercase {\n text-transform: uppercase; }\n\n.mdl-typography--text-capitalize {\n text-transform: capitalize; }\n\n.mdl-typography--font-thin {\n font-weight: 200 !important; }\n\n.mdl-typography--font-light {\n font-weight: 300 !important; }\n\n.mdl-typography--font-regular {\n font-weight: 400 !important; }\n\n.mdl-typography--font-medium {\n font-weight: 500 !important; }\n\n.mdl-typography--font-bold {\n font-weight: 700 !important; }\n\n.mdl-typography--font-black {\n font-weight: 900 !important; }\n\n.material-icons {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n font-feature-settings: 'liga';\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-color-text--red {\n color: rgb(244,67,54) !important; }\n\n.mdl-color--red {\n background-color: rgb(244,67,54) !important; }\n\n.mdl-color-text--red-50 {\n color: rgb(255,235,238) !important; }\n\n.mdl-color--red-50 {\n background-color: rgb(255,235,238) !important; }\n\n.mdl-color-text--red-100 {\n color: rgb(255,205,210) !important; }\n\n.mdl-color--red-100 {\n background-color: rgb(255,205,210) !important; }\n\n.mdl-color-text--red-200 {\n color: rgb(239,154,154) !important; }\n\n.mdl-color--red-200 {\n background-color: rgb(239,154,154) !important; }\n\n.mdl-color-text--red-300 {\n color: rgb(229,115,115) !important; }\n\n.mdl-color--red-300 {\n background-color: rgb(229,115,115) !important; }\n\n.mdl-color-text--red-400 {\n color: rgb(239,83,80) !important; }\n\n.mdl-color--red-400 {\n background-color: rgb(239,83,80) !important; }\n\n.mdl-color-text--red-500 {\n color: rgb(244,67,54) !important; }\n\n.mdl-color--red-500 {\n background-color: rgb(244,67,54) !important; }\n\n.mdl-color-text--red-600 {\n color: rgb(229,57,53) !important; }\n\n.mdl-color--red-600 {\n background-color: rgb(229,57,53) !important; }\n\n.mdl-color-text--red-700 {\n color: rgb(211,47,47) !important; }\n\n.mdl-color--red-700 {\n background-color: rgb(211,47,47) !important; }\n\n.mdl-color-text--red-800 {\n color: rgb(198,40,40) !important; }\n\n.mdl-color--red-800 {\n background-color: rgb(198,40,40) !important; }\n\n.mdl-color-text--red-900 {\n color: rgb(183,28,28) !important; }\n\n.mdl-color--red-900 {\n background-color: rgb(183,28,28) !important; }\n\n.mdl-color-text--red-A100 {\n color: rgb(255,138,128) !important; }\n\n.mdl-color--red-A100 {\n background-color: rgb(255,138,128) !important; }\n\n.mdl-color-text--red-A200 {\n color: rgb(255,82,82) !important; }\n\n.mdl-color--red-A200 {\n background-color: rgb(255,82,82) !important; }\n\n.mdl-color-text--red-A400 {\n color: rgb(255,23,68) !important; }\n\n.mdl-color--red-A400 {\n background-color: rgb(255,23,68) !important; }\n\n.mdl-color-text--red-A700 {\n color: rgb(213,0,0) !important; }\n\n.mdl-color--red-A700 {\n background-color: rgb(213,0,0) !important; }\n\n.mdl-color-text--pink {\n color: rgb(233,30,99) !important; }\n\n.mdl-color--pink {\n background-color: rgb(233,30,99) !important; }\n\n.mdl-color-text--pink-50 {\n color: rgb(252,228,236) !important; }\n\n.mdl-color--pink-50 {\n background-color: rgb(252,228,236) !important; }\n\n.mdl-color-text--pink-100 {\n color: rgb(248,187,208) !important; }\n\n.mdl-color--pink-100 {\n background-color: rgb(248,187,208) !important; }\n\n.mdl-color-text--pink-200 {\n color: rgb(244,143,177) !important; }\n\n.mdl-color--pink-200 {\n background-color: rgb(244,143,177) !important; }\n\n.mdl-color-text--pink-300 {\n color: rgb(240,98,146) !important; }\n\n.mdl-color--pink-300 {\n background-color: rgb(240,98,146) !important; }\n\n.mdl-color-text--pink-400 {\n color: rgb(236,64,122) !important; }\n\n.mdl-color--pink-400 {\n background-color: rgb(236,64,122) !important; }\n\n.mdl-color-text--pink-500 {\n color: rgb(233,30,99) !important; }\n\n.mdl-color--pink-500 {\n background-color: rgb(233,30,99) !important; }\n\n.mdl-color-text--pink-600 {\n color: rgb(216,27,96) !important; }\n\n.mdl-color--pink-600 {\n background-color: rgb(216,27,96) !important; }\n\n.mdl-color-text--pink-700 {\n color: rgb(194,24,91) !important; }\n\n.mdl-color--pink-700 {\n background-color: rgb(194,24,91) !important; }\n\n.mdl-color-text--pink-800 {\n color: rgb(173,20,87) !important; }\n\n.mdl-color--pink-800 {\n background-color: rgb(173,20,87) !important; }\n\n.mdl-color-text--pink-900 {\n color: rgb(136,14,79) !important; }\n\n.mdl-color--pink-900 {\n background-color: rgb(136,14,79) !important; }\n\n.mdl-color-text--pink-A100 {\n color: rgb(255,128,171) !important; }\n\n.mdl-color--pink-A100 {\n background-color: rgb(255,128,171) !important; }\n\n.mdl-color-text--pink-A200 {\n color: rgb(255,64,129) !important; }\n\n.mdl-color--pink-A200 {\n background-color: rgb(255,64,129) !important; }\n\n.mdl-color-text--pink-A400 {\n color: rgb(245,0,87) !important; }\n\n.mdl-color--pink-A400 {\n background-color: rgb(245,0,87) !important; }\n\n.mdl-color-text--pink-A700 {\n color: rgb(197,17,98) !important; }\n\n.mdl-color--pink-A700 {\n background-color: rgb(197,17,98) !important; }\n\n.mdl-color-text--purple {\n color: rgb(156,39,176) !important; }\n\n.mdl-color--purple {\n background-color: rgb(156,39,176) !important; }\n\n.mdl-color-text--purple-50 {\n color: rgb(243,229,245) !important; }\n\n.mdl-color--purple-50 {\n background-color: rgb(243,229,245) !important; }\n\n.mdl-color-text--purple-100 {\n color: rgb(225,190,231) !important; }\n\n.mdl-color--purple-100 {\n background-color: rgb(225,190,231) !important; }\n\n.mdl-color-text--purple-200 {\n color: rgb(206,147,216) !important; }\n\n.mdl-color--purple-200 {\n background-color: rgb(206,147,216) !important; }\n\n.mdl-color-text--purple-300 {\n color: rgb(186,104,200) !important; }\n\n.mdl-color--purple-300 {\n background-color: rgb(186,104,200) !important; }\n\n.mdl-color-text--purple-400 {\n color: rgb(171,71,188) !important; }\n\n.mdl-color--purple-400 {\n background-color: rgb(171,71,188) !important; }\n\n.mdl-color-text--purple-500 {\n color: rgb(156,39,176) !important; }\n\n.mdl-color--purple-500 {\n background-color: rgb(156,39,176) !important; }\n\n.mdl-color-text--purple-600 {\n color: rgb(142,36,170) !important; }\n\n.mdl-color--purple-600 {\n background-color: rgb(142,36,170) !important; }\n\n.mdl-color-text--purple-700 {\n color: rgb(123,31,162) !important; }\n\n.mdl-color--purple-700 {\n background-color: rgb(123,31,162) !important; }\n\n.mdl-color-text--purple-800 {\n color: rgb(106,27,154) !important; }\n\n.mdl-color--purple-800 {\n background-color: rgb(106,27,154) !important; }\n\n.mdl-color-text--purple-900 {\n color: rgb(74,20,140) !important; }\n\n.mdl-color--purple-900 {\n background-color: rgb(74,20,140) !important; }\n\n.mdl-color-text--purple-A100 {\n color: rgb(234,128,252) !important; }\n\n.mdl-color--purple-A100 {\n background-color: rgb(234,128,252) !important; }\n\n.mdl-color-text--purple-A200 {\n color: rgb(224,64,251) !important; }\n\n.mdl-color--purple-A200 {\n background-color: rgb(224,64,251) !important; }\n\n.mdl-color-text--purple-A400 {\n color: rgb(213,0,249) !important; }\n\n.mdl-color--purple-A400 {\n background-color: rgb(213,0,249) !important; }\n\n.mdl-color-text--purple-A700 {\n color: rgb(170,0,255) !important; }\n\n.mdl-color--purple-A700 {\n background-color: rgb(170,0,255) !important; }\n\n.mdl-color-text--deep-purple {\n color: rgb(103,58,183) !important; }\n\n.mdl-color--deep-purple {\n background-color: rgb(103,58,183) !important; }\n\n.mdl-color-text--deep-purple-50 {\n color: rgb(237,231,246) !important; }\n\n.mdl-color--deep-purple-50 {\n background-color: rgb(237,231,246) !important; }\n\n.mdl-color-text--deep-purple-100 {\n color: rgb(209,196,233) !important; }\n\n.mdl-color--deep-purple-100 {\n background-color: rgb(209,196,233) !important; }\n\n.mdl-color-text--deep-purple-200 {\n color: rgb(179,157,219) !important; }\n\n.mdl-color--deep-purple-200 {\n background-color: rgb(179,157,219) !important; }\n\n.mdl-color-text--deep-purple-300 {\n color: rgb(149,117,205) !important; }\n\n.mdl-color--deep-purple-300 {\n background-color: rgb(149,117,205) !important; }\n\n.mdl-color-text--deep-purple-400 {\n color: rgb(126,87,194) !important; }\n\n.mdl-color--deep-purple-400 {\n background-color: rgb(126,87,194) !important; }\n\n.mdl-color-text--deep-purple-500 {\n color: rgb(103,58,183) !important; }\n\n.mdl-color--deep-purple-500 {\n background-color: rgb(103,58,183) !important; }\n\n.mdl-color-text--deep-purple-600 {\n color: rgb(94,53,177) !important; }\n\n.mdl-color--deep-purple-600 {\n background-color: rgb(94,53,177) !important; }\n\n.mdl-color-text--deep-purple-700 {\n color: rgb(81,45,168) !important; }\n\n.mdl-color--deep-purple-700 {\n background-color: rgb(81,45,168) !important; }\n\n.mdl-color-text--deep-purple-800 {\n color: rgb(69,39,160) !important; }\n\n.mdl-color--deep-purple-800 {\n background-color: rgb(69,39,160) !important; }\n\n.mdl-color-text--deep-purple-900 {\n color: rgb(49,27,146) !important; }\n\n.mdl-color--deep-purple-900 {\n background-color: rgb(49,27,146) !important; }\n\n.mdl-color-text--deep-purple-A100 {\n color: rgb(179,136,255) !important; }\n\n.mdl-color--deep-purple-A100 {\n background-color: rgb(179,136,255) !important; }\n\n.mdl-color-text--deep-purple-A200 {\n color: rgb(124,77,255) !important; }\n\n.mdl-color--deep-purple-A200 {\n background-color: rgb(124,77,255) !important; }\n\n.mdl-color-text--deep-purple-A400 {\n color: rgb(101,31,255) !important; }\n\n.mdl-color--deep-purple-A400 {\n background-color: rgb(101,31,255) !important; }\n\n.mdl-color-text--deep-purple-A700 {\n color: rgb(98,0,234) !important; }\n\n.mdl-color--deep-purple-A700 {\n background-color: rgb(98,0,234) !important; }\n\n.mdl-color-text--indigo {\n color: rgb(63,81,181) !important; }\n\n.mdl-color--indigo {\n background-color: rgb(63,81,181) !important; }\n\n.mdl-color-text--indigo-50 {\n color: rgb(232,234,246) !important; }\n\n.mdl-color--indigo-50 {\n background-color: rgb(232,234,246) !important; }\n\n.mdl-color-text--indigo-100 {\n color: rgb(197,202,233) !important; }\n\n.mdl-color--indigo-100 {\n background-color: rgb(197,202,233) !important; }\n\n.mdl-color-text--indigo-200 {\n color: rgb(159,168,218) !important; }\n\n.mdl-color--indigo-200 {\n background-color: rgb(159,168,218) !important; }\n\n.mdl-color-text--indigo-300 {\n color: rgb(121,134,203) !important; }\n\n.mdl-color--indigo-300 {\n background-color: rgb(121,134,203) !important; }\n\n.mdl-color-text--indigo-400 {\n color: rgb(92,107,192) !important; }\n\n.mdl-color--indigo-400 {\n background-color: rgb(92,107,192) !important; }\n\n.mdl-color-text--indigo-500 {\n color: rgb(63,81,181) !important; }\n\n.mdl-color--indigo-500 {\n background-color: rgb(63,81,181) !important; }\n\n.mdl-color-text--indigo-600 {\n color: rgb(57,73,171) !important; }\n\n.mdl-color--indigo-600 {\n background-color: rgb(57,73,171) !important; }\n\n.mdl-color-text--indigo-700 {\n color: rgb(48,63,159) !important; }\n\n.mdl-color--indigo-700 {\n background-color: rgb(48,63,159) !important; }\n\n.mdl-color-text--indigo-800 {\n color: rgb(40,53,147) !important; }\n\n.mdl-color--indigo-800 {\n background-color: rgb(40,53,147) !important; }\n\n.mdl-color-text--indigo-900 {\n color: rgb(26,35,126) !important; }\n\n.mdl-color--indigo-900 {\n background-color: rgb(26,35,126) !important; }\n\n.mdl-color-text--indigo-A100 {\n color: rgb(140,158,255) !important; }\n\n.mdl-color--indigo-A100 {\n background-color: rgb(140,158,255) !important; }\n\n.mdl-color-text--indigo-A200 {\n color: rgb(83,109,254) !important; }\n\n.mdl-color--indigo-A200 {\n background-color: rgb(83,109,254) !important; }\n\n.mdl-color-text--indigo-A400 {\n color: rgb(61,90,254) !important; }\n\n.mdl-color--indigo-A400 {\n background-color: rgb(61,90,254) !important; }\n\n.mdl-color-text--indigo-A700 {\n color: rgb(48,79,254) !important; }\n\n.mdl-color--indigo-A700 {\n background-color: rgb(48,79,254) !important; }\n\n.mdl-color-text--blue {\n color: rgb(33,150,243) !important; }\n\n.mdl-color--blue {\n background-color: rgb(33,150,243) !important; }\n\n.mdl-color-text--blue-50 {\n color: rgb(227,242,253) !important; }\n\n.mdl-color--blue-50 {\n background-color: rgb(227,242,253) !important; }\n\n.mdl-color-text--blue-100 {\n color: rgb(187,222,251) !important; }\n\n.mdl-color--blue-100 {\n background-color: rgb(187,222,251) !important; }\n\n.mdl-color-text--blue-200 {\n color: rgb(144,202,249) !important; }\n\n.mdl-color--blue-200 {\n background-color: rgb(144,202,249) !important; }\n\n.mdl-color-text--blue-300 {\n color: rgb(100,181,246) !important; }\n\n.mdl-color--blue-300 {\n background-color: rgb(100,181,246) !important; }\n\n.mdl-color-text--blue-400 {\n color: rgb(66,165,245) !important; }\n\n.mdl-color--blue-400 {\n background-color: rgb(66,165,245) !important; }\n\n.mdl-color-text--blue-500 {\n color: rgb(33,150,243) !important; }\n\n.mdl-color--blue-500 {\n background-color: rgb(33,150,243) !important; }\n\n.mdl-color-text--blue-600 {\n color: rgb(30,136,229) !important; }\n\n.mdl-color--blue-600 {\n background-color: rgb(30,136,229) !important; }\n\n.mdl-color-text--blue-700 {\n color: rgb(25,118,210) !important; }\n\n.mdl-color--blue-700 {\n background-color: rgb(25,118,210) !important; }\n\n.mdl-color-text--blue-800 {\n color: rgb(21,101,192) !important; }\n\n.mdl-color--blue-800 {\n background-color: rgb(21,101,192) !important; }\n\n.mdl-color-text--blue-900 {\n color: rgb(13,71,161) !important; }\n\n.mdl-color--blue-900 {\n background-color: rgb(13,71,161) !important; }\n\n.mdl-color-text--blue-A100 {\n color: rgb(130,177,255) !important; }\n\n.mdl-color--blue-A100 {\n background-color: rgb(130,177,255) !important; }\n\n.mdl-color-text--blue-A200 {\n color: rgb(68,138,255) !important; }\n\n.mdl-color--blue-A200 {\n background-color: rgb(68,138,255) !important; }\n\n.mdl-color-text--blue-A400 {\n color: rgb(41,121,255) !important; }\n\n.mdl-color--blue-A400 {\n background-color: rgb(41,121,255) !important; }\n\n.mdl-color-text--blue-A700 {\n color: rgb(41,98,255) !important; }\n\n.mdl-color--blue-A700 {\n background-color: rgb(41,98,255) !important; }\n\n.mdl-color-text--light-blue {\n color: rgb(3,169,244) !important; }\n\n.mdl-color--light-blue {\n background-color: rgb(3,169,244) !important; }\n\n.mdl-color-text--light-blue-50 {\n color: rgb(225,245,254) !important; }\n\n.mdl-color--light-blue-50 {\n background-color: rgb(225,245,254) !important; }\n\n.mdl-color-text--light-blue-100 {\n color: rgb(179,229,252) !important; }\n\n.mdl-color--light-blue-100 {\n background-color: rgb(179,229,252) !important; }\n\n.mdl-color-text--light-blue-200 {\n color: rgb(129,212,250) !important; }\n\n.mdl-color--light-blue-200 {\n background-color: rgb(129,212,250) !important; }\n\n.mdl-color-text--light-blue-300 {\n color: rgb(79,195,247) !important; }\n\n.mdl-color--light-blue-300 {\n background-color: rgb(79,195,247) !important; }\n\n.mdl-color-text--light-blue-400 {\n color: rgb(41,182,246) !important; }\n\n.mdl-color--light-blue-400 {\n background-color: rgb(41,182,246) !important; }\n\n.mdl-color-text--light-blue-500 {\n color: rgb(3,169,244) !important; }\n\n.mdl-color--light-blue-500 {\n background-color: rgb(3,169,244) !important; }\n\n.mdl-color-text--light-blue-600 {\n color: rgb(3,155,229) !important; }\n\n.mdl-color--light-blue-600 {\n background-color: rgb(3,155,229) !important; }\n\n.mdl-color-text--light-blue-700 {\n color: rgb(2,136,209) !important; }\n\n.mdl-color--light-blue-700 {\n background-color: rgb(2,136,209) !important; }\n\n.mdl-color-text--light-blue-800 {\n color: rgb(2,119,189) !important; }\n\n.mdl-color--light-blue-800 {\n background-color: rgb(2,119,189) !important; }\n\n.mdl-color-text--light-blue-900 {\n color: rgb(1,87,155) !important; }\n\n.mdl-color--light-blue-900 {\n background-color: rgb(1,87,155) !important; }\n\n.mdl-color-text--light-blue-A100 {\n color: rgb(128,216,255) !important; }\n\n.mdl-color--light-blue-A100 {\n background-color: rgb(128,216,255) !important; }\n\n.mdl-color-text--light-blue-A200 {\n color: rgb(64,196,255) !important; }\n\n.mdl-color--light-blue-A200 {\n background-color: rgb(64,196,255) !important; }\n\n.mdl-color-text--light-blue-A400 {\n color: rgb(0,176,255) !important; }\n\n.mdl-color--light-blue-A400 {\n background-color: rgb(0,176,255) !important; }\n\n.mdl-color-text--light-blue-A700 {\n color: rgb(0,145,234) !important; }\n\n.mdl-color--light-blue-A700 {\n background-color: rgb(0,145,234) !important; }\n\n.mdl-color-text--cyan {\n color: rgb(0,188,212) !important; }\n\n.mdl-color--cyan {\n background-color: rgb(0,188,212) !important; }\n\n.mdl-color-text--cyan-50 {\n color: rgb(224,247,250) !important; }\n\n.mdl-color--cyan-50 {\n background-color: rgb(224,247,250) !important; }\n\n.mdl-color-text--cyan-100 {\n color: rgb(178,235,242) !important; }\n\n.mdl-color--cyan-100 {\n background-color: rgb(178,235,242) !important; }\n\n.mdl-color-text--cyan-200 {\n color: rgb(128,222,234) !important; }\n\n.mdl-color--cyan-200 {\n background-color: rgb(128,222,234) !important; }\n\n.mdl-color-text--cyan-300 {\n color: rgb(77,208,225) !important; }\n\n.mdl-color--cyan-300 {\n background-color: rgb(77,208,225) !important; }\n\n.mdl-color-text--cyan-400 {\n color: rgb(38,198,218) !important; }\n\n.mdl-color--cyan-400 {\n background-color: rgb(38,198,218) !important; }\n\n.mdl-color-text--cyan-500 {\n color: rgb(0,188,212) !important; }\n\n.mdl-color--cyan-500 {\n background-color: rgb(0,188,212) !important; }\n\n.mdl-color-text--cyan-600 {\n color: rgb(0,172,193) !important; }\n\n.mdl-color--cyan-600 {\n background-color: rgb(0,172,193) !important; }\n\n.mdl-color-text--cyan-700 {\n color: rgb(0,151,167) !important; }\n\n.mdl-color--cyan-700 {\n background-color: rgb(0,151,167) !important; }\n\n.mdl-color-text--cyan-800 {\n color: rgb(0,131,143) !important; }\n\n.mdl-color--cyan-800 {\n background-color: rgb(0,131,143) !important; }\n\n.mdl-color-text--cyan-900 {\n color: rgb(0,96,100) !important; }\n\n.mdl-color--cyan-900 {\n background-color: rgb(0,96,100) !important; }\n\n.mdl-color-text--cyan-A100 {\n color: rgb(132,255,255) !important; }\n\n.mdl-color--cyan-A100 {\n background-color: rgb(132,255,255) !important; }\n\n.mdl-color-text--cyan-A200 {\n color: rgb(24,255,255) !important; }\n\n.mdl-color--cyan-A200 {\n background-color: rgb(24,255,255) !important; }\n\n.mdl-color-text--cyan-A400 {\n color: rgb(0,229,255) !important; }\n\n.mdl-color--cyan-A400 {\n background-color: rgb(0,229,255) !important; }\n\n.mdl-color-text--cyan-A700 {\n color: rgb(0,184,212) !important; }\n\n.mdl-color--cyan-A700 {\n background-color: rgb(0,184,212) !important; }\n\n.mdl-color-text--teal {\n color: rgb(0,150,136) !important; }\n\n.mdl-color--teal {\n background-color: rgb(0,150,136) !important; }\n\n.mdl-color-text--teal-50 {\n color: rgb(224,242,241) !important; }\n\n.mdl-color--teal-50 {\n background-color: rgb(224,242,241) !important; }\n\n.mdl-color-text--teal-100 {\n color: rgb(178,223,219) !important; }\n\n.mdl-color--teal-100 {\n background-color: rgb(178,223,219) !important; }\n\n.mdl-color-text--teal-200 {\n color: rgb(128,203,196) !important; }\n\n.mdl-color--teal-200 {\n background-color: rgb(128,203,196) !important; }\n\n.mdl-color-text--teal-300 {\n color: rgb(77,182,172) !important; }\n\n.mdl-color--teal-300 {\n background-color: rgb(77,182,172) !important; }\n\n.mdl-color-text--teal-400 {\n color: rgb(38,166,154) !important; }\n\n.mdl-color--teal-400 {\n background-color: rgb(38,166,154) !important; }\n\n.mdl-color-text--teal-500 {\n color: rgb(0,150,136) !important; }\n\n.mdl-color--teal-500 {\n background-color: rgb(0,150,136) !important; }\n\n.mdl-color-text--teal-600 {\n color: rgb(0,137,123) !important; }\n\n.mdl-color--teal-600 {\n background-color: rgb(0,137,123) !important; }\n\n.mdl-color-text--teal-700 {\n color: rgb(0,121,107) !important; }\n\n.mdl-color--teal-700 {\n background-color: rgb(0,121,107) !important; }\n\n.mdl-color-text--teal-800 {\n color: rgb(0,105,92) !important; }\n\n.mdl-color--teal-800 {\n background-color: rgb(0,105,92) !important; }\n\n.mdl-color-text--teal-900 {\n color: rgb(0,77,64) !important; }\n\n.mdl-color--teal-900 {\n background-color: rgb(0,77,64) !important; }\n\n.mdl-color-text--teal-A100 {\n color: rgb(167,255,235) !important; }\n\n.mdl-color--teal-A100 {\n background-color: rgb(167,255,235) !important; }\n\n.mdl-color-text--teal-A200 {\n color: rgb(100,255,218) !important; }\n\n.mdl-color--teal-A200 {\n background-color: rgb(100,255,218) !important; }\n\n.mdl-color-text--teal-A400 {\n color: rgb(29,233,182) !important; }\n\n.mdl-color--teal-A400 {\n background-color: rgb(29,233,182) !important; }\n\n.mdl-color-text--teal-A700 {\n color: rgb(0,191,165) !important; }\n\n.mdl-color--teal-A700 {\n background-color: rgb(0,191,165) !important; }\n\n.mdl-color-text--green {\n color: rgb(76,175,80) !important; }\n\n.mdl-color--green {\n background-color: rgb(76,175,80) !important; }\n\n.mdl-color-text--green-50 {\n color: rgb(232,245,233) !important; }\n\n.mdl-color--green-50 {\n background-color: rgb(232,245,233) !important; }\n\n.mdl-color-text--green-100 {\n color: rgb(200,230,201) !important; }\n\n.mdl-color--green-100 {\n background-color: rgb(200,230,201) !important; }\n\n.mdl-color-text--green-200 {\n color: rgb(165,214,167) !important; }\n\n.mdl-color--green-200 {\n background-color: rgb(165,214,167) !important; }\n\n.mdl-color-text--green-300 {\n color: rgb(129,199,132) !important; }\n\n.mdl-color--green-300 {\n background-color: rgb(129,199,132) !important; }\n\n.mdl-color-text--green-400 {\n color: rgb(102,187,106) !important; }\n\n.mdl-color--green-400 {\n background-color: rgb(102,187,106) !important; }\n\n.mdl-color-text--green-500 {\n color: rgb(76,175,80) !important; }\n\n.mdl-color--green-500 {\n background-color: rgb(76,175,80) !important; }\n\n.mdl-color-text--green-600 {\n color: rgb(67,160,71) !important; }\n\n.mdl-color--green-600 {\n background-color: rgb(67,160,71) !important; }\n\n.mdl-color-text--green-700 {\n color: rgb(56,142,60) !important; }\n\n.mdl-color--green-700 {\n background-color: rgb(56,142,60) !important; }\n\n.mdl-color-text--green-800 {\n color: rgb(46,125,50) !important; }\n\n.mdl-color--green-800 {\n background-color: rgb(46,125,50) !important; }\n\n.mdl-color-text--green-900 {\n color: rgb(27,94,32) !important; }\n\n.mdl-color--green-900 {\n background-color: rgb(27,94,32) !important; }\n\n.mdl-color-text--green-A100 {\n color: rgb(185,246,202) !important; }\n\n.mdl-color--green-A100 {\n background-color: rgb(185,246,202) !important; }\n\n.mdl-color-text--green-A200 {\n color: rgb(105,240,174) !important; }\n\n.mdl-color--green-A200 {\n background-color: rgb(105,240,174) !important; }\n\n.mdl-color-text--green-A400 {\n color: rgb(0,230,118) !important; }\n\n.mdl-color--green-A400 {\n background-color: rgb(0,230,118) !important; }\n\n.mdl-color-text--green-A700 {\n color: rgb(0,200,83) !important; }\n\n.mdl-color--green-A700 {\n background-color: rgb(0,200,83) !important; }\n\n.mdl-color-text--light-green {\n color: rgb(139,195,74) !important; }\n\n.mdl-color--light-green {\n background-color: rgb(139,195,74) !important; }\n\n.mdl-color-text--light-green-50 {\n color: rgb(241,248,233) !important; }\n\n.mdl-color--light-green-50 {\n background-color: rgb(241,248,233) !important; }\n\n.mdl-color-text--light-green-100 {\n color: rgb(220,237,200) !important; }\n\n.mdl-color--light-green-100 {\n background-color: rgb(220,237,200) !important; }\n\n.mdl-color-text--light-green-200 {\n color: rgb(197,225,165) !important; }\n\n.mdl-color--light-green-200 {\n background-color: rgb(197,225,165) !important; }\n\n.mdl-color-text--light-green-300 {\n color: rgb(174,213,129) !important; }\n\n.mdl-color--light-green-300 {\n background-color: rgb(174,213,129) !important; }\n\n.mdl-color-text--light-green-400 {\n color: rgb(156,204,101) !important; }\n\n.mdl-color--light-green-400 {\n background-color: rgb(156,204,101) !important; }\n\n.mdl-color-text--light-green-500 {\n color: rgb(139,195,74) !important; }\n\n.mdl-color--light-green-500 {\n background-color: rgb(139,195,74) !important; }\n\n.mdl-color-text--light-green-600 {\n color: rgb(124,179,66) !important; }\n\n.mdl-color--light-green-600 {\n background-color: rgb(124,179,66) !important; }\n\n.mdl-color-text--light-green-700 {\n color: rgb(104,159,56) !important; }\n\n.mdl-color--light-green-700 {\n background-color: rgb(104,159,56) !important; }\n\n.mdl-color-text--light-green-800 {\n color: rgb(85,139,47) !important; }\n\n.mdl-color--light-green-800 {\n background-color: rgb(85,139,47) !important; }\n\n.mdl-color-text--light-green-900 {\n color: rgb(51,105,30) !important; }\n\n.mdl-color--light-green-900 {\n background-color: rgb(51,105,30) !important; }\n\n.mdl-color-text--light-green-A100 {\n color: rgb(204,255,144) !important; }\n\n.mdl-color--light-green-A100 {\n background-color: rgb(204,255,144) !important; }\n\n.mdl-color-text--light-green-A200 {\n color: rgb(178,255,89) !important; }\n\n.mdl-color--light-green-A200 {\n background-color: rgb(178,255,89) !important; }\n\n.mdl-color-text--light-green-A400 {\n color: rgb(118,255,3) !important; }\n\n.mdl-color--light-green-A400 {\n background-color: rgb(118,255,3) !important; }\n\n.mdl-color-text--light-green-A700 {\n color: rgb(100,221,23) !important; }\n\n.mdl-color--light-green-A700 {\n background-color: rgb(100,221,23) !important; }\n\n.mdl-color-text--lime {\n color: rgb(205,220,57) !important; }\n\n.mdl-color--lime {\n background-color: rgb(205,220,57) !important; }\n\n.mdl-color-text--lime-50 {\n color: rgb(249,251,231) !important; }\n\n.mdl-color--lime-50 {\n background-color: rgb(249,251,231) !important; }\n\n.mdl-color-text--lime-100 {\n color: rgb(240,244,195) !important; }\n\n.mdl-color--lime-100 {\n background-color: rgb(240,244,195) !important; }\n\n.mdl-color-text--lime-200 {\n color: rgb(230,238,156) !important; }\n\n.mdl-color--lime-200 {\n background-color: rgb(230,238,156) !important; }\n\n.mdl-color-text--lime-300 {\n color: rgb(220,231,117) !important; }\n\n.mdl-color--lime-300 {\n background-color: rgb(220,231,117) !important; }\n\n.mdl-color-text--lime-400 {\n color: rgb(212,225,87) !important; }\n\n.mdl-color--lime-400 {\n background-color: rgb(212,225,87) !important; }\n\n.mdl-color-text--lime-500 {\n color: rgb(205,220,57) !important; }\n\n.mdl-color--lime-500 {\n background-color: rgb(205,220,57) !important; }\n\n.mdl-color-text--lime-600 {\n color: rgb(192,202,51) !important; }\n\n.mdl-color--lime-600 {\n background-color: rgb(192,202,51) !important; }\n\n.mdl-color-text--lime-700 {\n color: rgb(175,180,43) !important; }\n\n.mdl-color--lime-700 {\n background-color: rgb(175,180,43) !important; }\n\n.mdl-color-text--lime-800 {\n color: rgb(158,157,36) !important; }\n\n.mdl-color--lime-800 {\n background-color: rgb(158,157,36) !important; }\n\n.mdl-color-text--lime-900 {\n color: rgb(130,119,23) !important; }\n\n.mdl-color--lime-900 {\n background-color: rgb(130,119,23) !important; }\n\n.mdl-color-text--lime-A100 {\n color: rgb(244,255,129) !important; }\n\n.mdl-color--lime-A100 {\n background-color: rgb(244,255,129) !important; }\n\n.mdl-color-text--lime-A200 {\n color: rgb(238,255,65) !important; }\n\n.mdl-color--lime-A200 {\n background-color: rgb(238,255,65) !important; }\n\n.mdl-color-text--lime-A400 {\n color: rgb(198,255,0) !important; }\n\n.mdl-color--lime-A400 {\n background-color: rgb(198,255,0) !important; }\n\n.mdl-color-text--lime-A700 {\n color: rgb(174,234,0) !important; }\n\n.mdl-color--lime-A700 {\n background-color: rgb(174,234,0) !important; }\n\n.mdl-color-text--yellow {\n color: rgb(255,235,59) !important; }\n\n.mdl-color--yellow {\n background-color: rgb(255,235,59) !important; }\n\n.mdl-color-text--yellow-50 {\n color: rgb(255,253,231) !important; }\n\n.mdl-color--yellow-50 {\n background-color: rgb(255,253,231) !important; }\n\n.mdl-color-text--yellow-100 {\n color: rgb(255,249,196) !important; }\n\n.mdl-color--yellow-100 {\n background-color: rgb(255,249,196) !important; }\n\n.mdl-color-text--yellow-200 {\n color: rgb(255,245,157) !important; }\n\n.mdl-color--yellow-200 {\n background-color: rgb(255,245,157) !important; }\n\n.mdl-color-text--yellow-300 {\n color: rgb(255,241,118) !important; }\n\n.mdl-color--yellow-300 {\n background-color: rgb(255,241,118) !important; }\n\n.mdl-color-text--yellow-400 {\n color: rgb(255,238,88) !important; }\n\n.mdl-color--yellow-400 {\n background-color: rgb(255,238,88) !important; }\n\n.mdl-color-text--yellow-500 {\n color: rgb(255,235,59) !important; }\n\n.mdl-color--yellow-500 {\n background-color: rgb(255,235,59) !important; }\n\n.mdl-color-text--yellow-600 {\n color: rgb(253,216,53) !important; }\n\n.mdl-color--yellow-600 {\n background-color: rgb(253,216,53) !important; }\n\n.mdl-color-text--yellow-700 {\n color: rgb(251,192,45) !important; }\n\n.mdl-color--yellow-700 {\n background-color: rgb(251,192,45) !important; }\n\n.mdl-color-text--yellow-800 {\n color: rgb(249,168,37) !important; }\n\n.mdl-color--yellow-800 {\n background-color: rgb(249,168,37) !important; }\n\n.mdl-color-text--yellow-900 {\n color: rgb(245,127,23) !important; }\n\n.mdl-color--yellow-900 {\n background-color: rgb(245,127,23) !important; }\n\n.mdl-color-text--yellow-A100 {\n color: rgb(255,255,141) !important; }\n\n.mdl-color--yellow-A100 {\n background-color: rgb(255,255,141) !important; }\n\n.mdl-color-text--yellow-A200 {\n color: rgb(255,255,0) !important; }\n\n.mdl-color--yellow-A200 {\n background-color: rgb(255,255,0) !important; }\n\n.mdl-color-text--yellow-A400 {\n color: rgb(255,234,0) !important; }\n\n.mdl-color--yellow-A400 {\n background-color: rgb(255,234,0) !important; }\n\n.mdl-color-text--yellow-A700 {\n color: rgb(255,214,0) !important; }\n\n.mdl-color--yellow-A700 {\n background-color: rgb(255,214,0) !important; }\n\n.mdl-color-text--amber {\n color: rgb(255,193,7) !important; }\n\n.mdl-color--amber {\n background-color: rgb(255,193,7) !important; }\n\n.mdl-color-text--amber-50 {\n color: rgb(255,248,225) !important; }\n\n.mdl-color--amber-50 {\n background-color: rgb(255,248,225) !important; }\n\n.mdl-color-text--amber-100 {\n color: rgb(255,236,179) !important; }\n\n.mdl-color--amber-100 {\n background-color: rgb(255,236,179) !important; }\n\n.mdl-color-text--amber-200 {\n color: rgb(255,224,130) !important; }\n\n.mdl-color--amber-200 {\n background-color: rgb(255,224,130) !important; }\n\n.mdl-color-text--amber-300 {\n color: rgb(255,213,79) !important; }\n\n.mdl-color--amber-300 {\n background-color: rgb(255,213,79) !important; }\n\n.mdl-color-text--amber-400 {\n color: rgb(255,202,40) !important; }\n\n.mdl-color--amber-400 {\n background-color: rgb(255,202,40) !important; }\n\n.mdl-color-text--amber-500 {\n color: rgb(255,193,7) !important; }\n\n.mdl-color--amber-500 {\n background-color: rgb(255,193,7) !important; }\n\n.mdl-color-text--amber-600 {\n color: rgb(255,179,0) !important; }\n\n.mdl-color--amber-600 {\n background-color: rgb(255,179,0) !important; }\n\n.mdl-color-text--amber-700 {\n color: rgb(255,160,0) !important; }\n\n.mdl-color--amber-700 {\n background-color: rgb(255,160,0) !important; }\n\n.mdl-color-text--amber-800 {\n color: rgb(255,143,0) !important; }\n\n.mdl-color--amber-800 {\n background-color: rgb(255,143,0) !important; }\n\n.mdl-color-text--amber-900 {\n color: rgb(255,111,0) !important; }\n\n.mdl-color--amber-900 {\n background-color: rgb(255,111,0) !important; }\n\n.mdl-color-text--amber-A100 {\n color: rgb(255,229,127) !important; }\n\n.mdl-color--amber-A100 {\n background-color: rgb(255,229,127) !important; }\n\n.mdl-color-text--amber-A200 {\n color: rgb(255,215,64) !important; }\n\n.mdl-color--amber-A200 {\n background-color: rgb(255,215,64) !important; }\n\n.mdl-color-text--amber-A400 {\n color: rgb(255,196,0) !important; }\n\n.mdl-color--amber-A400 {\n background-color: rgb(255,196,0) !important; }\n\n.mdl-color-text--amber-A700 {\n color: rgb(255,171,0) !important; }\n\n.mdl-color--amber-A700 {\n background-color: rgb(255,171,0) !important; }\n\n.mdl-color-text--orange {\n color: rgb(255,152,0) !important; }\n\n.mdl-color--orange {\n background-color: rgb(255,152,0) !important; }\n\n.mdl-color-text--orange-50 {\n color: rgb(255,243,224) !important; }\n\n.mdl-color--orange-50 {\n background-color: rgb(255,243,224) !important; }\n\n.mdl-color-text--orange-100 {\n color: rgb(255,224,178) !important; }\n\n.mdl-color--orange-100 {\n background-color: rgb(255,224,178) !important; }\n\n.mdl-color-text--orange-200 {\n color: rgb(255,204,128) !important; }\n\n.mdl-color--orange-200 {\n background-color: rgb(255,204,128) !important; }\n\n.mdl-color-text--orange-300 {\n color: rgb(255,183,77) !important; }\n\n.mdl-color--orange-300 {\n background-color: rgb(255,183,77) !important; }\n\n.mdl-color-text--orange-400 {\n color: rgb(255,167,38) !important; }\n\n.mdl-color--orange-400 {\n background-color: rgb(255,167,38) !important; }\n\n.mdl-color-text--orange-500 {\n color: rgb(255,152,0) !important; }\n\n.mdl-color--orange-500 {\n background-color: rgb(255,152,0) !important; }\n\n.mdl-color-text--orange-600 {\n color: rgb(251,140,0) !important; }\n\n.mdl-color--orange-600 {\n background-color: rgb(251,140,0) !important; }\n\n.mdl-color-text--orange-700 {\n color: rgb(245,124,0) !important; }\n\n.mdl-color--orange-700 {\n background-color: rgb(245,124,0) !important; }\n\n.mdl-color-text--orange-800 {\n color: rgb(239,108,0) !important; }\n\n.mdl-color--orange-800 {\n background-color: rgb(239,108,0) !important; }\n\n.mdl-color-text--orange-900 {\n color: rgb(230,81,0) !important; }\n\n.mdl-color--orange-900 {\n background-color: rgb(230,81,0) !important; }\n\n.mdl-color-text--orange-A100 {\n color: rgb(255,209,128) !important; }\n\n.mdl-color--orange-A100 {\n background-color: rgb(255,209,128) !important; }\n\n.mdl-color-text--orange-A200 {\n color: rgb(255,171,64) !important; }\n\n.mdl-color--orange-A200 {\n background-color: rgb(255,171,64) !important; }\n\n.mdl-color-text--orange-A400 {\n color: rgb(255,145,0) !important; }\n\n.mdl-color--orange-A400 {\n background-color: rgb(255,145,0) !important; }\n\n.mdl-color-text--orange-A700 {\n color: rgb(255,109,0) !important; }\n\n.mdl-color--orange-A700 {\n background-color: rgb(255,109,0) !important; }\n\n.mdl-color-text--deep-orange {\n color: rgb(255,87,34) !important; }\n\n.mdl-color--deep-orange {\n background-color: rgb(255,87,34) !important; }\n\n.mdl-color-text--deep-orange-50 {\n color: rgb(251,233,231) !important; }\n\n.mdl-color--deep-orange-50 {\n background-color: rgb(251,233,231) !important; }\n\n.mdl-color-text--deep-orange-100 {\n color: rgb(255,204,188) !important; }\n\n.mdl-color--deep-orange-100 {\n background-color: rgb(255,204,188) !important; }\n\n.mdl-color-text--deep-orange-200 {\n color: rgb(255,171,145) !important; }\n\n.mdl-color--deep-orange-200 {\n background-color: rgb(255,171,145) !important; }\n\n.mdl-color-text--deep-orange-300 {\n color: rgb(255,138,101) !important; }\n\n.mdl-color--deep-orange-300 {\n background-color: rgb(255,138,101) !important; }\n\n.mdl-color-text--deep-orange-400 {\n color: rgb(255,112,67) !important; }\n\n.mdl-color--deep-orange-400 {\n background-color: rgb(255,112,67) !important; }\n\n.mdl-color-text--deep-orange-500 {\n color: rgb(255,87,34) !important; }\n\n.mdl-color--deep-orange-500 {\n background-color: rgb(255,87,34) !important; }\n\n.mdl-color-text--deep-orange-600 {\n color: rgb(244,81,30) !important; }\n\n.mdl-color--deep-orange-600 {\n background-color: rgb(244,81,30) !important; }\n\n.mdl-color-text--deep-orange-700 {\n color: rgb(230,74,25) !important; }\n\n.mdl-color--deep-orange-700 {\n background-color: rgb(230,74,25) !important; }\n\n.mdl-color-text--deep-orange-800 {\n color: rgb(216,67,21) !important; }\n\n.mdl-color--deep-orange-800 {\n background-color: rgb(216,67,21) !important; }\n\n.mdl-color-text--deep-orange-900 {\n color: rgb(191,54,12) !important; }\n\n.mdl-color--deep-orange-900 {\n background-color: rgb(191,54,12) !important; }\n\n.mdl-color-text--deep-orange-A100 {\n color: rgb(255,158,128) !important; }\n\n.mdl-color--deep-orange-A100 {\n background-color: rgb(255,158,128) !important; }\n\n.mdl-color-text--deep-orange-A200 {\n color: rgb(255,110,64) !important; }\n\n.mdl-color--deep-orange-A200 {\n background-color: rgb(255,110,64) !important; }\n\n.mdl-color-text--deep-orange-A400 {\n color: rgb(255,61,0) !important; }\n\n.mdl-color--deep-orange-A400 {\n background-color: rgb(255,61,0) !important; }\n\n.mdl-color-text--deep-orange-A700 {\n color: rgb(221,44,0) !important; }\n\n.mdl-color--deep-orange-A700 {\n background-color: rgb(221,44,0) !important; }\n\n.mdl-color-text--brown {\n color: rgb(121,85,72) !important; }\n\n.mdl-color--brown {\n background-color: rgb(121,85,72) !important; }\n\n.mdl-color-text--brown-50 {\n color: rgb(239,235,233) !important; }\n\n.mdl-color--brown-50 {\n background-color: rgb(239,235,233) !important; }\n\n.mdl-color-text--brown-100 {\n color: rgb(215,204,200) !important; }\n\n.mdl-color--brown-100 {\n background-color: rgb(215,204,200) !important; }\n\n.mdl-color-text--brown-200 {\n color: rgb(188,170,164) !important; }\n\n.mdl-color--brown-200 {\n background-color: rgb(188,170,164) !important; }\n\n.mdl-color-text--brown-300 {\n color: rgb(161,136,127) !important; }\n\n.mdl-color--brown-300 {\n background-color: rgb(161,136,127) !important; }\n\n.mdl-color-text--brown-400 {\n color: rgb(141,110,99) !important; }\n\n.mdl-color--brown-400 {\n background-color: rgb(141,110,99) !important; }\n\n.mdl-color-text--brown-500 {\n color: rgb(121,85,72) !important; }\n\n.mdl-color--brown-500 {\n background-color: rgb(121,85,72) !important; }\n\n.mdl-color-text--brown-600 {\n color: rgb(109,76,65) !important; }\n\n.mdl-color--brown-600 {\n background-color: rgb(109,76,65) !important; }\n\n.mdl-color-text--brown-700 {\n color: rgb(93,64,55) !important; }\n\n.mdl-color--brown-700 {\n background-color: rgb(93,64,55) !important; }\n\n.mdl-color-text--brown-800 {\n color: rgb(78,52,46) !important; }\n\n.mdl-color--brown-800 {\n background-color: rgb(78,52,46) !important; }\n\n.mdl-color-text--brown-900 {\n color: rgb(62,39,35) !important; }\n\n.mdl-color--brown-900 {\n background-color: rgb(62,39,35) !important; }\n\n.mdl-color-text--grey {\n color: rgb(158,158,158) !important; }\n\n.mdl-color--grey {\n background-color: rgb(158,158,158) !important; }\n\n.mdl-color-text--grey-50 {\n color: rgb(250,250,250) !important; }\n\n.mdl-color--grey-50 {\n background-color: rgb(250,250,250) !important; }\n\n.mdl-color-text--grey-100 {\n color: rgb(245,245,245) !important; }\n\n.mdl-color--grey-100 {\n background-color: rgb(245,245,245) !important; }\n\n.mdl-color-text--grey-200 {\n color: rgb(238,238,238) !important; }\n\n.mdl-color--grey-200 {\n background-color: rgb(238,238,238) !important; }\n\n.mdl-color-text--grey-300 {\n color: rgb(224,224,224) !important; }\n\n.mdl-color--grey-300 {\n background-color: rgb(224,224,224) !important; }\n\n.mdl-color-text--grey-400 {\n color: rgb(189,189,189) !important; }\n\n.mdl-color--grey-400 {\n background-color: rgb(189,189,189) !important; }\n\n.mdl-color-text--grey-500 {\n color: rgb(158,158,158) !important; }\n\n.mdl-color--grey-500 {\n background-color: rgb(158,158,158) !important; }\n\n.mdl-color-text--grey-600 {\n color: rgb(117,117,117) !important; }\n\n.mdl-color--grey-600 {\n background-color: rgb(117,117,117) !important; }\n\n.mdl-color-text--grey-700 {\n color: rgb(97,97,97) !important; }\n\n.mdl-color--grey-700 {\n background-color: rgb(97,97,97) !important; }\n\n.mdl-color-text--grey-800 {\n color: rgb(66,66,66) !important; }\n\n.mdl-color--grey-800 {\n background-color: rgb(66,66,66) !important; }\n\n.mdl-color-text--grey-900 {\n color: rgb(33,33,33) !important; }\n\n.mdl-color--grey-900 {\n background-color: rgb(33,33,33) !important; }\n\n.mdl-color-text--blue-grey {\n color: rgb(96,125,139) !important; }\n\n.mdl-color--blue-grey {\n background-color: rgb(96,125,139) !important; }\n\n.mdl-color-text--blue-grey-50 {\n color: rgb(236,239,241) !important; }\n\n.mdl-color--blue-grey-50 {\n background-color: rgb(236,239,241) !important; }\n\n.mdl-color-text--blue-grey-100 {\n color: rgb(207,216,220) !important; }\n\n.mdl-color--blue-grey-100 {\n background-color: rgb(207,216,220) !important; }\n\n.mdl-color-text--blue-grey-200 {\n color: rgb(176,190,197) !important; }\n\n.mdl-color--blue-grey-200 {\n background-color: rgb(176,190,197) !important; }\n\n.mdl-color-text--blue-grey-300 {\n color: rgb(144,164,174) !important; }\n\n.mdl-color--blue-grey-300 {\n background-color: rgb(144,164,174) !important; }\n\n.mdl-color-text--blue-grey-400 {\n color: rgb(120,144,156) !important; }\n\n.mdl-color--blue-grey-400 {\n background-color: rgb(120,144,156) !important; }\n\n.mdl-color-text--blue-grey-500 {\n color: rgb(96,125,139) !important; }\n\n.mdl-color--blue-grey-500 {\n background-color: rgb(96,125,139) !important; }\n\n.mdl-color-text--blue-grey-600 {\n color: rgb(84,110,122) !important; }\n\n.mdl-color--blue-grey-600 {\n background-color: rgb(84,110,122) !important; }\n\n.mdl-color-text--blue-grey-700 {\n color: rgb(69,90,100) !important; }\n\n.mdl-color--blue-grey-700 {\n background-color: rgb(69,90,100) !important; }\n\n.mdl-color-text--blue-grey-800 {\n color: rgb(55,71,79) !important; }\n\n.mdl-color--blue-grey-800 {\n background-color: rgb(55,71,79) !important; }\n\n.mdl-color-text--blue-grey-900 {\n color: rgb(38,50,56) !important; }\n\n.mdl-color--blue-grey-900 {\n background-color: rgb(38,50,56) !important; }\n\n.mdl-color--black {\n background-color: rgb(0,0,0) !important; }\n\n.mdl-color-text--black {\n color: rgb(0,0,0) !important; }\n\n.mdl-color--white {\n background-color: rgb(255,255,255) !important; }\n\n.mdl-color-text--white {\n color: rgb(255,255,255) !important; }\n\n.mdl-color--primary {\n background-color: rgb(63,81,181) !important; }\n\n.mdl-color--primary-contrast {\n background-color: rgb(255,255,255) !important; }\n\n.mdl-color--primary-dark {\n background-color: rgb(48,63,159) !important; }\n\n.mdl-color--accent {\n background-color: rgb(255,64,129) !important; }\n\n.mdl-color--accent-contrast {\n background-color: rgb(255,255,255) !important; }\n\n.mdl-color-text--primary {\n color: rgb(63,81,181) !important; }\n\n.mdl-color-text--primary-contrast {\n color: rgb(255,255,255) !important; }\n\n.mdl-color-text--primary-dark {\n color: rgb(48,63,159) !important; }\n\n.mdl-color-text--accent {\n color: rgb(255,64,129) !important; }\n\n.mdl-color-text--accent-contrast {\n color: rgb(255,255,255) !important; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-ripple {\n background: rgb(0,0,0);\n border-radius: 50%;\n height: 50px;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n transform: translate(-50%, -50%);\n width: 50px;\n overflow: hidden; }\n .mdl-ripple.is-animating {\n transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1); }\n .mdl-ripple.is-visible {\n opacity: 0.3; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-animation--default {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }\n\n.mdl-animation--fast-out-slow-in {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }\n\n.mdl-animation--linear-out-slow-in {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1); }\n\n.mdl-animation--fast-out-linear-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1); }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-badge {\n position: relative;\n white-space: nowrap;\n margin-right: 24px; }\n .mdl-badge:not([data-badge]) {\n margin-right: auto; }\n .mdl-badge[data-badge]:after {\n content: attr(data-badge);\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: center;\n align-content: center;\n align-items: center;\n position: absolute;\n top: -11px;\n right: -24px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-weight: 600;\n font-size: 12px;\n width: 22px;\n height: 22px;\n border-radius: 50%;\n background: rgb(255,64,129);\n color: rgb(255,255,255); }\n .mdl-button .mdl-badge[data-badge]:after {\n top: -10px;\n right: -5px; }\n .mdl-badge.mdl-badge--no-background[data-badge]:after {\n color: rgb(255,64,129);\n background: rgba(255,255,255,0.2);\n box-shadow: 0 0 1px gray; }\n .mdl-badge.mdl-badge--overlap {\n margin-right: 10px; }\n .mdl-badge.mdl-badge--overlap:after {\n right: -10px; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-button {\n background: transparent;\n border: none;\n border-radius: 2px;\n color: rgb(0,0,0);\n position: relative;\n height: 36px;\n margin: 0;\n min-width: 64px;\n padding: 0 16px;\n display: inline-block;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n overflow: hidden;\n will-change: box-shadow;\n transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n outline: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n line-height: 36px;\n vertical-align: middle; }\n .mdl-button::-moz-focus-inner {\n border: 0; }\n .mdl-button:hover {\n background-color: rgba(158,158,158, 0.20); }\n .mdl-button:focus:not(:active) {\n background-color: rgba(0,0,0, 0.12); }\n .mdl-button:active {\n background-color: rgba(158,158,158, 0.40); }\n .mdl-button.mdl-button--colored {\n color: rgb(63,81,181); }\n .mdl-button.mdl-button--colored:focus:not(:active) {\n background-color: rgba(0,0,0, 0.12); }\n\ninput.mdl-button[type=\"submit\"] {\n -webkit-appearance: none; }\n\n.mdl-button--raised {\n background: rgba(158,158,158, 0.20);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n .mdl-button--raised:active {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);\n background-color: rgba(158,158,158, 0.40); }\n .mdl-button--raised:focus:not(:active) {\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36);\n background-color: rgba(158,158,158, 0.40); }\n .mdl-button--raised.mdl-button--colored {\n background: rgb(63,81,181);\n color: rgb(255,255,255); }\n .mdl-button--raised.mdl-button--colored:hover {\n background-color: rgb(63,81,181); }\n .mdl-button--raised.mdl-button--colored:active {\n background-color: rgb(63,81,181); }\n .mdl-button--raised.mdl-button--colored:focus:not(:active) {\n background-color: rgb(63,81,181); }\n .mdl-button--raised.mdl-button--colored .mdl-ripple {\n background: rgb(255,255,255); }\n\n.mdl-button--fab {\n border-radius: 50%;\n font-size: 24px;\n height: 56px;\n margin: auto;\n min-width: 56px;\n width: 56px;\n padding: 0;\n overflow: hidden;\n background: rgba(158,158,158, 0.20);\n box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24);\n position: relative;\n line-height: normal; }\n .mdl-button--fab .material-icons {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-12px, -12px);\n line-height: 24px;\n width: 24px; }\n .mdl-button--fab.mdl-button--mini-fab {\n height: 40px;\n min-width: 40px;\n width: 40px; }\n .mdl-button--fab .mdl-button__ripple-container {\n border-radius: 50%;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black); }\n .mdl-button--fab:active {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);\n background-color: rgba(158,158,158, 0.40); }\n .mdl-button--fab:focus:not(:active) {\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36);\n background-color: rgba(158,158,158, 0.40); }\n .mdl-button--fab.mdl-button--colored {\n background: rgb(255,64,129);\n color: rgb(255,255,255); }\n .mdl-button--fab.mdl-button--colored:hover {\n background-color: rgb(255,64,129); }\n .mdl-button--fab.mdl-button--colored:focus:not(:active) {\n background-color: rgb(255,64,129); }\n .mdl-button--fab.mdl-button--colored:active {\n background-color: rgb(255,64,129); }\n .mdl-button--fab.mdl-button--colored .mdl-ripple {\n background: rgb(255,255,255); }\n\n.mdl-button--icon {\n border-radius: 50%;\n font-size: 24px;\n height: 32px;\n margin-left: 0;\n margin-right: 0;\n min-width: 32px;\n width: 32px;\n padding: 0;\n overflow: hidden;\n color: inherit;\n line-height: normal; }\n .mdl-button--icon .material-icons {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-12px, -12px);\n line-height: 24px;\n width: 24px; }\n .mdl-button--icon.mdl-button--mini-icon {\n height: 24px;\n min-width: 24px;\n width: 24px; }\n .mdl-button--icon.mdl-button--mini-icon .material-icons {\n top: 0px;\n left: 0px; }\n .mdl-button--icon .mdl-button__ripple-container {\n border-radius: 50%;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black); }\n\n.mdl-button__ripple-container {\n display: block;\n height: 100%;\n left: 0px;\n position: absolute;\n top: 0px;\n width: 100%;\n z-index: 0;\n overflow: hidden; }\n .mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple,\n .mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple {\n background-color: transparent; }\n\n.mdl-button--primary.mdl-button--primary {\n color: rgb(63,81,181); }\n .mdl-button--primary.mdl-button--primary .mdl-ripple {\n background: rgb(255,255,255); }\n .mdl-button--primary.mdl-button--primary.mdl-button--raised, .mdl-button--primary.mdl-button--primary.mdl-button--fab {\n color: rgb(255,255,255);\n background-color: rgb(63,81,181); }\n\n.mdl-button--accent.mdl-button--accent {\n color: rgb(255,64,129); }\n .mdl-button--accent.mdl-button--accent .mdl-ripple {\n background: rgb(255,255,255); }\n .mdl-button--accent.mdl-button--accent.mdl-button--raised, .mdl-button--accent.mdl-button--accent.mdl-button--fab {\n color: rgb(255,255,255);\n background-color: rgb(255,64,129); }\n\n.mdl-button[disabled][disabled], .mdl-button.mdl-button--disabled.mdl-button--disabled {\n color: rgba(0,0,0, 0.26);\n cursor: default;\n background-color: transparent; }\n\n.mdl-button--fab[disabled][disabled], .mdl-button--fab.mdl-button--disabled.mdl-button--disabled {\n background-color: rgba(0,0,0, 0.12);\n color: rgba(0,0,0, 0.26); }\n\n.mdl-button--raised[disabled][disabled], .mdl-button--raised.mdl-button--disabled.mdl-button--disabled {\n background-color: rgba(0,0,0, 0.12);\n color: rgba(0,0,0, 0.26);\n box-shadow: none; }\n\n.mdl-button--colored[disabled][disabled], .mdl-button--colored.mdl-button--disabled.mdl-button--disabled {\n color: rgba(0,0,0, 0.26); }\n\n.mdl-button .material-icons {\n vertical-align: middle; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-card {\n display: flex;\n flex-direction: column;\n font-size: 16px;\n font-weight: 400;\n min-height: 200px;\n overflow: hidden;\n width: 330px;\n z-index: 1;\n position: relative;\n background: rgb(255,255,255);\n border-radius: 2px;\n box-sizing: border-box; }\n\n.mdl-card__media {\n background-color: rgb(255,64,129);\n background-repeat: repeat;\n background-position: 50% 50%;\n background-size: cover;\n background-origin: padding-box;\n background-attachment: scroll;\n box-sizing: border-box; }\n\n.mdl-card__title {\n align-items: center;\n color: rgb(0,0,0);\n display: block;\n display: flex;\n justify-content: stretch;\n line-height: normal;\n padding: 16px 16px;\n perspective-origin: 165px 56px;\n transform-origin: 165px 56px;\n box-sizing: border-box; }\n .mdl-card__title.mdl-card--border {\n border-bottom: 1px solid rgba(0, 0, 0, 0.1); }\n\n.mdl-card__title-text {\n align-self: flex-end;\n color: inherit;\n display: block;\n display: flex;\n font-size: 24px;\n font-weight: 300;\n line-height: normal;\n overflow: hidden;\n transform-origin: 149px 48px;\n margin: 0; }\n\n.mdl-card__subtitle-text {\n font-size: 14px;\n color: rgba(0,0,0, 0.54);\n margin: 0; }\n\n.mdl-card__supporting-text {\n color: rgba(0,0,0, 0.54);\n font-size: 1rem;\n line-height: 18px;\n overflow: hidden;\n padding: 16px 16px;\n width: 90%; }\n .mdl-card__supporting-text.mdl-card--border {\n border-bottom: 1px solid rgba(0, 0, 0, 0.1); }\n\n.mdl-card__actions {\n font-size: 16px;\n line-height: normal;\n width: 100%;\n background-color: transparent;\n padding: 8px;\n box-sizing: border-box; }\n .mdl-card__actions.mdl-card--border {\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\n\n.mdl-card--expand {\n flex-grow: 1; }\n\n.mdl-card__menu {\n position: absolute;\n right: 16px;\n top: 16px; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-checkbox {\n position: relative;\n z-index: 1;\n vertical-align: middle;\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n height: 24px;\n margin: 0;\n padding: 0; }\n .mdl-checkbox.is-upgraded {\n padding-left: 24px; }\n\n.mdl-checkbox__input {\n line-height: 24px; }\n .mdl-checkbox.is-upgraded .mdl-checkbox__input {\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none; }\n\n.mdl-checkbox__box-outline {\n position: absolute;\n top: 3px;\n left: 0;\n display: inline-block;\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n margin: 0;\n cursor: pointer;\n overflow: hidden;\n border: 2px solid rgba(0,0,0, 0.54);\n border-radius: 2px;\n z-index: 2; }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border: 2px solid rgb(63,81,181); }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border: 2px solid rgba(0,0,0, 0.26);\n cursor: auto; }\n\n.mdl-checkbox__focus-helper {\n position: absolute;\n top: 3px;\n left: 0;\n display: inline-block;\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background-color: transparent; }\n .mdl-checkbox.is-focused .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0px 8px rgba(0, 0, 0, 0.1);\n background-color: rgba(0, 0, 0, 0.1); }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0px 8px rgba(63,81,181, 0.26);\n background-color: rgba(63,81,181, 0.26); }\n\n.mdl-checkbox__tick-outline {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n mask: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==\");\n background: transparent;\n transition-duration: 0.28s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-property: background; }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background: rgb(63,81,181) url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\"); }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background: rgba(0,0,0, 0.26) url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\"); }\n\n.mdl-checkbox__label {\n position: relative;\n cursor: pointer;\n font-size: 16px;\n line-height: 24px;\n margin: 0; }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: rgba(0,0,0, 0.26);\n cursor: auto; }\n\n.mdl-checkbox__ripple-container {\n position: absolute;\n z-index: 2;\n top: -6px;\n left: -10px;\n box-sizing: border-box;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n cursor: pointer;\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black); }\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: rgb(63,81,181); }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container {\n cursor: auto; }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-chip {\n height: 32px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 32px;\n padding: 0 12px;\n border: 0;\n border-radius: 16px;\n background-color: #dedede;\n display: inline-block;\n color: rgba(0,0,0, 0.87);\n margin: 2px 0;\n font-size: 0;\n white-space: nowrap; }\n .mdl-chip__text {\n font-size: 13px;\n vertical-align: middle;\n display: inline-block; }\n .mdl-chip__action {\n height: 24px;\n width: 24px;\n background: transparent;\n opacity: 0.54;\n display: inline-block;\n cursor: pointer;\n text-align: center;\n vertical-align: middle;\n padding: 0;\n margin: 0 0 0 4px;\n font-size: 13px;\n text-decoration: none;\n color: rgba(0,0,0, 0.87);\n border: none;\n outline: none;\n overflow: hidden; }\n .mdl-chip__contact {\n height: 32px;\n width: 32px;\n border-radius: 16px;\n display: inline-block;\n vertical-align: middle;\n margin-right: 8px;\n overflow: hidden;\n text-align: center;\n font-size: 18px;\n line-height: 32px; }\n .mdl-chip:focus {\n outline: 0;\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n .mdl-chip:active {\n background-color: #d6d6d6; }\n .mdl-chip--deletable {\n padding-right: 4px; }\n .mdl-chip--contact {\n padding-left: 0; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-data-table {\n position: relative;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-collapse: collapse;\n white-space: nowrap;\n font-size: 13px;\n background-color: rgb(255,255,255); }\n .mdl-data-table thead {\n padding-bottom: 3px; }\n .mdl-data-table thead .mdl-data-table__select {\n margin-top: 0; }\n .mdl-data-table tbody tr {\n position: relative;\n height: 48px;\n transition-duration: 0.28s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-property: background-color; }\n .mdl-data-table tbody tr.is-selected {\n background-color: #e0e0e0; }\n .mdl-data-table tbody tr:hover {\n background-color: #eeeeee; }\n .mdl-data-table td, .mdl-data-table th {\n padding: 0 18px 12px 18px;\n text-align: right; }\n .mdl-data-table td:first-of-type, .mdl-data-table th:first-of-type {\n padding-left: 24px; }\n .mdl-data-table td:last-of-type, .mdl-data-table th:last-of-type {\n padding-right: 24px; }\n .mdl-data-table td {\n position: relative;\n vertical-align: middle;\n height: 48px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n padding-top: 12px;\n box-sizing: border-box; }\n .mdl-data-table td .mdl-data-table__select {\n vertical-align: middle; }\n .mdl-data-table th {\n position: relative;\n vertical-align: bottom;\n text-overflow: ellipsis;\n font-size: 14px;\n font-weight: bold;\n line-height: 24px;\n letter-spacing: 0;\n height: 48px;\n font-size: 12px;\n color: rgba(0, 0, 0, 0.54);\n padding-bottom: 8px;\n box-sizing: border-box; }\n .mdl-data-table th.mdl-data-table__header--sorted-ascending, .mdl-data-table th.mdl-data-table__header--sorted-descending {\n color: rgba(0, 0, 0, 0.87); }\n .mdl-data-table th.mdl-data-table__header--sorted-ascending:before, .mdl-data-table th.mdl-data-table__header--sorted-descending:before {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n font-feature-settings: 'liga';\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-size: 16px;\n content: \"\\e5d8\";\n margin-right: 5px;\n vertical-align: sub; }\n .mdl-data-table th.mdl-data-table__header--sorted-ascending:hover, .mdl-data-table th.mdl-data-table__header--sorted-descending:hover {\n cursor: pointer; }\n .mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before, .mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before {\n color: rgba(0, 0, 0, 0.26); }\n .mdl-data-table th.mdl-data-table__header--sorted-descending:before {\n content: \"\\e5db\"; }\n\n.mdl-data-table__select {\n width: 16px; }\n\n.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric {\n text-align: left; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-dialog {\n border: none;\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);\n width: 280px; }\n .mdl-dialog__title {\n padding: 24px 24px 0;\n margin: 0;\n font-size: 2.5rem; }\n .mdl-dialog__actions {\n padding: 8px 8px 8px 24px;\n display: flex;\n flex-direction: row-reverse;\n flex-wrap: wrap; }\n .mdl-dialog__actions > * {\n margin-right: 8px;\n height: 36px; }\n .mdl-dialog__actions > *:first-child {\n margin-right: 0; }\n .mdl-dialog__actions--full-width {\n padding: 0 0 8px 0; }\n .mdl-dialog__actions--full-width > * {\n height: 48px;\n flex: 0 0 100%;\n padding-right: 16px;\n margin-right: 0;\n text-align: right; }\n .mdl-dialog__content {\n padding: 20px 24px 24px 24px;\n color: rgba(0,0,0, 0.54); }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-mega-footer {\n padding: 16px 40px;\n color: rgb(158,158,158);\n background-color: rgb(66,66,66); }\n\n.mdl-mega-footer--top-section:after,\n.mdl-mega-footer--middle-section:after,\n.mdl-mega-footer--bottom-section:after,\n.mdl-mega-footer__top-section:after,\n.mdl-mega-footer__middle-section:after,\n.mdl-mega-footer__bottom-section:after {\n content: '';\n display: block;\n clear: both; }\n\n.mdl-mega-footer--left-section,\n.mdl-mega-footer__left-section {\n margin-bottom: 16px; }\n\n.mdl-mega-footer--right-section,\n.mdl-mega-footer__right-section {\n margin-bottom: 16px; }\n\n.mdl-mega-footer--right-section a,\n.mdl-mega-footer__right-section a {\n display: block;\n margin-bottom: 16px;\n color: inherit;\n text-decoration: none; }\n\n@media screen and (min-width: 760px) {\n .mdl-mega-footer--left-section,\n .mdl-mega-footer__left-section {\n float: left; }\n .mdl-mega-footer--right-section,\n .mdl-mega-footer__right-section {\n float: right; }\n .mdl-mega-footer--right-section a,\n .mdl-mega-footer__right-section a {\n display: inline-block;\n margin-left: 16px;\n line-height: 36px;\n vertical-align: middle; } }\n\n.mdl-mega-footer--social-btn,\n.mdl-mega-footer__social-btn {\n width: 36px;\n height: 36px;\n padding: 0;\n margin: 0;\n background-color: rgb(158,158,158);\n border: none; }\n\n.mdl-mega-footer--drop-down-section,\n.mdl-mega-footer__drop-down-section {\n display: block;\n position: relative; }\n\n@media screen and (min-width: 760px) {\n .mdl-mega-footer--drop-down-section,\n .mdl-mega-footer__drop-down-section {\n width: 33%; }\n .mdl-mega-footer--drop-down-section:nth-child(1),\n .mdl-mega-footer--drop-down-section:nth-child(2),\n .mdl-mega-footer__drop-down-section:nth-child(1),\n .mdl-mega-footer__drop-down-section:nth-child(2) {\n float: left; }\n .mdl-mega-footer--drop-down-section:nth-child(3),\n .mdl-mega-footer__drop-down-section:nth-child(3) {\n float: right; }\n .mdl-mega-footer--drop-down-section:nth-child(3):after,\n .mdl-mega-footer__drop-down-section:nth-child(3):after {\n clear: right; }\n .mdl-mega-footer--drop-down-section:nth-child(4),\n .mdl-mega-footer__drop-down-section:nth-child(4) {\n clear: right;\n float: right; }\n .mdl-mega-footer--middle-section:after,\n .mdl-mega-footer__middle-section:after {\n content: '';\n display: block;\n clear: both; }\n .mdl-mega-footer--bottom-section,\n .mdl-mega-footer__bottom-section {\n padding-top: 0; } }\n\n@media screen and (min-width: 1024px) {\n .mdl-mega-footer--drop-down-section,\n .mdl-mega-footer--drop-down-section:nth-child(3),\n .mdl-mega-footer--drop-down-section:nth-child(4),\n .mdl-mega-footer__drop-down-section,\n .mdl-mega-footer__drop-down-section:nth-child(3),\n .mdl-mega-footer__drop-down-section:nth-child(4) {\n width: 24%;\n float: left; } }\n\n.mdl-mega-footer--heading-checkbox,\n.mdl-mega-footer__heading-checkbox {\n position: absolute;\n width: 100%;\n height: 55.8px;\n padding: 32px;\n margin: 0;\n margin-top: -16px;\n cursor: pointer;\n z-index: 1;\n opacity: 0; }\n .mdl-mega-footer--heading-checkbox + .mdl-mega-footer--heading:after,\n .mdl-mega-footer--heading-checkbox + .mdl-mega-footer__heading:after,\n .mdl-mega-footer__heading-checkbox + .mdl-mega-footer--heading:after,\n .mdl-mega-footer__heading-checkbox + .mdl-mega-footer__heading:after {\n font-family: 'Material Icons';\n content: '\\E5CE'; }\n\n.mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--link-list,\n.mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer__link-list,\n.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list,\n.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list,\n.mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer--link-list,\n.mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer__link-list,\n.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list,\n.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list {\n display: none; }\n\n.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading:after,\n.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading:after,\n.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading:after,\n.mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading:after {\n font-family: 'Material Icons';\n content: '\\E5CF'; }\n\n.mdl-mega-footer--heading,\n.mdl-mega-footer__heading {\n position: relative;\n width: 100%;\n padding-right: 39.8px;\n margin-bottom: 16px;\n box-sizing: border-box;\n font-size: 14px;\n line-height: 23.8px;\n font-weight: 500;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n color: rgb(224,224,224); }\n\n.mdl-mega-footer--heading:after,\n.mdl-mega-footer__heading:after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 23.8px;\n height: 23.8px;\n background-size: cover; }\n\n.mdl-mega-footer--link-list,\n.mdl-mega-footer__link-list {\n list-style: none;\n margin: 0;\n padding: 0;\n margin-bottom: 32px; }\n .mdl-mega-footer--link-list:after,\n .mdl-mega-footer__link-list:after {\n clear: both;\n display: block;\n content: ''; }\n\n.mdl-mega-footer--link-list li,\n.mdl-mega-footer__link-list li {\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n line-height: 20px; }\n\n.mdl-mega-footer--link-list a,\n.mdl-mega-footer__link-list a {\n color: inherit;\n text-decoration: none;\n white-space: nowrap; }\n\n@media screen and (min-width: 760px) {\n .mdl-mega-footer--heading-checkbox,\n .mdl-mega-footer__heading-checkbox {\n display: none; }\n .mdl-mega-footer--heading-checkbox + .mdl-mega-footer--heading:after,\n .mdl-mega-footer--heading-checkbox + .mdl-mega-footer__heading:after,\n .mdl-mega-footer__heading-checkbox + .mdl-mega-footer--heading:after,\n .mdl-mega-footer__heading-checkbox + .mdl-mega-footer__heading:after {\n content: ''; }\n .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--link-list,\n .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer__link-list,\n .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list,\n .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list,\n .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer--link-list,\n .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer__link-list,\n .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list,\n .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list {\n display: block; }\n .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading:after,\n .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading:after,\n .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading:after,\n .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading:after {\n content: ''; } }\n\n.mdl-mega-footer--bottom-section,\n.mdl-mega-footer__bottom-section {\n padding-top: 16px;\n margin-bottom: 16px; }\n\n.mdl-logo {\n margin-bottom: 16px;\n color: white; }\n\n.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li,\n.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li {\n float: left;\n margin-bottom: 0;\n margin-right: 16px; }\n\n@media screen and (min-width: 760px) {\n .mdl-logo {\n float: left;\n margin-bottom: 0;\n margin-right: 16px; } }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-mini-footer {\n display: flex;\n flex-flow: row wrap;\n justify-content: space-between;\n padding: 32px 16px;\n color: rgb(158,158,158);\n background-color: rgb(66,66,66); }\n .mdl-mini-footer:after {\n content: '';\n display: block; }\n .mdl-mini-footer .mdl-logo {\n line-height: 36px; }\n\n.mdl-mini-footer--link-list,\n.mdl-mini-footer__link-list {\n display: flex;\n flex-flow: row nowrap;\n list-style: none;\n margin: 0;\n padding: 0; }\n .mdl-mini-footer--link-list li,\n .mdl-mini-footer__link-list li {\n margin-bottom: 0;\n margin-right: 16px; }\n @media screen and (min-width: 760px) {\n .mdl-mini-footer--link-list li,\n .mdl-mini-footer__link-list li {\n line-height: 36px; } }\n .mdl-mini-footer--link-list a,\n .mdl-mini-footer__link-list a {\n color: inherit;\n text-decoration: none;\n white-space: nowrap; }\n\n.mdl-mini-footer--left-section,\n.mdl-mini-footer__left-section {\n display: inline-block;\n order: 0; }\n\n.mdl-mini-footer--right-section,\n.mdl-mini-footer__right-section {\n display: inline-block;\n order: 1; }\n\n.mdl-mini-footer--social-btn,\n.mdl-mini-footer__social-btn {\n width: 36px;\n height: 36px;\n padding: 0;\n margin: 0;\n background-color: rgb(158,158,158);\n border: none; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-icon-toggle {\n position: relative;\n z-index: 1;\n vertical-align: middle;\n display: inline-block;\n height: 32px;\n margin: 0;\n padding: 0; }\n\n.mdl-icon-toggle__input {\n line-height: 32px; }\n .mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input {\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none; }\n\n.mdl-icon-toggle__label {\n display: inline-block;\n position: relative;\n cursor: pointer;\n height: 32px;\n width: 32px;\n min-width: 32px;\n color: rgb(97,97,97);\n border-radius: 50%;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: center;\n background-color: transparent;\n will-change: background-color;\n transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); }\n .mdl-icon-toggle__label.material-icons {\n line-height: 32px;\n font-size: 24px; }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: rgb(63,81,181); }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: rgba(0,0,0, 0.26);\n cursor: auto;\n transition: none; }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: rgba(0,0,0, 0.12); }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: rgba(63,81,181, 0.26); }\n\n.mdl-icon-toggle__ripple-container {\n position: absolute;\n z-index: 2;\n top: -2px;\n left: -2px;\n box-sizing: border-box;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n cursor: pointer;\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black); }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: rgb(97,97,97); }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container {\n cursor: auto; }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-list {\n display: block;\n padding: 8px 0;\n list-style: none; }\n\n.mdl-list__item {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n line-height: 1;\n display: flex;\n min-height: 48px;\n box-sizing: border-box;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n padding: 16px;\n cursor: default;\n color: rgba(0,0,0, 0.87);\n overflow: hidden; }\n .mdl-list__item .mdl-list__item-primary-content {\n order: 0;\n flex-grow: 2;\n text-decoration: none;\n box-sizing: border-box;\n display: flex;\n align-items: center; }\n .mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon {\n margin-right: 32px; }\n .mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar {\n margin-right: 16px; }\n .mdl-list__item .mdl-list__item-secondary-content {\n display: flex;\n flex-flow: column;\n align-items: flex-end;\n margin-left: 16px; }\n .mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label {\n display: inline; }\n .mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info {\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n color: rgba(0,0,0, 0.54); }\n .mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header {\n padding: 0 0 0 16px; }\n\n.mdl-list__item-icon,\n.mdl-list__item-icon.material-icons {\n height: 24px;\n width: 24px;\n font-size: 24px;\n box-sizing: border-box;\n color: rgb(117,117,117); }\n\n.mdl-list__item-avatar,\n.mdl-list__item-avatar.material-icons {\n height: 40px;\n width: 40px;\n box-sizing: border-box;\n border-radius: 50%;\n background-color: rgb(117,117,117);\n font-size: 40px;\n color: white; }\n\n.mdl-list__item--two-line {\n height: 72px; }\n .mdl-list__item--two-line .mdl-list__item-primary-content {\n height: 36px;\n line-height: 20px;\n display: block; }\n .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar {\n float: left; }\n .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon {\n float: left;\n margin-top: 6px; }\n .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content {\n height: 36px; }\n .mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title {\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n line-height: 18px;\n color: rgba(0,0,0, 0.54);\n display: block;\n padding: 0; }\n\n.mdl-list__item--three-line {\n height: 88px; }\n .mdl-list__item--three-line .mdl-list__item-primary-content {\n height: 52px;\n line-height: 20px;\n display: block; }\n .mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar,\n .mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon {\n float: left; }\n .mdl-list__item--three-line .mdl-list__item-secondary-content {\n height: 52px; }\n .mdl-list__item--three-line .mdl-list__item-text-body {\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n line-height: 18px;\n height: 52px;\n color: rgba(0,0,0, 0.54);\n display: block;\n padding: 0; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-menu__container {\n display: block;\n margin: 0;\n padding: 0;\n border: none;\n position: absolute;\n overflow: visible;\n height: 0;\n width: 0;\n visibility: hidden;\n z-index: -1; }\n .mdl-menu__container.is-visible, .mdl-menu__container.is-animating {\n z-index: 999;\n visibility: visible; }\n\n.mdl-menu__outline {\n display: block;\n background: rgb(255,255,255);\n margin: 0;\n padding: 0;\n border: none;\n border-radius: 2px;\n position: absolute;\n top: 0;\n left: 0;\n overflow: hidden;\n opacity: 0;\n transform: scale(0);\n transform-origin: 0 0;\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n will-change: transform;\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n z-index: -1; }\n .mdl-menu__container.is-visible .mdl-menu__outline {\n opacity: 1;\n transform: scale(1);\n z-index: 999; }\n .mdl-menu__outline.mdl-menu--bottom-right {\n transform-origin: 100% 0; }\n .mdl-menu__outline.mdl-menu--top-left {\n transform-origin: 0 100%; }\n .mdl-menu__outline.mdl-menu--top-right {\n transform-origin: 100% 100%; }\n\n.mdl-menu {\n position: absolute;\n list-style: none;\n top: 0;\n left: 0;\n height: auto;\n width: auto;\n min-width: 124px;\n padding: 8px 0;\n margin: 0;\n opacity: 0;\n clip: rect(0 0 0 0);\n z-index: -1; }\n .mdl-menu__container.is-visible .mdl-menu {\n opacity: 1;\n z-index: 999; }\n .mdl-menu.is-animating {\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), clip 0.3s cubic-bezier(0.4, 0, 0.2, 1); }\n .mdl-menu.mdl-menu--bottom-right {\n left: auto;\n right: 0; }\n .mdl-menu.mdl-menu--top-left {\n top: auto;\n bottom: 0; }\n .mdl-menu.mdl-menu--top-right {\n top: auto;\n left: auto;\n bottom: 0;\n right: 0; }\n .mdl-menu.mdl-menu--unaligned {\n top: auto;\n left: auto; }\n\n.mdl-menu__item {\n display: block;\n border: none;\n color: rgba(0,0,0, 0.87);\n background-color: transparent;\n text-align: left;\n margin: 0;\n padding: 0 16px;\n outline-color: rgb(189,189,189);\n position: relative;\n overflow: hidden;\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n text-decoration: none;\n cursor: pointer;\n height: 48px;\n line-height: 48px;\n white-space: nowrap;\n opacity: 0;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n user-select: none; }\n .mdl-menu__container.is-visible .mdl-menu__item {\n opacity: 1; }\n .mdl-menu__item::-moz-focus-inner {\n border: 0; }\n .mdl-menu__item--full-bleed-divider {\n border-bottom: 1px solid rgba(0,0,0, 0.12); }\n .mdl-menu__item[disabled], .mdl-menu__item[data-mdl-disabled] {\n color: rgb(189,189,189);\n background-color: transparent;\n cursor: auto; }\n .mdl-menu__item[disabled]:hover, .mdl-menu__item[data-mdl-disabled]:hover {\n background-color: transparent; }\n .mdl-menu__item[disabled]:focus, .mdl-menu__item[data-mdl-disabled]:focus {\n background-color: transparent; }\n .mdl-menu__item[disabled] .mdl-ripple, .mdl-menu__item[data-mdl-disabled] .mdl-ripple {\n background: transparent; }\n .mdl-menu__item:hover {\n background-color: rgb(238,238,238); }\n .mdl-menu__item:focus {\n outline: none;\n background-color: rgb(238,238,238); }\n .mdl-menu__item:active {\n background-color: rgb(224,224,224); }\n\n.mdl-menu__item--ripple-container {\n display: block;\n height: 100%;\n left: 0px;\n position: absolute;\n top: 0px;\n width: 100%;\n z-index: 0;\n overflow: hidden; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-progress {\n display: block;\n position: relative;\n height: 4px;\n width: 500px;\n max-width: 100%; }\n\n.mdl-progress > .bar {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 0%;\n transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1); }\n\n.mdl-progress > .progressbar {\n background-color: rgb(63,81,181);\n z-index: 1;\n left: 0; }\n\n.mdl-progress > .bufferbar {\n background-image: linear-gradient(to right, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181));\n z-index: 0;\n left: 0; }\n\n.mdl-progress > .auxbar {\n right: 0; }\n\n@supports (-webkit-appearance: none) {\n .mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate) > .auxbar,\n .mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate) > .auxbar {\n background-image: linear-gradient(to right, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181));\n mask: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=\"); } }\n\n.mdl-progress:not(.mdl-progress--indeterminate) > .auxbar,\n.mdl-progress:not(.mdl-progress__indeterminate) > .auxbar {\n background-image: linear-gradient(to right, rgba(255,255,255, 0.9), rgba(255,255,255, 0.9)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181)); }\n\n.mdl-progress.mdl-progress--indeterminate > .bar1,\n.mdl-progress.mdl-progress__indeterminate > .bar1 {\n background-color: rgb(63,81,181);\n animation-name: indeterminate1;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n animation-timing-function: linear; }\n\n.mdl-progress.mdl-progress--indeterminate > .bar3,\n.mdl-progress.mdl-progress__indeterminate > .bar3 {\n background-image: none;\n background-color: rgb(63,81,181);\n animation-name: indeterminate2;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n animation-timing-function: linear; }\n\n@keyframes indeterminate1 {\n 0% {\n left: 0%;\n width: 0%; }\n 50% {\n left: 25%;\n width: 75%; }\n 75% {\n left: 100%;\n width: 0%; } }\n\n@keyframes indeterminate2 {\n 0% {\n left: 0%;\n width: 0%; }\n 50% {\n left: 0%;\n width: 0%; }\n 75% {\n left: 0%;\n width: 25%; }\n 100% {\n left: 100%;\n width: 0%; } }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-navigation {\n display: flex;\n flex-wrap: nowrap;\n box-sizing: border-box; }\n\n.mdl-navigation__link {\n color: rgb(66,66,66);\n text-decoration: none;\n margin: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n opacity: 0.87; }\n .mdl-navigation__link .material-icons {\n vertical-align: middle; }\n\n.mdl-layout {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n -webkit-overflow-scrolling: touch; }\n\n.mdl-layout.is-small-screen .mdl-layout--large-screen-only {\n display: none; }\n\n.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only {\n display: none; }\n\n.mdl-layout__container {\n position: absolute;\n width: 100%;\n height: 100%; }\n\n.mdl-layout__title,\n.mdl-layout-title {\n display: block;\n position: relative;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n font-weight: 400;\n box-sizing: border-box; }\n\n.mdl-layout-spacer {\n flex-grow: 1; }\n\n.mdl-layout__drawer {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: 240px;\n height: 100%;\n max-height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-sizing: border-box;\n border-right: 1px solid rgb(224,224,224);\n background: rgb(250,250,250);\n transform: translateX(-250px);\n transform-style: preserve-3d;\n will-change: transform;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-property: transform;\n color: rgb(66,66,66);\n overflow: visible;\n overflow-y: auto;\n z-index: 5; }\n .mdl-layout__drawer.is-visible {\n transform: translateX(0); }\n .mdl-layout__drawer.is-visible ~ .mdl-layout__content.mdl-layout__content {\n overflow: hidden; }\n .mdl-layout__drawer > * {\n flex-shrink: 0; }\n .mdl-layout__drawer > .mdl-layout__title,\n .mdl-layout__drawer > .mdl-layout-title {\n line-height: 64px;\n padding-left: 40px; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__drawer > .mdl-layout__title,\n .mdl-layout__drawer > .mdl-layout-title {\n line-height: 56px;\n padding-left: 16px; } }\n .mdl-layout__drawer .mdl-navigation {\n flex-direction: column;\n align-items: stretch;\n padding-top: 16px; }\n .mdl-layout__drawer .mdl-navigation .mdl-navigation__link {\n display: block;\n flex-shrink: 0;\n padding: 16px 40px;\n margin: 0;\n color: #757575; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__drawer .mdl-navigation .mdl-navigation__link {\n padding: 16px 16px; } }\n .mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover {\n background-color: rgb(224,224,224); }\n .mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current {\n background-color: rgb(224,224,224);\n color: rgb(0,0,0); }\n @media screen and (min-width: 1025px) {\n .mdl-layout--fixed-drawer > .mdl-layout__drawer {\n transform: translateX(0); } }\n\n.mdl-layout__drawer-button {\n display: block;\n position: absolute;\n height: 48px;\n width: 48px;\n border: 0;\n flex-shrink: 0;\n overflow: hidden;\n text-align: center;\n cursor: pointer;\n font-size: 26px;\n line-height: 56px;\n font-family: Helvetica, Arial, sans-serif;\n margin: 8px 12px;\n top: 0;\n left: 0;\n color: rgb(255,255,255);\n z-index: 4; }\n .mdl-layout__header .mdl-layout__drawer-button {\n position: absolute;\n color: rgb(255,255,255);\n background-color: inherit; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header .mdl-layout__drawer-button {\n margin: 4px; } }\n @media screen and (max-width: 1024px) {\n .mdl-layout__drawer-button {\n margin: 4px;\n color: rgba(0, 0, 0, 0.5); } }\n @media screen and (min-width: 1025px) {\n .mdl-layout__drawer-button {\n line-height: 54px; }\n .mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button,\n .mdl-layout--fixed-drawer > .mdl-layout__drawer-button,\n .mdl-layout--no-drawer-button .mdl-layout__drawer-button {\n display: none; } }\n\n.mdl-layout__header {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n min-height: 64px;\n max-height: 1000px;\n z-index: 3;\n background-color: rgb(63,81,181);\n color: rgb(255,255,255);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-property: max-height, box-shadow; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header {\n min-height: 56px; } }\n .mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen) > .mdl-layout__header {\n margin-left: 240px;\n width: calc(100% - 240px); }\n @media screen and (min-width: 1025px) {\n .mdl-layout--fixed-drawer > .mdl-layout__header .mdl-layout__header-row {\n padding-left: 40px; } }\n .mdl-layout__header > .mdl-layout-icon {\n position: absolute;\n left: 40px;\n top: 16px;\n height: 32px;\n width: 32px;\n overflow: hidden;\n z-index: 3;\n display: block; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header > .mdl-layout-icon {\n left: 16px;\n top: 12px; } }\n .mdl-layout.has-drawer .mdl-layout__header > .mdl-layout-icon {\n display: none; }\n .mdl-layout__header.is-compact {\n max-height: 64px; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header.is-compact {\n max-height: 56px; } }\n .mdl-layout__header.is-compact.has-tabs {\n height: 112px; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header.is-compact.has-tabs {\n min-height: 104px; } }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header {\n display: none; }\n .mdl-layout--fixed-header > .mdl-layout__header {\n display: flex; } }\n\n.mdl-layout__header--transparent.mdl-layout__header--transparent {\n background-color: transparent;\n box-shadow: none; }\n\n.mdl-layout__header--seamed {\n box-shadow: none; }\n\n.mdl-layout__header--scroll {\n box-shadow: none; }\n\n.mdl-layout__header--waterfall {\n box-shadow: none;\n overflow: hidden; }\n .mdl-layout__header--waterfall.is-casting-shadow {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n .mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top {\n justify-content: flex-end; }\n\n.mdl-layout__header-row {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n flex-shrink: 0;\n box-sizing: border-box;\n align-self: stretch;\n align-items: center;\n height: 64px;\n margin: 0;\n padding: 0 40px 0 80px; }\n .mdl-layout--no-drawer-button .mdl-layout__header-row {\n padding-left: 40px; }\n @media screen and (min-width: 1025px) {\n .mdl-layout--no-desktop-drawer-button .mdl-layout__header-row {\n padding-left: 40px; } }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header-row {\n height: 56px;\n padding: 0 16px 0 72px; }\n .mdl-layout--no-drawer-button .mdl-layout__header-row {\n padding-left: 16px; } }\n .mdl-layout__header-row > * {\n flex-shrink: 0; }\n .mdl-layout__header--scroll .mdl-layout__header-row {\n width: 100%; }\n .mdl-layout__header-row .mdl-navigation {\n margin: 0;\n padding: 0;\n height: 64px;\n flex-direction: row;\n align-items: center; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header-row .mdl-navigation {\n height: 56px; } }\n .mdl-layout__header-row .mdl-navigation__link {\n display: block;\n color: rgb(255,255,255);\n line-height: 64px;\n padding: 0 24px; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__header-row .mdl-navigation__link {\n line-height: 56px;\n padding: 0 16px; } }\n\n.mdl-layout__obfuscator {\n background-color: transparent;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: 4;\n visibility: hidden;\n transition-property: background-color;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }\n .mdl-layout__obfuscator.is-visible {\n background-color: rgba(0, 0, 0, 0.5);\n visibility: visible; }\n @supports (pointer-events: auto) {\n .mdl-layout__obfuscator {\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition-property: opacity;\n visibility: visible;\n pointer-events: none; }\n .mdl-layout__obfuscator.is-visible {\n pointer-events: auto;\n opacity: 1; } }\n\n.mdl-layout__content {\n -ms-flex: 0 1 auto;\n position: relative;\n display: inline-block;\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n z-index: 1;\n -webkit-overflow-scrolling: touch; }\n .mdl-layout--fixed-drawer > .mdl-layout__content {\n margin-left: 240px; }\n .mdl-layout__container.has-scrolling-header .mdl-layout__content {\n overflow: visible; }\n @media screen and (max-width: 1024px) {\n .mdl-layout--fixed-drawer > .mdl-layout__content {\n margin-left: 0; }\n .mdl-layout__container.has-scrolling-header .mdl-layout__content {\n overflow-y: auto;\n overflow-x: hidden; } }\n\n.mdl-layout__tab-bar {\n height: 96px;\n margin: 0;\n width: calc(100% - 112px);\n padding: 0 0 0 56px;\n display: flex;\n background-color: rgb(63,81,181);\n overflow-y: hidden;\n overflow-x: scroll; }\n .mdl-layout__tab-bar::-webkit-scrollbar {\n display: none; }\n .mdl-layout--no-drawer-button .mdl-layout__tab-bar {\n padding-left: 16px;\n width: calc(100% - 32px); }\n @media screen and (min-width: 1025px) {\n .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar {\n padding-left: 16px;\n width: calc(100% - 32px); } }\n @media screen and (max-width: 1024px) {\n .mdl-layout__tab-bar {\n width: calc(100% - 60px);\n padding: 0 0 0 60px; }\n .mdl-layout--no-drawer-button .mdl-layout__tab-bar {\n width: calc(100% - 8px);\n padding-left: 4px; } }\n .mdl-layout--fixed-tabs .mdl-layout__tab-bar {\n padding: 0;\n overflow: hidden;\n width: 100%; }\n\n.mdl-layout__tab-bar-container {\n position: relative;\n height: 48px;\n width: 100%;\n border: none;\n margin: 0;\n z-index: 2;\n flex-grow: 0;\n flex-shrink: 0;\n overflow: hidden; }\n .mdl-layout__container > .mdl-layout__tab-bar-container {\n position: absolute;\n top: 0;\n left: 0; }\n\n.mdl-layout__tab-bar-button {\n display: inline-block;\n position: absolute;\n top: 0;\n height: 48px;\n width: 56px;\n z-index: 4;\n text-align: center;\n background-color: rgb(63,81,181);\n color: transparent;\n cursor: pointer;\n user-select: none; }\n .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button,\n .mdl-layout--no-drawer-button .mdl-layout__tab-bar-button {\n width: 16px; }\n .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons,\n .mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons {\n position: relative;\n left: -4px; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__tab-bar-button {\n width: 60px; } }\n .mdl-layout--fixed-tabs .mdl-layout__tab-bar-button {\n display: none; }\n .mdl-layout__tab-bar-button .material-icons {\n line-height: 48px; }\n .mdl-layout__tab-bar-button.is-active {\n color: rgb(255,255,255); }\n\n.mdl-layout__tab-bar-left-button {\n left: 0; }\n\n.mdl-layout__tab-bar-right-button {\n right: 0; }\n\n.mdl-layout__tab {\n margin: 0;\n border: none;\n padding: 0 24px 0 24px;\n float: left;\n position: relative;\n display: block;\n flex-grow: 0;\n flex-shrink: 0;\n text-decoration: none;\n height: 48px;\n line-height: 48px;\n text-align: center;\n font-weight: 500;\n font-size: 14px;\n text-transform: uppercase;\n color: rgba(255,255,255, 0.6);\n overflow: hidden; }\n @media screen and (max-width: 1024px) {\n .mdl-layout__tab {\n padding: 0 12px 0 12px; } }\n .mdl-layout--fixed-tabs .mdl-layout__tab {\n float: none;\n flex-grow: 1;\n padding: 0; }\n .mdl-layout.is-upgraded .mdl-layout__tab.is-active {\n color: rgb(255,255,255); }\n .mdl-layout.is-upgraded .mdl-layout__tab.is-active::after {\n height: 2px;\n width: 100%;\n display: block;\n content: \" \";\n bottom: 0;\n left: 0;\n position: absolute;\n background: rgb(255,64,129);\n animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0, 1, 1); }\n .mdl-layout__tab .mdl-layout__tab-ripple-container {\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n z-index: 1;\n overflow: hidden; }\n .mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple {\n background-color: rgb(255,255,255); }\n\n.mdl-layout__tab-panel {\n display: block; }\n .mdl-layout.is-upgraded .mdl-layout__tab-panel {\n display: none; }\n .mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active {\n display: block; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-radio {\n position: relative;\n font-size: 16px;\n line-height: 24px;\n display: inline-block;\n vertical-align: middle;\n box-sizing: border-box;\n height: 24px;\n margin: 0;\n padding-left: 0; }\n .mdl-radio.is-upgraded {\n padding-left: 24px; }\n\n.mdl-radio__button {\n line-height: 24px; }\n .mdl-radio.is-upgraded .mdl-radio__button {\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none; }\n\n.mdl-radio__outer-circle {\n position: absolute;\n top: 4px;\n left: 0;\n display: inline-block;\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n margin: 0;\n cursor: pointer;\n border: 2px solid rgba(0,0,0, 0.54);\n border-radius: 50%;\n z-index: 2; }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border: 2px solid rgb(63,81,181); }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border: 2px solid rgba(0,0,0, 0.26);\n cursor: auto; }\n\n.mdl-radio__inner-circle {\n position: absolute;\n z-index: 1;\n margin: 0;\n top: 8px;\n left: 4px;\n box-sizing: border-box;\n width: 8px;\n height: 8px;\n cursor: pointer;\n transition-duration: 0.28s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-property: transform;\n transform: scale(0, 0);\n border-radius: 50%;\n background: rgb(63,81,181); }\n .mdl-radio.is-checked .mdl-radio__inner-circle {\n transform: scale(1, 1); }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: rgba(0,0,0, 0.26);\n cursor: auto; }\n .mdl-radio.is-focused .mdl-radio__inner-circle {\n box-shadow: 0 0 0px 10px rgba(0, 0, 0, 0.1); }\n\n.mdl-radio__label {\n cursor: pointer; }\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: rgba(0,0,0, 0.26);\n cursor: auto; }\n\n.mdl-radio__ripple-container {\n position: absolute;\n z-index: 2;\n top: -9px;\n left: -13px;\n box-sizing: border-box;\n width: 42px;\n height: 42px;\n border-radius: 50%;\n cursor: pointer;\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black); }\n .mdl-radio__ripple-container .mdl-ripple {\n background: rgb(63,81,181); }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container,\n .mdl-radio.is-disabled .mdl-radio__ripple-container {\n cursor: auto; }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n_:-ms-input-placeholder, :root .mdl-slider.mdl-slider.is-upgraded {\n -ms-appearance: none;\n height: 32px;\n margin: 0; }\n\n.mdl-slider {\n width: calc(100% - 40px);\n margin: 0 20px; }\n .mdl-slider.is-upgraded {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 2px;\n background: transparent;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n outline: 0;\n padding: 0;\n color: rgb(63,81,181);\n align-self: center;\n z-index: 1;\n cursor: pointer;\n /**************************** Tracks ****************************/\n /**************************** Thumbs ****************************/\n /**************************** 0-value ****************************/\n /**************************** Disabled ****************************/ }\n .mdl-slider.is-upgraded::-moz-focus-outer {\n border: 0; }\n .mdl-slider.is-upgraded::-ms-tooltip {\n display: none; }\n .mdl-slider.is-upgraded::-webkit-slider-runnable-track {\n background: transparent; }\n .mdl-slider.is-upgraded::-moz-range-track {\n background: transparent;\n border: none; }\n .mdl-slider.is-upgraded::-ms-track {\n background: none;\n color: transparent;\n height: 2px;\n width: 100%;\n border: none; }\n .mdl-slider.is-upgraded::-ms-fill-lower {\n padding: 0;\n background: linear-gradient(to right, transparent, transparent 16px, rgb(63,81,181) 16px, rgb(63,81,181) 0); }\n .mdl-slider.is-upgraded::-ms-fill-upper {\n padding: 0;\n background: linear-gradient(to left, transparent, transparent 16px, rgba(0,0,0, 0.26) 16px, rgba(0,0,0, 0.26) 0); }\n .mdl-slider.is-upgraded::-webkit-slider-thumb {\n -webkit-appearance: none;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n background: rgb(63,81,181);\n border: none;\n transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); }\n .mdl-slider.is-upgraded::-moz-range-thumb {\n -moz-appearance: none;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n background-image: none;\n background: rgb(63,81,181);\n border: none; }\n .mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px rgba(63,81,181, 0.26); }\n .mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px rgba(63,81,181, 0.26); }\n .mdl-slider.is-upgraded:active::-webkit-slider-thumb {\n background-image: none;\n background: rgb(63,81,181);\n transform: scale(1.5); }\n .mdl-slider.is-upgraded:active::-moz-range-thumb {\n background-image: none;\n background: rgb(63,81,181);\n transform: scale(1.5); }\n .mdl-slider.is-upgraded::-ms-thumb {\n width: 32px;\n height: 32px;\n border: none;\n border-radius: 50%;\n background: rgb(63,81,181);\n transform: scale(0.375);\n transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); }\n .mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side, rgb(63,81,181) 0%, rgb(63,81,181) 37.5%, rgba(63,81,181, 0.26) 37.5%, rgba(63,81,181, 0.26) 100%);\n transform: scale(1); }\n .mdl-slider.is-upgraded:active::-ms-thumb {\n background: rgb(63,81,181);\n transform: scale(0.5625); }\n .mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb {\n border: 2px solid rgba(0,0,0, 0.26);\n background: transparent; }\n .mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb {\n border: 2px solid rgba(0,0,0, 0.26);\n background: transparent; }\n .mdl-slider.is-upgraded.is-lowest-value +\n.mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 6px; }\n .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px rgba(0,0,0, 0.12);\n background: rgba(0,0,0, 0.12); }\n .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px rgba(0,0,0, 0.12);\n background: rgba(0,0,0, 0.12); }\n .mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb {\n border: 1.6px solid rgba(0,0,0, 0.26);\n transform: scale(1.5); }\n .mdl-slider.is-upgraded.is-lowest-value:active +\n.mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 9px; }\n .mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb {\n border: 1.5px solid rgba(0,0,0, 0.26);\n transform: scale(1.5); }\n .mdl-slider.is-upgraded.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side, transparent 0%, transparent 66.67%, rgba(0,0,0, 0.26) 66.67%, rgba(0,0,0, 0.26) 100%); }\n .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side, rgba(0,0,0, 0.12) 0%, rgba(0,0,0, 0.12) 25%, rgba(0,0,0, 0.26) 25%, rgba(0,0,0, 0.26) 37.5%, rgba(0,0,0, 0.12) 37.5%, rgba(0,0,0, 0.12) 100%);\n transform: scale(1); }\n .mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb {\n transform: scale(0.5625);\n background: radial-gradient(circle closest-side, transparent 0%, transparent 77.78%, rgba(0,0,0, 0.26) 77.78%, rgba(0,0,0, 0.26) 100%); }\n .mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower {\n background: transparent; }\n .mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper {\n margin-left: 6px; }\n .mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper {\n margin-left: 9px; }\n .mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled::-webkit-slider-thumb {\n transform: scale(0.667);\n background: rgba(0,0,0, 0.26); }\n .mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded:disabled::-moz-range-thumb {\n transform: scale(0.667);\n background: rgba(0,0,0, 0.26); }\n .mdl-slider.is-upgraded:disabled +\n.mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: rgba(0,0,0, 0.26);\n left: -6px; }\n .mdl-slider.is-upgraded:disabled +\n.mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 6px; }\n .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb {\n border: 3px solid rgba(0,0,0, 0.26);\n background: transparent;\n transform: scale(0.667); }\n .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb {\n border: 3px solid rgba(0,0,0, 0.26);\n background: transparent;\n transform: scale(0.667); }\n .mdl-slider.is-upgraded.is-lowest-value:disabled:active +\n.mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 6px; }\n .mdl-slider.is-upgraded:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded:disabled:active::-ms-thumb, .mdl-slider.is-upgraded:disabled::-ms-thumb {\n transform: scale(0.25);\n background: rgba(0,0,0, 0.26); }\n .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb {\n transform: scale(0.25);\n background: radial-gradient(circle closest-side, transparent 0%, transparent 50%, rgba(0,0,0, 0.26) 50%, rgba(0,0,0, 0.26) 100%); }\n .mdl-slider.is-upgraded:disabled::-ms-fill-lower {\n margin-right: 6px;\n background: linear-gradient(to right, transparent, transparent 25px, rgba(0,0,0, 0.26) 25px, rgba(0,0,0, 0.26) 0); }\n .mdl-slider.is-upgraded:disabled::-ms-fill-upper {\n margin-left: 6px; }\n .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper {\n margin-left: 6px; }\n\n.mdl-slider__ie-container {\n height: 18px;\n overflow: visible;\n border: none;\n margin: none;\n padding: none; }\n\n.mdl-slider__container {\n height: 18px;\n position: relative;\n background: none;\n display: flex;\n flex-direction: row; }\n\n.mdl-slider__background-flex {\n background: transparent;\n position: absolute;\n height: 2px;\n width: calc(100% - 52px);\n top: 50%;\n left: 0;\n margin: 0 26px;\n display: flex;\n overflow: hidden;\n border: 0;\n padding: 0;\n transform: translate(0, -1px); }\n\n.mdl-slider__background-lower {\n background: rgb(63,81,181);\n flex: 0;\n position: relative;\n border: 0;\n padding: 0; }\n\n.mdl-slider__background-upper {\n background: rgba(0,0,0, 0.26);\n flex: 0;\n position: relative;\n border: 0;\n padding: 0;\n transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1); }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-snackbar {\n position: fixed;\n bottom: 0;\n left: 50%;\n cursor: default;\n background-color: #323232;\n z-index: 3;\n display: block;\n display: flex;\n justify-content: space-between;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n will-change: transform;\n transform: translate(0, 80px);\n transition: transform 0.25s cubic-bezier(0.4, 0, 1, 1);\n pointer-events: none; }\n @media (max-width: 479px) {\n .mdl-snackbar {\n width: 100%;\n left: 0;\n min-height: 48px;\n max-height: 80px; } }\n @media (min-width: 480px) {\n .mdl-snackbar {\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n transform: translate(-50%, 80px); } }\n .mdl-snackbar--active {\n transform: translate(0, 0);\n pointer-events: auto;\n transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1); }\n @media (min-width: 480px) {\n .mdl-snackbar--active {\n transform: translate(-50%, 0); } }\n .mdl-snackbar__text {\n padding: 14px 12px 14px 24px;\n vertical-align: middle;\n color: white;\n float: left; }\n .mdl-snackbar__action {\n background: transparent;\n border: none;\n color: rgb(255,64,129);\n float: right;\n text-transform: uppercase;\n padding: 14px 24px 14px 12px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n overflow: hidden;\n outline: none;\n opacity: 0;\n pointer-events: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n align-self: center; }\n .mdl-snackbar__action::-moz-focus-inner {\n border: 0; }\n .mdl-snackbar__action:not([aria-hidden]) {\n opacity: 1;\n pointer-events: auto; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-spinner {\n display: inline-block;\n position: relative;\n width: 28px;\n height: 28px; }\n .mdl-spinner:not(.is-upgraded).is-active:after {\n content: \"Loading...\"; }\n .mdl-spinner.is-upgraded.is-active {\n animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; }\n\n@keyframes mdl-spinner__container-rotate {\n to {\n transform: rotate(360deg); } }\n\n.mdl-spinner__layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0; }\n\n.mdl-spinner__layer-1 {\n border-color: rgb(66,165,245); }\n .mdl-spinner--single-color .mdl-spinner__layer-1 {\n border-color: rgb(63,81,181); }\n .mdl-spinner.is-active .mdl-spinner__layer-1 {\n animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }\n\n.mdl-spinner__layer-2 {\n border-color: rgb(244,67,54); }\n .mdl-spinner--single-color .mdl-spinner__layer-2 {\n border-color: rgb(63,81,181); }\n .mdl-spinner.is-active .mdl-spinner__layer-2 {\n animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }\n\n.mdl-spinner__layer-3 {\n border-color: rgb(253,216,53); }\n .mdl-spinner--single-color .mdl-spinner__layer-3 {\n border-color: rgb(63,81,181); }\n .mdl-spinner.is-active .mdl-spinner__layer-3 {\n animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }\n\n.mdl-spinner__layer-4 {\n border-color: rgb(76,175,80); }\n .mdl-spinner--single-color .mdl-spinner__layer-4 {\n border-color: rgb(63,81,181); }\n .mdl-spinner.is-active .mdl-spinner__layer-4 {\n animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }\n\n@keyframes mdl-spinner__fill-unfill-rotate {\n 12.5% {\n transform: rotate(135deg); }\n 25% {\n transform: rotate(270deg); }\n 37.5% {\n transform: rotate(405deg); }\n 50% {\n transform: rotate(540deg); }\n 62.5% {\n transform: rotate(675deg); }\n 75% {\n transform: rotate(810deg); }\n 87.5% {\n transform: rotate(945deg); }\n to {\n transform: rotate(1080deg); } }\n\n/**\n* HACK: Even though the intention is to have the current .mdl-spinner__layer-N\n* at `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome\n* to do proper subpixel rendering for the elements being animated. This is\n* especially visible in Chrome 39 on Ubuntu 14.04. See:\n*\n* - https://github.com/Polymer/paper-spinner/issues/9\n* - https://code.google.com/p/chromium/issues/detail?id=436255\n*/\n@keyframes mdl-spinner__layer-1-fade-in-out {\n from {\n opacity: 0.99; }\n 25% {\n opacity: 0.99; }\n 26% {\n opacity: 0; }\n 89% {\n opacity: 0; }\n 90% {\n opacity: 0.99; }\n 100% {\n opacity: 0.99; } }\n\n@keyframes mdl-spinner__layer-2-fade-in-out {\n from {\n opacity: 0; }\n 15% {\n opacity: 0; }\n 25% {\n opacity: 0.99; }\n 50% {\n opacity: 0.99; }\n 51% {\n opacity: 0; } }\n\n@keyframes mdl-spinner__layer-3-fade-in-out {\n from {\n opacity: 0; }\n 40% {\n opacity: 0; }\n 50% {\n opacity: 0.99; }\n 75% {\n opacity: 0.99; }\n 76% {\n opacity: 0; } }\n\n@keyframes mdl-spinner__layer-4-fade-in-out {\n from {\n opacity: 0; }\n 65% {\n opacity: 0; }\n 75% {\n opacity: 0.99; }\n 90% {\n opacity: 0.99; }\n 100% {\n opacity: 0; } }\n\n/**\n* Patch the gap that appear between the two adjacent\n* div.mdl-spinner__circle-clipper while the spinner is rotating\n* (appears on Chrome 38, Safari 7.1, and IE 11).\n*\n* Update: the gap no longer appears on Chrome when .mdl-spinner__layer-N's\n* opacity is 0.99, but still does on Safari and IE.\n*/\n.mdl-spinner__gap-patch {\n position: absolute;\n box-sizing: border-box;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit; }\n .mdl-spinner__gap-patch .mdl-spinner__circle {\n width: 1000%;\n left: -450%; }\n\n.mdl-spinner__circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit; }\n .mdl-spinner__circle-clipper.mdl-spinner__left {\n float: left; }\n .mdl-spinner__circle-clipper.mdl-spinner__right {\n float: right; }\n .mdl-spinner__circle-clipper .mdl-spinner__circle {\n width: 200%; }\n\n.mdl-spinner__circle {\n box-sizing: border-box;\n height: 100%;\n border-width: 3px;\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0; }\n .mdl-spinner__left .mdl-spinner__circle {\n border-right-color: transparent !important;\n transform: rotate(129deg); }\n .mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle {\n animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }\n .mdl-spinner__right .mdl-spinner__circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg); }\n .mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle {\n animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }\n\n@keyframes mdl-spinner__left-spin {\n from {\n transform: rotate(130deg); }\n 50% {\n transform: rotate(-5deg); }\n to {\n transform: rotate(130deg); } }\n\n@keyframes mdl-spinner__right-spin {\n from {\n transform: rotate(-130deg); }\n 50% {\n transform: rotate(5deg); }\n to {\n transform: rotate(-130deg); } }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-switch {\n position: relative;\n z-index: 1;\n vertical-align: middle;\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n height: 24px;\n margin: 0;\n padding: 0;\n overflow: visible;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .mdl-switch.is-upgraded {\n padding-left: 28px; }\n\n.mdl-switch__input {\n line-height: 24px; }\n .mdl-switch.is-upgraded .mdl-switch__input {\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none; }\n\n.mdl-switch__track {\n background: rgba(0,0,0, 0.26);\n position: absolute;\n left: 0;\n top: 5px;\n height: 14px;\n width: 36px;\n border-radius: 14px;\n cursor: pointer; }\n .mdl-switch.is-checked .mdl-switch__track {\n background: rgba(63,81,181, 0.5); }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: rgba(0,0,0, 0.12);\n cursor: auto; }\n\n.mdl-switch__thumb {\n background: rgb(250,250,250);\n position: absolute;\n left: 0;\n top: 2px;\n height: 20px;\n width: 20px;\n border-radius: 50%;\n cursor: pointer;\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n transition-duration: 0.28s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-property: left; }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: rgb(63,81,181);\n left: 16px;\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: rgb(189,189,189);\n cursor: auto; }\n\n.mdl-switch__focus-helper {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-4px, -4px);\n display: inline-block;\n box-sizing: border-box;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: transparent; }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n box-shadow: 0 0 0px 20px rgba(0, 0, 0, 0.1);\n background-color: rgba(0, 0, 0, 0.1); }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0px 20px rgba(63,81,181, 0.26);\n background-color: rgba(63,81,181, 0.26); }\n\n.mdl-switch__label {\n position: relative;\n cursor: pointer;\n font-size: 16px;\n line-height: 24px;\n margin: 0;\n left: 24px; }\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: rgb(189,189,189);\n cursor: auto; }\n\n.mdl-switch__ripple-container {\n position: absolute;\n z-index: 2;\n top: -12px;\n left: -14px;\n box-sizing: border-box;\n width: 48px;\n height: 48px;\n border-radius: 50%;\n cursor: pointer;\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black);\n transition-duration: 0.40s;\n transition-timing-function: step-end;\n transition-property: left; }\n .mdl-switch__ripple-container .mdl-ripple {\n background: rgb(63,81,181); }\n .mdl-switch__ripple-container fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__ripple-container {\n cursor: auto; }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent; }\n .mdl-switch.is-checked .mdl-switch__ripple-container {\n left: 2px; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-tabs {\n display: block;\n width: 100%; }\n\n.mdl-tabs__tab-bar {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-content: space-between;\n align-items: flex-start;\n height: 48px;\n padding: 0 0 0 0;\n margin: 0;\n border-bottom: 1px solid rgb(224,224,224); }\n\n.mdl-tabs__tab {\n margin: 0;\n border: none;\n padding: 0 24px 0 24px;\n float: left;\n position: relative;\n display: block;\n text-decoration: none;\n height: 48px;\n line-height: 48px;\n text-align: center;\n font-weight: 500;\n font-size: 14px;\n text-transform: uppercase;\n color: rgba(0,0,0, 0.54);\n overflow: hidden; }\n .mdl-tabs.is-upgraded .mdl-tabs__tab.is-active {\n color: rgba(0,0,0, 0.87); }\n .mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after {\n height: 2px;\n width: 100%;\n display: block;\n content: \" \";\n bottom: 0px;\n left: 0px;\n position: absolute;\n background: rgb(63,81,181);\n animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0, 1, 1); }\n .mdl-tabs__tab .mdl-tabs__ripple-container {\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0px;\n top: 0px;\n z-index: 1;\n overflow: hidden; }\n .mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple {\n background: rgb(63,81,181); }\n\n.mdl-tabs__panel {\n display: block; }\n .mdl-tabs.is-upgraded .mdl-tabs__panel {\n display: none; }\n .mdl-tabs.is-upgraded .mdl-tabs__panel.is-active {\n display: block; }\n\n@keyframes border-expand {\n 0% {\n opacity: 0;\n width: 0; }\n 100% {\n opacity: 1;\n width: 100%; } }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-textfield {\n position: relative;\n font-size: 16px;\n display: inline-block;\n box-sizing: border-box;\n width: 300px;\n max-width: 100%;\n margin: 0;\n padding: 20px 0; }\n .mdl-textfield .mdl-button {\n position: absolute;\n bottom: 20px; }\n\n.mdl-textfield--align-right {\n text-align: right; }\n\n.mdl-textfield--full-width {\n width: 100%; }\n\n.mdl-textfield--expandable {\n min-width: 32px;\n width: auto;\n min-height: 32px; }\n .mdl-textfield--expandable .mdl-button--icon {\n top: 16px; }\n\n.mdl-textfield__input {\n border: none;\n border-bottom: 1px solid rgba(0,0,0, 0.12);\n display: block;\n font-size: 16px;\n font-family: \"Helvetica\", \"Arial\", sans-serif;\n margin: 0;\n padding: 4px 0;\n width: 100%;\n background: none;\n text-align: left;\n color: inherit; }\n .mdl-textfield__input[type=\"number\"] {\n -moz-appearance: textfield; }\n .mdl-textfield__input[type=\"number\"]::-webkit-inner-spin-button, .mdl-textfield__input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0; }\n .mdl-textfield.is-focused .mdl-textfield__input {\n outline: none; }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: rgb(213,0,0);\n box-shadow: none; }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom: 1px dotted rgba(0,0,0, 0.12);\n color: rgba(0,0,0, 0.26); }\n\n.mdl-textfield textarea.mdl-textfield__input {\n display: block; }\n\n.mdl-textfield__label {\n bottom: 0;\n color: rgba(0,0,0, 0.26);\n font-size: 16px;\n left: 0;\n right: 0;\n pointer-events: none;\n position: absolute;\n display: block;\n top: 24px;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-align: left; }\n .mdl-textfield.is-dirty .mdl-textfield__label,\n .mdl-textfield.has-placeholder .mdl-textfield__label {\n visibility: hidden; }\n .mdl-textfield--floating-label .mdl-textfield__label {\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n transition: none; }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: rgba(0,0,0, 0.26); }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: rgb(63,81,181);\n font-size: 12px;\n top: 4px;\n visibility: visible; }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label {\n top: -16px; }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: rgb(213,0,0);\n font-size: 12px; }\n .mdl-textfield__label:after {\n background-color: rgb(63,81,181);\n bottom: 20px;\n content: '';\n height: 2px;\n left: 45%;\n position: absolute;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n visibility: hidden;\n width: 10px; }\n .mdl-textfield.is-focused .mdl-textfield__label:after {\n left: 0;\n visibility: visible;\n width: 100%; }\n .mdl-textfield.is-invalid .mdl-textfield__label:after {\n background-color: rgb(213,0,0); }\n\n.mdl-textfield__error {\n color: rgb(213,0,0);\n position: absolute;\n font-size: 12px;\n margin-top: 3px;\n visibility: hidden;\n display: block; }\n .mdl-textfield.is-invalid .mdl-textfield__error {\n visibility: visible; }\n\n.mdl-textfield__expandable-holder {\n display: inline-block;\n position: relative;\n margin-left: 32px;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n display: inline-block;\n max-width: 0.1px; }\n .mdl-textfield.is-focused .mdl-textfield__expandable-holder, .mdl-textfield.is-dirty .mdl-textfield__expandable-holder {\n max-width: 600px; }\n .mdl-textfield__expandable-holder .mdl-textfield__label:after {\n bottom: 0; }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-tooltip {\n transform: scale(0);\n transform-origin: top center;\n z-index: 999;\n background: rgba(97,97,97, 0.9);\n border-radius: 2px;\n color: rgb(255,255,255);\n display: inline-block;\n font-size: 10px;\n font-weight: 500;\n line-height: 14px;\n max-width: 170px;\n position: fixed;\n top: -500px;\n left: -500px;\n padding: 8px;\n text-align: center; }\n\n.mdl-tooltip.is-active {\n animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards; }\n\n.mdl-tooltip--large {\n line-height: 14px;\n font-size: 14px;\n padding: 16px; }\n\n@keyframes pulse {\n 0% {\n transform: scale(0);\n opacity: 0; }\n 50% {\n transform: scale(0.99); }\n 100% {\n transform: scale(1);\n opacity: 1;\n visibility: visible; } }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Typography */\n/* Shadows */\n/* Animations */\n/* Dialog */\n.mdl-shadow--2dp {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n\n.mdl-shadow--3dp {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); }\n\n.mdl-shadow--4dp {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); }\n\n.mdl-shadow--6dp {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2); }\n\n.mdl-shadow--8dp {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); }\n\n.mdl-shadow--16dp {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); }\n\n.mdl-shadow--24dp {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); }\n\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*\n* NOTE: Some rules here are applied using duplicate selectors.\n* This is on purpose to increase their specificity when applied.\n* For example: `.mdl-cell--1-col-phone.mdl-cell--1-col-phone`\n*/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*------------------------------------* $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n/* ========== TYPOGRAPHY ========== */\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n/* ========== COLORS ========== */\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== Color Palettes ========== */\n/* colors.scss */\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* ========== IMAGES ========== */\n/* ========== Color & Themes ========== */\n/* ========== Typography ========== */\n/* ========== Components ========== */\n/* ========== Standard Buttons ========== */\n/* ========== Icon Toggles ========== */\n/* ========== Radio Buttons ========== */\n/* ========== Ripple effect ========== */\n/* ========== Layout ========== */\n/* ========== Content Tabs ========== */\n/* ========== Checkboxes ========== */\n/* ========== Switches ========== */\n/* ========== Spinner ========== */\n/* ========== Text fields ========== */\n/* ========== Card ========== */\n/* ========== Sliders ========== */\n/* ========== Progress ========== */\n/* ========== List ========== */\n/* ========== Item ========== */\n/* ========== Dropdown menu ========== */\n/* ========== Tooltips ========== */\n/* ========== Footer ========== */\n/* TEXTFIELD */\n/* SWITCH */\n/* SPINNER */\n/* RADIO */\n/* MENU */\n/* LIST */\n/* LAYOUT */\n/* ICON TOGGLE */\n/* FOOTER */\n/*mega-footer*/\n/*mini-footer*/\n/* CHECKBOX */\n/* CARD */\n/* Card dimensions */\n/* Cover image */\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n/* ANIMATION */\n/* PROGRESS */\n/* BADGE */\n/* SHADOWS */\n/* GRID */\n/* DATA TABLE */\n/* DIALOG */\n/* SNACKBAR */\n/* TOOLTIP */\n/* CHIP */\n.mdl-grid {\n display: flex;\n flex-flow: row wrap;\n margin: 0 auto 0 auto;\n align-items: stretch; }\n .mdl-grid.mdl-grid--no-spacing {\n padding: 0; }\n\n.mdl-cell {\n box-sizing: border-box; }\n\n.mdl-cell--top {\n align-self: flex-start; }\n\n.mdl-cell--middle {\n align-self: center; }\n\n.mdl-cell--bottom {\n align-self: flex-end; }\n\n.mdl-cell--stretch {\n align-self: stretch; }\n\n.mdl-grid.mdl-grid--no-spacing > .mdl-cell {\n margin: 0; }\n\n.mdl-cell--order-1 {\n order: 1; }\n\n.mdl-cell--order-2 {\n order: 2; }\n\n.mdl-cell--order-3 {\n order: 3; }\n\n.mdl-cell--order-4 {\n order: 4; }\n\n.mdl-cell--order-5 {\n order: 5; }\n\n.mdl-cell--order-6 {\n order: 6; }\n\n.mdl-cell--order-7 {\n order: 7; }\n\n.mdl-cell--order-8 {\n order: 8; }\n\n.mdl-cell--order-9 {\n order: 9; }\n\n.mdl-cell--order-10 {\n order: 10; }\n\n.mdl-cell--order-11 {\n order: 11; }\n\n.mdl-cell--order-12 {\n order: 12; }\n\n@media (max-width: 479px) {\n .mdl-grid {\n padding: 8px; }\n .mdl-cell {\n margin: 8px;\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell {\n width: 100%; }\n .mdl-cell--hide-phone {\n display: none !important; }\n .mdl-cell--order-1-phone.mdl-cell--order-1-phone {\n order: 1; }\n .mdl-cell--order-2-phone.mdl-cell--order-2-phone {\n order: 2; }\n .mdl-cell--order-3-phone.mdl-cell--order-3-phone {\n order: 3; }\n .mdl-cell--order-4-phone.mdl-cell--order-4-phone {\n order: 4; }\n .mdl-cell--order-5-phone.mdl-cell--order-5-phone {\n order: 5; }\n .mdl-cell--order-6-phone.mdl-cell--order-6-phone {\n order: 6; }\n .mdl-cell--order-7-phone.mdl-cell--order-7-phone {\n order: 7; }\n .mdl-cell--order-8-phone.mdl-cell--order-8-phone {\n order: 8; }\n .mdl-cell--order-9-phone.mdl-cell--order-9-phone {\n order: 9; }\n .mdl-cell--order-10-phone.mdl-cell--order-10-phone {\n order: 10; }\n .mdl-cell--order-11-phone.mdl-cell--order-11-phone {\n order: 11; }\n .mdl-cell--order-12-phone.mdl-cell--order-12-phone {\n order: 12; }\n .mdl-cell--1-col,\n .mdl-cell--1-col-phone.mdl-cell--1-col-phone {\n width: calc(25% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing >\n .mdl-cell--1-col-phone.mdl-cell--1-col-phone {\n width: 25%; }\n .mdl-cell--2-col,\n .mdl-cell--2-col-phone.mdl-cell--2-col-phone {\n width: calc(50% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing >\n .mdl-cell--2-col-phone.mdl-cell--2-col-phone {\n width: 50%; }\n .mdl-cell--3-col,\n .mdl-cell--3-col-phone.mdl-cell--3-col-phone {\n width: calc(75% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing >\n .mdl-cell--3-col-phone.mdl-cell--3-col-phone {\n width: 75%; }\n .mdl-cell--4-col,\n .mdl-cell--4-col-phone.mdl-cell--4-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing >\n .mdl-cell--4-col-phone.mdl-cell--4-col-phone {\n width: 100%; }\n .mdl-cell--5-col,\n .mdl-cell--5-col-phone.mdl-cell--5-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing >\n .mdl-cell--5-col-phone.mdl-cell--5-col-phone {\n width: 100%; }\n .mdl-cell--6-col,\n .mdl-cell--6-col-phone.mdl-cell--6-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing >\n .mdl-cell--6-col-phone.mdl-cell--6-col-phone {\n width: 100%; }\n .mdl-cell--7-col,\n .mdl-cell--7-col-phone.mdl-cell--7-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing >\n .mdl-cell--7-col-phone.mdl-cell--7-col-phone {\n width: 100%; }\n .mdl-cell--8-col,\n .mdl-cell--8-col-phone.mdl-cell--8-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing >\n .mdl-cell--8-col-phone.mdl-cell--8-col-phone {\n width: 100%; }\n .mdl-cell--9-col,\n .mdl-cell--9-col-phone.mdl-cell--9-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing >\n .mdl-cell--9-col-phone.mdl-cell--9-col-phone {\n width: 100%; }\n .mdl-cell--10-col,\n .mdl-cell--10-col-phone.mdl-cell--10-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing >\n .mdl-cell--10-col-phone.mdl-cell--10-col-phone {\n width: 100%; }\n .mdl-cell--11-col,\n .mdl-cell--11-col-phone.mdl-cell--11-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing >\n .mdl-cell--11-col-phone.mdl-cell--11-col-phone {\n width: 100%; }\n .mdl-cell--12-col,\n .mdl-cell--12-col-phone.mdl-cell--12-col-phone {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing >\n .mdl-cell--12-col-phone.mdl-cell--12-col-phone {\n width: 100%; }\n .mdl-cell--1-offset,\n .mdl-cell--1-offset-phone.mdl-cell--1-offset-phone {\n margin-left: calc(25% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--1-offset-phone.mdl-cell--1-offset-phone {\n margin-left: 25%; }\n .mdl-cell--2-offset,\n .mdl-cell--2-offset-phone.mdl-cell--2-offset-phone {\n margin-left: calc(50% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--2-offset-phone.mdl-cell--2-offset-phone {\n margin-left: 50%; }\n .mdl-cell--3-offset,\n .mdl-cell--3-offset-phone.mdl-cell--3-offset-phone {\n margin-left: calc(75% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--3-offset-phone.mdl-cell--3-offset-phone {\n margin-left: 75%; } }\n\n@media (min-width: 480px) and (max-width: 839px) {\n .mdl-grid {\n padding: 8px; }\n .mdl-cell {\n margin: 8px;\n width: calc(50% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell {\n width: 50%; }\n .mdl-cell--hide-tablet {\n display: none !important; }\n .mdl-cell--order-1-tablet.mdl-cell--order-1-tablet {\n order: 1; }\n .mdl-cell--order-2-tablet.mdl-cell--order-2-tablet {\n order: 2; }\n .mdl-cell--order-3-tablet.mdl-cell--order-3-tablet {\n order: 3; }\n .mdl-cell--order-4-tablet.mdl-cell--order-4-tablet {\n order: 4; }\n .mdl-cell--order-5-tablet.mdl-cell--order-5-tablet {\n order: 5; }\n .mdl-cell--order-6-tablet.mdl-cell--order-6-tablet {\n order: 6; }\n .mdl-cell--order-7-tablet.mdl-cell--order-7-tablet {\n order: 7; }\n .mdl-cell--order-8-tablet.mdl-cell--order-8-tablet {\n order: 8; }\n .mdl-cell--order-9-tablet.mdl-cell--order-9-tablet {\n order: 9; }\n .mdl-cell--order-10-tablet.mdl-cell--order-10-tablet {\n order: 10; }\n .mdl-cell--order-11-tablet.mdl-cell--order-11-tablet {\n order: 11; }\n .mdl-cell--order-12-tablet.mdl-cell--order-12-tablet {\n order: 12; }\n .mdl-cell--1-col,\n .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet {\n width: calc(12.5% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing >\n .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet {\n width: 12.5%; }\n .mdl-cell--2-col,\n .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet {\n width: calc(25% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing >\n .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet {\n width: 25%; }\n .mdl-cell--3-col,\n .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet {\n width: calc(37.5% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing >\n .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet {\n width: 37.5%; }\n .mdl-cell--4-col,\n .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet {\n width: calc(50% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing >\n .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet {\n width: 50%; }\n .mdl-cell--5-col,\n .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet {\n width: calc(62.5% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing >\n .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet {\n width: 62.5%; }\n .mdl-cell--6-col,\n .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet {\n width: calc(75% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing >\n .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet {\n width: 75%; }\n .mdl-cell--7-col,\n .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet {\n width: calc(87.5% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing >\n .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet {\n width: 87.5%; }\n .mdl-cell--8-col,\n .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing >\n .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet {\n width: 100%; }\n .mdl-cell--9-col,\n .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing >\n .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet {\n width: 100%; }\n .mdl-cell--10-col,\n .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing >\n .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet {\n width: 100%; }\n .mdl-cell--11-col,\n .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing >\n .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet {\n width: 100%; }\n .mdl-cell--12-col,\n .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing >\n .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet {\n width: 100%; }\n .mdl-cell--1-offset,\n .mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet {\n margin-left: calc(12.5% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet {\n margin-left: 12.5%; }\n .mdl-cell--2-offset,\n .mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet {\n margin-left: calc(25% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet {\n margin-left: 25%; }\n .mdl-cell--3-offset,\n .mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet {\n margin-left: calc(37.5% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet {\n margin-left: 37.5%; }\n .mdl-cell--4-offset,\n .mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet {\n margin-left: calc(50% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet {\n margin-left: 50%; }\n .mdl-cell--5-offset,\n .mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet {\n margin-left: calc(62.5% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet {\n margin-left: 62.5%; }\n .mdl-cell--6-offset,\n .mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet {\n margin-left: calc(75% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet {\n margin-left: 75%; }\n .mdl-cell--7-offset,\n .mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet {\n margin-left: calc(87.5% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet {\n margin-left: 87.5%; } }\n\n@media (min-width: 840px) {\n .mdl-grid {\n padding: 8px; }\n .mdl-cell {\n margin: 8px;\n width: calc(33.3333333333% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell {\n width: 33.3333333333%; }\n .mdl-cell--hide-desktop {\n display: none !important; }\n .mdl-cell--order-1-desktop.mdl-cell--order-1-desktop {\n order: 1; }\n .mdl-cell--order-2-desktop.mdl-cell--order-2-desktop {\n order: 2; }\n .mdl-cell--order-3-desktop.mdl-cell--order-3-desktop {\n order: 3; }\n .mdl-cell--order-4-desktop.mdl-cell--order-4-desktop {\n order: 4; }\n .mdl-cell--order-5-desktop.mdl-cell--order-5-desktop {\n order: 5; }\n .mdl-cell--order-6-desktop.mdl-cell--order-6-desktop {\n order: 6; }\n .mdl-cell--order-7-desktop.mdl-cell--order-7-desktop {\n order: 7; }\n .mdl-cell--order-8-desktop.mdl-cell--order-8-desktop {\n order: 8; }\n .mdl-cell--order-9-desktop.mdl-cell--order-9-desktop {\n order: 9; }\n .mdl-cell--order-10-desktop.mdl-cell--order-10-desktop {\n order: 10; }\n .mdl-cell--order-11-desktop.mdl-cell--order-11-desktop {\n order: 11; }\n .mdl-cell--order-12-desktop.mdl-cell--order-12-desktop {\n order: 12; }\n .mdl-cell--1-col,\n .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop {\n width: calc(8.3333333333% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing >\n .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop {\n width: 8.3333333333%; }\n .mdl-cell--2-col,\n .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop {\n width: calc(16.6666666667% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing >\n .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop {\n width: 16.6666666667%; }\n .mdl-cell--3-col,\n .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop {\n width: calc(25% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing >\n .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop {\n width: 25%; }\n .mdl-cell--4-col,\n .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop {\n width: calc(33.3333333333% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing >\n .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop {\n width: 33.3333333333%; }\n .mdl-cell--5-col,\n .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop {\n width: calc(41.6666666667% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing >\n .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop {\n width: 41.6666666667%; }\n .mdl-cell--6-col,\n .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop {\n width: calc(50% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing >\n .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop {\n width: 50%; }\n .mdl-cell--7-col,\n .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop {\n width: calc(58.3333333333% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing >\n .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop {\n width: 58.3333333333%; }\n .mdl-cell--8-col,\n .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop {\n width: calc(66.6666666667% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing >\n .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop {\n width: 66.6666666667%; }\n .mdl-cell--9-col,\n .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop {\n width: calc(75% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing >\n .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop {\n width: 75%; }\n .mdl-cell--10-col,\n .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop {\n width: calc(83.3333333333% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing >\n .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop {\n width: 83.3333333333%; }\n .mdl-cell--11-col,\n .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop {\n width: calc(91.6666666667% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing >\n .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop {\n width: 91.6666666667%; }\n .mdl-cell--12-col,\n .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop {\n width: calc(100% - 16px); }\n .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing >\n .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop {\n width: 100%; }\n .mdl-cell--1-offset,\n .mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop {\n margin-left: calc(8.3333333333% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop {\n margin-left: 8.3333333333%; }\n .mdl-cell--2-offset,\n .mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop {\n margin-left: calc(16.6666666667% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop {\n margin-left: 16.6666666667%; }\n .mdl-cell--3-offset,\n .mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop {\n margin-left: calc(25% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop {\n margin-left: 25%; }\n .mdl-cell--4-offset,\n .mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop {\n margin-left: calc(33.3333333333% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop {\n margin-left: 33.3333333333%; }\n .mdl-cell--5-offset,\n .mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop {\n margin-left: calc(41.6666666667% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop {\n margin-left: 41.6666666667%; }\n .mdl-cell--6-offset,\n .mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop {\n margin-left: calc(50% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop {\n margin-left: 50%; }\n .mdl-cell--7-offset,\n .mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop {\n margin-left: calc(58.3333333333% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop {\n margin-left: 58.3333333333%; }\n .mdl-cell--8-offset,\n .mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop {\n margin-left: calc(66.6666666667% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--8-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop {\n margin-left: 66.6666666667%; }\n .mdl-cell--9-offset,\n .mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop {\n margin-left: calc(75% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--9-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop {\n margin-left: 75%; }\n .mdl-cell--10-offset,\n .mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop {\n margin-left: calc(83.3333333333% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--10-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop {\n margin-left: 83.3333333333%; }\n .mdl-cell--11-offset,\n .mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop {\n margin-left: calc(91.6666666667% + 8px); }\n .mdl-grid.mdl-grid--no-spacing > .mdl-cell--11-offset, .mdl-grid.mdl-grid--no-spacing >\n .mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop {\n margin-left: 91.6666666667%; } }\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Material Design Lite */\n\n// Variables and mixins\n@import \"variables\";\n@import \"mixins\";\n\n// Resets and dependencies\n@import \"resets/resets\";\n@import \"typography/typography\";\n\n// Components\n@import \"palette/palette\";\n@import \"ripple/ripple\";\n@import \"animation/animation\";\n@import \"badge/badge\";\n@import \"button/button\";\n@import \"card/card\";\n@import \"checkbox/checkbox\";\n@import \"chip/chip\";\n@import \"data-table/data-table\";\n@import \"dialog/dialog\";\n@import \"footer/mega_footer\";\n@import \"footer/mini_footer\";\n@import \"icon-toggle/icon-toggle\";\n@import \"list/list\";\n@import \"menu/menu\";\n@import \"progress/progress\";\n@import \"layout/layout\";\n@import \"radio/radio\";\n@import \"slider/slider\";\n@import \"snackbar/snackbar\";\n@import \"spinner/spinner\";\n@import \"switch/switch\";\n@import \"tabs/tabs\";\n@import \"textfield/textfield\";\n@import \"tooltip/tooltip\";\n@import \"shadow/shadow\";\n@import \"grid/grid\";\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*------------------------------------*\\\n $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n\n\n/* ========== TYPOGRAPHY ========== */\n\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n$preferred_font: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;\n$performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n/* ========== COLORS ========== */\n\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n\n@import \"color-definitions\";\n@import \"functions\";\n\n/* ========== IMAGES ========== */\n$image_path: '/images' !default;\n\n/* ========== Color & Themes ========== */\n\n// Define whether individual color palette items should have classes created.\n// Setting this to true will remove individual color classes for each color in the palettes.\n// To improve overall performance (assuming they aren't used) by:\n// * Saving server bandwidth sending the extra classes\n// * Save client computation against the classes\n// it is RECOMMENDED you set this to true.\n$trim-color-classes: false !default;\n\n// Use color primarily for emphasis. Choose colors that fit with\n// your brand and provide good contrast between visual components.\n$color-primary: $palette-indigo-500 !default;\n$color-primary-dark: $palette-indigo-700 !default;\n$color-accent: $palette-pink-A200 !default;\n\n// Our primary is dark, so use $color-dark-contrast for overlaid text.\n$color-primary-contrast: $color-dark-contrast !default;\n// Our accent is dark, so use $color-dark-contrast for overlaid text.\n$color-accent-contrast: $color-dark-contrast !default;\n\n// Replace all colors with placeholders if we're generating a template.\n@if $styleguide-generate-template == true {\n $color-primary: '$color-primary';\n $color-primary-dark: '$color-primary-dark';\n $color-accent: '$color-accent';\n $color-primary-contrast: '$color-primary-contrast';\n $color-accent-contrast: '$color-accent-contrast';\n}\n\n/* ========== Typography ========== */\n\n// We use the following default color styles: text-color-primary and\n// text-color-secondary. For light themes, use text-color-primary-inverse\n// and text-color-secondary-inverse.\n\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n// Define whether to target elements directly for typographic enhancements.\n// Turning this off means you need to use mdl-* classes more often.\n// Other components may also fail to adhere to MD without these rules.\n// It is strongly recommended you leave this as true.\n\n$target-elements-directly: true !default;\n\n/* ========== Components ========== */\n\n/* ========== Standard Buttons ========== */\n\n// Default button colors.\n$button-primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n$button-secondary-color: unquote(\"rgb(#{$color-black})\") !default;\n$button-hover-color: $button-primary-color !default;\n$button-active-color: unquote(\"rgba(#{$palette-grey-500}, 0.40)\") !default;\n$button-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Colored button colors.\n$button-primary-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-secondary-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$button-hover-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-active-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-focus-color-alt: $button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$button-ripple-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n\n// Disabled button colors.\n$button-primary-color-disabled: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$button-secondary-color-disabled: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n/* ========== Icon Toggles ========== */\n\n$icon-toggle-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$icon-toggle-focus-color: $button-focus-color !default;\n$icon-toggle-checked-color: unquote(\"rgb(#{$color-primary})\") !default;\n$icon-toggle-checked-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$icon-toggle-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Radio Buttons ========== */\n\n$radio-color: unquote(\"rgb(#{$color-primary})\") !default;\n$radio-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$radio-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Ripple effect ========== */\n\n$ripple-bg-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n/* ========== Layout ========== */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-drawer-navigation-link-active-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$color-primary})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* ========== Content Tabs ========== */\n\n$tab-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n/* ========== Checkboxes ========== */\n\n$checkbox-color: unquote(\"rgb(#{$color-primary})\") !default;\n$checkbox-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$checkbox-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n/* ========== Switches ========== */\n\n$switch-color: unquote(\"rgb(#{$color-primary})\") !default;\n$switch-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$switch-thumb-color: $switch-color !default;\n$switch-track-color: unquote(\"rgba(#{$color-primary}, 0.5)\") !default;\n\n$switch-off-thumb-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$switch-off-track-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$switch-disabled-thumb-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$switch-disabled-track-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Spinner ========== */\n\n$spinner-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$spinner-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$spinner-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$spinner-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$spinner-single-color: unquote(\"rgb(#{$color-primary})\") !default;\n\n/* ========== Text fields ========== */\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n/* ========== Card ========== */\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n/* ========== Sliders ========== */\n\n$range-bg-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$range-color: unquote(\"rgb(#{$color-primary})\") !default;\n$range-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$range-bg-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Progress ========== */\n$progress-main-color: unquote(\"rgb(#{$color-primary})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n\n/* ========== List ========== */\n\n$list-main-text-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$list-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$list-icon-color: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$list-avatar-color: white !default;\n\n/* ========== Item ========== */\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n/* ========== Dropdown menu ========== */\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n\n/* ========== Tooltips ========== */\n\n$tooltip-text-color: unquote(\"rgb(#{$color-white})\") !default;\n$tooltip-background-color: unquote(\"rgba(#{$palette-grey-700}, 0.9)\") !default;\n\n/* ========== Footer ========== */\n\n$footer-bg-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$footer-color: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$footer-heading-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$footer-button-fill-color: $footer-color !default;\n$footer-underline-color: $footer-color !default;\n\n\n/* TEXTFIELD */\n\n$input-text-font-size: 16px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n\n\n/* SWITCH */\n\n$switch-label-font-size: 16px !default;\n$switch-label-height: 24px !default;\n$switch-track-height: 14px !default;\n$switch-track-length: 36px !default;\n$switch-thumb-size: 20px !default;\n$switch-track-top: ($switch-label-height - $switch-track-height) / 2 !default;\n$switch-thumb-top: ($switch-label-height - $switch-thumb-size) / 2 !default;\n$switch-ripple-size: $switch-label-height * 2 !default;\n$switch-helper-size: 8px !default;\n\n/* SPINNER */\n\n$spinner-size: 28px !default;\n$spinner-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$spinner-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$spinner-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$spinner-arc-start-rot: 216deg !default;\n\n$spinner-duration: 360 * $spinner-arc-time / (\n strip-units($spinner-arc-start-rot + (360deg - $spinner-arc-size)));\n\n\n/* RADIO */\n\n$radio-label-font-size: 16px !default;\n$radio-label-height: 24px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n\n/* MENU */\n\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n/* LIST */\n\n$list-border: 8px !default;\n$list-min-height: 48px !default;\n$list-min-padding: 16px !default;\n$list-bottom-padding: 20px !default;\n$list-avatar-text-left-distance: 72px !default;\n$list-icon-text-left-distance: 72px !default;\n\n$list-avatar-size: 40px !default;\n$list-icon-size: 24px !default;\n\n$list-two-line-height: 72px !default;\n$list-three-line-height: 88px !default;\n\n/* LAYOUT */\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 32px !default;\n$layout-drawer-button-desktop-size: 48px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 64px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n\n/* ICON TOGGLE */\n\n$icon-toggle-size: 32px !default;\n$icon-toggle-font-size: 24px !default;\n$icon-toggle-ripple-size: 36px !default;\n\n/* FOOTER */\n\n/*mega-footer*/\n$footer-min-padding: 16px !default;\n$footer-padding-sides: 40px !default;\n$footer-heading-font-size: 14px !default;\n$footer-heading-line-height: (1.7 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/*mini-footer*/\n$padding: 16px !default;\n$footer-heading-font-size: 24px !default;\n$footer-heading-line-height: (1.5 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/* CHECKBOX */\n\n$checkbox-label-font-size: 16px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n/* CARD */\n\n/* Card dimensions */\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 16px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 14px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1rem !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 16px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n/* Cover image */\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n$button-min-width: 64px !default;\n$button-height: 36px !default;\n$button-padding: 16px !default;\n$button-margin: 4px !default;\n$button-border-radius: 2px !default;\n\n$button-fab-size: 56px !default;\n$button-fab-size-mini: 40px !default;\n$button-fab-font-size: 24px !default;\n\n$button-icon-size: 32px !default;\n$button-icon-size-mini: 24px !default;\n\n\n/* ANIMATION */\n$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default;\n$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default;\n$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default;\n\n$animation-curve-default: $animation-curve-fast-out-slow-in !default;\n\n\n/* PROGRESS */\n$bar-height: 4px !default;\n\n/* BADGE */\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n/* SHADOWS */\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n/* GRID */\n\n$grid-desktop-columns: 12 !default;\n$grid-desktop-gutter: 16px !default;\n$grid-desktop-margin: 16px !default;\n\n$grid-desktop-breakpoint: 840px !default;\n\n$grid-tablet-columns: 8 !default;\n$grid-tablet-gutter: $grid-desktop-gutter !default;\n$grid-tablet-margin: $grid-desktop-margin !default;\n\n$grid-tablet-breakpoint: 480px !default;\n\n$grid-phone-columns: 4 !default;\n$grid-phone-gutter: $grid-desktop-gutter !default;\n$grid-phone-margin: $grid-desktop-margin !default;\n\n$grid-cell-default-columns: $grid-phone-columns !default;\n$grid-max-columns: $grid-desktop-columns !default;\n\n/* DATA TABLE */\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-header-sorted-icon-hover-color: rgba(#000, 0.26) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n\n$data-table-hover-color: #eeeeee !default;\n$data-table-selection-color: #e0e0e0 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n/* DIALOG */\n$dialog-content-color: $card-supporting-text-text-color;\n\n/* SNACKBAR */\n\n// Hard coded since the color is not present in any palette.\n$snackbar-background-color: #323232 !default;\n$snackbar-tablet-breakpoint: $grid-tablet-breakpoint;\n$snackbar-action-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* TOOLTIP */\n$tooltip-font-size: 10px !default;\n$tooltip-font-size-large: 14px !default;\n\n/* CHIP */\n$chip-bg-color: rgb(222, 222, 222) !default;\n$chip-bg-active-color: rgb(214, 214, 214) !default;\n$chip-height: 32px !default;\n$chip-font-size: 13px !default; \n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* ========== Color Palettes ========== */\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200,\n// A400, A700.\n\n$palette-red:\n\"255,235,238\"\n\"255,205,210\"\n\"239,154,154\"\n\"229,115,115\"\n\"239,83,80\"\n\"244,67,54\"\n\"229,57,53\"\n\"211,47,47\"\n\"198,40,40\"\n\"183,28,28\"\n\"255,138,128\"\n\"255,82,82\"\n\"255,23,68\"\n\"213,0,0\";\n\n$palette-red-50: nth($palette-red, 1);\n$palette-red-100: nth($palette-red, 2);\n$palette-red-200: nth($palette-red, 3);\n$palette-red-300: nth($palette-red, 4);\n$palette-red-400: nth($palette-red, 5);\n$palette-red-500: nth($palette-red, 6);\n$palette-red-600: nth($palette-red, 7);\n$palette-red-700: nth($palette-red, 8);\n$palette-red-800: nth($palette-red, 9);\n$palette-red-900: nth($palette-red, 10);\n$palette-red-A100: nth($palette-red, 11);\n$palette-red-A200: nth($palette-red, 12);\n$palette-red-A400: nth($palette-red, 13);\n$palette-red-A700: nth($palette-red, 14);\n\n$palette-pink:\n\"252,228,236\"\n\"248,187,208\"\n\"244,143,177\"\n\"240,98,146\"\n\"236,64,122\"\n\"233,30,99\"\n\"216,27,96\"\n\"194,24,91\"\n\"173,20,87\"\n\"136,14,79\"\n\"255,128,171\"\n\"255,64,129\"\n\"245,0,87\"\n\"197,17,98\";\n\n$palette-pink-50: nth($palette-pink, 1);\n$palette-pink-100: nth($palette-pink, 2);\n$palette-pink-200: nth($palette-pink, 3);\n$palette-pink-300: nth($palette-pink, 4);\n$palette-pink-400: nth($palette-pink, 5);\n$palette-pink-500: nth($palette-pink, 6);\n$palette-pink-600: nth($palette-pink, 7);\n$palette-pink-700: nth($palette-pink, 8);\n$palette-pink-800: nth($palette-pink, 9);\n$palette-pink-900: nth($palette-pink, 10);\n$palette-pink-A100: nth($palette-pink, 11);\n$palette-pink-A200: nth($palette-pink, 12);\n$palette-pink-A400: nth($palette-pink, 13);\n$palette-pink-A700: nth($palette-pink, 14);\n\n$palette-purple:\n\"243,229,245\"\n\"225,190,231\"\n\"206,147,216\"\n\"186,104,200\"\n\"171,71,188\"\n\"156,39,176\"\n\"142,36,170\"\n\"123,31,162\"\n\"106,27,154\"\n\"74,20,140\"\n\"234,128,252\"\n\"224,64,251\"\n\"213,0,249\"\n\"170,0,255\";\n\n$palette-purple-50: nth($palette-purple, 1);\n$palette-purple-100: nth($palette-purple, 2);\n$palette-purple-200: nth($palette-purple, 3);\n$palette-purple-300: nth($palette-purple, 4);\n$palette-purple-400: nth($palette-purple, 5);\n$palette-purple-500: nth($palette-purple, 6);\n$palette-purple-600: nth($palette-purple, 7);\n$palette-purple-700: nth($palette-purple, 8);\n$palette-purple-800: nth($palette-purple, 9);\n$palette-purple-900: nth($palette-purple, 10);\n$palette-purple-A100: nth($palette-purple, 11);\n$palette-purple-A200: nth($palette-purple, 12);\n$palette-purple-A400: nth($palette-purple, 13);\n$palette-purple-A700: nth($palette-purple, 14);\n\n$palette-deep-purple:\n\"237,231,246\"\n\"209,196,233\"\n\"179,157,219\"\n\"149,117,205\"\n\"126,87,194\"\n\"103,58,183\"\n\"94,53,177\"\n\"81,45,168\"\n\"69,39,160\"\n\"49,27,146\"\n\"179,136,255\"\n\"124,77,255\"\n\"101,31,255\"\n\"98,0,234\";\n\n$palette-deep-purple-50: nth($palette-deep-purple, 1);\n$palette-deep-purple-100: nth($palette-deep-purple, 2);\n$palette-deep-purple-200: nth($palette-deep-purple, 3);\n$palette-deep-purple-300: nth($palette-deep-purple, 4);\n$palette-deep-purple-400: nth($palette-deep-purple, 5);\n$palette-deep-purple-500: nth($palette-deep-purple, 6);\n$palette-deep-purple-600: nth($palette-deep-purple, 7);\n$palette-deep-purple-700: nth($palette-deep-purple, 8);\n$palette-deep-purple-800: nth($palette-deep-purple, 9);\n$palette-deep-purple-900: nth($palette-deep-purple, 10);\n$palette-deep-purple-A100: nth($palette-deep-purple, 11);\n$palette-deep-purple-A200: nth($palette-deep-purple, 12);\n$palette-deep-purple-A400: nth($palette-deep-purple, 13);\n$palette-deep-purple-A700: nth($palette-deep-purple, 14);\n\n$palette-indigo:\n\"232,234,246\"\n\"197,202,233\"\n\"159,168,218\"\n\"121,134,203\"\n\"92,107,192\"\n\"63,81,181\"\n\"57,73,171\"\n\"48,63,159\"\n\"40,53,147\"\n\"26,35,126\"\n\"140,158,255\"\n\"83,109,254\"\n\"61,90,254\"\n\"48,79,254\";\n\n$palette-indigo-50: nth($palette-indigo, 1);\n$palette-indigo-100: nth($palette-indigo, 2);\n$palette-indigo-200: nth($palette-indigo, 3);\n$palette-indigo-300: nth($palette-indigo, 4);\n$palette-indigo-400: nth($palette-indigo, 5);\n$palette-indigo-500: nth($palette-indigo, 6);\n$palette-indigo-600: nth($palette-indigo, 7);\n$palette-indigo-700: nth($palette-indigo, 8);\n$palette-indigo-800: nth($palette-indigo, 9);\n$palette-indigo-900: nth($palette-indigo, 10);\n$palette-indigo-A100: nth($palette-indigo, 11);\n$palette-indigo-A200: nth($palette-indigo, 12);\n$palette-indigo-A400: nth($palette-indigo, 13);\n$palette-indigo-A700: nth($palette-indigo, 14);\n\n$palette-blue:\n\"227,242,253\"\n\"187,222,251\"\n\"144,202,249\"\n\"100,181,246\"\n\"66,165,245\"\n\"33,150,243\"\n\"30,136,229\"\n\"25,118,210\"\n\"21,101,192\"\n\"13,71,161\"\n\"130,177,255\"\n\"68,138,255\"\n\"41,121,255\"\n\"41,98,255\";\n\n$palette-blue-50: nth($palette-blue, 1);\n$palette-blue-100: nth($palette-blue, 2);\n$palette-blue-200: nth($palette-blue, 3);\n$palette-blue-300: nth($palette-blue, 4);\n$palette-blue-400: nth($palette-blue, 5);\n$palette-blue-500: nth($palette-blue, 6);\n$palette-blue-600: nth($palette-blue, 7);\n$palette-blue-700: nth($palette-blue, 8);\n$palette-blue-800: nth($palette-blue, 9);\n$palette-blue-900: nth($palette-blue, 10);\n$palette-blue-A100: nth($palette-blue, 11);\n$palette-blue-A200: nth($palette-blue, 12);\n$palette-blue-A400: nth($palette-blue, 13);\n$palette-blue-A700: nth($palette-blue, 14);\n\n$palette-light-blue:\n\"225,245,254\"\n\"179,229,252\"\n\"129,212,250\"\n\"79,195,247\"\n\"41,182,246\"\n\"3,169,244\"\n\"3,155,229\"\n\"2,136,209\"\n\"2,119,189\"\n\"1,87,155\"\n\"128,216,255\"\n\"64,196,255\"\n\"0,176,255\"\n\"0,145,234\";\n\n$palette-light-blue-50: nth($palette-light-blue, 1);\n$palette-light-blue-100: nth($palette-light-blue, 2);\n$palette-light-blue-200: nth($palette-light-blue, 3);\n$palette-light-blue-300: nth($palette-light-blue, 4);\n$palette-light-blue-400: nth($palette-light-blue, 5);\n$palette-light-blue-500: nth($palette-light-blue, 6);\n$palette-light-blue-600: nth($palette-light-blue, 7);\n$palette-light-blue-700: nth($palette-light-blue, 8);\n$palette-light-blue-800: nth($palette-light-blue, 9);\n$palette-light-blue-900: nth($palette-light-blue, 10);\n$palette-light-blue-A100: nth($palette-light-blue, 11);\n$palette-light-blue-A200: nth($palette-light-blue, 12);\n$palette-light-blue-A400: nth($palette-light-blue, 13);\n$palette-light-blue-A700: nth($palette-light-blue, 14);\n\n$palette-cyan:\n\"224,247,250\"\n\"178,235,242\"\n\"128,222,234\"\n\"77,208,225\"\n\"38,198,218\"\n\"0,188,212\"\n\"0,172,193\"\n\"0,151,167\"\n\"0,131,143\"\n\"0,96,100\"\n\"132,255,255\"\n\"24,255,255\"\n\"0,229,255\"\n\"0,184,212\";\n\n$palette-cyan-50: nth($palette-cyan, 1);\n$palette-cyan-100: nth($palette-cyan, 2);\n$palette-cyan-200: nth($palette-cyan, 3);\n$palette-cyan-300: nth($palette-cyan, 4);\n$palette-cyan-400: nth($palette-cyan, 5);\n$palette-cyan-500: nth($palette-cyan, 6);\n$palette-cyan-600: nth($palette-cyan, 7);\n$palette-cyan-700: nth($palette-cyan, 8);\n$palette-cyan-800: nth($palette-cyan, 9);\n$palette-cyan-900: nth($palette-cyan, 10);\n$palette-cyan-A100: nth($palette-cyan, 11);\n$palette-cyan-A200: nth($palette-cyan, 12);\n$palette-cyan-A400: nth($palette-cyan, 13);\n$palette-cyan-A700: nth($palette-cyan, 14);\n\n$palette-teal:\n\"224,242,241\"\n\"178,223,219\"\n\"128,203,196\"\n\"77,182,172\"\n\"38,166,154\"\n\"0,150,136\"\n\"0,137,123\"\n\"0,121,107\"\n\"0,105,92\"\n\"0,77,64\"\n\"167,255,235\"\n\"100,255,218\"\n\"29,233,182\"\n\"0,191,165\";\n\n$palette-teal-50: nth($palette-teal, 1);\n$palette-teal-100: nth($palette-teal, 2);\n$palette-teal-200: nth($palette-teal, 3);\n$palette-teal-300: nth($palette-teal, 4);\n$palette-teal-400: nth($palette-teal, 5);\n$palette-teal-500: nth($palette-teal, 6);\n$palette-teal-600: nth($palette-teal, 7);\n$palette-teal-700: nth($palette-teal, 8);\n$palette-teal-800: nth($palette-teal, 9);\n$palette-teal-900: nth($palette-teal, 10);\n$palette-teal-A100: nth($palette-teal, 11);\n$palette-teal-A200: nth($palette-teal, 12);\n$palette-teal-A400: nth($palette-teal, 13);\n$palette-teal-A700: nth($palette-teal, 14);\n\n$palette-green:\n\"232,245,233\"\n\"200,230,201\"\n\"165,214,167\"\n\"129,199,132\"\n\"102,187,106\"\n\"76,175,80\"\n\"67,160,71\"\n\"56,142,60\"\n\"46,125,50\"\n\"27,94,32\"\n\"185,246,202\"\n\"105,240,174\"\n\"0,230,118\"\n\"0,200,83\";\n\n$palette-green-50: nth($palette-green, 1);\n$palette-green-100: nth($palette-green, 2);\n$palette-green-200: nth($palette-green, 3);\n$palette-green-300: nth($palette-green, 4);\n$palette-green-400: nth($palette-green, 5);\n$palette-green-500: nth($palette-green, 6);\n$palette-green-600: nth($palette-green, 7);\n$palette-green-700: nth($palette-green, 8);\n$palette-green-800: nth($palette-green, 9);\n$palette-green-900: nth($palette-green, 10);\n$palette-green-A100: nth($palette-green, 11);\n$palette-green-A200: nth($palette-green, 12);\n$palette-green-A400: nth($palette-green, 13);\n$palette-green-A700: nth($palette-green, 14);\n\n$palette-light-green:\n\"241,248,233\"\n\"220,237,200\"\n\"197,225,165\"\n\"174,213,129\"\n\"156,204,101\"\n\"139,195,74\"\n\"124,179,66\"\n\"104,159,56\"\n\"85,139,47\"\n\"51,105,30\"\n\"204,255,144\"\n\"178,255,89\"\n\"118,255,3\"\n\"100,221,23\";\n\n$palette-light-green-50: nth($palette-light-green, 1);\n$palette-light-green-100: nth($palette-light-green, 2);\n$palette-light-green-200: nth($palette-light-green, 3);\n$palette-light-green-300: nth($palette-light-green, 4);\n$palette-light-green-400: nth($palette-light-green, 5);\n$palette-light-green-500: nth($palette-light-green, 6);\n$palette-light-green-600: nth($palette-light-green, 7);\n$palette-light-green-700: nth($palette-light-green, 8);\n$palette-light-green-800: nth($palette-light-green, 9);\n$palette-light-green-900: nth($palette-light-green, 10);\n$palette-light-green-A100: nth($palette-light-green, 11);\n$palette-light-green-A200: nth($palette-light-green, 12);\n$palette-light-green-A400: nth($palette-light-green, 13);\n$palette-light-green-A700: nth($palette-light-green, 14);\n\n$palette-lime:\n\"249,251,231\"\n\"240,244,195\"\n\"230,238,156\"\n\"220,231,117\"\n\"212,225,87\"\n\"205,220,57\"\n\"192,202,51\"\n\"175,180,43\"\n\"158,157,36\"\n\"130,119,23\"\n\"244,255,129\"\n\"238,255,65\"\n\"198,255,0\"\n\"174,234,0\";\n\n$palette-lime-50: nth($palette-lime, 1);\n$palette-lime-100: nth($palette-lime, 2);\n$palette-lime-200: nth($palette-lime, 3);\n$palette-lime-300: nth($palette-lime, 4);\n$palette-lime-400: nth($palette-lime, 5);\n$palette-lime-500: nth($palette-lime, 6);\n$palette-lime-600: nth($palette-lime, 7);\n$palette-lime-700: nth($palette-lime, 8);\n$palette-lime-800: nth($palette-lime, 9);\n$palette-lime-900: nth($palette-lime, 10);\n$palette-lime-A100: nth($palette-lime, 11);\n$palette-lime-A200: nth($palette-lime, 12);\n$palette-lime-A400: nth($palette-lime, 13);\n$palette-lime-A700: nth($palette-lime, 14);\n\n$palette-yellow:\n\"255,253,231\"\n\"255,249,196\"\n\"255,245,157\"\n\"255,241,118\"\n\"255,238,88\"\n\"255,235,59\"\n\"253,216,53\"\n\"251,192,45\"\n\"249,168,37\"\n\"245,127,23\"\n\"255,255,141\"\n\"255,255,0\"\n\"255,234,0\"\n\"255,214,0\";\n\n$palette-yellow-50: nth($palette-yellow, 1);\n$palette-yellow-100: nth($palette-yellow, 2);\n$palette-yellow-200: nth($palette-yellow, 3);\n$palette-yellow-300: nth($palette-yellow, 4);\n$palette-yellow-400: nth($palette-yellow, 5);\n$palette-yellow-500: nth($palette-yellow, 6);\n$palette-yellow-600: nth($palette-yellow, 7);\n$palette-yellow-700: nth($palette-yellow, 8);\n$palette-yellow-800: nth($palette-yellow, 9);\n$palette-yellow-900: nth($palette-yellow, 10);\n$palette-yellow-A100: nth($palette-yellow, 11);\n$palette-yellow-A200: nth($palette-yellow, 12);\n$palette-yellow-A400: nth($palette-yellow, 13);\n$palette-yellow-A700: nth($palette-yellow, 14);\n\n$palette-amber:\n\"255,248,225\"\n\"255,236,179\"\n\"255,224,130\"\n\"255,213,79\"\n\"255,202,40\"\n\"255,193,7\"\n\"255,179,0\"\n\"255,160,0\"\n\"255,143,0\"\n\"255,111,0\"\n\"255,229,127\"\n\"255,215,64\"\n\"255,196,0\"\n\"255,171,0\";\n\n$palette-amber-50: nth($palette-amber, 1);\n$palette-amber-100: nth($palette-amber, 2);\n$palette-amber-200: nth($palette-amber, 3);\n$palette-amber-300: nth($palette-amber, 4);\n$palette-amber-400: nth($palette-amber, 5);\n$palette-amber-500: nth($palette-amber, 6);\n$palette-amber-600: nth($palette-amber, 7);\n$palette-amber-700: nth($palette-amber, 8);\n$palette-amber-800: nth($palette-amber, 9);\n$palette-amber-900: nth($palette-amber, 10);\n$palette-amber-A100: nth($palette-amber, 11);\n$palette-amber-A200: nth($palette-amber, 12);\n$palette-amber-A400: nth($palette-amber, 13);\n$palette-amber-A700: nth($palette-amber, 14);\n\n$palette-orange:\n\"255,243,224\"\n\"255,224,178\"\n\"255,204,128\"\n\"255,183,77\"\n\"255,167,38\"\n\"255,152,0\"\n\"251,140,0\"\n\"245,124,0\"\n\"239,108,0\"\n\"230,81,0\"\n\"255,209,128\"\n\"255,171,64\"\n\"255,145,0\"\n\"255,109,0\";\n\n$palette-orange-50: nth($palette-orange, 1);\n$palette-orange-100: nth($palette-orange, 2);\n$palette-orange-200: nth($palette-orange, 3);\n$palette-orange-300: nth($palette-orange, 4);\n$palette-orange-400: nth($palette-orange, 5);\n$palette-orange-500: nth($palette-orange, 6);\n$palette-orange-600: nth($palette-orange, 7);\n$palette-orange-700: nth($palette-orange, 8);\n$palette-orange-800: nth($palette-orange, 9);\n$palette-orange-900: nth($palette-orange, 10);\n$palette-orange-A100: nth($palette-orange, 11);\n$palette-orange-A200: nth($palette-orange, 12);\n$palette-orange-A400: nth($palette-orange, 13);\n$palette-orange-A700: nth($palette-orange, 14);\n\n$palette-deep-orange:\n\"251,233,231\"\n\"255,204,188\"\n\"255,171,145\"\n\"255,138,101\"\n\"255,112,67\"\n\"255,87,34\"\n\"244,81,30\"\n\"230,74,25\"\n\"216,67,21\"\n\"191,54,12\"\n\"255,158,128\"\n\"255,110,64\"\n\"255,61,0\"\n\"221,44,0\";\n\n$palette-deep-orange-50: nth($palette-deep-orange, 1);\n$palette-deep-orange-100: nth($palette-deep-orange, 2);\n$palette-deep-orange-200: nth($palette-deep-orange, 3);\n$palette-deep-orange-300: nth($palette-deep-orange, 4);\n$palette-deep-orange-400: nth($palette-deep-orange, 5);\n$palette-deep-orange-500: nth($palette-deep-orange, 6);\n$palette-deep-orange-600: nth($palette-deep-orange, 7);\n$palette-deep-orange-700: nth($palette-deep-orange, 8);\n$palette-deep-orange-800: nth($palette-deep-orange, 9);\n$palette-deep-orange-900: nth($palette-deep-orange, 10);\n$palette-deep-orange-A100: nth($palette-deep-orange, 11);\n$palette-deep-orange-A200: nth($palette-deep-orange, 12);\n$palette-deep-orange-A400: nth($palette-deep-orange, 13);\n$palette-deep-orange-A700: nth($palette-deep-orange, 14);\n\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.\n\n$palette-brown:\n\"239,235,233\"\n\"215,204,200\"\n\"188,170,164\"\n\"161,136,127\"\n\"141,110,99\"\n\"121,85,72\"\n\"109,76,65\"\n\"93,64,55\"\n\"78,52,46\"\n\"62,39,35\";\n\n$palette-brown-50: nth($palette-brown, 1);\n$palette-brown-100: nth($palette-brown, 2);\n$palette-brown-200: nth($palette-brown, 3);\n$palette-brown-300: nth($palette-brown, 4);\n$palette-brown-400: nth($palette-brown, 5);\n$palette-brown-500: nth($palette-brown, 6);\n$palette-brown-600: nth($palette-brown, 7);\n$palette-brown-700: nth($palette-brown, 8);\n$palette-brown-800: nth($palette-brown, 9);\n$palette-brown-900: nth($palette-brown, 10);\n\n$palette-grey:\n\"250,250,250\"\n\"245,245,245\"\n\"238,238,238\"\n\"224,224,224\"\n\"189,189,189\"\n\"158,158,158\"\n\"117,117,117\"\n\"97,97,97\"\n\"66,66,66\"\n\"33,33,33\";\n\n$palette-grey-50: nth($palette-grey, 1);\n$palette-grey-100: nth($palette-grey, 2);\n$palette-grey-200: nth($palette-grey, 3);\n$palette-grey-300: nth($palette-grey, 4);\n$palette-grey-400: nth($palette-grey, 5);\n$palette-grey-500: nth($palette-grey, 6);\n$palette-grey-600: nth($palette-grey, 7);\n$palette-grey-700: nth($palette-grey, 8);\n$palette-grey-800: nth($palette-grey, 9);\n$palette-grey-900: nth($palette-grey, 10);\n\n$palette-blue-grey:\n\"236,239,241\"\n\"207,216,220\"\n\"176,190,197\"\n\"144,164,174\"\n\"120,144,156\"\n\"96,125,139\"\n\"84,110,122\"\n\"69,90,100\"\n\"55,71,79\"\n\"38,50,56\";\n\n$palette-blue-grey-50: nth($palette-blue-grey, 1);\n$palette-blue-grey-100: nth($palette-blue-grey, 2);\n$palette-blue-grey-200: nth($palette-blue-grey, 3);\n$palette-blue-grey-300: nth($palette-blue-grey, 4);\n$palette-blue-grey-400: nth($palette-blue-grey, 5);\n$palette-blue-grey-500: nth($palette-blue-grey, 6);\n$palette-blue-grey-600: nth($palette-blue-grey, 7);\n$palette-blue-grey-700: nth($palette-blue-grey, 8);\n$palette-blue-grey-800: nth($palette-blue-grey, 9);\n$palette-blue-grey-900: nth($palette-blue-grey, 10);\n\n$color-black: \"0,0,0\";\n$color-white: \"255,255,255\";\n\n\n/* colors.scss */\n$styleguide-generate-template: false !default;\n\n// The two possible colors for overlayed text.\n$color-dark-contrast: $color-white !default;\n$color-light-contrast: $color-black !default;\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Typography */\n\n@mixin typo-preferred-font($usePreferred: true) {\n @if $usePreferred {\n font-family: $preferred_font;\n }\n}\n\n@mixin typo-display-4($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 112px;\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.04em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-3($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 45px;\n font-weight: 400;\n line-height: 48px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-1($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 34px;\n font-weight: 400;\n line-height: 40px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-headline($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-title($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 28px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-2($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n @if $usePreferred {\n font-weight: 500;\n } @else {\n font-weight: bold;\n }\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-1($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-caption($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-blockquote($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n position: relative;\n font-size: 24px;\n font-weight: 300;\n font-style: italic;\n line-height: 1.35;\n letter-spacing: 0.08em;\n\n &:before {\n position: absolute;\n left: -0.5em;\n content: '“';\n }\n\n &:after {\n content: '”';\n margin-left: -0.05em;\n }\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-menu($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-button($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-icon() {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n font-feature-settings: 'liga';\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* Shadows */\n\n// Focus shadow mixin.\n@mixin focus-shadow() {\n box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);\n}\n\n@mixin shadow-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 3px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 8px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 10px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 2px 4px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 18px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 3px 5px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 14px 2px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 5px 5px -3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 6px 30px 5px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 8px 10px -5px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 11px 15px -7px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 24px 38px 3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n/* Animations */\n\n@mixin material-animation-fast-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-slow-in;\n}\n\n@mixin material-animation-linear-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-linear-out-slow-in;\n}\n\n@mixin material-animation-fast-out-linear-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-linear-in;\n}\n\n@mixin material-animation-default($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-default;\n}\n\n/* Dialog */\n\n@mixin dialog-width($units:5) {\n @if(type_of($units) != 'number') {\n @error \"The unit given to dialog-width should be a number.\";\n }\n // 56dp is the base unit width for Dialogs.\n // With 5 units being the number of units for a mobile device.\n // https://goo.gl/sK2O5o\n width: $units * 56px;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"h5bp\";\n@import \"mobile\";\n\n/*\n * Make html take up the entire screen\n * Then set touch-action to avoid touch delay on mobile IE\n */\nhtml {\n width: 100%;\n height: 100%;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n}\n\n/*\n* Make body take up the entire screen\n* Remove body margin so layout containers don't cause extra overflow.\n*/\nbody {\n width: 100%;\n min-height: 100%;\n margin: 0;\n}\n\n/*\n * Main display reset for IE support.\n * Source: http://weblog.west-wind.com/posts/2015/Jan/12/main-HTML5-Tag-not-working-in-Internet-Explorer-91011\n */\nmain {\n display: block;\n}\n\n/*\n* Apply no display to elements with the hidden attribute.\n* IE 9 and 10 support.\n*/\n*[hidden] {\n display: none !important;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n/*\n * What follows is the result of much research on cross-browser styling.\n * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,\n * Kroc Camen, and the H5BP dev community and team.\n */\n\n/* ==========================================================================\n Base styles: opinionated defaults\n ========================================================================== */\n\nhtml {\n color: $text-color-primary;\n font-size: 1em;\n line-height: 1.4;\n}\n\n/*\n * Remove text-shadow in selection highlight:\n * https://twitter.com/miketaylr/status/12228805301\n *\n * These selection rule sets have to be separate.\n * Customize the background color to match your design.\n */\n\n::selection {\n background: #b3d4fc;\n text-shadow: none;\n}\n\n/*\n * A better looking default horizontal rule\n */\n\nhr {\n display: block;\n height: 1px;\n border: 0;\n border-top: 1px solid #ccc;\n margin: 1em 0;\n padding: 0;\n}\n\n/*\n * Remove the gap between audio, canvas, iframes,\n * images, videos and the bottom of their containers:\n * https://github.com/h5bp/html5-boilerplate/issues/440\n */\n\naudio,\ncanvas,\niframe,\nimg,\nsvg,\nvideo {\n vertical-align: middle;\n}\n\n/*\n * Remove default fieldset styles.\n */\n\nfieldset {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\n/*\n * Allow only vertical resizing of textareas.\n */\n\ntextarea {\n resize: vertical;\n}\n\n/* ==========================================================================\n Browser Upgrade Prompt\n ========================================================================== */\n\n.browserupgrade {\n margin: 0.2em 0;\n background: #ccc;\n color: #000;\n padding: 0.2em 0;\n}\n\n/* ==========================================================================\n Author's custom styles\n ========================================================================== */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* ==========================================================================\n Helper classes\n ========================================================================== */\n\n/*\n * Hide visually and from screen readers:\n */\n\n.hidden {\n display: none !important;\n}\n\n/*\n * Hide only visually, but have it available for screen readers:\n * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n */\n\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n/*\n * Extends the .visuallyhidden class to allow the element\n * to be focusable when navigated to via the keyboard:\n * https://www.drupal.org/node/897638\n */\n\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n/*\n * Hide visually and from screen readers, but maintain layout\n */\n\n.invisible {\n visibility: hidden;\n}\n\n/*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n * `contenteditable` attribute is included anywhere else in the document.\n * Otherwise it causes space to appear at the top and bottom of elements\n * that receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n * `:before` to contain the top-margins of child elements.\n */\n\n.clearfix:before,\n.clearfix:after {\n content: \" \"; /* 1 */\n display: table; /* 2 */\n}\n\n.clearfix:after {\n clear: both;\n}\n\n/* ==========================================================================\n EXAMPLE Media Queries for Responsive Design.\n These examples override the primary ('mobile first') styles.\n Modify as content requires.\n ========================================================================== */\n\n@media only screen and (min-width: 35em) {\n /* Style adjustments for viewports that meet the condition */\n}\n\n@media print,\n (min-resolution: 1.25dppx),\n (min-resolution: 120dpi) {\n /* Style adjustments for high resolution devices */\n}\n\n/* ==========================================================================\n Print styles.\n Inlined to avoid the additional HTTP request:\n http://www.phpied.com/delay-loading-your-print-css/\n ========================================================================== */\n\n@media print {\n *,\n *:before,\n *:after,\n *:first-letter {\n background: transparent !important;\n color: #000 !important; /* Black prints faster: http://www.sanbeiji.com/archives/953 */\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n /*\n * Don't show links that are fragment identifiers,\n * or use the `javascript:` pseudo protocol\n */\n\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n /*\n * Printing Tables:\n * http://css-discuss.incutio.com/wiki/Printing_Tables\n */\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/* Remove the unwanted box around FAB buttons */\n/* More info: http://goo.gl/IPwKi */\na, .mdl-accordion, .mdl-button, .mdl-card, .mdl-checkbox, .mdl-dropdown-menu,\n.mdl-icon-toggle, .mdl-item, .mdl-radio, .mdl-slider, .mdl-switch, .mdl-tabs__tab {\n\n -webkit-tap-highlight-color: transparent;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n@if $target-elements-directly == true {\n html, body {\n font-family: $performance_font;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n }\n\n h1, h2, h3, h4, h5, h6, p {\n margin: 0;\n padding: 0;\n }\n\n /**\n * Styles for HTML elements\n */\n\n h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {\n @include typo-display-3($colorContrast: true);\n\n font-size: 0.6em;\n }\n\n h1 {\n @include typo-display-3;\n\n margin-top: 24px;\n margin-bottom: 24px;\n }\n\n h2 {\n @include typo-display-2;\n\n margin-top: 24px;\n margin-bottom: 24px;\n }\n\n h3 {\n @include typo-display-1;\n\n margin-top: 24px;\n margin-bottom: 24px;\n }\n\n h4 {\n @include typo-headline;\n\n margin-top: 24px;\n margin-bottom: 16px;\n }\n\n h5 {\n @include typo-title;\n\n margin-top: 24px;\n margin-bottom: 16px;\n }\n\n h6 {\n @include typo-subhead;\n\n margin-top: 24px;\n margin-bottom: 16px;\n }\n\n p {\n @include typo-body-1;\n\n margin-bottom: 16px;\n }\n\n a {\n color: $text-link-color;\n font-weight: 500;\n }\n\n blockquote {\n @include typo-blockquote;\n }\n\n mark {\n background-color: #f4ff81;\n }\n\n dt {\n font-weight: 700;\n }\n\n address {\n @include typo-caption;\n\n font-style: normal;\n }\n\n ul, ol {\n @include typo-body-1;\n }\n}\n\n/**\n * Class Name Styles\n */\n\n.mdl-typography--display-4 {\n @include typo-display-4;\n}\n\n.mdl-typography--display-4-color-contrast {\n @include typo-display-4($colorContrast: true);\n}\n\n.mdl-typography--display-3 {\n @include typo-display-3;\n}\n\n.mdl-typography--display-3-color-contrast {\n @include typo-display-3($colorContrast: true);\n}\n\n.mdl-typography--display-2 {\n @include typo-display-2;\n}\n\n.mdl-typography--display-2-color-contrast {\n @include typo-display-2($colorContrast: true);\n}\n\n.mdl-typography--display-1 {\n @include typo-display-1;\n}\n\n.mdl-typography--display-1-color-contrast {\n @include typo-display-1($colorContrast: true);\n}\n\n.mdl-typography--headline {\n @include typo-headline;\n}\n\n.mdl-typography--headline-color-contrast {\n @include typo-headline($colorContrast: true);\n}\n\n.mdl-typography--title {\n @include typo-title;\n}\n\n.mdl-typography--title-color-contrast {\n @include typo-title($colorContrast: true);\n}\n\n.mdl-typography--subhead {\n @include typo-subhead;\n}\n\n.mdl-typography--subhead-color-contrast {\n @include typo-subhead($colorContrast: true);\n}\n\n.mdl-typography--body-2 {\n @include typo-body-2;\n}\n\n.mdl-typography--body-2-color-contrast {\n @include typo-body-2($colorContrast: true);\n}\n\n.mdl-typography--body-1 {\n @include typo-body-1;\n}\n\n.mdl-typography--body-1-color-contrast {\n @include typo-body-1($colorContrast: true);\n}\n\n.mdl-typography--body-2-force-preferred-font {\n @include typo-body-2($usePreferred: true);\n}\n\n.mdl-typography--body-2-force-preferred-font-color-contrast {\n @include typo-body-2($colorContrast: true, $usePreferred: true);\n}\n\n.mdl-typography--body-1-force-preferred-font {\n @include typo-body-1($usePreferred: true);\n}\n\n.mdl-typography--body-1-force-preferred-font-color-contrast {\n @include typo-body-1($colorContrast: true, $usePreferred: true);\n}\n\n.mdl-typography--caption {\n @include typo-caption;\n}\n\n.mdl-typography--caption-force-preferred-font {\n @include typo-caption($usePreferred: true);\n}\n\n.mdl-typography--caption-color-contrast {\n @include typo-caption($colorContrast: true);\n}\n\n.mdl-typography--caption-force-preferred-font-color-contrast {\n @include typo-caption($colorContrast: true, $usePreferred: true);\n}\n\n.mdl-typography--menu {\n @include typo-menu;\n}\n\n.mdl-typography--menu-color-contrast {\n @include typo-menu($colorContrast: true);\n}\n\n.mdl-typography--button {\n @include typo-button;\n}\n\n.mdl-typography--button-color-contrast {\n @include typo-button($colorContrast: true);\n}\n\n.mdl-typography--text-left {\n text-align: left;\n}\n\n.mdl-typography--text-right {\n text-align: right;\n}\n\n.mdl-typography--text-center {\n text-align: center;\n}\n\n.mdl-typography--text-justify {\n text-align: justify;\n}\n\n.mdl-typography--text-nowrap {\n white-space: nowrap;\n}\n\n.mdl-typography--text-lowercase {\n text-transform: lowercase;\n}\n\n.mdl-typography--text-uppercase {\n text-transform: uppercase;\n}\n\n.mdl-typography--text-capitalize {\n text-transform: capitalize;\n}\n\n.mdl-typography--font-thin {\n font-weight: 200 !important;\n}\n\n.mdl-typography--font-light {\n font-weight: 300 !important;\n}\n\n.mdl-typography--font-regular {\n font-weight: 400 !important;\n}\n\n.mdl-typography--font-medium {\n font-weight: 500 !important;\n}\n\n.mdl-typography--font-bold {\n font-weight: 700 !important;\n}\n\n.mdl-typography--font-black {\n font-weight: 900 !important;\n}\n\n.material-icons {\n @include typo-icon;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n@if $trim-color-classes == false {\n // Red\n\n .mdl-color-text--red {\n color: unquote(\"rgb(#{$palette-red-500})\") !important;\n }\n\n .mdl-color--red {\n background-color: unquote(\"rgb(#{$palette-red-500})\") !important;\n }\n\n .mdl-color-text--red-50 {\n color: unquote(\"rgb(#{$palette-red-50})\") !important;\n }\n\n .mdl-color--red-50 {\n background-color: unquote(\"rgb(#{$palette-red-50})\") !important;\n }\n\n .mdl-color-text--red-100 {\n color: unquote(\"rgb(#{$palette-red-100})\") !important;\n }\n\n .mdl-color--red-100 {\n background-color: unquote(\"rgb(#{$palette-red-100})\") !important;\n }\n\n .mdl-color-text--red-200 {\n color: unquote(\"rgb(#{$palette-red-200})\") !important;\n }\n\n .mdl-color--red-200 {\n background-color: unquote(\"rgb(#{$palette-red-200})\") !important;\n }\n\n .mdl-color-text--red-300 {\n color: unquote(\"rgb(#{$palette-red-300})\") !important;\n }\n\n .mdl-color--red-300 {\n background-color: unquote(\"rgb(#{$palette-red-300})\") !important;\n }\n\n .mdl-color-text--red-400 {\n color: unquote(\"rgb(#{$palette-red-400})\") !important;\n }\n\n .mdl-color--red-400 {\n background-color: unquote(\"rgb(#{$palette-red-400})\") !important;\n }\n\n .mdl-color-text--red-500 {\n color: unquote(\"rgb(#{$palette-red-500})\") !important;\n }\n\n .mdl-color--red-500 {\n background-color: unquote(\"rgb(#{$palette-red-500})\") !important;\n }\n\n .mdl-color-text--red-600 {\n color: unquote(\"rgb(#{$palette-red-600})\") !important;\n }\n\n .mdl-color--red-600 {\n background-color: unquote(\"rgb(#{$palette-red-600})\") !important;\n }\n\n .mdl-color-text--red-700 {\n color: unquote(\"rgb(#{$palette-red-700})\") !important;\n }\n\n .mdl-color--red-700 {\n background-color: unquote(\"rgb(#{$palette-red-700})\") !important;\n }\n\n .mdl-color-text--red-800 {\n color: unquote(\"rgb(#{$palette-red-800})\") !important;\n }\n\n .mdl-color--red-800 {\n background-color: unquote(\"rgb(#{$palette-red-800})\") !important;\n }\n\n .mdl-color-text--red-900 {\n color: unquote(\"rgb(#{$palette-red-900})\") !important;\n }\n\n .mdl-color--red-900 {\n background-color: unquote(\"rgb(#{$palette-red-900})\") !important;\n }\n\n .mdl-color-text--red-A100 {\n color: unquote(\"rgb(#{$palette-red-A100})\") !important;\n }\n\n .mdl-color--red-A100 {\n background-color: unquote(\"rgb(#{$palette-red-A100})\") !important;\n }\n\n .mdl-color-text--red-A200 {\n color: unquote(\"rgb(#{$palette-red-A200})\") !important;\n }\n\n .mdl-color--red-A200 {\n background-color: unquote(\"rgb(#{$palette-red-A200})\") !important;\n }\n\n .mdl-color-text--red-A400 {\n color: unquote(\"rgb(#{$palette-red-A400})\") !important;\n }\n\n .mdl-color--red-A400 {\n background-color: unquote(\"rgb(#{$palette-red-A400})\") !important;\n }\n\n .mdl-color-text--red-A700 {\n color: unquote(\"rgb(#{$palette-red-A700})\") !important;\n }\n\n .mdl-color--red-A700 {\n background-color: unquote(\"rgb(#{$palette-red-A700})\") !important;\n }\n\n // Pink\n\n .mdl-color-text--pink {\n color: unquote(\"rgb(#{$palette-pink-500})\") !important;\n }\n\n .mdl-color--pink {\n background-color: unquote(\"rgb(#{$palette-pink-500})\") !important;\n }\n\n .mdl-color-text--pink-50 {\n color: unquote(\"rgb(#{$palette-pink-50})\") !important;\n }\n\n .mdl-color--pink-50 {\n background-color: unquote(\"rgb(#{$palette-pink-50})\") !important;\n }\n\n .mdl-color-text--pink-100 {\n color: unquote(\"rgb(#{$palette-pink-100})\") !important;\n }\n\n .mdl-color--pink-100 {\n background-color: unquote(\"rgb(#{$palette-pink-100})\") !important;\n }\n\n .mdl-color-text--pink-200 {\n color: unquote(\"rgb(#{$palette-pink-200})\") !important;\n }\n\n .mdl-color--pink-200 {\n background-color: unquote(\"rgb(#{$palette-pink-200})\") !important;\n }\n\n .mdl-color-text--pink-300 {\n color: unquote(\"rgb(#{$palette-pink-300})\") !important;\n }\n\n .mdl-color--pink-300 {\n background-color: unquote(\"rgb(#{$palette-pink-300})\") !important;\n }\n\n .mdl-color-text--pink-400 {\n color: unquote(\"rgb(#{$palette-pink-400})\") !important;\n }\n\n .mdl-color--pink-400 {\n background-color: unquote(\"rgb(#{$palette-pink-400})\") !important;\n }\n\n .mdl-color-text--pink-500 {\n color: unquote(\"rgb(#{$palette-pink-500})\") !important;\n }\n\n .mdl-color--pink-500 {\n background-color: unquote(\"rgb(#{$palette-pink-500})\") !important;\n }\n\n .mdl-color-text--pink-600 {\n color: unquote(\"rgb(#{$palette-pink-600})\") !important;\n }\n\n .mdl-color--pink-600 {\n background-color: unquote(\"rgb(#{$palette-pink-600})\") !important;\n }\n\n .mdl-color-text--pink-700 {\n color: unquote(\"rgb(#{$palette-pink-700})\") !important;\n }\n\n .mdl-color--pink-700 {\n background-color: unquote(\"rgb(#{$palette-pink-700})\") !important;\n }\n\n .mdl-color-text--pink-800 {\n color: unquote(\"rgb(#{$palette-pink-800})\") !important;\n }\n\n .mdl-color--pink-800 {\n background-color: unquote(\"rgb(#{$palette-pink-800})\") !important;\n }\n\n .mdl-color-text--pink-900 {\n color: unquote(\"rgb(#{$palette-pink-900})\") !important;\n }\n\n .mdl-color--pink-900 {\n background-color: unquote(\"rgb(#{$palette-pink-900})\") !important;\n }\n\n .mdl-color-text--pink-A100 {\n color: unquote(\"rgb(#{$palette-pink-A100})\") !important;\n }\n\n .mdl-color--pink-A100 {\n background-color: unquote(\"rgb(#{$palette-pink-A100})\") !important;\n }\n\n .mdl-color-text--pink-A200 {\n color: unquote(\"rgb(#{$palette-pink-A200})\") !important;\n }\n\n .mdl-color--pink-A200 {\n background-color: unquote(\"rgb(#{$palette-pink-A200})\") !important;\n }\n\n .mdl-color-text--pink-A400 {\n color: unquote(\"rgb(#{$palette-pink-A400})\") !important;\n }\n\n .mdl-color--pink-A400 {\n background-color: unquote(\"rgb(#{$palette-pink-A400})\") !important;\n }\n\n .mdl-color-text--pink-A700 {\n color: unquote(\"rgb(#{$palette-pink-A700})\") !important;\n }\n\n .mdl-color--pink-A700 {\n background-color: unquote(\"rgb(#{$palette-pink-A700})\") !important;\n }\n\n // Purple\n\n .mdl-color-text--purple {\n color: unquote(\"rgb(#{$palette-purple-500})\") !important;\n }\n\n .mdl-color--purple {\n background-color: unquote(\"rgb(#{$palette-purple-500})\") !important;\n }\n\n .mdl-color-text--purple-50 {\n color: unquote(\"rgb(#{$palette-purple-50})\") !important;\n }\n\n .mdl-color--purple-50 {\n background-color: unquote(\"rgb(#{$palette-purple-50})\") !important;\n }\n\n .mdl-color-text--purple-100 {\n color: unquote(\"rgb(#{$palette-purple-100})\") !important;\n }\n\n .mdl-color--purple-100 {\n background-color: unquote(\"rgb(#{$palette-purple-100})\") !important;\n }\n\n .mdl-color-text--purple-200 {\n color: unquote(\"rgb(#{$palette-purple-200})\") !important;\n }\n\n .mdl-color--purple-200 {\n background-color: unquote(\"rgb(#{$palette-purple-200})\") !important;\n }\n\n .mdl-color-text--purple-300 {\n color: unquote(\"rgb(#{$palette-purple-300})\") !important;\n }\n\n .mdl-color--purple-300 {\n background-color: unquote(\"rgb(#{$palette-purple-300})\") !important;\n }\n\n .mdl-color-text--purple-400 {\n color: unquote(\"rgb(#{$palette-purple-400})\") !important;\n }\n\n .mdl-color--purple-400 {\n background-color: unquote(\"rgb(#{$palette-purple-400})\") !important;\n }\n\n .mdl-color-text--purple-500 {\n color: unquote(\"rgb(#{$palette-purple-500})\") !important;\n }\n\n .mdl-color--purple-500 {\n background-color: unquote(\"rgb(#{$palette-purple-500})\") !important;\n }\n\n .mdl-color-text--purple-600 {\n color: unquote(\"rgb(#{$palette-purple-600})\") !important;\n }\n\n .mdl-color--purple-600 {\n background-color: unquote(\"rgb(#{$palette-purple-600})\") !important;\n }\n\n .mdl-color-text--purple-700 {\n color: unquote(\"rgb(#{$palette-purple-700})\") !important;\n }\n\n .mdl-color--purple-700 {\n background-color: unquote(\"rgb(#{$palette-purple-700})\") !important;\n }\n\n .mdl-color-text--purple-800 {\n color: unquote(\"rgb(#{$palette-purple-800})\") !important;\n }\n\n .mdl-color--purple-800 {\n background-color: unquote(\"rgb(#{$palette-purple-800})\") !important;\n }\n\n .mdl-color-text--purple-900 {\n color: unquote(\"rgb(#{$palette-purple-900})\") !important;\n }\n\n .mdl-color--purple-900 {\n background-color: unquote(\"rgb(#{$palette-purple-900})\") !important;\n }\n\n .mdl-color-text--purple-A100 {\n color: unquote(\"rgb(#{$palette-purple-A100})\") !important;\n }\n\n .mdl-color--purple-A100 {\n background-color: unquote(\"rgb(#{$palette-purple-A100})\") !important;\n }\n\n .mdl-color-text--purple-A200 {\n color: unquote(\"rgb(#{$palette-purple-A200})\") !important;\n }\n\n .mdl-color--purple-A200 {\n background-color: unquote(\"rgb(#{$palette-purple-A200})\") !important;\n }\n\n .mdl-color-text--purple-A400 {\n color: unquote(\"rgb(#{$palette-purple-A400})\") !important;\n }\n\n .mdl-color--purple-A400 {\n background-color: unquote(\"rgb(#{$palette-purple-A400})\") !important;\n }\n\n .mdl-color-text--purple-A700 {\n color: unquote(\"rgb(#{$palette-purple-A700})\") !important;\n }\n\n .mdl-color--purple-A700 {\n background-color: unquote(\"rgb(#{$palette-purple-A700})\") !important;\n }\n\n // Deep Purple.\n\n .mdl-color-text--deep-purple {\n color: unquote(\"rgb(#{$palette-deep-purple-500})\") !important;\n }\n\n .mdl-color--deep-purple {\n background-color: unquote(\"rgb(#{$palette-deep-purple-500})\") !important;\n }\n\n .mdl-color-text--deep-purple-50 {\n color: unquote(\"rgb(#{$palette-deep-purple-50})\") !important;\n }\n\n .mdl-color--deep-purple-50 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-50})\") !important;\n }\n\n .mdl-color-text--deep-purple-100 {\n color: unquote(\"rgb(#{$palette-deep-purple-100})\") !important;\n }\n\n .mdl-color--deep-purple-100 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-100})\") !important;\n }\n\n .mdl-color-text--deep-purple-200 {\n color: unquote(\"rgb(#{$palette-deep-purple-200})\") !important;\n }\n\n .mdl-color--deep-purple-200 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-200})\") !important;\n }\n\n .mdl-color-text--deep-purple-300 {\n color: unquote(\"rgb(#{$palette-deep-purple-300})\") !important;\n }\n\n .mdl-color--deep-purple-300 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-300})\") !important;\n }\n\n .mdl-color-text--deep-purple-400 {\n color: unquote(\"rgb(#{$palette-deep-purple-400})\") !important;\n }\n\n .mdl-color--deep-purple-400 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-400})\") !important;\n }\n\n .mdl-color-text--deep-purple-500 {\n color: unquote(\"rgb(#{$palette-deep-purple-500})\") !important;\n }\n\n .mdl-color--deep-purple-500 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-500})\") !important;\n }\n\n .mdl-color-text--deep-purple-600 {\n color: unquote(\"rgb(#{$palette-deep-purple-600})\") !important;\n }\n\n .mdl-color--deep-purple-600 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-600})\") !important;\n }\n\n .mdl-color-text--deep-purple-700 {\n color: unquote(\"rgb(#{$palette-deep-purple-700})\") !important;\n }\n\n .mdl-color--deep-purple-700 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-700})\") !important;\n }\n\n .mdl-color-text--deep-purple-800 {\n color: unquote(\"rgb(#{$palette-deep-purple-800})\") !important;\n }\n\n .mdl-color--deep-purple-800 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-800})\") !important;\n }\n\n .mdl-color-text--deep-purple-900 {\n color: unquote(\"rgb(#{$palette-deep-purple-900})\") !important;\n }\n\n .mdl-color--deep-purple-900 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-900})\") !important;\n }\n\n .mdl-color-text--deep-purple-A100 {\n color: unquote(\"rgb(#{$palette-deep-purple-A100})\") !important;\n }\n\n .mdl-color--deep-purple-A100 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-A100})\") !important;\n }\n\n .mdl-color-text--deep-purple-A200 {\n color: unquote(\"rgb(#{$palette-deep-purple-A200})\") !important;\n }\n\n .mdl-color--deep-purple-A200 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-A200})\") !important;\n }\n\n .mdl-color-text--deep-purple-A400 {\n color: unquote(\"rgb(#{$palette-deep-purple-A400})\") !important;\n }\n\n .mdl-color--deep-purple-A400 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-A400})\") !important;\n }\n\n .mdl-color-text--deep-purple-A700 {\n color: unquote(\"rgb(#{$palette-deep-purple-A700})\") !important;\n }\n\n .mdl-color--deep-purple-A700 {\n background-color: unquote(\"rgb(#{$palette-deep-purple-A700})\") !important;\n }\n\n // Indigo\n\n .mdl-color-text--indigo {\n color: unquote(\"rgb(#{$palette-indigo-500})\") !important;\n }\n\n .mdl-color--indigo {\n background-color: unquote(\"rgb(#{$palette-indigo-500})\") !important;\n }\n\n .mdl-color-text--indigo-50 {\n color: unquote(\"rgb(#{$palette-indigo-50})\") !important;\n }\n\n .mdl-color--indigo-50 {\n background-color: unquote(\"rgb(#{$palette-indigo-50})\") !important;\n }\n\n .mdl-color-text--indigo-100 {\n color: unquote(\"rgb(#{$palette-indigo-100})\") !important;\n }\n\n .mdl-color--indigo-100 {\n background-color: unquote(\"rgb(#{$palette-indigo-100})\") !important;\n }\n\n .mdl-color-text--indigo-200 {\n color: unquote(\"rgb(#{$palette-indigo-200})\") !important;\n }\n\n .mdl-color--indigo-200 {\n background-color: unquote(\"rgb(#{$palette-indigo-200})\") !important;\n }\n\n .mdl-color-text--indigo-300 {\n color: unquote(\"rgb(#{$palette-indigo-300})\") !important;\n }\n\n .mdl-color--indigo-300 {\n background-color: unquote(\"rgb(#{$palette-indigo-300})\") !important;\n }\n\n .mdl-color-text--indigo-400 {\n color: unquote(\"rgb(#{$palette-indigo-400})\") !important;\n }\n\n .mdl-color--indigo-400 {\n background-color: unquote(\"rgb(#{$palette-indigo-400})\") !important;\n }\n\n .mdl-color-text--indigo-500 {\n color: unquote(\"rgb(#{$palette-indigo-500})\") !important;\n }\n\n .mdl-color--indigo-500 {\n background-color: unquote(\"rgb(#{$palette-indigo-500})\") !important;\n }\n\n .mdl-color-text--indigo-600 {\n color: unquote(\"rgb(#{$palette-indigo-600})\") !important;\n }\n\n .mdl-color--indigo-600 {\n background-color: unquote(\"rgb(#{$palette-indigo-600})\") !important;\n }\n\n .mdl-color-text--indigo-700 {\n color: unquote(\"rgb(#{$palette-indigo-700})\") !important;\n }\n\n .mdl-color--indigo-700 {\n background-color: unquote(\"rgb(#{$palette-indigo-700})\") !important;\n }\n\n .mdl-color-text--indigo-800 {\n color: unquote(\"rgb(#{$palette-indigo-800})\") !important;\n }\n\n .mdl-color--indigo-800 {\n background-color: unquote(\"rgb(#{$palette-indigo-800})\") !important;\n }\n\n .mdl-color-text--indigo-900 {\n color: unquote(\"rgb(#{$palette-indigo-900})\") !important;\n }\n\n .mdl-color--indigo-900 {\n background-color: unquote(\"rgb(#{$palette-indigo-900})\") !important;\n }\n\n .mdl-color-text--indigo-A100 {\n color: unquote(\"rgb(#{$palette-indigo-A100})\") !important;\n }\n\n .mdl-color--indigo-A100 {\n background-color: unquote(\"rgb(#{$palette-indigo-A100})\") !important;\n }\n\n .mdl-color-text--indigo-A200 {\n color: unquote(\"rgb(#{$palette-indigo-A200})\") !important;\n }\n\n .mdl-color--indigo-A200 {\n background-color: unquote(\"rgb(#{$palette-indigo-A200})\") !important;\n }\n\n .mdl-color-text--indigo-A400 {\n color: unquote(\"rgb(#{$palette-indigo-A400})\") !important;\n }\n\n .mdl-color--indigo-A400 {\n background-color: unquote(\"rgb(#{$palette-indigo-A400})\") !important;\n }\n\n .mdl-color-text--indigo-A700 {\n color: unquote(\"rgb(#{$palette-indigo-A700})\") !important;\n }\n\n .mdl-color--indigo-A700 {\n background-color: unquote(\"rgb(#{$palette-indigo-A700})\") !important;\n }\n\n // Blue\n\n .mdl-color-text--blue {\n color: unquote(\"rgb(#{$palette-blue-500})\") !important;\n }\n\n .mdl-color--blue {\n background-color: unquote(\"rgb(#{$palette-blue-500})\") !important;\n }\n\n .mdl-color-text--blue-50 {\n color: unquote(\"rgb(#{$palette-blue-50})\") !important;\n }\n\n .mdl-color--blue-50 {\n background-color: unquote(\"rgb(#{$palette-blue-50})\") !important;\n }\n\n .mdl-color-text--blue-100 {\n color: unquote(\"rgb(#{$palette-blue-100})\") !important;\n }\n\n .mdl-color--blue-100 {\n background-color: unquote(\"rgb(#{$palette-blue-100})\") !important;\n }\n\n .mdl-color-text--blue-200 {\n color: unquote(\"rgb(#{$palette-blue-200})\") !important;\n }\n\n .mdl-color--blue-200 {\n background-color: unquote(\"rgb(#{$palette-blue-200})\") !important;\n }\n\n .mdl-color-text--blue-300 {\n color: unquote(\"rgb(#{$palette-blue-300})\") !important;\n }\n\n .mdl-color--blue-300 {\n background-color: unquote(\"rgb(#{$palette-blue-300})\") !important;\n }\n\n .mdl-color-text--blue-400 {\n color: unquote(\"rgb(#{$palette-blue-400})\") !important;\n }\n\n .mdl-color--blue-400 {\n background-color: unquote(\"rgb(#{$palette-blue-400})\") !important;\n }\n\n .mdl-color-text--blue-500 {\n color: unquote(\"rgb(#{$palette-blue-500})\") !important;\n }\n\n .mdl-color--blue-500 {\n background-color: unquote(\"rgb(#{$palette-blue-500})\") !important;\n }\n\n .mdl-color-text--blue-600 {\n color: unquote(\"rgb(#{$palette-blue-600})\") !important;\n }\n\n .mdl-color--blue-600 {\n background-color: unquote(\"rgb(#{$palette-blue-600})\") !important;\n }\n\n .mdl-color-text--blue-700 {\n color: unquote(\"rgb(#{$palette-blue-700})\") !important;\n }\n\n .mdl-color--blue-700 {\n background-color: unquote(\"rgb(#{$palette-blue-700})\") !important;\n }\n\n .mdl-color-text--blue-800 {\n color: unquote(\"rgb(#{$palette-blue-800})\") !important;\n }\n\n .mdl-color--blue-800 {\n background-color: unquote(\"rgb(#{$palette-blue-800})\") !important;\n }\n\n .mdl-color-text--blue-900 {\n color: unquote(\"rgb(#{$palette-blue-900})\") !important;\n }\n\n .mdl-color--blue-900 {\n background-color: unquote(\"rgb(#{$palette-blue-900})\") !important;\n }\n\n .mdl-color-text--blue-A100 {\n color: unquote(\"rgb(#{$palette-blue-A100})\") !important;\n }\n\n .mdl-color--blue-A100 {\n background-color: unquote(\"rgb(#{$palette-blue-A100})\") !important;\n }\n\n .mdl-color-text--blue-A200 {\n color: unquote(\"rgb(#{$palette-blue-A200})\") !important;\n }\n\n .mdl-color--blue-A200 {\n background-color: unquote(\"rgb(#{$palette-blue-A200})\") !important;\n }\n\n .mdl-color-text--blue-A400 {\n color: unquote(\"rgb(#{$palette-blue-A400})\") !important;\n }\n\n .mdl-color--blue-A400 {\n background-color: unquote(\"rgb(#{$palette-blue-A400})\") !important;\n }\n\n .mdl-color-text--blue-A700 {\n color: unquote(\"rgb(#{$palette-blue-A700})\") !important;\n }\n\n .mdl-color--blue-A700 {\n background-color: unquote(\"rgb(#{$palette-blue-A700})\") !important;\n }\n\n // Light Blue\n\n .mdl-color-text--light-blue {\n color: unquote(\"rgb(#{$palette-light-blue-500})\") !important;\n }\n\n .mdl-color--light-blue {\n background-color: unquote(\"rgb(#{$palette-light-blue-500})\") !important;\n }\n\n .mdl-color-text--light-blue-50 {\n color: unquote(\"rgb(#{$palette-light-blue-50})\") !important;\n }\n\n .mdl-color--light-blue-50 {\n background-color: unquote(\"rgb(#{$palette-light-blue-50})\") !important;\n }\n\n .mdl-color-text--light-blue-100 {\n color: unquote(\"rgb(#{$palette-light-blue-100})\") !important;\n }\n\n .mdl-color--light-blue-100 {\n background-color: unquote(\"rgb(#{$palette-light-blue-100})\") !important;\n }\n\n .mdl-color-text--light-blue-200 {\n color: unquote(\"rgb(#{$palette-light-blue-200})\") !important;\n }\n\n .mdl-color--light-blue-200 {\n background-color: unquote(\"rgb(#{$palette-light-blue-200})\") !important;\n }\n\n .mdl-color-text--light-blue-300 {\n color: unquote(\"rgb(#{$palette-light-blue-300})\") !important;\n }\n\n .mdl-color--light-blue-300 {\n background-color: unquote(\"rgb(#{$palette-light-blue-300})\") !important;\n }\n\n .mdl-color-text--light-blue-400 {\n color: unquote(\"rgb(#{$palette-light-blue-400})\") !important;\n }\n\n .mdl-color--light-blue-400 {\n background-color: unquote(\"rgb(#{$palette-light-blue-400})\") !important;\n }\n\n .mdl-color-text--light-blue-500 {\n color: unquote(\"rgb(#{$palette-light-blue-500})\") !important;\n }\n\n .mdl-color--light-blue-500 {\n background-color: unquote(\"rgb(#{$palette-light-blue-500})\") !important;\n }\n\n .mdl-color-text--light-blue-600 {\n color: unquote(\"rgb(#{$palette-light-blue-600})\") !important;\n }\n\n .mdl-color--light-blue-600 {\n background-color: unquote(\"rgb(#{$palette-light-blue-600})\") !important;\n }\n\n .mdl-color-text--light-blue-700 {\n color: unquote(\"rgb(#{$palette-light-blue-700})\") !important;\n }\n\n .mdl-color--light-blue-700 {\n background-color: unquote(\"rgb(#{$palette-light-blue-700})\") !important;\n }\n\n .mdl-color-text--light-blue-800 {\n color: unquote(\"rgb(#{$palette-light-blue-800})\") !important;\n }\n\n .mdl-color--light-blue-800 {\n background-color: unquote(\"rgb(#{$palette-light-blue-800})\") !important;\n }\n\n .mdl-color-text--light-blue-900 {\n color: unquote(\"rgb(#{$palette-light-blue-900})\") !important;\n }\n\n .mdl-color--light-blue-900 {\n background-color: unquote(\"rgb(#{$palette-light-blue-900})\") !important;\n }\n\n .mdl-color-text--light-blue-A100 {\n color: unquote(\"rgb(#{$palette-light-blue-A100})\") !important;\n }\n\n .mdl-color--light-blue-A100 {\n background-color: unquote(\"rgb(#{$palette-light-blue-A100})\") !important;\n }\n\n .mdl-color-text--light-blue-A200 {\n color: unquote(\"rgb(#{$palette-light-blue-A200})\") !important;\n }\n\n .mdl-color--light-blue-A200 {\n background-color: unquote(\"rgb(#{$palette-light-blue-A200})\") !important;\n }\n\n .mdl-color-text--light-blue-A400 {\n color: unquote(\"rgb(#{$palette-light-blue-A400})\") !important;\n }\n\n .mdl-color--light-blue-A400 {\n background-color: unquote(\"rgb(#{$palette-light-blue-A400})\") !important;\n }\n\n .mdl-color-text--light-blue-A700 {\n color: unquote(\"rgb(#{$palette-light-blue-A700})\") !important;\n }\n\n .mdl-color--light-blue-A700 {\n background-color: unquote(\"rgb(#{$palette-light-blue-A700})\") !important;\n }\n\n // Cyan\n\n .mdl-color-text--cyan {\n color: unquote(\"rgb(#{$palette-cyan-500})\") !important;\n }\n\n .mdl-color--cyan {\n background-color: unquote(\"rgb(#{$palette-cyan-500})\") !important;\n }\n\n .mdl-color-text--cyan-50 {\n color: unquote(\"rgb(#{$palette-cyan-50})\") !important;\n }\n\n .mdl-color--cyan-50 {\n background-color: unquote(\"rgb(#{$palette-cyan-50})\") !important;\n }\n\n .mdl-color-text--cyan-100 {\n color: unquote(\"rgb(#{$palette-cyan-100})\") !important;\n }\n\n .mdl-color--cyan-100 {\n background-color: unquote(\"rgb(#{$palette-cyan-100})\") !important;\n }\n\n .mdl-color-text--cyan-200 {\n color: unquote(\"rgb(#{$palette-cyan-200})\") !important;\n }\n\n .mdl-color--cyan-200 {\n background-color: unquote(\"rgb(#{$palette-cyan-200})\") !important;\n }\n\n .mdl-color-text--cyan-300 {\n color: unquote(\"rgb(#{$palette-cyan-300})\") !important;\n }\n\n .mdl-color--cyan-300 {\n background-color: unquote(\"rgb(#{$palette-cyan-300})\") !important;\n }\n\n .mdl-color-text--cyan-400 {\n color: unquote(\"rgb(#{$palette-cyan-400})\") !important;\n }\n\n .mdl-color--cyan-400 {\n background-color: unquote(\"rgb(#{$palette-cyan-400})\") !important;\n }\n\n .mdl-color-text--cyan-500 {\n color: unquote(\"rgb(#{$palette-cyan-500})\") !important;\n }\n\n .mdl-color--cyan-500 {\n background-color: unquote(\"rgb(#{$palette-cyan-500})\") !important;\n }\n\n .mdl-color-text--cyan-600 {\n color: unquote(\"rgb(#{$palette-cyan-600})\") !important;\n }\n\n .mdl-color--cyan-600 {\n background-color: unquote(\"rgb(#{$palette-cyan-600})\") !important;\n }\n\n .mdl-color-text--cyan-700 {\n color: unquote(\"rgb(#{$palette-cyan-700})\") !important;\n }\n\n .mdl-color--cyan-700 {\n background-color: unquote(\"rgb(#{$palette-cyan-700})\") !important;\n }\n\n .mdl-color-text--cyan-800 {\n color: unquote(\"rgb(#{$palette-cyan-800})\") !important;\n }\n\n .mdl-color--cyan-800 {\n background-color: unquote(\"rgb(#{$palette-cyan-800})\") !important;\n }\n\n .mdl-color-text--cyan-900 {\n color: unquote(\"rgb(#{$palette-cyan-900})\") !important;\n }\n\n .mdl-color--cyan-900 {\n background-color: unquote(\"rgb(#{$palette-cyan-900})\") !important;\n }\n\n .mdl-color-text--cyan-A100 {\n color: unquote(\"rgb(#{$palette-cyan-A100})\") !important;\n }\n\n .mdl-color--cyan-A100 {\n background-color: unquote(\"rgb(#{$palette-cyan-A100})\") !important;\n }\n\n .mdl-color-text--cyan-A200 {\n color: unquote(\"rgb(#{$palette-cyan-A200})\") !important;\n }\n\n .mdl-color--cyan-A200 {\n background-color: unquote(\"rgb(#{$palette-cyan-A200})\") !important;\n }\n\n .mdl-color-text--cyan-A400 {\n color: unquote(\"rgb(#{$palette-cyan-A400})\") !important;\n }\n\n .mdl-color--cyan-A400 {\n background-color: unquote(\"rgb(#{$palette-cyan-A400})\") !important;\n }\n\n .mdl-color-text--cyan-A700 {\n color: unquote(\"rgb(#{$palette-cyan-A700})\") !important;\n }\n\n .mdl-color--cyan-A700 {\n background-color: unquote(\"rgb(#{$palette-cyan-A700})\") !important;\n }\n\n // Teal\n\n .mdl-color-text--teal {\n color: unquote(\"rgb(#{$palette-teal-500})\") !important;\n }\n\n .mdl-color--teal {\n background-color: unquote(\"rgb(#{$palette-teal-500})\") !important;\n }\n\n .mdl-color-text--teal-50 {\n color: unquote(\"rgb(#{$palette-teal-50})\") !important;\n }\n\n .mdl-color--teal-50 {\n background-color: unquote(\"rgb(#{$palette-teal-50})\") !important;\n }\n\n .mdl-color-text--teal-100 {\n color: unquote(\"rgb(#{$palette-teal-100})\") !important;\n }\n\n .mdl-color--teal-100 {\n background-color: unquote(\"rgb(#{$palette-teal-100})\") !important;\n }\n\n .mdl-color-text--teal-200 {\n color: unquote(\"rgb(#{$palette-teal-200})\") !important;\n }\n\n .mdl-color--teal-200 {\n background-color: unquote(\"rgb(#{$palette-teal-200})\") !important;\n }\n\n .mdl-color-text--teal-300 {\n color: unquote(\"rgb(#{$palette-teal-300})\") !important;\n }\n\n .mdl-color--teal-300 {\n background-color: unquote(\"rgb(#{$palette-teal-300})\") !important;\n }\n\n .mdl-color-text--teal-400 {\n color: unquote(\"rgb(#{$palette-teal-400})\") !important;\n }\n\n .mdl-color--teal-400 {\n background-color: unquote(\"rgb(#{$palette-teal-400})\") !important;\n }\n\n .mdl-color-text--teal-500 {\n color: unquote(\"rgb(#{$palette-teal-500})\") !important;\n }\n\n .mdl-color--teal-500 {\n background-color: unquote(\"rgb(#{$palette-teal-500})\") !important;\n }\n\n .mdl-color-text--teal-600 {\n color: unquote(\"rgb(#{$palette-teal-600})\") !important;\n }\n\n .mdl-color--teal-600 {\n background-color: unquote(\"rgb(#{$palette-teal-600})\") !important;\n }\n\n .mdl-color-text--teal-700 {\n color: unquote(\"rgb(#{$palette-teal-700})\") !important;\n }\n\n .mdl-color--teal-700 {\n background-color: unquote(\"rgb(#{$palette-teal-700})\") !important;\n }\n\n .mdl-color-text--teal-800 {\n color: unquote(\"rgb(#{$palette-teal-800})\") !important;\n }\n\n .mdl-color--teal-800 {\n background-color: unquote(\"rgb(#{$palette-teal-800})\") !important;\n }\n\n .mdl-color-text--teal-900 {\n color: unquote(\"rgb(#{$palette-teal-900})\") !important;\n }\n\n .mdl-color--teal-900 {\n background-color: unquote(\"rgb(#{$palette-teal-900})\") !important;\n }\n\n .mdl-color-text--teal-A100 {\n color: unquote(\"rgb(#{$palette-teal-A100})\") !important;\n }\n\n .mdl-color--teal-A100 {\n background-color: unquote(\"rgb(#{$palette-teal-A100})\") !important;\n }\n\n .mdl-color-text--teal-A200 {\n color: unquote(\"rgb(#{$palette-teal-A200})\") !important;\n }\n\n .mdl-color--teal-A200 {\n background-color: unquote(\"rgb(#{$palette-teal-A200})\") !important;\n }\n\n .mdl-color-text--teal-A400 {\n color: unquote(\"rgb(#{$palette-teal-A400})\") !important;\n }\n\n .mdl-color--teal-A400 {\n background-color: unquote(\"rgb(#{$palette-teal-A400})\") !important;\n }\n\n .mdl-color-text--teal-A700 {\n color: unquote(\"rgb(#{$palette-teal-A700})\") !important;\n }\n\n .mdl-color--teal-A700 {\n background-color: unquote(\"rgb(#{$palette-teal-A700})\") !important;\n }\n\n // Green\n\n .mdl-color-text--green {\n color: unquote(\"rgb(#{$palette-green-500})\") !important;\n }\n\n .mdl-color--green {\n background-color: unquote(\"rgb(#{$palette-green-500})\") !important;\n }\n\n .mdl-color-text--green-50 {\n color: unquote(\"rgb(#{$palette-green-50})\") !important;\n }\n\n .mdl-color--green-50 {\n background-color: unquote(\"rgb(#{$palette-green-50})\") !important;\n }\n\n .mdl-color-text--green-100 {\n color: unquote(\"rgb(#{$palette-green-100})\") !important;\n }\n\n .mdl-color--green-100 {\n background-color: unquote(\"rgb(#{$palette-green-100})\") !important;\n }\n\n .mdl-color-text--green-200 {\n color: unquote(\"rgb(#{$palette-green-200})\") !important;\n }\n\n .mdl-color--green-200 {\n background-color: unquote(\"rgb(#{$palette-green-200})\") !important;\n }\n\n .mdl-color-text--green-300 {\n color: unquote(\"rgb(#{$palette-green-300})\") !important;\n }\n\n .mdl-color--green-300 {\n background-color: unquote(\"rgb(#{$palette-green-300})\") !important;\n }\n\n .mdl-color-text--green-400 {\n color: unquote(\"rgb(#{$palette-green-400})\") !important;\n }\n\n .mdl-color--green-400 {\n background-color: unquote(\"rgb(#{$palette-green-400})\") !important;\n }\n\n .mdl-color-text--green-500 {\n color: unquote(\"rgb(#{$palette-green-500})\") !important;\n }\n\n .mdl-color--green-500 {\n background-color: unquote(\"rgb(#{$palette-green-500})\") !important;\n }\n\n .mdl-color-text--green-600 {\n color: unquote(\"rgb(#{$palette-green-600})\") !important;\n }\n\n .mdl-color--green-600 {\n background-color: unquote(\"rgb(#{$palette-green-600})\") !important;\n }\n\n .mdl-color-text--green-700 {\n color: unquote(\"rgb(#{$palette-green-700})\") !important;\n }\n\n .mdl-color--green-700 {\n background-color: unquote(\"rgb(#{$palette-green-700})\") !important;\n }\n\n .mdl-color-text--green-800 {\n color: unquote(\"rgb(#{$palette-green-800})\") !important;\n }\n\n .mdl-color--green-800 {\n background-color: unquote(\"rgb(#{$palette-green-800})\") !important;\n }\n\n .mdl-color-text--green-900 {\n color: unquote(\"rgb(#{$palette-green-900})\") !important;\n }\n\n .mdl-color--green-900 {\n background-color: unquote(\"rgb(#{$palette-green-900})\") !important;\n }\n\n .mdl-color-text--green-A100 {\n color: unquote(\"rgb(#{$palette-green-A100})\") !important;\n }\n\n .mdl-color--green-A100 {\n background-color: unquote(\"rgb(#{$palette-green-A100})\") !important;\n }\n\n .mdl-color-text--green-A200 {\n color: unquote(\"rgb(#{$palette-green-A200})\") !important;\n }\n\n .mdl-color--green-A200 {\n background-color: unquote(\"rgb(#{$palette-green-A200})\") !important;\n }\n\n .mdl-color-text--green-A400 {\n color: unquote(\"rgb(#{$palette-green-A400})\") !important;\n }\n\n .mdl-color--green-A400 {\n background-color: unquote(\"rgb(#{$palette-green-A400})\") !important;\n }\n\n .mdl-color-text--green-A700 {\n color: unquote(\"rgb(#{$palette-green-A700})\") !important;\n }\n\n .mdl-color--green-A700 {\n background-color: unquote(\"rgb(#{$palette-green-A700})\") !important;\n }\n\n // Light Green\n\n .mdl-color-text--light-green {\n color: unquote(\"rgb(#{$palette-light-green-500})\") !important;\n }\n\n .mdl-color--light-green {\n background-color: unquote(\"rgb(#{$palette-light-green-500})\") !important;\n }\n\n .mdl-color-text--light-green-50 {\n color: unquote(\"rgb(#{$palette-light-green-50})\") !important;\n }\n\n .mdl-color--light-green-50 {\n background-color: unquote(\"rgb(#{$palette-light-green-50})\") !important;\n }\n\n .mdl-color-text--light-green-100 {\n color: unquote(\"rgb(#{$palette-light-green-100})\") !important;\n }\n\n .mdl-color--light-green-100 {\n background-color: unquote(\"rgb(#{$palette-light-green-100})\") !important;\n }\n\n .mdl-color-text--light-green-200 {\n color: unquote(\"rgb(#{$palette-light-green-200})\") !important;\n }\n\n .mdl-color--light-green-200 {\n background-color: unquote(\"rgb(#{$palette-light-green-200})\") !important;\n }\n\n .mdl-color-text--light-green-300 {\n color: unquote(\"rgb(#{$palette-light-green-300})\") !important;\n }\n\n .mdl-color--light-green-300 {\n background-color: unquote(\"rgb(#{$palette-light-green-300})\") !important;\n }\n\n .mdl-color-text--light-green-400 {\n color: unquote(\"rgb(#{$palette-light-green-400})\") !important;\n }\n\n .mdl-color--light-green-400 {\n background-color: unquote(\"rgb(#{$palette-light-green-400})\") !important;\n }\n\n .mdl-color-text--light-green-500 {\n color: unquote(\"rgb(#{$palette-light-green-500})\") !important;\n }\n\n .mdl-color--light-green-500 {\n background-color: unquote(\"rgb(#{$palette-light-green-500})\") !important;\n }\n\n .mdl-color-text--light-green-600 {\n color: unquote(\"rgb(#{$palette-light-green-600})\") !important;\n }\n\n .mdl-color--light-green-600 {\n background-color: unquote(\"rgb(#{$palette-light-green-600})\") !important;\n }\n\n .mdl-color-text--light-green-700 {\n color: unquote(\"rgb(#{$palette-light-green-700})\") !important;\n }\n\n .mdl-color--light-green-700 {\n background-color: unquote(\"rgb(#{$palette-light-green-700})\") !important;\n }\n\n .mdl-color-text--light-green-800 {\n color: unquote(\"rgb(#{$palette-light-green-800})\") !important;\n }\n\n .mdl-color--light-green-800 {\n background-color: unquote(\"rgb(#{$palette-light-green-800})\") !important;\n }\n\n .mdl-color-text--light-green-900 {\n color: unquote(\"rgb(#{$palette-light-green-900})\") !important;\n }\n\n .mdl-color--light-green-900 {\n background-color: unquote(\"rgb(#{$palette-light-green-900})\") !important;\n }\n\n .mdl-color-text--light-green-A100 {\n color: unquote(\"rgb(#{$palette-light-green-A100})\") !important;\n }\n\n .mdl-color--light-green-A100 {\n background-color: unquote(\"rgb(#{$palette-light-green-A100})\") !important;\n }\n\n .mdl-color-text--light-green-A200 {\n color: unquote(\"rgb(#{$palette-light-green-A200})\") !important;\n }\n\n .mdl-color--light-green-A200 {\n background-color: unquote(\"rgb(#{$palette-light-green-A200})\") !important;\n }\n\n .mdl-color-text--light-green-A400 {\n color: unquote(\"rgb(#{$palette-light-green-A400})\") !important;\n }\n\n .mdl-color--light-green-A400 {\n background-color: unquote(\"rgb(#{$palette-light-green-A400})\") !important;\n }\n\n .mdl-color-text--light-green-A700 {\n color: unquote(\"rgb(#{$palette-light-green-A700})\") !important;\n }\n\n .mdl-color--light-green-A700 {\n background-color: unquote(\"rgb(#{$palette-light-green-A700})\") !important;\n }\n\n // Lime\n\n .mdl-color-text--lime {\n color: unquote(\"rgb(#{$palette-lime-500})\") !important;\n }\n\n .mdl-color--lime {\n background-color: unquote(\"rgb(#{$palette-lime-500})\") !important;\n }\n\n .mdl-color-text--lime-50 {\n color: unquote(\"rgb(#{$palette-lime-50})\") !important;\n }\n\n .mdl-color--lime-50 {\n background-color: unquote(\"rgb(#{$palette-lime-50})\") !important;\n }\n\n .mdl-color-text--lime-100 {\n color: unquote(\"rgb(#{$palette-lime-100})\") !important;\n }\n\n .mdl-color--lime-100 {\n background-color: unquote(\"rgb(#{$palette-lime-100})\") !important;\n }\n\n .mdl-color-text--lime-200 {\n color: unquote(\"rgb(#{$palette-lime-200})\") !important;\n }\n\n .mdl-color--lime-200 {\n background-color: unquote(\"rgb(#{$palette-lime-200})\") !important;\n }\n\n .mdl-color-text--lime-300 {\n color: unquote(\"rgb(#{$palette-lime-300})\") !important;\n }\n\n .mdl-color--lime-300 {\n background-color: unquote(\"rgb(#{$palette-lime-300})\") !important;\n }\n\n .mdl-color-text--lime-400 {\n color: unquote(\"rgb(#{$palette-lime-400})\") !important;\n }\n\n .mdl-color--lime-400 {\n background-color: unquote(\"rgb(#{$palette-lime-400})\") !important;\n }\n\n .mdl-color-text--lime-500 {\n color: unquote(\"rgb(#{$palette-lime-500})\") !important;\n }\n\n .mdl-color--lime-500 {\n background-color: unquote(\"rgb(#{$palette-lime-500})\") !important;\n }\n\n .mdl-color-text--lime-600 {\n color: unquote(\"rgb(#{$palette-lime-600})\") !important;\n }\n\n .mdl-color--lime-600 {\n background-color: unquote(\"rgb(#{$palette-lime-600})\") !important;\n }\n\n .mdl-color-text--lime-700 {\n color: unquote(\"rgb(#{$palette-lime-700})\") !important;\n }\n\n .mdl-color--lime-700 {\n background-color: unquote(\"rgb(#{$palette-lime-700})\") !important;\n }\n\n .mdl-color-text--lime-800 {\n color: unquote(\"rgb(#{$palette-lime-800})\") !important;\n }\n\n .mdl-color--lime-800 {\n background-color: unquote(\"rgb(#{$palette-lime-800})\") !important;\n }\n\n .mdl-color-text--lime-900 {\n color: unquote(\"rgb(#{$palette-lime-900})\") !important;\n }\n\n .mdl-color--lime-900 {\n background-color: unquote(\"rgb(#{$palette-lime-900})\") !important;\n }\n\n .mdl-color-text--lime-A100 {\n color: unquote(\"rgb(#{$palette-lime-A100})\") !important;\n }\n\n .mdl-color--lime-A100 {\n background-color: unquote(\"rgb(#{$palette-lime-A100})\") !important;\n }\n\n .mdl-color-text--lime-A200 {\n color: unquote(\"rgb(#{$palette-lime-A200})\") !important;\n }\n\n .mdl-color--lime-A200 {\n background-color: unquote(\"rgb(#{$palette-lime-A200})\") !important;\n }\n\n .mdl-color-text--lime-A400 {\n color: unquote(\"rgb(#{$palette-lime-A400})\") !important;\n }\n\n .mdl-color--lime-A400 {\n background-color: unquote(\"rgb(#{$palette-lime-A400})\") !important;\n }\n\n .mdl-color-text--lime-A700 {\n color: unquote(\"rgb(#{$palette-lime-A700})\") !important;\n }\n\n .mdl-color--lime-A700 {\n background-color: unquote(\"rgb(#{$palette-lime-A700})\") !important;\n }\n\n // Yellow\n\n .mdl-color-text--yellow {\n color: unquote(\"rgb(#{$palette-yellow-500})\") !important;\n }\n\n .mdl-color--yellow {\n background-color: unquote(\"rgb(#{$palette-yellow-500})\") !important;\n }\n\n .mdl-color-text--yellow-50 {\n color: unquote(\"rgb(#{$palette-yellow-50})\") !important;\n }\n\n .mdl-color--yellow-50 {\n background-color: unquote(\"rgb(#{$palette-yellow-50})\") !important;\n }\n\n .mdl-color-text--yellow-100 {\n color: unquote(\"rgb(#{$palette-yellow-100})\") !important;\n }\n\n .mdl-color--yellow-100 {\n background-color: unquote(\"rgb(#{$palette-yellow-100})\") !important;\n }\n\n .mdl-color-text--yellow-200 {\n color: unquote(\"rgb(#{$palette-yellow-200})\") !important;\n }\n\n .mdl-color--yellow-200 {\n background-color: unquote(\"rgb(#{$palette-yellow-200})\") !important;\n }\n\n .mdl-color-text--yellow-300 {\n color: unquote(\"rgb(#{$palette-yellow-300})\") !important;\n }\n\n .mdl-color--yellow-300 {\n background-color: unquote(\"rgb(#{$palette-yellow-300})\") !important;\n }\n\n .mdl-color-text--yellow-400 {\n color: unquote(\"rgb(#{$palette-yellow-400})\") !important;\n }\n\n .mdl-color--yellow-400 {\n background-color: unquote(\"rgb(#{$palette-yellow-400})\") !important;\n }\n\n .mdl-color-text--yellow-500 {\n color: unquote(\"rgb(#{$palette-yellow-500})\") !important;\n }\n\n .mdl-color--yellow-500 {\n background-color: unquote(\"rgb(#{$palette-yellow-500})\") !important;\n }\n\n .mdl-color-text--yellow-600 {\n color: unquote(\"rgb(#{$palette-yellow-600})\") !important;\n }\n\n .mdl-color--yellow-600 {\n background-color: unquote(\"rgb(#{$palette-yellow-600})\") !important;\n }\n\n .mdl-color-text--yellow-700 {\n color: unquote(\"rgb(#{$palette-yellow-700})\") !important;\n }\n\n .mdl-color--yellow-700 {\n background-color: unquote(\"rgb(#{$palette-yellow-700})\") !important;\n }\n\n .mdl-color-text--yellow-800 {\n color: unquote(\"rgb(#{$palette-yellow-800})\") !important;\n }\n\n .mdl-color--yellow-800 {\n background-color: unquote(\"rgb(#{$palette-yellow-800})\") !important;\n }\n\n .mdl-color-text--yellow-900 {\n color: unquote(\"rgb(#{$palette-yellow-900})\") !important;\n }\n\n .mdl-color--yellow-900 {\n background-color: unquote(\"rgb(#{$palette-yellow-900})\") !important;\n }\n\n .mdl-color-text--yellow-A100 {\n color: unquote(\"rgb(#{$palette-yellow-A100})\") !important;\n }\n\n .mdl-color--yellow-A100 {\n background-color: unquote(\"rgb(#{$palette-yellow-A100})\") !important;\n }\n\n .mdl-color-text--yellow-A200 {\n color: unquote(\"rgb(#{$palette-yellow-A200})\") !important;\n }\n\n .mdl-color--yellow-A200 {\n background-color: unquote(\"rgb(#{$palette-yellow-A200})\") !important;\n }\n\n .mdl-color-text--yellow-A400 {\n color: unquote(\"rgb(#{$palette-yellow-A400})\") !important;\n }\n\n .mdl-color--yellow-A400 {\n background-color: unquote(\"rgb(#{$palette-yellow-A400})\") !important;\n }\n\n .mdl-color-text--yellow-A700 {\n color: unquote(\"rgb(#{$palette-yellow-A700})\") !important;\n }\n\n .mdl-color--yellow-A700 {\n background-color: unquote(\"rgb(#{$palette-yellow-A700})\") !important;\n }\n\n // Amber\n\n .mdl-color-text--amber {\n color: unquote(\"rgb(#{$palette-amber-500})\") !important;\n }\n\n .mdl-color--amber {\n background-color: unquote(\"rgb(#{$palette-amber-500})\") !important;\n }\n\n .mdl-color-text--amber-50 {\n color: unquote(\"rgb(#{$palette-amber-50})\") !important;\n }\n\n .mdl-color--amber-50 {\n background-color: unquote(\"rgb(#{$palette-amber-50})\") !important;\n }\n\n .mdl-color-text--amber-100 {\n color: unquote(\"rgb(#{$palette-amber-100})\") !important;\n }\n\n .mdl-color--amber-100 {\n background-color: unquote(\"rgb(#{$palette-amber-100})\") !important;\n }\n\n .mdl-color-text--amber-200 {\n color: unquote(\"rgb(#{$palette-amber-200})\") !important;\n }\n\n .mdl-color--amber-200 {\n background-color: unquote(\"rgb(#{$palette-amber-200})\") !important;\n }\n\n .mdl-color-text--amber-300 {\n color: unquote(\"rgb(#{$palette-amber-300})\") !important;\n }\n\n .mdl-color--amber-300 {\n background-color: unquote(\"rgb(#{$palette-amber-300})\") !important;\n }\n\n .mdl-color-text--amber-400 {\n color: unquote(\"rgb(#{$palette-amber-400})\") !important;\n }\n\n .mdl-color--amber-400 {\n background-color: unquote(\"rgb(#{$palette-amber-400})\") !important;\n }\n\n .mdl-color-text--amber-500 {\n color: unquote(\"rgb(#{$palette-amber-500})\") !important;\n }\n\n .mdl-color--amber-500 {\n background-color: unquote(\"rgb(#{$palette-amber-500})\") !important;\n }\n\n .mdl-color-text--amber-600 {\n color: unquote(\"rgb(#{$palette-amber-600})\") !important;\n }\n\n .mdl-color--amber-600 {\n background-color: unquote(\"rgb(#{$palette-amber-600})\") !important;\n }\n\n .mdl-color-text--amber-700 {\n color: unquote(\"rgb(#{$palette-amber-700})\") !important;\n }\n\n .mdl-color--amber-700 {\n background-color: unquote(\"rgb(#{$palette-amber-700})\") !important;\n }\n\n .mdl-color-text--amber-800 {\n color: unquote(\"rgb(#{$palette-amber-800})\") !important;\n }\n\n .mdl-color--amber-800 {\n background-color: unquote(\"rgb(#{$palette-amber-800})\") !important;\n }\n\n .mdl-color-text--amber-900 {\n color: unquote(\"rgb(#{$palette-amber-900})\") !important;\n }\n\n .mdl-color--amber-900 {\n background-color: unquote(\"rgb(#{$palette-amber-900})\") !important;\n }\n\n .mdl-color-text--amber-A100 {\n color: unquote(\"rgb(#{$palette-amber-A100})\") !important;\n }\n\n .mdl-color--amber-A100 {\n background-color: unquote(\"rgb(#{$palette-amber-A100})\") !important;\n }\n\n .mdl-color-text--amber-A200 {\n color: unquote(\"rgb(#{$palette-amber-A200})\") !important;\n }\n\n .mdl-color--amber-A200 {\n background-color: unquote(\"rgb(#{$palette-amber-A200})\") !important;\n }\n\n .mdl-color-text--amber-A400 {\n color: unquote(\"rgb(#{$palette-amber-A400})\") !important;\n }\n\n .mdl-color--amber-A400 {\n background-color: unquote(\"rgb(#{$palette-amber-A400})\") !important;\n }\n\n .mdl-color-text--amber-A700 {\n color: unquote(\"rgb(#{$palette-amber-A700})\") !important;\n }\n\n .mdl-color--amber-A700 {\n background-color: unquote(\"rgb(#{$palette-amber-A700})\") !important;\n }\n\n // Orange\n\n .mdl-color-text--orange {\n color: unquote(\"rgb(#{$palette-orange-500})\") !important;\n }\n\n .mdl-color--orange {\n background-color: unquote(\"rgb(#{$palette-orange-500})\") !important;\n }\n\n .mdl-color-text--orange-50 {\n color: unquote(\"rgb(#{$palette-orange-50})\") !important;\n }\n\n .mdl-color--orange-50 {\n background-color: unquote(\"rgb(#{$palette-orange-50})\") !important;\n }\n\n .mdl-color-text--orange-100 {\n color: unquote(\"rgb(#{$palette-orange-100})\") !important;\n }\n\n .mdl-color--orange-100 {\n background-color: unquote(\"rgb(#{$palette-orange-100})\") !important;\n }\n\n .mdl-color-text--orange-200 {\n color: unquote(\"rgb(#{$palette-orange-200})\") !important;\n }\n\n .mdl-color--orange-200 {\n background-color: unquote(\"rgb(#{$palette-orange-200})\") !important;\n }\n\n .mdl-color-text--orange-300 {\n color: unquote(\"rgb(#{$palette-orange-300})\") !important;\n }\n\n .mdl-color--orange-300 {\n background-color: unquote(\"rgb(#{$palette-orange-300})\") !important;\n }\n\n .mdl-color-text--orange-400 {\n color: unquote(\"rgb(#{$palette-orange-400})\") !important;\n }\n\n .mdl-color--orange-400 {\n background-color: unquote(\"rgb(#{$palette-orange-400})\") !important;\n }\n\n .mdl-color-text--orange-500 {\n color: unquote(\"rgb(#{$palette-orange-500})\") !important;\n }\n\n .mdl-color--orange-500 {\n background-color: unquote(\"rgb(#{$palette-orange-500})\") !important;\n }\n\n .mdl-color-text--orange-600 {\n color: unquote(\"rgb(#{$palette-orange-600})\") !important;\n }\n\n .mdl-color--orange-600 {\n background-color: unquote(\"rgb(#{$palette-orange-600})\") !important;\n }\n\n .mdl-color-text--orange-700 {\n color: unquote(\"rgb(#{$palette-orange-700})\") !important;\n }\n\n .mdl-color--orange-700 {\n background-color: unquote(\"rgb(#{$palette-orange-700})\") !important;\n }\n\n .mdl-color-text--orange-800 {\n color: unquote(\"rgb(#{$palette-orange-800})\") !important;\n }\n\n .mdl-color--orange-800 {\n background-color: unquote(\"rgb(#{$palette-orange-800})\") !important;\n }\n\n .mdl-color-text--orange-900 {\n color: unquote(\"rgb(#{$palette-orange-900})\") !important;\n }\n\n .mdl-color--orange-900 {\n background-color: unquote(\"rgb(#{$palette-orange-900})\") !important;\n }\n\n .mdl-color-text--orange-A100 {\n color: unquote(\"rgb(#{$palette-orange-A100})\") !important;\n }\n\n .mdl-color--orange-A100 {\n background-color: unquote(\"rgb(#{$palette-orange-A100})\") !important;\n }\n\n .mdl-color-text--orange-A200 {\n color: unquote(\"rgb(#{$palette-orange-A200})\") !important;\n }\n\n .mdl-color--orange-A200 {\n background-color: unquote(\"rgb(#{$palette-orange-A200})\") !important;\n }\n\n .mdl-color-text--orange-A400 {\n color: unquote(\"rgb(#{$palette-orange-A400})\") !important;\n }\n\n .mdl-color--orange-A400 {\n background-color: unquote(\"rgb(#{$palette-orange-A400})\") !important;\n }\n\n .mdl-color-text--orange-A700 {\n color: unquote(\"rgb(#{$palette-orange-A700})\") !important;\n }\n\n .mdl-color--orange-A700 {\n background-color: unquote(\"rgb(#{$palette-orange-A700})\") !important;\n }\n\n // Deep Orange\n\n .mdl-color-text--deep-orange {\n color: unquote(\"rgb(#{$palette-deep-orange-500})\") !important;\n }\n\n .mdl-color--deep-orange {\n background-color: unquote(\"rgb(#{$palette-deep-orange-500})\") !important;\n }\n\n .mdl-color-text--deep-orange-50 {\n color: unquote(\"rgb(#{$palette-deep-orange-50})\") !important;\n }\n\n .mdl-color--deep-orange-50 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-50})\") !important;\n }\n\n .mdl-color-text--deep-orange-100 {\n color: unquote(\"rgb(#{$palette-deep-orange-100})\") !important;\n }\n\n .mdl-color--deep-orange-100 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-100})\") !important;\n }\n\n .mdl-color-text--deep-orange-200 {\n color: unquote(\"rgb(#{$palette-deep-orange-200})\") !important;\n }\n\n .mdl-color--deep-orange-200 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-200})\") !important;\n }\n\n .mdl-color-text--deep-orange-300 {\n color: unquote(\"rgb(#{$palette-deep-orange-300})\") !important;\n }\n\n .mdl-color--deep-orange-300 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-300})\") !important;\n }\n\n .mdl-color-text--deep-orange-400 {\n color: unquote(\"rgb(#{$palette-deep-orange-400})\") !important;\n }\n\n .mdl-color--deep-orange-400 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-400})\") !important;\n }\n\n .mdl-color-text--deep-orange-500 {\n color: unquote(\"rgb(#{$palette-deep-orange-500})\") !important;\n }\n\n .mdl-color--deep-orange-500 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-500})\") !important;\n }\n\n .mdl-color-text--deep-orange-600 {\n color: unquote(\"rgb(#{$palette-deep-orange-600})\") !important;\n }\n\n .mdl-color--deep-orange-600 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-600})\") !important;\n }\n\n .mdl-color-text--deep-orange-700 {\n color: unquote(\"rgb(#{$palette-deep-orange-700})\") !important;\n }\n\n .mdl-color--deep-orange-700 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-700})\") !important;\n }\n\n .mdl-color-text--deep-orange-800 {\n color: unquote(\"rgb(#{$palette-deep-orange-800})\") !important;\n }\n\n .mdl-color--deep-orange-800 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-800})\") !important;\n }\n\n .mdl-color-text--deep-orange-900 {\n color: unquote(\"rgb(#{$palette-deep-orange-900})\") !important;\n }\n\n .mdl-color--deep-orange-900 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-900})\") !important;\n }\n\n .mdl-color-text--deep-orange-A100 {\n color: unquote(\"rgb(#{$palette-deep-orange-A100})\") !important;\n }\n\n .mdl-color--deep-orange-A100 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-A100})\") !important;\n }\n\n .mdl-color-text--deep-orange-A200 {\n color: unquote(\"rgb(#{$palette-deep-orange-A200})\") !important;\n }\n\n .mdl-color--deep-orange-A200 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-A200})\") !important;\n }\n\n .mdl-color-text--deep-orange-A400 {\n color: unquote(\"rgb(#{$palette-deep-orange-A400})\") !important;\n }\n\n .mdl-color--deep-orange-A400 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-A400})\") !important;\n }\n\n .mdl-color-text--deep-orange-A700 {\n color: unquote(\"rgb(#{$palette-deep-orange-A700})\") !important;\n }\n\n .mdl-color--deep-orange-A700 {\n background-color: unquote(\"rgb(#{$palette-deep-orange-A700})\") !important;\n }\n\n // Brown\n\n .mdl-color-text--brown {\n color: unquote(\"rgb(#{$palette-brown-500})\") !important;\n }\n\n .mdl-color--brown {\n background-color: unquote(\"rgb(#{$palette-brown-500})\") !important;\n }\n\n .mdl-color-text--brown-50 {\n color: unquote(\"rgb(#{$palette-brown-50})\") !important;\n }\n\n .mdl-color--brown-50 {\n background-color: unquote(\"rgb(#{$palette-brown-50})\") !important;\n }\n\n .mdl-color-text--brown-100 {\n color: unquote(\"rgb(#{$palette-brown-100})\") !important;\n }\n\n .mdl-color--brown-100 {\n background-color: unquote(\"rgb(#{$palette-brown-100})\") !important;\n }\n\n .mdl-color-text--brown-200 {\n color: unquote(\"rgb(#{$palette-brown-200})\") !important;\n }\n\n .mdl-color--brown-200 {\n background-color: unquote(\"rgb(#{$palette-brown-200})\") !important;\n }\n\n .mdl-color-text--brown-300 {\n color: unquote(\"rgb(#{$palette-brown-300})\") !important;\n }\n\n .mdl-color--brown-300 {\n background-color: unquote(\"rgb(#{$palette-brown-300})\") !important;\n }\n\n .mdl-color-text--brown-400 {\n color: unquote(\"rgb(#{$palette-brown-400})\") !important;\n }\n\n .mdl-color--brown-400 {\n background-color: unquote(\"rgb(#{$palette-brown-400})\") !important;\n }\n\n .mdl-color-text--brown-500 {\n color: unquote(\"rgb(#{$palette-brown-500})\") !important;\n }\n\n .mdl-color--brown-500 {\n background-color: unquote(\"rgb(#{$palette-brown-500})\") !important;\n }\n\n .mdl-color-text--brown-600 {\n color: unquote(\"rgb(#{$palette-brown-600})\") !important;\n }\n\n .mdl-color--brown-600 {\n background-color: unquote(\"rgb(#{$palette-brown-600})\") !important;\n }\n\n .mdl-color-text--brown-700 {\n color: unquote(\"rgb(#{$palette-brown-700})\") !important;\n }\n\n .mdl-color--brown-700 {\n background-color: unquote(\"rgb(#{$palette-brown-700})\") !important;\n }\n\n .mdl-color-text--brown-800 {\n color: unquote(\"rgb(#{$palette-brown-800})\") !important;\n }\n\n .mdl-color--brown-800 {\n background-color: unquote(\"rgb(#{$palette-brown-800})\") !important;\n }\n\n .mdl-color-text--brown-900 {\n color: unquote(\"rgb(#{$palette-brown-900})\") !important;\n }\n\n .mdl-color--brown-900 {\n background-color: unquote(\"rgb(#{$palette-brown-900})\") !important;\n }\n\n // Grey\n\n .mdl-color-text--grey {\n color: unquote(\"rgb(#{$palette-grey-500})\") !important;\n }\n\n .mdl-color--grey {\n background-color: unquote(\"rgb(#{$palette-grey-500})\") !important;\n }\n\n .mdl-color-text--grey-50 {\n color: unquote(\"rgb(#{$palette-grey-50})\") !important;\n }\n\n .mdl-color--grey-50 {\n background-color: unquote(\"rgb(#{$palette-grey-50})\") !important;\n }\n\n .mdl-color-text--grey-100 {\n color: unquote(\"rgb(#{$palette-grey-100})\") !important;\n }\n\n .mdl-color--grey-100 {\n background-color: unquote(\"rgb(#{$palette-grey-100})\") !important;\n }\n\n .mdl-color-text--grey-200 {\n color: unquote(\"rgb(#{$palette-grey-200})\") !important;\n }\n\n .mdl-color--grey-200 {\n background-color: unquote(\"rgb(#{$palette-grey-200})\") !important;\n }\n\n .mdl-color-text--grey-300 {\n color: unquote(\"rgb(#{$palette-grey-300})\") !important;\n }\n\n .mdl-color--grey-300 {\n background-color: unquote(\"rgb(#{$palette-grey-300})\") !important;\n }\n\n .mdl-color-text--grey-400 {\n color: unquote(\"rgb(#{$palette-grey-400})\") !important;\n }\n\n .mdl-color--grey-400 {\n background-color: unquote(\"rgb(#{$palette-grey-400})\") !important;\n }\n\n .mdl-color-text--grey-500 {\n color: unquote(\"rgb(#{$palette-grey-500})\") !important;\n }\n\n .mdl-color--grey-500 {\n background-color: unquote(\"rgb(#{$palette-grey-500})\") !important;\n }\n\n .mdl-color-text--grey-600 {\n color: unquote(\"rgb(#{$palette-grey-600})\") !important;\n }\n\n .mdl-color--grey-600 {\n background-color: unquote(\"rgb(#{$palette-grey-600})\") !important;\n }\n\n .mdl-color-text--grey-700 {\n color: unquote(\"rgb(#{$palette-grey-700})\") !important;\n }\n\n .mdl-color--grey-700 {\n background-color: unquote(\"rgb(#{$palette-grey-700})\") !important;\n }\n\n .mdl-color-text--grey-800 {\n color: unquote(\"rgb(#{$palette-grey-800})\") !important;\n }\n\n .mdl-color--grey-800 {\n background-color: unquote(\"rgb(#{$palette-grey-800})\") !important;\n }\n\n .mdl-color-text--grey-900 {\n color: unquote(\"rgb(#{$palette-grey-900})\") !important;\n }\n\n .mdl-color--grey-900 {\n background-color: unquote(\"rgb(#{$palette-grey-900})\") !important;\n }\n\n // Blue Grey\n\n .mdl-color-text--blue-grey {\n color: unquote(\"rgb(#{$palette-blue-grey-500})\") !important;\n }\n\n .mdl-color--blue-grey {\n background-color: unquote(\"rgb(#{$palette-blue-grey-500})\") !important;\n }\n\n .mdl-color-text--blue-grey-50 {\n color: unquote(\"rgb(#{$palette-blue-grey-50})\") !important;\n }\n\n .mdl-color--blue-grey-50 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-50})\") !important;\n }\n\n .mdl-color-text--blue-grey-100 {\n color: unquote(\"rgb(#{$palette-blue-grey-100})\") !important;\n }\n\n .mdl-color--blue-grey-100 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-100})\") !important;\n }\n\n .mdl-color-text--blue-grey-200 {\n color: unquote(\"rgb(#{$palette-blue-grey-200})\") !important;\n }\n\n .mdl-color--blue-grey-200 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-200})\") !important;\n }\n\n .mdl-color-text--blue-grey-300 {\n color: unquote(\"rgb(#{$palette-blue-grey-300})\") !important;\n }\n\n .mdl-color--blue-grey-300 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-300})\") !important;\n }\n\n .mdl-color-text--blue-grey-400 {\n color: unquote(\"rgb(#{$palette-blue-grey-400})\") !important;\n }\n\n .mdl-color--blue-grey-400 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-400})\") !important;\n }\n\n .mdl-color-text--blue-grey-500 {\n color: unquote(\"rgb(#{$palette-blue-grey-500})\") !important;\n }\n\n .mdl-color--blue-grey-500 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-500})\") !important;\n }\n\n .mdl-color-text--blue-grey-600 {\n color: unquote(\"rgb(#{$palette-blue-grey-600})\") !important;\n }\n\n .mdl-color--blue-grey-600 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-600})\") !important;\n }\n\n .mdl-color-text--blue-grey-700 {\n color: unquote(\"rgb(#{$palette-blue-grey-700})\") !important;\n }\n\n .mdl-color--blue-grey-700 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-700})\") !important;\n }\n\n .mdl-color-text--blue-grey-800 {\n color: unquote(\"rgb(#{$palette-blue-grey-800})\") !important;\n }\n\n .mdl-color--blue-grey-800 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-800})\") !important;\n }\n\n .mdl-color-text--blue-grey-900 {\n color: unquote(\"rgb(#{$palette-blue-grey-900})\") !important;\n }\n\n .mdl-color--blue-grey-900 {\n background-color: unquote(\"rgb(#{$palette-blue-grey-900})\") !important;\n }\n\n // Black\n\n .mdl-color--black {\n background-color: unquote(\"rgb(#{$color-black})\") !important;\n }\n\n .mdl-color-text--black {\n color: unquote(\"rgb(#{$color-black})\") !important;\n }\n\n // White\n\n .mdl-color--white {\n background-color: unquote(\"rgb(#{$color-white})\") !important;\n }\n\n .mdl-color-text--white {\n color: unquote(\"rgb(#{$color-white})\") !important;\n }\n}\n\n// Primary and accent\n\n.mdl-color--primary {\n background-color: unquote(\"rgb(#{$color-primary})\") !important;\n}\n\n.mdl-color--primary-contrast {\n background-color: unquote(\"rgb(#{$color-primary-contrast})\") !important;\n}\n\n.mdl-color--primary-dark {\n background-color: unquote(\"rgb(#{$color-primary-dark})\") !important;\n}\n\n.mdl-color--accent {\n background-color: unquote(\"rgb(#{$color-accent})\") !important;\n}\n\n.mdl-color--accent-contrast {\n background-color: unquote(\"rgb(#{$color-accent-contrast})\") !important;\n}\n\n.mdl-color-text--primary {\n color: unquote(\"rgb(#{$color-primary})\") !important;\n}\n\n.mdl-color-text--primary-contrast {\n color: unquote(\"rgb(#{$color-primary-contrast})\") !important;\n}\n\n.mdl-color-text--primary-dark {\n color: unquote(\"rgb(#{$color-primary-dark})\") !important;\n}\n\n.mdl-color-text--accent {\n color: unquote(\"rgb(#{$color-accent})\") !important;\n}\n\n.mdl-color-text--accent-contrast {\n color: unquote(\"rgb(#{$color-accent-contrast})\") !important;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n.mdl-ripple {\n background : $ripple-bg-color;\n border-radius : 50%;\n height : 50px;\n left : 0;\n opacity : 0;\n pointer-events : none;\n position : absolute;\n top : 0;\n transform : translate(-50%, -50%);\n width : 50px;\n overflow : hidden;\n\n &.is-animating {\n transition: transform 0.3s $animation-curve-linear-out-slow-in,\n width 0.3s $animation-curve-linear-out-slow-in,\n height 0.3s $animation-curve-linear-out-slow-in,\n opacity 0.6s $animation-curve-linear-out-slow-in;\n }\n\n &.is-visible {\n opacity: 0.3;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n\n.mdl-animation--default {\n transition-timing-function: $animation-curve-default;\n}\n\n.mdl-animation--fast-out-slow-in {\n transition-timing-function: $animation-curve-fast-out-slow-in;\n}\n\n.mdl-animation--linear-out-slow-in {\n transition-timing-function: $animation-curve-linear-out-slow-in;\n}\n\n.mdl-animation--fast-out-linear-in {\n transition-timing-function: $animation-curve-fast-out-linear-in;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n.mdl-badge {\n position : relative;\n white-space: nowrap;\n margin-right: ($badge-size + $badge-padding);\n\n &:not([data-badge]) {\n margin-right: auto;\n }\n\n &[data-badge]:after {\n content: attr(data-badge);\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: center;\n align-content: center;\n align-items: center;\n\n position: absolute;\n top: -($badge-size / 2);\n right: -($badge-size + $badge-padding);\n\n .mdl-button & {\n top: -10px;\n right: -5px;\n }\n\n font-family: $preferred_font;\n font-weight: 600;\n font-size: $badge-font-size;\n width: $badge-size;\n height: $badge-size;\n border-radius : 50%;\n\n background: $badge-background;\n color: $badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]:after {\n color: $badge-color-inverse;\n background: $badge-background-inverse;\n\n box-shadow: 0 0 1px gray;\n }\n }\n &.mdl-badge--overlap {\n margin-right: ($badge-size - $badge-overlap);\n &:after {\n right: -($badge-size - $badge-overlap);\n }\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n// The button component. Defaults to a flat button.\n.mdl-button {\n background: transparent;\n border: none;\n border-radius: $button-border-radius;\n color: $button-secondary-color;\n position: relative;\n height: $button-height;\n margin: 0;\n min-width: $button-min-width;\n padding: 0 $button-padding;\n display: inline-block;\n @include typo-button();\n overflow: hidden;\n will-change: box-shadow;\n transition: box-shadow 0.2s $animation-curve-fast-out-linear-in,\n background-color 0.2s $animation-curve-default,\n color 0.2s $animation-curve-default;\n outline: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n line-height: $button-height;\n vertical-align: middle;\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:hover {\n background-color: $button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $button-focus-color;\n }\n\n &:active {\n background-color: $button-active-color;\n }\n\n &.mdl-button--colored {\n color: $button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $button-focus-color-alt;\n }\n }\n}\n\ninput.mdl-button[type=\"submit\"] {\n -webkit-appearance:none;\n}\n\n // Raised buttons\n .mdl-button--raised {\n background: $button-primary-color;\n @include shadow-2dp();\n\n &:active {\n @include shadow-4dp();\n background-color: $button-active-color;\n }\n\n &:focus:not(:active) {\n @include focus-shadow();\n background-color: $button-active-color;\n }\n\n &.mdl-button--colored {\n background: $button-primary-color-alt;\n color: $button-secondary-color-alt;\n\n &:hover {\n background-color: $button-hover-color-alt;\n }\n\n &:active {\n background-color: $button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n border-radius: 50%;\n font-size: $button-fab-font-size;\n height: $button-fab-size;\n margin: auto;\n min-width: $button-fab-size;\n width: $button-fab-size;\n padding: 0;\n overflow: hidden;\n background: $button-primary-color;\n box-shadow: 0 1px 1.5px 0 rgba(0,0,0,0.12), 0 1px 1px 0 rgba(0,0,0,0.24);\n position: relative;\n line-height: normal;\n\n & .material-icons {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(- $button-fab-font-size / 2, - $button-fab-font-size / 2);\n line-height: $button-fab-font-size;\n width: $button-fab-font-size;\n }\n\n &.mdl-button--mini-fab {\n height: $button-fab-size-mini;\n min-width: $button-fab-size-mini;\n width: $button-fab-size-mini;\n }\n\n & .mdl-button__ripple-container {\n border-radius: 50%;\n // Fixes clipping bug in Safari.\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black);\n }\n\n &:active {\n @include shadow-4dp();\n background-color: $button-active-color;\n }\n\n &:focus:not(:active) {\n @include focus-shadow();\n background-color: $button-active-color;\n }\n\n &.mdl-button--colored {\n background: $button-fab-color-alt;\n color: $button-fab-text-color-alt;\n\n &:hover {\n background-color: $button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n border-radius: 50%;\n font-size: $button-fab-font-size;\n height: $button-icon-size;\n margin-left: 0;\n margin-right: 0;\n min-width: $button-icon-size;\n width: $button-icon-size;\n padding: 0;\n overflow: hidden;\n color: inherit;\n line-height: normal;\n\n & .material-icons {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(- $button-fab-font-size / 2, - $button-fab-font-size / 2);\n line-height: $button-fab-font-size;\n width: $button-fab-font-size;\n }\n\n &.mdl-button--mini-icon {\n height: $button-icon-size-mini;\n min-width: $button-icon-size-mini;\n width: $button-icon-size-mini;\n\n & .material-icons {\n top: ($button-icon-size-mini - $button-fab-font-size) / 2;\n left: ($button-icon-size-mini - $button-fab-font-size) / 2;\n }\n }\n\n & .mdl-button__ripple-container {\n border-radius: 50%;\n // Fixes clipping bug in Safari.\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black);\n }\n }\n\n\n // Ripples\n .mdl-button__ripple-container {\n display: block;\n height: 100%;\n left: 0px;\n position: absolute;\n top: 0px;\n width: 100%;\n z-index: 0;\n overflow: hidden;\n\n .mdl-button[disabled] & .mdl-ripple,\n .mdl-button.mdl-button--disabled & .mdl-ripple {\n background-color: transparent;\n }\n }\n\n// Colorized buttons\n\n.mdl-button--primary.mdl-button--primary {\n color: $button-primary-color-alt;\n & .mdl-ripple {\n background: $button-secondary-color-alt;\n }\n &.mdl-button--raised, &.mdl-button--fab {\n color: $button-secondary-color-alt;\n background-color: $button-primary-color-alt;\n }\n}\n\n.mdl-button--accent.mdl-button--accent {\n color: $button-fab-color-alt;\n & .mdl-ripple {\n background: $button-fab-text-color-alt;\n }\n &.mdl-button--raised, &.mdl-button--fab {\n color: $button-fab-text-color-alt;\n background-color: $button-fab-color-alt;\n }\n}\n\n// Disabled buttons\n\n.mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $button-secondary-color-disabled;\n cursor: default;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $button-primary-color-disabled;\n color: $button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $button-primary-color-disabled;\n color: $button-secondary-color-disabled;\n box-shadow: none;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $button-secondary-color-disabled;\n }\n }\n}\n\n// Align icons inside buttons with text\n.mdl-button .material-icons {\n vertical-align: middle;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n.mdl-card {\n display: flex;\n flex-direction: column;\n font-size: $card-font-size;\n font-weight: 400;\n min-height: $card-height;\n overflow: hidden;\n width: $card-width;\n z-index: $card-z-index;\n position: relative;\n background: $card-background-color;\n border-radius: 2px;\n box-sizing: border-box;\n}\n\n.mdl-card__media {\n background-color: $card-image-placeholder-color;\n background-repeat: repeat;\n background-position: 50% 50%;\n background-size: cover;\n background-origin: padding-box;\n background-attachment: scroll;\n box-sizing: border-box;\n}\n\n.mdl-card__title {\n align-items: center;\n color: $card-text-color;\n display: block;\n display: flex;\n justify-content: stretch;\n line-height: normal;\n padding: $card-vertical-padding $card-horizontal-padding;\n perspective-origin: $card-title-perspective-origin-x $card-title-perspective-origin-y;\n transform-origin: $card-title-transform-origin-x $card-title-transform-origin-y;\n box-sizing: border-box;\n\n &.mdl-card--border {\n border-bottom: 1px solid $card-border-color;\n }\n}\n\n.mdl-card__title-text {\n align-self: flex-end;\n color: inherit;\n display: block;\n display: flex;\n font-size: $card-title-font-size;\n font-weight: $card-title-text-font-weight;\n line-height: normal;\n overflow: hidden;\n transform-origin: $card-title-text-transform-origin-x $card-title-text-transform-origin-y;\n margin: 0;\n}\n\n.mdl-card__subtitle-text {\n font-size: $card-subtitle-font-size;\n color: $card-subtitle-color;\n margin: 0;\n}\n\n.mdl-card__supporting-text {\n color: $card-supporting-text-text-color;\n font-size: $card-supporting-text-font-size;\n line-height: $card-supporting-text-line-height;\n overflow: hidden;\n padding: $card-vertical-padding $card-horizontal-padding;\n width: 90%;\n\n &.mdl-card--border {\n border-bottom: 1px solid $card-border-color;\n }\n}\n\n.mdl-card__actions {\n font-size: $card-actions-font-size;\n line-height: normal;\n width: 100%;\n background-color: rgba(0,0,0,0);\n padding: 8px;\n box-sizing: border-box;\n\n &.mdl-card--border {\n border-top: 1px solid $card-border-color;\n }\n}\n\n.mdl-card--expand {\n flex-grow: 1;\n}\n\n\n.mdl-card__menu {\n position: absolute;\n right: 16px;\n top: 16px;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-checkbox {\n position: relative;\n\n z-index: 1;\n\n vertical-align: middle;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 100%;\n height: $checkbox-label-height;\n margin: 0;\n padding: 0;\n\n &.is-upgraded {\n padding-left: $checkbox-button-size + $checkbox-padding;\n }\n}\n\n.mdl-checkbox__input {\n line-height: $checkbox-label-height;\n\n .mdl-checkbox.is-upgraded & {\n // Hide input element, while still making it respond to focus.\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none;\n }\n}\n\n.mdl-checkbox__box-outline {\n position: absolute;\n top: $checkbox-top-offset;\n left: 0;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: $checkbox-button-size;\n height: $checkbox-button-size;\n margin: 0;\n\n cursor: pointer;\n overflow: hidden;\n\n border: 2px solid $checkbox-off-color;\n border-radius: 2px;\n\n z-index: 2;\n\n .mdl-checkbox.is-checked & {\n border: 2px solid $checkbox-color;\n }\n\n fieldset[disabled] .mdl-checkbox &,\n .mdl-checkbox.is-disabled & {\n border: 2px solid $checkbox-disabled-color;\n cursor: auto;\n }\n}\n\n.mdl-checkbox__focus-helper {\n position: absolute;\n top: $checkbox-top-offset;\n left: 0;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: $checkbox-button-size;\n height: $checkbox-button-size;\n border-radius: 50%;\n\n background-color: transparent;\n\n .mdl-checkbox.is-focused & {\n box-shadow: 0 0 0px ($checkbox-button-size / 2) rgba(0, 0, 0, 0.1);\n background-color: rgba(0, 0, 0, 0.1);\n }\n\n .mdl-checkbox.is-focused.is-checked & {\n box-shadow: 0 0 0px ($checkbox-button-size / 2) $checkbox-focus-color;\n background-color: $checkbox-focus-color;\n }\n}\n\n.mdl-checkbox__tick-outline {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n mask: url(\"#{$checkbox-image-path}/tick-mask.svg?embed\");\n\n background: transparent;\n @include material-animation-default(0.28s);\n transition-property: background;\n\n .mdl-checkbox.is-checked & {\n background: $checkbox-color url(\"#{$checkbox-image-path}/tick.svg?embed\");\n }\n\n fieldset[disabled] .mdl-checkbox.is-checked &,\n .mdl-checkbox.is-checked.is-disabled & {\n background: $checkbox-disabled-color url(\"#{$checkbox-image-path}/tick.svg?embed\");\n }\n}\n\n.mdl-checkbox__label {\n position: relative;\n cursor: pointer;\n font-size: $checkbox-label-font-size;\n line-height: $checkbox-label-height;\n margin: 0;\n\n fieldset[disabled] .mdl-checkbox &,\n .mdl-checkbox.is-disabled & {\n color: $checkbox-disabled-color;\n cursor: auto;\n }\n}\n\n.mdl-checkbox__ripple-container {\n position: absolute;\n z-index: 2;\n top: -(($checkbox-ripple-size - $checkbox-label-height) / 2);\n left: -(($checkbox-ripple-size - $checkbox-button-size) / 2);\n\n box-sizing: border-box;\n width: $checkbox-ripple-size;\n height: $checkbox-ripple-size;\n border-radius: 50%;\n\n cursor: pointer;\n\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black);\n\n & .mdl-ripple {\n background: $checkbox-color;\n }\n\n fieldset[disabled] .mdl-checkbox &,\n .mdl-checkbox.is-disabled & {\n cursor: auto;\n }\n\n fieldset[disabled] .mdl-checkbox & .mdl-ripple,\n .mdl-checkbox.is-disabled & .mdl-ripple {\n background: transparent;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-chip {\n height: $chip-height;\n font-family: $preferred_font;\n line-height: $chip-height;\n padding: 0 12px;\n border: 0;\n border-radius: $chip-height / 2;\n background-color: $chip-bg-color;\n display: inline-block;\n color: $text-color-primary;\n margin: 2px 0;\n font-size: 0;\n white-space: nowrap;\n\n &__text {\n font-size: $chip-font-size;\n vertical-align: middle;\n display: inline-block;\n }\n\n &__action {\n height: 24px;\n width: 24px;\n background: transparent;\n opacity: 0.54;\n display: inline-block;\n cursor: pointer;\n text-align: center;\n vertical-align: middle;\n padding: 0;\n margin: 0 0 0 4px;\n font-size: $chip-font-size;\n text-decoration: none;\n color: $text-color-primary;\n border: none;\n outline: none;\n overflow: hidden;\n }\n \n &__contact {\n height: $chip-height;\n width: $chip-height;\n border-radius: $chip-height / 2;\n display: inline-block;\n vertical-align: middle;\n margin-right: 8px;\n overflow: hidden;\n text-align: center;\n font-size: 18px;\n line-height: 32px;\n }\n \n &:focus {\n outline: 0;\n @include shadow-2dp();\n }\n \n &:active {\n background-color: $chip-bg-active-color;\n }\n \n &--deletable {\n padding-right: 4px;\n }\n \n &--contact {\n padding-left: 0;\n }\n}","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-data-table {\n position: relative;\n border: $data-table-dividers;\n border-collapse: collapse;\n white-space: nowrap;\n font-size: $data-table-font-size;\n background-color: unquote(\"rgb(#{$color-white})\");\n\n thead {\n padding-bottom: 3px;\n\n .mdl-data-table__select {\n margin-top: 0;\n }\n }\n\n tbody {\n tr {\n position: relative;\n height: $data-table-row-height;\n @include material-animation-default(0.28s);\n transition-property: background-color;\n\n &.is-selected {\n background-color: $data-table-selection-color;\n }\n\n &:hover {\n background-color: $data-table-hover-color;\n }\n }\n }\n\n td, th {\n padding: 0 $data-table-column-padding 12px $data-table-column-padding;\n text-align: right;\n\n &:first-of-type {\n padding-left: 24px;\n }\n\n &:last-of-type {\n padding-right: 24px;\n }\n }\n\n td {\n position: relative;\n vertical-align: middle;\n height: $data-table-row-height;\n border-top: $data-table-dividers;\n border-bottom: $data-table-dividers;\n padding-top: $data-table-cell-top;\n box-sizing: border-box;\n\n .mdl-data-table__select {\n vertical-align: middle;\n }\n }\n\n th {\n position: relative;\n vertical-align: bottom;\n text-overflow: ellipsis;\n @include typo-body-2();\n height: $data-table-row-height;\n font-size: $data-table-header-font-size;\n color: $data-table-header-color;\n padding-bottom: 8px;\n box-sizing: border-box;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $data-table-header-sorted-color;\n &:before {\n @include typo-icon;\n font-size: $data-table-header-sort-icon-size;\n content: \"\\e5d8\";\n margin-right: 5px;\n vertical-align: sub;\n }\n &:hover {\n cursor: pointer;\n &:before {\n color: $data-table-header-sorted-icon-hover-color;\n }\n }\n }\n &.mdl-data-table__header--sorted-descending:before {\n content: \"\\e5db\";\n }\n }\n}\n\n.mdl-data-table__select {\n width: 16px;\n}\n\n.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric {\n text-align: left;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-dialog {\n border: none;\n @include shadow-24dp;\n @include dialog-width;\n\n &__title {\n padding: 24px 24px 0;\n margin: 0;\n font-size: 2.5rem;\n }\n &__actions {\n padding: 8px 8px 8px 24px;\n display: flex;\n flex-direction: row-reverse;\n flex-wrap: wrap;\n > * {\n margin-right: 8px;\n height: 36px;\n &:first-child {\n margin-right: 0;\n }\n }\n &--full-width {\n padding: 0 0 8px 0;\n > * {\n height: 48px;\n flex: 0 0 100%;\n padding-right: 16px;\n margin-right: 0;\n text-align: right;\n }\n }\n }\n &__content {\n padding: 20px 24px 24px 24px;\n color: $dialog-content-color;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-mega-footer {\n padding: $footer-min-padding $footer-padding-sides;\n\n color: $footer-color;\n background-color: $footer-bg-color;\n}\n\n\n.mdl-mega-footer--top-section:after,\n.mdl-mega-footer--middle-section:after,\n.mdl-mega-footer--bottom-section:after,\n.mdl-mega-footer__top-section:after,\n.mdl-mega-footer__middle-section:after,\n.mdl-mega-footer__bottom-section:after {\n content: '';\n display: block;\n clear: both;\n}\n\n.mdl-mega-footer--left-section,\n.mdl-mega-footer__left-section {\n margin-bottom: $footer-min-padding;\n}\n\n.mdl-mega-footer--right-section,\n.mdl-mega-footer__right-section {\n margin-bottom: $footer-min-padding;\n}\n\n.mdl-mega-footer--right-section a,\n.mdl-mega-footer__right-section a {\n display: block;\n\n margin-bottom: $footer-min-padding;\n\n color: inherit;\n text-decoration: none;\n}\n\n@media screen and (min-width: 760px) {\n .mdl-mega-footer--left-section,\n .mdl-mega-footer__left-section {\n float: left;\n }\n\n .mdl-mega-footer--right-section,\n .mdl-mega-footer__right-section {\n float: right;\n }\n\n .mdl-mega-footer--right-section a,\n .mdl-mega-footer__right-section a {\n display: inline-block;\n\n margin-left: $footer-min-padding;\n\n line-height: $footer-btn-size;\n vertical-align: middle;\n }\n}\n\n.mdl-mega-footer--social-btn,\n.mdl-mega-footer__social-btn {\n width: $footer-btn-size;\n height: $footer-btn-size;\n\n padding: 0;\n margin: 0;\n\n background-color: $footer-button-fill-color;\n\n border: none;\n}\n\n.mdl-mega-footer--drop-down-section,\n.mdl-mega-footer__drop-down-section {\n display: block;\n\n position: relative;\n}\n\n@media screen and (min-width: 760px) {\n .mdl-mega-footer--drop-down-section,\n .mdl-mega-footer__drop-down-section {\n width: 33%;\n }\n\n .mdl-mega-footer--drop-down-section:nth-child(1),\n .mdl-mega-footer--drop-down-section:nth-child(2),\n .mdl-mega-footer__drop-down-section:nth-child(1),\n .mdl-mega-footer__drop-down-section:nth-child(2) {\n float: left;\n }\n\n .mdl-mega-footer--drop-down-section:nth-child(3),\n .mdl-mega-footer__drop-down-section:nth-child(3) {\n float: right;\n\n &:after {\n clear: right;\n }\n }\n\n .mdl-mega-footer--drop-down-section:nth-child(4),\n .mdl-mega-footer__drop-down-section:nth-child(4) {\n clear: right;\n float: right;\n }\n\n .mdl-mega-footer--middle-section:after,\n .mdl-mega-footer__middle-section:after {\n content: '';\n\n display: block;\n\n clear: both;\n }\n\n .mdl-mega-footer--bottom-section,\n .mdl-mega-footer__bottom-section {\n padding-top: 0;\n }\n}\n\n@media screen and (min-width: 1024px) {\n .mdl-mega-footer--drop-down-section,\n .mdl-mega-footer--drop-down-section:nth-child(3),\n .mdl-mega-footer--drop-down-section:nth-child(4),\n .mdl-mega-footer__drop-down-section,\n .mdl-mega-footer__drop-down-section:nth-child(3),\n .mdl-mega-footer__drop-down-section:nth-child(4) {\n width: 24%;\n\n float: left;\n }\n}\n\n.mdl-mega-footer--heading-checkbox,\n.mdl-mega-footer__heading-checkbox {\n position: absolute;\n width: 100%;\n height: $footer-heading-line-height + ($footer-min-padding * 2);\n\n padding: ($footer-min-padding * 2);\n margin: 0;\n margin-top: -$footer-min-padding;\n\n cursor: pointer;\n\n z-index: 1;\n opacity: 0;\n\n & + .mdl-mega-footer--heading:after,\n & + .mdl-mega-footer__heading:after {\n font-family: 'Material Icons';\n content: '\\E5CE'\n }\n}\n\n.mdl-mega-footer--heading-checkbox:checked,\n.mdl-mega-footer__heading-checkbox:checked {\n // WebViews in iOS 9 break the \"~\" operator, and WebViews in OS X 10.10\n // break consecutive \"+\" operators in some cases. Therefore, we need to use\n // both here to cover all the bases.\n & ~ .mdl-mega-footer--link-list,\n & ~ .mdl-mega-footer__link-list,\n & + .mdl-mega-footer--heading + .mdl-mega-footer--link-list,\n & + .mdl-mega-footer__heading + .mdl-mega-footer__link-list {\n display: none;\n }\n\n & + .mdl-mega-footer--heading:after,\n & + .mdl-mega-footer__heading:after {\n font-family: 'Material Icons';\n content: '\\E5CF'\n }\n}\n\n.mdl-mega-footer--heading,\n.mdl-mega-footer__heading {\n position: relative;\n width: 100%;\n\n padding-right: $footer-heading-line-height + $footer-min-padding;\n margin-bottom: $footer-min-padding;\n\n box-sizing:border-box;\n\n font-size: $footer-heading-font-size;\n line-height: $footer-heading-line-height;\n\n font-weight: 500;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n\n color: $footer-heading-color;\n}\n\n.mdl-mega-footer--heading:after,\n.mdl-mega-footer__heading:after {\n content: '';\n\n position: absolute;\n top: 0;\n right: 0;\n\n display: block;\n\n width: $footer-heading-line-height;\n height: $footer-heading-line-height;\n\n background-size: cover;\n}\n\n.mdl-mega-footer--link-list,\n.mdl-mega-footer__link-list {\n list-style: none;\n\n margin: 0;\n padding: 0;\n\n margin-bottom: $footer-min-padding * 2;\n &:after {\n clear: both;\n display: block;\n content: '';\n }\n}\n\n.mdl-mega-footer--link-list li,\n.mdl-mega-footer__link-list li {\n @include typo-body-1();\n line-height: 20px;\n}\n\n.mdl-mega-footer--link-list a,\n.mdl-mega-footer__link-list a {\n color: inherit;\n text-decoration: none;\n white-space: nowrap;\n}\n\n@media screen and (min-width: 760px) {\n .mdl-mega-footer--heading-checkbox,\n .mdl-mega-footer__heading-checkbox {\n display: none;\n\n & + .mdl-mega-footer--heading:after,\n & + .mdl-mega-footer__heading:after {\n content: '';\n }\n }\n .mdl-mega-footer--heading-checkbox:checked,\n .mdl-mega-footer__heading-checkbox:checked {\n // WebViews in iOS 9 break the \"~\" operator, and WebViews in OS X 10.10\n // break consecutive \"+\" operators in some cases. Therefore, we need to use\n // both here to cover all the bases.\n & ~ .mdl-mega-footer--link-list,\n & ~ .mdl-mega-footer__link-list,\n & + .mdl-mega-footer__heading + .mdl-mega-footer__link-list,\n & + .mdl-mega-footer--heading + .mdl-mega-footer--link-list {\n display: block;\n }\n\n & + .mdl-mega-footer--heading:after,\n & + .mdl-mega-footer__heading:after {\n content: '';\n }\n }\n}\n\n.mdl-mega-footer--bottom-section,\n.mdl-mega-footer__bottom-section {\n padding-top: $footer-min-padding;\n margin-bottom: $footer-min-padding;\n}\n\n.mdl-logo {\n margin-bottom: $footer-min-padding;\n color: white;\n}\n\n.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li,\n.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li {\n float: left;\n\n margin-bottom: 0;\n margin-right: $footer-min-padding;\n}\n\n\n\n@media screen and (min-width: 760px) {\n .mdl-logo {\n float: left;\n\n margin-bottom: 0;\n margin-right: $footer-min-padding;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n.mdl-mini-footer {\n display: flex;\n flex-flow: row wrap;\n justify-content: space-between;\n\n padding: ($padding * 2) $padding;\n\n color: $footer-color;\n background-color: $footer-bg-color;\n\n &:after {\n content: '';\n display: block;\n }\n\n & .mdl-logo {\n line-height: $footer-btn-size;\n }\n}\n\n.mdl-mini-footer--link-list,\n.mdl-mini-footer__link-list {\n display: flex;\n flex-flow: row nowrap;\n\n list-style: none;\n\n margin: 0;\n padding: 0;\n\n & li {\n margin-bottom: 0;\n margin-right: $padding;\n\n @media screen and (min-width: 760px) {\n line-height: $footer-btn-size;\n }\n }\n\n & a {\n color: inherit;\n text-decoration: none;\n white-space: nowrap;\n }\n}\n\n.mdl-mini-footer--left-section,\n.mdl-mini-footer__left-section {\n display: inline-block;\n order: 0;\n}\n\n.mdl-mini-footer--right-section,\n.mdl-mini-footer__right-section {\n display: inline-block;\n order: 1;\n}\n\n.mdl-mini-footer--social-btn,\n.mdl-mini-footer__social-btn {\n width: $footer-btn-size;\n height: $footer-btn-size;\n\n padding: 0;\n margin: 0;\n\n background-color: $footer-button-fill-color;\n\n border: none;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n.mdl-icon-toggle {\n position: relative;\n\n z-index: 1;\n\n vertical-align: middle;\n\n display: inline-block;\n height: $icon-toggle-size;\n margin: 0;\n padding: 0;\n}\n\n.mdl-icon-toggle__input {\n line-height: $icon-toggle-size;\n\n .mdl-icon-toggle.is-upgraded & {\n // Hide input element, while still making it respond to focus.\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none;\n }\n}\n\n.mdl-icon-toggle__label {\n display: inline-block;\n position: relative;\n cursor: pointer;\n height: $icon-toggle-size;\n width: $icon-toggle-size;\n min-width: $icon-toggle-size;\n color: $icon-toggle-color;\n border-radius: 50%;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: center;\n background-color: transparent;\n will-change: background-color;\n transition: background-color 0.2s $animation-curve-default,\n color 0.2s $animation-curve-default;\n\n &.material-icons {\n line-height: $icon-toggle-size;\n font-size: $icon-toggle-font-size;\n }\n\n .mdl-icon-toggle.is-checked & {\n color: $icon-toggle-checked-color;\n }\n\n .mdl-icon-toggle.is-disabled & {\n color: $icon-toggle-disabled-color;\n cursor: auto;\n transition: none;\n }\n\n .mdl-icon-toggle.is-focused & {\n background-color: $icon-toggle-focus-color;\n }\n\n .mdl-icon-toggle.is-focused.is-checked & {\n background-color: $icon-toggle-checked-focus-color;\n }\n}\n\n\n.mdl-icon-toggle__ripple-container {\n position: absolute;\n z-index: 2;\n top: -(($icon-toggle-ripple-size - $icon-toggle-size) / 2);\n left: -(($icon-toggle-ripple-size - $icon-toggle-size) / 2);\n\n box-sizing: border-box;\n width: $icon-toggle-ripple-size;\n height: $icon-toggle-ripple-size;\n border-radius: 50%;\n\n cursor: pointer;\n\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black);\n\n & .mdl-ripple {\n background: $icon-toggle-color;\n }\n\n .mdl-icon-toggle.is-disabled & {\n cursor: auto;\n }\n\n .mdl-icon-toggle.is-disabled & .mdl-ripple {\n background: transparent;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n\n.mdl-list {\n display: block;\n padding: $list-border 0;\n list-style: none;\n}\n\n.mdl-list__item {\n @include typo-subhead();\n line-height: 1;\n display: flex;\n min-height: $list-min-height;\n box-sizing: border-box;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n padding: $list-min-padding;\n cursor: default;\n color: $list-main-text-text-color;\n overflow: hidden;\n\n & .mdl-list__item-primary-content {\n order: 0;\n flex-grow: 2;\n text-decoration: none;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n\n & .mdl-list__item-icon {\n margin-right: $list-icon-text-left-distance - $list-icon-size - $list-min-padding;\n }\n\n & .mdl-list__item-avatar {\n margin-right: $list-avatar-text-left-distance - $list-avatar-size - $list-min-padding;\n }\n }\n\n & .mdl-list__item-secondary-content {\n display: flex;\n flex-flow: column;\n align-items: flex-end;\n margin-left: $list-min-padding;\n\n & .mdl-list__item-secondary-action label { display: inline; }\n & .mdl-list__item-secondary-info {\n @include typo-caption();\n color: $list-supporting-text-text-color;\n }\n & .mdl-list__item-sub-header {\n padding: 0 0 0 $list-min-padding;\n }\n }\n}\n\n.mdl-list__item-icon,\n.mdl-list__item-icon.material-icons {\n height: $list-icon-size;\n width: $list-icon-size;\n font-size: $list-icon-size;\n box-sizing: border-box;\n color: $list-icon-color;\n}\n\n.mdl-list__item-avatar,\n.mdl-list__item-avatar.material-icons {\n height: $list-avatar-size;\n width: $list-avatar-size;\n box-sizing: border-box;\n border-radius: 50%;\n // Set a background colour in case the user doesn't provide an image.\n background-color: $list-icon-color;\n // Set a font size and color in case the user provides a Material Icon.\n font-size: $list-avatar-size;\n color: $list-avatar-color;\n}\n\n.mdl-list__item--two-line {\n height: $list-two-line-height;\n\n & .mdl-list__item-primary-content {\n height: $list-two-line-height - $list-min-padding - $list-bottom-padding;\n line-height: 20px;\n display: block;\n\n & .mdl-list__item-avatar{\n float: left;\n }\n\n & .mdl-list__item-icon {\n float: left;\n // Icons are aligned to center of text in a two line list.\n margin-top:\n ($list-two-line-height - $list-min-padding - $list-bottom-padding -\n $list-icon-size) / 2;\n }\n\n & .mdl-list__item-secondary-content {\n height: $list-two-line-height - $list-min-padding - $list-bottom-padding;\n }\n\n & .mdl-list__item-sub-title {\n @include typo-body-1();\n line-height: 18px;\n color: $list-supporting-text-text-color;\n display: block;\n padding: 0;\n }\n }\n}\n\n.mdl-list__item--three-line {\n height: $list-three-line-height;\n\n & .mdl-list__item-primary-content {\n height: $list-three-line-height - $list-min-padding - $list-bottom-padding;\n line-height: 20px;\n display: block;\n\n & .mdl-list__item-avatar,\n & .mdl-list__item-icon {\n float: left;\n }\n }\n\n & .mdl-list__item-secondary-content {\n height: $list-three-line-height - $list-min-padding - $list-bottom-padding;\n }\n\n & .mdl-list__item-text-body {\n @include typo-body-1();\n line-height: 18px;\n height: $list-three-line-height - $list-min-padding - $list-bottom-padding;\n color: $list-supporting-text-text-color;\n display: block;\n padding: 0;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-menu__container {\n display: block;\n margin: 0;\n padding: 0;\n border: none;\n position: absolute;\n overflow: visible;\n height: 0;\n width: 0;\n visibility: hidden;\n z-index: -1;\n\n &.is-visible,\n &.is-animating {\n z-index: 999;\n visibility: visible;\n }\n}\n\n.mdl-menu__outline {\n display: block;\n background: $default-dropdown-bg-color;\n margin: 0;\n padding: 0;\n border: none;\n border-radius: 2px;\n position: absolute;\n top: 0;\n left: 0;\n overflow: hidden;\n opacity: 0;\n transform: scale(0);\n transform-origin: 0 0;\n @include shadow-2dp();\n will-change: transform;\n transition: transform $menu-expand-duration $animation-curve-default,\n opacity $menu-fade-duration $animation-curve-default;\n z-index: -1;\n\n .mdl-menu__container.is-visible & {\n opacity: 1;\n transform: scale(1);\n z-index: 999;\n }\n\n &.mdl-menu--bottom-right {\n transform-origin: 100% 0;\n }\n\n &.mdl-menu--top-left {\n transform-origin: 0 100%;\n }\n\n &.mdl-menu--top-right {\n transform-origin: 100% 100%;\n }\n}\n\n.mdl-menu {\n position: absolute;\n list-style: none;\n top: 0;\n left: 0;\n height: auto;\n width: auto;\n min-width: 124px;\n padding: 8px 0;\n margin: 0;\n opacity: 0;\n clip: rect(0 0 0 0);\n z-index: -1;\n\n .mdl-menu__container.is-visible & {\n opacity: 1;\n z-index: 999;\n }\n\n &.is-animating {\n transition: opacity $menu-fade-duration $animation-curve-default,\n clip $menu-expand-duration $animation-curve-default;\n }\n\n &.mdl-menu--bottom-right {\n left: auto;\n right: 0;\n }\n\n &.mdl-menu--top-left {\n top: auto;\n bottom: 0;\n }\n\n &.mdl-menu--top-right {\n top: auto;\n left: auto;\n bottom: 0;\n right: 0;\n }\n\n &.mdl-menu--unaligned {\n top: auto;\n left: auto;\n }\n}\n\n.mdl-menu__item {\n display: block;\n border: none;\n color: $default-item-text-color;\n background-color: transparent;\n text-align: left;\n margin: 0;\n padding: 0 16px;\n outline-color: $default-item-outline-color;\n position: relative;\n overflow: hidden;\n @include typo-body-1();\n text-decoration: none;\n cursor: pointer;\n height: 48px;\n line-height: 48px;\n white-space: nowrap;\n opacity: 0;\n transition: opacity $menu-fade-duration $animation-curve-default;\n user-select: none;\n\n .mdl-menu__container.is-visible & {\n opacity: 1;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &--full-bleed-divider {\n border-bottom: 1px solid $default-item-divider-color;\n }\n\n &[disabled], &[data-mdl-disabled] {\n color: $disabled-item-text-color;\n background-color: transparent;\n cursor: auto;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $default-item-hover-bg-color;\n }\n\n &:focus {\n outline: none;\n background-color: $default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $default-item-active-bg-color;\n }\n}\n\n\n.mdl-menu__item--ripple-container {\n display: block;\n height: 100%;\n left: 0px;\n position: absolute;\n top: 0px;\n width: 100%;\n z-index: 0;\n overflow: hidden;\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n.mdl-progress {\n display: block;\n position: relative;\n height: $bar-height;\n width: 500px;\n max-width: 100%;\n}\n\n.mdl-progress > .bar {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 0%;\n transition: width 0.2s $animation-curve-default;\n}\n\n.mdl-progress > .progressbar {\n background-color: $progress-main-color;\n z-index: 1;\n left: 0;\n}\n\n.mdl-progress > .bufferbar {\n background-image: linear-gradient(to right, $progress-secondary-color, $progress-secondary-color),\n linear-gradient(to right, $progress-main-color, $progress-main-color);\n z-index: 0;\n left: 0;\n}\n\n.mdl-progress > .auxbar {\n right: 0;\n}\n\n// Webkit only\n@supports (-webkit-appearance:none) {\n .mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate) > .auxbar,\n .mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate) > .auxbar {\n background-image: linear-gradient(to right, $progress-secondary-color, $progress-secondary-color),\n linear-gradient(to right, $progress-main-color, $progress-main-color);\n mask: url('#{$progress-image-path}/buffer.svg?embed');\n }\n}\n\n.mdl-progress:not(.mdl-progress--indeterminate) > .auxbar,\n.mdl-progress:not(.mdl-progress__indeterminate) > .auxbar {\n background-image: linear-gradient(to right, $progress-fallback-buffer-color, $progress-fallback-buffer-color),\n linear-gradient(to right, $progress-main-color, $progress-main-color);\n}\n\n.mdl-progress.mdl-progress--indeterminate > .bar1,\n.mdl-progress.mdl-progress__indeterminate > .bar1 {\n background-color: $progress-main-color;\n animation-name: indeterminate1;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n\n.mdl-progress.mdl-progress--indeterminate > .bar3,\n.mdl-progress.mdl-progress__indeterminate > .bar3 {\n background-image: none;\n background-color: $progress-main-color;\n animation-name: indeterminate2;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n\n@keyframes indeterminate1 {\n 0% {\n left: 0%;\n width: 0%;\n }\n 50% {\n left: 25%;\n width: 75%;\n }\n 75% {\n left: 100%;\n width: 0%;\n }\n}\n\n@keyframes indeterminate2 {\n 0% {\n left: 0%;\n width: 0%;\n }\n 50% {\n left: 0%;\n width: 0%;\n }\n 75% {\n left: 0%;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0%;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n// Navigation classes. Only used here for now, but we may at some point move\n// this to its own component.\n.mdl-navigation {\n display: flex;\n flex-wrap: nowrap;\n box-sizing: border-box;\n}\n\n.mdl-navigation__link {\n color: $layout-text-color;\n text-decoration: none;\n margin: 0;\n @include typo-body-1(true);\n\n // Align icons inside link with text\n & .material-icons {\n vertical-align: middle;\n }\n}\n\n// Main layout class.\n.mdl-layout {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n -webkit-overflow-scrolling: touch;\n}\n\n// Utility classes for screen sizes.\n.mdl-layout.is-small-screen .mdl-layout--large-screen-only {\n display: none;\n}\n\n.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only {\n display: none;\n}\n\n.mdl-layout__container {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n\n // Optional utility classes for formatting special blocks in this component.\n .mdl-layout__title,\n .mdl-layout-title {\n display: block;\n position: relative;\n\n @include typo-title();\n font-weight: 400;\n box-sizing: border-box;\n }\n\n .mdl-layout-spacer {\n flex-grow: 1;\n }\n\n\n // Drawer.\n .mdl-layout__drawer {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n\n width: $layout-drawer-width;\n height: 100%;\n max-height: 100%;\n\n position: absolute;\n top: 0;\n left: 0;\n\n @include shadow-2dp();\n\n box-sizing: border-box;\n border-right: 1px solid $layout-drawer-border-color;\n background: $layout-drawer-bg-color;\n\n // Transform offscreen.\n transform: translateX(-$layout-drawer-width - 10px);\n transform-style: preserve-3d;\n will-change: transform;\n\n @include material-animation-default();\n transition-property: transform;\n\n color: $layout-text-color;\n\n overflow: visible;\n overflow-y: auto;\n\n z-index: 5;\n\n &.is-visible {\n transform: translateX(0);\n & ~ .mdl-layout__content.mdl-layout__content {\n overflow: hidden;\n }\n }\n\n & > * {\n flex-shrink: 0;\n }\n\n & > .mdl-layout__title,\n & > .mdl-layout-title {\n line-height: $layout-desktop-header-height;\n padding-left: $layout-header-desktop-indent;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n line-height: $layout-mobile-header-height;\n padding-left: $layout-header-mobile-indent;\n }\n }\n\n & .mdl-navigation {\n flex-direction: column;\n align-items: stretch;\n padding-top: 16px;\n\n & .mdl-navigation__link {\n display: block;\n flex-shrink: 0;\n padding: 16px $layout-header-desktop-indent;\n margin: 0;\n color: $layout-drawer-navigation-color;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n padding: 16px $layout-header-mobile-indent;\n }\n\n &:hover {\n background-color: $layout-nav-color;\n }\n\n &--current {\n background-color: $layout-drawer-navigation-link-active-background;\n color: $layout-drawer-navigation-link-active-color;\n }\n }\n }\n\n @media screen and (min-width: $layout-screen-size-threshold + 1px) {\n .mdl-layout--fixed-drawer > & {\n transform: translateX(0);\n }\n }\n }\n\n\n // Drawer button.\n // TODO(sgomes): Replace with an icon button when we have that component.\n .mdl-layout__drawer-button {\n display: block;\n\n position: absolute;\n height: $layout-drawer-button-desktop-size;\n width: $layout-drawer-button-desktop-size;\n border: 0;\n\n flex-shrink: 0;\n\n overflow: hidden;\n text-align: center;\n cursor: pointer;\n font-size: 26px;\n line-height: $layout-mobile-header-height;\n font-family: Helvetica, Arial, sans-serif;\n margin: ($layout-mobile-header-height - $layout-drawer-button-desktop-size) 12px;\n top: 0;\n left: 0;\n color: $layout-header-text-color;\n\n z-index: 4;\n\n .mdl-layout__header & {\n position: absolute;\n color: $layout-header-text-color;\n background-color: inherit;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n margin: 4px;\n }\n }\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n margin: 4px;\n color: rgba(0, 0, 0, 0.5);\n }\n\n @media screen and (min-width: $layout-screen-size-threshold + 1px) {\n line-height: 54px;\n\n .mdl-layout--no-desktop-drawer-button &,\n .mdl-layout--fixed-drawer > &,\n .mdl-layout--no-drawer-button & {\n display: none;\n }\n }\n }\n\n .mdl-layout__header {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n box-sizing: border-box;\n flex-shrink: 0;\n\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n min-height: $layout-desktop-header-height;\n max-height: 1000px;\n z-index: 3;\n\n background-color: $layout-header-bg-color;\n color: $layout-header-text-color;\n\n @include shadow-2dp();\n @include material-animation-default();\n transition-property: max-height, box-shadow;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n min-height: $layout-mobile-header-height;\n }\n\n .mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen) > & {\n margin-left: $layout-drawer-width;\n width: calc(100% - #{$layout-drawer-width});\n }\n\n @media screen and (min-width: $layout-screen-size-threshold + 1px) {\n .mdl-layout--fixed-drawer > & {\n .mdl-layout__header-row {\n padding-left: 40px;\n }\n }\n }\n\n & > .mdl-layout-icon {\n position: absolute;\n left: $layout-header-desktop-indent;\n top: ($layout-desktop-header-height - $layout-header-icon-size) / 2;\n height: $layout-header-icon-size;\n width: $layout-header-icon-size;\n overflow: hidden;\n z-index: 3;\n display: block;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n left: $layout-header-mobile-indent;\n top: ($layout-mobile-header-height - $layout-header-icon-size) / 2;\n }\n }\n\n .mdl-layout.has-drawer & > .mdl-layout-icon {\n display: none;\n }\n\n &.is-compact {\n max-height: $layout-desktop-header-height;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n max-height: $layout-mobile-header-height;\n }\n }\n\n &.is-compact.has-tabs {\n height: $layout-desktop-header-height + $layout-tab-bar-height;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n min-height: $layout-mobile-header-height + $layout-tab-bar-height;\n }\n }\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n & {\n display: none;\n }\n\n .mdl-layout--fixed-header > & {\n display: flex;\n }\n }\n }\n\n .mdl-layout__header--transparent.mdl-layout__header--transparent {\n background-color: transparent;\n box-shadow: none;\n }\n\n .mdl-layout__header--seamed {\n box-shadow: none;\n }\n\n .mdl-layout__header--scroll {\n box-shadow: none;\n }\n\n .mdl-layout__header--waterfall {\n box-shadow: none;\n overflow: hidden;\n\n &.is-casting-shadow {\n @include shadow-2dp();\n }\n\n &.mdl-layout__header--waterfall-hide-top {\n justify-content: flex-end;\n }\n }\n\n .mdl-layout__header-row {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n flex-shrink: 0;\n box-sizing: border-box;\n align-self: stretch;\n align-items: center;\n height: $layout-header-desktop-row-height;\n margin: 0;\n padding: 0 $layout-header-desktop-indent 0 $layout-header-desktop-baseline;\n\n .mdl-layout--no-drawer-button & {\n padding-left: $layout-header-desktop-indent;\n }\n\n @media screen and (min-width: $layout-screen-size-threshold + 1px) {\n .mdl-layout--no-desktop-drawer-button & {\n padding-left: $layout-header-desktop-indent;\n }\n }\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n height: $layout-header-mobile-row-height;\n padding: 0 $layout-header-mobile-indent 0 $layout-header-mobile-baseline;\n\n .mdl-layout--no-drawer-button & {\n padding-left: $layout-header-mobile-indent;\n }\n }\n\n & > * {\n flex-shrink: 0;\n }\n\n .mdl-layout__header--scroll & {\n width: 100%;\n }\n\n & .mdl-navigation {\n margin: 0;\n padding: 0;\n height: $layout-header-desktop-row-height;\n flex-direction: row;\n align-items: center;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n height: $layout-header-mobile-row-height;\n }\n }\n\n & .mdl-navigation__link {\n display: block;\n color: $layout-header-text-color;\n line-height: $layout-header-desktop-row-height;\n padding: 0 24px;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n line-height: $layout-header-mobile-row-height;\n padding: 0 $layout-header-mobile-indent;\n }\n }\n }\n\n // Obfuscator.\n .mdl-layout__obfuscator {\n background-color: transparent;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: 4;\n visibility: hidden;\n transition-property: background-color;\n @include material-animation-default();\n\n &.is-visible {\n background-color: rgba(0, 0, 0, 0.5);\n visibility: visible;\n }\n\n @supports (pointer-events: auto) {\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition-property: opacity;\n visibility: visible;\n pointer-events: none;\n &.is-visible {\n pointer-events: auto;\n opacity: 1;\n }\n }\n }\n\n\n // Content.\n .mdl-layout__content {\n // Fix IE10 bug.\n -ms-flex: 0 1 auto;\n\n position: relative;\n display: inline-block;\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n\n .mdl-layout--fixed-drawer > & {\n margin-left: $layout-drawer-width;\n }\n\n .mdl-layout__container.has-scrolling-header & {\n overflow: visible;\n }\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n .mdl-layout--fixed-drawer > & {\n margin-left: 0;\n }\n\n .mdl-layout__container.has-scrolling-header & {\n overflow-y: auto;\n overflow-x: hidden;\n }\n }\n }\n\n // Tabs.\n .mdl-layout__tab-bar {\n height: $layout-tab-bar-height * 2;\n margin: 0;\n width: calc(100% -\n #{(($layout-header-desktop-baseline - $layout-tab-desktop-padding) * 2)});\n padding: 0 0 0\n ($layout-header-desktop-baseline - $layout-tab-desktop-padding);\n display: flex;\n background-color: $layout-header-bg-color;\n overflow-y: hidden;\n overflow-x: scroll;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n .mdl-layout--no-drawer-button & {\n padding-left: $layout-header-desktop-indent - $layout-tab-desktop-padding;\n width: calc(100% -\n #{(($layout-header-desktop-indent - $layout-tab-desktop-padding) * 2)});\n }\n\n @media screen and (min-width: $layout-screen-size-threshold + 1px) {\n .mdl-layout--no-desktop-drawer-button & {\n padding-left: $layout-header-desktop-indent - $layout-tab-desktop-padding;\n width: calc(100% -\n #{(($layout-header-desktop-indent - $layout-tab-desktop-padding) * 2)});\n }\n }\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n width: calc(100% -\n #{($layout-header-mobile-baseline - $layout-tab-mobile-padding)});\n padding: 0 0 0\n ($layout-header-mobile-baseline - $layout-tab-mobile-padding);\n\n .mdl-layout--no-drawer-button & {\n width: calc(100% -\n #{(($layout-header-mobile-indent - $layout-tab-mobile-padding) * 2)});\n padding-left: $layout-header-mobile-indent - $layout-tab-mobile-padding;\n }\n }\n\n .mdl-layout--fixed-tabs & {\n padding: 0;\n overflow: hidden;\n width: 100%;\n }\n }\n\n .mdl-layout__tab-bar-container {\n position: relative;\n height: $layout-tab-bar-height;\n width: 100%;\n border: none;\n margin: 0;\n z-index: 2;\n flex-grow: 0;\n flex-shrink: 0;\n overflow: hidden;\n\n .mdl-layout__container > & {\n position: absolute;\n top: 0;\n left: 0;\n }\n }\n\n .mdl-layout__tab-bar-button {\n display: inline-block;\n position: absolute;\n top: 0;\n height: $layout-tab-bar-height;\n width: $layout-header-desktop-baseline - $layout-tab-desktop-padding;\n z-index: 4;\n text-align: center;\n background-color: $layout-header-bg-color;\n color: transparent;\n cursor: pointer;\n user-select: none;\n\n .mdl-layout--no-desktop-drawer-button &,\n .mdl-layout--no-drawer-button & {\n width: $layout-header-desktop-indent - $layout-tab-desktop-padding;\n\n & .material-icons {\n position: relative;\n left: ($layout-header-desktop-indent - $layout-tab-desktop-padding - 24px) / 2;\n }\n }\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n width: $layout-header-mobile-baseline - $layout-tab-mobile-padding;\n }\n\n .mdl-layout--fixed-tabs & {\n display: none;\n }\n\n & .material-icons {\n line-height: $layout-tab-bar-height;\n }\n\n &.is-active {\n color: $layout-header-text-color;\n }\n }\n\n .mdl-layout__tab-bar-left-button {\n left: 0;\n }\n\n .mdl-layout__tab-bar-right-button {\n right: 0;\n }\n\n .mdl-layout__tab {\n margin: 0;\n border: none;\n padding: 0 $layout-tab-desktop-padding 0 $layout-tab-desktop-padding;\n\n float: left;\n position: relative;\n display: block;\n flex-grow: 0;\n flex-shrink: 0;\n\n text-decoration: none;\n height: $layout-tab-bar-height;\n line-height: $layout-tab-bar-height;\n\n text-align: center;\n font-weight: 500;\n font-size: $layout-tab-font-size;\n text-transform: uppercase;\n\n color: $layout-header-tab-text-color;\n overflow: hidden;\n\n @media screen and (max-width: $layout-screen-size-threshold) {\n padding: 0 $layout-tab-mobile-padding 0 $layout-tab-mobile-padding;\n }\n\n .mdl-layout--fixed-tabs & {\n float: none;\n flex-grow: 1;\n padding: 0;\n }\n\n .mdl-layout.is-upgraded &.is-active {\n color: $layout-header-text-color;\n }\n\n .mdl-layout.is-upgraded &.is-active::after {\n height: $layout-tab-highlight-thickness;\n width: 100%;\n display: block;\n content: \" \";\n bottom: 0;\n left: 0;\n position: absolute;\n background: $layout-header-tab-highlight;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n & .mdl-layout__tab-ripple-container {\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n z-index: 1;\n overflow: hidden;\n\n & .mdl-ripple {\n background-color: $layout-header-text-color;\n }\n }\n }\n\n .mdl-layout__tab-panel {\n display: block;\n\n .mdl-layout.is-upgraded & {\n display: none;\n }\n\n .mdl-layout.is-upgraded &.is-active {\n display: block;\n }\n }\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-radio {\n position: relative;\n\n font-size: $radio-label-font-size;\n line-height: $radio-label-height;\n\n display: inline-block;\n\n vertical-align: middle;\n\n box-sizing: border-box;\n height: $radio-label-height;\n margin: 0;\n padding-left: 0;\n\n &.is-upgraded {\n padding-left: $radio-button-size + $radio-padding;\n }\n}\n\n.mdl-radio__button {\n line-height: $radio-label-height;\n\n .mdl-radio.is-upgraded & {\n // Hide input element, while still making it respond to focus.\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none;\n }\n}\n\n.mdl-radio__outer-circle {\n position: absolute;\n top: $radio-top-offset;\n left: 0;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: $radio-button-size;\n height: $radio-button-size;\n margin: 0;\n\n cursor: pointer;\n\n border: 2px solid $radio-off-color;\n border-radius: 50%;\n\n z-index: 2;\n\n .mdl-radio.is-checked & {\n border: 2px solid $radio-color;\n }\n\n fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled & {\n border: 2px solid $radio-disabled-color;\n cursor: auto;\n }\n}\n\n.mdl-radio__inner-circle {\n position: absolute;\n z-index: 1;\n margin: 0;\n top: $radio-top-offset + $radio-inner-margin;\n left: $radio-inner-margin;\n\n box-sizing: border-box;\n width: $radio-button-size - ($radio-inner-margin * 2);\n height: $radio-button-size - ($radio-inner-margin * 2);\n\n cursor: pointer;\n\n @include material-animation-default(0.28s);\n transition-property: transform;\n transform: scale(0, 0);\n\n border-radius: 50%;\n background: $radio-color;\n\n .mdl-radio.is-checked & {\n transform: scale(1, 1);\n }\n\n fieldset[disabled] .mdl-radio &,\n .mdl-radio.is-disabled & {\n background: $radio-disabled-color;\n cursor: auto;\n }\n\n .mdl-radio.is-focused & {\n box-shadow: 0 0 0px 10px rgba(0, 0, 0, 0.1);\n }\n}\n\n.mdl-radio__label {\n cursor: pointer;\n\n fieldset[disabled] .mdl-radio &,\n .mdl-radio.is-disabled & {\n color: $radio-disabled-color;\n cursor: auto;\n }\n}\n\n.mdl-radio__ripple-container {\n position: absolute;\n z-index: 2;\n top: -(($radio-ripple-size - $radio-label-height) / 2);\n left: -(($radio-ripple-size - $radio-button-size) / 2);\n\n box-sizing: border-box;\n width: $radio-ripple-size;\n height: $radio-ripple-size;\n border-radius: 50%;\n\n cursor: pointer;\n\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black);\n\n & .mdl-ripple {\n background: $radio-color;\n }\n\n fieldset[disabled] .mdl-radio &,\n .mdl-radio.is-disabled & {\n cursor: auto;\n }\n\n fieldset[disabled] .mdl-radio & .mdl-ripple,\n .mdl-radio.is-disabled & .mdl-ripple {\n background: transparent;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n// Some CSS magic to target only IE.\n_:-ms-input-placeholder, :root .mdl-slider.mdl-slider.is-upgraded {\n -ms-appearance: none;\n // The thumb can't overflow the track or the rest of the control in IE, so we\n // need to make it tall enough to contain the largest version of the thumb.\n height: 32px;\n margin: 0;\n}\n\n// Slider component (styled input[type=range]).\n.mdl-slider {\n width: calc(100% - 40px);\n margin: 0 20px;\n\n &.is-upgraded {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 2px;\n background: transparent;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n outline: 0;\n padding: 0;\n color: $range-color;\n align-self: center;\n z-index: 1;\n cursor: pointer;\n\n\n // Disable default focus on Firefox.\n &::-moz-focus-outer {\n border: 0;\n }\n\n // Disable tooltip on IE.\n &::-ms-tooltip {\n display: none;\n }\n\n\n /**************************** Tracks ****************************/\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n border: none;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n height: 2px;\n width: 100%;\n border: none;\n }\n\n &::-ms-fill-lower {\n padding: 0;\n // Margin on -ms-track doesn't work right, so we use gradients on the\n // fills.\n background: linear-gradient(to right,\n transparent,\n transparent 16px,\n $range-color 16px,\n $range-color 0);\n }\n\n &::-ms-fill-upper {\n padding: 0;\n // Margin on -ms-track doesn't work right, so we use gradients on the\n // fills.\n background: linear-gradient(to left,\n transparent,\n transparent 16px,\n $range-bg-color 16px,\n $range-bg-color 0);\n }\n\n\n /**************************** Thumbs ****************************/\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n background: $range-color;\n border: none;\n transition: transform 0.18s $animation-curve-default,\n border 0.18s $animation-curve-default,\n box-shadow 0.18s $animation-curve-default,\n background 0.28s $animation-curve-default;\n }\n\n &::-moz-range-thumb {\n -moz-appearance: none;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n background-image: none;\n background: $range-color;\n border: none;\n // -moz-range-thumb doesn't currently support transitions.\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background-image: none;\n background: $range-color;\n transform: scale(1.5);\n }\n\n &:active::-moz-range-thumb {\n background-image: none;\n background: $range-color;\n transform: scale(1.5);\n }\n\n &::-ms-thumb {\n width: 32px;\n height: 32px;\n border: none;\n border-radius: 50%;\n background: $range-color;\n transform: scale(0.375);\n // -ms-thumb doesn't currently support transitions, but leaving this here\n // in case support ever gets added.\n transition: transform 0.18s $animation-curve-default,\n background 0.28s $animation-curve-default;\n }\n\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $range-color 0%,\n $range-color 37.5%,\n $range-faded-color 37.5%,\n $range-faded-color 100%);\n transform: scale(1);\n }\n\n &:active::-ms-thumb {\n background: $range-color;\n transform: scale(0.5625);\n }\n\n\n /**************************** 0-value ****************************/\n &.is-lowest-value::-webkit-slider-thumb {\n border: 2px solid $range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border: 2px solid $range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value +\n .mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 6px;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $range-bg-focus-color;\n background: $range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $range-bg-focus-color;\n background: $range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border: 1.6px solid $range-bg-color;\n transform: scale(1.5);\n }\n\n &.is-lowest-value:active +\n .mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 9px;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border: 1.5px solid $range-bg-color;\n transform: scale(1.5);\n }\n\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $range-bg-color 66.67%,\n $range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $range-bg-focus-color 0%,\n $range-bg-focus-color 25%,\n $range-bg-color 25%,\n $range-bg-color 37.5%,\n $range-bg-focus-color 37.5%,\n $range-bg-focus-color 100%);\n transform: scale(1);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n transform: scale(0.5625);\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $range-bg-color 77.78%,\n $range-bg-color 100%);\n }\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n &.is-lowest-value::-ms-fill-upper {\n margin-left: 6px;\n }\n\n &.is-lowest-value:active::-ms-fill-upper {\n margin-left: 9px;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n transform: scale(0.667);\n background: $range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n transform: scale(0.667);\n background: $range-bg-color;\n }\n\n &:disabled +\n .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $range-bg-color;\n left: -6px;\n }\n\n &:disabled +\n .mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 6px;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border: 3px solid $range-bg-color;\n background: transparent;\n transform: scale(0.667);\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border: 3px solid $range-bg-color;\n background: transparent;\n transform: scale(0.667);\n }\n\n &.is-lowest-value:disabled:active +\n .mdl-slider__background-flex > .mdl-slider__background-upper {\n left: 6px;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n transform: scale(0.25);\n background: $range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n transform: scale(0.25);\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $range-bg-color 50%,\n $range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n margin-right: 6px;\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $range-bg-color 25px,\n $range-bg-color 0);\n }\n\n &:disabled::-ms-fill-upper {\n margin-left: 6px;\n }\n\n &.is-lowest-value:disabled:active::-ms-fill-upper {\n margin-left: 6px;\n }\n }\n}\n\n // Since we need to specify a height of 32px in IE, we add a class here for a\n // container that brings it back to a reasonable height.\n .mdl-slider__ie-container {\n height: 18px;\n overflow: visible;\n border: none;\n margin: none;\n padding: none;\n }\n\n // We use a set of divs behind the track to style it in all non-IE browsers.\n // This one contains both the background and the slider.\n .mdl-slider__container {\n height: 18px;\n position: relative;\n background: none;\n display: flex;\n flex-direction: row;\n }\n\n // This one sets up a flex box for the styled upper and lower portions of the\n // the slider track.\n .mdl-slider__background-flex {\n background: transparent;\n position: absolute;\n height: 2px;\n width: calc(100% - 52px);\n top: 50%;\n left: 0;\n margin: 0 26px;\n display: flex;\n overflow: hidden;\n border: 0;\n padding: 0;\n transform: translate(0, -1px);\n }\n\n // This one styles the lower part of the slider track.\n .mdl-slider__background-lower {\n background: $range-color;\n flex: 0;\n position: relative;\n border: 0;\n padding: 0;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $range-bg-color;\n flex: 0;\n position: relative;\n border: 0;\n padding: 0;\n transition: left 0.18s $animation-curve-default\n }\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-snackbar {\n position: fixed;\n bottom: 0;\n left: 50%;\n cursor: default;\n background-color: $snackbar-background-color;\n z-index: 3;\n display: block;\n display: flex;\n justify-content: space-between;\n font-family: $preferred_font;\n will-change: transform;\n transform: translate(0, 80px);\n transition: transform 0.25s $animation-curve-fast-out-linear-in;\n pointer-events: none;\n @media(max-width: $snackbar-tablet-breakpoint - 1) {\n width: 100%;\n left: 0;\n min-height: 48px;\n max-height: 80px;\n }\n @media(min-width: $snackbar-tablet-breakpoint) {\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n transform: translate(-50%, 80px);\n }\n &--active {\n transform: translate(0, 0);\n pointer-events: auto;\n transition: transform 0.25s $animation-curve-linear-out-slow-in;\n\n @media(min-width: $snackbar-tablet-breakpoint) {\n transform: translate(-50%, 0);\n }\n }\n\n &__text {\n padding: 14px 12px 14px 24px;\n vertical-align: middle;\n color: white;\n float: left;\n }\n\n &__action {\n background: transparent;\n border: none;\n color: $snackbar-action-color;\n float: right;\n text-transform: uppercase;\n padding: 14px 24px 14px 12px;\n @include typo-button();\n overflow: hidden;\n outline: none;\n opacity: 0;\n pointer-events: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n align-self: center;\n\n &::-moz-focus-inner {\n border: 0;\n }\n &:not([aria-hidden]) {\n opacity: 1;\n pointer-events: auto;\n }\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n\n.mdl-spinner {\n display: inline-block;\n position: relative;\n width: $spinner-size;\n height: $spinner-size;\n\n &:not(.is-upgraded).is-active:after {\n content: \"Loading...\";\n }\n\n &.is-upgraded.is-active {\n animation: mdl-spinner__container-rotate $spinner-duration linear infinite;\n }\n}\n\n@keyframes mdl-spinner__container-rotate {\n to { transform: rotate(360deg) }\n}\n\n.mdl-spinner__layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n}\n\n.mdl-spinner__layer-1 {\n border-color: $spinner-color-1;\n\n .mdl-spinner--single-color & {\n border-color: $spinner-single-color;\n }\n\n .mdl-spinner.is-active & {\n animation:\n mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both,\n mdl-spinner__layer-1-fade-in-out (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both;\n }\n}\n\n.mdl-spinner__layer-2 {\n border-color: $spinner-color-2;\n\n .mdl-spinner--single-color & {\n border-color: $spinner-single-color;\n }\n\n .mdl-spinner.is-active & {\n animation:\n mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both,\n mdl-spinner__layer-2-fade-in-out (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both;\n }\n}\n\n.mdl-spinner__layer-3 {\n border-color: $spinner-color-3;\n\n .mdl-spinner--single-color & {\n border-color: $spinner-single-color;\n }\n\n .mdl-spinner.is-active & {\n animation:\n mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both,\n mdl-spinner__layer-3-fade-in-out (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both;\n }\n}\n\n.mdl-spinner__layer-4 {\n border-color: $spinner-color-4;\n\n .mdl-spinner--single-color & {\n border-color: $spinner-single-color;\n }\n\n .mdl-spinner.is-active & {\n animation:\n mdl-spinner__fill-unfill-rotate (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both,\n mdl-spinner__layer-4-fade-in-out (4 * $spinner-arc-time)\n $animation-curve-fast-out-slow-in infinite both;\n }\n}\n\n@keyframes mdl-spinner__fill-unfill-rotate {\n 12.5% { transform: rotate(0.5 * $spinner-arc-size); }\n 25% { transform: rotate($spinner-arc-size); }\n 37.5% { transform: rotate(1.5 * $spinner-arc-size); }\n 50% { transform: rotate(2 * $spinner-arc-size); }\n 62.5% { transform: rotate(2.5 * $spinner-arc-size); }\n 75% { transform: rotate(3 * $spinner-arc-size); }\n 87.5% { transform: rotate(3.5 * $spinner-arc-size); }\n to { transform: rotate(4 * $spinner-arc-size); }\n}\n\n/**\n* HACK: Even though the intention is to have the current .mdl-spinner__layer-N\n* at `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome\n* to do proper subpixel rendering for the elements being animated. This is\n* especially visible in Chrome 39 on Ubuntu 14.04. See:\n*\n* - https://github.com/Polymer/paper-spinner/issues/9\n* - https://code.google.com/p/chromium/issues/detail?id=436255\n*/\n@keyframes mdl-spinner__layer-1-fade-in-out {\n from { opacity: 0.99; }\n 25% { opacity: 0.99; }\n 26% { opacity: 0; }\n 89% { opacity: 0; }\n 90% { opacity: 0.99; }\n 100% { opacity: 0.99; }\n}\n\n@keyframes mdl-spinner__layer-2-fade-in-out {\n from { opacity: 0; }\n 15% { opacity: 0; }\n 25% { opacity: 0.99; }\n 50% { opacity: 0.99; }\n 51% { opacity: 0; }\n}\n\n@keyframes mdl-spinner__layer-3-fade-in-out {\n from { opacity: 0; }\n 40% { opacity: 0; }\n 50% { opacity: 0.99; }\n 75% { opacity: 0.99; }\n 76% { opacity: 0; }\n}\n\n@keyframes mdl-spinner__layer-4-fade-in-out {\n from { opacity: 0; }\n 65% { opacity: 0; }\n 75% { opacity: 0.99; }\n 90% { opacity: 0.99; }\n 100% { opacity: 0; }\n}\n\n/**\n* Patch the gap that appear between the two adjacent\n* div.mdl-spinner__circle-clipper while the spinner is rotating\n* (appears on Chrome 38, Safari 7.1, and IE 11).\n*\n* Update: the gap no longer appears on Chrome when .mdl-spinner__layer-N's\n* opacity is 0.99, but still does on Safari and IE.\n*/\n.mdl-spinner__gap-patch {\n position: absolute;\n box-sizing: border-box;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n & .mdl-spinner__circle {\n width: 1000%;\n left: -450%;\n }\n}\n\n.mdl-spinner__circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n &.mdl-spinner__left {\n float: left;\n }\n\n &.mdl-spinner__right {\n float: right;\n }\n\n & .mdl-spinner__circle {\n width: 200%;\n }\n}\n\n.mdl-spinner__circle {\n box-sizing: border-box;\n height: 100%;\n border-width: $spinner-stroke-width;\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n .mdl-spinner__left & {\n border-right-color: transparent !important;\n transform: rotate(129deg);\n\n .mdl-spinner.is-active & {\n animation: mdl-spinner__left-spin $spinner-arc-time\n $animation-curve-fast-out-slow-in infinite both;\n }\n }\n\n .mdl-spinner__right & {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n\n .mdl-spinner.is-active & {\n animation: mdl-spinner__right-spin $spinner-arc-time\n $animation-curve-fast-out-slow-in infinite both;\n }\n }\n}\n\n@keyframes mdl-spinner__left-spin {\n from { transform: rotate(130deg); }\n 50% { transform: rotate(-5deg); }\n to { transform: rotate(130deg); }\n}\n\n@keyframes mdl-spinner__right-spin {\n from { transform: rotate(-130deg); }\n 50% { transform: rotate(5deg); }\n to { transform: rotate(-130deg); }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n@import \"../variables\";\n@import \"../mixins\";\n\n.mdl-switch {\n position: relative;\n\n z-index: 1;\n\n vertical-align: middle;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 100%;\n height: $switch-label-height;\n margin: 0;\n padding: 0;\n\n overflow: visible;\n\n &.is-upgraded {\n padding-left: $switch-track-length - 8px;\n }\n\n // avoids blue box around switch\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.mdl-switch__input {\n line-height: $switch-label-height;\n\n .mdl-switch.is-upgraded & {\n // Hide input element, while still making it respond to focus.\n position: absolute;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n -ms-appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n border: none;\n }\n}\n\n.mdl-switch__track {\n background: $switch-off-track-color;\n position: absolute;\n left: 0;\n top: $switch-track-top;\n height: $switch-track-height;\n width: $switch-track-length;\n border-radius: $switch-track-height;\n\n cursor: pointer;\n\n .mdl-switch.is-checked & {\n background: $switch-track-color;\n }\n\n fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled & {\n background: $switch-disabled-track-color;\n cursor: auto;\n }\n}\n\n.mdl-switch__thumb {\n background: $switch-off-thumb-color;\n position: absolute;\n left: 0;\n top: $switch-thumb-top;\n height: $switch-thumb-size;\n width: $switch-thumb-size;\n border-radius: 50%;\n\n cursor: pointer;\n\n @include shadow-2dp();\n\n @include material-animation-default(0.28s);\n transition-property: left;\n\n .mdl-switch.is-checked & {\n background: $switch-thumb-color;\n left: $switch-track-length - $switch-thumb-size;\n\n @include shadow-3dp();\n }\n\n fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled & {\n background: $switch-disabled-thumb-color;\n cursor: auto;\n }\n}\n\n.mdl-switch__focus-helper {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-$switch-helper-size / 2, -$switch-helper-size / 2);\n\n display: inline-block;\n\n box-sizing: border-box;\n width: $switch-helper-size;\n height: $switch-helper-size;\n border-radius: 50%;\n\n background-color: transparent;\n\n .mdl-switch.is-focused & {\n box-shadow: 0 0 0px (($switch-ripple-size - $switch-helper-size) / 2)\n rgba(0, 0, 0, 0.1);\n background-color: rgba(0, 0, 0, 0.1);\n }\n\n .mdl-switch.is-focused.is-checked & {\n box-shadow: 0 0 0px (($switch-ripple-size - $switch-helper-size) / 2)\n $switch-faded-color;\n background-color: $switch-faded-color;\n }\n}\n\n.mdl-switch__label {\n position: relative;\n cursor: pointer;\n font-size: $switch-label-font-size;\n line-height: $switch-label-height;\n margin: 0;\n left: 24px;\n\n fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled & {\n color: $switch-disabled-thumb-color;\n cursor: auto;\n }\n}\n\n.mdl-switch__ripple-container {\n position: absolute;\n z-index: 2;\n top: -($switch-ripple-size - $switch-label-height) / 2;\n left: $switch-thumb-size / 2 - $switch-ripple-size / 2;\n\n box-sizing: border-box;\n width: $switch-ripple-size;\n height: $switch-ripple-size;\n border-radius: 50%;\n\n cursor: pointer;\n\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(circle, white, black);\n\n transition-duration: 0.40s;\n transition-timing-function: step-end;\n transition-property: left;\n\n & .mdl-ripple {\n background: $switch-color;\n }\n\n fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled & {\n cursor: auto;\n }\n\n fieldset[disabled] .mdl-switch & .mdl-ripple,\n .mdl-switch.is-disabled & .mdl-ripple {\n background: transparent;\n }\n\n .mdl-switch.is-checked & {\n left: $switch-track-length - $switch-ripple-size / 2 -\n $switch-thumb-size / 2;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n\n\n.mdl-tabs {\n display: block;\n width: 100%;\n}\n\n.mdl-tabs__tab-bar {\n display : flex;\n flex-direction : row;\n justify-content : center; // ⇾\n align-content : space-between; // ||\n align-items : flex-start; // ↓\n\n height : 48px;\n padding : 0 0 0 0;\n margin : 0;\n border-bottom : 1px solid $tab-border-color;\n}\n\n.mdl-tabs__tab {\n margin: 0;\n border: none;\n padding: 0 24px 0 24px;\n\n float: left;\n position: relative;\n display: block;\n\n text-decoration: none;\n height: 48px;\n line-height: 48px;\n\n text-align: center;\n font-weight: 500;\n font-size: $layout-tab-font-size;\n text-transform: uppercase;\n\n color: $tab-text-color;\n overflow: hidden;\n\n .mdl-tabs.is-upgraded &.is-active {\n color: $tab-active-text-color;\n }\n\n .mdl-tabs.is-upgraded &.is-active:after {\n height: 2px;\n width: 100%;\n display: block;\n content: \" \";\n bottom: 0px;\n left: 0px;\n position: absolute;\n background: $tab-highlight-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n & .mdl-tabs__ripple-container {\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0px;\n top: 0px;\n z-index: 1;\n overflow: hidden;\n\n & .mdl-ripple {\n background: $tab-highlight-color;\n }\n }\n}\n\n.mdl-tabs__panel {\n display: block;\n\n .mdl-tabs.is-upgraded & {\n display: none;\n }\n\n .mdl-tabs.is-upgraded &.is-active {\n display: block;\n }\n}\n\n@keyframes border-expand {\n 0% {\n opacity: 0;\n width: 0;\n }\n\n 100% {\n opacity: 1;\n width: 100%;\n }\n}\n","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"../variables\";\n@import \"../mixins\";\n\n// The container for the whole component.\n.mdl-textfield {\n position: relative;\n font-size: $input-text-font-size;\n display: inline-block;\n box-sizing: border-box;\n width: 300px;\n max-width: 100%;\n margin: 0;\n padding: $input-text-vertical-spacing 0;\n\n // Align buttons, if used.\n & .mdl-button {\n position: absolute;\n bottom: $input-text-vertical-spacing;\n }\n}\n\n// Optional class to align right.\n.mdl-textfield--align-right {\n text-align: right;\n}\n\n// Optional class to display at full width.\n.mdl-textfield--full-width {\n width: 100%;\n}\n\n// Optional class to make the text field expandable.\n.mdl-textfield--expandable {\n min-width: $input-text-button-size;\n width: auto;\n min-height: $input-text-button-size;\n \n // Align icon button\n .mdl-button--icon {\n top: $input-text-expandable-icon-top;\n }\n}\n\n// Styling for the input element.\n.mdl-textfield__input {\n border: none;\n border-bottom: 1px solid $input-text-bottom-border-color;\n display: block;\n font-size: $input-text-font-size;\n font-family: $performance_font;\n margin: 0;\n padding: $input-text-padding 0;\n width: $input-text-width;\n background: none;\n text-align: left;\n color: inherit;\n\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n\n &[type=\"number\"]::-webkit-inner-spin-button,\n &[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .mdl-textfield.is-focused & {\n outline: none;\n }\n\n .mdl-textfield.is-invalid & {\n border-color: $input-text-error-color;\n box-shadow: none;\n }\n\n fieldset[disabled] .mdl-textfield &,\n .mdl-textfield.is-disabled & {\n background-color: transparent;\n border-bottom: 1px dotted $input-text-disabled-color;\n color: $input-text-disabled-text-color;\n }\n}\n\n.mdl-textfield textarea.mdl-textfield__input {\n display: block;\n}\n\n// Styling for the label / floating label.\n.mdl-textfield__label {\n bottom: 0;\n color: $input-text-label-color;\n font-size: $input-text-font-size;\n left: 0;\n right: 0;\n pointer-events: none;\n position: absolute;\n display: block;\n top: ($input-text-padding + $input-text-vertical-spacing);\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-align: left;\n\n .mdl-textfield.is-dirty &,\n .mdl-textfield.has-placeholder & {\n visibility: hidden;\n }\n\n // Floating Label\n .mdl-textfield--floating-label & {\n @include material-animation-default();\n }\n\n .mdl-textfield--floating-label.has-placeholder & {\n transition: none;\n }\n\n fieldset[disabled] .mdl-textfield &,\n .mdl-textfield.is-disabled.is-disabled & {\n color: $input-text-disabled-text-color;\n }\n\n .mdl-textfield--floating-label.is-focused &,\n .mdl-textfield--floating-label.is-dirty &,\n .mdl-textfield--floating-label.has-placeholder & {\n color: $input-text-highlight-color;\n font-size : $input-text-floating-label-fontsize;\n top: $input-text-vertical-spacing - ($input-text-floating-label-fontsize + $input-text-padding);\n visibility: visible;\n }\n\n .mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder &,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder &,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder & {\n top: -($input-text-floating-label-fontsize + $input-text-padding);\n }\n\n .mdl-textfield--floating-label.is-invalid & {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n }\n\n // The after label is the colored underline for the TextField.\n &:after {\n background-color: $input-text-highlight-color;\n bottom: $input-text-vertical-spacing;\n content: '';\n height: 2px;\n left: 45%;\n position: absolute;\n @include material-animation-default();\n visibility: hidden;\n width: 10px;\n }\n\n .mdl-textfield.is-focused &:after {\n left: 0;\n visibility: visible;\n width: 100%;\n }\n\n .mdl-textfield.is-invalid &:after {\n background-color: $input-text-error-color;\n }\n}\n\n// TextField Error.\n.mdl-textfield__error {\n color: $input-text-error-color;\n position: absolute;\n font-size: $input-text-floating-label-fontsize;\n margin-top: 3px;\n visibility: hidden;\n display: block;\n\n .mdl-textfield.is-invalid & {\n visibility: visible;\n }\n}\n\n// Expandable Holder.\n.mdl-textfield__expandable-holder {\n display: inline-block;\n position: relative;\n margin-left: $input-text-button-size;\n\n @include material-animation-default();\n display: inline-block;\n\n // Safari (possibly others) need to be convinced that this field is actually\n // visible, otherwise it cannot be tabbed to nor focused via a