Showing preview only (709K chars total). Download the full file or copy to clipboard to get everything.
Repository: zhaopeiym/JobWanted
Branch: master
Commit: d92a61ee1ce3
Files: 49
Total size: 676.7 KB
Directory structure:
gitextract_e6rs_me9/
├── .gitignore
├── JobWanted/
│ ├── .bowerrc
│ ├── CodesData.cs
│ ├── Controllers/
│ │ ├── HomeController.cs
│ │ └── JobsController.cs
│ ├── JobWanted.csproj
│ ├── JobWanted.csproj.user
│ ├── JobsOutput.cs
│ ├── LagouData.cs
│ ├── Program.cs
│ ├── Properties/
│ │ ├── PublishProfiles/
│ │ │ ├── FolderProfile.pubxml
│ │ │ └── FolderProfile.pubxml.user
│ │ └── launchSettings.json
│ ├── RecruitEnum.cs
│ ├── Startup.cs
│ ├── Views/
│ │ ├── Home/
│ │ │ └── Index.cshtml
│ │ ├── Shared/
│ │ │ ├── Error.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ └── _ValidationScriptsPartial.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bower.json
│ ├── bundleconfig.json
│ ├── hosting.json
│ └── wwwroot/
│ ├── ResumeFiles/
│ │ └── zhaopei.html
│ ├── css/
│ │ ├── jobs.css
│ │ └── site.css
│ ├── js/
│ │ ├── jobs.js
│ │ └── site.js
│ └── lib/
│ ├── bootstrap/
│ │ ├── .bower.json
│ │ ├── LICENSE
│ │ └── dist/
│ │ ├── css/
│ │ │ ├── bootstrap-theme.css
│ │ │ └── bootstrap.css
│ │ └── js/
│ │ ├── bootstrap.js
│ │ └── npm.js
│ ├── jquery/
│ │ ├── .bower.json
│ │ ├── LICENSE.txt
│ │ └── dist/
│ │ └── jquery.js
│ ├── jquery-validation/
│ │ ├── .bower.json
│ │ ├── LICENSE.md
│ │ └── dist/
│ │ ├── additional-methods.js
│ │ └── jquery.validate.js
│ └── jquery-validation-unobtrusive/
│ ├── .bower.json
│ └── jquery.validate.unobtrusive.js
├── JobWanted.sln
├── LICENSE
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
/.vs
/JobWanted/obj
/JobWanted/bin
================================================
FILE: JobWanted/.bowerrc
================================================
{
"directory": "wwwroot/lib"
}
================================================
FILE: JobWanted/CodesData.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace JobWanted
{
/// <summary>
/// 区域编码数据
/// </summary>
public class CodesData
{
#region 0:智联 1:前程 2:猎聘
public static Dictionary<string, string[]> codes = new Dictionary<string, string[]>();
/// <summary>
/// 获取区域编码
/// </summary>
/// <param name="city">区域(中文)</param>
/// <param name="type">类型(0:【智联】1:【前程】2:【猎聘】)3:【BOSS】</param>
/// <returns></returns>
public static string GetCityCode(RecruitEnum type, string city)
{
city = city.Trim().TrimEnd('市');
if (codes.Count <= 0)
{
codes.Add("北京", new string[] { "北京", "010000", "010", "101010100" });
codes.Add("上海", new string[] { "上海", "020000", "020", "101020100" });
codes.Add("深圳", new string[] { "深圳", "040000", "050090", "101280600" });
codes.Add("广州", new string[] { "广州", "030200", "050020", "101280100" });
codes.Add("杭州", new string[] { "杭州", "080200", "070020", "101210100" });
codes.Add("成都", new string[] { "成都", "090200", "280020", "101270100" });
codes.Add("南京", new string[] { "南京", "070200", "060020", "101190100" });
codes.Add("武汉", new string[] { "武汉", "180200", "170020", "101200100" });
codes.Add("西安", new string[] { "西安", "200200", "270020", "101110100" });
codes.Add("厦门", new string[] { "厦门", "110300", "090040", "101230200" });
codes.Add("长沙", new string[] { "长沙", "190200", "180020", "101250100" });
codes.Add("苏州", new string[] { "苏州", "070300", "060080", "101190400" });
codes.Add("天津", new string[] { "天津", "050000", "030", "101030100" });
codes.Add("重庆", new string[] { "重庆", "060000", "040", "101040100" });
codes.Add("郑州", new string[] { "郑州", "170200", "150020", "101180100" });
codes.Add("青岛", new string[] { "青岛", "120300", "250070", "101120200" });
codes.Add("合肥", new string[] { "合肥", "150200", "080020", "101220100" });
codes.Add("福州", new string[] { "福州", "110200", "090020", "101230100" });
codes.Add("济南", new string[] { "济南", "120200", "250020", "101120100" });
codes.Add("大连", new string[] { "大连", "230300", "210040", "101070200" });
codes.Add("珠海", new string[] { "珠海", "030500", "050140", "101280700" });
codes.Add("无锡", new string[] { "无锡", "070400", "060100", "101190200" });
codes.Add("佛山", new string[] { "佛山", "030600", "050050", "101280800" });
codes.Add("东莞", new string[] { "东莞", "030800", "050040", "101281600" });
codes.Add("宁波", new string[] { "宁波", "080300", "070030", "101210400" });
codes.Add("常州", new string[] { "常州", "070500", "060040", "101191100" });
codes.Add("沈阳", new string[] { "沈阳", "230200", "210020", "101070100" });
codes.Add("石家庄", new string[] { "石家庄", "160200", "140020", "101090100" });
codes.Add("昆明", new string[] { "昆明", "250200", "310020", "101290100" });
codes.Add("南昌", new string[] { "南昌", "130200", "200020", "101240100" });
codes.Add("南宁", new string[] { "南宁", "140200", "110020", "101300100" });
codes.Add("哈尔滨", new string[] { "哈尔滨", "220200", "160020", "101050100" });
codes.Add("海口", new string[] { "海口", "100200", "130020", "101310100" });
codes.Add("中山", new string[] { "中山", "030700", "050130", "101281700" });
codes.Add("惠州", new string[] { "惠州", "030300", "050060", "101280300" });
codes.Add("贵阳", new string[] { "贵阳", "260200", "120020", "101260100" });
codes.Add("长春", new string[] { "长春", "240200", "190020", "101060100" });
codes.Add("太原", new string[] { "太原", "210200", "260020", "101100100" });
codes.Add("嘉兴", new string[] { "嘉兴", "080700", "070090", "101210300" });
codes.Add("泰安", new string[] { "泰安", "121100", "250090", "101120800" });
codes.Add("昆山", new string[] { "昆山", "070600", "060050", "101191400" });
codes.Add("烟台", new string[] { "烟台", "120400", "250120", "101120500" });
codes.Add("兰州", new string[] { "兰州", "270200", "100020", "101160100" });
codes.Add("泉州", new string[] { "泉州", "110400", "090030", "101230500" });
}
if (codes.Keys.Contains(city))
return codes[city][(int)type];
return null;
}
#endregion
}
}
================================================
FILE: JobWanted/Controllers/HomeController.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace JobWanted.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
================================================
FILE: JobWanted/Controllers/JobsController.cs
================================================
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using System.Net.Http;
using System.Text;
using AngleSharp.Parser.Html;
using System;
using System.Net.Http.Headers;
using Talk.Cache;
using Microsoft.AspNetCore.Http;
using Newtonsoft.Json;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
/*
需要安装:
1、AngleSharp 【html解析组件】
2、System.Text.Encoding.CodePages 【Encoding.GetEncoding("GBK")编码提供程序】
*/
namespace JobWanted.Controllers
{
[Route("api/[controller]/[action]")]
public class JobsController : Controller
{
/// <summary>
/// 获取智联信息(简要信息)
/// </summary>
/// <param name="city"></param>
/// <param name="key"></param>
/// <param name="index"></param>
/// <returns></returns>
public async Task<List<JobInfo>> GetJobsByZL(string city, string key, int index)
{
var cache = GetCacheObject();
var data = cache.GetData();
if (data != null)
return data.Data;
var cityCode = CodesData.GetCityCode(RecruitEnum.智联招聘, city);
string url = string.Format("http://sou.zhaopin.com/jobs/searchresult.ashx?jl={0}&kw={1}&p={2}", cityCode, key, index);
using (HttpClient http = new HttpClient())
{
var htmlString = await http.GetStringAsync(url);
HtmlParser htmlParser = new HtmlParser();
var jobInfos = htmlParser.Parse(htmlString)
.QuerySelectorAll(".newlist_list_content table")
.Where(t => t.QuerySelectorAll(".zwmc a").FirstOrDefault() != null)
.Select(t => new JobInfo()
{
PositionName = t.QuerySelectorAll(".zwmc a").FirstOrDefault().TextContent,
CorporateName = t.QuerySelectorAll(".gsmc a").FirstOrDefault().TextContent,
Salary = t.QuerySelectorAll(".zwyx").FirstOrDefault().TextContent,
WorkingPlace = t.QuerySelectorAll(".gzdd").FirstOrDefault().TextContent,
ReleaseDate = t.QuerySelectorAll(".gxsj span").FirstOrDefault().TextContent,
DetailsUrl = t.QuerySelectorAll(".zwmc a").FirstOrDefault().Attributes.FirstOrDefault(f => f.Name == "href").Value,
})
.ToList();
cache.AddData(jobInfos);
return jobInfos;
}
}
/// <summary>
/// 获取猎聘信息(简要信息)
/// </summary>
/// <param name="city"></param>
/// <param name="key"></param>
/// <param name="index"></param>
/// <returns></returns>
public async Task<List<JobInfo>> GetJobsByLP(string city, string key, int index)
{
var cache = GetCacheObject();
var data = cache.GetData();
if (data != null)
return data.Data;
var cityCode = CodesData.GetCityCode(RecruitEnum.猎聘网, city);
string url = string.Format("http://www.liepin.com/zhaopin/?key={0}&dqs={1}&curPage={2}", key, cityCode, index);
using (HttpClient http = new HttpClient())
{
var htmlString = await http.GetStringAsync(url);
HtmlParser htmlParser = new HtmlParser();
var jobInfos = htmlParser.Parse(htmlString)
.QuerySelectorAll("ul.sojob-list li")
.Where(t => t.QuerySelectorAll(".job-info h3 a").FirstOrDefault() != null)
.Select(t => new JobInfo()
{
PositionName = t.QuerySelectorAll(".job-info h3 a").FirstOrDefault().TextContent,
CorporateName = t.QuerySelectorAll(".company-name a").FirstOrDefault().TextContent,
Salary = t.QuerySelectorAll(".text-warning").FirstOrDefault().TextContent,
WorkingPlace = t.QuerySelectorAll(".area").FirstOrDefault().TextContent,
ReleaseDate = t.QuerySelectorAll(".time-info time").FirstOrDefault().TextContent,
DetailsUrl = t.QuerySelectorAll(".job-info h3 a").FirstOrDefault().Attributes.FirstOrDefault(f => f.Name == "href").Value,
})
.ToList();
cache.AddData(jobInfos);
return jobInfos;
}
}
/// <summary>
/// 获取前程信息(简要信息)
/// </summary>
/// <param name="city"></param>
/// <param name="key"></param>
/// <param name="index"></param>
/// <returns></returns>
public async Task<List<JobInfo>> GetJobsByQC(string city, string key, int index)
{
var cache = GetCacheObject();
var data = cache.GetData();
if (data != null)
return data.Data;
var cityCode = CodesData.GetCityCode(RecruitEnum.前程无忧, city);
string url = string.Format("http://search.51job.com/jobsearch/search_result.php?jobarea={0}&keyword={1}&curr_page={2}", cityCode, key, index);
using (HttpClient http = new HttpClient())
{
var htmlBytes = await http.GetByteArrayAsync(url);
//【注意】使用GBK需要 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//注册编码提供程序
var htmlString = Encoding.GetEncoding("GBK").GetString(htmlBytes);
HtmlParser htmlParser = new HtmlParser();
var jobInfos = (await htmlParser.ParseAsync(htmlString))
.QuerySelectorAll(".dw_table div.el")
.Where(t => t.QuerySelectorAll(".t1 span a").FirstOrDefault() != null)
.Select(t => new JobInfo()
{
PositionName = t.QuerySelectorAll(".t1 span a").FirstOrDefault().TextContent,
CorporateName = t.QuerySelectorAll(".t2 a").FirstOrDefault().TextContent,
Salary = t.QuerySelectorAll(".t3").FirstOrDefault().TextContent,
WorkingPlace = t.QuerySelectorAll(".t4").FirstOrDefault().TextContent,
ReleaseDate = t.QuerySelectorAll(".t5").FirstOrDefault().TextContent,
DetailsUrl = t.QuerySelectorAll(".t1 span a").FirstOrDefault().Attributes.FirstOrDefault(f => f.Name == "href").Value,
})
.ToList();
cache.AddData(jobInfos);
return jobInfos;
}
}
/// <summary>
/// BOSS直聘信息(简要信息)
/// </summary>
/// <param name="city"></param>
/// <param name="key"></param>
/// <param name="index"></param>
/// <returns></returns>
public async Task<List<JobInfo>> GetJobsByBS(string city, string key, int index)
{
var cache = GetCacheObject(20);
var data = cache.GetData();
if (data != null)
return data.Data;
var cityCode = CodesData.GetCityCode(RecruitEnum.BOSS, city);
string url = string.Format("http://www.zhipin.com/c{0}/h_{0}/?query={1}&page={2}", cityCode, key, index);
using (HttpClient http = new HttpClient())
{
var htmlString = await http.GetStringAsync(url);
HtmlParser htmlParser = new HtmlParser();
var jobInfos = htmlParser.Parse(htmlString)
.QuerySelectorAll(".job-list ul li")
.Where(t => t.QuerySelectorAll(".info-primary h3").FirstOrDefault() != null)
.Select(t => new JobInfo()
{
PositionName = t.QuerySelectorAll(".info-primary h3").FirstOrDefault().TextContent,
CorporateName = t.QuerySelectorAll(".company-text h3").FirstOrDefault().TextContent,
Salary = t.QuerySelectorAll(".info-primary h3 .red").FirstOrDefault().TextContent,
WorkingPlace = t.QuerySelectorAll(".info-primary p").FirstOrDefault().TextContent,
ReleaseDate = t.QuerySelectorAll(".job-time .time").FirstOrDefault().TextContent,
DetailsUrl = "http://www.zhipin.com" + t.QuerySelectorAll("a").FirstOrDefault().Attributes.FirstOrDefault(f => f.Name == "href").Value,
})
.ToList();
cache.AddData(jobInfos);//添加缓存
return jobInfos;
}
}
/// <summary>
/// 获取拉勾信息(简要信息)
/// </summary>
/// <param name="city"></param>
/// <param name="key"></param>
/// <param name="index"></param>
/// <returns></returns>
public async Task<List<JobInfo>> GetJobsByLG(string city, string key, int index)
{
var cache = GetCacheObject(20);
var data = cache.GetData();
if (data != null)
return data.Data;
//不知道为什么抓不到数据? https 的原因?? 【170819,终于搞定】
StringContent fromurlcontent = new StringContent("first=false&pn=" + index + "&kd=" + key);
fromurlcontent.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var url = string.Format("https://www.lagou.com/jobs/positionAjax.json?px=new&city={0}&needAddtionalResult=false&isSchoolJob=0", city);
using (HttpClient http = new HttpClient())
{
//http.DefaultRequestHeaders.Remove("x-ms-request-root-id");
//http.DefaultRequestHeaders.Remove("x-ms-request-id");
//http.DefaultRequestHeaders.Remove("Request-Id");
//http.DefaultRequestHeaders.Host = "www.lagou.com";
//http.DefaultRequestHeaders.Add("Accept", "application/json");
//http.DefaultRequestHeaders.Add("X-Anit-Forge-Token", "None");
//😄😄😄,拉勾网 后台检测了user-agent、X-Requested-With、Referer还会检测list_是否有参数
http.DefaultRequestHeaders.Add("Referer", "https://www.lagou.com/jobs/list_.net");
http.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0");
http.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
var responseMsg = await http.PostAsync(new Uri(url), fromurlcontent);
var htmlString = await responseMsg.Content.ReadAsStringAsync();
var lagouData = JsonConvert.DeserializeObject<LagouData>(htmlString);
var resultDatas = lagouData.content.positionResult.result;
var jobInfos = resultDatas.Select(t => new JobInfo()
{
PositionName = t.positionName,
CorporateName = t.companyShortName,
Salary = t.salary,
WorkingPlace = t.district + (t.businessZones == null ? "" : t.businessZones.Length <= 0 ? "" : t.businessZones[0]),
ReleaseDate = DateTime.Parse(t.createTime).ToString("yyyy-MM-dd"),
DetailsUrl = "https://www.lagou.com/jobs/" + t.positionId + ".html"
}).ToList();
cache.AddData(jobInfos);//添加缓存
return jobInfos;
}
}
/// <summary>
/// 获取详细信息
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public async Task<DetailsInfo> GetDetailsInfoByLP(string url)
{
using (HttpClient http = new HttpClient())
{
var htmlString = await http.GetStringAsync(url);
HtmlParser htmlParser = new HtmlParser();
var detailsInfo = htmlParser.Parse(htmlString)
.QuerySelectorAll(".wrap")
.Where(t => t.QuerySelectorAll(".job-qualifications").FirstOrDefault() != null)
.Select(t => new DetailsInfo()
{
Experience = t.QuerySelectorAll(".job-qualifications span")[1].TextContent,
Education = t.QuerySelectorAll(".job-qualifications span")[0].TextContent,
CompanyNature = t.QuerySelectorAll(".new-compintro li")[0].TextContent,
CompanySize = t.QuerySelectorAll(".new-compintro li")[1].TextContent,
Requirement = t.QuerySelectorAll(".job-item.main-message").FirstOrDefault().TextContent.Replace("职位描述:", ""),
CompanyIntroduction = t.QuerySelectorAll(".job-item.main-message.noborder").FirstOrDefault().TextContent,
})
.FirstOrDefault();
return detailsInfo;
}
}
/// <summary>
/// 获取智联详细信息
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public async Task<DetailsInfo> GetDetailsInfoByZL(string url)
{
using (HttpClient http = new HttpClient())
{
var htmlString = await http.GetStringAsync(url);
HtmlParser htmlParser = new HtmlParser();
var detailsInfo = htmlParser.Parse(htmlString)
.QuerySelectorAll(".terminalpage")
.Where(t => t.QuerySelectorAll(".terminalpage-left .terminal-ul li").FirstOrDefault() != null)
.Select(t => new DetailsInfo()
{
Experience = t.QuerySelectorAll(".terminalpage-left .terminal-ul li")[4].TextContent,
Education = t.QuerySelectorAll(".terminalpage-left .terminal-ul li")[5].TextContent,
CompanyNature = t.QuerySelectorAll(".terminalpage-right .terminal-company li")[1].TextContent,
CompanySize = t.QuerySelectorAll(".terminalpage-right .terminal-company li")[0].TextContent,
Requirement = t.QuerySelectorAll(".tab-cont-box .tab-inner-cont")[0].TextContent.Replace("职位描述:", ""),
CompanyIntroduction = t.QuerySelectorAll(".tab-cont-box .tab-inner-cont")[1].TextContent,
})
.FirstOrDefault();
return detailsInfo;
}
}
/// <summary>
/// 获取boss详细信息
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public async Task<DetailsInfo> GetDetailsInfoByBS(string url)
{
using (HttpClient http = new HttpClient())
{
var htmlString = await http.GetStringAsync(url);
HtmlParser htmlParser = new HtmlParser();
var detailsInfo = htmlParser.Parse(htmlString)
.QuerySelectorAll("#main")
.Where(t => t.QuerySelectorAll(".job-banner .info-primary p").FirstOrDefault() != null)
.Select(t => new DetailsInfo()
{
Experience = t.QuerySelectorAll(".job-banner .info-primary p").FirstOrDefault().TextContent,
//Education = t.QuerySelectorAll(".terminalpage-left .terminal-ul li")[5].TextContent,
CompanyNature = t.QuerySelectorAll(".job-banner .info-company p").FirstOrDefault().TextContent,
//CompanySize = t.QuerySelectorAll(".terminalpage-right .terminal-company li")[0].TextContent,
Requirement = t.QuerySelectorAll(".detail-content div.text").FirstOrDefault().TextContent.Replace("职位描述:", ""),
//CompanyIntroduction = t.QuerySelectorAll(".tab-cont-box .tab-inner-cont")[1].TextContent,
})
.FirstOrDefault();
return detailsInfo;
}
}
/// <summary>
/// 获取前程详细信息
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public async Task<DetailsInfo> GetDetailsInfoByQC(string url)
{
using (HttpClient http = new HttpClient())
{
var htmlBytes = await http.GetByteArrayAsync(url);
//【注意】使用GBK需要 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//注册编码提供程序
var htmlString = Encoding.GetEncoding("GBK").GetString(htmlBytes);
HtmlParser htmlParser = new HtmlParser();
var detailsInfo = htmlParser.Parse(htmlString)
.QuerySelectorAll(".tCompanyPage")
.Where(t => t.QuerySelectorAll(".tBorderTop_box .t1 span").FirstOrDefault() != null)
.Select(t => new DetailsInfo()
{
//Experience = t.QuerySelectorAll(".terminalpage-left .terminal-ul li")[4].TextContent,
Education = t.QuerySelectorAll(".tBorderTop_box .t1 span")[0].TextContent,
CompanyNature = t.QuerySelectorAll(".msg.ltype")[0].TextContent,
//CompanySize = t.QuerySelectorAll(".terminalpage-right .terminal-company li")[0].TextContent,
Requirement = t.QuerySelectorAll(".bmsg.job_msg.inbox")[0].TextContent.Replace("职位描述:", ""),
CompanyIntroduction = t.QuerySelectorAll(".tmsg.inbox")[0].TextContent,
})
.FirstOrDefault();
return detailsInfo;
}
}
/// <summary>
/// 获取拉勾详细信息
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public async Task<DetailsInfo> GetDetailsInfoByLG(string url)
{
using (HttpClient http = new HttpClient())
{
http.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0");
var htmlString = await http.GetStringAsync(url);
HtmlParser htmlParser = new HtmlParser();
var detailsInfo = htmlParser.Parse(htmlString)
.QuerySelectorAll("body")
.Select(t => new DetailsInfo()
{
Experience = t.QuerySelectorAll(".job_request p").FirstOrDefault()?.TextContent,
//Education = t.QuerySelectorAll(".terminalpage-left .terminal-ul li")[5].TextContent,
CompanyNature = t.QuerySelectorAll(".job_company .c_feature li")?.Length <= 0 ? "" : t.QuerySelectorAll(".job_company .c_feature li")[0]?.TextContent,
CompanySize = t.QuerySelectorAll(".job_company .c_feature li")?.Length <= 2 ? "" : t.QuerySelectorAll(".job_company .c_feature li")[2]?.TextContent,
Requirement = t.QuerySelectorAll(".job_bt div").FirstOrDefault()?.TextContent.Replace("职位描述:", ""),
//CompanyIntroduction = t.QuerySelectorAll(".tab-cont-box .tab-inner-cont")[1].TextContent,
})
.FirstOrDefault();
return detailsInfo;
}
}
/// <summary>
/// 获取缓存对象
/// </summary>
/// <param name="city"></param>
/// <param name="key"></param>
/// <param name="index"></param>
/// <returns></returns>
public EasyCache<List<JobInfo>> GetCacheObject(int? minutes = null)
{
var key = Request.Path.Value + Request.QueryString.Value;
var time = DateTime.Now.AddMinutes(minutes ?? 10) - DateTime.Now;//缓存10分钟
EasyCache<List<JobInfo>> obj = new EasyCache<List<JobInfo>>(key, time);
return obj;
}
}
}
================================================
FILE: JobWanted/JobWanted.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AngleSharp" Version="0.9.9" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.1.1" />
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.4.0" />
<PackageReference Include="Talk.Cache" Version="1.0.0-test" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
</ItemGroup>
</Project>
================================================
FILE: JobWanted/JobWanted.csproj.user
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
<ShowAllFiles>false</ShowAllFiles>
</PropertyGroup>
</Project>
================================================
FILE: JobWanted/JobsOutput.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace JobWanted
{
/// <summary>
/// 简要信息
/// </summary>
public class JobInfo
{
/// <summary>
/// 职位名称
/// </summary>
public string PositionName { get; set; }
/// <summary>
/// 公司名称
/// </summary>
public string CorporateName { get; set; }
/// <summary>
/// 薪水
/// </summary>
public string Salary { get; set; }
/// <summary>
/// 工作地点
/// </summary>
public string WorkingPlace { get; set; }
/// <summary>
/// 发布日期
/// </summary>
public string ReleaseDate { get; set; }
/// <summary>
/// 详情url
/// </summary>
public string DetailsUrl { get; set; }
}
/// <summary>
/// 详情
/// </summary>
public class DetailsInfo
{
/// <summary>
/// 学历要求
/// </summary>
public string Education { get; set; }
/// <summary>
/// 工作经验
/// </summary>
public string Experience { get; set; }
/// <summary>
/// 公司性质
/// </summary>
public string CompanyNature { get; set; }
/// <summary>
/// 公司规模
/// </summary>
public string CompanySize { get; set; }
/// <summary>
/// 详细要求 【职位描述】
/// </summary>
public string Requirement { get; set; }
/// <summary>
/// 公司介绍
/// </summary>
public string CompanyIntroduction { get; set; }
}
}
================================================
FILE: JobWanted/LagouData.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace JobWanted
{
public class LagouData
{
public string success { get; set; }
public string requestId { get; set; }
public string msg { get; set; }
public string resubmitToken { get; set; }
public Content content { get; set; }
public string code { get; set; }
}
public class Content
{
public string pageNo { get; set; }
public string pageSize { get; set; }
public Hrinfomap hrInfoMap { get; set; }
public Positionresult positionResult { get; set; }
}
public class Hrinfomap
{
public _3072507 _3072507 { get; set; }
public _3415473 _3415473 { get; set; }
public _2729529 _2729529 { get; set; }
public _2734283 _2734283 { get; set; }
public _1869098 _1869098 { get; set; }
public _3418618 _3418618 { get; set; }
public _3298426 _3298426 { get; set; }
public _1871456 _1871456 { get; set; }
public _3441270 _3441270 { get; set; }
public _2497050 _2497050 { get; set; }
public _3318460 _3318460 { get; set; }
public _3495392 _3495392 { get; set; }
public _2680870 _2680870 { get; set; }
public _2159369 _2159369 { get; set; }
public _3079854 _3079854 { get; set; }
}
public class _3072507
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _3415473
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _2729529
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _2734283
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _1869098
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _3418618
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _3298426
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _1871456
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _3441270
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _2497050
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _3318460
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _3495392
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _2680870
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _2159369
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class _3079854
{
public string userId { get; set; }
public string positionName { get; set; }
public string phone { get; set; }
public string receiveEmail { get; set; }
public string realName { get; set; }
public string portrait { get; set; }
public string userLevel { get; set; }
public string canTalk { get; set; }
}
public class Positionresult
{
public string totalCount { get; set; }
public Locationinfo locationInfo { get; set; }
public Queryanalysisinfo queryAnalysisInfo { get; set; }
public Strategyproperty strategyProperty { get; set; }
public string hotLabels { get; set; }
public string resultSize { get; set; }
public Result[] result { get; set; }
}
public class Locationinfo
{
public string queryByGisCode { get; set; }
public string businessZone { get; set; }
public string locationCode { get; set; }
public string city { get; set; }
public string district { get; set; }
}
public class Queryanalysisinfo
{
public string industryName { get; set; }
public string usefulCompany { get; set; }
public string positionName { get; set; }
public string companyName { get; set; }
}
public class Strategyproperty
{
public string name { get; set; }
public string id { get; set; }
}
public class Result
{
public string companyId { get; set; }
public string positionId { get; set; }
public string industryField { get; set; }
public string education { get; set; }
public string workYear { get; set; }
public string city { get; set; }
public string positionAdvantage { get; set; }
public string createTime { get; set; }
public string salary { get; set; }
public string positionName { get; set; }
public string companySize { get; set; }
public string companyShortName { get; set; }
public string companyLogo { get; set; }
public string financeStage { get; set; }
public string jobNature { get; set; }
public string approve { get; set; }
public string[] companyLabelList { get; set; }
public string[] positionLables { get; set; }
public string[] industryLables { get; set; }
public string district { get; set; }
public string score { get; set; }
public string[] businessZones { get; set; }
public string imState { get; set; }
public string lastLogin { get; set; }
public string publisherId { get; set; }
public string explain { get; set; }
public string plus { get; set; }
public string pcShow { get; set; }
public string appShow { get; set; }
public string deliver { get; set; }
public string gradeDescription { get; set; }
public string promotionScoreExplain { get; set; }
public string firstType { get; set; }
public string secondType { get; set; }
public string isSchoolJob { get; set; }
public string companyFullName { get; set; }
public string adWord { get; set; }
public string formatCreateTime { get; set; }
}
}
================================================
FILE: JobWanted/Program.cs
================================================
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
namespace JobWanted
{
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
.UseConfiguration(config)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseApplicationInsights()
.Build();
host.Run();
}
}
}
================================================
FILE: JobWanted/Properties/PublishProfiles/FolderProfile.pubxml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件
自定义此过程的行为。为了解与此相关的更多内容,请访问 https://go.microsoft.com/fwlink/?LinkID=208121。
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishFramework>netcoreapp1.1</PublishFramework>
<ProjectGuid>f0cca8c5-a238-40ff-9989-476b54dc1e72</ProjectGuid>
<publishUrl>C:\01Files\project\job</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
================================================
FILE: JobWanted/Properties/PublishProfiles/FolderProfile.pubxml.user
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件
自定义此过程的行为。为了解与此相关的更多内容,请访问 https://go.microsoft.com/fwlink/?LinkID=208121。
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<_NewBackgroundProfile>False</_NewBackgroundProfile>
<_PublishTargetUrl>C:\01Files\project\job</_PublishTargetUrl>
</PropertyGroup>
</Project>
================================================
FILE: JobWanted/Properties/launchSettings.json
================================================
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:35915/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"JobWanted": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:35916"
}
}
}
================================================
FILE: JobWanted/RecruitEnum.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace JobWanted
{
public enum RecruitEnum
{
智联招聘 = 0,
前程无忧 = 1,
猎聘网 = 2,
BOSS = 3,
拉勾网 = 4
}
}
================================================
FILE: JobWanted/Startup.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Text;
namespace JobWanted
{
public class Startup
{
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
public IConfigurationRoot Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//注册编码提供程序
}
}
}
================================================
FILE: JobWanted/Views/Home/Index.cshtml
================================================
@{
ViewData["Title"] = "找工作";
}
<link href="~/css/jobs.css" rel="stylesheet" />
<div>
<div class="hiLabel">
<div>
<a target="_blank" href="http://haojima.net">
<img src="~/images/留言.png" />
</a>
</div>
<div style="margin-top:10px;">
<a target="_blank" href="https://github.com/zhaopeiym/JobWanted">
<img src="~/images/github.jpg" />
</a>
</div>
<div style="margin-top:10px;text-align:center;color:#808080;font-size:10px">
阿里云 + .NET Core2.0 + CentOS7.3 + nginx1.12.1
</div>
</div>
<div class="jobdiv">
@*搜索区域*@
<div class="jobHeadDiv">
<div class="">
<div class="sodiv clearfix">
<div class="sodivBut">
<input type="text" class="jobKey" name="">
<button class="btn-query btn-default " type="button">重新搜索</button>
</div>
<div class="sodivChk">
<input type="checkbox" class="isGetJobsByZL" checked="checked" value="智联">
<a class="trparty_a" href="http://www.zhaopin.com" target="_blank">智联</a>
<input type="checkbox" class="isGetJobsByLP" checked="checked" value="猎聘">
<a class="trparty_a" href="http://www.liepin.com" target="_blank">猎聘</a>
<input type="checkbox" class="isGetJobsByQC" checked="checked" value="前程">
<a class="trparty_a" href="http://51job.com" target="_blank">前程</a>
<input type="checkbox" class="isGetJobsByBS" checked="checked" value="BOSS">
<a class="trparty_a" href="http://www.zhipin.com" target="_blank">BOSS</a>
<input type="checkbox" class="isGetJobsByLG" checked="checked" value="拉勾">
<a class="trparty_a" href="https://www.lagou.com" target="_blank">拉勾</a>
</div>
</div>
</div>
@*热门地区*@
<div class="mytableSelect">
<span class="title">工作地点:</span>
<a class="place_a" href="javascript:;">北京</a>
<a class="place_a select_place_a" href="javascript:;">上海</a>
<a class="place_a" href="javascript:;">深圳</a>
<a class="place_a" href="javascript:;">广州</a>
<a class="place_a" href="javascript:;">杭州</a>
<a class="place_a" href="javascript:;">成都</a>
<a class="place_a" href="javascript:;">南京</a>
<a class="place_a" href="javascript:;">武汉</a>
<a class="place_a" href="javascript:;">西安</a>
<a class="place_a" href="javascript:;">厦门</a>
<a class="place_a" href="javascript:;">长沙</a>
<a class="place_a" href="javascript:;">苏州</a>
<a class="place_a temp_place_a" href="javascript:;">天津</a>
<a class="more_a btn-moreplace" href="javascript:;" style="">更多</a>
<span class="html_prace"></span>
</div>
@*其他地区*@
<div class="hid_place_div">
<div>
<a class="hid_place_a" href="javascript:;">重庆</a>
<a class="hid_place_a" href="javascript:;">郑州</a>
<a class="hid_place_a" href="javascript:;">青岛</a>
<a class="hid_place_a" href="javascript:;">合肥</a>
<a class="hid_place_a" href="javascript:;">福州</a>
<a class="hid_place_a" href="javascript:;">济南</a>
<a class="hid_place_a" href="javascript:;">大连</a>
<a class="hid_place_a" href="javascript:;">珠海</a>
<a class="hid_place_a" href="javascript:;">无锡</a>
<a class="hid_place_a" href="javascript:;">佛山</a>
<a class="hid_place_a" href="javascript:;">东莞</a>
<a class="hid_place_a" href="javascript:;">宁波</a>
<a class="hid_place_a" href="javascript:;">常州</a>
<a class="hid_place_a" href="javascript:;">沈阳</a>
<a class="hid_place_a" href="javascript:;">石家庄</a>
<a class="hid_place_a" href="javascript:;">昆明</a>
<a class="hid_place_a" href="javascript:;">南昌</a>
<a class="hid_place_a" href="javascript:;">南宁</a>
<a class="hid_place_a" href="javascript:;">哈尔滨</a>
<a class="hid_place_a" href="javascript:;">海口</a>
<a class="hid_place_a" href="javascript:;">中山</a>
<a class="hid_place_a" href="javascript:;">惠州</a>
<a class="hid_place_a" href="javascript:;">贵阳</a>
<a class="hid_place_a" href="javascript:;">长春</a>
<a class="hid_place_a" href="javascript:;">太原</a>
<a class="hid_place_a" href="javascript:;">嘉兴</a>
<a class="hid_place_a" href="javascript:;">泰安</a>
<a class="hid_place_a" href="javascript:;">昆山</a>
<a class="hid_place_a" href="javascript:;">烟台</a>
<a class="hid_place_a" href="javascript:;">兰州</a>
<a class="hid_place_a" href="javascript:;">泉州</a>
</div>
</div>
</div>
@*招聘信息结果*@
<div class="dataDiv">
</div>
<div style="text-align: center; margin-bottom: 40px">
<div class="dataloadingdiv">
<div style="color:red">数据加载中......</div>
<img src="~/images/loadingAnimation.gif" />
</div>
</div>
</div>
</div>
@section scripts{
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/js/jobs.js"></script>
}
================================================
FILE: JobWanted/Views/Shared/Error.cshtml
================================================
@{
ViewData["Title"] = "Error";
}
<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>
<h3>Development Mode</h3>
<p>
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
</p>
<p>
<strong>Development environment should not be enabled in deployed applications</strong>, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>, and restarting the application.
</p>
================================================
FILE: JobWanted/Views/Shared/_Layout.cshtml
================================================
@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"]</title>
<meta name="keywords" content="开发者,HiBlogs,嗨-博客,开发者,程序猿,程序媛,极客,编程,代码,开源,IT网站,技术社区,好记吗" />
<meta name="description" content="Hi-Blogs,ASP.NET Core 正式启动。只为技术而技术!!!" />
</head>
<body>
<div class="container body-content">
@RenderBody()
</div>
@RenderSection("Scripts", required: false)
</body>
</html>
================================================
FILE: JobWanted/Views/Shared/_ValidationScriptsPartial.cshtml
================================================
<environment names="Development">
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
</environment>
<environment names="Staging,Production">
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js"
asp-fallback-src="~/lib/jquery-validation/dist/jquery.validate.min.js"
asp-fallback-test="window.jQuery && window.jQuery.validator"
crossorigin="anonymous"
integrity="sha384-Fnqn3nxp3506LP/7Y3j/25BlWeA3PXTyT1l78LjECcPaKCV12TsZP7yyMxOe/G/k">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.6/jquery.validate.unobtrusive.min.js"
asp-fallback-src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"
asp-fallback-test="window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive"
crossorigin="anonymous"
integrity="sha384-JrXK+k53HACyavUKOsL+NkmSesD2P+73eDMrbTtTk0h4RmOF8hF8apPlkp26JlyH">
</script>
</environment>
================================================
FILE: JobWanted/Views/_ViewImports.cshtml
================================================
@using JobWanted
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
================================================
FILE: JobWanted/Views/_ViewStart.cshtml
================================================
@{
Layout = "_Layout";
}
================================================
FILE: JobWanted/appsettings.Development.json
================================================
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
================================================
FILE: JobWanted/appsettings.json
================================================
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
================================================
FILE: JobWanted/bower.json
================================================
{
"name": "asp.net",
"private": true,
"dependencies": {
"bootstrap": "3.3.7",
"jquery": "2.2.0",
"jquery-validation": "1.14.0",
"jquery-validation-unobtrusive": "3.2.6"
}
}
================================================
FILE: JobWanted/bundleconfig.json
================================================
// Configure bundling and minification for the project.
// More info at https://go.microsoft.com/fwlink/?LinkId=808241
[
{
"outputFileName": "wwwroot/css/site.min.css",
// An array of relative input file paths. Globbing patterns supported
"inputFiles": [
"wwwroot/css/site.css"
]
},
{
"outputFileName": "wwwroot/js/site.min.js",
"inputFiles": [
"wwwroot/js/site.js"
],
// Optionally specify minification options
"minify": {
"enabled": true,
"renameLocals": true
},
// Optionally generate .map file
"sourceMap": false
}
]
================================================
FILE: JobWanted/hosting.json
================================================
{
"server.urls": "http://*:5002"
}
================================================
FILE: JobWanted/wwwroot/ResumeFiles/zhaopei.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>农码一生-简历</title>
<style type="text/css">
.clearfix {
overflow: auto;
_height: 1%;
}
* {
margin: 0px;
box-sizing: border-box;
}
body {
line-height: 2.0;
background-color: #f8f8f8;
}
a {
color: #369;
text-decoration: none;
}
img.photo {
padding: 4px;
border: 1px solid #369;
float: right;
margin: 10px 20px 0 0;
background: #f5f5f5;
}
.jobContent {
padding-top: 40px;
}
.jobContent .infoBlock {
border: 1px solid #c4c4c4;
padding: 20px;
padding-top: 30px;
margin: 20px;
word-wrap: break-word; /*自动换行*/
}
.jobContent .infoBlock .part {
margin-bottom: 15px;
}
.jobContent .infoBlock .part > div:nth-child(1) {
margin-top: 10px;
margin-bottom: 5px;
border-left: 5px solid #0094ff;
padding-left: 5px;
line-height: 1.3;
}
.jobContent .infoBlock .infoTitle {
display: block;
font-size: 20px;
font-weight: 800;
margin-bottom: 5px;
color: #000;
}
.jobHead {
top: 0px;
text-align: center;
position: fixed;
background-color: #808080;
width: 100%;
padding: 3px;
}
.jobHead a {
color: #fff;
padding: 0 15px;
font-size: 17px;
font-weight: bold;
}
/*pc端*/
@media (min-width: 992px) {
.jobContent {
margin-left: 30%;
margin-right: 30%;
}
.jobHead.phone {
display: none;
}
}
/*移动端*/
@media(max-width:992px) {
.jobHead.pc {
display: none;
}
img.photo {
padding: 0px;
margin: 0;
}
body {
line-height: 1.5;
}
}
</style>
</head>
<body>
<div class="jobHead pc">
<a href="#basicInfo">基本信息</a>
<a href="#evaluation">自我评价</a>
<a href="#jobExperience">工作经验</a>
<a href="#projectExperience">项目经验</a>
<a href="#educational ">教育背景</a>
<a href="#works">个人作品</a>
</div>
<div class="jobHead phone">
<div>
<a href="#basicInfo">基本信息</a>
<a href="#evaluation">自我评价</a>
<a href="#jobExperience">工作经验</a>
</div>
<div>
<a href="#projectExperience">项目经验</a>
<a href="#educational ">教育背景</a>
<a href="#works">个人作品</a>
</div>
</div>
<div class="jobContent">
<!--基本信息-->
<div class="infoBlock" id="basicInfo">
<a href="#basicInfo" class="infoTitle">基本信息</a>
<img class="photo" src="img/photo.jpg" alt="赵培" />
<div>姓名:赵培</div>
<div>性别:男</div>
<div>
QQ:<a href="http://wpa.qq.com/msgrd?v=3&uin=532542551&site=qq&menu=yes">532542551</a>
<span style="color:red;font-size:12px;margin-left:5px">(注明:招聘)</span>
</div>
<div>出生年月:1990年7月</div>
<div>居住地址:上海-浦东</div>
<div>电子邮件:<a href="mailto:zhaopeiym@163.com">zhaopeiym@163.com</a></div>
<div>博客地址:<a target="_blank" href="http://www.cnblogs.com/zhaopei">http://zhaopei.cnblogs.com</a></div>
</div>
<!--自我评价-->
<div class="infoBlock" id="evaluation">
<a href="#evaluation" class="infoTitle">自我评价</a>
<div>
<p>
本人对工作认真负责,有较强的团队合作精神,对软件开发和设计具有浓厚的兴趣。
同时具有良好的沟通表达能力,能接受较强的工作压力并服从公司安排。
6年以上DotNet相关经验,在项目中担当核心开发人员。
熟悉 C#/ASP.NET MVC、Web API、EF、Code First、Linq、Lambda和ABP框架,并能独立开发WebForm和MVC框架的系统。
对B/S系统有深刻了解,熟悉 HTML、JavaScript、CSS、JQuery、AJAX等技术。能够根据需要开发简单的自定义插件。
数据库方面能熟练使用Oracle、SqlServer等。
</p>
<p>
平时喜欢学习和研究,周末写写博客敲敲代码。最近在学习.NET Core、MySql和Linux。
</p>
</div>
</div>
<!--工作经验-->
<div class="infoBlock" id="jobExperience">
<a href="#jobExperience" class="infoTitle">工作经验</a>
<div class="part">
<div><strong>2016.01</strong>:巨服(上海)信息科技有限公司</div>
<div><strong>职位</strong>:高级软件工程师</div>
<div><strong>部门</strong>:技术部</div>
<div>
从零开始开发的FSM系统。
采用ABP框架,借助于它天生的多租户特点,搭建我们的SaaS平台。
经过一年时间的努力,现在已经成功上线且多个客户投入正式使用。
</div>
</div>
<div class="part">
<div><strong>2014.03</strong>:易星信息科技有限公司</div>
<div><strong>职位</strong>:高级软件工程师</div>
<div><strong>部门</strong>:技术部</div>
<div>
初期开发公司新接的项目《非车理赔系统》资料收集环节。
后期开始开发已有的系统《新车险理赔系统》,主要是做新业务的二次开发。
期间做过的功能有:公估费选单、协议方案上报、替换保单信息查询的相关接口、派查勘员受阻、为人伤环节添加合理金额...等。
</div>
</div>
<div class="part">
<div><strong>2011.01</strong>:北京中合实创电力科技有限公司</div>
<div><strong>职位</strong>:初级软件工程师</div>
<div><strong>部门</strong>:技术部</div>
<div>
主要参与新项目开发,和旧项目的新增业务开发。
独立完成过多个业务需求开发到项目现场验收。
</div>
</div>
</div>
<!--项目经验-->
<div class="infoBlock" id="projectExperience">
<a href="#projectExperience" class="infoTitle">项目经验</a>
<div class="part">
<div>2016.01:FSM(极服务)</div>
<div>
<strong>项目描述</strong>:FSM系统主要是一个售后服务管理系统。
管理层,通过该系统可以形象的知道每个工程师的工作情况、进度、客户满意度。
还可以统计出经常出现的故障、哪些是容易损坏的零件。 通过主动服务来提高企业的信誉,进而扩大产品的市场占有率。
对于工程师,他们告别了纸质工单时代了不便。
直接通过手机端查询维修点,拍照上传工单。接收、转派任务等。不用当心信息丢失,真正进入“无纸”时代。
</div>
<div>
<strong>责任描述</strong>:主要负责核心开发工作。
从这个系统的诞生,一直走到系统的正式上线。到现持续开发新发掘的需求。
从前端页面的开发到后代的业务逻辑在到App的接口编写都有深入的参与或负责。
</div>
</div>
<div class="part">
<div><strong>2014.03</strong>:车险理赔系统</div>
<div>
<strong>项目描述</strong>:
车险理赔系统主要的环节有:电话中心、查勘中心、人伤管理中心、内勤中心、理算核赔中心、综合业务、综合业务等。
主要任务有:本车车损、三者车损、本车物损、三者物损、本车人伤、三者人伤、全车盗抢等。
</div>
<div>
<strong>责任描述</strong>:
主要是做新业务的二次开发。
期间做过的功能:公估费选单、协议方案上报、替换保单信息查询的相关接口、派查勘员受阻、为人伤环节添加合理金额...等。
</div>
</div>
<div class="part">
<div><strong>2013.10</strong>:上海会展培训网</div>
<div>
<strong>项目描述</strong>: 本网站针对的人群是初入会展行业的职场新人以及高校中即将面临就业的高年级学生。
根据会展行业的专业不同,课程细分为“会展管理”、“展示设计”和“会展活动策划”。
学员可根据自己的专业和兴趣自由选择。
</div>
<div>
<strong>责任描述</strong>:
本项目,由我和同事两个人开发完成。 其中有一半以上由我个人开发。
如:登录、权限控制、视频播放、播放记录和播放统计计算。还有后台的视频上传、分页、排序等。
</div>
</div>
<div class="part">
<div><strong>2013.03</strong>:二维Gis </div>
<div>
<strong>项目描述</strong>:
通过读取集成项目写入的数据,在地图上做数据展示和定位。
通过放大地图到设备进行设备的渲染。
主要业务功能:设备查询定位,FID查询定位,雷击区域,车辆管理,VIP用户,营业厅,快速复电,大面积停电,停电监控...等。
</div>
<div>
<strong>责任描述</strong>:
主要负责VIP用户展示、快速复电、大面积和停电监控。
从数据库的存储过程到前台的展示。
然后现场与客户沟通,到合作公司集成系统的联调到验收。
</div>
</div>
<div class="part">
<div><strong>2011.02</strong>:WebGis</div>
<div>
<strong>项目描述</strong>:
该项目使用Flex和Oracle开发的业务处理相关地图操作和相关效果。
主要功能:地图基本操作,空间查询,台账数,用电调度,海量,拓扑追踪。
</div>
<div>
<strong>责任描述</strong>:
负责前台Flex开发。主要业务功能有用电调度,设备查询和地图基本操作。
从数据库的查询到前台的效果,数据的分类展示的整个流程。
沟通项目组开发界面的风格统一,整理公用类库。
</div>
</div>
</div>
<!--教育背景-->
<div class="infoBlock" id="educational ">
<a href="#educational " class="infoTitle">教育背景</a>
<div>2010.01--2012.07:吉林师范大学</div>
</div>
<!--个人作品-->
<div class="infoBlock" id="works">
<a href="#works" class="infoTitle">个人作品</a>
<div class="part">
<div><strong>一、找工作</strong></div>
<div>1、兼容移动端和PC端</div>
<div>2、使用阿里云 + .NET Core1.1 + CentOS7.3 + nginx1.12.1</div>
<div>3、演示地址:<a target="_blank" href="http://job.haojima.net">http://job.haojima.net</a></div>
<div>4、源码地址:<a target="_blank" href="https://github.com/zhaopeiym/JobWanted">https://github.com/zhaopeiym/JobWanted</a></div>
</div>
<div class="part">
<div><strong>二、聊天室</strong></div>
<div>1、兼容移动端和PC端</div>
<div>2、使用阿里云 + .NET Core1.1 + WebSocket + CentOS7.3 + nginx1.12.1</div>
<div>3、演示地址:<a target="_blank" href="http://socket.haojima.net/">http://socket.haojima.net/</a></div>
<div>4、源码地址:<a target="_blank" href="https://github.com/zhaopeiym/ChatRoom">https://github.com/zhaopeiym/ChatRoom</a></div>
</div>
<div class="part">
<div><strong>三、博客系统</strong></div>
<div>1、嗨-博客,是一个ASP.NET MVC版本的开源博客。</div>
<div>2、兼容移动端和PC端</div>
<div>3、同时提供了webapi,任何终端都可以基于api功能做博客数据的展示和操作。</div>
<div>4、随心所欲定制自己的样式效果,提供给了javascript脚本权限。</div>
<div>5、开源地址:<a target="_blank" href="https://git.oschina.net/zhaopeiym/Hi-Blogs">https://git.oschina.net/zhaopeiym/Hi-Blogs</a>【荣誉:码云“推荐项目”】</div>
</div>
<div class="part">
<div><strong>四、博客和源码</strong></div>
<div>1、博客地址:<a target="_blank" href="http://www.cnblogs.com/zhaopei">http://zhaopei.cnblogs.com</a> 【荣誉:博客园“推荐博客”前20名】</div>
<div>2、GitHub地址:<a target="_blank" href="https://github.com/zhaopeiym">https://github.com/zhaopeiym</a> </div>
<div>3、码云地址:<a target="_blank" href="https://git.oschina.net/zhaopeiym">https://git.oschina.net/zhaopeiym</a> </div>
</div>
</div>
</div>
</body>
</html>
================================================
FILE: JobWanted/wwwroot/css/jobs.css
================================================
.clearfix {
overflow: auto;
_height: 1%;
}
* {
/*padding: 0px;*/ /*这里会影响百度编辑器的 序列*/
margin: 0px;
box-sizing: border-box; /*设置元素边框为 内容 + padding + 边框的宽度(不包括margin); [如果默认不设置此属性的话 那么宽度仅仅只是 元素里面的内容宽度] */
}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: 400;
line-height: 1.42757143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
font-family: inherit;
text-transform: none;
overflow: visible;
}
.btn-default:focus,
.btn-default.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btn-default:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.jobKey {
/*display: block;*/
width: 300px;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
.displayNone {
display: none;
}
.chosen {
background-color: #f3f3f3;
}
.loading {
text-align: center;
}
.mouseover {
background-color: #eed1b6;
}
.detailsSketch {
text-align: center;
}
.detailsBlock {
padding-top: 15px;
font-size: 14px;
}
.detailsBlock-title {
border-left: 4px solid #f8ad5a;
padding-left: 7px;
margin-bottom: 7px;
font-size: 16px;
}
div.jobinfo, div.detailsInfo {
border: 1px solid #e1e1e1;
border-top: 0px;
padding: 15px;
}
div.detailsInfo {
max-height: 500px;
overflow-y: auto;
}
.jobdiv {
margin: 5px;
margin-left: 20%;
margin-right: 20%;
background-color: #faf6f6;
}
a {
text-decoration: none;
color: #038bd9;
}
.sodivBut, .sodivChk {
float: left;
height: 33px;
line-height: 30px;
}
.sodivChk {
margin-left: 8px;
}
.sodiv {
display: table;
margin: 0px auto;
}
.jobHeadDiv {
text-align: center;
padding-bottom: 10px;
padding-top: 10px;
border: 1px dashed #d5cdcd;
border-bottom: none;
background-color: #7dc8f3;
}
.jobHeadDiv a, .temp_place {
color: #fff;
}
.hid_place_div {
border: 1px dashed #d1d4e8;
padding-bottom: 10px;
display: none;
margin-top: 5px;
padding-top: 5px;
position: absolute;
width: 644px;
left: 353px;
background-color: #7dc8f3;
}
.dataDiv {
background-color: rgb(250, 251, 251);
}
.jobHeadDiv .select_place_a, .select_place_a .temp_place {
color: #b95454;
}
.mytableSelect, .hid_place_div {
padding: 10px;
}
.div_a_bottom {
margin-left: 60px;
margin-right: 60px;
}
* {
color: #666;
}
div.col {
float: left;
}
.hiLabel {
position: fixed;
top: 50px;
left: 100px;
max-width: 200px;
max-height: 400px;
}
div .col.clearfix {
width: 35%;
}
div.col.positionName {
float: initial;
}
div.col.corporateName {
float: initial;
padding-top: 5px;
font-size: 14px;
}
div.col.workingPlace {
width: 10%;
padding-top: 10px;
text-align: center;
}
div.col.releaseDate {
width: 20%;
padding-top: 10px;
text-align: center;
}
div.col.salaryType {
width: 10%;
padding-top: 10px;
}
div.col.salary {
width: 15%;
padding-top: 10px;
text-align: center;
}
div.col.source {
width: 10%;
padding-top: 10px;
text-align: center;
}
/*pc端*/
@media (min-width: 1366px) {
}
/*笔记本*/
@media(max-width:1366px) {
.hiLabel {
left: 50px;
}
}
/*ipad pro*/
@media(max-width:1024px) {
.hiLabel {
left: 5px;
}
.sodivBut, .sodivChk {
float: none;
}
}
/*移动端*/
@media(max-width:992px) {
.chosen {
background-color: #ffebd6;
}
.jobKey {
width: 200px;
}
.hiLabel {
display: none;
}
.div_visited {
background-color: #88d17d;
}
.hid_place_div, .jobHeadDiv {
background-color: #f7bb5e;
}
.jobdiv {
margin: 5px;
margin-left: 5px;
margin-right: 5px;
}
#inp_key {
width: 150px;
}
#but {
width: 80px;
}
.sodivBut, .sodivChk {
float: none;
}
.div_a_bottom {
margin-left: 10px;
margin-right: 10px;
}
div.col {
/*font-size: 15px;*/
}
div.col.clearfix {
width: 100%;
padding-bottom: 10px;
}
div.col.positionName {
float: initial;
}
div.col.corporateName {
float: initial;
font-size: 13px;
}
div.col.workingPlace {
width: 25%;
}
div.col.releaseDate {
width: 35%;
text-align: center;
}
div.col.salaryType {
display: none;
width: 0%;
}
div.col.salary {
width: 30%;
text-align: center;
}
div.col.source {
display: none;
width: 25%;
text-align: center;
}
}
================================================
FILE: JobWanted/wwwroot/css/site.css
================================================
body {
padding-top: 50px;
padding-bottom: 20px;
}
/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
padding-left: 15px;
padding-right: 15px;
}
/* Set widths on the form inputs since otherwise they're 100% wide */
input,
select,
textarea {
max-width: 280px;
}
/* Carousel */
.carousel-caption p {
font-size: 20px;
line-height: 1.4;
}
/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
width: 100%;
}
/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
/* Hide captions */
.carousel-caption {
display: none;
}
}
================================================
FILE: JobWanted/wwwroot/js/jobs.js
================================================
var job = function () {
//页面数据
var _pageData = {
pageIndex: 1,
city: "上海",
key: ".net",
isGetJobsByZL: true,
isGetJobsByLP: true,
isGetJobsByQC: true,
isGetJobsByBS: true,
};
return {
init: function () {
this.pageInit();
this.bindEvent();
},
//独立方法
method: {
//加载招聘信息
loadJobsInfo: function (type, city, key, index) {
var tempHtml = "";
var source = "", salaryType = "月薪";
switch (type) {
case "GetJobsByZL":
source = "智联";
break;
case "GetJobsByLP":
source = "猎聘";
salaryType = "年薪";
break;
case "GetJobsByQC":
source = "前程";
break;
case "GetJobsByBS":
source = "BOSS";
break;
case "GetJobsByLG":
source = "拉勾";
break;
}
$.ajax({
url: "/api/jobs/" + type + "?city=" + city + "&key=" + key + "&index=" + index,
data: "",
success: function (sData) {
for (var i = 0; i < sData.length; i++) {
var job = sData[i];
tempHtml += ' <div class="jobinfo clearfix">\
<div class="col clearfix">\
<div class="col positionName">\
<a onclick="event.stopPropagation();" class="info_url" href="'+ job.detailsUrl + '" target="_blank">' + job.positionName + '</a>\
</div> \
<div class="col corporateName">'+ job.corporateName + '</div>\
</div>\
<div class="col workingPlace">'+ job.workingPlace + '</div>\
<div class="col releaseDate">'+ job.releaseDate + '</div>\
<div class="col salaryType">'+ salaryType + '</div>\
<div class="col salary">'+ job.salary + '</div>\
<div class="col source">'+ source + '</div>\
</div>';
}
$(".dataDiv").append(tempHtml);
}
});
},
//重置信息
resetInfo: function () {
_pageData.pageIndex = this.queryString("index") || 0;
_pageData.city = $(".place_a.select_place_a").text();
_pageData.key = $(".jobKey").val();
_pageData.isGetJobsByZL = $(".isGetJobsByZL").prop("checked");
_pageData.isGetJobsByLP = $(".isGetJobsByLP").prop("checked");
_pageData.isGetJobsByQC = $(".isGetJobsByQC").prop("checked");
_pageData.isGetJobsByBS = $(".isGetJobsByBS").prop("checked");
_pageData.isGetJobsByLG = $(".isGetJobsByLG").prop("checked");
$(".dataDiv").html("");
},
//加载详细信息
loadDetailsInfo: function (ele, type, url) {
var urlType = "";
switch (type) {
case "智联":
urlType = "GetDetailsInfoByZL";
break;
case "猎聘":
urlType = "GetDetailsInfoByLP";
break;
case "前程":
urlType = "GetDetailsInfoByQC";
break;
case "BOSS":
urlType = "GetDetailsInfoByBS";
break;
case "拉勾":
urlType = "GetDetailsInfoByLG";
break;
}
$.ajax({
url: "/api/jobs/" + urlType + "?url=" + url,
success: function (sData) {
if (sData) {
var tempHtml = "";
tempHtml += "<div class='detailsSketch detailsBlock'>" + (sData.experience || "");
tempHtml += "  |  " + (sData.education || "") + "";
tempHtml += "  |  " + (sData.companyNature || "") + "";
tempHtml += "  |  " + (sData.companySize || "") + "</div>";
tempHtml += "<div class='detailsBlock'><div class='detailsBlock-title'>职位描述:</div>" + (sData.requirement || "").trim() + "</div>";
if (sData.companyIntroduction)
tempHtml += "<div class='detailsBlock'><div class='detailsBlock-title'>公司简介:</div>" + (sData.companyIntroduction || "").trim() + "</div>";
$(ele).html(tempHtml);
}
}
});
},
//QueryString
queryString: function (name) {
var url = encodeURI(location.search); //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest[name];
}
},
//页面加载初始化
pageInit: function () {
var method = this.method;
var jobTypes = "0-1-2-3-4-";//默认初始全部
//根据url中的类型
var types = method.queryString("type") && method.queryString("type").split('-') || jobTypes.split("-");
jobTypes = types.join('-');
$(".jobKey").val(method.queryString("key") || _pageData.key);//根据URL中的关键字
////根据URL中的区域绑定
$(".place_a.select_place_a").removeClass("select_place_a");
$(".place_a").each(function (i, e) {
if ($(this).text() === decodeURI(method.queryString("city") || _pageData.city)) {
$(this).addClass("select_place_a");
}
})
//如果是更多区域
if (!$(".place_a.select_place_a").length) {
$(".temp_place_a").text(decodeURI(method.queryString("city") || _pageData.city)).addClass("select_place_a");
}
$(":checkbox").prop("checked", false);
types.indexOf("0") >= 0 && $(".isGetJobsByZL").prop("checked", true);
types.indexOf("1") >= 0 && $(".isGetJobsByQC").prop("checked", true);
types.indexOf("2") >= 0 && $(".isGetJobsByLP").prop("checked", true);
types.indexOf("3") >= 0 && $(".isGetJobsByBS").prop("checked", true);
types.indexOf("4") >= 0 && $(".isGetJobsByLG").prop("checked", true);
method.resetInfo();
$.each(types, function (i, e) {
if (e === "0")
method.loadJobsInfo("GetJobsByZL", _pageData.city, _pageData.key, _pageData.pageIndex);
if (e === "1")
method.loadJobsInfo("GetJobsByQC", _pageData.city, _pageData.key, _pageData.pageIndex);
if (e === "2")
method.loadJobsInfo("GetJobsByLP", _pageData.city, _pageData.key, _pageData.pageIndex);
if (e === "3")
method.loadJobsInfo("GetJobsByBS", _pageData.city, _pageData.key, _pageData.pageIndex);
if (e === "4")
method.loadJobsInfo("GetJobsByLG", _pageData.city, _pageData.key, _pageData.pageIndex);
});
history.pushState(null, null, location.href.split("?")[0] + "?type=" + jobTypes + "&city=" + _pageData.city + "&key=" + _pageData.key + "&index=" + _pageData.pageIndex);//塞入历史记录,并改变当前url
},
//事件绑定
bindEvent: function () {
var method = this.method;
//自动加载信息
var autoLoad = function () {
var type = "";
if (_pageData.isGetJobsByZL) {
type += "0-";
method.loadJobsInfo("GetJobsByZL", _pageData.city, _pageData.key, _pageData.pageIndex);
}
if (_pageData.isGetJobsByQC) {
type += "1-";
method.loadJobsInfo("GetJobsByQC", _pageData.city, _pageData.key, _pageData.pageIndex);
}
if (_pageData.isGetJobsByLP) {
type += "2-";
method.loadJobsInfo("GetJobsByLP", _pageData.city, _pageData.key, _pageData.pageIndex);
}
if (_pageData.isGetJobsByBS) {
type += "3-";
method.loadJobsInfo("GetJobsByBS", _pageData.city, _pageData.key, _pageData.pageIndex);
}
if (_pageData.isGetJobsByLG) {
type += "4-";
method.loadJobsInfo("GetJobsByLG", _pageData.city, _pageData.key, _pageData.pageIndex);
}
//if (event && event.clientX) //用来判断是否是鼠标点击触发
history.pushState(null, null, location.href.split("?")[0] + "?type=" + type + "&city=" + _pageData.city + "&key=" + _pageData.key + "&index=" + _pageData.pageIndex);//塞入历史记录,并改变当前url
};
//重新加载
var reloadLoad = function () {
method.resetInfo();
autoLoad();
}
//点击 更多区域
$(".btn-moreplace").click(function () {
$(".hid_place_div").toggle();
$(".hid_place_div").css("position", "absolute")
.css("width", $(".mytableSelect").css("width"))
.css("left", $(".mytableSelect")[0].offsetLeft - 1);
});
//点击热门区域
$(".place_a").click(function () {
$(".place_a.select_place_a").removeClass("select_place_a");
$(this).addClass("select_place_a");
reloadLoad();
});
//点击其他区域
$(".hid_place_a").click(function () {
debugger
$(".hid_place_div").hide();
$(".place_a.select_place_a").removeClass("select_place_a");
$(".temp_place_a").text($(this).text()).addClass("select_place_a");
reloadLoad();
});
//点击重新查询
$(".btn-query").click(function () {
reloadLoad();
});
//回车搜索
$(".jobKey").keydown(function (event) {
if (event.keyCode == 13)
reloadLoad();
});
//点击复选框时
$(":checkbox").click(function () {
reloadLoad();
});
//点击选中(加载详情)
$("html").on("click", ".jobinfo", function () {
$(".detailsInfo").not($(this).next()).addClass("displayNone");
if ($(this).next().hasClass("detailsInfo")) {
if ($(this).next().hasClass("displayNone"))
$(this).next().removeClass("displayNone");
else
$(this).next().addClass("displayNone");
}
else {
$(this).after("<div class='detailsInfo'><div class='loading'>正在加载...</div></div>");
var url = $(this).find(".positionName .info_url").prop("href");
//加载详情
method.loadDetailsInfo($(this).next(), $(this).find(".source").text(), url);
}
if (!$(this).hasClass("chosen"))
$(this).addClass("chosen");
});
//鼠标移出事件
$("html").on("mouseout", ".jobinfo", function () {
if ($(this).hasClass("mouseover"))
$(this).removeClass("mouseover");
});
//鼠标进入事件
$("html").on("mouseover", ".jobinfo", function () {
if (!$(this).hasClass("mouseover"))
$(this).addClass("mouseover");
});
if (history.pushState) {
window.addEventListener("popstate", function () {
});
}
//滚动条
$(window).scroll(function () {
var scrollTop = $(window).scrollTop();
var top = $(document).height() - $(window).height() - scrollTop;
if (top == 0) {
_pageData.pageIndex++;
autoLoad();
}
});
}
};
}();
//页面加载完成
$(function () {
job.init();
});
================================================
FILE: JobWanted/wwwroot/js/site.js
================================================
// Write your Javascript code.
================================================
FILE: JobWanted/wwwroot/lib/bootstrap/.bower.json
================================================
{
"name": "bootstrap",
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
"keywords": [
"css",
"js",
"less",
"mobile-first",
"responsive",
"front-end",
"framework",
"web"
],
"homepage": "http://getbootstrap.com",
"license": "MIT",
"moduleType": "globals",
"main": [
"less/bootstrap.less",
"dist/js/bootstrap.js"
],
"ignore": [
"/.*",
"_config.yml",
"CNAME",
"composer.json",
"CONTRIBUTING.md",
"docs",
"js/tests",
"test-infra"
],
"dependencies": {
"jquery": "1.9.1 - 3"
},
"version": "3.3.7",
"_release": "3.3.7",
"_resolution": {
"type": "version",
"tag": "v3.3.7",
"commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
},
"_source": "https://github.com/twbs/bootstrap.git",
"_target": "v3.3.7",
"_originalSource": "bootstrap",
"_direct": true
}
================================================
FILE: JobWanted/wwwroot/lib/bootstrap/LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2011-2016 Twitter, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: JobWanted/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css
================================================
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #2e6da4;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */
================================================
FILE: JobWanted/wwwroot/lib/bootstrap/dist/css/bootstrap.css
================================================
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
body {
margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
audio,
canvas,
progress,
video {
display: inline-block;
vertical-align: baseline;
}
audio:not([controls]) {
display: none;
height: 0;
}
[hidden],
template {
display: none;
}
a {
background-color: transparent;
}
a:active,
a:hover {
outline: 0;
}
abbr[title] {
border-bottom: 1px dotted;
}
b,
strong {
font-weight: bold;
}
dfn {
font-style: italic;
}
h1 {
margin: .67em 0;
font-size: 2em;
}
mark {
color: #000;
background: #ff0;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sup {
top: -.5em;
}
sub {
bottom: -.25em;
}
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
figure {
margin: 1em 40px;
}
hr {
height: 0;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
pre {
overflow: auto;
}
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
margin: 0;
font: inherit;
color: inherit;
}
button {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
}
button[disabled],
html input[disabled] {
cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
padding: 0;
border: 0;
}
input {
line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
input[type="search"] {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
fieldset {
padding: .35em .625em .75em;
margin: 0 2px;
border: 1px solid #c0c0c0;
}
legend {
padding: 0;
border: 0;
}
textarea {
overflow: auto;
}
optgroup {
font-weight: bold;
}
table {
border-spacing: 0;
border-collapse: collapse;
}
td,
th {
padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
*,
*:before,
*:after {
color: #000 !important;
text-shadow: none !important;
background: transparent !important;
-webkit-box-shadow: none !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;
}
.navbar {
display: none;
}
.btn > .caret,
.dropup > .btn > .caret {
border-top-color: #000 !important;
}
.label {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../fonts/glyphicons-halflings-regular.eot');
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
position: relative;
top: 1px;
display: inline-block;
font-family: 'Glyphicons Halflings';
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
content: "\002a";
}
.glyphicon-plus:before {
content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
content: "\20ac";
}
.glyphicon-minus:before {
content: "\2212";
}
.glyphicon-cloud:before {
content: "\2601";
}
.glyphicon-envelope:before {
content: "\2709";
}
.glyphicon-pencil:before {
content: "\270f";
}
.glyphicon-glass:before {
content: "\e001";
}
.glyphicon-music:before {
content: "\e002";
}
.glyphicon-search:before {
content: "\e003";
}
.glyphicon-heart:before {
content: "\e005";
}
.glyphicon-star:before {
content: "\e006";
}
.glyphicon-star-empty:before {
content: "\e007";
}
.glyphicon-user:before {
content: "\e008";
}
.glyphicon-film:before {
content: "\e009";
}
.glyphicon-th-large:before {
content: "\e010";
}
.glyphicon-th:before {
content: "\e011";
}
.glyphicon-th-list:before {
content: "\e012";
}
.glyphicon-ok:before {
content: "\e013";
}
.glyphicon-remove:before {
content: "\e014";
}
.glyphicon-zoom-in:before {
content: "\e015";
}
.glyphicon-zoom-out:before {
content: "\e016";
}
.glyphicon-off:before {
content: "\e017";
}
.glyphicon-signal:before {
content: "\e018";
}
.glyphicon-cog:before {
content: "\e019";
}
.glyphicon-trash:before {
content: "\e020";
}
.glyphicon-home:before {
content: "\e021";
}
.glyphicon-file:before {
content: "\e022";
}
.glyphicon-time:before {
content: "\e023";
}
.glyphicon-road:before {
content: "\e024";
}
.glyphicon-download-alt:before {
content: "\e025";
}
.glyphicon-download:before {
content: "\e026";
}
.glyphicon-upload:before {
content: "\e027";
}
.glyphicon-inbox:before {
content: "\e028";
}
.glyphicon-play-circle:before {
content: "\e029";
}
.glyphicon-repeat:before {
content: "\e030";
}
.glyphicon-refresh:before {
content: "\e031";
}
.glyphicon-list-alt:before {
content: "\e032";
}
.glyphicon-lock:before {
content: "\e033";
}
.glyphicon-flag:before {
content: "\e034";
}
.glyphicon-headphones:before {
content: "\e035";
}
.glyphicon-volume-off:before {
content: "\e036";
}
.glyphicon-volume-down:before {
content: "\e037";
}
.glyphicon-volume-up:before {
content: "\e038";
}
.glyphicon-qrcode:before {
content: "\e039";
}
.glyphicon-barcode:before {
content: "\e040";
}
.glyphicon-tag:before {
content: "\e041";
}
.glyphicon-tags:before {
content: "\e042";
}
.glyphicon-book:before {
content: "\e043";
}
.glyphicon-bookmark:before {
content: "\e044";
}
.glyphicon-print:before {
content: "\e045";
}
.glyphicon-camera:before {
content: "\e046";
}
.glyphicon-font:before {
content: "\e047";
}
.glyphicon-bold:before {
content: "\e048";
}
.glyphicon-italic:before {
content: "\e049";
}
.glyphicon-text-height:before {
content: "\e050";
}
.glyphicon-text-width:before {
content: "\e051";
}
.glyphicon-align-left:before {
content: "\e052";
}
.glyphicon-align-center:before {
content: "\e053";
}
.glyphicon-align-right:before {
content: "\e054";
}
.glyphicon-align-justify:before {
content: "\e055";
}
.glyphicon-list:before {
content: "\e056";
}
.glyphicon-indent-left:before {
content: "\e057";
}
.glyphicon-indent-right:before {
content: "\e058";
}
.glyphicon-facetime-video:before {
content: "\e059";
}
.glyphicon-picture:before {
content: "\e060";
}
.glyphicon-map-marker:before {
content: "\e062";
}
.glyphicon-adjust:before {
content: "\e063";
}
.glyphicon-tint:before {
content: "\e064";
}
.glyphicon-edit:before {
content: "\e065";
}
.glyphicon-share:before {
content: "\e066";
}
.glyphicon-check:before {
content: "\e067";
}
.glyphicon-move:before {
content: "\e068";
}
.glyphicon-step-backward:before {
content: "\e069";
}
.glyphicon-fast-backward:before {
content: "\e070";
}
.glyphicon-backward:before {
content: "\e071";
}
.glyphicon-play:before {
content: "\e072";
}
.glyphicon-pause:before {
content: "\e073";
}
.glyphicon-stop:before {
content: "\e074";
}
.glyphicon-forward:before {
content: "\e075";
}
.glyphicon-fast-forward:before {
content: "\e076";
}
.glyphicon-step-forward:before {
content: "\e077";
}
.glyphicon-eject:before {
content: "\e078";
}
.glyphicon-chevron-left:before {
content: "\e079";
}
.glyphicon-chevron-right:before {
content: "\e080";
}
.glyphicon-plus-sign:before {
content: "\e081";
}
.glyphicon-minus-sign:before {
content: "\e082";
}
.glyphicon-remove-sign:before {
content: "\e083";
}
.glyphicon-ok-sign:before {
content: "\e084";
}
.glyphicon-question-sign:before {
content: "\e085";
}
.glyphicon-info-sign:before {
content: "\e086";
}
.glyphicon-screenshot:before {
content: "\e087";
}
.glyphicon-remove-circle:before {
content: "\e088";
}
.glyphicon-ok-circle:before {
content: "\e089";
}
.glyphicon-ban-circle:before {
content: "\e090";
}
.glyphicon-arrow-left:before {
content: "\e091";
}
.glyphicon-arrow-right:before {
content: "\e092";
}
.glyphicon-arrow-up:before {
content: "\e093";
}
.glyphicon-arrow-down:before {
content: "\e094";
}
.glyphicon-share-alt:before {
content: "\e095";
}
.glyphicon-resize-full:before {
content: "\e096";
}
.glyphicon-resize-small:before {
content: "\e097";
}
.glyphicon-exclamation-sign:before {
content: "\e101";
}
.glyphicon-gift:before {
content: "\e102";
}
.glyphicon-leaf:before {
content: "\e103";
}
.glyphicon-fire:before {
content: "\e104";
}
.glyphicon-eye-open:before {
content: "\e105";
}
.glyphicon-eye-close:before {
content: "\e106";
}
.glyphicon-warning-sign:before {
content: "\e107";
}
.glyphicon-plane:before {
content: "\e108";
}
.glyphicon-calendar:before {
content: "\e109";
}
.glyphicon-random:before {
content: "\e110";
}
.glyphicon-comment:before {
content: "\e111";
}
.glyphicon-magnet:before {
content: "\e112";
}
.glyphicon-chevron-up:before {
content: "\e113";
}
.glyphicon-chevron-down:before {
content: "\e114";
}
.glyphicon-retweet:before {
content: "\e115";
}
.glyphicon-shopping-cart:before {
content: "\e116";
}
.glyphicon-folder-close:before {
content: "\e117";
}
.glyphicon-folder-open:before {
content: "\e118";
}
.glyphicon-resize-vertical:before {
content: "\e119";
}
.glyphicon-resize-horizontal:before {
content: "\e120";
}
.glyphicon-hdd:before {
content: "\e121";
}
.glyphicon-bullhorn:before {
content: "\e122";
}
.glyphicon-bell:before {
content: "\e123";
}
.glyphicon-certificate:before {
content: "\e124";
}
.glyphicon-thumbs-up:before {
content: "\e125";
}
.glyphicon-thumbs-down:before {
content: "\e126";
}
.glyphicon-hand-right:before {
content: "\e127";
}
.glyphicon-hand-left:before {
content: "\e128";
}
.glyphicon-hand-up:before {
content: "\e129";
}
.glyphicon-hand-down:before {
content: "\e130";
}
.glyphicon-circle-arrow-right:before {
content: "\e131";
}
.glyphicon-circle-arrow-left:before {
content: "\e132";
}
.glyphicon-circle-arrow-up:before {
content: "\e133";
}
.glyphicon-circle-arrow-down:before {
content: "\e134";
}
.glyphicon-globe:before {
content: "\e135";
}
.glyphicon-wrench:before {
content: "\e136";
}
.glyphicon-tasks:before {
content: "\e137";
}
.glyphicon-filter:before {
content: "\e138";
}
.glyphicon-briefcase:before {
content: "\e139";
}
.glyphicon-fullscreen:before {
content: "\e140";
}
.glyphicon-dashboard:before {
content: "\e141";
}
.glyphicon-paperclip:before {
content: "\e142";
}
.glyphicon-heart-empty:before {
content: "\e143";
}
.glyphicon-link:before {
content: "\e144";
}
.glyphicon-phone:before {
content: "\e145";
}
.glyphicon-pushpin:before {
content: "\e146";
}
.glyphicon-usd:before {
content: "\e148";
}
.glyphicon-gbp:before {
content: "\e149";
}
.glyphicon-sort:before {
content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
content: "\e152";
}
.glyphicon-sort-by-order:before {
content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
content: "\e154";
}
.glyphicon-sort-by-attributes:before {
content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
content: "\e156";
}
.glyphicon-unchecked:before {
content: "\e157";
}
.glyphicon-expand:before {
content: "\e158";
}
.glyphicon-collapse-down:before {
content: "\e159";
}
.glyphicon-collapse-up:before {
content: "\e160";
}
.glyphicon-log-in:before {
content: "\e161";
}
.glyphicon-flash:before {
content: "\e162";
}
.glyphicon-log-out:before {
content: "\e163";
}
.glyphicon-new-window:before {
content: "\e164";
}
.glyphicon-record:before {
content: "\e165";
}
.glyphicon-save:before {
content: "\e166";
}
.glyphicon-open:before {
content: "\e167";
}
.glyphicon-saved:before {
content: "\e168";
}
.glyphicon-import:before {
content: "\e169";
}
.glyphicon-export:before {
content: "\e170";
}
.glyphicon-send:before {
content: "\e171";
}
.glyphicon-floppy-disk:before {
content: "\e172";
}
.glyphicon-floppy-saved:before {
content: "\e173";
}
.glyphicon-floppy-remove:before {
content: "\e174";
}
.glyphicon-floppy-save:before {
content: "\e175";
}
.glyphicon-floppy-open:before {
content: "\e176";
}
.glyphicon-credit-card:before {
content: "\e177";
}
.glyphicon-transfer:before {
content: "\e178";
}
.glyphicon-cutlery:before {
content: "\e179";
}
.glyphicon-header:before {
content: "\e180";
}
.glyphicon-compressed:before {
content: "\e181";
}
.glyphicon-earphone:before {
content: "\e182";
}
.glyphicon-phone-alt:before {
content: "\e183";
}
.glyphicon-tower:before {
content: "\e184";
}
.glyphicon-stats:before {
content: "\e185";
}
.glyphicon-sd-video:before {
content: "\e186";
}
.glyphicon-hd-video:before {
content: "\e187";
}
.glyphicon-subtitles:before {
content: "\e188";
}
.glyphicon-sound-stereo:before {
content: "\e189";
}
.glyphicon-sound-dolby:before {
content: "\e190";
}
.glyphicon-sound-5-1:before {
content: "\e191";
}
.glyphicon-sound-6-1:before {
content: "\e192";
}
.glyphicon-sound-7-1:before {
content: "\e193";
}
.glyphicon-copyright-mark:before {
content: "\e194";
}
.glyphicon-registration-mark:before {
content: "\e195";
}
.glyphicon-cloud-download:before {
content: "\e197";
}
.glyphicon-cloud-upload:before {
content: "\e198";
}
.glyphicon-tree-conifer:before {
content: "\e199";
}
.glyphicon-tree-deciduous:before {
content: "\e200";
}
.glyphicon-cd:before {
content: "\e201";
}
.glyphicon-save-file:before {
content: "\e202";
}
.glyphicon-open-file:before {
content: "\e203";
}
.glyphicon-level-up:before {
content: "\e204";
}
.glyphicon-copy:before {
content: "\e205";
}
.glyphicon-paste:before {
content: "\e206";
}
.glyphicon-alert:before {
content: "\e209";
}
.glyphicon-equalizer:before {
content: "\e210";
}
.glyphicon-king:before {
content: "\e211";
}
.glyphicon-queen:before {
content: "\e212";
}
.glyphicon-pawn:before {
content: "\e213";
}
.glyphicon-bishop:before {
content: "\e214";
}
.glyphicon-knight:before {
content: "\e215";
}
.glyphicon-baby-formula:before {
content: "\e216";
}
.glyphicon-tent:before {
content: "\26fa";
}
.glyphicon-blackboard:before {
content: "\e218";
}
.glyphicon-bed:before {
content: "\e219";
}
.glyphicon-apple:before {
content: "\f8ff";
}
.glyphicon-erase:before {
content: "\e221";
}
.glyphicon-hourglass:before {
content: "\231b";
}
.glyphicon-lamp:before {
content: "\e223";
}
.glyphicon-duplicate:before {
content: "\e224";
}
.glyphicon-piggy-bank:before {
content: "\e225";
}
.glyphicon-scissors:before {
content: "\e226";
}
.glyphicon-bitcoin:before {
content: "\e227";
}
.glyphicon-btc:before {
content: "\e227";
}
.glyphicon-xbt:before {
content: "\e227";
}
.glyphicon-yen:before {
content: "\00a5";
}
.glyphicon-jpy:before {
content: "\00a5";
}
.glyphicon-ruble:before {
content: "\20bd";
}
.glyphicon-rub:before {
content: "\20bd";
}
.glyphicon-scale:before {
content: "\e230";
}
.glyphicon-ice-lolly:before {
content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
content: "\e232";
}
.glyphicon-education:before {
content: "\e233";
}
.glyphicon-option-horizontal:before {
content: "\e234";
}
.glyphicon-option-vertical:before {
content: "\e235";
}
.glyphicon-menu-hamburger:before {
content: "\e236";
}
.glyphicon-modal-window:before {
content: "\e237";
}
.glyphicon-oil:before {
content: "\e238";
}
.glyphicon-grain:before {
content: "\e239";
}
.glyphicon-sunglasses:before {
content: "\e240";
}
.glyphicon-text-size:before {
content: "\e241";
}
.glyphicon-text-color:before {
content: "\e242";
}
.glyphicon-text-background:before {
content: "\e243";
}
.glyphicon-object-align-top:before {
content: "\e244";
}
.glyphicon-object-align-bottom:before {
content: "\e245";
}
.glyphicon-object-align-horizontal:before {
content: "\e246";
}
.glyphicon-object-align-left:before {
content: "\e247";
}
.glyphicon-object-align-vertical:before {
content: "\e248";
}
.glyphicon-object-align-right:before {
content: "\e249";
}
.glyphicon-triangle-right:before {
content: "\e250";
}
.glyphicon-triangle-left:before {
content: "\e251";
}
.glyphicon-triangle-bottom:before {
content: "\e252";
}
.glyphicon-triangle-top:before {
content: "\e253";
}
.glyphicon-console:before {
content: "\e254";
}
.glyphicon-superscript:before {
content: "\e255";
}
.glyphicon-subscript:before {
content: "\e256";
}
.glyphicon-menu-left:before {
content: "\e257";
}
.glyphicon-menu-right:before {
content: "\e258";
}
.glyphicon-menu-down:before {
content: "\e259";
}
.glyphicon-menu-up:before {
content: "\e260";
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-size: 10px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.42857143;
color: #333;
background-color: #fff;
}
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
a {
color: #337ab7;
text-decoration: none;
}
a:hover,
a:focus {
color: #23527c;
text-decoration: underline;
}
a:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
figure {
margin: 0;
}
img {
vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block;
max-width: 100%;
height: auto;
}
.img-rounded {
border-radius: 6px;
}
.img-thumbnail {
display: inline-block;
max-width: 100%;
height: auto;
padding: 4px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
-webkit-transition: all .2s ease-in-out;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
.img-circle {
border-radius: 50%;
}
hr {
margin-top: 20px;
margin-bottom: 20px;
border: 0;
border-top: 1px solid #eee;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
[role="button"] {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
font-weight: normal;
line-height: 1;
color: #777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
margin-top: 20px;
margin-bottom: 10px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
margin-top: 10px;
margin-bottom: 10px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
font-size: 75%;
}
h1,
.h1 {
font-size: 36px;
}
h2,
.h2 {
font-size: 30px;
}
h3,
.h3 {
font-size: 24px;
}
h4,
.h4 {
font-size: 18px;
}
h5,
.h5 {
font-size: 14px;
}
h6,
.h6 {
font-size: 12px;
}
p {
margin: 0 0 10px;
}
.lead {
margin-bottom: 20px;
font-size: 16px;
font-weight: 300;
line-height: 1.4;
}
@media (min-width: 768px) {
.lead {
font-size: 21px;
}
}
small,
.small {
font-size: 85%;
}
mark,
.mark {
padding: .2em;
background-color: #fcf8e3;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
.text-justify {
text-align: justify;
}
.text-nowrap {
white-space: nowrap;
}
.text-lowercase {
text-transform: lowercase;
}
.text-uppercase {
text-transform: uppercase;
}
.text-capitalize {
text-transform: capitalize;
}
.text-muted {
color: #777;
}
.text-primary {
color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
color: #286090;
}
.text-success {
color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
color: #2b542c;
}
.text-info {
color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
color: #245269;
}
.text-warning {
color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
color: #66512c;
}
.text-danger {
color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
color: #843534;
}
.bg-primary {
color: #fff;
background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
background-color: #c1e2b3;
}
.bg-info {
background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
background-color: #afd9ee;
}
.bg-warning {
background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
background-color: #f7ecb5;
}
.bg-danger {
background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
background-color: #e4b9b9;
}
.page-header {
padding-bottom: 9px;
margin: 40px 0 20px;
border-bottom: 1px solid #eee;
}
ul,
ol {
margin-top: 0;
margin-bottom: 10px;
}
ul ul,
ol ul,
ul ol,
ol ol {
margin-bottom: 0;
}
.list-unstyled {
padding-left: 0;
list-style: none;
}
.list-inline {
padding-left: 0;
margin-left: -5px;
list-style: none;
}
.list-inline > li {
display: inline-block;
padding-right: 5px;
padding-left: 5px;
}
dl {
margin-top: 0;
margin-bottom: 20px;
}
dt,
dd {
line-height: 1.42857143;
}
dt {
font-weight: bold;
}
dd {
margin-left: 0;
}
@media (min-width: 768px) {
.dl-horizontal dt {
float: left;
width: 160px;
overflow: hidden;
clear: left;
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
}
.dl-horizontal dd {
margin-left: 180px;
}
}
abbr[title],
abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted #777;
}
.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote {
padding: 10px 20px;
margin: 0 0 20px;
font-size: 17.5px;
border-left: 5px solid #eee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
display: block;
font-size: 80%;
line-height: 1.42857143;
color: #777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
text-align: right;
border-right: 5px solid #eee;
border-left: 0;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
content: '\00A0 \2014';
}
address {
margin-bottom: 20px;
font-style: normal;
line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 4px;
}
kbd {
padding: 2px 4px;
font-size: 90%;
color: #fff;
background-color: #333;
border-radius: 3px;
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
-webkit-box-shadow: none;
box-shadow: none;
}
pre {
display: block;
padding: 9.5px;
margin: 0 0 10px;
font-size: 13px;
line-height: 1.42857143;
color: #333;
word-break: break-all;
word-wrap: break-word;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 4px;
}
pre code {
padding: 0;
font-size: inherit;
color: inherit;
white-space: pre-wrap;
background-color: transparent;
border-radius: 0;
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
.container {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 768px) {
.container {
width: 750px;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
}
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
.container-fluid {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
.row {
margin-right: -15px;
margin-left: -15px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-12 {
width: 100%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-1 {
width: 8.33333333%;
}
.col-xs-pull-12 {
right: 100%;
}
.col-xs-pull-11 {
right: 91.66666667%;
}
.col-xs-pull-10 {
right: 83.33333333%;
}
.col-xs-pull-9 {
right: 75%;
}
.col-xs-pull-8 {
right: 66.66666667%;
}
.col-xs-pull-7 {
right: 58.33333333%;
}
.col-xs-pull-6 {
right: 50%;
}
.col-xs-pull-5 {
right: 41.66666667%;
}
.col-xs-pull-4 {
right: 33.33333333%;
}
.col-xs-pull-3 {
right: 25%;
}
.col-xs-pull-2 {
right: 16.66666667%;
}
.col-xs-pull-1 {
right: 8.33333333%;
}
.col-xs-pull-0 {
right: auto;
}
.col-xs-push-12 {
left: 100%;
}
.col-xs-push-11 {
left: 91.66666667%;
}
.col-xs-push-10 {
left: 83.33333333%;
}
.col-xs-push-9 {
left: 75%;
}
.col-xs-push-8 {
left: 66.66666667%;
}
.col-xs-push-7 {
left: 58.33333333%;
}
.col-xs-push-6 {
left: 50%;
}
.col-xs-push-5 {
left: 41.66666667%;
}
.col-xs-push-4 {
left: 33.33333333%;
}
.col-xs-push-3 {
left: 25%;
}
.col-xs-push-2 {
left: 16.66666667%;
}
.col-xs-push-1 {
left: 8.33333333%;
}
.col-xs-push-0 {
left: auto;
}
.col-xs-offset-12 {
margin-left: 100%;
}
.col-xs-offset-11 {
margin-left: 91.66666667%;
}
.col-xs-offset-10 {
margin-left: 83.33333333%;
}
.col-xs-offset-9 {
margin-left: 75%;
}
.col-xs-offset-8 {
margin-left: 66.66666667%;
}
.col-xs-offset-7 {
margin-left: 58.33333333%;
}
.col-xs-offset-6 {
margin-left: 50%;
}
.col-xs-offset-5 {
margin-left: 41.66666667%;
}
.col-xs-offset-4 {
margin-left: 33.33333333%;
}
.col-xs-offset-3 {
margin-left: 25%;
}
.col-xs-offset-2 {
margin-left: 16.66666667%;
}
.col-xs-offset-1 {
margin-left: 8.33333333%;
}
.col-xs-offset-0 {
margin-left: 0;
}
@media (min-width: 768px) {
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
float: left;
}
.col-sm-12 {
width: 100%;
}
.col-sm-11 {
width: 91.66666667%;
}
.col-sm-10 {
width: 83.33333333%;
}
.col-sm-9 {
width: 75%;
}
.col-sm-8 {
width: 66.66666667%;
}
.col-sm-7 {
width: 58.33333333%;
}
.col-sm-6 {
width: 50%;
}
.col-sm-5 {
width: 41.66666667%;
}
.col-sm-4 {
width: 33.33333333%;
}
.col-sm-3 {
width: 25%;
}
.col-sm-2 {
width: 16.66666667%;
}
.col-sm-1 {
width: 8.33333333%;
}
.col-sm-pull-12 {
right: 100%;
}
.col-sm-pull-11 {
right: 91.66666667%;
}
.col-sm-pull-10 {
right: 83.33333333%;
}
.col-sm-pull-9 {
right: 75%;
}
.col-sm-pull-8 {
right: 66.66666667%;
}
.col-sm-pull-7 {
right: 58.33333333%;
}
.col-sm-pull-6 {
right: 50%;
}
.col-sm-pull-5 {
right: 41.66666667%;
}
.col-sm-pull-4 {
right: 33.33333333%;
}
.col-sm-pull-3 {
right: 25%;
}
.col-sm-pull-2 {
right: 16.66666667%;
}
.col-sm-pull-1 {
right: 8.33333333%;
}
.col-sm-pull-0 {
right: auto;
}
.col-sm-push-12 {
left: 100%;
}
.col-sm-push-11 {
left: 91.66666667%;
}
.col-sm-push-10 {
left: 83.33333333%;
}
.col-sm-push-9 {
left: 75%;
}
.col-sm-push-8 {
left: 66.66666667%;
}
.col-sm-push-7 {
left: 58.33333333%;
}
.col-sm-push-6 {
left: 50%;
}
.col-sm-push-5 {
left: 41.66666667%;
}
.col-sm-push-4 {
left: 33.33333333%;
}
.col-sm-push-3 {
left: 25%;
}
.col-sm-push-2 {
left: 16.66666667%;
}
.col-sm-push-1 {
left: 8.33333333%;
}
.col-sm-push-0 {
left: auto;
}
.col-sm-offset-12 {
margin-left: 100%;
}
.col-sm-offset-11 {
margin-left: 91.66666667%;
}
.col-sm-offset-10 {
margin-left: 83.33333333%;
}
.col-sm-offset-9 {
margin-left: 75%;
}
.col-sm-offset-8 {
margin-left: 66.66666667%;
}
.col-sm-offset-7 {
margin-left: 58.33333333%;
}
.col-sm-offset-6 {
margin-left: 50%;
}
.col-sm-offset-5 {
margin-left: 41.66666667%;
}
.col-sm-offset-4 {
margin-left: 33.33333333%;
}
.col-sm-offset-3 {
margin-left: 25%;
}
.col-sm-offset-2 {
margin-left: 16.66666667%;
}
.col-sm-offset-1 {
margin-left: 8.33333333%;
}
.col-sm-offset-0 {
margin-left: 0;
}
}
@media (min-width: 992px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
float: left;
}
.col-md-12 {
width: 100%;
}
.col-md-11 {
width: 91.66666667%;
}
.col-md-10 {
width: 83.33333333%;
}
.col-md-9 {
width: 75%;
}
.col-md-8 {
width: 66.66666667%;
}
.col-md-7 {
width: 58.33333333%;
}
.col-md-6 {
width: 50%;
}
.col-md-5 {
width: 41.66666667%;
}
.col-md-4 {
width: 33.33333333%;
}
.col-md-3 {
width: 25%;
}
.col-md-2 {
width: 16.66666667%;
}
.col-md-1 {
width: 8.33333333%;
}
.col-md-pull-12 {
right: 100%;
}
.col-md-pull-11 {
right: 91.66666667%;
}
.col-md-pull-10 {
right: 83.33333333%;
}
.col-md-pull-9 {
right: 75%;
}
.col-md-pull-8 {
right: 66.66666667%;
}
.col-md-pull-7 {
right: 58.33333333%;
}
.col-md-pull-6 {
right: 50%;
}
.col-md-pull-5 {
right: 41.66666667%;
}
.col-md-pull-4 {
right: 33.33333333%;
}
.col-md-pull-3 {
right: 25%;
}
.col-md-pull-2 {
right: 16.66666667%;
}
.col-md-pull-1 {
right: 8.33333333%;
}
.col-md-pull-0 {
right: auto;
}
.col-md-push-12 {
left: 100%;
}
.col-md-push-11 {
left: 91.66666667%;
}
.col-md-push-10 {
left: 83.33333333%;
}
.col-md-push-9 {
left: 75%;
}
.col-md-push-8 {
left: 66.66666667%;
}
.col-md-push-7 {
left: 58.33333333%;
}
.col-md-push-6 {
left: 50%;
}
.col-md-push-5 {
left: 41.66666667%;
}
.col-md-push-4 {
left: 33.33333333%;
}
.col-md-push-3 {
left: 25%;
}
.col-md-push-2 {
left: 16.66666667%;
}
.col-md-push-1 {
left: 8.33333333%;
}
.col-md-push-0 {
left: auto;
}
.col-md-offset-12 {
margin-left: 100%;
}
.col-md-offset-11 {
margin-left: 91.66666667%;
}
.col-md-offset-10 {
margin-left: 83.33333333%;
}
.col-md-offset-9 {
margin-left: 75%;
}
.col-md-offset-8 {
margin-left: 66.66666667%;
}
.col-md-offset-7 {
margin-left: 58.33333333%;
}
.col-md-offset-6 {
margin-left: 50%;
}
.col-md-offset-5 {
margin-left: 41.66666667%;
}
.col-md-offset-4 {
margin-left: 33.33333333%;
}
.col-md-offset-3 {
margin-left: 25%;
}
.col-md-offset-2 {
margin-left: 16.66666667%;
}
.col-md-offset-1 {
margin-left: 8.33333333%;
}
.col-md-offset-0 {
margin-left: 0;
}
}
@media (min-width: 1200px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
.col-lg-12 {
width: 100%;
}
.col-lg-11 {
width: 91.66666667%;
}
.col-lg-10 {
width: 83.33333333%;
}
.col-lg-9 {
width: 75%;
}
.col-lg-8 {
width: 66.66666667%;
}
.col-lg-7 {
width: 58.33333333%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-5 {
width: 41.66666667%;
}
.col-lg-4 {
width: 33.33333333%;
}
.col-lg-3 {
width: 25%;
}
.col-lg-2 {
width: 16.66666667%;
}
.col-lg-1 {
width: 8.33333333%;
}
.col-lg-pull-12 {
right: 100%;
}
.col-lg-pull-11 {
right: 91.66666667%;
}
.col-lg-pull-10 {
right: 83.33333333%;
}
.col-lg-pull-9 {
right: 75%;
}
.col-lg-pull-8 {
right: 66.66666667%;
}
.col-lg-pull-7 {
right: 58.33333333%;
}
.col-lg-pull-6 {
right: 50%;
}
.col-lg-pull-5 {
right: 41.66666667%;
}
.col-lg-pull-4 {
right: 33.33333333%;
}
.col-lg-pull-3 {
right: 25%;
}
.col-lg-pull-2 {
right: 16.66666667%;
}
.col-lg-pull-1 {
right: 8.33333333%;
}
.col-lg-pull-0 {
right: auto;
}
.col-lg-push-12 {
left: 100%;
}
.col-lg-push-11 {
left: 91.66666667%;
}
.col-lg-push-10 {
left: 83.33333333%;
}
.col-lg-push-9 {
left: 75%;
}
.col-lg-push-8 {
left: 66.66666667%;
}
.col-lg-push-7 {
left: 58.33333333%;
}
.col-lg-push-6 {
left: 50%;
}
.col-lg-push-5 {
left: 41.66666667%;
}
.col-lg-push-4 {
left: 33.33333333%;
}
.col-lg-push-3 {
left: 25%;
}
.col-lg-push-2 {
left: 16.66666667%;
}
.col-lg-push-1 {
left: 8.33333333%;
}
.col-lg-push-0 {
left: auto;
}
.col-lg-offset-12 {
margin-left: 100%;
}
.col-lg-offset-11 {
margin-left: 91.66666667%;
}
.col-lg-offset-10 {
margin-left: 83.33333333%;
}
.col-lg-offset-9 {
margin-left: 75%;
}
.col-lg-offset-8 {
margin-left: 66.66666667%;
}
.col-lg-offset-7 {
margin-left: 58.33333333%;
}
.col-lg-offset-6 {
margin-left: 50%;
}
.col-lg-offset-5 {
margin-left: 41.66666667%;
}
.col-lg-offset-4 {
margin-left: 33.33333333%;
}
.col-lg-offset-3 {
margin-left: 25%;
}
.col-lg-offset-2 {
margin-left: 16.66666667%;
}
.col-lg-offset-1 {
margin-left: 8.33333333%;
}
.col-lg-offset-0 {
margin-left: 0;
}
}
table {
background-color: transparent;
}
caption {
padding-top: 8px;
padding-bottom: 8px;
color: #777;
text-align: left;
}
th {
text-align: left;
}
.table {
width: 100%;
max-width: 100%;
margin-bottom: 20px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
padding: 8px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.table > thead > tr > th {
vertical-align: bottom;
border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
border-top: 0;
}
.table > tbody + tbody {
border-top: 2px solid #ddd;
}
.table .table {
background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
padding: 5px;
}
.table-bordered {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
background-color: #f5f5f5;
}
table col[class*="col-"] {
position: static;
display: table-column;
float: none;
}
table td[class*="col-"],
table th[class*="col-"] {
position: static;
display: table-cell;
float: none;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
background-color: #ebcccc;
}
.table-responsive {
min-height: .01%;
overflow-x: auto;
}
@media screen and (max-width: 767px) {
.table-responsive {
width: 100%;
margin-bottom: 15px;
overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid #ddd;
}
.table-responsive > .table {
margin-bottom: 0;
}
.table-responsive > .table > thead > tr > th,
.table-responsive > .table > tbody > tr > th,
.table-responsive > .table > tfoot > tr > th,
.table-responsive > .table > thead > tr > td,
.table-responsive > .table > tbody > tr > td,
.table-responsive > .table > tfoot > tr > td {
white-space: nowrap;
}
.table-responsive > .table-bordered {
border: 0;
}
.table-responsive > .table-bordered > thead > tr > th:first-child,
.table-responsive > .table-bordered > tbody > tr > th:first-child,
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
.table-responsive > .table-bordered > thead > tr > td:first-child,
.table-responsive > .table-bordered > tbody > tr > td:first-child,
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.table-responsive > .table-bordered > thead > tr > th:last-child,
.table-responsive > .table-bordered > tbody > tr > th:last-child,
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
.table-responsive > .table-bordered > thead > tr > td:last-child,
.table-responsive > .table-bordered > tbody > tr > td:last-child,
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.table-responsive > .table-bordered > tbody > tr:last-child > th,
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
.table-responsive > .table-bordered > tbody > tr:last-child > td,
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
border-bottom: 0;
}
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: 20px;
font-size: 21px;
line-height: inherit;
color: #333;
border: 0;
border-bottom: 1px solid #e5e5e5;
}
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: bold;
}
input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9;
line-height: normal;
}
input[type="file"] {
display: block;
}
input[type="range"] {
display: block;
width: 100%;
}
select[multiple],
select[size] {
height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
output {
display: block;
padding-top: 7px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
}
.form-control {
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
}
.form-control::-moz-placeholder {
color: #999;
opacity: 1;
}
.form-control:-ms-input-placeholder {
color: #999;
}
.form-control::-webkit-input-placeholder {
color: #999;
}
.form-control::-ms-expand {
background-color: transparent;
border: 0;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: #eee;
opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
cursor: not-allowed;
}
textarea.form-control {
height: auto;
}
input[type="search"] {
-webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
line-height: 34px;
}
input[type="date"].input-sm,
input[type="time"].input-sm,
input[type="datetime-local"].input-sm,
input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px;
}
input[type="date"].input-lg,
input[type="time"].input-lg,
input[type="datetime-local"].input-lg,
input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 46px;
}
}
.form-group {
margin-bottom: 15px;
}
.radio,
.checkbox {
position: relative;
display: block;
margin-top: 10px;
margin-bottom: 10px;
}
.radio label,
.checkbox label {
min-height: 20px;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
position: absolute;
margin-top: 4px \9;
margin-left: -20px;
}
.radio + .radio,
.checkbox + .checkbox {
margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
position: relative;
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
vertical-align: middle;
cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
margin-top: 0;
margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
cursor: not-allowed;
}
.form-control-static {
min-height: 34px;
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 0;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
padding-right: 0;
padding-left: 0;
}
.input-sm {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
select.input-sm {
height: 30px;
line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
height: auto;
}
.form-group-sm .form-control {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.form-group-sm select.form-control {
height: 30px;
line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
height: auto;
}
.form-group-sm .form-control-static {
height: 30px;
min-height: 32px;
padding: 6px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg {
height: 46px;
padding: 10px 16px;
font-size: 18px;
line-height: 1.3333333;
border-radius: 6px;
}
select.input-lg {
height: 46px;
line-height: 46px;
}
textarea.input-lg,
select[multiple].input-lg {
height: auto;
}
.form-group-lg .form-control {
height: 46px;
padding: 10px 16px;
font-size: 18px;
line-height: 1.3333333;
border-radius: 6px;
}
.form-group-lg select.form-control {
height: 46px;
line-height: 46px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
height: auto;
}
.form-group-lg .form-control-static {
height: 46px;
min-height: 38px;
padding: 11px 16px;
font-size: 18px;
line-height: 1.3333333;
}
.has-feedback {
position: relative;
}
.has-feedback .form-control {
padding-right: 42.5px;
}
.form-control-feedback {
position: absolute;
top: 0;
right: 0;
z-index: 2;
display: block;
width: 34px;
height: 34px;
line-height: 34px;
text-align: center;
pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 46px;
height: 46px;
line-height: 46px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px;
height: 30px;
line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
color: #3c763d;
}
.has-success .form-control {
border-color: #3c763d;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.has-success .form-control:focus {
border-color: #2b542c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
color: #3c763d;
background-color: #dff0d8;
border-color: #3c763d;
}
.has-success .form-control-feedback {
color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
color: #8a6d3b;
}
.has-warning .form-control {
border-color: #8a6d3b;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.has-warning .form-control:focus {
border-color: #66512c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #8a6d3b;
}
.has-warning .form-control-feedback {
color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
color: #a94442;
}
.has-error .form-control {
border-color: #a94442;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.has-error .form-control:focus {
border-color: #843534;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
color: #a94442;
background-color: #f2dede;
border-color: #a94442;
}
.has-error .form-control-feedback {
color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
top: 25px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
top: 0;
}
.help-block {
display: block;
margin-top: 5px;
margin-bottom: 10px;
color: #737373;
}
@media (min-width: 768px) {
.form-inline .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
display: inline-table;
vertical-align: middle;
}
.form-inline .input-group .input-group-addon,
.form-inline .input-group .input-group-btn,
.form-inline .input-group .form-control {
width: auto;
}
.form-inline .input-group > .form-control {
width: 100%;
}
.form-inline .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio,
.form-inline .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio label,
.form-inline .checkbox label {
padding-left: 0;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
padding-top: 7px;
margin-top: 0;
margin-bottom: 0;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
min-height: 27px;
}
.form-horizontal .form-group {
margin-right: -15px;
margin-left: -15px;
}
@media (min-width: 768px) {
.form-horizontal .control-label {
padding-top: 7px;
margin-bottom: 0;
text-align: right;
}
}
.form-horizontal .has-feedback .form-control-feedback {
right: 15px;
}
@media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label {
padding-top: 11px;
font-size: 18px;
}
}
@media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label {
padding-top: 6px;
font-size: 12px;
}
}
.btn {
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: normal;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
color: #333;
text-decoration: none;
}
.btn:active,
.btn.active {
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
cursor: not-allowed;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
opacity: .65;
}
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btn-default:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
background-color: #fff;
border-color: #ccc;
}
.btn-default .badge {
color: #fff;
background-color: #333;
}
.btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
color: #fff;
background-color: #286090;
border-color: #122b40;
}
.btn-primary:hover {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
color: #fff;
background-color: #204d74;
border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary .badge {
color: #337ab7;
background-color: #fff;
}
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success .badge {
color: #5cb85c;
background-color: #fff;
}
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info .badge {
color: #5bc0de;
background-color: #fff;
}
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger .badge {
color: #d9534f;
background-color: #fff;
}
.btn-link {
font-weight: normal;
color: #337ab7;
border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
color: #23527c;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
color: #777;
text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
padding: 10px 16px;
font-size: 18px;
line-height: 1.3333333;
border-radius: 6px;
}
.btn-sm,
.btn-group-sm > .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.btn-xs,
.btn-group-xs > .btn {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.btn-block {
display: block;
width: 100%;
}
.btn-block + .btn-block {
margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
.fade {
opacity: 0;
-webkit-transition: opacity .15s linear;
-o-transition: opacity .15s linear;
transition: opacity .15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
display: none;
}
.collapse.in {
display: block;
}
tr.collapse.in {
display: table-row;
}
tbody.collapse.in {
display: table-row-group;
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition-timing-function: ease;
-o-transition-timing-function: ease;
transition-timing-function: ease;
-webkit-transition-duration: .35s;
-o-transition-duration: .35s;
transition-duration: .35s;
-webkit-transition-property: height, visibility;
-o-transition-property: height, visibility;
transition-property: height, visibility;
}
.caret {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-top: 4px dashed;
border-top: 4px solid \9;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle:focus {
outline: 0;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
font-size: 14px;
text-align: left;
list-style: none;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, .15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
height: 1px;
margin: 9px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.42857143;
color: #333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
color: #262626;
text-decoration: none;
background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #fff;
text-decoration: none;
background-color: #337ab7;
outline: 0;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none;
cursor: not-allowed;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.open > .dropdown-menu {
display: block;
}
.open > a {
outline: 0;
}
.dropdown-menu-right {
right: 0;
left: auto;
}
.dropdown-menu-left {
right: auto;
left: 0;
}
.dropdown-header {
display: block;
padding: 3px 20px;
font-size: 12px;
line-height: 1.42857143;
color: #777;
white-space: nowrap;
}
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
content: "";
border-top: 0;
border-bottom: 4px dashed;
border-bottom: 4px solid \9;
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 2px;
}
@media (min-width: 768px) {
.navbar-right .dropdown-menu {
right: 0;
left: auto;
}
.navbar-right .dropdown-menu-left {
right: auto;
left: 0;
}
}
.btn-group,
.btn-group-vertical {
position: relative;
display: inline-block;
vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
margin-left: -1px;
}
.btn-toolbar {
margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
.btn-group > .btn:first-child {
margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
padding-right: 8px;
padding-left: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-right: 12px;
padding-left: 12px;
}
.btn-group.open .dropdown-toggle {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-group.open .dropdown-toggle.btn-link {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn .caret {
margin-left: 0;
}
.btn-lg .caret {
border-width: 5px 5px 0;
border-bottom-width: 0;
}
.dropup .btn-lg .caret {
border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.btn-group-justified {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
display: table-cell;
float: none;
width: 1%;
}
.btn-group-justified > .btn-group .btn {
width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
.input-group {
position: relative;
display: table;
border-collapse: separate;
}
.input-group[class*="col-"] {
float: none;
padding-right: 0;
padding-left: 0;
}
.input-group .form-control {
position: relative;
z-index: 2;
float: left;
width: 100%;
margin-bottom: 0;
}
.input-group .form-control:focus {
z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
height: 46px;
padding: 10px 16px;
font-size: 18px;
line-height: 1.3333333;
border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
height: 46px;
line-height: 46px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
height: 30px;
line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
.input-group-addon,
.input-group-btn {
width: 1%;
white-space: nowrap;
vertical-align: middle;
}
.input-group-addon {
padding: 6px 12px;
font-size: 14px;
font-weight: normal;
line-height: 1;
color: #555;
text-align: center;
background-color: #eee;
border: 1px solid #ccc;
border-radius: 4px;
}
.input-group-addon.input-sm {
padding: 5px 10px;
font-size: 12px;
border-radius: 3px;
}
.input-group-addon.input-lg {
padding: 10px 16px;
font-size: 18px;
border-radius: 6px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group-addon:first-child {
border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group-addon:last-child {
border-left: 0;
}
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
.input-group-btn > .btn {
position: relative;
}
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
z-index: 2;
margin-left: -1px;
}
.nav {
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
.nav > li {
position: relative;
display: block;
}
.nav > li > a {
position: relative;
display: block;
padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none;
background-color: #eee;
}
.nav > li.disabled > a {
color: #777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
color: #777;
text-decoration: none;
cursor: not-allowed;
background-color: transparent;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eee;
border-color: #337ab7;
}
.nav .nav-divider {
height: 1px;
margin: 9px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.nav > li > a > img {
max-width: none;
}
.nav-tabs {
border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
float: left;
margin-bottom: -1px;
}
.nav-tabs > li > a {
margin-right: 2px;
line-height: 1.42857143;
border: 1px solid transparent;
border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover {
border-color: #eee #eee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555;
cursor: default;
background-color: #fff;
border: 1px solid #ddd;
border-bottom-color: transparent;
}
.nav-tabs.nav-justified {
width: 100%;
border-bottom: 0;
}
.nav-tabs.nav-justified > li {
float: none;
}
.nav-tabs.nav-justified > li > a {
margin-bottom: 5px;
text-align: center;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-tabs.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs.nav-justified > li > a {
margin-right: 0;
border-radius: 4px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 4px 4px 0 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.nav-pills > li {
float: left;
}
.nav-pills > li > a {
border-radius: 4px;
}
.nav-pills > li + li {
margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #fff;
background-color: #337ab7;
}
.nav-stacked > li {
float: none;
}
.nav-stacked > li + li {
margin-top: 2px;
margin-left: 0;
}
.nav-justified {
width: 100%;
}
.nav-justified > li {
float: none;
}
.nav-justified > li > a {
margin-bottom: 5px;
text-align: center;
}
.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs-justified {
border-bottom: 0;
}
.nav-tabs-justified > li > a {
margin-right: 0;
border-radius: 4px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 4px 4px 0 0;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.tab-content > .tab-pane {
display: none;
}
.tab-content > .active {
display: block;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-left-ra
gitextract_e6rs_me9/ ├── .gitignore ├── JobWanted/ │ ├── .bowerrc │ ├── CodesData.cs │ ├── Controllers/ │ │ ├── HomeController.cs │ │ └── JobsController.cs │ ├── JobWanted.csproj │ ├── JobWanted.csproj.user │ ├── JobsOutput.cs │ ├── LagouData.cs │ ├── Program.cs │ ├── Properties/ │ │ ├── PublishProfiles/ │ │ │ ├── FolderProfile.pubxml │ │ │ └── FolderProfile.pubxml.user │ │ └── launchSettings.json │ ├── RecruitEnum.cs │ ├── Startup.cs │ ├── Views/ │ │ ├── Home/ │ │ │ └── Index.cshtml │ │ ├── Shared/ │ │ │ ├── Error.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bower.json │ ├── bundleconfig.json │ ├── hosting.json │ └── wwwroot/ │ ├── ResumeFiles/ │ │ └── zhaopei.html │ ├── css/ │ │ ├── jobs.css │ │ └── site.css │ ├── js/ │ │ ├── jobs.js │ │ └── site.js │ └── lib/ │ ├── bootstrap/ │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── dist/ │ │ ├── css/ │ │ │ ├── bootstrap-theme.css │ │ │ └── bootstrap.css │ │ └── js/ │ │ ├── bootstrap.js │ │ └── npm.js │ ├── jquery/ │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── dist/ │ │ └── jquery.js │ ├── jquery-validation/ │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ └── dist/ │ │ ├── additional-methods.js │ │ └── jquery.validate.js │ └── jquery-validation-unobtrusive/ │ ├── .bower.json │ └── jquery.validate.unobtrusive.js ├── JobWanted.sln ├── LICENSE └── README.md
SYMBOL INDEX (147 symbols across 13 files)
FILE: JobWanted/CodesData.cs
class CodesData (line 11) | public class CodesData
method GetCityCode (line 21) | public static string GetCityCode(RecruitEnum type, string city)
FILE: JobWanted/Controllers/HomeController.cs
class HomeController (line 9) | public class HomeController : Controller
method Index (line 11) | public IActionResult Index()
FILE: JobWanted/Controllers/JobsController.cs
class JobsController (line 23) | [Route("api/[controller]/[action]")]
method GetJobsByZL (line 33) | public async Task<List<JobInfo>> GetJobsByZL(string city, string key, ...
method GetJobsByLP (line 72) | public async Task<List<JobInfo>> GetJobsByLP(string city, string key, ...
method GetJobsByQC (line 112) | public async Task<List<JobInfo>> GetJobsByQC(string city, string key, ...
method GetJobsByBS (line 152) | public async Task<List<JobInfo>> GetJobsByBS(string city, string key, ...
method GetJobsByLG (line 191) | public async Task<List<JobInfo>> GetJobsByLG(string city, string key, ...
method GetDetailsInfoByLP (line 239) | public async Task<DetailsInfo> GetDetailsInfoByLP(string url)
method GetDetailsInfoByZL (line 267) | public async Task<DetailsInfo> GetDetailsInfoByZL(string url)
method GetDetailsInfoByBS (line 295) | public async Task<DetailsInfo> GetDetailsInfoByBS(string url)
method GetDetailsInfoByQC (line 324) | public async Task<DetailsInfo> GetDetailsInfoByQC(string url)
method GetDetailsInfoByLG (line 354) | public async Task<DetailsInfo> GetDetailsInfoByLG(string url)
method GetCacheObject (line 384) | public EasyCache<List<JobInfo>> GetCacheObject(int? minutes = null)
FILE: JobWanted/JobsOutput.cs
class JobInfo (line 11) | public class JobInfo
class DetailsInfo (line 47) | public class DetailsInfo
FILE: JobWanted/LagouData.cs
class LagouData (line 8) | public class LagouData
class Content (line 18) | public class Content
class Hrinfomap (line 26) | public class Hrinfomap
class _3072507 (line 45) | public class _3072507
class _3415473 (line 57) | public class _3415473
class _2729529 (line 69) | public class _2729529
class _2734283 (line 81) | public class _2734283
class _1869098 (line 93) | public class _1869098
class _3418618 (line 105) | public class _3418618
class _3298426 (line 117) | public class _3298426
class _1871456 (line 129) | public class _1871456
class _3441270 (line 141) | public class _3441270
class _2497050 (line 153) | public class _2497050
class _3318460 (line 165) | public class _3318460
class _3495392 (line 177) | public class _3495392
class _2680870 (line 189) | public class _2680870
class _2159369 (line 201) | public class _2159369
class _3079854 (line 213) | public class _3079854
class Positionresult (line 225) | public class Positionresult
class Locationinfo (line 236) | public class Locationinfo
class Queryanalysisinfo (line 245) | public class Queryanalysisinfo
class Strategyproperty (line 253) | public class Strategyproperty
class Result (line 259) | public class Result
FILE: JobWanted/Program.cs
class Program (line 11) | public class Program
method Main (line 13) | public static void Main(string[] args)
FILE: JobWanted/RecruitEnum.cs
type RecruitEnum (line 8) | public enum RecruitEnum
FILE: JobWanted/Startup.cs
class Startup (line 14) | public class Startup
method Startup (line 16) | public Startup(IHostingEnvironment env)
method ConfigureServices (line 29) | public void ConfigureServices(IServiceCollection services)
method Configure (line 36) | public void Configure(IApplicationBuilder app, IHostingEnvironment env...
FILE: JobWanted/wwwroot/lib/bootstrap/dist/js/bootstrap.js
function transitionEnd (line 34) | function transitionEnd() {
function removeElement (line 126) | function removeElement() {
function Plugin (line 142) | function Plugin(option) {
function Plugin (line 251) | function Plugin(option) {
function Plugin (line 475) | function Plugin(option) {
function getTargetFromTrigger (line 695) | function getTargetFromTrigger($trigger) {
function Plugin (line 707) | function Plugin(option) {
function getParent (line 774) | function getParent($this) {
function clearMenus (line 787) | function clearMenus(e) {
function Plugin (line 880) | function Plugin(option) {
function Plugin (line 1208) | function Plugin(option, _relatedTarget) {
function complete (line 1574) | function complete() {
function Plugin (line 1750) | function Plugin(option) {
function Plugin (line 1859) | function Plugin(option) {
function ScrollSpy (line 1902) | function ScrollSpy(element, options) {
function Plugin (line 2022) | function Plugin(option) {
function next (line 2131) | function next() {
function Plugin (line 2177) | function Plugin(option) {
function Plugin (line 2334) | function Plugin(option) {
FILE: JobWanted/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
function setValidationValues (line 14) | function setValidationValues(options, ruleName, value) {
function splitAndTrim (line 21) | function splitAndTrim(value) {
function escapeAttributeValue (line 25) | function escapeAttributeValue(value) {
function getModelPrefix (line 30) | function getModelPrefix(fieldName) {
function appendModelPrefix (line 34) | function appendModelPrefix(value, prefix) {
function onError (line 41) | function onError(error, inputElement) { // 'this' is the form element
function onErrors (line 58) | function onErrors(event, validator) { // 'this' is the form element
function onSuccess (line 72) | function onSuccess(error) { // 'this' is the form element
function onReset (line 88) | function onReset(event) { // 'this' is the form element
function validationInfo (line 113) | function validationInfo(form) {
FILE: JobWanted/wwwroot/lib/jquery-validation/dist/additional-methods.js
function stripHtml (line 19) | function stripHtml(value) {
FILE: JobWanted/wwwroot/lib/jquery-validation/dist/jquery.validate.js
function handle (line 65) | function handle() {
function delegate (line 375) | function delegate( event ) {
FILE: JobWanted/wwwroot/lib/jquery/dist/jquery.js
function isArrayLike (line 524) | function isArrayLike( obj ) {
function Sizzle (line 733) | function Sizzle( selector, context, results, seed ) {
function createCache (line 873) | function createCache() {
function markFunction (line 891) | function markFunction( fn ) {
function assert (line 900) | function assert( fn ) {
function addHandle (line 922) | function addHandle( attrs, handler ) {
function siblingCheck (line 937) | function siblingCheck( a, b ) {
function createInputPseudo (line 964) | function createInputPseudo( type ) {
function createButtonPseudo (line 975) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 986) | function createPositionalPseudo( fn ) {
function testContext (line 1009) | function testContext( context ) {
function setFilters (line 2054) | function setFilters() {}
function toSelector (line 2125) | function toSelector( tokens ) {
function addCombinator (line 2135) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2193) | function elementMatcher( matchers ) {
function multipleContexts (line 2207) | function multipleContexts( selector, contexts, results ) {
function condense (line 2216) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2237) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2330) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2388) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function winnow (line 2726) | function winnow( elements, qualifier, not ) {
function sibling (line 3033) | function sibling( cur, dir ) {
function createOptions (line 3109) | function createOptions( options ) {
function completed (line 3544) | function completed() {
function Data (line 3655) | function Data() {
function dataAttr (line 3865) | function dataAttr( elem, key, data ) {
function adjustCSS (line 4182) | function adjustCSS( elem, prop, valueParts, tween ) {
function getAll (line 4271) | function getAll( context, tag ) {
function setGlobalEval (line 4288) | function setGlobalEval( elems, refElements ) {
function buildFragment (line 4304) | function buildFragment( elems, context, scripts, selection, ignored ) {
function returnTrue (line 4425) | function returnTrue() {
function returnFalse (line 4429) | function returnFalse() {
function safeActiveElement (line 4435) | function safeActiveElement() {
function on (line 4441) | function on( elem, types, selector, data, fn, one ) {
function manipulationTarget (line 5131) | function manipulationTarget( elem, content ) {
function disableScript (line 5142) | function disableScript( elem ) {
function restoreScript (line 5146) | function restoreScript( elem ) {
function cloneCopyEvent (line 5158) | function cloneCopyEvent( src, dest ) {
function fixInput (line 5193) | function fixInput( src, dest ) {
function domManip (line 5206) | function domManip( collection, args, callback, ignored ) {
function remove (line 5296) | function remove( elem, selector, keepData ) {
function actualDisplay (line 5587) | function actualDisplay( name, doc ) {
function defaultDisplay (line 5603) | function defaultDisplay( nodeName ) {
function computeStyleTests (line 5699) | function computeStyleTests() {
function curCSS (line 5789) | function curCSS( elem, name, computed ) {
function addGetHookIf (line 5836) | function addGetHookIf( conditionFn, hookFn ) {
function vendorPropName (line 5873) | function vendorPropName( name ) {
function setPositiveNumber (line 5892) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 5904) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 5948) | function getWidthOrHeight( elem, name, extra ) {
function showHide (line 6006) | function showHide( elements, show ) {
function Tween (line 6345) | function Tween( elem, options, prop, end, easing ) {
function createFxNow (line 6469) | function createFxNow() {
function genFx (line 6477) | function genFx( type, includeWidth ) {
function createTween (line 6497) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 6511) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 6647) | function propFilter( props, specialEasing ) {
function Animation (line 6684) | function Animation( elem, properties, options ) {
function getClass (line 7357) | function getClass( elem ) {
function addToPrefiltersOrTransports (line 8022) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 8056) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 8085) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 8105) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8163) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 8668) | function done( status, nativeStatusText, responses, headers ) {
function buildParams (line 8921) | function buildParams( prefix, obj, traditional, add ) {
function getWindow (line 9504) | function getWindow( elem ) {
Condensed preview — 49 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (761K chars).
[
{
"path": ".gitignore",
"chars": 35,
"preview": "/.vs\n/JobWanted/obj\n/JobWanted/bin\n"
},
{
"path": "JobWanted/.bowerrc",
"chars": 33,
"preview": "{\n \"directory\": \"wwwroot/lib\"\n}\n"
},
{
"path": "JobWanted/CodesData.cs",
"chars": 4795,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\n\nnamespace JobWanted\n{"
},
{
"path": "JobWanted/Controllers/HomeController.cs",
"chars": 309,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Microsoft.AspNet"
},
{
"path": "JobWanted/Controllers/JobsController.cs",
"chars": 19811,
"preview": "using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusin"
},
{
"path": "JobWanted/JobWanted.csproj",
"chars": 1161,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk.Web\">\n\n <PropertyGroup>\n <TargetFramework>netcoreapp2.0</TargetFramework>\n </Prope"
},
{
"path": "JobWanted/JobWanted.csproj.user",
"chars": 295,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "JobWanted/JobsOutput.cs",
"chars": 1651,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\n\nnamespace JobWanted\n{"
},
{
"path": "JobWanted/LagouData.cs",
"chars": 10348,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\n\nnamespace JobWanted\n{"
},
{
"path": "JobWanted/Program.cs",
"chars": 880,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing"
},
{
"path": "JobWanted/Properties/PublishProfiles/FolderProfile.pubxml",
"chars": 889,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件\n自定义此过程的行为。为了解与此相关的更多内容,请访问 https:/"
},
{
"path": "JobWanted/Properties/PublishProfiles/FolderProfile.pubxml.user",
"chars": 475,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件\n自定义此过程的行为。为了解与此相关的更多内容,请访问 https:/"
},
{
"path": "JobWanted/Properties/launchSettings.json",
"chars": 622,
"preview": "{\n \"iisSettings\": {\n \"windowsAuthentication\": false,\n \"anonymousAuthentication\": true,\n \"iisExpress\": {\n "
},
{
"path": "JobWanted/RecruitEnum.cs",
"chars": 250,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\n\nnamespace JobWanted\n{"
},
{
"path": "JobWanted/Startup.cs",
"chars": 2064,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Microsoft.AspNet"
},
{
"path": "JobWanted/Views/Home/Index.cshtml",
"chars": 5968,
"preview": "@{\n ViewData[\"Title\"] = \"找工作\";\n}\n\n<link href=\"~/css/jobs.css\" rel=\"stylesheet\" />\n<div>\n\n <div class=\"hiLabel\">\n "
},
{
"path": "JobWanted/Views/Shared/Error.cshtml",
"chars": 708,
"preview": "@{\n ViewData[\"Title\"] = \"Error\";\n}\n\n<h1 class=\"text-danger\">Error.</h1>\n<h2 class=\"text-danger\">An error occurred wh"
},
{
"path": "JobWanted/Views/Shared/_Layout.cshtml",
"chars": 601,
"preview": "@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet\n<!DOCTYPE html>\n<html>\n<head>\n "
},
{
"path": "JobWanted/Views/Shared/_ValidationScriptsPartial.cshtml",
"chars": 1158,
"preview": "<environment names=\"Development\">\n <script src=\"~/lib/jquery-validation/dist/jquery.validate.js\"></script>\n <scri"
},
{
"path": "JobWanted/Views/_ViewImports.cshtml",
"chars": 71,
"preview": "@using JobWanted\n@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers\n"
},
{
"path": "JobWanted/Views/_ViewStart.cshtml",
"chars": 30,
"preview": "@{\n Layout = \"_Layout\";\n}\n"
},
{
"path": "JobWanted/appsettings.Development.json",
"chars": 166,
"preview": "{\n \"Logging\": {\n \"IncludeScopes\": false,\n \"LogLevel\": {\n \"Default\": \"Debug\",\n \"System\": \"Information\","
},
{
"path": "JobWanted/appsettings.json",
"chars": 103,
"preview": "{\n \"Logging\": {\n \"IncludeScopes\": false,\n \"LogLevel\": {\n \"Default\": \"Warning\"\n }\n }\n}\n"
},
{
"path": "JobWanted/bower.json",
"chars": 197,
"preview": "{\n \"name\": \"asp.net\",\n \"private\": true,\n \"dependencies\": {\n \"bootstrap\": \"3.3.7\",\n \"jquery\": \"2.2.0\",\n \"jque"
},
{
"path": "JobWanted/bundleconfig.json",
"chars": 602,
"preview": "// Configure bundling and minification for the project.\n// More info at https://go.microsoft.com/fwlink/?LinkId=808241\n"
},
{
"path": "JobWanted/hosting.json",
"chars": 37,
"preview": "{\n \"server.urls\": \"http://*:5002\"\n}"
},
{
"path": "JobWanted/wwwroot/ResumeFiles/zhaopei.html",
"chars": 11559,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n "
},
{
"path": "JobWanted/wwwroot/css/jobs.css",
"chars": 6017,
"preview": ".clearfix {\n overflow: auto;\n _height: 1%;\n}\n\n* {\n /*padding: 0px;*/ /*这里会影响百度编辑器的 序列*/\n margin: 0px;\n b"
},
{
"path": "JobWanted/wwwroot/css/site.css",
"chars": 716,
"preview": "body {\n padding-top: 50px;\n padding-bottom: 20px;\n}\n\n/* Wrapping element */\n/* Set some basic padding to keep con"
},
{
"path": "JobWanted/wwwroot/js/jobs.js",
"chars": 13244,
"preview": "var job = function () {\n //页面数据\n var _pageData = {\n pageIndex: 1,\n city: \"上海\",\n key: \".net\","
},
{
"path": "JobWanted/wwwroot/js/site.js",
"chars": 32,
"preview": "// Write your Javascript code.\n"
},
{
"path": "JobWanted/wwwroot/lib/bootstrap/.bower.json",
"chars": 940,
"preview": "{\n \"name\": \"bootstrap\",\n \"description\": \"The most popular front-end framework for developing responsive, mobile first "
},
{
"path": "JobWanted/wwwroot/lib/bootstrap/LICENSE",
"chars": 1085,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2011-2016 Twitter, Inc.\n\nPermission is hereby granted, free of charge, to any perso"
},
{
"path": "JobWanted/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css",
"chars": 26132,
"preview": "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://gi"
},
{
"path": "JobWanted/wwwroot/lib/bootstrap/dist/css/bootstrap.css",
"chars": 146010,
"preview": "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://gi"
},
{
"path": "JobWanted/wwwroot/lib/bootstrap/dist/js/bootstrap.js",
"chars": 69707,
"preview": "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under the MIT license"
},
{
"path": "JobWanted/wwwroot/lib/bootstrap/dist/js/npm.js",
"chars": 484,
"preview": "// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\nrequ"
},
{
"path": "JobWanted/wwwroot/lib/jquery/.bower.json",
"chars": 523,
"preview": "{\n \"name\": \"jquery\",\n \"main\": \"dist/jquery.js\",\n \"license\": \"MIT\",\n \"ignore\": [\n \"package.json\"\n ],\n \"keywords\""
},
{
"path": "JobWanted/wwwroot/lib/jquery/LICENSE.txt",
"chars": 1606,
"preview": "Copyright jQuery Foundation and other contributors, https://jquery.org/\n\nThis software consists of voluntary contributio"
},
{
"path": "JobWanted/wwwroot/lib/jquery/dist/jquery.js",
"chars": 258388,
"preview": "/*!\n * jQuery JavaScript Library v2.2.0\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Cop"
},
{
"path": "JobWanted/wwwroot/lib/jquery-validation/.bower.json",
"chars": 885,
"preview": "{\n \"name\": \"jquery-validation\",\n \"homepage\": \"http://jqueryvalidation.org/\",\n \"repository\": {\n \"type\": \"git\",\n "
},
{
"path": "JobWanted/wwwroot/lib/jquery-validation/LICENSE.md",
"chars": 1094,
"preview": "The MIT License (MIT)\n=====================\n\nCopyright Jörn Zaefferer\n\nPermission is hereby granted, free of charge, to "
},
{
"path": "JobWanted/wwwroot/lib/jquery-validation/dist/additional-methods.js",
"chars": 36839,
"preview": "/*!\n * jQuery Validation Plugin v1.14.0\n *\n * http://jqueryvalidation.org/\n *\n * Copyright (c) 2015 Jörn Zaefferer\n * Re"
},
{
"path": "JobWanted/wwwroot/lib/jquery-validation/dist/jquery.validate.js",
"chars": 42629,
"preview": "/*!\n * jQuery Validation Plugin v1.14.0\n *\n * http://jqueryvalidation.org/\n *\n * Copyright (c) 2015 Jörn Zaefferer\n * Re"
},
{
"path": "JobWanted/wwwroot/lib/jquery-validation-unobtrusive/.bower.json",
"chars": 1100,
"preview": "{\n \"name\": \"jquery-validation-unobtrusive\",\n \"version\": \"3.2.6\",\n \"homepage\": \"https://github.com/aspnet/jquery-valid"
},
{
"path": "JobWanted/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js",
"chars": 18618,
"preview": "/*!\n** Unobtrusive validation support library for jQuery and jQuery Validate\n** Copyright (C) Microsoft Corporation. All"
},
{
"path": "JobWanted.sln",
"chars": 970,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 15\nVisualStudioVersion = 15.0.26228.9\nMini"
},
{
"path": "LICENSE",
"chars": 1061,
"preview": "MIT License\n\nCopyright (c) 2019 农码一生\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof th"
},
{
"path": "README.md",
"chars": 16,
"preview": "# JobWanted\n找工作\n"
}
]
About this extraction
This page contains the full source code of the zhaopeiym/JobWanted GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 49 files (676.7 KB), approximately 196.6k tokens, and a symbol index with 147 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.