diff --git a/.Rhistory b/.Rhistory new file mode 100644 index 0000000000000..90bee43371fce --- /dev/null +++ b/.Rhistory @@ -0,0 +1,512 @@ +str_replace_all(str_sub(read_file("research/_posts/2015-06-05-registry.md"), desc_start), "\n", "") +} +get_yaml() +yml <- get_yaml("research/_posts/2015-06-05-registry.md") +desc <- get_description("research/_posts/2015-06-05-registry.md") +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +dt +file_paths <- list.files("research/_posts/", pattern = "*.md", full.names = TRUE) +file_paths +if (exists("dt_all")) rm(dt_all) +if (exists("dt_all")) rm("dt_all") +if (exists("res_dt")) rm("res_dt") +for (f in file_paths) { +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +if (exists("dt_all")) dt_all <- rbindlist(list(dt_all, dt)) +else dt_all <- dt +} +View(dt_all) +file_paths +View(dt_all) +yml <- get_yaml(f) +desc <- get_description(f) +yml +f +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +read_yaml(file_path) +} +get_description <- function(file_path = "research/_posts/2015-06-05-registry.md") { +dashes_loc <- str_locate_all(read_file(file_path), "---") +desc_start <- dashes_loc[[1]][length(dashes_loc[[1]])] + 1 +str_replace_all(str_sub(read_file("research/_posts/2015-06-05-registry.md"), desc_start), "\n", "") +} +file_paths <- list.files("research/_posts/", pattern = "*.md", full.names = TRUE) +if (exists("dt_all")) rm("dt_all") +for (f in file_paths) { +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +if (exists("dt_all")) dt_all <- rbindlist(list(dt_all, dt)) +else dt_all <- dt +} +yml <- get_yaml(f) +read_yaml(f) +f <- file_paths[2] +f +f <- file_paths[3] +f +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +dt +f +yml <- get_yaml(f) +desc <- get_description(f) +desc +get_description <- function(file_path = "research/_posts/2015-06-05-registry.md") { +dashes_loc <- str_locate_all(read_file(file_path), "---") +desc_start <- dashes_loc[[1]][length(dashes_loc[[1]])] + 1 +str_replace_all(str_sub(read_file(file_path), desc_start), "\n", "") +} +yml <- get_yaml(f) +desc <- get_description(f) +desc +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +dt +f <- file_paths[1] +f +yml <- get_yaml(f) +desc <- get_description(f) +desc +clean_html <- function(htmlString) { +return(gsub("<.*?>", "", htmlString)) +} +yml <- get_yaml(clean_html(f)) +clean_html(f) +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +f <- read_file(file_path) +f_clean <- clean_html(f) +read_yaml(f_clean) +} +yml <- get_yaml(f) +f +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +f <- read_file(file_path) +f_clean <- clean_html(f) +read_yaml(f_clean) +} +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +browser() +f <- read_file(file_path) +f_clean <- clean_html(f) +read_yaml(f_clean) +} +yml <- get_yaml(f) +f_clean +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +#browser() +f <- read_file(file_path) +f_clean <- clean_html(f) +read_yaml(f_clean) +} +yml <- get_yaml(f) +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +#browser() +f <- read_file(file_path) +f_clean <- clean_html(f) +read_yaml(text = f_clean) +} +yml <- get_yaml(f) +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +#browser() +dashes_loc <- str_locate_all(read_file(file_path), "---") +yml_end <- dashes_loc[[1]][length(dashes_loc[[1]])] +yml <- str_sub(read_file(file_path), 1, yml_end) +read_yaml(text = yml) +} +f +yml <- get_yaml(f) +yml +View(yml) +clean_html <- function(htmlString) { +return(gsub("<.*?>", "", htmlString)) +} +get_yaml <- function(file_path = "research/_posts/2015-06-05-registry.md") { +dashes_loc <- str_locate_all(read_file(file_path), "---") +yml_end <- dashes_loc[[1]][length(dashes_loc[[1]])] +yml <- str_sub(read_file(file_path), 1, yml_end) +read_yaml(text = yml) +} +clean_html <- function(htmlString) { +return(gsub("<.*?>", "", htmlString)) +} +get_description <- function(file_path = "research/_posts/2015-06-05-registry.md") { +dashes_loc <- str_locate_all(read_file(file_path), "---") +desc_start <- dashes_loc[[1]][length(dashes_loc[[1]])] + 1 +clean_html(str_replace_all(str_sub(read_file(file_path), desc_start), "\n", "")) +} +file_paths <- list.files("research/_posts/", pattern = "*.md", full.names = TRUE) +if (exists("dt_all")) rm("dt_all") +for (f in file_paths) { +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +if (exists("dt_all")) dt_all <- rbindlist(list(dt_all, dt)) +else dt_all <- dt +} +View(dt_all) +if (exists("dt_all")) rm("dt_all") +for (f in file_paths) { +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +if (exists("dt_all")) dt_all <- rbindlist(list(dt_all, dt), use.names = TRUE, fill = TRUE) +else dt_all <- dt +} +View(dt_all) +library(writexl) +library(xlsx) +install.packages("xlsx") +library(xlsx) +write.xlsx(dt_all, "research_data.xlsx") +get_yaml <- function(file_path = "writing/_posts/1996-04-01-politicize.md") { +dashes_loc <- str_locate_all(read_file(file_path), "---") +yml_end <- dashes_loc[[1]][length(dashes_loc[[1]])] +yml <- str_sub(read_file(file_path), 1, yml_end) +read_yaml(text = yml) +} +clean_html <- function(htmlString) { +return(gsub("<.*?>", "", htmlString)) +} +get_description <- function(file_path = "writing/_posts/1996-04-01-politicize.md") { +dashes_loc <- str_locate_all(read_file(file_path), "---") +desc_start <- dashes_loc[[1]][length(dashes_loc[[1]])] + 1 +clean_html(str_replace_all(str_sub(read_file(file_path), desc_start), "\n", "")) +} +file_paths <- list.files("writing/_posts/", pattern = "*.md", full.names = TRUE) +file_paths +file_paths <- list.files("writing/_posts/", pattern = "*.md$", full.names = TRUE) +file_paths +if (exists("dt_all")) rm("dt_all") +for (f in file_paths) { +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +if (exists("dt_all")) dt_all <- rbindlist(list(dt_all, dt), use.names = TRUE, fill = TRUE) +else dt_all <- dt +} +f +file_paths[1] +f=file_paths[1] +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +dt +f=file_paths[2] +yml <- get_yaml(f) +desc <- get_description(f) +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +website = yml$website, +report1 = yml$report, +report2 = yml$report2, +report3 = yml$report3, +report4 = yml$report4, +report5 = yml$report5, +report6 = yml$report6, +media1link = yml$media1, +media1title = yml$media1title, +media2link = yml$media2, +media2title = yml$media2title, +media3link = yml$media3, +media3title = yml$media3title, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +dt +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +record_date = yml$date, +sponsor = yml$sponsor, +award = yml$award, +award_years = yml$dates, +role = yml$role, +authors = yml$authors, +pages = yml$pages, +editors = yml$editors, +website = yml$website, +doi = yml$DOI, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +dt +dt <- data.table( +category = yml$category, +subcategory = yml$subcategory, +title = yml$title, +pub_year = yml$date, +publisher = yml$sponsor, +award = yml$award, +role = yml$role, +authors = yml$authors, +pages = yml$pages, +editors = yml$editors, +website = yml$website, +doi = yml$DOI, +subcategory_ordinal = yml$ordinal, +description_long = desc, +description_short = "" +) +dt +library(sf) +sf <- st_read("../Nursing_Homes.geojson") +unique(sf$TYPE) +sf2 <- st_read("../nursing_homes_including_rehab_services_current_data/Skilled_Nursing_Facility_Quality_Reporting_Program_Provider_Data_Feb2022.csv") +sf2 +library(data.table) +setDT(sf) +sf[ADDRESS %like% "701 MONROE ST",] +unique(sf2$Address.Line.1) +install.packages("tidycensus") +libr +library(tidycensus) +acs2020 <- get_acs(geography = "block group", year = 2020, variables = "B02001_002") +acs2020 <- get_acs(geography = "block group", state = "VA", county = "51013", year = 2020, variables = "B02001_002") +acs2020 <- get_acs(geography = "block group", state = "VA", county = "51013", year = 2019, variables = "B02001_002") +acs2020 <- get_acs(geography = "block group", state = "VA", county = "51013", year = "2019", variables = "B02001_002") +acs2020 <- get_acs(geography = "tract", state = "VA", county = "51013", year = 2019, variables = "B02001_002") +tarr <- get_acs(geography = "tract", variables = "B19013_001", +state = "TX", county = "Tarrant", geometry = TRUE) +tarr <- get_acs(geography = "tract", variables = "B19013_001", +state = "TX", county = "Tarrant", geometry = TRUE, year = 2020) +acs2020 <- get_acs(geography = "tract", state = "VA", county = "013", year = 2019, variables = "B02001_002") +acs2020 <- get_acs(geography = "tract", state = "VA", county = "013", year = 2020, variables = "B02001_002") +View(acs2020) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000000000..24583e822dc1f --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,43 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: [master] + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + cache-dependency-path: site/package-lock.json + - run: npm ci + working-directory: site + - run: npm run build + working-directory: site + - uses: actions/upload-pages-artifact@v3 + with: + path: site/out + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 6060515495e7f..fa32e52e6feea 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ _site Gemfile Gemfile.lock node_modules -package.json \ No newline at end of file +package.json +.Rproj.user diff --git a/05_reports.html b/05_reports.html new file mode 100644 index 0000000000000..e2c23738e5db5 --- /dev/null +++ b/05_reports.html @@ -0,0 +1,348 @@ + + + + + + + + + + + + + +Client Report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+

Load Demographic Data & Prerequisites

+
+

Load Libraries and Functions

+
library(dataplumbr)
+library(data.table)
+
+
+
+

+
+

Read Combined & Deduplicated Demographics File

+
wvs_anz_eto <- fread("../../data/dhs_link_char/working/wvs_anz_eto_deduplicated.csv")
+
+
+
+

+
+

Client Breakdown - Unique Counts

+
unique_customers <- wvs_anz_eto[, .(unique_customers = .N)]
+unique_anz <- wvs_anz_eto[ids %like% "anz" & (!ids %like% "eto") & (!ids %like% "wvs"), .(anz_only = .N)]
+unique_eto <- wvs_anz_eto[ids %like% "eto" & (!ids %like% "anz") & (!ids %like% "wvs"), .(eto_only = .N)]
+unique_wvs <- wvs_anz_eto[ids %like% "wvs" & (!ids %like% "anz") & (!ids %like% "eto"), .(wvs_only = .N)]
+unique_eto_anz <- wvs_anz_eto[ids %like% "eto" & ids %like% "anz" & (!ids %like% "wvs"), .(eto_and_anz_only = .N)]
+unique_eto_wvs <- wvs_anz_eto[ids %like% "eto" & ids %like% "wvs" & (!ids %like% "anz"), .(eto_and_wvs_only = .N)]
+unique_wvs_anz <- wvs_anz_eto[ids %like% "wvs" & ids %like% "anz" & (!ids %like% "eto"), .(wvs_and_anz_only = .N)]
+unique_wvs_anz_eto <- wvs_anz_eto[ids %like% "wvs" & ids %like% "anz" & ids %like% "eto", .(wvs_and_anz_and_eto = .N)]
+
+

Unique Clients: 108735

+
+
+

Unique Anasazi: 47691

+
+
+

Unique ETO: 14265

+
+
+

Unique Web Vision: 34041

+
+
+

Unique ETO & Anasazi: 3659

+
+
+

Unique ETO & Web Vision: 5246

+
+
+

Unique Web Vision & Anasazi: 2115

+
+
+

Unique Web Vision & Anasazi & ETO 1718

+
+
+
+
+

+
+

Client Breakdown - Location by Services Received

+
+ +
+
+
+

+
+

Client Breakdown - Gender & Ethnicity

+
+

Get Gender Info

+
anz_gender <- wvs_anz_eto[ids %like% "anz", .(datasource = "anz", .N), .(gender)][order(-N)]
+wvs_gender <- wvs_anz_eto[ids %like% "wvs", .(datasource = "wvs", .N), .(gender)][order(-N)]
+eto_gender <- wvs_anz_eto[ids %like% "eto", .(datasource = "eto", .N), .(gender)][order(-N)]
+client_gender <- rbindlist(list(anz_gender, wvs_gender, eto_gender))
+client_gender_grps <- client_gender[, .(dg = paste(datasource, gender), N), .(datasource, gender)]
+
+
+

Get Ethnicity Info

+
anz_ethnic_id <- wvs_anz_eto[ids %like% "anz", .(datasource = "anz", .N), .(ethnic_id)][order(-N)]
+wvs_ethnic_id <- wvs_anz_eto[ids %like% "wvs", .(datasource = "wvs", .N), .(ethnic_id)][order(-N)]
+eto_ethnic_id <- wvs_anz_eto[ids %like% "eto", .(datasource = "eto", .N), .(ethnic_id)][order(-N)]
+client_ethnic_id <- rbindlist(list(anz_ethnic_id, wvs_ethnic_id, eto_ethnic_id))
+client_ethnic_id[ethnic_id=="" | is.null(ethnic_id) | is.na(ethnic_id), ethnic_id := "no value"]
+client_ethnic_id_grps <- client_ethnic_id[, .(de = paste(datasource, ethnic_id), N), .(datasource, ethnic_id)]
+
+
+
+
+

+
+

Client Breakdown - Gender & Ethnicity Anasazi

+
library(plotly)
+e <- plot_ly(data= anz_ethnic_id,
+             labels = ~ethnic_id, 
+             values = ~N, 
+             type = 'pie', 
+             textposition = 'inside', 
+             textinfo = 'label+percent')
+e <- layout(e, title = 'Ethnic Id Breakdown for Anasazi',
+            xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
+            yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
+
+g <- plot_ly(data=anz_gender,
+             labels = ~gender, 
+             values = ~N, 
+             type = 'pie', 
+             textposition = 'inside', 
+             textinfo = 'label+percent')
+g <- layout(g, title = 'Gender Breakdown for Anasazi',
+            xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
+            yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
+

+
+

+
+
+
+

+
+

Client Breakdown - Gender & Ethnicity Web Vision

+
library(plotly)
+e <- plot_ly(data= wvs_ethnic_id,
+        labels = ~ethnic_id, 
+        values = ~N, 
+        type = 'pie', 
+        textposition = 'inside', 
+        textinfo = 'label+percent')
+e <- layout(e, title = 'Ethnic Id Breakdown for Web Vision',
+         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
+         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
+
+g <- plot_ly(data=wvs_gender, 
+        labels = ~gender, 
+        values = ~N, 
+        type = 'pie', 
+        textposition = 'inside', 
+        textinfo = 'label+percent')
+g <- layout(g, title = 'Gender Breakdown for Web Vision',
+         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
+         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
+

+
+

+
+
+
+

+
+

Client Breakdown - Gender & Ethnicity ETO

+
e <- plot_ly(data= eto_ethnic_id,
+        labels = ~ethnic_id, 
+        values = ~N, 
+        type = 'pie', 
+        textposition = 'inside', 
+        textinfo = 'label+percent')
+e <- layout(e, title = 'Ethnic Id Breakdown for ETO',
+         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
+         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
+
+g <- plot_ly(data=eto_gender, 
+        labels = ~gender, 
+        values = ~N, 
+        type = 'pie', 
+        textposition = 'inside', 
+        textinfo = 'label+percent')
+g <- layout(g, title = 'Gender Breakdown for ETO',
+         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
+         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
+

+
+

+
+
+ + + + +
+ + + + + + + + diff --git a/404.md b/404.md deleted file mode 100644 index 1cea9647e8e25..0000000000000 --- a/404.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: page -title: 404 - Page not found ---- - -Sorry, we can't find that page that you're looking for. You can try take for a look by going [back to the homepage]({{ site.baseurl }}/). - -[Constructocat by https://github.com/jasoncostello]({{ site.baseurl }}/) \ No newline at end of file diff --git a/CNAME b/CNAME deleted file mode 100644 index 8b137891791fe..0000000000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ - diff --git a/LICENSE b/LICENSE index 282d03683ca98..f8a5e157bb141 100644 --- a/LICENSE +++ b/LICENSE @@ -1,20 +1,96 @@ -The MIT License (MIT) - -Copyright (c) 2014 Barry Clark - -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. \ No newline at end of file +Creative Commons Attribution 4.0 International Public License +https://creativecommons.org/licenses/by/4.0/legalcode + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + + Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + Licensor means the individual(s) or entity(ies) granting rights under this Public License. + Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + License grant. + Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + reproduce and Share the Licensed Material, in whole or in part; and + produce, reproduce, and Share Adapted Material. + Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + Term. The term of this Public License is specified in Section 6(a). + Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + Downstream recipients. + Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + + Other rights. + Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + Patent and trademark rights are not licensed under this Public License. + To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + Attribution. + + If You Share the Licensed Material (including in modified form), You must: + retain the following if it is supplied by the Licensor with the Licensed Material: + identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + a copyright notice; + a notice that refers to this Public License; + a notice that refers to the disclaimer of warranties; + a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + + Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + + The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + + This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + + Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + upon express reinstatement by the Licensor. + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + + The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation. + + For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. diff --git a/README.md b/README.md index 5cfce17ce9085..672e44b35a958 100644 --- a/README.md +++ b/README.md @@ -1,111 +1,85 @@ -# Jekyll Now +Jekyll Clean +============ -**Jekyll** is a static site generator that's perfect for GitHub hosted blogs ([Jekyll Repository](https://github.com/jekyll/jekyll)) +* Get it from [github](https://github.com/scotte/jekyll-clean). +* See the [live demo](https://scotte.github.io/jekyll-clean). +* See it [in action on my own blog](https://scotte.github.io). -**Jekyll Now** makes it easier to create your Jekyll blog, by eliminating a lot of the up front setup. +A simple and clean Jekyll theme using [bootstrap](http://getbootstrap.com) +(not to be confused with jekyll-bootstrap) that's easy to modify and very +modular in component and element reuse. -- You don't need to touch the command line -- You don't need to install/configure ruby, rvm/rbenv, ruby gems :relaxed: -- You don't need to install runtime dependancies like markdown processors, Pygments, etc -- If you're on Windows, this will make setting up Jekyll a lot easier -- It's easy to try out, you can just delete your forked repository if you don't like it +It uses Disqus for comments and includes Google Analytics support. Both of +these features are disabled by default and can be enabled via \_config.yml. You +can also rip this code out of the templates if you like (footer.html and post.html). +The beauty of Jekyll - keep things clean... Jekyll Clean! -In a few minutes you'll be set up with a minimal, responsive blog like the one below giving you more time to spend on writing epic blog posts! +The theme works well on mobile phones, using a collapsable nav bar and hiding the +sidebar. The links pane in the sidebar is available on mobile through the nav menu, +and you can do the same thing for any other sections added to the sidebar. -![Jekyll Now Theme Screenshot](/images/jekyll-now-theme-screenshot.jpg "Jekyll Now Theme Screenshot") +Don't forget to occassionally merge against my upstream repository so you can get +the latest changes. Pull requests are encouraged and accepted! -## Quick Start +Installation +============ -### Step 1) Fork Jekyll Now to your User Repository +If you don't have a blog already on github, start by cloning this repository. +Best to do that directly on github and then clone that down to your computer. -Fork this repo, then rename the repository to yourgithubusername.github.io. +If you already do have a blog, You can certainly apply this theme to your existing +blog in place, but then you won't be able to merge as the theme changes. If you +re-apply your blog history on top of this theme's **gh-pages** branch, it's then +easy to update to the latest version of the theme. You also don't want to have to +deal with resolving old conflicts from your existing history, so you may wish to to +push your existing master off to a new branch so you have the old history and start +a new branch with this as the start, merging in your \_posts and other assets (after +git rm'ing the current \_posts. -Your Jekyll blog will often be viewable immediately at (if it's not, you can often force it to build by completing step 2) +Not ideal, but you have to make a choice - either apply it manually or base your +blog off this theme's branch. Either way it will work, and both have their own +pros and cons. -![Step 1](/images/step1.gif "Step 1") +You can setup an upstream tracking repository like so: -### Step 2) Customize and view your site +``` +$ git remote add upstream git@github.com:scotte/jekyll-clean.git +``` -Enter your site name, description, avatar and many other options by editing the _config.yml file. You can easily turn on Google Analytics tracking, Disqus commenting and social icons here too. +And now when you wish to merge your own branch onto the latest version of the +theme, simply do: -Making a change to _config.yml (or any file in your repository) will force GitHub Pages to rebuild your site with jekyll. Your rebuilt site will be viewable a few seconds later at - if not, give it ten minutes as GitHub suggests and it'll appear soon +``` +$ git fetch upstream +$ git merge upstream/gh-pages +``` -> There are 3 different ways that you can make changes to your blog's files: +Of course you will have to resolve conflicts for \_config.yml, \_includes/links-list.html, +and \_posts, and so on, but in practice this is pretty simple. -> 1. Edit files within your new username.github.io repository in the browser at GitHub.com (shown below). -> 2. Use a third party GitHub content editor, like [Prose by Development Seed](http://prose.io). It's optimized for use with Jekyll making markdown editing, writing drafts, and uploading images really easy. -> 3. Clone down your repository and make updates locally, then push them to your GitHub repository. +This is how I maintain my own blog which is based on this theme. The old history is +sitting in an **old-master** branch that I can refer to when I need to. -![_config.yml](/images/config.png "_config.yml") - -### Step 3) Publish your first blog post +License +======= -Edit `/_posts/2014-3-3-Hello-World.md` to publish your first blog post. This [Markdown Cheatsheet](http://www.jekyllnow.com/Markdown-Style-Guide/) might come in handy. +The content of this theme is distributed and licensed under a +![License Badge](/images/cc_by_88x31.png) +[Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/legalcode) -![First Post](/images/first-post.png "First Post") + This license lets others distribute, remix, tweak, and build upon your work, + even commercially, as long as they credit you for the original creation. This + is the most accommodating of licenses offered. Recommended for maximum + dissemination and use of licensed materials. -> You can add additional posts in the browser on GitHub.com too! Just hit the + icon in `/_posts/` to create new content. Just make sure to include the [front-matter](http://jekyllrb.com/docs/frontmatter/) block at the top of each new blog post and make sure the post's filename is in this format: year-month-day-title.md +In other words: you can do anything you want with this theme on any site, just please +provide a link to [the original theme on github](https://github.com/scotte/jekyll-clean) +so I get credit for the original design. Beyond that, have at it! -## Local Development - -1. Install Jekyll and plug-ins in one fell swoop. `gem install github-pages` This mirrors the plug-ins used by GitHub Pages on your local machine including Jekyll, Sass, etc. -2. Clone down your fork `git clone git@github.com:yourusername/yourusername.github.io.git` -3. Serve the site and watch for markup/sass changes `jekyll serve` -4. View your website at http://0.0.0.0:4000 -5. Commit any changes and push everything to the master branch of your GitHub user repository. GitHub Pages will then rebuild and serve your website. - -## Moar! - -I've created a more detailed walkthrough, [**Build A Blog With Jekyll And GitHub Pages**](http://www.smashingmagazine.com/2014/08/01/build-blog-jekyll-github-pages/) over at the Smashing Magazine website. Check it out if you'd like a more detailed walkthrough and some background on Jekyll. :metal: - -It covers: - -- A more detailed walkthrough of setting up your Jekyll blog -- Common issues that you might encounter while using Jekyll -- Importing from Wordpress, using your own domain name, and blogging in your favorite editor -- Theming in Jekyll, with Liquid templating examples -- A quick look at Jekyll 2.0’s new features, including Sass/Coffeescript support and Collections - -## Jekyll Now Features - -✓ Command-line free _fork-first workflow_, using GitHub.com to create, customize and post to your blog -✓ Fully responsive and mobile optimized base theme (**[Theme Demo](http://jekyllnow.com)**) -✓ Sass/Coffeescript support using Jekyll 2.0 -✓ Free hosting on your GitHub Pages user site -✓ Markdown blogging -✓ Syntax highlighting -✓ Disqus commenting -✓ Google Analytics integration -✓ SVG social icons for your footer -✓ 3 http requests, including your avatar - -✘ No installing dependancies -✘ No need to set up local development -✘ No configuring plugins -✘ No need to spend time on theming -✘ More time to code other things ... wait ✓! - -## Questions? - -[Open an Issue](https://github.com/barryclark/jekyll-now/issues/new) and let's chat! - -## Other forkable themes - -You can use the [Quick Start](https://github.com/barryclark/jekyll-now#quick-start) workflow with other themes that are set up to be forked too! Here are some of my favorites: - -- [Hyde](https://github.com/poole/hyde) by MDO -- [Lanyon](https://github.com/poole/lanyon) by MDO -- [mojombo.github.io](https://github.com/mojombo/mojombo.github.io) by Tom Preston-Werner -- [Left](https://github.com/holman/left) by Zach Holman -- [Minimal Mistakes](https://github.com/mmistakes/minimal-mistakes) by Michael Rose -- [Skinny Bones](https://github.com/mmistakes/skinny-bones-jekyll) by Michael Rose - -## Credits - -- [Jekyll](https://github.com/jekyll/jekyll) - Thanks to its creators, contributors and maintainers. -- [SVG icons](https://github.com/neilorangepeel/Free-Social-Icons) - Thanks, Neil Orange Peel. They're beautiful. -- [Solarized Light Pygments](https://gist.github.com/edwardhotchkiss/2005058) - Thanks, Edward. -- [Joel Glovier](http://joelglovier.com/writing/) - Great Jekyll articles. I used Joel's feed.xml in this repository. -- [David Furnes](https://github.com/dfurnes), [Jon Uy](https://github.com/jonuy), [Luke Patton](https://github.com/lkpttn) - Thanks for the design/code reviews. -- [Bart Kiers](https://github.com/bkiers), [Florian Simon](https://github.com/vermluh), [Henry Stanley](https://github.com/henryaj), [Hun Jae Lee](https://github.com/hunjaelee), [Javier Cejudo](https://github.com/javiercejudo), [Peter Etelej](https://github.com/etelej), [Ben Abbott](https://github.com/jaminscript), [Ray Nicholus](https://github.com/rnicholus) - Thanks for your [fantastic contributions](https://github.com/barryclark/jekyll-now/commits/master) to the project! +This theme includes the following files which are the properties of their +respective owners: +* js/bootstrap.min.js - [bootstrap](http://getbootstrap.com) +* css/bootstrap.min.css - [bootstrap](http://getbootstrap.com) +* js/jquery.min.js - [jquery](https://jquery.com) +* images/cc_by_88x31.png - [creative commons](https://creativecommons.org) diff --git a/_config.yml b/_config.yml index e47f6415ecc70..29761e33dc5ee 100644 --- a/_config.yml +++ b/_config.yml @@ -1,73 +1,41 @@ -# -# This file contains configuration flags to customize your site -# +# Jekyll configuration -# Name of your site (displayed in the header) -name: Your Name +plugins: + - jekyll-feed -# Short bio or description (displayed in the header) -description: Web Developer from Somewhere +name: Aaron Schroeder +title: "Libération de Données!" +description: "The entirely too-many activities of Aaron David Schroeder -- Epistemologist, Methodologist, Technologist, Musicologist, Research Scientist, Coach[ologist], Dad[ologist], Husband (amateur), Fisherman (rank amateur)" -# URL of your avatar or profile pic (you could use your GitHub profile pic) -avatar: https://raw.githubusercontent.com/barryclark/jekyll-now/master/images/jekyll-logo.png +# url is currently only used only for the RSS feed in feed.xml +url: http://dads2busy.github.io -# -# Flags below are optional -# +# baseurl will often be '', but for a project page on gh-pages, it needs to +# be the project name. +# *** IMPORTANT: If your local "jekyll serve" throws errors change this to '' or +# run it like so: jekyll serve --baseurl='' +baseurl: '' -# Includes an icon in the footer for each username you enter -footer-links: - dribbble: - email: - facebook: - flickr: - github: barryclark/jekyll-now - instagram: - linkedin: - pinterest: - rss: # just type anything here for a working RSS icon, make sure you set the "url" above! - twitter: jekyllrb - stackoverflow: # your stackoverflow profile, e.g. "users/50476/bart-kiers" +# This can be '' to hide the Github nav button +github: 'dads2busy' -# Your disqus shortname, entering this will enable commenting on posts -disqus: +# Set this to your UA-# value, or '' to disable the block completely +gaaccount: '' -# Enter your Google Analytics web tracking code (e.g. UA-2110908-2) to activate tracking -google_analytics: +# Set this to your disqus shortname to enable comments. Note that the 'comments' +# setting below must also be true. Individual posts can override 'comments' to +# disable on a post-by-post basis +disqus: '' +comments: true -# Your website URL (e.g. http://barryclark.github.io or http://www.barryclark.co) -# Used for Sitemap.xml and your RSS feed -url: +permalink: /:year/:month/:title +paginate: 3 -# If you're hosting your site at a Project repository on GitHub pages -# (http://yourusername.github.io/repository-name) -# and NOT your User repository (http://yourusername.github.io) -# then add in the baseurl here, like this: "/repository-name" -baseurl: "" +highlighter: rouge +# markdown: redcarpet +# redcarpet: + # extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data"] -# -# !! You don't need to change any of the configuration flags below !! -# +exclude: ['README.md', 'LICENSE'] -markdown: redcarpet -highlighter: pygments -permalink: /:title/ - -# The release of Jekyll Now that you're using -version: v1.0.0 - -# Set the Sass partials directory, as we're using @imports -sass: - sass_dir: _scss - style: :expanded # You might prefer to minify using :compressed - -# Use the following plug-ins -gems: - - jekyll-sitemap # Create a sitemap using the official Jekyll sitemap gem - -# Exclude these files from your production _site -exclude: - - Gemfile - - Gemfile.lock - - LICENSE - - README.md +gems: [jekyll-paginate] diff --git a/_config.yml~ b/_config.yml~ new file mode 100644 index 0000000000000..0f7b657ef2b29 --- /dev/null +++ b/_config.yml~ @@ -0,0 +1,38 @@ +# Jekyll configuration + +name: Aaron Schroeder +title: "Data Liberation!" +description: "The entirely too-many activities of Aaron David Schroeder -- Epistemologist, Methodologist, Technologist, Musicologist, Research Scientist, Coach[ologist], Dad[ologist], Husband (amateur), Fisherman (rank amateur)" + +# url is currently only used only for the RSS feed in feed.xml +url: http://dads2busy.github.io + +# baseurl will often be '', but for a project page on gh-pages, it needs to +# be the project name. +# *** IMPORTANT: If your local "jekyll serve" throws errors change this to '' or +# run it like so: jekyll serve --baseurl='' +baseurl: '' + +# This can be '' to hide the Github nav button +github: 'dads2busy' + +# Set this to your UA-# value, or '' to disable the block completely +gaaccount: '' + +# Set this to your disqus shortname to enable comments. Note that the 'comments' +# setting below must also be true. Individual posts can override 'comments' to +# disable on a post-by-post basis +disqus: '' +comments: true + +permalink: /:year/:month/:title +paginate: 3 + +highlighter: rouge +# markdown: redcarpet +# redcarpet: + # extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data"] + +exclude: ['README.md', 'LICENSE'] + +gems: [jekyll-paginate] diff --git a/_includes/analytics.html b/_includes/analytics.html index d8cdc0ec09cb5..4af718b000a8e 100644 --- a/_includes/analytics.html +++ b/_includes/analytics.html @@ -1,13 +1,11 @@ -{% if site.google_analytics %} - - - +{% if site.gaaccount != '' %} + {% endif %} diff --git a/_includes/disqus-comments.html b/_includes/disqus-comments.html new file mode 100644 index 0000000000000..6efbc1158a34a --- /dev/null +++ b/_includes/disqus-comments.html @@ -0,0 +1,11 @@ +{% if page.comments %} + +{% endif %} diff --git a/_includes/disqus-counts.html b/_includes/disqus-counts.html new file mode 100644 index 0000000000000..dbab80ef687e0 --- /dev/null +++ b/_includes/disqus-counts.html @@ -0,0 +1,12 @@ +{% if site.comments == true and site.disqus != '' %} + +{% endif %} diff --git a/_includes/disqus.html b/_includes/disqus.html deleted file mode 100644 index 453eef5cb1c91..0000000000000 --- a/_includes/disqus.html +++ /dev/null @@ -1,17 +0,0 @@ -{% if site.disqus %} -
-
- - -
-{% endif %} \ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000000000..8991a6c874e35 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,18 @@ + + + +
+
+ +
+
+ +{% include disqus-counts.html %} +{% include analytics.html %} + + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000000000..57064e7a02279 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,1302 @@ + + + + + + {{ site.name }} + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+
\ No newline at end of file diff --git a/_includes/links-list.html b/_includes/links-list.html new file mode 100644 index 0000000000000..5dc86ad5ca586 --- /dev/null +++ b/_includes/links-list.html @@ -0,0 +1,53 @@ + +{% case page.category %} + {% when 'writing' %} +
Featured Writing
+ + {% when 'teaching' %} + + {% when 'research' %} + + {% when 'speaking' %} + + {% when 'working' %} + + + + +
+ Workin' 9 to 5,
+ What a way to make a livin'
+ Barely gettin' by
+ It's all takin' and no givin'
+ They just use your mind
+ And they never give you credit
+ It's enough to drive you crazy
+ If you let it
+ 9 to 5, for service and devotion
+ You would think that I
+ Would deserve a fat promotion
+ Want to move ahead
+ But the boss won't seem to let me
+ I swear sometimes that man is
+ out to get me! +
+ {% when 'coaching' %} +
Featured Youth Sports Organizations
+ + {% else %} +
Links
+ +{% endcase %} diff --git a/_includes/research.html b/_includes/research.html new file mode 100644 index 0000000000000..364f3b6ce1939 --- /dev/null +++ b/_includes/research.html @@ -0,0 +1,42 @@ +
+

{{ post.title }}

+ Award: {{ post.award }} Role: {{ post.role }}
+ Sponsor: {{ post.sponsor }} Dates: {{ post.dates }} + + + + + {% if post.website != '' %} +

Website: {{ post.website }}

+ {% endif %} + {% if post.report != '' %} +

Report: {{ post.report }}

+ {% endif %} + {% if post.report2 != '' %} +

Report: {{ post.report2 }}

+ {% endif %} + {% if post.report3 != '' %} +

Report: {{ post.report3 }}

+ {% endif %} + {% if post.report4 != '' %} +

Report: {{ post.report4 }}

+ {% endif %} + {% if post.report5 != '' %} +

Report: {{ post.report5 }}

+ {% endif %} + {% if post.report6 != '' %} +

Report: {{ post.report6 }}

+ {% endif %} + {% if post.media1 != '' %} +

Media: {{ post.media1title }}

+ {% endif %} + {% if post.media2 != '' %} +

Media: {{ post.media2title }}

+ {% endif %} + {% if post.media3 != '' %} +

Media: {{ post.media3title }}

+ {% endif %} + +
diff --git a/_includes/sidebars/datascience.html b/_includes/sidebars/datascience.html new file mode 100644 index 0000000000000..2aa63c75365e0 --- /dev/null +++ b/_includes/sidebars/datascience.html @@ -0,0 +1,126 @@ +
+

Data Science Framework

+
+ +

Data Discovery

+ +

Data Profiling

+
+ +
+

Data Preparation

+ +

Data Linkage

+
+ +
+

Data Exploration

+
+ +
+

Data Analysis

+
+
    +
  • Inference
  • +
  • Textual Analysis
  • +
  • Network Analysis
  • +
  • Agent Modeling
  • +
  • Machine Learning
  • +
+
+

Data Fitness

+
+ +
+
+

Data Science Platform

+
+

Server Configuration

+ +

Workstation Configuration

+
    +
  • Mac
  • +
  • Linux
  • +
  • Windows
  • +
+
+

Code Examples & Tools

+
+

Code Examples

+ +

Tools

+
    +
  • d3
  • +
  • iGraph
  • +
  • GATE
  • +
  • MANN
  • +
  • SAFR-Link
  • +
  • Protege
  • +
+
+

Data Management

+ +

Project Management

+
+
    +
  • Project File Layout
  • +
+
+
\ No newline at end of file diff --git a/_includes/sidebars/sidebar.html b/_includes/sidebars/sidebar.html new file mode 100644 index 0000000000000..dd50bfd8428ca --- /dev/null +++ b/_includes/sidebars/sidebar.html @@ -0,0 +1,7 @@ + + + diff --git a/_includes/svg-icons.html b/_includes/svg-icons.html deleted file mode 100644 index f9d33a0f75346..0000000000000 --- a/_includes/svg-icons.html +++ /dev/null @@ -1,11 +0,0 @@ -{% if site.footer-links.dribbble %}{% endif %} -{% if site.footer-links.email %}{% endif %} -{% if site.footer-links.facebook %}{% endif %} -{% if site.footer-links.flickr %}{% endif %} -{% if site.footer-links.github %}{% endif %} -{% if site.footer-links.instagram %}{% endif %} -{% if site.footer-links.linkedin %}{% endif %} -{% if site.footer-links.pinterest %}{% endif %} -{% if site.footer-links.rss %}{% endif %} -{% if site.footer-links.twitter %}{% endif %} -{% if site.footer-links.stackoverflow %}{% endif %} diff --git a/_index.html b/_index.html new file mode 100644 index 0000000000000..7c1385ace2cd2 --- /dev/null +++ b/_index.html @@ -0,0 +1,31 @@ +--- +layout: default +--- + +{% for post in paginator.posts %} +
+
+

{{ post.date | date: "%b %-d, %Y" }} - {{ post.title }}

+ {% if site.comments == true and post.comments == true and site.disqus != '' %} +

Comments

+ {% endif %} +
+ {{ post.content }} +
+
+
+{% endfor %} + + diff --git a/_layouts/default.html b/_layouts/default.html index a69e73413e3ad..377bc4304a7b5 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,56 +1,12 @@ - - - - - - - {% if page.title %}{{ page.title }} – {% endif %}{{ site.name }} – {{ site.description }} +{% include header.html %} - - + + + {{ content }} + - - - - - - - - -
-
-
- - -
-

{{ site.name }}

-

{{ site.description }}

-
- - -
-
-
- -
- {{ content }} -
- - - - {% include analytics.html %} - - +{% include footer.html %} diff --git a/_layouts/page.html b/_layouts/page.html deleted file mode 100644 index cff536080625b..0000000000000 --- a/_layouts/page.html +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: default ---- - -
- -

{{ page.title }}

- -
- {{ content }} -
-
diff --git a/_layouts/post.html b/_layouts/post.html index a84a4fe7444aa..6a0f840526e5e 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -1,17 +1,54 @@ ---- -layout: default ---- +{% include header.html %} -
-

{{ page.title }}

+
+
+
+ +
+
+
+
+

{{ page.title }}

+ {% if site.comments == true and page.comments == true and site.disqus != '' %} +

Comments

+ {% endif %} +
+ {{ content }} + +
+ {% if page.website != '' %} +
Download
+ {% endif %} + {% if page.report != '' %} +
{{page.report}}
+ {% endif %} + +
+
+
+
-
- {{ content }} -
- -
- Written on {{ page.date | date: "%B %e, %Y" }} -
- - {% include disqus.html disqus_identifier=page.disqus_identifier %} -
\ No newline at end of file + diff --git a/_posts/2012-05-22-Vivamus-porttitor-porta-tortor.md b/_posts/2012-05-22-Vivamus-porttitor-porta-tortor.md new file mode 100644 index 0000000000000..5a5c3cd31cf7e --- /dev/null +++ b/_posts/2012-05-22-Vivamus-porttitor-porta-tortor.md @@ -0,0 +1,12 @@ +--- +layout: post +title: "Vivamus porttitor porta tortor" +date: 2012-05-22 16:25:06 -0700 +comments: true +--- + +Vivamus porttitor porta tortor at ullamcorper. Proin vel nisi magna. Vivamus vel velit laoreet, malesuada nunc nec, pulvinar velit. Vivamus sollicitudin ex quam, sit amet aliquet velit euismod in. Etiam rutrum augue orci, sed euismod risus vehicula eu. Proin quis velit mattis, sodales erat vitae, condimentum nulla. Vestibulum vitae imperdiet ligula. Etiam venenatis ultrices varius. + +Vestibulum vulputate nulla hendrerit velit tempor, et fringilla urna placerat. In hac habitasse platea dictumst. Vestibulum sit amet molestie tortor, eu posuere magna. Donec rhoncus pharetra urna sed tempor. Aliquam erat volutpat. Nulla facilisi. Nam at ante condimentum, egestas massa sed, auctor orci. Aenean tincidunt, turpis et venenatis finibus, orci urna tempor ex, at mattis nisi nisi varius nisl. Pellentesque diam libero, dignissim vel nisl ut, placerat pharetra felis. + +Curabitur venenatis neque eget odio tempor, vitae condimentum quam aliquam. Duis dui odio, auctor non ultricies nec, mollis nec elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed eget elit at nisl auctor egestas. Vivamus nec turpis feugiat, dapibus metus et, fermentum lacus. Curabitur at blandit diam, non rutrum nulla. Quisque eget fermentum libero, in bibendum diam. Vestibulum eget porta est, in scelerisque metus. Donec in elit aliquet sapien ultrices tincidunt. diff --git a/_posts/2013-05-22-Nulla-vel-risus-dapibus.md b/_posts/2013-05-22-Nulla-vel-risus-dapibus.md new file mode 100644 index 0000000000000..d5cc6a46be735 --- /dev/null +++ b/_posts/2013-05-22-Nulla-vel-risus-dapibus.md @@ -0,0 +1,12 @@ +--- +layout: post +title: "Nulla vel risus dapibus" +date: 2013-05-22 16:25:06 -0700 +comments: true +--- + +Nulla vel risus dapibus, fringilla nunc id, interdum magna. Vivamus non diam egestas, bibendum elit sed, condimentum quam. Integer eu ipsum ultrices, tincidunt nibh at, auctor sem. Duis iaculis purus a aliquet gravida. Sed ornare, leo venenatis dignissim condimentum, nibh arcu iaculis dui, nec vulputate ante eros laoreet sem. Fusce dapibus, ante eu blandit tincidunt, odio quam vulputate libero, et interdum tellus lorem eleifend nisi. Nam elementum vel sapien sed rhoncus. Praesent commodo neque odio. Praesent a nisl nec neque laoreet dignissim. Quisque vitae felis a nisl sodales consequat ut ac mi. Etiam varius gravida accumsan. In sed lectus nec ipsum commodo efficitur. Ut vehicula diam eu justo pellentesque, in pulvinar lorem dapibus. Donec ornare metus vitae turpis malesuada, ut aliquet dolor vulputate. Aenean eget ipsum elit. Suspendisse tempor sagittis dictum. + +Vivamus dapibus justo vitae tellus dignissim, non interdum odio egestas. Maecenas tincidunt sem non consequat bibendum. Aliquam cursus, enim sed rutrum porta, nisl tellus ultrices ipsum, vel vestibulum orci tellus sit amet quam. Pellentesque ut viverra lacus. Suspendisse potenti. Ut augue enim, hendrerit sed interdum sed, ullamcorper sit amet ex. Donec at mi at erat hendrerit commodo at non eros. Fusce commodo nec quam at rhoncus. + +Aliquam molestie urna at turpis venenatis, et placerat lorem volutpat. Sed gravida arcu id lectus viverra eleifend. Sed in metus sit amet ante luctus dignissim. Etiam in sodales justo, in iaculis odio. Vestibulum accumsan felis vitae cursus pharetra. Nulla congue ipsum est, sed vulputate odio pulvinar id. Maecenas a sollicitudin turpis. diff --git a/_posts/2013-06-22-Cum-sociis-natoque-penatibus.md b/_posts/2013-06-22-Cum-sociis-natoque-penatibus.md new file mode 100644 index 0000000000000..990b282046721 --- /dev/null +++ b/_posts/2013-06-22-Cum-sociis-natoque-penatibus.md @@ -0,0 +1,12 @@ +--- +layout: post +title: "Cum sociis natoque penatibus" +date: 2013-06-22 16:25:06 -0700 +comments: true +--- + +Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus fermentum facilisis velit eu auctor. Maecenas tincidunt, leo tempor bibendum auctor, ligula lorem ultricies tellus, ac auctor lorem libero a sapien. Donec ac suscipit tellus. Quisque vitae placerat lorem. In ullamcorper malesuada risus, eget fringilla lacus dignissim at. Proin faucibus, nibh vel molestie scelerisque, lorem urna tempus lacus, id viverra odio dolor sit amet odio. In hendrerit, orci vel scelerisque luctus, arcu purus aliquet turpis, a bibendum nulla est et dui. + +Praesent pellentesque posuere lectus eget condimentum. Ut vitae nisi diam. Quisque vitae ipsum magna. Aliquam pretium laoreet tortor quis volutpat. Donec congue, nisl nec consequat varius, enim enim consectetur felis, a viverra libero elit in ligula. Cras posuere ipsum vel mi scelerisque, eu interdum velit elementum. Duis eu posuere est. Ut vestibulum urna eu viverra fringilla. Aliquam tempus nisi eros, vitae posuere nulla fermentum in. Praesent et justo eros. Proin eleifend justo vel justo condimentum ullamcorper. Curabitur vel vehicula lectus. Mauris sed ex ac ipsum ultrices bibendum at id tortor. Aenean dictum magna ac nisi posuere euismod. Ut fermentum, nulla quis venenatis varius, risus nulla dictum felis, ut dictum eros libero vitae justo. + +Integer aliquam tellus vel libero eleifend, condimentum euismod odio tincidunt. Vivamus felis ante, faucibus quis urna nec, volutpat pulvinar quam. Cras dictum libero ac augue bibendum, et pretium ex pharetra. Vivamus suscipit et erat id eleifend. Proin vulputate, quam sit amet pretium fermentum, felis neque scelerisque metus, a rhoncus quam nisi sit amet urna. Sed et commodo libero, laoreet rutrum eros. Vivamus tempor, leo eget scelerisque molestie, sapien augue viverra tortor, et semper arcu eros ut elit. Sed pulvinar ipsum in semper facilisis. diff --git a/_posts/2014-06-22-Maecenas-feugiat-fringilla-nibh.md b/_posts/2014-06-22-Maecenas-feugiat-fringilla-nibh.md new file mode 100644 index 0000000000000..7334ff196c155 --- /dev/null +++ b/_posts/2014-06-22-Maecenas-feugiat-fringilla-nibh.md @@ -0,0 +1,12 @@ +--- +layout: post +title: "Maecenas feugiat fringilla nibh" +date: 2014-06-22 16:25:06 -0700 +comments: true +--- + +Maecenas feugiat fringilla nibh ut mattis. Sed non metus sit amet mi luctus feugiat in quis sem. Vivamus pulvinar commodo bibendum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas sapien nulla, eleifend in dolor et, rutrum maximus velit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse tempus malesuada egestas. Phasellus pulvinar vulputate urna in tempor. In vel sapien ullamcorper, condimentum ipsum ut, porttitor turpis. Nam auctor erat sed lectus tempus euismod. Nunc ipsum quam, condimentum ac bibendum sit amet, sodales nec metus. + +Vivamus a ullamcorper ipsum. Donec dictum eleifend massa, rhoncus consequat sem tempor nec. Ut bibendum luctus gravida. Nullam eleifend laoreet quam, nec tincidunt dolor tincidunt non. Aenean vel magna massa. Pellentesque sit amet tincidunt ante. Nulla posuere varius elit eu consequat. Sed vitae tortor scelerisque lacus eleifend condimentum. Nulla vitae neque sed lorem sagittis pretium eu nec est. Aliquam in euismod risus, vel vulputate orci. + +Praesent sit amet auctor justo. Suspendisse pretium rutrum vehicula. Cras ut porta urna. Morbi massa odio, eleifend vitae dictum eget, mattis nec metus. Praesent pellentesque metus eu massa pharetra facilisis. Suspendisse potenti. Vestibulum pellentesque pharetra tristique. Nam ut lobortis felis. Proin sit amet consequat ipsum. Curabitur et mattis justo, sit amet feugiat lectus. Sed eleifend eget arcu non pretium. Suspendisse rhoncus erat quis leo laoreet rhoncus. Aliquam quis metus vitae enim cursus sodales. In euismod tortor id odio fermentum, non pretium ipsum iaculis. Quisque consectetur elementum nisi, et posuere odio vulputate ac. Ut consequat, velit eget fermentum ultrices, ligula odio fringilla diam, sit amet accumsan elit velit tempus dolor. diff --git a/_posts/2014-07-22-Lorem-ipsum-dolor-sit-amet.md b/_posts/2014-07-22-Lorem-ipsum-dolor-sit-amet.md new file mode 100644 index 0000000000000..1943f338d544e --- /dev/null +++ b/_posts/2014-07-22-Lorem-ipsum-dolor-sit-amet.md @@ -0,0 +1,12 @@ +--- +layout: post +title: "Lorem ipsum dolor sit amet" +date: 2014-07-22 16:25:06 -0700 +comments: true +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quam metus, commodo sit amet ante a, finibus efficitur lorem. Maecenas egestas purus in tempor volutpat. Sed dapibus tortor nec sem suscipit ullamcorper. Nulla nec lorem lacus. Phasellus condimentum massa quis dolor consequat viverra ut ac magna. Ut a consequat nisi. Vivamus at leo ut turpis convallis lacinia. Curabitur eu placerat quam. Donec ultricies faucibus dui, a tincidunt lorem lobortis condimentum. + +Quisque aliquet consectetur justo sit amet convallis. Nunc vel aliquet ipsum, sit amet elementum justo. Vivamus id magna mi. Cras luctus est vel ipsum sagittis pellentesque. Vivamus ante elit, porttitor vitae quam quis, fermentum malesuada risus. Integer nec lectus vel lacus cursus tristique in euismod ipsum. Duis ut varius enim. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi et elit eu tortor lacinia sollicitudin non in lacus. + +Integer at viverra turpis. Duis aliquam mattis sapien tempor eleifend. Mauris nec eleifend risus, quis mollis neque. Vivamus non dapibus justo, vel ornare magna. Nunc in nulla venenatis, imperdiet diam in, accumsan massa. Etiam congue augue ipsum, sit amet rutrum nisi blandit quis. Cras in lectus non lorem auctor consequat a vel sem. Aliquam erat volutpat. Fusce lobortis vel orci vitae ullamcorper. Phasellus id eleifend eros. Mauris vulputate, nisi vel auctor auctor, quam enim tincidunt felis, vitae fermentum odio tortor eget est. Integer ornare blandit lectus a accumsan. diff --git a/_posts/2014-08-22-jekyll-clean-theme.md b/_posts/2014-08-22-jekyll-clean-theme.md new file mode 100644 index 0000000000000..e1703b8cde667 --- /dev/null +++ b/_posts/2014-08-22-jekyll-clean-theme.md @@ -0,0 +1,90 @@ +--- +layout: post +title: "Jekyll Clean Theme" +date: 2014-08-22 16:25:06 -0700 +comments: false +--- + +* Get it from [github](https://github.com/scotte/jekyll-clean). +* See the [live demo](https://scotte.github.io/jekyll-clean). +* See it [in action on my own blog](https://scotte.github.io). + +Welcome to the sample post for the Jekyll Clean theme. + +A simple and clean Jekyll theme using [bootstrap](http://getbootstrap.com) +(not to be confused with jekyll-bootstrap) that's easy to modify and very +modular in component and element reuse. + +It uses Disqus for comments and includes Google Analytics support. Both of +these features are disabled by default and can be enabled via \_config.yml. You +can also rip this code out of the templates if you like (footer.html and post.html). +The beauty of Jekyll - keep things clean... Jekyll Clean! + +The theme works well on mobile phones, using a collapsable nav bar and hiding the +sidebar. The links pane in the sidebar is available on mobile through the nav menu, +and you can do the same thing for any other sections added to the sidebar. + +Don't forget to occassionally merge against my upstream repository so you can get +the latest changes. Pull requests are encouraged and accepted! + +Installation +============ + +If you don't have a blog already on github, start by cloning this repository. +Best to do that directly on github and then clone that down to your computer. + +If you already do have a blog, You can certainly apply this theme to your existing +blog in place, but then you won't be able to merge as the theme changes. If you +re-apply your blog history on top of this theme's **gh-pages** branch, it's then +easy to update to the latest version of the theme. You also don't want to have to +deal with resolving old conflicts from your existing history, so you may wish to to +push your existing master off to a new branch so you have the old history and start +a new branch with this as the start, merging in your \_posts and other assets (after +git rm'ing the current \_posts. + +Not ideal, but you have to make a choice - either apply it manually or base your +blog off this theme's branch. Either way it will work, and both have their own +pros and cons. + +You can setup an upstream tracking repository like so: + +``` +$ git remote add upstream git@github.com:scotte/jekyll-clean.git +``` +And now when you wish to merge your own branch onto the latest version of the +theme, simply do: + +``` +$ git fetch upstream +$ git merge upstream/gh-pages +``` + +Of course you will have to resolve conflicts for \_config.yml, \_includes/links-list.html, +and \_posts, and so on, but in practice this is pretty simple. + +This is how I maintain my own blog which is based on this theme. The old history is +sitting in an **old-master** branch that I can refer to when I need to. + +License +======= + +The content of this theme is distributed and licensed under a +![License Badge]({{ site.baseurl}}/images/cc_by_88x31.png) +[Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/legalcode) + + This license lets others distribute, remix, tweak, and build upon your work, + even commercially, as long as they credit you for the original creation. This + is the most accommodating of licenses offered. Recommended for maximum + dissemination and use of licensed materials. + +In other words: you can do anything you want with this theme on any site, just please +provide a link to [the original theme on github](https://github.com/scotte/jekyll-clean) +so I get credit for the original design. Beyond that, have at it! + +This theme includes the following files which are the properties of their +respective owners: + +* js/bootstrap.min.js - [bootstrap](http://getbootstrap.com) +* css/bootstrap.min.css - [bootstrap](http://getbootstrap.com) +* js/jquery.min.js - [jquery](https://jquery.com) +* images/cc_by_88x31.png - [creative commons](https://creativecommons.org) diff --git a/_posts/2014-3-3-Hello-World.md b/_posts/2014-3-3-Hello-World.md deleted file mode 100644 index c469524e3efa3..0000000000000 --- a/_posts/2014-3-3-Hello-World.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: post -title: You're up and running! ---- - -Next you can update your site name, avatar and other options using the _config.yml file in the root of your repository (shown below :point_down:). - -![_config.yml]({{ site.baseurl }}/images/config.png) - -The easiest way to make your first post is to edit this one. Go into /_posts/ and update the Hello World markdown file. For more instructions head over to the [Jekyll Now repository](https://github.com/barryclark/jekyll-now) on GitHub. \ No newline at end of file diff --git a/_scss/_highlights.scss b/_scss/_highlights.scss deleted file mode 100644 index 57c7b72f07617..0000000000000 --- a/_scss/_highlights.scss +++ /dev/null @@ -1,84 +0,0 @@ - -.highlight { - background-color: #efefef; - padding: 7px 7px 7px 10px; - border: 1px solid #ddd; - -moz-box-shadow: 3px 3px rgba(0,0,0,0.1); - -webkit-box-shadow: 3px 3px rgba(0,0,0,0.1); - box-shadow: 3px 3px rgba(0,0,0,0.1); - margin: 20px 0 20px 0; - overflow: scroll; -} - -code { - font-family:'Bitstream Vera Sans Mono','Courier', monospace; -} - -.highlight .c { color: #586E75 } /* Comment */ -.highlight .err { color: #93A1A1 } /* Error */ -.highlight .g { color: #93A1A1 } /* Generic */ -.highlight .k { color: #859900 } /* Keyword */ -.highlight .l { color: #93A1A1 } /* Literal */ -.highlight .n { color: #93A1A1 } /* Name */ -.highlight .o { color: #859900 } /* Operator */ -.highlight .x { color: #CB4B16 } /* Other */ -.highlight .p { color: #93A1A1 } /* Punctuation */ -.highlight .cm { color: #586E75 } /* Comment.Multiline */ -.highlight .cp { color: #859900 } /* Comment.Preproc */ -.highlight .c1 { color: #586E75 } /* Comment.Single */ -.highlight .cs { color: #859900 } /* Comment.Special */ -.highlight .gd { color: #2AA198 } /* Generic.Deleted */ -.highlight .ge { color: #93A1A1; font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #DC322F } /* Generic.Error */ -.highlight .gh { color: #CB4B16 } /* Generic.Heading */ -.highlight .gi { color: #859900 } /* Generic.Inserted */ -.highlight .go { color: #93A1A1 } /* Generic.Output */ -.highlight .gp { color: #93A1A1 } /* Generic.Prompt */ -.highlight .gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #CB4B16 } /* Generic.Subheading */ -.highlight .gt { color: #93A1A1 } /* Generic.Traceback */ -.highlight .kc { color: #CB4B16 } /* Keyword.Constant */ -.highlight .kd { color: #268BD2 } /* Keyword.Declaration */ -.highlight .kn { color: #859900 } /* Keyword.Namespace */ -.highlight .kp { color: #859900 } /* Keyword.Pseudo */ -.highlight .kr { color: #268BD2 } /* Keyword.Reserved */ -.highlight .kt { color: #DC322F } /* Keyword.Type */ -.highlight .ld { color: #93A1A1 } /* Literal.Date */ -.highlight .m { color: #2AA198 } /* Literal.Number */ -.highlight .s { color: #2AA198 } /* Literal.String */ -.highlight .na { color: #93A1A1 } /* Name.Attribute */ -.highlight .nb { color: #B58900 } /* Name.Builtin */ -.highlight .nc { color: #268BD2 } /* Name.Class */ -.highlight .no { color: #CB4B16 } /* Name.Constant */ -.highlight .nd { color: #268BD2 } /* Name.Decorator */ -.highlight .ni { color: #CB4B16 } /* Name.Entity */ -.highlight .ne { color: #CB4B16 } /* Name.Exception */ -.highlight .nf { color: #268BD2 } /* Name.Function */ -.highlight .nl { color: #93A1A1 } /* Name.Label */ -.highlight .nn { color: #93A1A1 } /* Name.Namespace */ -.highlight .nx { color: #555 } /* Name.Other */ -.highlight .py { color: #93A1A1 } /* Name.Property */ -.highlight .nt { color: #268BD2 } /* Name.Tag */ -.highlight .nv { color: #268BD2 } /* Name.Variable */ -.highlight .ow { color: #859900 } /* Operator.Word */ -.highlight .w { color: #93A1A1 } /* Text.Whitespace */ -.highlight .mf { color: #2AA198 } /* Literal.Number.Float */ -.highlight .mh { color: #2AA198 } /* Literal.Number.Hex */ -.highlight .mi { color: #2AA198 } /* Literal.Number.Integer */ -.highlight .mo { color: #2AA198 } /* Literal.Number.Oct */ -.highlight .sb { color: #586E75 } /* Literal.String.Backtick */ -.highlight .sc { color: #2AA198 } /* Literal.String.Char */ -.highlight .sd { color: #93A1A1 } /* Literal.String.Doc */ -.highlight .s2 { color: #2AA198 } /* Literal.String.Double */ -.highlight .se { color: #CB4B16 } /* Literal.String.Escape */ -.highlight .sh { color: #93A1A1 } /* Literal.String.Heredoc */ -.highlight .si { color: #2AA198 } /* Literal.String.Interpol */ -.highlight .sx { color: #2AA198 } /* Literal.String.Other */ -.highlight .sr { color: #DC322F } /* Literal.String.Regex */ -.highlight .s1 { color: #2AA198 } /* Literal.String.Single */ -.highlight .ss { color: #2AA198 } /* Literal.String.Symbol */ -.highlight .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #268BD2 } /* Name.Variable.Class */ -.highlight .vg { color: #268BD2 } /* Name.Variable.Global */ -.highlight .vi { color: #268BD2 } /* Name.Variable.Instance */ -.highlight .il { color: #2AA198 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_scss/_reset.scss b/_scss/_reset.scss deleted file mode 100644 index fcf2bf0b65582..0000000000000 --- a/_scss/_reset.scss +++ /dev/null @@ -1,53 +0,0 @@ - -/***************/ -/* MEYER RESET */ -/***************/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -// HTML5 display-role reset for older browsers -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} -// Apply a natural box layout model to all elements -// from: http://www.paulirish.com/2012/box-sizing-border-box-ftw/ -*, *:before, *:after { - -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -} diff --git a/_scss/_svg-icons.scss b/_scss/_svg-icons.scss deleted file mode 100644 index c7db3061c0a20..0000000000000 --- a/_scss/_svg-icons.scss +++ /dev/null @@ -1,17 +0,0 @@ -.svg-icon { - width: 40px; - height: 40px; - display: inline-block; - - &.dribbble { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPjxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNFQTRDODkiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD48cGF0aCBkPSJNNDYuODIwMTQwMiwyOS44MzA2MzA3IEM0Ni44MjAxNDAyLDMwLjk5MTA2NjIgNDYuNzAzOTM4MSwzMi4xNDk4OTIgNDYuNDc1Njk1OCwzMy4yNzk0NzczIEM0Ni4yNTMxMzQ4LDM0LjM4MjIzNjMgNDUuOTIzNDg4MSwzNS40NjQ4NzU3IDQ1LjQ5MTY0NDQsMzYuNDk5ODMxNCBDNDUuMDY5NzA5OSwzNy41MTY0NzgzIDQ0LjU0NjM3MSwzOC40OTYxNzIgNDMuOTM0ODQwMiwzOS40MDk4MDYyIEM0My4zMzI0MjU4LDQwLjMxNzY3MjcgNDIuNjM4NDUwMiw0MS4xNjk0MDUzIDQxLjg3NjEwMSw0MS45NDU4MjM0IEM0MS4xMTIxMDAzLDQyLjcxODg4ODEgNDAuMjcxNDY4Myw0My40MjI0NzI5IDM5LjM3ODkxMiw0NC4wMzc1MzEyIEMzOC40NzczMDUzLDQ0LjY1NDkzNjcgMzcuNTEyMjc5Niw0NS4xODYyMzAxIDM2LjUxMTcxMjgsNDUuNjE3MTkzNCBDMzUuNDkyMjUyNSw0Ni4wNTM5MjQ0IDM0LjQyNDg5NzUsNDYuMzg4NTgxNSAzMy4zNDExNTk0LDQ2LjYxNDQ1ODMgQzMyLjIyODYxODUsNDYuODQ3MTA4OCAzMS4wODQ2MzIzLDQ2Ljk2NTg4MTkgMjkuOTQxNTcwOSw0Ni45NjU4ODE5IEMyOC43OTc2NTA4LDQ2Ljk2NTg4MTkgMjcuNjUzNzMwNyw0Ni44NDcxMDg4IDI2LjU0Mjc3NTIsNDYuNjE0NDU4MyBDMjUuNDU3Mzg1NSw0Ni4zODg1ODE1IDI0LjM5MDA5NjcsNDYuMDUzOTI0NCAyMy4zNzE0MjkxLDQ1LjYxNzE5MzQgQzIyLjM3MDkyODQsNDUuMTg2MjMwMSAyMS40MDQ5Nzc4LDQ0LjY1NDkzNjcgMjAuNTAzMzcxMSw0NC4wMzc1MzEyIEMxOS42MTA4MTQ4LDQzLjQyMjU0IDE4Ljc3MDE4MjgsNDIuNzE4ODg4MSAxOC4wMDc4MzM2LDQxLjk0NTgyMzQgQzE3LjI0NDY5MTcsNDEuMTY5NDA1MyAxNi41NTA3MTYxLDQwLjMxNzY3MjcgMTUuOTQ3NDQyOSwzOS40MDk4MDYyIEMxNS4zMzkyMTUxLDM4LjQ5NjE3MiAxNC44MTUwMTc1LDM3LjUxNjQxMTIgMTQuMzkxNDMxNCwzNi40OTk4MzE0IEMxMy45NTk1MjE2LDM1LjQ2NDg3NTcgMTMuNjI5MDgyMywzNC4zODIxNjkyIDEzLjQwNTcyODUsMzMuMjc5NDc3MyBDMTMuMTc5OTMwNCwzMi4xNDk4OTIgMTMuMDY0NTIxMSwzMC45OTEwNjYyIDEzLjA2NDUyMTEsMjkuODMwNjMwNyBDMTMuMDY0NTIxMSwyOC42NjkzMjM1IDEzLjE3OTg2NDQsMjcuNTA4MDE2MiAxMy40MDU3OTQ1LDI2LjM4MDkxMjMgQzEzLjYyOTE0ODMsMjUuMjc4MTUzMyAxMy45NTk1ODc3LDI0LjE5MzgzNzMgMTQuMzkxNDk3NSwyMy4xNjA1NTgyIEMxNC44MTUwODM1LDIyLjE0MzE3MzYgMTUuMzM5MjgxMiwyMS4xNjI2MDggMTUuOTQ3NTA5LDIwLjI0ODkwNjggQzE2LjU1MDc4MjIsMTkuMzQwMzAyNSAxNy4yNDQ3NTc3LDE4LjQ5MDE3OTUgMTguMDA3ODk5NiwxNy43MTI4ODk2IEMxOC43NzAyNDg4LDE2LjkzOTc1NzggMTkuNjEwODgwOCwxNi4yMzc4NDk2IDIwLjUwMzQzNzEsMTUuNjIzNzMwMyBDMjEuNDA1MDQzOCwxNS4wMDM3MDkyIDIyLjM3MDk5NDQsMTQuNDcyNDgyOCAyMy4zNzE0OTUxLDE0LjA0MDcxNDcgQzI0LjM5MDE2MjcsMTMuNjAzMDQ0OSAyNS40NTczODU1LDEzLjI2NzU4MjkgMjYuNTQyODQxMywxMy4wNDMzODI4IEMyNy42NTM3OTY3LDEyLjgxMjQ3NiAyOC43OTc3MTY5LDEyLjY5NTMxMjUgMjkuOTQxNjM3LDEyLjY5NTMxMjUgQzMxLjA4NDY5ODMsMTIuNjk1MzEyNSAzMi4yMjg2MTg1LDEyLjgxMjQ3NiAzMy4zNDEyMjU1LDEzLjA0MzM4MjggQzM0LjQyNDk2MzYsMTMuMjY3NjUgMzUuNDkyMjUyNSwxMy42MDMxMTIgMzYuNTExNzc4OSwxNC4wNDA3MTQ3IEMzNy41MTIyNzk2LDE0LjQ3MjQxNTggMzguNDc3MzcxNCwxNS4wMDM3MDkyIDM5LjM3ODk3ODEsMTUuNjIzNzMwMyBDNDAuMjcxNTM0NCwxNi4yMzc4NDk2IDQxLjExMjIzMjQsMTYuOTM5NzU3OCA0MS44NzYxNjcxLDE3LjcxMjg4OTYgQzQyLjYzODUxNjMsMTguNDkwMTc5NSA0My4zMzI0OTE4LDE5LjM0MDMwMjUgNDMuOTM0OTA2MiwyMC4yNDg5MDY4IEM0NC41NDYzNzEsMjEuMTYyNjA4IDQ1LjA2OTcwOTksMjIuMTQzMjQwNyA0NS40OTE2NDQ0LDIzLjE2MDU1ODIgQzQ1LjkyMzQ4ODEsMjQuMTkzODM3MyA0Ni4yNTMxMzQ4LDI1LjI3ODE1MzMgNDYuNDc1Njk1OCwyNi4zODA5MTIzIEM0Ni43MDM5MzgxLDI3LjUwODAxNjIgNDYuODIwMTQwMiwyOC42NjkzMjM1IDQ2LjgyMDE0MDIsMjkuODMwNjMwNyBaIE0yMy43OTE3MTIsMTYuNTk1MTA3OSBDMTkuNzcyMjY5LDE4LjUyMjAzNTYgMTYuNzcyMzUyMywyMi4yODIwNjY0IDE1LjgzNjkyMjEsMjYuODEzNTUyMyBDMTYuMjE2OTA3NiwyNi44MTY5MDU2IDIyLjIyMzM0NzEsMjYuODkzODk2OCAyOS4xNDM3NDY4LDI1LjAyNzE5NCBDMjYuNjQ5MDY4MSwyMC41Mjc0OTcxIDIzLjk4Mzc1MjcsMTYuODU1Mzg5MyAyMy43OTE3MTIsMTYuNTk1MTA3OSBaIE0zMC4zMzc5Mzk3LDI3LjI4MDQ2MjcgQzIyLjkxNjQ2MzgsMjkuNTM2MDc4OCAxNS43OTQ5MDcsMjkuMzczNzgwMSAxNS41Mzk0NDc0LDI5LjM2Mzc4NzMgQzE1LjUzNTI4NTUsMjkuNTIxMDU2MSAxNS41Mjc4ODY2LDI5LjY3MzI5NDkgMTUuNTI3ODg2NiwyOS44MzA2MzA3IEMxNS41Mjc4ODY2LDMzLjU4OTc4OTYgMTYuOTI0ODIyMSwzNy4wMTY4Mzk5IDE5LjIyMDkyMDEsMzkuNjA4MTE5MSBDMTkuMjE1OTY1NCwzOS42MDA1NDA2IDIzLjE2MDQyODgsMzIuNDk2Mjg1NiAzMC45Mzg3Njg2LDI5Ljk0Mjc2NDMgQzMxLjEyNjY0NzQsMjkuODc5MTg2MiAzMS4zMTc4OTUzLDI5LjgyMjI0NzUgMzEuNTA3NDI1NiwyOS43NjcwNTI2IEMzMS4xNDU2NzMsMjguOTM1NDM5NiAzMC43NTA4MjM3LDI4LjEwMjA4MjkgMzAuMzM3OTM5NywyNy4yODA0NjI3IFogTTM5LjQ2MDU2NCwxOC44NDgzMDk2IEMzNi45MjI5NDU0LDE2LjU3NjY2NDkgMzMuNTkwOTM3OCwxNS4xOTg3MzU4IDI5Ljk0MTU3MDksMTUuMTk4NzM1OCBDMjguNzcwNDMzNSwxNS4xOTg3MzU4IDI3LjYzMzkxMjIsMTUuMzQyNjU4NSAyNi41NDUyMTk1LDE1LjYwODcwNzYgQzI2Ljc2MTEwODMsMTUuOTAzMjU5NSAyOS40Njg1MDQ5LDE5LjU0OTQ4IDMxLjkzMzUyMTksMjQuMTQ0NDc3IEMzNy4zNzIxNjMyLDIyLjA3NDU2NTUgMzkuNDI1MDg5LDE4LjkwMTgyNzkgMzkuNDYwNTY0LDE4Ljg0ODMwOTYgWiBNMzIuNDg5ODI1NCwzMi4xOTE3NDA5IEMzMi40NTc3MTk2LDMyLjIwMjUzODUgMzIuNDI1NjEzNywzMi4yMTE4NjA2IDMyLjM5NDIzNDUsMzIuMjIzNTMgQzIzLjg4OTkyNDgsMzUuMjMzMzIxNiAyMS4xMTI3MjcyLDQxLjI5ODkxNTEgMjEuMDgyNjc5Myw0MS4zNjUxMjg2IEMyMy41Mjk2NDYyLDQzLjI5Njk5MzIgMjYuNTk4Nzk1Myw0NC40NjI1MjU2IDI5Ljk0MTU3MDksNDQuNDYyNTI1NiBDMzEuOTM3NjE3OCw0NC40NjI1MjU2IDMzLjgzODkzMjUsNDQuMDQ5OTM4MyAzNS41Njg4MTc3LDQzLjMwMjg5NSBDMzUuMzU1MzczMSw0Mi4wMjQ0MjQyIDM0LjUxODA0NDIsMzcuNTQzMTcwNCAzMi40ODk4MjU0LDMyLjE5MTc0MDkgWiBNMzcuOTk2MDQ3Niw0MS45NjU4NzYgQzQxLjIzMjQ2NDMsMzkuNzQ4Njg4NSA0My41MzEwMDY1LDM2LjIyNzk0NzYgNDQuMTcyMTk5LDMyLjE0OTgyNDkgQzQzLjg3NTUxNywzMi4wNTI3ODExIDM5Ljg0MjkyNzcsMzAuNzU2NzM5MSAzNS4xOTA1NDk4LDMxLjUxMzk3NjMgQzM3LjA4MTE2MjUsMzYuNzg4NDgxNiAzNy44NDkzMjUxLDQxLjA4NDAzMDkgMzcuOTk2MDQ3Niw0MS45NjU4NzYgWiBNMzMuMDQyODkxOSwyNi4zMjQ5MTI2IEMzMy4zNzc0MjcxLDI3LjAyMjcyOTggMzMuNzAxMzkyNSwyNy43MzI5NTQxIDM0LjAwMDUxODgsMjguNDQ2NzMyOSBDMzQuMTA2ODc3NywyOC43MDI3ODkyIDM0LjIxMDcyNjMsMjguOTUzODE1NiAzNC4zMTIwNjQ2LDI5LjIwNDc3NDkgQzM5LjI2MzU2ODcsMjguNTcyMjEyNSA0NC4xNDE3NDQ2LDI5LjYzNjQ3NTkgNDQuMzUwMzAwNiwyOS42Nzk5MzQ0IEM0NC4zMTczMzYsMjYuMjExMTAyMyA0My4wOTUwNjcsMjMuMDI3NTAwMSA0MS4wNzI2NjE2LDIwLjUzNTA3NTUgQzQxLjA0NTQ0NDMsMjAuNTc0MzA4OSAzOC43MzM2ODk4LDIzLjk2NTQxMiAzMy4wNDI4OTE5LDI2LjMyNDkxMjYgWiBNMzMuMDQyODkxOSwyNi4zMjQ5MTI2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPjxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPjwvc3ZnPgo=); } - &.email { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzUuMDM4NDMyNCwzMS42Mzg0MDA2IEw0Ny4yMTMxMTQ4LDQwLjU3NjQyNjQgTDQ3LjIxMzExNDgsMjAgTDM1LjAzODQzMjQsMzEuNjM4NDAwNiBaIE0xMy43NzA0OTE4LDIwIEwxMy43NzA0OTE4LDQwLjU3NjQyNjQgTDI1Ljk0NDkxMjksMzEuNjM3MTQ5MSBMMTMuNzcwNDkxOCwyMCBaIE0zMC40OTE4MDMzLDM1Ljk4NDQ4OTEgTDI3LjU4NTEwMzcsMzMuMjA2NTIxNyBMMTMuNzcwNDkxOCw0MiBMNDcuMjEzMTE0OCw0MiBMMzMuMzk4MTc2MiwzMy4yMDY1MjE3IEwzMC40OTE4MDMzLDM1Ljk4NDQ4OTEgWiBNNDYuMjA5ODM2MSwyMCBMMTQuNzczNzcwNSwyMCBMMzAuNDkxODAzMywzMi40NTQ5MzA0IEw0Ni4yMDk4MzYxLDIwIFogTTQ2LjIwOTgzNjEsMjAiIGlkPSJTaGFwZSIgZmlsbD0iIzMzMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); } - &.facebook { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiMzQjU5OTgiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCgk8cGF0aCBkPSJNMzIuMTM0MTQ1Nyw0Ni4zMTk2NzI5IEwzMi4xMzQxNDU3LDI5Ljk5ODA4OTEgTDM2LjU2NTc1NjUsMjkuOTk4MDg5MSBMMzcuMTUzMDQwNiwyNC4zNzM1ODA5IEwzMi4xMzQxNDU3LDI0LjM3MzU4MDkgTDMyLjE0MTY3NSwyMS41NTg0NjA0IEMzMi4xNDE2NzUsMjAuMDkxNTAyIDMyLjI3ODc3MDcsMTkuMzA1NDcyMiAzNC4zNTEyMDYsMTkuMzA1NDcyMiBMMzcuMTIxNjY4NiwxOS4zMDU0NzIyIEwzNy4xMjE2Njg2LDEzLjY4MDMyNzEgTDMyLjY4OTQzMDQsMTMuNjgwMzI3MSBDMjcuMzY1NTk5NSwxMy42ODAzMjcxIDI1LjQ5MTc0OSwxNi40MDg4MTg3IDI1LjQ5MTc0OSwyMC45OTcyODM1IEwyNS40OTE3NDksMjQuMzc0MjE3OSBMMjIuMTczMjE3MywyNC4zNzQyMTc5IEwyMi4xNzMyMTczLDI5Ljk5ODcyNiBMMjUuNDkxNzQ5LDI5Ljk5ODcyNiBMMjUuNDkxNzQ5LDQ2LjMxOTY3MjkgTDMyLjEzNDE0NTcsNDYuMzE5NjcyOSBaIE0zMi4xMzQxNDU3LDQ2LjMxOTY3MjkiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQoJPHBhdGggZD0iTTU5LjIxMzk2NzYsMzAgQzU5LjIxMzk2NzYsNDYuNTY4NTQzMyA0NS45ODM2MDczLDYwIDI5LjY2MzEyOSw2MCBDMjMuNjEwMjUwMiw2MCAxNy45ODI0MTQ3LDU4LjE1MjUxMzQgMTMuMjk3MDM0MSw1NC45ODI3NzU0IEw0Ny4xNTcyNTU0LDUuODE5NDExMDMgQzU0LjQ2OTE1MzQsMTEuMjgwNjUwMyA1OS4yMTM5Njc2LDIwLjA3Nzc5NzMgNTkuMjEzOTY3NiwzMCBaIE01OS4yMTM5Njc2LDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==); } - &.flickr { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwyOS41MDgxOTY3IEMwLjMzNjg3MTAzMiwxMy4yMTEyNjg5IDEzLjU2NzIzMTMsMCAyOS44ODc3MDk3LDAgQzQ2LjIwODE4OCwwIDU5LjQzODU0ODMsMTMuMjExMjY4OSA1OS40Mzg1NDgzLDI5LjUwODE5NjcgQzU5LjQzODU0ODMsNDUuODA1MTI0NiA0Ni4yMDgxODgsNTkuMDE2MzkzNCAyOS44ODc3MDk3LDU5LjAxNjM5MzQgQzEzLjU2NzIzMTMsNTkuMDE2MzkzNCAwLjMzNjg3MTAzMiw0NS44MDUxMjQ2IDAuMzM2ODcxMDMyLDI5LjUwODE5NjcgWiBNMC4zMzY4NzEwMzIsMjkuNTA4MTk2NyIgZmlsbD0iI0ZGMDA4NCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik0yMi40OTk5NzM1LDIzLjYwNjU1NzQgQzE4Ljk2Mzc2MzUsMjMuNjA2NTU3NCAxNi4wOTczMTgzLDI2LjQ2ODgwMTcgMTYuMDk3MzE4MywyOS45OTk5NDcyIEMxNi4wOTczMTgzLDMzLjUzMTE0NTUgMTguOTYzNzYzNSwzNi4zOTMzODk4IDIyLjQ5OTk3MzUsMzYuMzkzNDQyNiBDMjYuMDM2MjM2NSwzNi4zOTM0NDI2IDI4LjkwMjY4MTcsMzMuNTMxMTQ1NSAyOC45MDI2ODE3LDI5Ljk5OTk0NzIgQzI4LjkwMjY4MTcsMjYuNDY4ODAxNyAyNi4wMzYyODk0LDIzLjYwNjUwNDUgMjIuNDk5OTczNSwyMy42MDY1NTc0IFogTTIyLjQ5OTk3MzUsMjMuNjA2NTU3NCIgaWQ9IlBhdGgiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzEuODU3NzY1NiwyOS45OTk5NDcyIEMzMS44NTc3NjU2LDMzLjUzMTE0NTUgMzQuNzI0MjEwOCwzNi4zOTM0NDI2IDM4LjI2MDQyMDgsMzYuMzkzNDQyNiBDNDEuNzk2NzM2NiwzNi4zOTM0NDI2IDQ0LjY2MzEyOSwzMy41MzExNDU1IDQ0LjY2MzEyOSwyOS45OTk5NDcyIEM0NC42NjMxMjksMjYuNDY4ODU0NSA0MS43OTY2ODM3LDIzLjYwNjU1NzQgMzguMjYwNDIwOCwyMy42MDY1NTc0IEMzNC43MjQxNTc5LDIzLjYwNjU1NzQgMzEuODU3NzY1NiwyNi40Njg4NTQ1IDMxLjg1Nzc2NTYsMjkuOTk5OTQ3MiBaIE0zMy44MjY0MDAxLDMwIEMzMy44MjY0MDAxLDI3LjU1NTQ2MDggMzUuODA4MDkwNCwyNS41NzM3NzA1IDM4LjI1MjYyOTYsMjUuNTczNzcwNSBDNDAuNjk3MTY4OCwyNS41NzM3NzA1IDQyLjY3ODg1OTEsMjcuNTU1NDYwOCA0Mi42Nzg4NTkxLDMwIEM0Mi42Nzg4NTkxLDMyLjQ0NDUzOTIgNDAuNjk3MTY4OCwzNC40MjYyMjk1IDM4LjI1MjYyOTYsMzQuNDI2MjI5NSBDMzUuODA4MDkwNCwzNC40MjYyMjk1IDMzLjgyNjQwMDEsMzIuNDQ0NTM5MiAzMy44MjY0MDAxLDMwIFogTTMzLjgyNjQwMDEsMzAiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjIxMzk2NzYsMjkuNjg1ODI1MiBDNTkuMjEzOTY3Niw0NS45ODI3NTMxIDQ1Ljk4MzYwNzMsNTkuMTk0MDIxOSAyOS42NjMxMjksNTkuMTk0MDIxOSBDMjMuNjEwMjUwMiw1OS4xOTQwMjE5IDE3Ljk4MjQxNDcsNTcuMzc2ODIyIDEzLjI5NzAzNDEsNTQuMjU5MDQ2OSBMNDcuMTU3MjU1NCw1LjkwMTYzOTM0IEM1NC40NjkxNTM0LDExLjI3MzM1MDEgNTkuMjEzOTY3NiwxOS45MjYyODE2IDU5LjIxMzk2NzYsMjkuNjg1ODI1MiBaIE01OS4yMTM5Njc2LDI5LjY4NTgyNTIiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); } - &.github { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==); } - &.instagram { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjc4NjAzMjQwOCwzMCBDMC43ODYwMzI0MDgsMTMuNDMxNDU2NyAxNC4wMTYzOTI3LDAgMzAuMzM2ODcxLDAgQzQ2LjY1NzM0OTQsMCA1OS44ODc3MDk3LDEzLjQzMTQ1NjcgNTkuODg3NzA5NywzMCBDNTkuODg3NzA5Nyw0Ni41Njg1NDMzIDQ2LjY1NzM0OTQsNjAgMzAuMzM2ODcxLDYwIEMxNC4wMTYzOTI3LDYwIDAuNzg2MDMyNDA4LDQ2LjU2ODU0MzMgMC43ODYwMzI0MDgsMzAgWiBNMC43ODYwMzI0MDgsMzAiIGZpbGw9IiM1MTdGQTQiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNNDIuODI2OTIzMSw0NS4xNzE3OTE3IEM0NC4wNTQxMDkzLDQ0LjkwNzM3NzcgNDUuMDU2ODgzNCw0My44NjgwMTY5IDQ1LjI5Njc0MjYsNDIuNjE0NzcyNyBDNDUuMzIyNDg3Nyw0Mi40NzkyOTg2IDQ1LjM0MTM2NzUsNDIuMzQxNjQ2NCA0NS4zNjMyNTA5LDQyLjIwNTczNjcgTDQ1LjM2MzI1MDksMTcuNzk0MjYzMyBDNDUuMzQyMjI1NywxNy42NjA1MzE2IDQ1LjMyNDIwNDEsMTcuNTI2MzY0MyA0NS4yOTg0NTg5LDE3LjM5MzA2ODMgQzQ1LjAzNTQyOTEsMTYuMDI1Njk0NyA0My45MjQ1MjUzLDE0Ljk2NDU1MzYgNDIuNTYwNDYwNiwxNC43NzUwNjQxIEM0Mi41MDM4MjEzLDE0Ljc2NzY1ODggNDIuNDQ4NDY5MiwxNC43NTUwMjYxIDQyLjM5MjY4OCwxNC43NDUwMDcxIEwxOC4yODEwNTQxLDE0Ljc0NTAwNzEgQzE4LjEzNTU5MzksMTQuNzcxNTc5MiAxNy45ODkyNzU1LDE0Ljc5MTYxNzIgMTcuODQ1OTYwOCwxNC44MjQ3MjM0IEMxNi41MTQ1MDY3LDE1LjEzMjY5ODMgMTUuNTI5MzI1MSwxNi4yMjEyODI3IDE1LjMzOTY2OSwxNy41OTA4MzQzIEMxNS4zMzE5NDU1LDE3LjY0Nzg5OSAxNS4zMjAzNjAxLDE3LjcwNDUyOCAxNS4zMTA0OTEyLDE3Ljc2MTU5MjcgTDE1LjMxMDQ5MTIsNDIuMjM5NzE0MSBDMTUuMzM3OTUyNyw0Mi4zOTQ3OTA2IDE1LjM1OTgzNjEsNDIuNTUxMTczOSAxNS4zOTQxNjMsNDIuNzA1Mzc5MSBDMTUuNjg4NTE2LDQ0LjAyNzAxMzkgMTYuNzk5ODQ4OSw0NS4wNTE1NjM5IDE4LjEyMTg2MzEsNDUuMjI0MDY0NyBDMTguMTg1Nzk3LDQ1LjIzMTkwNTYgMTguMjUwMTU5OSw0NS4yNDQ1MzgzIDE4LjMxNDA5MzcsNDUuMjU0OTkyOSBMNDIuMzU5NjQ4NCw0NS4yNTQ5OTI5IEM0Mi41MTU4MzU3LDQ1LjIyNzk4NTIgNDIuNjcyNDUyMSw0NS4yMDU3NjkyIDQyLjgyNjkyMzEsNDUuMTcxNzkxNyBaIE0xOC41NjE2NzY0LDI3LjE5ODE2OTIgQzE4LjU2MTY3NjQsMzEuNzEzMjQ2MyAxOC41NjEyNDczLDM2LjIyODMyMzUgMTguNTYyMTA1NSw0MC43NDM0MDA2IEMxOC41NjIxMDU1LDQxLjM5Mjg5MjIgMTkuMTE2MDU1Niw0MS45NTEzNDE2IDE5Ljc1NTgyMjksNDEuOTUxMzQxNiBDMjYuODA4MjgxNyw0MS45NTE3NzcyIDMzLjg2MDMxMTQsNDEuOTUxNzc3MiA0MC45MTI3NzAxLDQxLjk1MTM0MTYgQzQxLjU1ODU0NDcsNDEuOTUxMzQxNiA0Mi4xMDk0OTEyLDQxLjM5Mzc2MzQgNDIuMTA5NDkxMiw0MC43Mzk0ODAxIEM0Mi4xMDk5MjAzLDM2LjIyOTYzMDMgNDIuMTA5NDkxMiwzMS43MjAyMTYxIDQyLjEwOTQ5MTIsMjcuMjEwODAxOCBMNDIuMTA5NDkxMiwyNy4xMTcxNDYxIEwzOS4yNDA2MjE3LDI3LjExNzE0NjEgQzM5LjY0NTY3ODksMjguNDMxMzc1NSAzOS43NzAxMTM5LDI5Ljc2ODI1NjUgMzkuNjExMzUyLDMxLjEzMDgzODQgQzM5LjQ1MTczMiwzMi40OTM4NTU5IDM5LjAxOTIxMzMsMzMuNzYyMzQ2NSAzOC4zMTQ2NTM5LDM0LjkzMzY5NjQgQzM3LjYwOTY2NTUsMzYuMTA2MzUzMiAzNi42OTU3MTIxLDM3LjA3Nzc1OTEgMzUuNTc2NjU1NywzNy44NTA5NjMzIEMzMi42NzYwMzM4LDM5Ljg1NjUwMjcgMjguODU3MTY3Nyw0MC4wMzI5MjM5IDI1Ljc3OTMzMzMsMzguMjc5MTY2IEMyNC4yMjM0NjcyLDM3LjM5MzU3NDkgMjMuMDAxODU5MSwzNi4xNTg2MjYyIDIyLjE1MDEyMzIsMzQuNTY3MzUwMSBDMjAuODc5NTk5NCwzMi4xOTI4NTA4IDIwLjY3NjY0MTYsMjkuNzAwNzM3MyAyMS40MjE5NjQyLDI3LjExNDk2ODEgQzIwLjQ3MDI1MTIsMjcuMTE1ODM5MyAxOS41MjI0MDAxLDI3LjExNTgzOTMgMTguNTYxNjc2NCwyNy4xMTU4MzkzIEwxOC41NjE2NzY0LDI3LjE5ODE2OTIgWiBNMjQuMjQ3NDk2LDI5LjkwNjM0NDMgQzI0LjE5OTQzODMsMzMuMzY1NTA3NiAyNi45MjcxMzg1LDM2LjEwNzY2IDMwLjE5NzIwMzUsMzYuMTc5MDk5OCBDMzMuNTk5ODU2MSwzNi4yNTMxNTMxIDM2LjM1MjAxNDIsMzMuNDkzMTQwNyAzNi40MjM2NzE2LDMwLjEzNjM0NTMgQzM2LjQ5NzA0NTMsMjYuNjc0NTY4NCAzMy43NDY2MDM1LDIzLjgxNTIzNzMgMzAuMzM3MDg1NiwyMy44MTc0MTU0IEMyNy4wMDM5NDQ5LDIzLjgxNTIzNzMgMjQuMjk0MjY2NCwyNi41Mzc3ODc1IDI0LjI0NzQ5NiwyOS45MDYzNDQzIFogTTQwLjk1NDM5MTUsMjIuNTY5ODM0IEM0MS41OTA3MjYxLDIyLjU1MzcxNjUgNDIuMTA5MDYyMSwyMi4wMDAwNTg3IDQyLjEwOTA2MjEsMjEuMzUzMTgwOCBDNDIuMTA5NDkxMiwyMC4zOTAwNTE1IDQyLjEwOTQ5MTIsMTkuNDI2NDg2NSA0Mi4xMDkwNjIxLDE4LjQ2MzM1NzIgQzQyLjEwOTA2MjEsMTcuNzcyNDgyOSA0MS41NzA1NTkxLDE3LjIyMjc0NTYgNDAuODkwODg2NywxNy4yMjIzMDk5IEMzOS45NDQ3NTE5LDE3LjIyMTg3NDMgMzguOTk4NjE3MSwxNy4yMjE0Mzg3IDM4LjA1MjA1MzIsMTcuMjIyMzA5OSBDMzcuMzc0MDk3MiwxNy4yMjMxODEyIDM2LjgzMzg3NzksMTcuNzc0MjI1MyAzNi44MzM0NDg4LDE4LjQ2NTA5OTYgQzM2LjgzMzAxOTcsMTkuNDE5OTUyNCAzNi44MzA0NDUyLDIwLjM3NDgwNTIgMzYuODM2ODgxNSwyMS4zMzAwOTM2IEMzNi44Mzc3Mzk2LDIxLjQ3MjUzNzQgMzYuODY0MzQzLDIxLjYyMDY0NDEgMzYuOTA4OTY3OSwyMS43NTU2ODI2IEMzNy4wNzg4ODYsMjIuMjY0MDM3MiAzNy41Mzc1NzksMjIuNTc1OTMyNSAzOC4wOTkyNTI3LDIyLjU3ODU0NjIgQzM4LjU1NTgwMDMsMjIuNTc5NDE3NCAzOS4wMTIzNDc5LDIyLjU3ODExMDYgMzkuNDY5MzI0NSwyMi41NzgxMTA2IEMzOS45NjM2MzE3LDIyLjU3MjQ0NzcgNDAuNDU5NjU1MiwyMi41ODIwMzEgNDAuOTU0MzkxNSwyMi41Njk4MzQgWiBNNDAuOTU0MzkxNSwyMi41Njk4MzQiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5Ljg4NzcwOTcsMzAgQzU5Ljg4NzcwOTcsNDYuNTY4NTQzMyA0Ni42NTczNDk0LDYwIDMwLjMzNjg3MSw2MCBDMjQuMjgzOTkyMiw2MCAxOC42NTYxNTY4LDU4LjE1MjUxMzQgMTMuOTcwNzc2MSw1NC45ODI3NzU0IEw0Ny44MzA5OTc1LDUuODE5NDExMDMgQzU1LjE0Mjg5NTUsMTEuMjgwNjUwMyA1OS44ODc3MDk3LDIwLjA3Nzc5NzMgNTkuODg3NzA5NywzMCBaIE01OS44ODc3MDk3LDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==); } - &.linkedin { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjQ0OTE2MTM3NiwzMCBDMC40NDkxNjEzNzYsMTMuNDMxNDU2NyAxMy42Nzk1MjE3LDAgMzAsMCBDNDYuMzIwNDc4MywwIDU5LjU1MDgzODYsMTMuNDMxNDU2NyA1OS41NTA4Mzg2LDMwIEM1OS41NTA4Mzg2LDQ2LjU2ODU0MzMgNDYuMzIwNDc4Myw2MCAzMCw2MCBDMTMuNjc5NTIxNyw2MCAwLjQ0OTE2MTM3Niw0Ni41Njg1NDMzIDAuNDQ5MTYxMzc2LDMwIFogTTAuNDQ5MTYxMzc2LDMwIiBmaWxsPSIjMDA3QkI2IiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTIyLjQ2ODAzOTIsMjMuNzA5ODE0NCBMMTUuNzgwODM2NiwyMy43MDk4MTQ0IEwxNS43ODA4MzY2LDQ0LjEzNjk1MzcgTDIyLjQ2ODAzOTIsNDQuMTM2OTUzNyBMMjIuNDY4MDM5MiwyMy43MDk4MTQ0IFogTTIyLjQ2ODAzOTIsMjMuNzA5ODE0NCIgaWQ9IlBhdGgiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjIuOTA4NDc1MywxNy4zOTA4NzYxIEMyMi44NjUwNzI3LDE1LjM4ODAwODEgMjEuNDU2MjkxNywxMy44NjI1MDQgMTkuMTY4NjQxOCwxMy44NjI1MDQgQzE2Ljg4MDk5MTgsMTMuODYyNTA0IDE1LjM4NTQwNTcsMTUuMzg4MDA4MSAxNS4zODU0MDU3LDE3LjM5MDg3NjEgQzE1LjM4NTQwNTcsMTkuMzUyMjU3OSAxNi44MzY3ODgsMjAuOTIxNjg4NiAxOS4wODE4MzY2LDIwLjkyMTY4ODYgTDE5LjEyNDU3MTQsMjAuOTIxNjg4NiBDMjEuNDU2MjkxNywyMC45MjE2ODg2IDIyLjkwODQ3NTMsMTkuMzUyMjU3OSAyMi45MDg0NzUzLDE3LjM5MDg3NjEgWiBNMjIuOTA4NDc1MywxNy4zOTA4NzYxIiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik00Ni41ODQ2NTAyLDMyLjQyNDY1NjMgQzQ2LjU4NDY1MDIsMjYuMTUwMzIyNiA0My4yODU2NTM0LDIzLjIzMDE0NTYgMzguODg1MTY1OCwyMy4yMzAxNDU2IEMzNS4zMzQ3MDExLDIzLjIzMDE0NTYgMzMuNzQ1MDk4MywyNS4yMTI4MTI4IDMyLjg1NzU0ODksMjYuNjAzNjg5NiBMMzIuODU3NTQ4OSwyMy43MTAzNTY3IEwyNi4xNjk1NDQ5LDIzLjcxMDM1NjcgQzI2LjI1NzY4NTYsMjUuNjI3MTMzOCAyNi4xNjk1NDQ5LDQ0LjEzNzQ5NiAyNi4xNjk1NDQ5LDQ0LjEzNzQ5NiBMMzIuODU3NTQ4OSw0NC4xMzc0OTYgTDMyLjg1NzU0ODksMzIuNzI5Mjk2MSBDMzIuODU3NTQ4OSwzMi4xMTg3OTYzIDMyLjkwMDk1MTQsMzEuNTA5Nzg3NyAzMy4wNzc3NjY5LDMxLjA3MjY4OTggQzMzLjU2MTA3MTMsMjkuODUzMDQ1OCAzNC42NjE0OTM3LDI4LjU5MDI4ODUgMzYuNTA4OTc0NywyOC41OTAyODg1IEMzOC45Mjk3NzAzLDI4LjU5MDI4ODUgMzkuODk3NDQ3NiwzMC40NjM0MTAxIDM5Ljg5NzQ0NzYsMzMuMjA4NDIyNiBMMzkuODk3NDQ3Niw0NC4xMzY5NTM3IEw0Ni41ODQzODMyLDQ0LjEzNjk1MzcgTDQ2LjU4NDY1MDIsMzIuNDI0NjU2MyBaIE00Ni41ODQ2NTAyLDMyLjQyNDY1NjMiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjU1MDgzODYsMzAgQzU5LjU1MDgzODYsNDYuNTY4NTQzMyA0Ni4zMjA0NzgzLDYwIDMwLDYwIEMyMy45NDcxMjEyLDYwIDE4LjMxOTI4NTgsNTguMTUyNTEzNCAxMy42MzM5MDUxLDU0Ljk4Mjc3NTQgTDQ3LjQ5NDEyNjQsNS44MTk0MTEwMyBDNTQuODA2MDI0NSwxMS4yODA2NTAzIDU5LjU1MDgzODYsMjAuMDc3Nzk3MyA1OS41NTA4Mzg2LDMwIFogTTU5LjU1MDgzODYsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); } - &.pinterest { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjg4MzgzMzY3NSwzMCBDMC44ODM4MzM2NzUsMTMuNDMxNDU2NyAxMy45MDA4MDExLDAgMjkuOTU4MDQ1OSwwIEM0Ni4wMTUyOTA3LDAgNTkuMDMyMjU4MSwxMy40MzE0NTY3IDU5LjAzMjI1ODEsMzAgQzU5LjAzMjI1ODEsNDYuNTY4NTQzMyA0Ni4wMTUyOTA3LDYwIDI5Ljk1ODA0NTksNjAgQzEzLjkwMDgwMTEsNjAgMC44ODM4MzM2NzUsNDYuNTY4NTQzMyAwLjg4MzgzMzY3NSwzMCBaIE0wLjg4MzgzMzY3NSwzMCIgZmlsbD0iI0NCMjAyNyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik0xNy41ODY5MTY1LDI1LjY1NjQ4OTQgQzE3LjU4NjkxNjUsMjguOTU5MDYxOCAxOC43OTg2ODUxLDMxLjg5NzE2OTggMjEuMzk3Njk0MSwzMi45OTIwNTU5IEMyMS44MjM4Njk2LDMzLjE3MTgzNTYgMjIuMjA1NjA4NywzMi45OTgyNDA1IDIyLjMyOTIwMzcsMzIuNTExMzYzOCBDMjIuNDE1MTgyOSwzMi4xNzQ0MTAxIDIyLjYxODU1NjYsMzEuMzI0MzQ4NSAyMi43MDkyODk0LDMwLjk3MDMzMzkgQzIyLjgzMzkxNzksMzAuNDg4Nzg4OCAyMi43ODU1NTQ2LDMwLjMxOTg4NTQgMjIuNDQxNjM4LDI5LjkwMDE4NjIgQzIxLjY5MjIxNCwyOC45ODgwNjU0IDIxLjIxMzMzNSwyNy44MDcyMzQ4IDIxLjIxMzMzNSwyNi4xMzQ2MjI0IEMyMS4yMTMzMzUsMjEuMjgyMDYzMSAyNC43MzE4NjYyLDE2LjkzNzkyIDMwLjM3NTQ4NzcsMTYuOTM3OTIgQzM1LjM3MjgxODgsMTYuOTM3OTIgMzguMTE4MzY0NCwyMC4wODg2NSAzOC4xMTgzNjQ0LDI0LjI5NjUxODggQzM4LjExODM2NDQsMjkuODMzMDA4NyAzNS43NDM4MTA2LDM0LjUwNTc4ODIgMzIuMjE4NjY1NiwzNC41MDU3ODgyIEMzMC4yNzE5NDA3LDM0LjUwNTc4ODIgMjguODE0NjM1NSwzMi44NDQ0Nzg3IDI5LjI4MTczMzcsMzAuODA2OTc1NCBDMjkuODQxMDExNSwyOC4zNzQ1MTEyIDMwLjkyNDQzMTQsMjUuNzQ5MjU4MyAzMC45MjQ0MzE0LDIzLjk5MzQ3MzggQzMwLjkyNDQzMTQsMjIuNDIxNzM0MiAzMC4xMDY4MDI4LDIxLjExMDgxMzkgMjguNDE0NzA4NCwyMS4xMTA4MTM5IEMyNi40MjQ1ODA2LDIxLjExMDgxMzkgMjQuODI1OTA1OCwyMy4yMzUxMTQ4IDI0LjgyNTkwNTgsMjYuMDgwODgwNCBDMjQuODI1OTA1OCwyNy44OTMzOTI1IDI1LjQxOTQ5MjYsMjkuMTE5MjIxNCAyNS40MTk0OTI2LDI5LjExOTIyMTQgQzI1LjQxOTQ5MjYsMjkuMTE5MjIxNCAyMy4zODI4NjE2LDM4LjAyMzExNTMgMjMuMDI1OTI0MiwzOS41ODI0ODU2IEMyMi4zMTQ5NDI4LDQyLjY4ODAwNDEgMjIuOTE5MDcwMyw0Ni40OTQ5NDA3IDIyLjk3MDEyMDQsNDYuODc5NDUxOCBDMjMuMDAwMDg5MSw0Ny4xMDcyMTU0IDIzLjI4Mzg2MTYsNDcuMTYxMzgzOSAyMy40MTI0MTcsNDYuOTg5MjgxNiBDMjMuNTk1OTQ5NCw0Ni43NDIxMTEyIDI1Ljk2NjE2MjksNDMuNzIyNzUwNCAyNi43NzIwMTA3LDQwLjcwNTczNTYgQzI2Ljk5OTk3OTUsMzkuODUxNDA4OCAyOC4wODA5MTkyLDM1LjQyNzcxOSAyOC4wODA5MTkyLDM1LjQyNzcxOSBDMjguNzI3NDE2MiwzNi43MDAyNTIzIDMwLjYxNzA5NzMsMzcuODIxMTU2NCAzMi42MjY2NTMyLDM3LjgyMTE1NjQgQzM4LjYwODgxNzYsMzcuODIxMTU2NCA0Mi42Njc0MDUyLDMyLjE5MzgxNjkgNDIuNjY3NDA1MiwyNC42NjE0MDk4IEM0Mi42Njc0MDUyLDE4Ljk2NTgyNjYgMzcuOTkyMDgyNSwxMy42NjEzNjU2IDMwLjg4NjE5NTUsMTMuNjYxMzY1NiBDMjIuMDQ0ODExMiwxMy42NjEzNjU2IDE3LjU4NjkxNjUsMjAuMjAyMTA1MyAxNy41ODY5MTY1LDI1LjY1NjQ4OTQgWiBNMTcuNTg2OTE2NSwyNS42NTY0ODk0IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4wMzIyNTgxLDMwIEM1OS4wMzIyNTgxLDQ2LjU2ODU0MzMgNDYuMDE1MjkwNyw2MCAyOS45NTgwNDU5LDYwIEMyNC4wMDI3OTQxLDYwIDE4LjQ2NTczMDIsNTguMTUyNTEzNCAxMy44NTU5MjAzLDU0Ljk4Mjc3NTQgTDQ3LjE3MDAwOSw1LjgxOTQxMTAzIEM1NC4zNjM5NzMyLDExLjI4MDY1MDMgNTkuMDMyMjU4MSwyMC4wNzc3OTczIDU5LjAzMjI1ODEsMzAgWiBNNTkuMDMyMjU4MSwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=); } - &.rss { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiNFMThGMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjYuNTE0Nzc1NSwzOC43NTcxMjk2IEMyNi41MTQ3NzU1LDM2LjgxOTI5MzQgMjQuOTU3NTAyMSwzNS4yMjkxNjU2IDIzLjAyOTcwNDcsMzUuMjI5MTY1NiBDMjEuMTA5NDMzMSwzNS4yMjkxNjU2IDE5LjU0OTI3NzUsMzYuODE5MjkzNCAxOS41NDkyNzc1LDM4Ljc1NzEyOTYgQzE5LjU0OTI3NzUsNDAuNzA1MjA2OCAyMS4xMDk0MzMxLDQyLjI3NzYxNiAyMy4wMjk3MDQ3LDQyLjI3NzYxNiBDMjQuOTU3NDIyLDQyLjI3NzYxNiAyNi41MTQ2OTU0LDQwLjcwNTI4ODEgMjYuNTE0Nzc1NSwzOC43NTcxMjk2IFogTTM2LjgwNzU0MzMsNDIuMjcwMDU3MSBDMzYuODA3NTQzMywzMi42MDU1ODQ3IDI5LjA2MjY0OCwyNC43NDQyNzA1IDE5LjU0OTI3NzUsMjQuNzQ0MjcwNSBMMTkuNTQ5Mjc3NSwyOS44MzE4MDE3IEMyMi44MTI4OTg2LDI5LjgzMTgwMTcgMjUuODgxNzMwMywzMS4xMjcyMTQ1IDI4LjE5MjA2MDksMzMuNDc0MDQyOSBDMzAuNDk5OTg5NSwzNS44MTU5MTMzIDMxLjc3MzI4NTMsMzguOTQ1NDUxMyAzMS43NzMyODUzLDQyLjI3MDEzODQgTDM2LjgwNzU0MzMsNDIuMjcwMDU3MSBaIE00NS42ODcxNDgyLDQyLjI2NzUzNzUgQzQ1LjY4NzE0ODIsMjcuNjM0Njg3OCAzMy45NjA0MDE0LDE1LjcyMjM4NCAxOS41NDkyNzc1LDE1LjcyMjM4NCBMMTkuNTQ5Mjc3NSwyMC44MTIzNTM1IEMzMS4xODY5MTYsMjAuODEyMzUzNSA0MC42NjA0OTYsMzAuNDM4ODY5IDQwLjY2MDQ5Niw0Mi4yNjczNzQ5IEw0NS42ODcxNDgyLDQyLjI2NzUzNzUgWiBNNDUuNjg3MTQ4Miw0Mi4yNjc1Mzc1IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4yMTM5Njc2LDMwIEM1OS4yMTM5Njc2LDQ2LjU2ODU0MzMgNDUuOTgzNjA3Myw2MCAyOS42NjMxMjksNjAgQzIzLjYxMDI1MDIsNjAgMTcuOTgyNDE0Nyw1OC4xNTI1MTM0IDEzLjI5NzAzNDEsNTQuOTgyNzc1NCBMNDcuMTU3MjU1NCw1LjgxOTQxMTAzIEM1NC40NjkxNTM0LDExLjI4MDY1MDMgNTkuMjEzOTY3NiwyMC4wNzc3OTczIDU5LjIxMzk2NzYsMzAgWiBNNTkuMjEzOTY3NiwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=); } - &.stackoverflow { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogIDxwYXRoIGZpbGw9IiM5MTkxOTEiIGQ9Im03LjI5NDA3NSwyMy4xMTAxODhsMi4zODU4NjQsMC4wMjMyMzdsLTAuMDgzMTc3LDEwLjU1MjY3OWwxNS44NzgyMjEsMGwwLC0xMC41MTQ1MDVsMi41MTQwNSwwbDAsMTMuMDc3NDFsLTIwLjcwNzg0MywwbDAuMDEyODksLTEzLjEzODgxNWwtMC4wMDAwMDUsLTAuMDAwMDA2eiIvPg0KICA8cmVjdCBmaWxsPSIjOTE5MTkxIiB5PSIyOS4zNDg4NjIiIHg9IjExLjE4NDU4MiIgaGVpZ2h0PSIyLjYyODYyNiIgd2lkdGg9IjEyLjQzNzkzOCIvPg0KICA8cmVjdCBmaWxsPSIjYTc4YjY4IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUzOTU3MzM0MTAzMDQ3MTcsMC4wNTE3MjY2OTg0ODM5OTIwNCwtMC4wNTIwNzU4NjQ3ODAwMzI1MiwwLjUzNTk1NTUyNjQxMDg2NjUsMy42NjExNDE2NjQ4Njc4MzI1LDEuNDA2NzI1NTcyNzY2NjYxNCkgIiB5PSI0MS41MjQzNDciIHg9IjE4LjQ5MTI1IiBoZWlnaHQ9IjUuMDAzOTIzIiB3aWR0aD0iMjMuMDY2ODY0Ii8+DQogIDxyZWN0IGZpbGw9IiNjMTk2NTMiIHRyYW5zZm9ybT0ibWF0cml4KDAuNTIxNjk5ODY3NjIzODk1OCwwLjE0NjI1NTg2MDkyMjc4OTkyLC0wLjE0NzI0MzExOTMxNjAyNDIsMC41MTgyMDE4OTM4Mjc1NDE2LDMuNjYxMTQxNjY0ODY3ODMyNSwxLjQwNjcyNTU3Mjc2NjY2MTQpICIgeT0iMjcuNDM4NTE1IiB4PSIyNC45MDcwNzYiIGhlaWdodD0iNS4wMDM5MjMiIHdpZHRoPSIyMy4wNjY4NjQiLz4NCiAgPHJlY3QgZmlsbD0iI2Q0OGMyOCIgdHJhbnNmb3JtPSJtYXRyaXgoMC40NjQwMDkwMjQ0MjYxMjE2LDAuMjc4MzgzMDczOTI4ODQ3NSwtMC4yODAyNjIyMTkzMTUxMzUzLDAuNDYwODk3ODY1MDk5NzY5OTMsMy42NjExNDE2NjQ4Njc4MzI1LDEuNDA2NzI1NTcyNzY2NjYxNCkgIiB5PSI3LjQ2MTA5MiIgeD0iMzAuMDg5Mzk2IiBoZWlnaHQ9IjUuMDAzOTIzIiB3aWR0aD0iMjMuMDY2ODY0Ii8+DQogIDxyZWN0IGZpbGw9IiNmZTg5MDgiIHRyYW5zZm9ybT0ibWF0cml4KDAuMzE1NzIyMjcwMDE0MzMwNCwwLjQzNzY5MzU2MDg5OTk2MDIsLTAuNDQwNjQ4MDg2MjAxOTY2NCwwLjMxMzYwNTM2NjYwNjg4NzM3LDMuNjYxMTQxNjY0ODY3ODMyNSwxLjQwNjcyNTU3Mjc2NjY2MTQpICIgeT0iLTIwLjM0MzgwMyIgeD0iMjguNDg4MzAzIiBoZWlnaHQ9IjUuMDAzOTIzIiB3aWR0aD0iMjMuMDY2ODY0Ii8+DQogIDxyZWN0IGZpbGw9IiNmZjdhMTUiIHRyYW5zZm9ybT0ibWF0cml4KDAuMDg5MzQwMjMwNDgyMTY3NiwwLjUzMTA4MjgzMzM4NDMxNzksLTAuNTM0NjY3NzU2MjgyMTI5OSwwLjA4ODc0MTIwODMxNTI0NTg1LDMuNjYxMTQxNjY0ODY3ODMyNSwxLjQwNjcyNTU3Mjc2NjY2MTQpICIgeT0iLTQ3LjA0NTkyNyIgeD0iMTQuMTU4MjAzIiBoZWlnaHQ9IjUuMDAzOTIzIiB3aWR0aD0iMjMuMDY2ODY0Ii8+DQo8L3N2Zz4NCg==); } - &.twitter { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLDMwIEMwLDEzLjQzMTQ1NjcgMTMuNDUwODY2MywwIDMwLjA0MzM1MjYsMCBDNDYuNjM1ODM4OSwwIDYwLjA4NjcwNTIsMTMuNDMxNDU2NyA2MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMxMy40NTA4NjYzLDYwIDAsNDYuNTY4NTQzMyAwLDMwIFogTTAsMzAiIGZpbGw9IiM0MDk5RkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IEwyOS4zNjI3MjA2LDI0LjkyNjA0NTMgTDI4LjMxMzUwMTYsMjQuNzk4OTM1IEMyNC40OTQzNDQ1LDI0LjMxMTY3ODcgMjEuMTU3ODI4MSwyMi42NTkyNDQ0IDE4LjMyNDkzNjgsMTkuODg0MDAyMyBMMTYuOTM5OTY3NywxOC41MDY5NzM3IEwxNi41ODMyMzMzLDE5LjUyMzg1NjMgQzE1LjgyNzc5NTYsMjEuNzkwNjU3MiAxNi4zMTA0MzYzLDI0LjE4NDU2ODQgMTcuODg0MjY0OCwyNS43OTQ2MzI1IEMxOC43MjM2NCwyNi42ODQ0MDQ4IDE4LjUzNDc4MDYsMjYuODExNTE1MiAxNy4wODY4NTg0LDI2LjI4MTg4ODggQzE2LjU4MzIzMzMsMjYuMTEyNDA4MyAxNi4xNDI1NjEzLDI1Ljk4NTI5OCAxNi4xMDA1OTI1LDI2LjA0ODg1MzIgQzE1Ljk1MzcwMTksMjYuMTk3MTQ4NiAxNi40NTczMjcsMjguMTI0OTg4NSAxNi44NTYwMzAyLDI4Ljg4NzY1MDUgQzE3LjQwMTYyNDEsMjkuOTQ2OTAzMyAxOC41MTM3OTYyLDMwLjk4NDk3MDkgMTkuNzMwODkwMiwzMS41OTkzMzc1IEwyMC43NTkxMjQ4LDMyLjA4NjU5MzggTDE5LjU0MjAzMDgsMzIuMTA3Nzc4OCBDMTguMzY2OTA1NSwzMi4xMDc3Nzg4IDE4LjMyNDkzNjgsMzIuMTI4OTYzOSAxOC40NTA4NDMxLDMyLjU3Mzg1IEMxOC44NzA1MzA3LDMzLjk1MDg3ODYgMjAuNTI4Mjk2NywzNS40MTI2NDc0IDIyLjM3NDkyMjEsMzYuMDQ4MTk5IEwyMy42NzU5NTM2LDM2LjQ5MzA4NTIgTDIyLjU0Mjc5NzEsMzcuMTcxMDA2OSBDMjAuODY0MDQ2NywzOC4xNDU1MTk0IDE4Ljg5MTUxNSwzOC42OTYzMzA5IDE2LjkxODk4MzMsMzguNzM4NzAxIEMxNS45NzQ2ODYyLDM4Ljc1OTg4NiAxNS4xOTgyNjQyLDM4Ljg0NDYyNjIgMTUuMTk4MjY0MiwzOC45MDgxODE0IEMxNS4xOTgyNjQyLDM5LjEyMDAzMTkgMTcuNzU4MzU4NSw0MC4zMDYzOTUgMTkuMjQ4MjQ5NSw0MC43NzI0NjYyIEMyMy43MTc5MjI0LDQyLjE0OTQ5NDggMjkuMDI2OTcwNSw0MS41NTYzMTMyIDMzLjAxNDAwMjcsMzkuMjA0NzcyMiBDMzUuODQ2ODk0LDM3LjUzMTE1MjggMzguNjc5Nzg1MywzNC4yMDUwOTkzIDQwLjAwMTgwMTIsMzAuOTg0OTcwOSBDNDAuNzE1MjcwMSwyOS4yNjg5ODE1IDQxLjQyODczOSwyNi4xMzM1OTM0IDQxLjQyODczOSwyNC42Mjk0NTQ1IEM0MS40Mjg3MzksMjMuNjU0OTQyIDQxLjQ5MTY5MjIsMjMuNTI3ODMxNyA0Mi42NjY4MTc0LDIyLjM2MjY1MzcgQzQzLjM1OTMwMiwyMS42ODQ3MzE5IDQ0LjAwOTgxNzgsMjAuOTQzMjU1IDQ0LjEzNTcyNCwyMC43MzE0MDQ0IEM0NC4zNDU1Njc4LDIwLjMyODg4ODQgNDQuMzI0NTgzNSwyMC4zMjg4ODg0IDQzLjI1NDM4MDEsMjAuNjg5MDM0MyBDNDEuNDcwNzA3OCwyMS4zMjQ1ODYgNDEuMjE4ODk1MiwyMS4yMzk4NDU4IDQyLjEwMDIzOTIsMjAuMjg2NTE4MyBDNDIuNzUwNzU1LDE5LjYwODU5NjUgNDMuNTI3MTc3LDE4LjM3OTg2MzQgNDMuNTI3MTc3LDE4LjAxOTcxNzQgQzQzLjUyNzE3NywxNy45NTYxNjIzIDQzLjIxMjQxMTMsMTguMDYyMDg3NiA0Mi44NTU2NzY5LDE4LjI1Mjc1MyBDNDIuNDc3OTU4LDE4LjQ2NDYwMzYgNDEuNjM4NTgyOCwxOC43ODIzNzk0IDQxLjAwOTA1MTQsMTguOTczMDQ0OSBMMzkuODc1ODk0OSwxOS4zMzMxOTA4IEwzOC44NDc2NjAzLDE4LjYzNDA4NCBDMzguMjgxMDgyLDE4LjI1Mjc1MyAzNy40ODM2NzU2LDE3LjgyOTA1MiAzNy4wNjM5ODgsMTcuNzAxOTQxNiBDMzUuOTkzNzg0NiwxNy40MDUzNTA5IDM0LjM1NzAwMywxNy40NDc3MjEgMzMuMzkxNzIxNSwxNy43ODY2ODE4IEMzMC43Njg2NzQsMTguNzQwMDA5MyAyOS4xMTA5MDgsMjEuMTk3NDc1NyAyOS4yOTk3Njc1LDIzLjg4Nzk3NzYgWiBNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik02MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMyMy44ODk1OTI1LDYwIDE4LjE2Nzk1OTgsNTguMTUyNTEzNCAxMy40MDQ0ODk1LDU0Ljk4Mjc3NTQgTDQ3LjgyOTA0NzgsNS44MTk0MTEwMyBDNTUuMjYyODEwOCwxMS4yODA2NTAzIDYwLjA4NjcwNTIsMjAuMDc3Nzk3MyA2MC4wODY3MDUyLDMwIFogTTYwLjA4NjcwNTIsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); } -} diff --git a/_scss/_variables.scss b/_scss/_variables.scss deleted file mode 100644 index 5ec339423a8db..0000000000000 --- a/_scss/_variables.scss +++ /dev/null @@ -1,27 +0,0 @@ - -// -// VARIABLES -// - -// Colors -$blue: #4183C4; - -// Grays -$black: #000; -$darkerGray: #222; -$darkGray: #333; -$gray: #666; -$lightGray: #eee; -$white: #fff; - -// Font stacks -$helvetica: Helvetica, Arial, sans-serif; -$helveticaNeue: "Helvetica Neue", Helvetica, Arial, sans-serif; -$georgia: Georgia, serif; - -// Mobile breakpoints -@mixin mobile { - @media screen and (max-width: 640px) { - @content; - } -} \ No newline at end of file diff --git a/about.md b/about.md deleted file mode 100644 index db54e4dba16c6..0000000000000 --- a/about.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: page -title: About -permalink: /about/ ---- - -Some information about you! - -### More Information - -A place to include any other types of information that you'd like to include about yourself. - -### Contact me - -[email@domain.com](mailto:email@domain.com) \ No newline at end of file diff --git a/archive.html b/archive.html new file mode 100644 index 0000000000000..2056c925f02ed --- /dev/null +++ b/archive.html @@ -0,0 +1,22 @@ +--- +layout: default +--- + +
+{%for post in site.posts %} + {% unless post.next %} +

{{ post.date | date: '%Y' }}

+
    + {% else %} + {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} + {% capture nyear %}{{ post.next.date | date: '%Y' }}{% endcapture %} + {% if year != nyear %} +
+

{{ post.date | date: '%Y' }}

+ +
diff --git a/authconfig/_posts/2015-10-21-centosldap.md b/authconfig/_posts/2015-10-21-centosldap.md new file mode 100644 index 0000000000000..fa31330f757e0 --- /dev/null +++ b/authconfig/_posts/2015-10-21-centosldap.md @@ -0,0 +1,78 @@ +--- +layout: post +category: "serverconfig" +subcategory: "Authentication" +title: "LDAP Authentication (Centos 7)" +ordinal: 3 +date: 2015-10-22 16:25:06 -0700 +comments: true +--- + + +### Install sssd + # yum install sssd -y + +### Install authconfig + # yum install authconfig -y + +### Configure sssd (copy and paste this whole section) +*Before using you will need to enter your organization's domain components and your ldap uri* + + # cat >/etc/sssd/sssd.conf< + +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','serverconfig' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Authentication' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/coaching/_posts/2013-05-22-baseball.md b/coaching/_posts/2013-05-22-baseball.md new file mode 100644 index 0000000000000..c099869ff1e45 --- /dev/null +++ b/coaching/_posts/2013-05-22-baseball.md @@ -0,0 +1,10 @@ +--- +layout: post +category: coaching +title: "Baseball" +date: 2013-05-22 16:25:06 -0700 +comments: false +ordinal: 3 +--- + +. diff --git a/coaching/_posts/2013-05-22-basketball.md b/coaching/_posts/2013-05-22-basketball.md new file mode 100644 index 0000000000000..99cc8131b8a6e --- /dev/null +++ b/coaching/_posts/2013-05-22-basketball.md @@ -0,0 +1,8 @@ +--- +layout: post +category: coaching +title: "Basketball" +date: 2013-05-22 16:25:06 -0700 +comments: false +ordinal: 2 +--- diff --git a/coaching/_posts/2013-05-22-soccer.md b/coaching/_posts/2013-05-22-soccer.md new file mode 100644 index 0000000000000..6a18062d7c664 --- /dev/null +++ b/coaching/_posts/2013-05-22-soccer.md @@ -0,0 +1,8 @@ +--- +layout: post +category: coaching +title: "Soccer" +date: 2013-05-22 16:25:06 -0700 +comments: false +ordinal: 1 +--- diff --git a/coaching/index.html b/coaching/index.html new file mode 100644 index 0000000000000..2a7dc146b41aa --- /dev/null +++ b/coaching/index.html @@ -0,0 +1,25 @@ +--- +layout: default +title: Coaching +category: coaching +--- + +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','coaching' | sort: 'ordinal' %} + +{% for post in categoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | strip_html | truncatewords: 100 }} +
+
+{% endfor %} +
diff --git a/css/bootstrap.min.css b/css/bootstrap.min.css new file mode 100644 index 0000000000000..d3ecfb1dfd01b --- /dev/null +++ b/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */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,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:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}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 silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{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^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-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"}*{-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:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;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;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;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}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:400;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%}cite{font-style:normal}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:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{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:700}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'}blockquote:before,blockquote:after{content:""}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%;-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}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-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{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}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-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:700}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:thin dotted;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:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;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{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;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{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,.form-horizontal .form-group-sm .form-control{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}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.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{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{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{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.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 .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{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;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{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;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:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.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:400;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:#428bca;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 solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.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:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.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>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-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-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-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>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.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-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.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height: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:400;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{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:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.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:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{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-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;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}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:12px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} diff --git a/css/theme.css b/css/theme.css new file mode 100644 index 0000000000000..9b945c66fdc73 --- /dev/null +++ b/css/theme.css @@ -0,0 +1,78 @@ +body { + padding-top: 60px; + padding-bottom: 60px; +} + +.copyright { + color: #ffffff; +} + +.footer { + text-align: center; +} + +.footer a { + color: #ee4444; +} + +.sidebar h1 { + color: #ee4444; + font-size: 1.3em; +} + +.sidebar a { + color: #428bca; +} + +.sidebar li { + margin-top: .7em; + line-height: 1em; +} + +.sidebar a:hover { + color: #3071a9; +} + +.container-left { + margin: 0; +} + +.well h1 { + color: #ee4444; + font-size: 1.3em; +} + +.author { + color: #ee4444; +} + +.author a { + color: #ee4444; +} + +.headerpic { + margin-right:10px; + margin-bottom:5px; + margin-left:2px; + margin-top:0px; +} + +ul { + margin-left: 10px; + padding-left: 10px; +} + +.collapsibleList li{ + list-style-image:url('/images/button.png'); + cursor:auto; +} + +li.collapsibleListOpen{ + list-style-image:url('/images/button-open.jpg'); + cursor:pointer; +} + +li.collapsibleListClosed{ + list-style-image:url('/images/button-closed.jpg'); + cursor:pointer; +} diff --git a/dads2busy.github.io.Rproj b/dads2busy.github.io.Rproj new file mode 100644 index 0000000000000..e83436a3e91c4 --- /dev/null +++ b/dads2busy.github.io.Rproj @@ -0,0 +1,16 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX + +AutoAppendNewline: Yes +StripTrailingWhitespace: Yes diff --git a/datadiscovery/access/_posts/2015-05-05-dataaccessrestrictions.md b/datadiscovery/access/_posts/2015-05-05-dataaccessrestrictions.md new file mode 100644 index 0000000000000..c319a38f5e2f9 --- /dev/null +++ b/datadiscovery/access/_posts/2015-05-05-dataaccessrestrictions.md @@ -0,0 +1,14 @@ +--- +layout: post +category: datadiscovery +subcategory: access +title: "Data Access Restrictions" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- + +FERPA, HIPAA, Privacy Act, State-Level Regulations + +LAWYERS! diff --git a/datadiscovery/access/_posts/2015-05-05-datalinkagerestrictions.md b/datadiscovery/access/_posts/2015-05-05-datalinkagerestrictions.md new file mode 100644 index 0000000000000..bd79f8a71e3b8 --- /dev/null +++ b/datadiscovery/access/_posts/2015-05-05-datalinkagerestrictions.md @@ -0,0 +1,11 @@ +--- +layout: post +category: datadiscovery +subcategory: access +title: "Data Linkage Restrictions" +ordinal: 2 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- +Do common IDs and/or identifiable demographics exist for determiistic and probabilistic record linkage? diff --git a/datadiscovery/access/_posts/2015-05-05-dataredistributionrestrictions.md b/datadiscovery/access/_posts/2015-05-05-dataredistributionrestrictions.md new file mode 100644 index 0000000000000..a8aba24b184b0 --- /dev/null +++ b/datadiscovery/access/_posts/2015-05-05-dataredistributionrestrictions.md @@ -0,0 +1,14 @@ +--- +layout: post +category: datadiscovery +subcategory: access +title: "Data Redistribution Restrictions" +ordinal: 3 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- + +Is anybody other than you allowed to work with the data? + +What additional transformations/protections are required before data can be redistributed? diff --git a/datadiscovery/access/_posts/2015-05-05-gainingentry.md b/datadiscovery/access/_posts/2015-05-05-gainingentry.md new file mode 100644 index 0000000000000..da2aba799143e --- /dev/null +++ b/datadiscovery/access/_posts/2015-05-05-gainingentry.md @@ -0,0 +1,11 @@ +--- +layout: post +category: datadiscovery +subcategory: access +title: "Gaining Entry and Building Trust" +ordinal: 4 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- +More times than not needs to be the primary focus of your initial data gathering efforts. diff --git a/datadiscovery/access/index.html b/datadiscovery/access/index.html new file mode 100644 index 0000000000000..a011258526640 --- /dev/null +++ b/datadiscovery/access/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Access +category: datadiscovery +description: "" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','datadiscovery' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'access' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/datadiscovery/identification/_posts/2015-05-05-brainstorming.md b/datadiscovery/identification/_posts/2015-05-05-brainstorming.md new file mode 100644 index 0000000000000..626040220650c --- /dev/null +++ b/datadiscovery/identification/_posts/2015-05-05-brainstorming.md @@ -0,0 +1,129 @@ +--- +layout: post +category: datadiscovery +subcategory: identification +title: "Brainstorming Data Sources" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- + +Brainstorming for data source identification is a structured group creativity technique that brings together diverse participants to generate a wide range of ideas about where and how to find relevant data for a specific analytical policy problem. Facilitated sessions encourage participants to build on each other's suggestions, explore both conventional and unconventional sources, and use visual tools like mind maps or affinity diagrams to organize and expand upon the ideas generated. By deferring judgment and fostering an open, collaborative environment, brainstorming helps uncover data sources that may otherwise be overlooked, ensuring a more comprehensive and innovative foundation for policy analysis. This process not only stimulates creative thinking but also enables teams to quickly surface, evaluate, and prioritize potential data sources, supporting evidence-based decision-making.\ +\ + + + +## Suggested Plan for Group Brainstorming to Identify Data Sources for Analytical Policy Analysis + +**Purpose:** +To systematically identify relevant, reliable, and available data sources that will inform an analytical policy analysis, using structured group brainstorming techniques. + +--- + +### 1. **Preparation** + +- **Define the Policy Problem:** + Clearly articulate the policy issue, objectives, and the key questions that the analysis must address. This focuses the brainstorming on data relevant to the analytical goals[5][3]. + +- **Assemble a Diverse Group:** + Include staff, key partners, stakeholders, and, where possible, community representatives who bring varied perspectives and knowledge about potential data sources[1][3]. + +- **Gather Materials:** + Prepare chart paper, markers, digital collaboration tools (if remote), and any relevant background information or previous data lists[1]. + +--- + +### 2. **Structured Brainstorming Session** + +**A. Introduction (10 minutes)** + +- Brief the group on the policy problem, objectives, and the importance of identifying comprehensive data sources. +- Outline the session’s structure and encourage open, judgment-free idea sharing[2]. + +**B. Individual Idea Generation (10 minutes)** + +- Ask participants to spend a few minutes individually listing all potential data sources they can think of, considering both traditional (e.g., government reports, surveys) and non-traditional (e.g., social media, administrative data, stakeholder feedback) sources[4][5]. + +**C. Group Sharing and Expansion (20 minutes)** + +- Go around the group, with each participant sharing one idea at a time, while a facilitator records all suggestions on a visible board or digital platform. +- Encourage building on others’ ideas and exploring less obvious sources, such as competitor data, open data portals, or community-generated information[2][4]. + +**D. Prompted Exploration (10 minutes)** + +- Use structured prompts to ensure breadth: + - What quantitative data (e.g., statistics, metrics) is available? + - What qualitative sources (e.g., interviews, case studies) could be useful? + - Are there relevant data from other sectors, regions, or countries? + - What unpublished or informal data might exist within organizations or communities[5][1]? + +--- + +### 3. **Prioritization and Gap Analysis** + +- **Cluster and Categorize:** + Group similar data sources and categorize them (e.g., administrative, survey, big data, qualitative)[5][4]. + +- **Assess Relevance, Availability, and Reliability:** + Quickly evaluate each source for its relevance to the policy question, accessibility, and trustworthiness[5]. + +- **Identify Gaps:** + Note areas where data is missing or insufficient, which may require new data collection or alternative approaches[5][3]. + +--- + +### 4. **Documentation and Next Steps** + +- **Record All Outputs:** + Document the full list of suggested data sources, including notes on their strengths, limitations, and any follow-up actions needed (e.g., verifying access, seeking permissions)[1][5]. + +- **Feedback and Validation:** + Circulate the compiled list to participants and other stakeholders for validation and additional suggestions[3]. + +- **Plan for Data Collection:** + Develop a work plan for obtaining, processing, and analyzing the prioritized data sources as the next step in the policy analysis process[3][4]. + +--- + +## Summary Table: Key Steps + +| Step | Purpose | Example Activities | +|------------------------------|-----------------------------------------|------------------------------------------| +| Preparation | Focus and organize the session | Define problem, assemble group | +| Brainstorming | Generate diverse data source ideas | Individual listing, group sharing | +| Prompted Exploration | Ensure breadth and depth | Use prompts for types and sectors | +| Prioritization & Gap Analysis| Focus on actionable, relevant sources | Cluster, assess, identify gaps | +| Documentation & Next Steps | Ensure follow-through and completeness | Record, validate, plan data collection | + +--- + +**Tips for Success:** + +- Use visuals (charts, sticky notes, digital boards) to keep ideas visible and spark further creativity[2]. +- Encourage participation from all group members, including quieter voices. +- Consider follow-up sessions or online surveys to capture additional ideas after the meeting[1]. + +This structured, participatory approach ensures a comprehensive and relevant mapping of data sources, laying a strong foundation for evidence-based policy analysis[1][5][3]. + +Sources +[1] [PDF] PARTICIPATORY POLICYMAKING - Goldman School of Public Policy https://gspp.berkeley.edu/assets/uploads/page/GSPP_Participatory_Policy_Toolkit_Version_1.pdf +[2] Brainstorming with Data: How to Turn Insights into Innovation https://www.newhorizons.com/resources/blog/data-driven-brainstorming-strategies +[3] Turn Data into policy https://www.datatopolicy.org/navigator/turn-data-into-policy +[4] Strategic Policy Development Through Data-Driven Insights - LinkedIn https://www.linkedin.com/pulse/strategic-policy-development-through-data-driven-insights-bryce-undy-qu3ef +[5] [PDF] Guide to Policy Analysis | ETF (europa.eu) https://www.etf.europa.eu/sites/default/files/m/72B7424E26ADE1AFC12582520051E25E_Guide%20to%20policy%20analysis.pdf +[6] 8 Best Practices for Mastering Data-Driven Strategy - 180ops https://www.180ops.com/blog/best-practices-for-mastering-data-driven-strategy +[7] Nominal Group Technique (NGT) - ASQ https://asq.org/quality-resources/nominal-group-technique +[8] [PDF] Basic Methods of Policy Analysis and Planning http://surjonopwkub.lecture.ub.ac.id/files/2019/01/Basic_Methods_of_Policy_Analysis_and_Planing.pdf +[9] Eliciting patient-important outcomes through group brainstorming https://pmc.ncbi.nlm.nih.gov/articles/PMC6360192/ +[10] 30 Effective Brainstorming Techniques for Teams To Try | Indeed.com https://www.indeed.com/career-advice/career-development/brainstorming-techniques +[11] Foundations of Policy Analysis | Intro to Public Policy Class Notes https://library.fiveable.me/introduction-to-public-policy/unit-4/foundations-policy-analysis/study-guide/crUWSnTqaamH1mro +[12] Brainstorming Sessions: Agenda Template + Best Practices https://www.wudpecker.io/blog/brainstorming-sessions-agenda-template-best-practices +[13] Phase 3: Collecting and Analyzing Data - NACCHO https://www.naccho.org/programs/public-health-infrastructure/performance-improvement/community-health-assessment/mapp/phase-3-the-four-assessments +[14] Analytical techniques | College of Policing https://www.college.police.uk/app/intelligence-management/analysis/analytical-techniques +[15] 7 Brainstorming Rules for Stronger Collaboration - IDEO U https://www.ideou.com/blogs/inspiration/7-simple-rules-of-brainstorming +[16] Top Policy Analysis Tools for Better Public Policy - Number Analytics https://www.numberanalytics.com/blog/policy-analysis-tools-public-policy +[17] Brainstorming in Design Thinking: Best Practices & Challenges https://voltagecontrol.com/blog/brainstorming-in-design-thinking-best-practices-challenges/ +[18] [PDF] A Framework for Analyzing Public Policies: Practical Guide http://www.ncchpp.ca/docs/Guide_framework_analyzing_policies_En.pdf +[19] [PDF] Public Policy Analysis - Political Science - University of Florida https://polisci.ufl.edu/wp-content/uploads/sites/147/PUP6009-Robbins-1-2.pdf +[20] [PDF] Structured Analytic Techniques for Improving Intelligence Analysis ... https://www.stat.berkeley.edu/~aldous/157/Papers/Tradecraft%20Primer-apr09.pdf diff --git a/datadiscovery/identification/_posts/2015-05-05-snowballing.md b/datadiscovery/identification/_posts/2015-05-05-snowballing.md new file mode 100644 index 0000000000000..b9d4a75de4816 --- /dev/null +++ b/datadiscovery/identification/_posts/2015-05-05-snowballing.md @@ -0,0 +1,67 @@ +--- +layout: post +category: datadiscovery +subcategory: identification +title: "Snowballing" +ordinal: 2 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- + +Snowballing is a simple process of expanding the zone of contacts through initial contacts. The process begins by identifying an initial group of data stakeholders, hopefully those who are already involved in the preliminary stages of the process. These actors or participants are then asked to identify those individuals whom they feel should be involved in the data discovery process as well. This is the “first-order” zone. The researcher then proceeds to contact those actors (whether individuals or groups) and proceeds to have these “second-order” actors, further identify others who they think would have an interest in the project or process (Wasserman and Faust, 1994: 34; see also Goldenberg, 1992; Babbie, 1998; Doreian and Woodward, 1992).\ +\ + + +## Suggested Plan for Using Snowballing to Identify Data Sources for Analytical Policy Analysis + +**1. Define the Scope and Criteria** + +- Clearly articulate the policy question and the types of data sources needed (e.g., administrative records, survey data, expert reports, grey literature). +- Set inclusion and exclusion criteria for what constitutes a relevant data source, considering factors such as data quality, accessibility, and relevance to the policy issue[3][5]. + +**2. Identify Initial “Seed” Sources** + +- Start with a small set of known, high-quality data sources or experts in the policy area-these are your “seeds”[5][8]. +- These may include foundational reports, key datasets, or recognized experts and organizations relevant to the policy topic. + +**3. Conduct Initial Outreach and Data Mapping** + +- Review the reference lists, bibliographies, and acknowledgments of the seed sources to identify additional data sources (backward snowballing). +- Contact the authors, data custodians, or experts associated with the seed sources to ask for recommendations of other relevant data sources or contacts (forward snowballing)[5][8]. + +**4. Expand the Network Iteratively** + +- For each newly identified data source or expert, repeat the process: review their references and seek further recommendations. +- Continue this iterative process in multiple “waves” until new referrals yield little or no new information (saturation point)[2][8]. +- Track relationships and connections between sources to identify clusters or gaps in coverage[8]. + +**5. Document and Assess Sources** + +- Maintain a detailed log of all identified sources, how they were found, and their relevance to the policy analysis. +- Regularly assess the quality, credibility, and diversity of the sources being identified to ensure a comprehensive and balanced data set[5][8]. + +**6. Ethical Considerations** + +- Ensure that all outreach respects privacy and consent, especially if contacting individuals or using unpublished data[1][4][8]. +- Clearly explain the purpose of the inquiry and obtain permission before sharing contact details or unpublished information. + +**7. Review and Finalize** + +- Once saturation is reached and no significant new sources are emerging, review the full set of identified data sources. +- Assess for completeness, diversity, and potential biases, and supplement with targeted searches if necessary. + +This structured snowballing approach leverages expert networks and reference chains to systematically uncover both well-known and obscure data sources, providing a robust foundation for analytical policy analysis[5][8]. + +Sources +[1] Snowball Sampling - Division of Research and Innovation https://research.oregonstate.edu/ori/irb/policies-and-guidance-investigators/guidance/snowball-sampling +[2] What Is Snowball Sampling? | Definition & Examples - Scribbr https://www.scribbr.com/methodology/snowball-sampling/ +[3] Snowball Sampling: How to Do It and Pros & Cons - InnovateMR https://www.innovatemr.com/insights/snowball-sampling-how-to-do-it-and-pros-and-cons/ +[4] Guidelines for Investigators Using Snowball Sampling Recruitment ... https://www.boisestate.edu/research-compliance/irb/guidance/guidelines-for-investigators-using-snowball-sampling-recruitment-methods/ +[5] Snowball sampling - Wikipedia https://en.wikipedia.org/wiki/Snowball_sampling +[6] [PDF] Snowball Research Strategies https://sru.soc.surrey.ac.uk/SRU33.PDF +[7] Snowball Sampling: Explanation, Examples, Pros, and Cons - Dovetail https://dovetail.com/research/snowball-sampling/ +[8] What Is Snowball Sampling: 6 Simple Steps With Examples https://surveysparrow.com/blog/snowball-sampling/ +[9] Snowball Sampling Method: Techniques & Examples https://www.simplypsychology.org/snowball-sampling.html +[10] Snowball Sampling: Introduction - Johnson - Wiley Online Library https://onlinelibrary.wiley.com/doi/abs/10.1002/9781118445112.stat05720 + diff --git a/datadiscovery/identification/index.html b/datadiscovery/identification/index.html new file mode 100644 index 0000000000000..071b2e10cac77 --- /dev/null +++ b/datadiscovery/identification/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Discovery +category: identification +description: "" +--- +
+ +
+ +
+ + {% assign categoryPosts = site.posts | where:'category','datadiscovery' %} + + {% assign subcategoryPosts = categoryPosts | where:'subcategory', 'identification' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + Example Plan + {% endif %} +
+
+ {% endfor %} +
\ No newline at end of file diff --git a/datadiscovery/inventory/_posts/2015-05-05-datasourceinventory.md b/datadiscovery/inventory/_posts/2015-05-05-datasourceinventory.md new file mode 100644 index 0000000000000..141cd65e4483a --- /dev/null +++ b/datadiscovery/inventory/_posts/2015-05-05-datasourceinventory.md @@ -0,0 +1,65 @@ +--- +layout: post +category: datadiscovery +subcategory: inventory +title: "Data Source Inventory" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- + +Following an initial screening inventory, a subset of the sources are selected for a full inventory. + +Example from a recent project: + +

Full Inventory Process

+* Description/Features + - What is the temporal nature of the data: longitudinal, time-series, or one time point? + - Are the data geospatial? If Yes, at what level, (e.g. census tracts, coordinates)? + +* Metadata + - Is there information available to assess the transparency and soundness of the methods to gather the data for our purposes, +(ie., supplementing the census)? + - Is there a description of each variable in the source along with their valid values? + - Are there unique IDs for unique elements that can be used for linking data? + - Is there a data dictionary or codebook? + +* Selectivity + - What unit is represented at the record level ofthe data source, (e.g., person, household, family, housing unit, property)? + - Does this universe match the stated intentions for the data collection? If not, what has been included or excluded and why +(e.g. do the data exclude certain individuals due to the way the data are collected)? + - What is the sampling technique used (if applicable, e.g., convenience, snowball, random)? + - What is the coverage, (e.g. response rate)? + +* Stability/Coherence + - Were there any changes to the universe of data being captured (including geographical areas covered) and if so what were +they, (e.g, changed the geographical boundaries of census tracts)? + - Were there any changes in the data capture method and if so what were they, (e.g, revised questions, data collection mode, +classification categories, algorithms for social media data)? + - Were there any changes in the sources of data and if so what were they, (.g., data were reported by teachers in 2010 and +reported by principals in 2011; used Current Population Survey in 2011 and American Community Survey in 2012)? + +* Accuracy + - Are there any known sources of error, (e.g., missing records, missing values, duplications, erroneous inclusions)? + - Describe any quality control checks performed by the data's owner, (e.¢., deleted duplicates, checked for recording errors) + +* Accessibility + - Are any records or fields collected, but not included in data source, such as for confidentiality reasons, (e.g, does not +include any student files in which there are less the 5 students in a category)? + - Is there a subset of variables and/or data that must be obtained through a separate process, (e.g. state level data openly +available, but one must apply to get census tract)? + - If yes, is there a separate legal, regulatory, or administrative restrictions on accessing the data source?” + - Cost? Is it a one time, annual, or project-based payment? + +* Privacy and security + - Was consent given by participant? If so, how was consent given, (e.g. online form, in-person discussion)? + - Are there legal limitations or restrictions on the use of the data, (¢.g., Family Educational Rights and Privacy Act -FERPA)? + - What confidentiality policies are in place, (¢.g., cannot share data outside of requesting institution; does not include +personally identifiable information)? + +* Research + - What research has been done with this dataset, (e.¢., impact of policies, predictors of student suecess, housing stock inven- +tory assessment)? + - Include any links to research if provided. + - List any other data use notes provided by the supplier. diff --git a/datadiscovery/inventory/index.html b/datadiscovery/inventory/index.html new file mode 100644 index 0000000000000..6e5c7751c1054 --- /dev/null +++ b/datadiscovery/inventory/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Discovery +category: datadiscovery +description: "" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','datadiscovery' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'inventory' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/datadiscovery/screening/_posts/2015-05-05-datasourcescreening.md b/datadiscovery/screening/_posts/2015-05-05-datasourcescreening.md new file mode 100644 index 0000000000000..21e87ea97120a --- /dev/null +++ b/datadiscovery/screening/_posts/2015-05-05-datasourcescreening.md @@ -0,0 +1,65 @@ +--- +layout: post +category: datadiscovery +subcategory: screening +title: "Data Source Screening" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- + +The first step in before conducting a full data inventory is to screen the data sources, identifying which sources are worthy of a deeper look and which are worthy of consideration for profiling. The screening includes five questions and a qualitative evaluation of purpose, data collection method, selectivity, accessibility, and description. + +Example from a recent project: + +

Screening Inventory Process

+1. Are the data collected opinion-based, (e.g., people’s attitudes, preferences, etc.)? +2. Are the data collection recurring, (i.e., must be collected at least annually)? +3. Are there data available for 2013? +4. Geographic granularity + * For Education + 1. Are the data collected at least the school level? + 2. Can the data be linked to other education/workforce datasets, (e.g., K-12, higher education, workforce)? + 3. If this is a state dataset, how do they define school districts within this state? + 4. If applicable, what types of schools does it cover, (¢.g.. public, private, charter)? + * For Housing + 1. Are the data collected at the property or housing unit level? + +

Additional Screening Information

+* Purpose + — What is the purpose of the organization collecting the data, (e.¢., the Virginia Department of Education (VDOE) coordinates +education for the state and makes policy recommendations)? + — Why are the data collected and how does the organization use the data, (e.g., VDOE collects the data for administrative +purposes to assess student and school progress and to inform school policies)? + — Who else uses these data, (¢.g., businesses, policy-makers, citizens, researchers)? + — Who do they sell the data to, (¢.g., Zillow for individual homeowners, CoreLogic for multiple uses, business for economic +development, Chief Economists at trade associations)? + +* Method + - What is the data collection method, (e.g., paper questionnaire, operator entry, online survey, interview, sensors, algorithms +for creating datasets from twitter feeds)? + - What is the type of data collected, (e.g., designed collection, intentional observation, administrative data, digital data)? + - If designed, who created the questions, (.g., government, researchers, private business)? + - What are the raw sources of the collected data prior to any aggregation, (e.g., self-report, third party)? + +* Description + - What is the general topic of the data, (¢.g., student learning, housing quality)? + - What are the earliest and latest dates for which data are available, (e.g., 1995-2005)? + +* Timeliness + - Are the data collected and available periodically, (e.g, every year or decade)? + - How soon after a reference period ends can a data source be prepared and provided, (e.g., one year)? + +* Selectivity + - What is the universe (¢.g., population) that the data represents (e.g., students who attended public school in Virginia in +1995)? + +* Accessibility + - How are the data accessed, (¢.¢., API, downloaded - csv, txt, etc.)? + - Are they open data? + - Any legal, regulatory, or administrative restrictions on accessing the data source? + - Cost? Is it one-time or annual or project-based payment? + - Describe any gaps/concerns you see with this dataset + +* Does this dataset appear to meet for the needs for your study? Yes/No diff --git a/datadiscovery/screening/index.html b/datadiscovery/screening/index.html new file mode 100644 index 0000000000000..29632a1d298c2 --- /dev/null +++ b/datadiscovery/screening/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Discovery +category: datadiscovery +description: "" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','datadiscovery' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'screening' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/dataexploration/characterization/_posts/2015-05-05-characterization.md b/dataexploration/characterization/_posts/2015-05-05-characterization.md new file mode 100644 index 0000000000000..b3bba8fc1379e --- /dev/null +++ b/dataexploration/characterization/_posts/2015-05-05-characterization.md @@ -0,0 +1,11 @@ +--- +layout: post +category: dataexploration +subcategory: characterization +title: "Characterization" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- +Data Exploration refers to the analysis of the datasets by summarizing main characteristics,often with visual methods. Data exploration is used throughout the data framework. Descriptive statistics play a principal role in data profiling, from identifying valid attribute values tochecking for semantic consistency. The use of visual techniques like boxplots support iterationsbetween data cleaning and transformation during the data preparation. Distributional characterizations of the data help identify needs and opportunities for data linkage. diff --git a/dataexploration/characterization/index.html b/dataexploration/characterization/index.html new file mode 100644 index 0000000000000..1631698d81025 --- /dev/null +++ b/dataexploration/characterization/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Exploration +category: dataexploration +description: "" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','dataexploration' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'characterization' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/datafitness/fitnessforuse/_posts/2015-05-05-fitnessforuse.md b/datafitness/fitnessforuse/_posts/2015-05-05-fitnessforuse.md new file mode 100644 index 0000000000000..a29d222705312 --- /dev/null +++ b/datafitness/fitnessforuse/_posts/2015-05-05-fitnessforuse.md @@ -0,0 +1,14 @@ +--- +layout: post +category: datafitness +subcategory: fitnessforuse +title: "Fitness for Use" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: false +website: "" +--- + +The purpose of developing a data science process in the context of specific problems is to find synergies across application domains with respect to the data science process and use. The ultimate goal is to develop a disciplined process of identifying data sources, preparing them for use, and then assessing the value of these sources for the intended use(s). + +Understanding how to approach fitness for use starts with considering the modeling and analyses that will use the data. Modeling depends on the research questions and the intended use of the data to support the research hypotheses. Fitness assessment should be about the fitness of the data for the modeling, from straight forward tabulations to complex analyses. Therefore,fitness is a function of the modeling, data quality needs of the models, and data coverage (representativeness) needs of the models. Finally, fitness should characterize the information content in the results. diff --git a/datafitness/fitnessforuse/index.html b/datafitness/fitnessforuse/index.html new file mode 100644 index 0000000000000..c211154f2244c --- /dev/null +++ b/datafitness/fitnessforuse/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Fitness +category: datafitness +description: "" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','datafitness' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'fitnessforuse' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/datalinkage/ontologymanagement/index.html b/datalinkage/ontologymanagement/index.html new file mode 100644 index 0000000000000..1423d9eb88c83 --- /dev/null +++ b/datalinkage/ontologymanagement/index.html @@ -0,0 +1,58 @@ +--- +layout: default +title: Data Quality +category: dataprofiling +description: "Does the data correctly represent the real-world construct to which it refers?" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','dataprofiling' %} +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Data Quality' | sort: 'ordinal' %} + +

{{ page.title }}

+

{{ page.description }}

+A considerable amount of data quality research involves investigating and describing various categories +of desirable attributes (or dimensions) of data. These lists commonly include accuracy, correctness, +currency, completeness and relevance, as described in Chapter 2. Nearly 200 such terms have been +identified and there is little agreement in their nature (are these concepts, goals or criteria?), +their definitions or measures (Wang et al., 1993). Here we have let a typology +emerge form the project data work. This typology consists of five data quality areas: completeness, +value validity, consistency, uniqueness, and duplication. Regardless the typology chosen, +the final judgment of data quality is measured by adherence of a dataset to a set of data quality rules. +Like data quality attributes, these rules can take one of several forms. +Here we choose a typology consisting of three rule-types employed by the DoD in its data quality management +efforts. These are: null constraint rules, domain validation rules, +and relationship validation rules. Code is developed to enforce these rules. For our study, +examples are given in psuedo-code: + +

+ + + + + + + + + + +
Null Constraintsselect sqft from housing where sqft = 0 or sqft = '' or sqrt = NULL
Domain Validation select yearbuilt from housing where yearbuilt is between 1920 and 2015
Relationship Validationselect all from housing where type = multifamily and numunits greater than 1
+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
diff --git a/datalinkage/recordlinkage/_posts/2015-05-05-problinkprimer.md b/datalinkage/recordlinkage/_posts/2015-05-05-problinkprimer.md new file mode 100644 index 0000000000000..7b0dd612ec25b --- /dev/null +++ b/datalinkage/recordlinkage/_posts/2015-05-05-problinkprimer.md @@ -0,0 +1,213 @@ +--- +layout: post +category: datalinkage +subcategory: recordlinkage +title: "Aaron's Intro to Probabilistic Record Linkage" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: true +--- + + +If you are searching for resources to help you understand how one can go about linking records "probabilistically", +you will find many resources that all pretty much start the same way, "probabilistic record linkage...[yadda, +yadda]...theory formalized by Fellegi and Sunter (1969)...", and then quickly move to a discussion of matching +vectors and the calculation of m and u probabilities using formulas like: + + + + + +This approach unnecessarily obfuscates a relatively simple concept (although it does a wonderful job of protecting an +academic discipline and tenure...). I will attempt here to introduce the general approach to probabilistic record +matching while keeping obfuscation to a minimum. + +

General Approach

+The general approach to probabilistic record linkage is fairly straight-forward. To figure out if two records from two +different data sets match, matching record fields from the two data sets are compared (e.g. a field that records "Last +Name" that is in both data sets). To determine if matching fields are "better" or "worse" for using in this +matching process, we need to know two things: how reliable is the data in those fields, and how common are the values +in those fields? That's it. + +If a field is not reliably collected, it loses its ability to help with record matching. For example, if we know from +past experience that in a particular data set the field "Birthdate" is only about 50% reliable (because of a +combination of non-entries, guessing, and a dyslexic data clerk), then we know "Birthdate" won't be helping us with +our matching at all. Flipping a coin would give you the same results. + +If a field value is too common, it also loses its ability to help with record matching. For example, if we are looking +at two data sets from New York City, and all of the records in both data sets list "New York City" in the address +field "City", then we know that the field "City" is also useless for the purpose of record matching. It doesn't +help winnow down the likely matches at all. + +Now, if we are looking at two data sets for which data has been meticulously collected, and the commonness of field +values is sufficiently varied, we have a much better chance of finding a true match between two data records. For +example, if we have two very well maintained data sets that each have only one record with a value of "McGillicuddy" +for the field "Last Name" and "Barrow, Alaska" for the fields "City" and "State", then we have a very high +probability that these records do in fact match. + +The problem of course is that while a knowledgeable person can make data set by data set, and record by record value +judgments to decide whether to link records or not, that person can't efficiently go through millions of possible +combinations in any sort of timely fashion (e.g. if file A contains 1,000 records, and file B contains 10,000 records, +the number of possible record pairs is 1,000 x 10,000, 10 million record pairs). + +So, we are left needing to get a computer program to adequately determine the likelihood of two records matching based +on the reliability and commonness of the data field values given. This is the problem that Fellegi and Sunter set out +to address. They did such a good job that their model is at the base of just about every matching software on the +market today. Improvements in the field have mostly taken the form of improving the inputs to their original model. + +

The Model Basics

+In the Fellegi and Sunter probabilistic model, two fields are compared and a measure is assigned reflecting how similar +the field values are. This measure is referred to as the "field weight" and it is calculated based on the reliability +of the data in the matching field and the commonness of values in the matching field. + +The reliability of the data is represented by what is called the "m probability", and the commonness of the value is +represented by what is called the "u probability" (more on these below). Once we have our "m" and "u" +probabilities, we can calculate "field weights" for when two values "agree" or "disagree". The weights for +agree/disagree are (usually) different. \ For example, if Gender is meticulously collected and the values for two +records for Gender do not match, that gives us pretty strong evidence that the records don't match. So, +"disagreement" on Gender would be heavily weighted. However, if Gender is meticulously collected and the values for +two records for Gender \textbf{do} match, that \textbf{does not} give us very strong evidence that the two records +actually match (it only narrows the field of possible matches by approximately 50\%). Therefore, "greement" on +Gender gets weighted much less than "disagreement". + +Once we have our agree/disagree field weights, then, for each comparison pair, the weights for each compared field are +simply summed up into a "composite weight". While it is certainly a simplification, at this point the important bit +to understand is that positive composite weights represent "matches" and negative composite weights represent +"non-matches". + +

An example

+Let's start with two data sets, A and B. For each data set we have the fields Name, Gender (Gen), and Date of Birth +(DOB). + + + +As discussed, we will first need to figure out the reliability and commonness of the field value pairs we are dealing +with. To start, let's list all of the possible pairings from these two data sets. 6 records in Data Set A multiplied by +4 records in Data Set B gives us 24 possible pairings. + + + +Now let's add two columns for each field pairing. The first column we will name "agree" and it will take the values +"yes" or "no" if the two values are the same. The second column we will name "truth" and it will take the values +"yes" or "no" representing whether or not the two records actually match (we might know this from previous history, +a shared identifier like SSN, or a manual processing of a sample of records for just this purpose). \ In the figure +below, the highlighted record pairings represent records that we know match. If we look at the first highlighted +pairing, we can see that while the names "John" and "Jon" do not agree, the records do in fact match (hmmm, looks +like there might some quality problems with name input for one of these sets). + + + +

The m and u probabilities

+With this data, we now have all we need to figure out our m and u probabilities. + +The m probability (quality) can be expressed as the probability that two field values agree given that that the two +records they come from are in fact a match. That is, if we have two records that we know match, then all of the paired +field values should, in a perfect world, match. If some of the fields don't match, then we have some degree of +quality/reliability problem with those fields. + +So, looking at the table, how many records do we know that match? Three. OK, then, just looking at those three record +matches, how many times do the values agree for each field pair? For example, looking at the pairing of Name A and Name +B, we see that 2 out of 3 times the values agree. Therefore, the m probability for Name is 2/3 or 0.667. The results +are summarized below. + + + +The u probability (commonness) can be expressed as the probability that the two field values agree given that the +records they came from are in fact \textbf{not} a match. Or, the other way around, if we have two records that we know +don't match, how likely is it that the values in a particular field pairing (e.g. "City") will match anyway (because +of the relative commonness of the values)? + +Looking at the table again, we want to determine how many times the value agrees in a pairing when the records do not in +fact match. These are highlighted in red. Just looking at the red, it is easy to quickly pick up on the fact that there +are many times when the values for Gender agree, but the records do not actually match. So, just from visual +inspection alone, we can determine that Gender is not a very good for determining a match between records (many more +that agree are not actually matches!). + + + +The calculations for the u probability for each field pair are presented here. + + + +

Field Weights

+Once we have m and u, we can now calculate the weights for each field pair. Which calculation to use depends on whether +or not the two values in the field agree. If they do agree, a positive weight is generated, and if they disagree a +negative weight is generated. The size of the weight measures the evidence the values provide about the record pair +being a match. The two calculations are: + + + + + +So, for the m and u probabilities we found, our weights are: + + + +Looking at the results for "Name", we see that if a field pair agrees, it gets assigned a 3.807, but if it disagrees, +it gets assigned a -1.515. + +You may have also noticed that in the Column Weights calculations above that the agree weight for "Gen" is negative +and the disagree weight is positive. This is of course inconsistent with what I stated about the agree formula giving a +positive number and the disagree giving a negative number. In practice this doesn't happen, but it is good for +illustration here. Because we are only looking at three matched records in this example, the fact that 2 out of the 3 +field pairing for Gender don't agree has the effect of actually making an agreement on Gender negative. After all, if +you found agreement on Gender in this particular data set, you'd actually be wrong 2/3 of the time! As I stated, this +isn't what happens in practice, but it does illustrate the effect of unreliable data. + +

The Composite Weight - Add it all up

+Now that we have our agree/disagree weights for each field pair, we can go ahead and assign the weights and then +calculate the total composite weight for each record pairing. In the table below, the cells in the Total column that +are highlighted blue indicate the composite scores that indicate a match (they are positive). Our probabilistic +matching process successfully found the matches we knew to be true! + +However, it also identified one match where a match does not in fact exist (between Bob and Jon). What happened? + +Well, if we go back and look at the m probability calculated for DOB, we find that it is a perfect 1. That is, the +reliability of that field is 100%! This doesn't actually occur in practice, but it illustrates how powerful reliable +data can be (it gets both the highest weight for agreement and lowest for disagreement). And, because we only have +three fields we are looking at, and one of them is very unreliable (Gender), DOB has a lot of power to influence the +composite score. In fact, if we look at the pairing of the male and female Traceys, we can see that even though there +was agreement on two of the three fields (Name and Gender), just like with Bob and Jon, they were correctly identified +as not being a match (because the weights for those two are not as important as DOB which, in this example, is 100\% +reliable). + + + +

Finding m and u probabilities in practice

+

m

+In practice, figuring out data quality (e.g. error rates in data entry) can be difficult. The best method, sampling with +manual comparison, is also the most labor intensive. Sometimes, especially when dealing with a-typical type data sets, +it is necessary. Generally, however, one of two approaches will suffice. + +When very large data sets are being used, and each employs some form of highly reliable unique identifier (e.g. SSN in +one, STI in another), then each set can be "self-joined" on that identifier and discrepancies in field values for the +same individual identified. For example, using the Virginia Student Record data set, we can "self-join" on STI and +then look for how many times Gender doesn't match even though STI does match. This discrepancy rate would give us a +quality measure for the field Gender for that data set. If then matched against another large data set on Gender, the m +probability can be calculated as the product of the two discrepancy rates found. + +The method most commonly employed to determine m probabilities is simply heuristic. Record linkage practitioners have +found over the years that field reliability is determined, for the most part, by the relative importance of the field +for supporting the core operational requirements of the agency using the data set. For example, the address field is a +very important field to an agency like the IRS that has to mail refund checks (and find tax evaders!). A common rubric +employed for assigning m probabilities is: + +Very important fields: 0.999 +Moderately important fields: 0.95 +Most fields: 0.9 +Poor reliability fields: 0.8 + +Running a self-join on over 2 million records from the Virginia Student Record, and making some assumptions about which +fields get which level of importance, I found numbers very similar to the suggested rubric. + +A great deal of the literature on probabilistic record matching concerns newer and more mathematically fancy methods of +estimating m probabilities. While improvements are certainly being found, in practice, none has surpassed the accuracy +of running a basic probabilistic model followed by human review of the "borderline" cases. + +

u

+The example given here illustrates what u probabilities are and how they are determined. It does not accurately +illustrate how they are actually employed in some cases. For a field like DOB that has a close-to-uniform distribution, +the u probability is generally calculated on the whole field (as is done here). \ For fields that do not have a uniform +distribution, such as Last Name, u probabilities are generally determined for each value of that field. For example, +"McGillicuddy" will have a much lower u probability than "Smith", therefore, we want to calculate and run them +separately. diff --git a/datalinkage/recordlinkage/index.html b/datalinkage/recordlinkage/index.html new file mode 100644 index 0000000000000..d39cc3f016d37 --- /dev/null +++ b/datalinkage/recordlinkage/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Entity Resolution +category: datalinkage +description: "" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','datalinkage' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'recordlinkage' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/datamanagement/datamanagementplan/_posts/2015-10-21-datamanagementplan.md b/datamanagement/datamanagementplan/_posts/2015-10-21-datamanagementplan.md new file mode 100644 index 0000000000000..cc6a01828cf65 --- /dev/null +++ b/datamanagement/datamanagementplan/_posts/2015-10-21-datamanagementplan.md @@ -0,0 +1,23 @@ +--- +layout: post +category: "datamanagement" +subcategory: "Data Management Plan" +title: "Transfer, Storage, Access, and Destruction" +ordinal: 1 +date: 2015-10-21 16:25:06 -0700 +comments: true +--- + +## Transfer +All data sets transferred to SDAL are done so via encrypted means. For remote transfers, a certain set of network protocols are acceptable. Acceptable network protocols for remote data transfer include FTPS, SFTP, SCP, and WebDAV over HTTPS. The SDAL preferred remote transfer method is via an SFTP server temporary established for the purpose of the transfer. The SFTP server is deactivated after successful data transfer. The remote user is provided a temporary password for SFTP server access that is also deleted after successful data transfer. Data sets that are to be transferred manually (not via remote network connection) are transferred using an encrypted USB storage device employing, at a minimum, an EncFS-based encrypted file partition. + +Email is not considered secure and is not used to transmit covered data unless additional file-level encryption tools, requested and approved by the data provider, are employed (e.g. gpg, ccrypt, 7zip using AES). + +## Storage +The data for each SDAL research project is stored on a new project-dedicated encrypted Logical Volume Management (LVM) partition on on of our servers. The LVM partition is encrypted using Linux Unified Key Setup or LUKS. This setup is typically referred to as “LUKS-on-LVM”. LUKS is a disk-encryption specification that is based on an enhanced version of cryptsetup, using dm-crypt as the disk encryption backend. Each SDAL data server is housed within one of three highly-secure, high-performance computing (HPC) data centers located in the Virginia Bioinformatics Institute (VBI) in Blacksburg, VA and maintained by VBI Information and Technology Computing Services personnel. Direct access to data sets for loading and management purposes is restricted to project-approved PIs and data managers. The method of access for loading and management purposes is via SSH using RSA encrypted key pairs. + +## Access +Copying of server-hosted data down to researcher workstations is not permitted. All data set analyses and results are saved back to the server, not to the individual researcher's workstation. Originally provided data records are accessible via secured remote access only in a read-only format to authorized users. The intention is that original data sets are never modified. Resulting modified read-write data sets that are produced from the original data sets are also stored back to the server and only accessible via secured remote access. Unless special authorization is given, researchers do not have direct access to data files. Instead, data access is mediated by the use of different data analysis tools hosted on their own secure servers that connect to the data server via rsa key-pair authenticated ssh-tunneling on non-standard ports (e.g. ssh -L 54000:localhost:5432 for connection to a PostgreSQL server). For example, if a researcher is going to use the R statistical system to analyze the data records, the researcher will log into the RStudio Server. From RStudio Server, which has been granted limited access to file-based data sets and data records stored in a database, the researcher will run the required analyses. Results of the analyses can only be saved to the researchers home directory on the hosting server. Researchers are not permitted to save analysis results to their office workstations. + +## Destruction +As required by specific data use agreements, completed project data can be either securely archived on encrypted VBI backup servers or destroyed. For data that is to be destroyed, the encrypted LVM partition on which the data is housed is first wiped using the Unix 'shred' utility, overwriting all partition data files three times with multiple patterns by default. After the data is overwritten, the encrypted LVM partition is then destroyed. diff --git a/datamanagement/datamanagementplan/index.html b/datamanagement/datamanagementplan/index.html new file mode 100644 index 0000000000000..3a72caede9880 --- /dev/null +++ b/datamanagement/datamanagementplan/index.html @@ -0,0 +1,31 @@ +--- +layout: default +title: Data Management Plan +category: datamanagement +description: "" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','datamanagement' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Data Management Plan' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/datapreparation/datacleaning/_posts/2015-06-05-data-cleaning.md b/datapreparation/datacleaning/_posts/2015-06-05-data-cleaning.md new file mode 100644 index 0000000000000..c53281cfb519e --- /dev/null +++ b/datapreparation/datacleaning/_posts/2015-06-05-data-cleaning.md @@ -0,0 +1,62 @@ +--- +layout: post +category: datapreparation +subcategory: datacleaning +title: "Data Cleaning" +ordinal: 1 +date: 2012-06-22 16:25:06 -0700 +comments: true +website: "" +--- + +Data cleaning is the essential process of identifying and correcting errors, inconsistencies, and inaccuracies in datasets to ensure data is accurate, complete, and reliable for analysis. In policy analysis, clean data is critical because decisions based on flawed or incomplete information can lead to misallocated resources, ineffective programs, and diminished public trust. By removing duplicates, handling missing values, managing outliers, and standardizing data formats, data cleaning improves the quality and consistency of data, enabling policymakers to derive valid insights and make evidence-based decisions. High-quality data supports transparent, efficient governance by allowing for precise targeting of interventions, better outcome predictions, and robust evaluation of policy impacts, ultimately strengthening the effectiveness and accountability of public programs. + +## Data Cleaning Techniques + +1. **Handling Missing Values** + +Missing data can introduce bias or reduce the statistical power of policy analysis, especially if the missingness is not random. Techniques for handling missing values include: + +- **Imputation:** This involves replacing missing entries with estimated values such as the mean, median, or mode of the observed data. More advanced methods include multiple imputation, where several plausible values are generated and analyses are combined for more robust results. For example, in a policy survey where respondents skip income questions, missing incomes could be imputed using the median income of respondents with similar demographics to preserve the sample size and minimize bias[2][5][10]. +- **Deletion:** Records with excessive missingness may be removed, but this can reduce the dataset and potentially introduce bias if the missingness is not completely at random. For instance, if many rural respondents in a health policy survey skip questions about hospital visits, removing these records could underrepresent rural health needs[2][10]. + +2. **Managing Outliers** + +Outliers are extreme values that can distort statistical analyses and model results. Proper handling depends on whether the outliers are errors or valid extreme cases: + +- **Winsorization:** Caps extreme values at a certain percentile (e.g., setting all values above the 95th percentile to the 95th percentile value), which reduces their influence without removing data points. For example, in analyzing household income for social welfare policy, incomes above the 99th percentile could be capped to prevent a few ultra-wealthy households from skewing the analysis[3][6]. +- **Trimming:** Removes extreme values entirely. For instance, if a dataset of school test scores includes some that are impossibly high due to data entry errors, those records can be trimmed to ensure accurate educational policy analysis[3][6]. +- **Cook’s Distance:** In regression analysis, Cook’s Distance identifies data points that have a disproportionate influence on model estimates. Observations with high Cook’s Distance can be flagged for further investigation or removal. For example, if one city’s crime rate is so high it dominates a regional safety analysis, Cook’s Distance can help decide whether to exclude or further examine that city’s data[1][3][6]. +- **Replacement:** Substitutes outliers with more typical values, such as the median. For example, if a respondent reports an implausibly high number of doctor visits in a year, this value might be replaced with the median for their demographic group[3][6]. + +Careful evaluation is necessary to determine if outliers are errors or meaningful extremes, as removing valid outliers can obscure important policy insights. + +3. **Deduplication** + +Deduplication ensures that each observation in the dataset is unique, preventing skewed analysis and inflated counts. This process involves identifying and removing duplicate records, which can occur due to repeated data entry or merging datasets. For example, in a voter registration database used for election policy analysis, deduplication removes repeated entries for the same individual, ensuring accurate voter counts and fair resource allocation[1][4][7][9]. + +4. **Smoothing** + +Smoothing techniques, such as moving averages or regression smoothing, reduce random noise in data and highlight underlying trends. This is particularly useful in policy analysis for time series data, such as unemployment rates or public health metrics, where smoothing can reveal long-term trends and cyclical patterns that inform policy decisions. For instance, a 3-year moving average of annual crime rates can help policymakers identify persistent changes rather than reacting to short-term fluctuations[8]. + +5. **Type Conversion** + +Type conversion ensures that data fields are in the correct format for analysis. This includes converting strings to dates, numbers, or categorical variables as appropriate. For example, if a policy dataset records birth dates as text (e.g., "01/15/1980"), converting these to date objects allows for accurate age calculations and cohort analyses in demographic studies[9]. + +6. **Typo Correction and Standardization** + +Correcting spelling errors, inconsistent abbreviations, and formatting differences ensures uniformity across the dataset. This is vital for accurate grouping and analysis. For example, in a policy database of job titles, standardizing entries like "Mgr", "Manager", and "manager" to a single format prevents fragmentation of employment categories and supports more reliable labor market analysis[9]. + +By applying these enhanced data cleaning techniques, policy analysts can ensure their datasets are accurate, consistent, and suitable for robust, evidence-based decision-making. + +Sources\ +[1] Top 10 Data Cleaning Techniques and Best Practices for 2024 https://www.ccslearningacademy.com/top-data-cleaning-techniques/\ +[2] Handling Missing Values in Information Systems Research https://pubsonline.informs.org/doi/10.1287/isre.2022.1104\ +[3] Why Detecting Outliers is Crucial for Accurate Data Analysis? https://www.dasca.org/world-of-data-science/article/why-detecting-outliers-is-crucial-for-accurate-data-analysis\ +[4] Evidence-based literature review: De-duplication a cornerstone for ... https://pmc.ncbi.nlm.nih.gov/articles/PMC10789108/\ +[5] Strategies for Handling Missing Values in Data Analysis https://www.dasca.org/world-of-data-science/article/strategies-for-handling-missing-values-in-data-analysis\ +[6] The Complete Guide to Outlier Handling - SkillCamper https://www.skillcamper.com/blog/the-complete-guide-to-outlier-handling\ +[7] What is Data Deduplication? Definition & Benefits - Validity https://www.validity.com/data-quality/data-deduplication/\ +[8] Steady as She Goes: How Smoothing Supports Nonprofit Spending https://www.bernstein.com/our-insights/insights/2024/articles/steady-as-she-goes-how-smoothing-supports-nonprofit-spending.html\ +[9] What Is Data Cleansing? | Definition, Guide & Examples - Scribbr https://www.scribbr.com/methodology/data-cleansing/\ +[10] 3.7 Handling Missing Values | Principal Component Analysis for ... https://pca4ds.github.io/handling-missing-values.html\ \ No newline at end of file diff --git a/datapreparation/datacleaning/index.html b/datapreparation/datacleaning/index.html new file mode 100644 index 0000000000000..b83e9e3af0c6f --- /dev/null +++ b/datapreparation/datacleaning/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Preparation +category: datapreparation +description: "" +--- +
+ +
+ +
+ + {% assign categoryPosts = site.posts | where:'category','datapreparation' %} + + {% assign subcategoryPosts = categoryPosts | where:'subcategory', 'datacleaning' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
\ No newline at end of file diff --git a/datapreparation/datacleansing/index.html b/datapreparation/datacleansing/index.html new file mode 100644 index 0000000000000..1423d9eb88c83 --- /dev/null +++ b/datapreparation/datacleansing/index.html @@ -0,0 +1,58 @@ +--- +layout: default +title: Data Quality +category: dataprofiling +description: "Does the data correctly represent the real-world construct to which it refers?" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','dataprofiling' %} +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Data Quality' | sort: 'ordinal' %} + +

{{ page.title }}

+

{{ page.description }}

+A considerable amount of data quality research involves investigating and describing various categories +of desirable attributes (or dimensions) of data. These lists commonly include accuracy, correctness, +currency, completeness and relevance, as described in Chapter 2. Nearly 200 such terms have been +identified and there is little agreement in their nature (are these concepts, goals or criteria?), +their definitions or measures (Wang et al., 1993). Here we have let a typology +emerge form the project data work. This typology consists of five data quality areas: completeness, +value validity, consistency, uniqueness, and duplication. Regardless the typology chosen, +the final judgment of data quality is measured by adherence of a dataset to a set of data quality rules. +Like data quality attributes, these rules can take one of several forms. +Here we choose a typology consisting of three rule-types employed by the DoD in its data quality management +efforts. These are: null constraint rules, domain validation rules, +and relationship validation rules. Code is developed to enforce these rules. For our study, +examples are given in psuedo-code: + +

+ + + + + + + + + + +
Null Constraintsselect sqft from housing where sqft = 0 or sqft = '' or sqrt = NULL
Domain Validation select yearbuilt from housing where yearbuilt is between 1920 and 2015
Relationship Validationselect all from housing where type = multifamily and numunits greater than 1
+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
diff --git a/datapreparation/datacreation/_posts/2015-05-05-featureconstruction.md b/datapreparation/datacreation/_posts/2015-05-05-featureconstruction.md new file mode 100644 index 0000000000000..2a70f0b773a30 --- /dev/null +++ b/datapreparation/datacreation/_posts/2015-05-05-featureconstruction.md @@ -0,0 +1,45 @@ +--- +layout: post +category: datapreparation +subcategory: datacreation +title: "Feature Extraction & Construction" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Feature extraction and feature construction are fundamental processes in data science and machine learning that transform raw data into more meaningful and actionable forms for analysis and modeling. **Feature extraction** involves identifying and deriving the most informative aspects of the data, often reducing dimensionality and focusing on variables that are most predictive or descriptive of the target outcome. This process can include selecting existing features, transforming them, or using algorithms to uncover latent patterns and relationships that are not immediately apparent in the raw data[1][4][6]. + +**Feature construction** (or feature engineering), on the other hand, is the creation of new data fields by combining or manipulating existing features. This process leverages domain knowledge to design features that capture important relationships or characteristics relevant to the problem at hand. For example, combining a house's price and its square footage to create a "price per square foot" feature provides a normalized measure that can be more informative than either feature alone[2][5][6]. Effective feature construction can significantly improve the performance and interpretability of predictive models, as it often reveals underlying patterns that raw features do not capture directly[2][3][5]. + +## Example: Feature Construction in Real Estate Data + +Consider a real estate dataset with the following features: + +| Property_ID | Bedrooms | Bathrooms | Square_Feet | Price | +|-------------|----------|-----------|-------------|---------| +| 101 | 3 | 2 | 1500 | 300000 | +| 102 | 4 | 3 | 2500 | 500000 | +| 103 | 2 | 1 | 900 | 200000 | +| 104 | 5 | 4 | 3200 | 650000 | + +Suppose we want to create a new feature, *Price_per_SqFt*, which normalizes the property price by its size. This new field is constructed by dividing the *Price* by *Square_Feet* for each property: + +| Property_ID | Bedrooms | Bathrooms | Square_Feet | Price | Price_per_SqFt | +|-------------|----------|-----------|-------------|---------|----------------| +| 101 | 3 | 2 | 1500 | 300000 | 200.00 | +| 102 | 4 | 3 | 2500 | 500000 | 200.00 | +| 103 | 2 | 1 | 900 | 200000 | 222.22 | +| 104 | 5 | 4 | 3200 | 650000 | 203.13 | + +This constructed feature, *Price_per_SqFt*, provides a more standardized way to compare property values across different sizes and can be a powerful predictor in real estate price analysis or modeling[5]. By creating such features, analysts can uncover deeper insights and improve the accuracy of models designed to predict property prices or identify undervalued homes. + +In summary, feature extraction and construction are crucial for transforming raw real estate data into features that better capture the dynamics of the housing market, enabling more robust analysis and predictive modeling[2][3][5]. + +Sources +[1] What is Feature Extraction? Feature Extraction Techniques Explained https://domino.ai/data-science-dictionary/feature-extraction\ +[2] What is Feature Engineering? | Domino Data Lab https://domino.ai/data-science-dictionary/feature-engineering\ +[3] Feature Engineering: The key to machine learning (a housing price ... https://nycdatascience.com/blog/student-works/machine-learning/feature-engineering-the-key-to-machine-learning/\ +[4] Feature Extraction in Machine Learning: A Complete Guide https://www.datacamp.com/tutorial/feature-extraction-machine-learning\ +[5] Feature Engineering Explained | Built In https://builtin.com/articles/feature-engineering\ +[6] Feature Extraction: A Clear and Succinct Definition https://www.alooba.com/skills/concepts/data-science-6/feature-extraction\ \ No newline at end of file diff --git a/datapreparation/datacreation/index.html b/datapreparation/datacreation/index.html new file mode 100644 index 0000000000000..417da66399b57 --- /dev/null +++ b/datapreparation/datacreation/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Preparation +category: datapreparation +description: "" +--- +
+ +
+ +
+ + {% assign categoryPosts = site.posts | where:'category','datapreparation' %} + + {% assign subcategoryPosts = categoryPosts | where:'subcategory', 'datacreation' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
\ No newline at end of file diff --git a/datapreparation/datarestructuring/_posts/2015-05-05-restructuring.md b/datapreparation/datarestructuring/_posts/2015-05-05-restructuring.md new file mode 100644 index 0000000000000..7fa3b74d9d718 --- /dev/null +++ b/datapreparation/datarestructuring/_posts/2015-05-05-restructuring.md @@ -0,0 +1,34 @@ +--- +layout: post +category: datapreparation +subcategory: datarestructuring +title: "Data Restructuring" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +To address issues of structure discovered during Data Profiling, it often necessary to restructure the provided dataset into multiple new datasets that are more easily analyzed. This activity can be thought of as being akin to the process of database normalization, the process of organizing the columns (attributes) and tables (relations) of a relational database to minimize data redundancy (thus achieving Codd's 3rd Normal Form - [Codd, E. F. "Recent Investigations into Relational Data Base Systems". IBM Research Report RJ1385 (April 23, 1974). Republished in Proc. 1974 Congress (Stockholm, Sweden, 1974). , N.Y.: North-Holland (1974).] + +An example of restructuring in the education case study was the necessary sub-setting of the Fall Membership database into 3 tables to account for student's race, gender, and disadvantaged status. Each of the 3 tables were aggregated by school year, division number, and grade code according to a set of rules determining inclusion/exclusion of each variable in the Fall Membership table. + +Another example of necessary restructuring occurred when dealing with 3rd-party provided MLS data (as discussed in a few examples above). In this case, it was necessary to divide the provided dataset into multiple separate datasets, Property ID \& Location, Property Characteristics, Property Sales Information, and Property Tax Information. Each of these new datasets represents a distinct unit of analysis. All of the new datasets are then associated via a new identifier, in this case, Parcel Id (see Figure \ref{MLSRestructure}). However, "Parcel ID" in this case has been left blank in over 7% of the entries. Therefore, extra work was required employing the use of a geocoding API to locate a property within county parcel maps that already include a Parcel ID. In addition, an additional complication is the fact that no standardized address format was used in the creation of the MLS record. Therefore, a small amount of direct interaction and decision making by an analyst was also necessary to finalize the geographic matching. + +Restructuring single MLS dataset into multiple associated datasets. + +Starting with: + + +Restructuring to: + + + +

Divided Observational Type

+ + +And restructuring: + + +

Multiple Observation Directions

+ + diff --git a/datapreparation/datarestructuring/index.html b/datapreparation/datarestructuring/index.html new file mode 100644 index 0000000000000..827d68297c101 --- /dev/null +++ b/datapreparation/datarestructuring/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Preparation +category: datapreparation +description: "" +--- +
+ +
+ +
+ + {% assign categoryPosts = site.posts | where:'category','datapreparation' %} + + {% assign subcategoryPosts = categoryPosts | where:'subcategory', 'datarestructuring' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
\ No newline at end of file diff --git a/datapreparation/datatransformation/_posts/2015-06-05-data-transformation.md b/datapreparation/datatransformation/_posts/2015-06-05-data-transformation.md new file mode 100644 index 0000000000000..f58a78d42744c --- /dev/null +++ b/datapreparation/datatransformation/_posts/2015-06-05-data-transformation.md @@ -0,0 +1,57 @@ +--- +layout: post +category: datapreparation +subcategory: datatransformation +title: "Data Transformation" +ordinal: 2 +date: 2012-06-22 16:25:06 -0700 +comments: true +website: "" +--- + +Data transformation is the process of converting raw data from diverse sources into a consistent, structured, and analysis-ready format, often involving actions such as data mapping, type conversion, aggregation, and standardization. This process is essential in policy analysis because it enables policymakers to integrate, compare, and interpret information from multiple datasets-such as economic indicators, demographic records, and public feedback-by ensuring the data is coherent and compatible for analysis. Through effective transformation, data becomes more accessible, reliable, and meaningful, allowing analysts to generate actionable insights that can inform evidence-based policy decisions, forecast future trends, and evaluate policy impacts. Ultimately, data transformation enhances the precision, agility, and transparency of policy development, empowering governments to address complex societal challenges with greater effectiveness and accountability. + +### Data Transformation Techniques + +**1. Normalization:** +Normalization rescales numerical data to a standard range, typically 0 to 1, ensuring that variables measured on different scales become directly comparable. This process is crucial when combining datasets from multiple sources or when using algorithms sensitive to feature scale, such as k-means clustering or neural networks. +*Example (Policy Analysis):* When analyzing the effectiveness of social welfare programs across regions with different average incomes, normalization allows for fair comparison of income data by removing the influence of regional economic disparities[3][4][11]. + +**2. Standardization:** +Standardization transforms data so that each variable has a mean of zero and a standard deviation of one. This is especially important for statistical and machine learning models that assume normally distributed input or are affected by differences in scale. Standardization ensures that all variables contribute equally to the analysis, preventing those with larger scales from dominating. +*Example (Policy Analysis):* When evaluating the impact of education level and age on policy outcomes, standardizing both variables allows analysts to compare their effects directly, regardless of their original units or ranges[4][11]. + +**3. Encoding:** +Encoding converts categorical variables (such as policy types or regions) into numerical formats, enabling their use in computational models. Methods include one-hot encoding, which creates binary columns for each category, and label encoding, which assigns a unique integer to each category. +*Example (Policy Analysis):* To include the type of intervention (e.g., tax, subsidy, regulation) in a regression model predicting policy effectiveness, encoding these categories as numbers allows them to be processed by the algorithm[4][11]. + +**4. Aggregation:** +Aggregation combines multiple records into summary statistics like sums, averages, or counts. This technique simplifies complex datasets and highlights key trends, making it easier to analyze data at higher levels (such as by region, year, or demographic group). +*Example (Policy Analysis):* Aggregating monthly unemployment rates by year and state helps policymakers identify long-term trends and regional disparities in employment, supporting targeted interventions[4][11]. + +**5. Joining/Merging:** +Joining (or merging) integrates datasets from different sources using common keys (such as geographic codes or individual IDs), resulting in a unified dataset with richer information. This is essential for comprehensive policy analysis that combines demographic, economic, and program data. +*Example (Policy Analysis):* Merging census data with health records allows researchers to analyze the relationship between socioeconomic status and health outcomes at the community level[1][9][11]. + +**6. Splitting:** +Splitting divides a single column into multiple columns, increasing the granularity and flexibility of analysis. This is often used to separate composite fields (like full addresses or dates) into their components. +*Example (Policy Analysis):* Splitting a "full name" field into "first name" and "last name" enables more detailed demographic analysis, such as examining policy impacts by surname origin or gender[4][11]. + +**7. Pivoting/Unpivoting:** +Pivoting reshapes data from a long format to a wide format (or vice versa), facilitating different types of analysis and visualization. Pivoting can summarize data by categories, while unpivoting can make repeated measures easier to analyze. +*Example (Policy Analysis):* Pivoting survey responses by year and policy type creates a matrix that highlights changes in public opinion over time, while unpivoting allows for time-series analysis of individual responses[4][11]. + +--- + +Sources\ +[1] Data Transformation: A Guide To What, Why, And How https://www.rudderstack.com/learn/data-transformation/data-transformation-techniques/\ +[2] Big Data-Driven Public Policy Decisions: Transformation Toward ... https://journals.sagepub.com/doi/10.1177/21582440231215123\ +[3] Best Practices for Normalizing Data from Different Sources - LinkedIn https://www.linkedin.com/advice/0/what-best-practices-normalizing-data-from-different-9qp3c\ +[4] Most Common Data Transformation Techniques - Coupler.io Blog https://blog.coupler.io/data-transformation-techniques/\ +[5] Data Governance Examples: Insights & Case Studies for 2025 - Atlan https://atlan.com/data-governance-examples/\ +[6] Data Normalization Explained: An In-Depth Guide - Splunk https://www.splunk.com/en_us/blog/learn/data-normalization.html\ +[7] The policy design annotations (POLIANNA) dataset | Scientific Data https://www.nature.com/articles/s41597-023-02801-z\ +[8] Data Transformation Techniques, Types, and Methods - Domo https://www.domo.com/learn/article/\data-transformation-techniques\ +[9] What are the Different Types of ETL Data Transformation | Rivery https://rivery.io/data-learning-center/types-of-etl-data-transformation/\ +[10] Complete Guide to Data Transformation: Basics to Advanced https://www.ascend.io/blog/complete-guide-to-data-transformation-basics-to-advanced/\ +[11] Guide to Data Transformation: What It Is, Steps, Techniques - Matillion https://www.matillion.com/learn/blog/data-transformation\ diff --git a/datapreparation/datatransformation/index.html b/datapreparation/datatransformation/index.html new file mode 100644 index 0000000000000..e923fde24dc2b --- /dev/null +++ b/datapreparation/datatransformation/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Data Preparation +category: datapreparation +description: "" +--- +
+ +
+ +
+ + {% assign categoryPosts = site.posts | where:'category','datapreparation' %} + + {% assign subcategoryPosts = categoryPosts | where:'subcategory', 'datatransformation' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
\ No newline at end of file diff --git a/dataprofiling/dataquality/_posts/2015-05-05-completeness.md b/dataprofiling/dataquality/_posts/2015-05-05-completeness.md new file mode 100644 index 0000000000000..44d3963cda1ab --- /dev/null +++ b/dataprofiling/dataquality/_posts/2015-05-05-completeness.md @@ -0,0 +1,19 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Quality" +title: "Completeness" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +The concept of data completeness can be generalized as the proportion of data provided versus the proportion of data required. Data that is missing may additionally be categorized as record fields not containing data, records not containing necessary fields, or datasets not containing the requisite records. The most common conceptualization of completeness is the first, record field not containing data. This conceptualization of data completeness can be thought of as *the proportion of the data that has values to the proportion of data that ’should’ have values*. That is, a set of data is complete with respect to a given purpose if the set contains all the relevant data for that purpose. Completeness is application specific. It would be incorrect to simply measure the number of missing field values in a record without first considering which of the fields are actually necessary for completion of the task at hand. + +For example, in our study of Multiple Listing Service Real Estate (MLS) data, a datset was provided with each record containing 128 fields. Per record, many of these fields are missing data, however, most of these fields were not important to the purpose of the study (e.g. Listing Agent, Owner Name, Owner Phone). It would not be helpful to categorize the proportion of missing values for these fields. Instead, a decision must first be made as to which fields belong in the analysis for the current purpose. An example pseudo-code would look something like: + + for each field in (select needed_field_1, needed_field_2, needed_field_3) + count needed_field_n where + needed_field_n DOES NOT EQUAL 0 + and needed_field_n IS NOT BLANK + and needed_field_n IS NOT NULL diff --git a/dataprofiling/dataquality/_posts/2015-05-05-consistency.md b/dataprofiling/dataquality/_posts/2015-05-05-consistency.md new file mode 100644 index 0000000000000..0a87689816385 --- /dev/null +++ b/dataprofiling/dataquality/_posts/2015-05-05-consistency.md @@ -0,0 +1,48 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Quality" +title: "Consistency" +ordinal: 3 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Record Consistency +The concept of record consistency is best understood as the degree of logical agreement "between" record field values in either a single dataset or between two or more datasets. When there is an expected logical relationship between two or more entities, we can refer to the rule specificying this logic as a type of relationship validation called a dependency constraint. Therefore, consistency becomes the degree to which these attributes satisfy said dependency constraint. An example of a logical requirement is that fields A and B must sum to field C. Logical requirements may be quite involved. For example, 'A has two children', 'A is B's father', 'A is C's father', and 'A is D's father' are inconsistent. + +A simple example of a record inconsistency would be a location disagreement like a zip-code that does not agree with a state code. Another might be the identification of a male who is also pregnant. + +A more complex example would involve consistency validation of fields associated with student withdrawal in education records. For example, most education records contain some form of an 'active code' categorizing the student's current form of interaction with the educational system. Most systems will have a code for 'Inactive' and/or 'Not enrolled'. Most systems will also have a field for withdrawal date. If a student has been categorized as 'Inactive' or 'Not enrolled' but does not have an entry for withdrawal date, then there exists a record consistency issue. + +Checking for records with inconsistent relationship between active_status and exit_code and exit_date + + SELECT unique_id, school_year, division_number__serving_school_number + FROM student_mobility_fields_2005_2015 + WHERE active_status = 'I' + AND exit_code IS NULL AND exit_date IS NULL + +Longitudinal Consistency +An inconsistency in the data when checked over time (longitudinally), to see if the same value is recorded for every new record when it should be (i.e. birthdate and other demographics). + +Causes of longitudinal inconsistency are varied, but a common source of inconsistency comes from situations where locally derived information is provided with no associated master list or file. An exhaustive 'master list' of individuals receiving a public service are, in fact, quite rare. In our study, this occurred with student records such as from the Virginia Department of Education (VDOE). Here the student demographics occur in multiple records about the same student recorded in the same year. *Truth* must be derived from the multiple observations. For example, the VDOE data we found 16,310 of the 2,346,058 individuals to have more than one value for gender. + +A simple consistency check on the field 'gender' (in pseudo-code) would look like: + + count students + from student_records joined to itself on student\_id + where gender does not match + +A consistently troublesome demographic variable, from a longitudinal consistency viewpoint, is race. Race categorization schemes change fairy frequently (in comparison to other demographic categories). In addition, people will periodically elect to change the racial category with which the identify. + +A lonitudinal consistency check of race in the Virginia Student Record Collection: + + SELECT distinct a.unique_id + FROM student_mobility_fields_2005_2015 a + JOIN student_mobility_fields_2005_2015 b + ON a.unique_id = b.unique_id + WHERE a.race_type <> b.race_type + + ## [1] 160055 + +In the Virginia Student Record Collection there are 160055 such inconsistencies. This means the dataset is about .37% inconsistent (which actually means it is still a pretty good variable for many uses). diff --git a/dataprofiling/dataquality/_posts/2015-05-05-duplication.md b/dataprofiling/dataquality/_posts/2015-05-05-duplication.md new file mode 100644 index 0000000000000..201443990d711 --- /dev/null +++ b/dataprofiling/dataquality/_posts/2015-05-05-duplication.md @@ -0,0 +1,13 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Quality" +title: "Duplication" +ordinal: 5 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Duplication refers to the degree of replication of distinct observations per observation unit type. For example, in state-level secondary-education registration records, greater than 1 registration per student per official reporting period would represent duplication. + +However, it is important to remember that while duplication can occur as a result of the accidental entering of the same information multiple times, duplication can occur many times as a direct result of the choice of level of aggregation; for example, aggregating to a single student registration per academic year when registration information is actually collected multiple times per academic year. diff --git a/dataprofiling/dataquality/_posts/2015-05-05-uniqueness.md b/dataprofiling/dataquality/_posts/2015-05-05-uniqueness.md new file mode 100644 index 0000000000000..fc3518f997174 --- /dev/null +++ b/dataprofiling/dataquality/_posts/2015-05-05-uniqueness.md @@ -0,0 +1,23 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Quality" +title: "Uniqueness" +ordinal: 4 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- + +The concept of data uniqueness can be generalized as the number of unique valid values that have been entered in a record field, or as a combination of record field values within a dataset. Uniqueness is not generally discussed in terms of data quality, but for the purposes of answering research questions, the variety and richness of the data is of paramount importance. Most notably, if a record field has very little value uniqueness (e.g. entries in the field 'State' for an analysis of housing within a county, which of course would be within a single state), then its utility would be quite low and can be conceptualized as having low quality in terms of the research question at hand. + +A basic birth year distribution plot is shown using R and SQL: + + values_birth_year = dbGetQuery(con, "SELECT birth_year + FROM student_mobility_fields_2005_2015") + + # frequency distribution plot of birth_year values + birth_year_frequencies = table(values_birth_year$birth_year) + barplot(birth_year_frequencies, main="Birth Year Value Distribution", horiz=TRUE) + + diff --git a/dataprofiling/dataquality/_posts/2015-05-05-valuevalidity.md b/dataprofiling/dataquality/_posts/2015-05-05-valuevalidity.md new file mode 100644 index 0000000000000..7563a9e463a2d --- /dev/null +++ b/dataprofiling/dataquality/_posts/2015-05-05-valuevalidity.md @@ -0,0 +1,23 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Quality" +title: "Value Validity" +ordinal: 2 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +The concept of value validity can be conceptualized as the percentage of elements whose attributes possess expected values. The actualization of this concept generally comes in the form of straight-forward domain constraint rules. For example, to ascertain how many entries contain non-valid values for a non-empty text field representing gender, an example pseudo-code domain \textit{comparison-constraint rule} would look something like: + + count gender where gender is not in (male, female) + +Or, to ascertain how many entries contain non-valid values for a non-empty integer field representing age, a pseudo-code domain \textit{interval-constraint rule} would look something like: + + count age where age is not between [0,110] + +It should be noted that in many discussions of data quality, this concept is simply referred to as "Validity" (Redman, DoD, ...). However, the term validity has many differing and complex meanings (and attendant sub-definitions) within the social and behavioral sciences. Therefore, here we use our own sub-definition "value validity" to be clear which specific form of validity is being discussed. + +An example of a discovered value validity problem can be seen in Figure 3.2. While profiling MLS data for a particular locality, it was discovered that the values entered for the field "zoning" were extensively varied. It is clear that the mechanism of input provided for this field was 'free text' where anything can be typed. The domain comparison-constraint for this field is the official list of zoning district names for that locality. It was found that none of the entries for this field in this particular dataset qualify as valid values. However, it should be noted that there may still vary well be usable information contained within the zoning field. The lack of valid values simply points to a potential problem in need of further investigation. For example, if the question at hand simply requires a count of how many properties are "Resdiential", it may very well be possible to transform the existing entries to adequately represent a true or false in this respect. However, the executions of such transformations are left for the Data Transformation stage. + + diff --git a/dataprofiling/dataquality/index.html b/dataprofiling/dataquality/index.html new file mode 100644 index 0000000000000..4a36ac0bcfaf7 --- /dev/null +++ b/dataprofiling/dataquality/index.html @@ -0,0 +1,64 @@ +--- +layout: default +title: Data Quality +category: dataprofiling +description: "Does the data correctly represent the real-world construct to which it refers?" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','dataprofiling' %} +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Data Quality' | sort: 'ordinal' %} + +

Data Profiling

+Data profiling starts with a determination of both the quality of the data and its utility to the project at hand. There are numerous rubrics available, but a useful initial assessment of data quality can be achieved through statistical analysis of data field completeness, data field value correctness, and logical consistency between fields and between records {\color{green}{(Redman, Wang, DOD, others)}}. In addition, it is useful to ascertain the spread of unique values within a field, as well as the rate of duplication at the record level. For an assessment of dataset utility, the dataset's structure should be analyzed. This is to determine how well the dataset has been structured for the purposes of the intended analyses. The the state of the dataset's metadata should also be analyzed to determine how well observational units and their attributes are defined. + +An important feature of the data profiling process is that discovered issues are only described and not actually “fixed”. The appropriate fix will depend upon the specific needs of the research. If the prescribed "fix" is not appropriate or even possible there would be no need for any action and attempting a fix at this stage could result in wasted time and effort. For example, it may be appropriate to simply normalize city zoning entries into Residential or non-residential versus painfully re-categorizing every missing entry into the 38 zoning classfication. + +

{{ page.title }}

+

{{ page.description }}

+ +A considerable amount of data quality research involves investigating and describing various categories +of desirable attributes (or dimensions) of data. These lists commonly include accuracy, correctness, +currency, completeness and relevance, as described in Chapter 2. Nearly 200 such terms have been +identified and there is little agreement in their nature (are these concepts, goals or criteria?), +their definitions or measures (Wang et al., 1993). Here we have let a typology +emerge form the project data work. This typology consists of five data quality areas: completeness, +value validity, consistency, uniqueness, and duplication. Regardless the typology chosen, +the final judgment of data quality is measured by adherence of a dataset to a set of data quality rules. +Like data quality attributes, these rules can take one of several forms. +Here we choose a typology consisting of three rule-types employed by the DoD in its data quality management +efforts. These are: null constraint rules, domain validation rules, +and relationship validation rules. Code is developed to enforce these rules. For our study, +examples are given in psuedo-code: + +

+ + + + + + + + + + +
Null Constraintsselect sqft from housing where sqft = 0 or sqft = '' or sqrt = NULL
Domain Validation select yearbuilt from housing where yearbuilt is between 1920 and 2015
Relationship Validationselect all from housing where type = multifamily and numunits greater than 1
+ + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
diff --git a/dataprofiling/datastructure/_posts/2015-05-05-combinedtypes.md b/dataprofiling/datastructure/_posts/2015-05-05-combinedtypes.md new file mode 100644 index 0000000000000..6daa578c9f4a8 --- /dev/null +++ b/dataprofiling/datastructure/_posts/2015-05-05-combinedtypes.md @@ -0,0 +1,17 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Structure" +title: "Combined Observational Unit Types" +ordinal: 4 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Within administrative records, multiple types of data are often combined for expediency. By multiple types we mean different sets of data fields, each set representing a different type of observational unit (e.g. property information and listing agent information in the same record). The observational unit types necessary to the project at hand need to be separated out into individual observations or individual datasets in the restructuring phase. + +One example encountered in the education case study had to do with a dataset containing both individual demographic data and a periodic measurement of weekly attendance where demographic data and weekly attendance are separate observational units and needed to be in separate datasets for the purposes of the study. + +An example from the housing case study is given in Figure 3.3. The dataset provided wascomprised of single records with 128 fields. Each original record was identified by a unique“List Number.” However, if a parcel was listed twice it would have two different “List Num-bers.” As a result, changes in a property or parcel over time could not be tracked from theserecords because the structure only identified the list number not the parcel number. Changingthe structure to include the “Parcel ID” allowed the required historical tracking of changes. + + diff --git a/dataprofiling/datastructure/_posts/2015-05-05-combinedvariables.md b/dataprofiling/datastructure/_posts/2015-05-05-combinedvariables.md new file mode 100644 index 0000000000000..277da09032d50 --- /dev/null +++ b/dataprofiling/datastructure/_posts/2015-05-05-combinedvariables.md @@ -0,0 +1,16 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Structure" +title: "Combined Variables" +ordinal: 2 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Combined variables refers to the condition where more than one variable is represented in a record field. Sometimes, especially, after some form of correction to the previous problem of missing variables has been address, +we end up with column variable names comprised of a combination of multiple underlying +variable names. It should be note that many times, like duplication, this is an issue of problem definition. A common example with administrative record files occurs when we use parts of the date_of_birth field. For example, in the education case study, there was a need at one point to categorize students by birth_year. To achieve this categorization, it was first necessary to divide out from the date_of_birth field the variables birth_month, birth_day, and birth_year. While this is often achieved within the programming of a query (i.e. select datepart('year', date_of_birth), what in fact is occurring is the separation of previously combined variables. + +Here is an example that combines gender and age group in the same variable: + diff --git a/dataprofiling/datastructure/_posts/2015-05-05-dividedtype.md b/dataprofiling/datastructure/_posts/2015-05-05-dividedtype.md new file mode 100644 index 0000000000000..6674dede650b7 --- /dev/null +++ b/dataprofiling/datastructure/_posts/2015-05-05-dividedtype.md @@ -0,0 +1,14 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Structure" +title: "Divided Observation Unit Type" +ordinal: 5 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Within administrative data systems, it is also not uncommon to find that a single observation unit type has been split among multiple datasets.This is similar to the consistency discussion of multiple observations with overlapping demographic information. The difference here is that you may have information split among several datasets. For example, there may be, as was the case with one state's educational records, separate tables that duplicate the collection of student demographics. Figure \ref{dividedtype} captures gender mismatches across two tables from the same education record information system, linked on the Unique Id of the student. Decisions on whether and how to transform inconsistent data as a result of divided observation unit type need to factor in the magnitude of the issue as well as the ability to accurately correct the data in a timely enough fashion given the project at hand. + + +Example of divided observational units for gender mismatched in multiple tables. diff --git a/dataprofiling/datastructure/_posts/2015-05-05-manyproblemsexample.md b/dataprofiling/datastructure/_posts/2015-05-05-manyproblemsexample.md new file mode 100644 index 0000000000000..7caaaa4b54e8f --- /dev/null +++ b/dataprofiling/datastructure/_posts/2015-05-05-manyproblemsexample.md @@ -0,0 +1,13 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Structure" +title: "Many Problems Real-Life Example" +ordinal: 6 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Scraping data from an emergency services online data system: + + diff --git a/dataprofiling/datastructure/_posts/2015-05-05-missingvariables.md b/dataprofiling/datastructure/_posts/2015-05-05-missingvariables.md new file mode 100644 index 0000000000000..c4961acbf6f70 --- /dev/null +++ b/dataprofiling/datastructure/_posts/2015-05-05-missingvariables.md @@ -0,0 +1,14 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Structure" +title: "Missing Variables" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +'Missing variables' means that a dataset has values in column headers instead of variable names. +It is not uncommon to receive tabular datasets that have been designed for the purpose of presentation, not analysis, where variables form both the rows and columns, and column headers are values, not variable names. While this type of structural issue was not experienced with the datasets under consideration, it is an issue to be cognizant of, especially, as our experience indicates, when dealing with agency datasets released as tabular data in spreadsheet files. Such files are often initially produced for the purpose of conveying aggregated summary data to decision-makers and are not constructed like a traditional dataset (i.e. one record per row with clear field/column titles). + + diff --git a/dataprofiling/datastructure/_posts/2015-05-05-multipledirections.md b/dataprofiling/datastructure/_posts/2015-05-05-multipledirections.md new file mode 100644 index 0000000000000..00b2ef2c0d607 --- /dev/null +++ b/dataprofiling/datastructure/_posts/2015-05-05-multipledirections.md @@ -0,0 +1,15 @@ +--- +layout: post +category: dataprofiling +subcategory: "Data Structure" +title: "Multiple Observation Directions" +ordinal: 3 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +A particularly messy structural issue occurs when a dataset has variable names in both columns and rows. For example, a dataset with an field/column for each day of the month (on the horizontal) and a row title for 'month' (on the vertical). This situation occurs most often when the data provided comes in the form of and cross-tabulated aggregate data. + + Table 11 shows daily weather data from the Global Historical Climatology Networkfor one weather station (MX17004) in Mexico for five months in 2010. It has variables in individual columns (id,year,month), spread across columns (day, d1-d31) and across rows(tmin,tmax) (minimum and maximum temperature). + + diff --git a/dataprofiling/datastructure/index.html b/dataprofiling/datastructure/index.html new file mode 100644 index 0000000000000..865655557fa4c --- /dev/null +++ b/dataprofiling/datastructure/index.html @@ -0,0 +1,42 @@ +--- +layout: default +title: Data Structure +category: dataprofiling +description: "Is the data appropriately structured for purposes of analysis?" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','dataprofiling' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Data Structure' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ +Because datasets are often created for reasons of administration and reporting, and further that there are generally few constraints on their organization, administrative datasets are often constructed in manners not conducive to statistical analyses. During the data profiling step, issues about data structure are identified. During the data transformation step decisions on how to restructure data are made and executed. + +An example from the housing case study is given in Figure \ref{MLScombine}. The dataset provided was comprised of single records with 128 fields. All fields in the record were keyed to the variable``List Number.'' Structured this way, it is not possible to analyze property changes over time, even though the data does in fact exist within the dataset. That is, a restructuring is necessary that pulls out and re-relates the property information to a different key (here, Parcel ID). This situation occurs often as a result of the structural issue 'combined observational unit types' discussed below. + +\begin{figure}[h!] +\centerline{\includegraphics[scale=.6]{CombinedTypes.pdf}} +\caption{Combined data types of \textit{List Number} and \textbf{Parcel ID} from MLS data table.} +\label{MLScombine} +\end{figure} + + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
diff --git a/dataprofiling/metadata/_posts/2015-05-05-attributeformats.md b/dataprofiling/metadata/_posts/2015-05-05-attributeformats.md new file mode 100644 index 0000000000000..af0556e0de7b3 --- /dev/null +++ b/dataprofiling/metadata/_posts/2015-05-05-attributeformats.md @@ -0,0 +1,13 @@ +--- +layout: post +category: dataprofiling +subcategory: "Metadata" +title: "Inconsistent Attribute Formats" +ordinal: 5 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Attributes of the same type that are formatted differently + +e.g. most commonly an issue when dealing with dates and times diff --git a/dataprofiling/metadata/_posts/2015-05-05-dataprovenance.md b/dataprofiling/metadata/_posts/2015-05-05-dataprovenance.md new file mode 100644 index 0000000000000..c9e5b10744089 --- /dev/null +++ b/dataprofiling/metadata/_posts/2015-05-05-dataprovenance.md @@ -0,0 +1,22 @@ +--- +layout: post +category: dataprofiling +subcategory: "Metadata" +title: "Data Provenance" +ordinal: 7 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +The concept of Provenance is very broad and has different meanings within different fields of inquiry. For the purposes of Data Profiling, we find it useful to apply the definition provided by the World Wide Web Consortium (W3C) + +"Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance." +[https://www.w3.org/2005/Incubator/prov/wiki/What_Is_Provenance] + +Housing Example +An example of why it is important to consider data provenance was seen in the housing case study. Some of the datasets used were provided by 3rd party vendors. As part of the value-added of these data products, 3rd party vendors often perform some set of transformations on the original data to enhance data consistency and quality. Sometimes the transformation processes used are readily available to the client, and the client can validate their application by repeating the transformations and producing identical results. Other this information is not made available, thus necessitating further investigation and experimentation on the part of the client to ensure that the data provided is, in fact, a true representation of the original source data. + +Property Crime Example +Another example from our studies was from a commercial data provider which provided indicators of neighborhood quality based on patented algorithms. We were unable to reconcile differences found in their crime indexes and data from Arlington County, Virginia Police Incident Tracking system. Figure 3.5 presents the misalignment in these data sources by census tract. The figure shows property crime counts as calculated by the commercial provider and as directly pulled from the Arlington County Police Incident Tracking system. The county data had five census tracts with counts greater than 300. These were not shown in the boxplot to allow a better scaled comparison to the commercial provider. The commericial provider did not describe, nor makes available, their methods to adjust the counts. + + diff --git a/dataprofiling/metadata/_posts/2015-05-05-metadatamanagement.md b/dataprofiling/metadata/_posts/2015-05-05-metadatamanagement.md new file mode 100644 index 0000000000000..72f7481af738a --- /dev/null +++ b/dataprofiling/metadata/_posts/2015-05-05-metadatamanagement.md @@ -0,0 +1,16 @@ +--- +layout: post +category: dataprofiling +subcategory: "Metadata" +title: "Metadata Management" +ordinal: 6 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Here provided are the specifications of the Lexicon, a metadata repository. + + + +#The Lexicon +##A Metadata Repository diff --git a/dataprofiling/metadata/_posts/2015-05-05-multiattrnames.md b/dataprofiling/metadata/_posts/2015-05-05-multiattrnames.md new file mode 100644 index 0000000000000..2b03a05d9ab44 --- /dev/null +++ b/dataprofiling/metadata/_posts/2015-05-05-multiattrnames.md @@ -0,0 +1,13 @@ +--- +layout: post +category: dataprofiling +subcategory: "Metadata" +title: "Multiple Attribute Names" +ordinal: 4 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Attributes with different names but the same definition + +e.g. attributes name “Grade” and “Year” both referring to 'level/year' of schooling diff --git a/dataprofiling/metadata/_posts/2015-05-05-semanticconfusion.md b/dataprofiling/metadata/_posts/2015-05-05-semanticconfusion.md new file mode 100644 index 0000000000000..cff8592642bf8 --- /dev/null +++ b/dataprofiling/metadata/_posts/2015-05-05-semanticconfusion.md @@ -0,0 +1,13 @@ +--- +layout: post +category: dataprofiling +subcategory: "Metadata" +title: "Semantic Confusion" +ordinal: 3 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +The concept of semantic interoperability here refers to the ability of data systems to exchange data with other data systems unambiguously. Semantic interoperability is concerned not just with the data syntax, but also with the transmission of the meaning with the data (semantics). This is generally accomplished by adding metadata to a dataset, thereby defining a controlled, shared vocabulary. Without this shared vocabulary, \textbf{Semantic Confusion} can occur, where names and syntax may agree, but definitions don't. For example, while combining two data sets, it may be found that two fields(attributes) have the same name (say "Grade") but their definitions are completely different (because “Grade” can refer to both a 'score' for a test/class or the 'level/year' of schooling). + + diff --git a/dataprofiling/metadata/_posts/2015-05-05-unitattributesdefinition.md b/dataprofiling/metadata/_posts/2015-05-05-unitattributesdefinition.md new file mode 100644 index 0000000000000..0c280d47b169e --- /dev/null +++ b/dataprofiling/metadata/_posts/2015-05-05-unitattributesdefinition.md @@ -0,0 +1,13 @@ +--- +layout: post +category: dataprofiling +subcategory: "Metadata" +title: "Observation Unit Attributes Definition" +ordinal: 2 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +Attributes (columns) without definition and/or non-meaningful/confusing naming + +note. It is sometimes necessary to separate multiple variables represented in a single attribute (column) before creating definitions diff --git a/dataprofiling/metadata/_posts/2015-05-05-unitdefinition.md b/dataprofiling/metadata/_posts/2015-05-05-unitdefinition.md new file mode 100644 index 0000000000000..150ccd7962f89 --- /dev/null +++ b/dataprofiling/metadata/_posts/2015-05-05-unitdefinition.md @@ -0,0 +1,13 @@ +--- +layout: post +category: dataprofiling +subcategory: "Metadata" +title: "Observation Unit Definition" +ordinal: 1 +date: 2012-05-22 16:25:06 -0700 +comments: true +website: "" +--- +When a dataset is provided without definition of the purpose of that dataset, we have an issue with the Observation Unit Definition. Why was this data collected? When dealing with datasets not orignally collected for research purposes (e.g administrative data), there is often no easy answer to this question. To correct issues of observational unit definition, it is often necessary to first generate separate new datasets from the dataset provided, each representing only a single observational unit type. At this point a new observational unit definition can be created. + +This type of metadata is issue is quite common, and we experienced said issue when dealing with certain 3rd-party produced housing datasets. A single dataset would include, within each record(row), multiple potential observational units (e.g housing unit data, listing service data, owner data, neighborhood data). Only after defining the observational units needed and extracting the necessary fields could a new observational unit definition be generated (e.g. Housing Unit Specifications for Arlington County VA from CY 20XX to CY 20XX). diff --git a/dataprofiling/metadata/index.html b/dataprofiling/metadata/index.html new file mode 100644 index 0000000000000..3d17aafb3318e --- /dev/null +++ b/dataprofiling/metadata/index.html @@ -0,0 +1,49 @@ +--- +layout: default +title: Metadata +category: dataprofiling +description: "Are datasets, observation units, and their attributes consistently named, sufficiently described, and appropriately formatted for combination with other datasets?" +--- +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','dataprofiling' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Metadata' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ +Metadata is generally defined "data that provides information about other data". +[http://www.merriam-webster.com/dictionary/metadata]. +The main purpose of metadata is the facilitation of the discovery relevant information pertaining +to a particular object/resource. It does this by "allowing resources to be found by relevant criteria, +identifying resources, bringing similar resources together, distinguishing dissimilar resources, +and giving location information."[National Information Standards Organization; Rebecca Guenther; Jaqueline Radebaugh (2004). +Understanding Metadata. Bethesda, MD: NISO Press. ISBN 1-880124-62-9. Retrieved 2 April 2014.] +Therefore, generally speaking, a lack of metadata for a dataset can present significant impediments to the use of +said dataset. + +Being more specific, when dealing with data that is to be used for research purposes, it is of vital +importance to discover if the datasets (tables), their observational observation units (records/rows), +and their attributes (fields/columns) are consistently named, sufficiently described, and appropriately +formatted for analysis and for combination with other project datasets. Additionally, does information +exist regrading any transformations that have occurred to original data sources in the creation of said +dataset, as well as who did the transforming? + + {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + more + {% endif %} +
+
+ {% endfor %} +
diff --git a/datascience/ethics.html b/datascience/ethics.html new file mode 100644 index 0000000000000..887d70769f691 --- /dev/null +++ b/datascience/ethics.html @@ -0,0 +1,147 @@ +--- +layout: default +category: dataprofiling +--- +
+ +
+ + +
+

Ethics Checklist Template for Data Science Projects

+
+ + + + + + + + +
Project Initiation
+ Recognize and affirm that all project plans will incorporate regular checks, discussion, and documentation to ensure adherence to the ethical principles of research. +
+  + + + + + + + + + + +
Problem Identification (Relevant Theories and Working Hypotheses)
+ Establish the ethical basis for undertaking the project as well as the project requirements of both the protection of research participant and the equitable allocation of all potential project benefits and risks. +
+
    +
  1. What are the expected benefits of the project to the “public good,” and do they outweigh potential risks to participant welfare?
  2. +
  3. Are there implicit assumptions and biases in the framing of the project regarding the studied communities and how will they be addressed?
  4. +
  5. What type of Institutional Review Board (IRB) approval process is needed? Has the team reviewed the IRB protocol?
  6. +
+
+ + + + + + + + + + + +
Data Discovery, Inventory, Screening, & Acquisition
+ Consider potential biases that may be introduced through the choice of datasets and variables. +
+
    +
  1. Do the data include disproportionate coverage of the different communities of study?
  2. +
  3. Do data have adequate geographic coverage?
  4. +
  5. Have checks and balances been established to identify and address implicit biases in the data?
  6. +
+
+ + + + + + + + + + + +
Data Ingestion and Governance
+ Put in place data platforms and processes to ensure data transfer, storage, and database development adheres to data governance agreements and best practices for data quality assurance. +
+
    +
  1. Have team members reviewed standard operating procedures (SOPs) and data management plans?
  2. +
  3. Do data have adequate geographic coverage?
  4. +
  5. Do additional procedures need to be defined for this project?
  6. +
+
+ + + + + + + + + + + +
Statistical Modeling & Analysis
+ Establish transparency in methods, results and limitations. +
+
    +
  1. Have project methods and outputs been made as transparent as possible?
  2. +
  3. Are the potential limitations of the research clearly presented?
  4. +
  5. Should the research be used as the basis for policy action, have the predicted benefits and social costs to all potentially affected communities been considered?
  6. +
+
+ + + + + + + + + + + + +
Fitness-for-Use Assessment
+ Critically asses the overall utility of the results in achieving the predicted benefits of the study, to be transparent about potential limitations of the study, and to ensure that unintended biases haven’t been introduced as a result of data choice and model refinement. +
+
    +
  1. What are the limitations of the results? Are the results useful given the purpose of the study?
  2. +
  3. Do the statistical results support the potential benefits of the study previously stated?
  4. +
  5. Do the statistical results support the mitigation of the potential risks of the study previously stated?
  6. +
  7. Have any data been deemed unusable that require revisiting the question of potential biases being introduced through the choice of datasets and variables (from the data discovery to fitness-for-use phase)?
  8. +
+
+ + + + + + + + + + + +
Communication and Dissemination
+ Summarize questions and actions taken to reinforce the process of ethical consideration on all continuing and future projects.. Establish protocols for replication and expansion of the research findings, and information dissemination. +
+
    +
  1. Did key ethical questions arise during the research and, if so, how were they addressed? How could they be addressed differently on future projects?
  2. +
  3. Are research protocols, methods and data available to other researchers? If so, in what way, and, if not, what factors are limiting the ability to do so?
  4. +
+
+ diff --git a/datascience/index.html b/datascience/index.html new file mode 100644 index 0000000000000..a7e0a7f46e171 --- /dev/null +++ b/datascience/index.html @@ -0,0 +1,24 @@ +--- +layout: default +category: dataprofiling +--- +
+ +
+ +
+

SDAL Data Science Framework

+

Generalized Framework

+

+ Much of this is discussed in: Keller, S. A., Shipp, S. S., Schroeder, A. D., & Korkmaz, G. (2020). Doing Data + Science: A Framework and Case Study. Harvard Data Science Review. 2(1).. + DOI=https://doi.org/10.1162/99608f92.2d83f7f5. +

+ + + +

Processes & Platforms

+ +
\ No newline at end of file diff --git a/datascience/test.html b/datascience/test.html new file mode 100644 index 0000000000000..461d92a54e714 --- /dev/null +++ b/datascience/test.html @@ -0,0 +1,12 @@ +

Project Initiation

+Recognize and affirm that all project plans will incorporate regular checks, discussion, and documentation to ensure adherence to the ethical principles of research.
+ +

Problem Identification (Relevant Theories and Working Hypotheses)

+Establish the ethical basis for undertaking the project as well as the project requirements of both the protection of research participant and the equitable allocation of all potential project benefits and risks.
+ + +
    +
  1. What are the expected benefits of the project to the "public good,"" and do they outweigh potential risks to participant welfare?
  2. +
  3. Are there implicit assumptions and biases in the framing of the project regarding the studied communities and how will they be addressed?
  4. +
  5. What type of Institutional Review Board (IRB) approval process is needed? Has the team reviewed the IRB protocol?
  6. +
diff --git a/downloads/460wireless.pdf b/downloads/460wireless.pdf new file mode 100644 index 0000000000000..d2e8a9ab2b43c Binary files /dev/null and b/downloads/460wireless.pdf differ diff --git a/downloads/511 Virginia E-mail alert system.pdf b/downloads/511 Virginia E-mail alert system.pdf new file mode 100644 index 0000000000000..4dab32d3b5f5c Binary files /dev/null and b/downloads/511 Virginia E-mail alert system.pdf differ diff --git a/downloads/511VirginiaEvaluation.pdf b/downloads/511VirginiaEvaluation.pdf new file mode 100644 index 0000000000000..fae98abee27a9 Binary files /dev/null and b/downloads/511VirginiaEvaluation.pdf differ diff --git a/downloads/AccessToRidesDatabaseUserGuide.pdf b/downloads/AccessToRidesDatabaseUserGuide.pdf new file mode 100644 index 0000000000000..84c5c59d05467 Binary files /dev/null and b/downloads/AccessToRidesDatabaseUserGuide.pdf differ diff --git a/downloads/BedfordRideArticle.jpg b/downloads/BedfordRideArticle.jpg new file mode 100644 index 0000000000000..8da07624b5ec4 Binary files /dev/null and b/downloads/BedfordRideArticle.jpg differ diff --git a/downloads/Calculating a Sample Size.pptx b/downloads/Calculating a Sample Size.pptx new file mode 100644 index 0000000000000..926a5d42a1deb Binary files /dev/null and b/downloads/Calculating a Sample Size.pptx differ diff --git a/downloads/Calculating%20Chi-Square.pdf b/downloads/Calculating%20Chi-Square.pdf new file mode 100644 index 0000000000000..676884de3c600 Binary files /dev/null and b/downloads/Calculating%20Chi-Square.pdf differ diff --git a/downloads/Case Study I-81 ITS Program.pdf b/downloads/Case Study I-81 ITS Program.pdf new file mode 100644 index 0000000000000..7bb163385d7c7 Binary files /dev/null and b/downloads/Case Study I-81 ITS Program.pdf differ diff --git a/downloads/Categories, Classification, Measurement and Scales.pdf b/downloads/Categories, Classification, Measurement and Scales.pdf new file mode 100644 index 0000000000000..111c0127e728f Binary files /dev/null and b/downloads/Categories, Classification, Measurement and Scales.pdf differ diff --git a/downloads/Contingency Table Exercises.docx b/downloads/Contingency Table Exercises.docx new file mode 100644 index 0000000000000..cfb5dbeeb872e Binary files /dev/null and b/downloads/Contingency Table Exercises.docx differ diff --git a/downloads/D-1_Data_Security_and_Technology.pdf b/downloads/D-1_Data_Security_and_Technology.pdf new file mode 100644 index 0000000000000..7094beecd91c5 Binary files /dev/null and b/downloads/D-1_Data_Security_and_Technology.pdf differ diff --git a/downloads/Distinct Counts from VLDS to Support ECIDS.pdf b/downloads/Distinct Counts from VLDS to Support ECIDS.pdf new file mode 100644 index 0000000000000..f02a2c3dcd378 Binary files /dev/null and b/downloads/Distinct Counts from VLDS to Support ECIDS.pdf differ diff --git a/downloads/Enhanced Night Visibility Series.pdf b/downloads/Enhanced Night Visibility Series.pdf new file mode 100644 index 0000000000000..4bac655550fae Binary files /dev/null and b/downloads/Enhanced Night Visibility Series.pdf differ diff --git a/downloads/Federated & Centralized Models.pdf b/downloads/Federated & Centralized Models.pdf new file mode 100644 index 0000000000000..53a3fd69663e3 Binary files /dev/null and b/downloads/Federated & Centralized Models.pdf differ diff --git a/downloads/Federated & Centralized Models.pptx b/downloads/Federated & Centralized Models.pptx new file mode 100644 index 0000000000000..39ee6f033b567 Binary files /dev/null and b/downloads/Federated & Centralized Models.pptx differ diff --git a/downloads/Forms of Statistical Logic.pdf b/downloads/Forms of Statistical Logic.pdf new file mode 100644 index 0000000000000..35cccf1a327e9 Binary files /dev/null and b/downloads/Forms of Statistical Logic.pdf differ diff --git a/downloads/GSummit - Introduction of the 2022-2026 Virginia Rural Health Plan and Data Commons_10292021_UVA slides.pdf b/downloads/GSummit - Introduction of the 2022-2026 Virginia Rural Health Plan and Data Commons_10292021_UVA slides.pdf new file mode 100644 index 0000000000000..7aca0a8f90bb1 Binary files /dev/null and b/downloads/GSummit - Introduction of the 2022-2026 Virginia Rural Health Plan and Data Commons_10292021_UVA slides.pdf differ diff --git a/downloads/GSummit - Introduction of the 2022-2026 Virginia Rural Health Plan and Data Commons_10292021_UVA slides.pptx b/downloads/GSummit - Introduction of the 2022-2026 Virginia Rural Health Plan and Data Commons_10292021_UVA slides.pptx new file mode 100644 index 0000000000000..9632a71ceb47c Binary files /dev/null and b/downloads/GSummit - Introduction of the 2022-2026 Virginia Rural Health Plan and Data Commons_10292021_UVA slides.pptx differ diff --git a/downloads/Governors_ECAC_Slides_5_30_12.pdf b/downloads/Governors_ECAC_Slides_5_30_12.pdf new file mode 100644 index 0000000000000..24fe76493659a Binary files /dev/null and b/downloads/Governors_ECAC_Slides_5_30_12.pdf differ diff --git a/downloads/HANDS_School Assessments Research Report April 2010.pdf b/downloads/HANDS_School Assessments Research Report April 2010.pdf new file mode 100644 index 0000000000000..5e2ccd7c24262 Binary files /dev/null and b/downloads/HANDS_School Assessments Research Report April 2010.pdf differ diff --git a/downloads/HANDS_Technical_QI_Classification_website.pdf b/downloads/HANDS_Technical_QI_Classification_website.pdf new file mode 100644 index 0000000000000..e2bd2c7f0ac18 Binary files /dev/null and b/downloads/HANDS_Technical_QI_Classification_website.pdf differ diff --git a/downloads/I-81 ITS Program Evaluation Framework.pdf b/downloads/I-81 ITS Program Evaluation Framework.pdf new file mode 100644 index 0000000000000..ca108f110079d Binary files /dev/null and b/downloads/I-81 ITS Program Evaluation Framework.pdf differ diff --git a/downloads/ISU CLD3 Processes Platforms Examples.pdf b/downloads/ISU CLD3 Processes Platforms Examples.pdf new file mode 100644 index 0000000000000..09bbeb1baff32 Binary files /dev/null and b/downloads/ISU CLD3 Processes Platforms Examples.pdf differ diff --git a/downloads/InformedAtTheWheelRichmondTimes.jpg b/downloads/InformedAtTheWheelRichmondTimes.jpg new file mode 100644 index 0000000000000..ab7505a10c6e0 Binary files /dev/null and b/downloads/InformedAtTheWheelRichmondTimes.jpg differ diff --git a/downloads/Lecture 4, Medians from Grouped Data Example.pdf b/downloads/Lecture 4, Medians from Grouped Data Example.pdf new file mode 100644 index 0000000000000..dea318dde4500 Binary files /dev/null and b/downloads/Lecture 4, Medians from Grouped Data Example.pdf differ diff --git a/downloads/Lecture 5, Alcoholism Third Variable.doc b/downloads/Lecture 5, Alcoholism Third Variable.doc new file mode 100644 index 0000000000000..a2d7fd1a8ed37 Binary files /dev/null and b/downloads/Lecture 5, Alcoholism Third Variable.doc differ diff --git a/downloads/Lecture 5, Chi Square Distribution.docx b/downloads/Lecture 5, Chi Square Distribution.docx new file mode 100644 index 0000000000000..c5fa7634acc47 Binary files /dev/null and b/downloads/Lecture 5, Chi Square Distribution.docx differ diff --git a/downloads/Lecture 5, Contingency Table Example (Larger) - Income and Job Satisfaction.doc b/downloads/Lecture 5, Contingency Table Example (Larger) - Income and Job Satisfaction.doc new file mode 100644 index 0000000000000..2f1d7154e5175 Binary files /dev/null and b/downloads/Lecture 5, Contingency Table Example (Larger) - Income and Job Satisfaction.doc differ diff --git a/downloads/Lecture 5, Contingency Table Example - Automobile Maintence Data.doc b/downloads/Lecture 5, Contingency Table Example - Automobile Maintence Data.doc new file mode 100644 index 0000000000000..a30699596742c Binary files /dev/null and b/downloads/Lecture 5, Contingency Table Example - Automobile Maintence Data.doc differ diff --git a/downloads/MBDSS2019.pdf b/downloads/MBDSS2019.pdf new file mode 100644 index 0000000000000..e62af040ced49 Binary files /dev/null and b/downloads/MBDSS2019.pdf differ diff --git a/downloads/MBDSS2019.pptx b/downloads/MBDSS2019.pptx new file mode 100644 index 0000000000000..c9ed7781e5c8f Binary files /dev/null and b/downloads/MBDSS2019.pptx differ diff --git a/downloads/Measuring the Scope and Impact of Open Source Software-GASP-korkmaz-schroeder.pdf b/downloads/Measuring the Scope and Impact of Open Source Software-GASP-korkmaz-schroeder.pdf new file mode 100644 index 0000000000000..b1511ee7975c3 Binary files /dev/null and b/downloads/Measuring the Scope and Impact of Open Source Software-GASP-korkmaz-schroeder.pdf differ diff --git a/downloads/MultiFamily Address List Creation Using Open Data and Delivery Poi.pdf b/downloads/MultiFamily Address List Creation Using Open Data and Delivery Poi.pdf new file mode 100644 index 0000000000000..ae1fc4e2b5319 Binary files /dev/null and b/downloads/MultiFamily Address List Creation Using Open Data and Delivery Poi.pdf differ diff --git a/downloads/Multi_Agency_Data_Federation.pdf b/downloads/Multi_Agency_Data_Federation.pdf new file mode 100644 index 0000000000000..527febd874b9b Binary files /dev/null and b/downloads/Multi_Agency_Data_Federation.pdf differ diff --git a/downloads/Music_Theory_101.pdf b/downloads/Music_Theory_101.pdf new file mode 100644 index 0000000000000..ee361be77b0b1 Binary files /dev/null and b/downloads/Music_Theory_101.pdf differ diff --git a/downloads/Open and Neck Chords in a Key - 5th String Root.pdf b/downloads/Open and Neck Chords in a Key - 5th String Root.pdf new file mode 100644 index 0000000000000..ef40e2e709749 Binary files /dev/null and b/downloads/Open and Neck Chords in a Key - 5th String Root.pdf differ diff --git a/downloads/Open and Neck Chords in a Key - 6th String Root.pdf b/downloads/Open and Neck Chords in a Key - 6th String Root.pdf new file mode 100644 index 0000000000000..384c15d1acc10 Binary files /dev/null and b/downloads/Open and Neck Chords in a Key - 6th String Root.pdf differ diff --git a/downloads/Pad & Chaff-schroeder.pdf b/downloads/Pad & Chaff-schroeder.pdf new file mode 100644 index 0000000000000..ebdc7d951238a Binary files /dev/null and b/downloads/Pad & Chaff-schroeder.pdf differ diff --git a/downloads/Policy Inquiry - Lecture 1 - Forms of Statistical Logic.pptx b/downloads/Policy Inquiry - Lecture 1 - Forms of Statistical Logic.pptx new file mode 100644 index 0000000000000..0a47cb7e936de Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 1 - Forms of Statistical Logic.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 2 - Categorization, Indexes & Scales.pptx b/downloads/Policy Inquiry - Lecture 2 - Categorization, Indexes & Scales.pptx new file mode 100644 index 0000000000000..b1af6c2ad4b3f Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 2 - Categorization, Indexes & Scales.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 3 - Descriptive Statistics - Textual and Graphical.pptx b/downloads/Policy Inquiry - Lecture 3 - Descriptive Statistics - Textual and Graphical.pptx new file mode 100644 index 0000000000000..327c937ed93d9 Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 3 - Descriptive Statistics - Textual and Graphical.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 4 - Descriptive Statistics - Numerical.pptx b/downloads/Policy Inquiry - Lecture 4 - Descriptive Statistics - Numerical.pptx new file mode 100644 index 0000000000000..6bc639fc68ba3 Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 4 - Descriptive Statistics - Numerical.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 5 - Analysis of Nominal and Ordinal Data.ppt b/downloads/Policy Inquiry - Lecture 5 - Analysis of Nominal and Ordinal Data.ppt new file mode 100644 index 0000000000000..bae3a708959d0 Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 5 - Analysis of Nominal and Ordinal Data.ppt differ diff --git a/downloads/Policy Inquiry - Lecture 5 - Analysis of Nominal and Ordinal Data.pptx b/downloads/Policy Inquiry - Lecture 5 - Analysis of Nominal and Ordinal Data.pptx new file mode 100644 index 0000000000000..d8f8c4cf5ee6d Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 5 - Analysis of Nominal and Ordinal Data.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 6 - Validity, Inference and Sampling - Instructor.pptx b/downloads/Policy Inquiry - Lecture 6 - Validity, Inference and Sampling - Instructor.pptx new file mode 100644 index 0000000000000..87bb75edb1065 Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 6 - Validity, Inference and Sampling - Instructor.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 7 - Hypothesis Testing and the t-Test.pptx b/downloads/Policy Inquiry - Lecture 7 - Hypothesis Testing and the t-Test.pptx new file mode 100644 index 0000000000000..1009d95d150b3 Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 7 - Hypothesis Testing and the t-Test.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 7 - Hypothesis Testing and z, t and chi.pptx b/downloads/Policy Inquiry - Lecture 7 - Hypothesis Testing and z, t and chi.pptx new file mode 100644 index 0000000000000..10040fcdf4c32 Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 7 - Hypothesis Testing and z, t and chi.pptx differ diff --git a/downloads/Policy Inquiry - Lecture 8 - Linear Regression.pptx b/downloads/Policy Inquiry - Lecture 8 - Linear Regression.pptx new file mode 100644 index 0000000000000..218e10ef55dc8 Binary files /dev/null and b/downloads/Policy Inquiry - Lecture 8 - Linear Regression.pptx differ diff --git a/downloads/Project Child HANDS - INSIGHTS Presentation_6_25_13.pdf b/downloads/Project Child HANDS - INSIGHTS Presentation_6_25_13.pdf new file mode 100644 index 0000000000000..4ed6e07d0f421 Binary files /dev/null and b/downloads/Project Child HANDS - INSIGHTS Presentation_6_25_13.pdf differ diff --git a/downloads/Project Child HANDS - INSIGHTS Presentation_6_25_13.pptx b/downloads/Project Child HANDS - INSIGHTS Presentation_6_25_13.pptx new file mode 100644 index 0000000000000..30eb5123dcac0 Binary files /dev/null and b/downloads/Project Child HANDS - INSIGHTS Presentation_6_25_13.pptx differ diff --git a/downloads/RealTimeTrafficInformationOfferedForI-81InVirginia.JPG b/downloads/RealTimeTrafficInformationOfferedForI-81InVirginia.JPG new file mode 100644 index 0000000000000..701644ef1c758 Binary files /dev/null and b/downloads/RealTimeTrafficInformationOfferedForI-81InVirginia.JPG differ diff --git a/downloads/Regression Example - Beer Revenue.pdf b/downloads/Regression Example - Beer Revenue.pdf new file mode 100644 index 0000000000000..8c0dc7941e21d Binary files /dev/null and b/downloads/Regression Example - Beer Revenue.pdf differ diff --git a/downloads/Regression Example - Beer Revenue.xlsx b/downloads/Regression Example - Beer Revenue.xlsx new file mode 100644 index 0000000000000..4cb00d35817d0 Binary files /dev/null and b/downloads/Regression Example - Beer Revenue.xlsx differ diff --git a/downloads/Report I-81 Video2 complete.pdf b/downloads/Report I-81 Video2 complete.pdf new file mode 100644 index 0000000000000..3b86142d6b4d8 Binary files /dev/null and b/downloads/Report I-81 Video2 complete.pdf differ diff --git a/downloads/Research Design.ppt b/downloads/Research Design.ppt new file mode 100644 index 0000000000000..e93448dbe79b7 Binary files /dev/null and b/downloads/Research Design.ppt differ diff --git a/downloads/Research Designs for Explanation.ppt b/downloads/Research Designs for Explanation.ppt new file mode 100644 index 0000000000000..416fecd78ea50 Binary files /dev/null and b/downloads/Research Designs for Explanation.ppt differ diff --git a/downloads/Schroeder_DataLinkageStateLevel.pdf b/downloads/Schroeder_DataLinkageStateLevel.pdf new file mode 100644 index 0000000000000..dd2e9d72e9762 Binary files /dev/null and b/downloads/Schroeder_DataLinkageStateLevel.pdf differ diff --git a/downloads/Schroeder_Evolution_of_Emergency_Management.pdf b/downloads/Schroeder_Evolution_of_Emergency_Management.pdf new file mode 100644 index 0000000000000..5e9881f5e9bdf Binary files /dev/null and b/downloads/Schroeder_Evolution_of_Emergency_Management.pdf differ diff --git a/downloads/Schroeder_NAS.pdf b/downloads/Schroeder_NAS.pdf new file mode 100644 index 0000000000000..6306f049212dc Binary files /dev/null and b/downloads/Schroeder_NAS.pdf differ diff --git a/downloads/Schroeder_Pop_Redist_ACS_Data_Users--Final.pdf b/downloads/Schroeder_Pop_Redist_ACS_Data_Users--Final.pdf new file mode 100644 index 0000000000000..4de8ccdbd64c3 Binary files /dev/null and b/downloads/Schroeder_Pop_Redist_ACS_Data_Users--Final.pdf differ diff --git a/downloads/Serial%20Wireless%20IP%20Networks%20for%20DOT-IEEE.pdf b/downloads/Serial%20Wireless%20IP%20Networks%20for%20DOT-IEEE.pdf new file mode 100644 index 0000000000000..805206da26755 Binary files /dev/null and b/downloads/Serial%20Wireless%20IP%20Networks%20for%20DOT-IEEE.pdf differ diff --git a/downloads/Shared_Site_Cost_Savings_Final.pdf b/downloads/Shared_Site_Cost_Savings_Final.pdf new file mode 100644 index 0000000000000..cb4c1773f980a Binary files /dev/null and b/downloads/Shared_Site_Cost_Savings_Final.pdf differ diff --git a/downloads/Syllabus.html b/downloads/Syllabus.html new file mode 100644 index 0000000000000..d4037f4a59ef6 --- /dev/null +++ b/downloads/Syllabus.html @@ -0,0 +1,67 @@ + +Grading

Policy Analysis and Program Evaluation

Spring 2008

 

Professor

Aaron D. Schroeder, PhD

aaron.schroeder@vt.edu

540.239.0393

 

The worlds of Policy Analysis and Program Evaluation, while overlapping and sharing similarities in terms of general logical approach, are quite different in their level of focus, level of detail, and overall purpose.  While the person put in charge of evaluating the success of a particular government program will be necessarily focused on whether or not predicted outcomes have been achieved or processes of delivery have been adequately established, the policy analyst will generally be more concerned with understanding the political and economic issues involved with the passage of a policy (which could affect many different programs) and how those issues will or will not make it possible to adjust the existing or create a new policy. Accordingly, this course will have two tracks, one focusing on the approaches and methods of Program Evaluation, the other on the approaches and methods of Policy Analysis.

 

Program Evaluation vs. Policy Analysis

While the course is attended by both MPA and PhD students, it is most heavily populated by MPA students. Therefore, the focus on Program Evaluation will be stressed to a greater extent. Fortunately, most of the information about approaches and methods of Program Evaluation is quite relevant and useful to the budding policy analyst and/or professor of public administration. In terms of Program Evaluation, this course will be reviewing the many approaches to conducting an evaluation (e.g. objectives-oriented vs. management-oriented) as well as the many designs that may be adopted (e.g. case studies vs. pretest-posttest vs. regression-discontinuity).

 

Tools of the Trade

What the Policy Analyst and the Program Evaluator do share is a need to understand the tools at their disposal for collecting the necessary information of their trade. Because the trade of government (either policy making or program implementation) is conducted by people and for people, the information collection tools used by the Policy Analyst and Program Evaluator are necessarily comprised of methods of soliciting information from people (from one person, a small group of people, or a large population of individuals). Therefore, one of the main foci of this course will be learning about the “tools of the trade” for eliciting information from populations, small groups, and individuals. Specifically, the students of this course will learn about Survey Design, Running a Focus Group, and Conducting Interviews (of multiple types).

 

Workshops and Practitioner Presentations

There is no better way to learn about a profession than to see someone in that profession in action! Second best is to hear them talk about it…so, to better demonstrate some of the concepts being discussed in the class, a number of “hands-on” workshops and practitioner presentations have been scheduled. Each workshop or presentation is being led by a practicing professional in the field of policy analysis and/or program evaluation. Two hands-on workshops are being presented on the topics of Designing Surveys and Leading Focus Groups. The survey design workshop is being directed by Dr. Steven Culver, the Asst. Director of Virginia Tech Office of Academic Assessment. The focus group workshop is being directed by research project manager Stephanie Baker of the Virginia Tech Transportation Institute. In addition, three practitioner presentations are being held. The first presentation is being given Mark Gribbin, a Senior Associate Legislative Analyst working for the Virginia State Joint Legislative Audit and Review Commission (JLARC) on the commission’s evaluation approach. Also, Mark will also be hosting a JLARC recruiting event during his visit. The second presentation is being given by Mary Beth Dunkenberger, the Senior Program Director at The Virginia Tech Institute for Policy and Governance (IPG) on the evaluation work of the institute. The final presentation is being given by Owen Perkins, a new junior researcher at IPG on a cost effectiveness analysis he is currently undertaking.

 

MPA Student Requirements

Quizzes

MPA students will be responsible for taking 6 subject quizzes: Evaluation Approaches, Survey Design, Focus Groups, Interviewing Techniques, Evaluation Design, and Policy Analysis. Each quiz will be completed following discussion of the subject in class.

Quizzes count for 50% of your final grade.

 

Case Studies

Most of the approaches to evaluation, data collection tools, and evaluation design types will be demonstrated in use by a case study. Each MPA student will be required to present two (2) articles that illustrate the use of an approach, tool, or design under discussion. The presentation will be a 10 minute minimum PowerPoint presentation. A template for the format of the presentation will be on the web site. All case study articles will be available via the web site. Assignments will be made randomly. In addition, each student will create for distribution during the presentation a one-page “brief” explaining the approach, tool, or design discussed. These briefs will be converted in to pdf format and made available via the web site for use by class students in designing their project evaluations. At the end of the semester, the pdfs will be combined to form a single volume for download. The intent is that every student will be able leave the class with their own “workbook” of evaluation approaches, tools, and designs.

 

Case study presentations count for 20% of your final grade.

 

Evaluation/Research Mini-Project

Each student will be responsible for completing a small evaluation/research project by the end of the semester. In the fall semester, students in the Research Methods course were given a set of questions that the town manager of Blacksburg would like to have answered about different services in and around the town. The students then devised simple research plans to find answers for the town manager. For example, one question concerned what types of development ideas citizens would find appropriate for the old Blacksburg Middle School property. Working from a hypothesis that Blacksburg citizens would accept an alternative use for the property (other than leaving it as it is), a student proposed conducting a focus group to develop a survey to be distributed to an adequate sample size in and around Blacksburg. Some students devised quick approaches to other questions they had a personal interest in.

 

While these small research projects do not constitute on their own a program evaluation, they will give the MPA student the opportunity to apply some of the tools being discussed (e.g. stakeholder analysis, interviewing, focus groups, surveys, possibly applying a specific design). In addition, completion of the project will give the student the opportunity to interact with local government officials on real life topics. At the end of the semester these projects will be presented to the Blacksburg Town Manager and, possibly, other town officials.

If you did not take the research methods course in the fall you will need to select one of the existing topics or discuss with me a different question to answer. A list of the questions supplied by the town manager will be available on the web site.

 

The Mini-project presentation counts for 20% of your final grade.

 

Class Participation

Each student is expected to have familiarized themselves with the case studies being presented so that they can ask pertinent questions of the case study presenter. The instructor will track the number of pertinent questions asked of presenters per student. This number, in addition to general level of participation, will be used to calculate a final class participation score.

 

Class participation counts for 10% of your final grade.

 

PhD Student Requirements

Quizzes

PhD students will be responsible for taking 5 subject quizzes: Evaluation Approaches, Survey Design, Focus Groups, Interviewing Techniques, and Evaluation Design. Each quiz will be completed following discussion of the subject in class.

 

Quizzes count for 30% of your final grade.

 

Case Studies

Most of the approaches to evaluation, data collection tools, and evaluation design types will be demonstrated in use by a case study. Each PhD student will be required to present one (1) article that illustrates the use of an approach, tool, or design under discussion. The presentation will be a 10 minute minimum PowerPoint presentation. A template for the format of the presentation will be on the web site. All case study articles will be available via the web site. Assignments will be made randomly. In addition, each student will create for distribution during the presentation a one-page “brief” explaining the approach, tool, or design discussed. These briefs will be converted in to pdf format and made available via the web site for use by class students in designing their project evaluations. At the end of the semester, the pdfs will be combined to form a single volume for download. The intent is that every student will be able leave the class with their own “workbook” of evaluation approaches, tools, and designs.

 

The case study presentation counts for 10% of your final grade.

 

Teaching

PhD students graduating from CPAP most often end up working as professors of public administration or working in high level policy analyst positions at all levels of government. Therefore, there is a need by CPAP PhD graduates to be able to both understand policy decisions at a high conceptual level and be able to present those ideas in a clear, thoughtful, and interesting manner. These ideas could be conveyed to a classroom of public administration graduate students or to a room full of political staffers and, possibly, their political bosses. In either case, the public administration PhD student needs to learn to TEACH!

 

Accordingly, each PhD student in the class will be tasked with two teaching presentations. The first presentation will teach the rest of the class about one type of policy analysis framework (how they go about their work) and the second presentation will teach the rest of the class about one theory of knowledge (what is accepted as evidence/truth). Each presentation will use PowerPoint and will last approximately 30 minutes. Additional materials may be used and distributed as necessary. For the benefit of the presenters, the presentations will be evaluated by the MPA students according to criteria derived earlier in the class (these evaluations are for learning purposes only and will not be used by the instructor in final grading).

 

Upon completion of the Policy Analysis presentations, the PhD students will be responsible for devising a 10-12 question policy analysis quiz derived from information given in the presentations. The quiz will be administered to the MPA students via Blackboard for a grade.

 

The teaching presentations count for 25% of your final grade.

 

Policy Analysis Proposal

The final assignment for the PhD student will be a policy analysis proposal. The student will be responsible early in the semester for identifying a policy area in which they have an interest. After completing the policy presentations, the student will be responsible for developing a five-page minimum length proposal to investigate some aspect of the selected policy area. The proposal will discuss the political and economic context of the policy area, the stakeholders to be considered in the analysis, the framework and epistemological stance from which the analyst will operate, and the approach and methods that will be used to conduct the analysis (as there are too many approaches and methods to be covered in this one class, it is not necessary that you only stick to those discussed).

 

The policy analysis proposal counts for 25% of your final grade.

 

Class Participation

Each student is expected to have familiarized themselves with the case studies being presented so that they can ask pertinent questions of the case study presenter. The instructor will track the number of pertinent questions asked of presenters per student. This number, in addition to general level of participation, will be used to calculate a final class participation score.

 

Class participation counts for 10% of your final grade.

 

 

Textbooks

 

 

 

 

Program Evaluation: Alternative Approaches and Practical Guidelines, Third Edition, Fitzpatrick, Sanders, and Worthen

The Power of Survey Design: A User’s Guide for Managing Surveys, Interpreting Results, and Influencing Respondents, Iarossi

Policy Analysis by Design, Bobrow, Dryzek   PhD Students only

 

 

 

 

 

 

 

 

 

 

 

 

Grading

 

 

 

 

 

 

MPA

 

 

 

PhD

 

Quizzes (6): 50%

 

Quizzes (5): 30%

 

Approach/Tool Presentations (2): 20%

Approach/Tool Presentation (1): 10%

 

Research Presentation: 20%

Policy Analysis Presentations/Quiz (2): 25%

 

Class Participation: 10%

 

Policy Analysis Proposal: 25%

 

 

 

 

 

Class Participation: 10%

 

 

 

 

 

 

 

 

 

 

 

 

16-Jan

Introduction

 

 

 

 

Syllabus

 

 

 

 

 

Books

 

 

 

 

 

Indexes

 

 

 

 

 

Policy Analysis and Evaluation

 

 

 

Research vs. Evaluation

 

 

 

Frames of Reference in Policy Analysis

 

 

Introduction to Program Evaluation

 

 

The Research/Evaluation Project

 

 

Web Site

 

 

 

 

 

 

 

 

 

 

23-Jan

Approaches to Evaluation and Analysis

 

 

Textbook - Fitzpatrick, Sanders, Worthen,  Chs. 4-6

 

 

 

 

 

 

 

Lecture - Objectives-Oriented Evaluation

 

 

Student Presentations

 

 

 

 

Objectives Oriented

 

 

 

 

 

When Hard Questions Are Asked: Evaluating Writing Centers

 

 

Logic Models

 

 

 

 

 

A city initiative to improve the quality of life for urban youth: how evaluation contributed to effective social programming

 

 

Program Theory

 

 

 

 

 

Using program theory models in evaluation of industrial modernization programs: three case studies

 

 

 

 

 

 

 

Lecture - Management-Oriented Evaluation

 

 

Student Presentations

 

 

 

 

CIPP - Context, Input, Process, and Product Evaluation

 

 

 

Imprisonment and Career Development: An Evaluation of a Guidance Programme for Job Finding

 

 

PERT - Program (or Project) Evaluation and Review Technique

 

 

 

Assessment and evaluation of contractor data against client goals using PERT approach

 

 

 

 

 

 

 

Lecture - Consumer-Oriented Evaluation

 

 

Student Presentations

 

 

 

 

Consumer Protection

 

 

 

 

 

Evaluating technologies in reproductive health: case studies of a consumer protection approach

 

 

 

 

 

 

30-Jan

Approaches to Evaluation and Analysis

 

 

Textbook - Fitzpatrick, Sanders, Worthen, Chs. 7-8

 

 

 

 

 

 

 

Lecture - Expertise-Oriented Evaluation

 

 

Student Presentations

 

 

 

 

Accreditation Standards

 

 

 

 

Flexner, Accreditation, and Evaluation

 

 

Adoption Panel

 

 

 

 

 

Adoption Now: A Joint Initiative of New York's Courts and Child Welfare System

 

 

 

 

 

 

 

Lecture - Participant-Oriented Evaluation

 

 

Student Presentations

 

 

 

 

Stake's Countenance

 

 

 

 

 

Stakes Countenance Model: Evaluating an Environmental Education Professional Development Course

 

 

Responsive Evaluation

 

 

 

 

A Qualitative Evaluation of a Project to Enhance Pupils’ Emotional Literacy Through a Student Assistance Programme

 

 

Naturalistic Evaluation

 

 

 

 

 An enhanced assessment and support team (EAST) for dementing elders - review of a Scottish regional initiative

 

 

Participatory Evaluation

 

 

 

 

 Involving Children and Young People in Research on Domestic Violence and Housing

 

 

Utilization-Focused Evaluation

 

 

 

 

Utilization Focused Evaluation for Tourism

 

 

Empowerment Evaluation

 

 

 

 

Empowerment Evaluation Applied: Experiences, Analysis, and Recommendations from a Case Study

 

 

 

An Empowerment Evaluation Model for Sexual Assualt Programs: Empirical Evidence of Effectiveness

 

 

 

 

 

 

 

Lecture - Summary of Evaluation Approaches

 

 

 

 

 

 

 

Approaches Quiz

 

 

 

 

 

 

 

 

 

6-Feb

Tools of the Trade: Surveys

 

 

 

Textbook - Iarossi, Chs. 1-3

 

 

 

 

 

 

 

 

 

Lecture - Data Collection Methods: Survey Methodology

 

Video - The Power of Survey Design, Giuseppe Iarossi

 

 

 

 

 

 

 

Survey Workshop - "Survey Design"

 

 

 

Steven Culver, Virginia Tech Office of Academic Assessment

 

 

 

 

 

 

 

Research/Evaluation Topics Due

 

 

Policy Proposal Areas Due

 

 

Surveys Quiz

 

 

 

 

 

 

 

 

 

13-Feb

Tools of the Trade: Focus Groups

 

 

Textbook - A Manual for the Use of Focus Groups

 

 

 

 

 

 

 

Video - "Focus Groups: Targeting the Market"

 

Lecture - Focus Group Interviewing

 

 

 

 

 

 

 

 

Focus Group Workshop - "Small group process techniques that can be used to gather information in a focus group or other small group session"  

 

 

Stephanie Baker, Virginia Tech Transportation Institute

 

 

 

 

 

 

 

Focus Group Quiz

 

 

 

 

 

 

 

 

 

20-Feb

Tools of the Trade: Interviews

 

 

Readings

 

 

 

 

 

Using Structured Interview Techniques

 

 

Fast Tracking Research With Paired Interviews

 

The use of email interviewing as a qualitative method of inquiry in educational research

 

Conducting In-Depth Interviews: A Guide for Designing and Conducting In-Depth Interviews for Evaluation Input

 

Asking the Right Questions in the Right Ways: Strategies for Ethnographic Interviewing

 

 

 

 

 

 

 

Lecture - Conducting an Interview

 

 

Video - Gathering Facts from Interviews

 

 

Student Presentations

 

 

 

 

Structured Interviews

 

 

 

 

 

The Structured Interview: An Alternative to the Assessment Center?

 

 

Paired Interviews

 

 

 

 

 

Cannibis and Smoking Research: Interviewing Young People in Self-Selected Friendship Pairs

 

 

Telephone Interviews

 

 

 

 

 

Restoring Rivers One Reach at a Time: Results from a Survey of U.S. River Restoration Practitioners

 

 

Email Interviews

 

 

 

 

 

Development of a standard e-mail methodology: results of an experiment

 

 

In-depth Interviews

 

 

 

 

 

Volunteerism and residential longevity in Saskatoon, Saskatchewan, Canada

 

 

Ethnographic Interviews

 

 

 

 

Ethnographic Interviews Guide Design of Ford Vehicles Website

 

 

 

 

 

 

 

Interviews Quiz

 

 

 

 

 

 

 

 

 

27-Feb

Practitioner Presentation

 

 

 

 

"JLARC Evaluation Process"

 

 

 

Mark Gribbin, Senior Associate Legislative Analyst

 

Mark will be hosting a recruiting session at Thomas Conner the evening of the 26th

 

 

 

 

 

 

5-Mar

Spring Break

 

 

 

 

 

 

 

 

 

12-Mar

Evaluation Designs

 

 

 

 

Lecture - Designs for Causal and Descriptive Information

 

Student Presentations

 

 

 

 

Case Study

 

 

 

 

 

The Qualitative Method of Impact Analysis

 

 

Posttest-Only

 

 

 

 

 

The Daily Show Effect Candidate Evaluations, Efficacy, and American Youth

 

 

Pretest-Posttest

 

 

 

 

 

The Effectiveness of Art Therapy in Reducing Depression in Prison Populations

 

 

Nonequivalent Comparison Group

 

 

 

County Jail Suicides in a Midwestern State: Moving Beyond the Use of Profiles

 

 

Interrupted Time-Series

 

 

 

 

Getting the Deterrence Message Out The Project Safe Neighborhoods Public–Private Partnership

 

 

Regression-Discontinuity

 

 

 

 

An Evaluation of California's Inmate Classification System Using a Generalized Regression Discontinuity Design

 

 

Cross-Sectional

 

 

 

 

 

Breast feeding and obesity: cross sectional study

 

 

Mixed Method

 

 

 

 

 

 

 

 

 

Practitioner Presentations

 

 

 

 

"Program Evaluation Research at IPG - A Case Study", Mary Beth Dunkenberger, Senior Program Director

 

 

Cost-Design - "Cost-Effectiveness of Combined Adult and Child Day Care Services", Owen Perkins, Research Assistant, IPG

 

 

 

 

 

 

 

Evaluation Design Quiz

 

 

 

 

 

 

 

 

19-Mar

Understanding the Context and Figuring Out Who Should Be Involved

 

Readings - Stakeholder Analysis: A Tool for Network Management

 

 

Contextual Assessment: Reading the Network

 

Textbook - Fitzpatrick, Sanders, Worthen, Chps. 14 and 16

 

 

 

 

 

 

 

Lecture - The Political and Economic Context

 

Lecture - Stakeholder Analysis - Who Needs to be Included and Why?

 

Lecture - Reporting and Using Evaluation Information

 

 

 

 

 

 

 

PhD Presentation Practice Session

 

 

26-Mar

Policy Analysis Frames of Reference (Approaches)

 

Textbook - Policy Analysis by Design, Bobrow and Dryzek, Chps. 2-6

 

Lecture - A Framework for Comparative Scrutiny of Policy Frames and Introduction to Smoketown

 

PhD Student Presentations

 

 

 

 

Welfare Economics

 

 

 

Public Choice

 

 

 

Social Structure

 

 

 

 

Information Processing

 

 

 

Political Philosophy

 

 

 

 

 

 

 

 

Research/Evaluation Plan Draft Due

 

 

 

 

 

 

 

2-Apr

Policy Analysis Theories of Knowledge (Epistomology)

 

Textbook - Policy Analysis by Design, Bobrow and Dryzek, Chps. 8-11

 

Lecture - Theories of Knowledge

 

 

 

PhD Student Presentations

 

 

 

 

Positivism

 

 

 

 

Piecemeal Social Engineering

 

 

Ecclectic, Forensic, and Relativism

 

 

Accomodationist and Critical Policy Analysis

 

 

 

 

 

 

 

Policy Analysis Quiz (MPA Only)

 

 

 

 

 

 

 

9-Apr

Individual Meetings

 

 

 

 

 

 

 

 

16-Apr

Interview and Data Collection Write-up Due

 

Policy Analysis Proposal Rough Draft Due

 

 

 

 

 

 

23-Apr

No Class

 

 

 

 

 

 

 

30-Apr

No Class

 

 

 

 

 

 

 

7-May

Research/Evaluation Presentations

 

 

Policy Analysis Proposal Due

 

 

\ No newline at end of file diff --git a/downloads/The Political Roots of Hating Government, Schroeder.pdf b/downloads/The Political Roots of Hating Government, Schroeder.pdf new file mode 100644 index 0000000000000..7275981323f1a Binary files /dev/null and b/downloads/The Political Roots of Hating Government, Schroeder.pdf differ diff --git a/downloads/Travel Shenandoah Science Blog Press.pdf b/downloads/Travel Shenandoah Science Blog Press.pdf new file mode 100644 index 0000000000000..523cb91ff210a Binary files /dev/null and b/downloads/Travel Shenandoah Science Blog Press.pdf differ diff --git a/downloads/TravelVirginia.pdf b/downloads/TravelVirginia.pdf new file mode 100644 index 0000000000000..c996a53a0420b Binary files /dev/null and b/downloads/TravelVirginia.pdf differ diff --git a/downloads/TruckFleetSupportProgramEvaluation.pdf b/downloads/TruckFleetSupportProgramEvaluation.pdf new file mode 100644 index 0000000000000..f73248b6b4d75 Binary files /dev/null and b/downloads/TruckFleetSupportProgramEvaluation.pdf differ diff --git a/downloads/VA Local Social Service Agencies and Quality Improvement_No1.pdf b/downloads/VA Local Social Service Agencies and Quality Improvement_No1.pdf new file mode 100644 index 0000000000000..80c9dd8e648aa Binary files /dev/null and b/downloads/VA Local Social Service Agencies and Quality Improvement_No1.pdf differ diff --git a/downloads/VT-VLDS Data Adapter User Guide.pdf b/downloads/VT-VLDS Data Adapter User Guide.pdf new file mode 100755 index 0000000000000..117ab7c24ff65 Binary files /dev/null and b/downloads/VT-VLDS Data Adapter User Guide.pdf differ diff --git a/downloads/VT-VLDS Exposure Database Guidelines.pdf b/downloads/VT-VLDS Exposure Database Guidelines.pdf new file mode 100755 index 0000000000000..82279094c6618 Binary files /dev/null and b/downloads/VT-VLDS Exposure Database Guidelines.pdf differ diff --git a/downloads/VT-VLDS Identity Resolution and Query Execution Process Overview.pdf b/downloads/VT-VLDS Identity Resolution and Query Execution Process Overview.pdf new file mode 100755 index 0000000000000..a5a4df06c2680 Binary files /dev/null and b/downloads/VT-VLDS Identity Resolution and Query Execution Process Overview.pdf differ diff --git a/downloads/VT-VLDS Lexicon Metadata Tool Design Document.pdf b/downloads/VT-VLDS Lexicon Metadata Tool Design Document.pdf new file mode 100755 index 0000000000000..a005171012550 Binary files /dev/null and b/downloads/VT-VLDS Lexicon Metadata Tool Design Document.pdf differ diff --git a/downloads/VT-VLDS Lexicon Specifications v1.pdf b/downloads/VT-VLDS Lexicon Specifications v1.pdf new file mode 100755 index 0000000000000..ea1ff2a92b7ff Binary files /dev/null and b/downloads/VT-VLDS Lexicon Specifications v1.pdf differ diff --git a/downloads/VT-VLDS Shaker Database Model.pdf b/downloads/VT-VLDS Shaker Database Model.pdf new file mode 100755 index 0000000000000..d75660c0a36c1 Binary files /dev/null and b/downloads/VT-VLDS Shaker Database Model.pdf differ diff --git a/downloads/VT-VLDS Shaker Specifications v2.pdf b/downloads/VT-VLDS Shaker Specifications v2.pdf new file mode 100755 index 0000000000000..b485454e8ab7a Binary files /dev/null and b/downloads/VT-VLDS Shaker Specifications v2.pdf differ diff --git a/downloads/VT-VLDS Web Service Interfaces.pdf b/downloads/VT-VLDS Web Service Interfaces.pdf new file mode 100755 index 0000000000000..e26828ac85cce Binary files /dev/null and b/downloads/VT-VLDS Web Service Interfaces.pdf differ diff --git a/downloads/VTTI_Ped_FINRPT_FINAL.pdf b/downloads/VTTI_Ped_FINRPT_FINAL.pdf new file mode 100644 index 0000000000000..cd9625e4113ac Binary files /dev/null and b/downloads/VTTI_Ped_FINRPT_FINAL.pdf differ diff --git a/downloads/Workshop3-Schroeder-Building-Data-Sharing-Infrastructures.pdf b/downloads/Workshop3-Schroeder-Building-Data-Sharing-Infrastructures.pdf new file mode 100644 index 0000000000000..1d5849afcaf04 Binary files /dev/null and b/downloads/Workshop3-Schroeder-Building-Data-Sharing-Infrastructures.pdf differ diff --git a/downloads/Workshop3-Schroeder-Building-Data-Sharing-Infrastructures.pptx b/downloads/Workshop3-Schroeder-Building-Data-Sharing-Infrastructures.pptx new file mode 100644 index 0000000000000..a2dcb40e78b79 Binary files /dev/null and b/downloads/Workshop3-Schroeder-Building-Data-Sharing-Infrastructures.pptx differ diff --git a/downloads/chords/Alan Jackson & Jimmy Buffett - It's Five O'Clock Somewhere.pdf b/downloads/chords/Alan Jackson & Jimmy Buffett - It's Five O'Clock Somewhere.pdf new file mode 100644 index 0000000000000..a4fd174cc8eb4 Binary files /dev/null and b/downloads/chords/Alan Jackson & Jimmy Buffett - It's Five O'Clock Somewhere.pdf differ diff --git a/downloads/chords/Arlo Guthrie - City of New Orleans.pdf b/downloads/chords/Arlo Guthrie - City of New Orleans.pdf new file mode 100644 index 0000000000000..68a92e37e5d4d Binary files /dev/null and b/downloads/chords/Arlo Guthrie - City of New Orleans.pdf differ diff --git a/downloads/chords/Blake Shelton - Some Beach.pdf b/downloads/chords/Blake Shelton - Some Beach.pdf new file mode 100644 index 0000000000000..7c00d8e876935 Binary files /dev/null and b/downloads/chords/Blake Shelton - Some Beach.pdf differ diff --git a/downloads/chords/CCR - Looking Out My Back Door.pdf b/downloads/chords/CCR - Looking Out My Back Door.pdf new file mode 100644 index 0000000000000..f744b3951f0df Binary files /dev/null and b/downloads/chords/CCR - Looking Out My Back Door.pdf differ diff --git a/downloads/chords/Craig Morgan - Little Bit of Life.pdf b/downloads/chords/Craig Morgan - Little Bit of Life.pdf new file mode 100644 index 0000000000000..c801a417e39e5 Binary files /dev/null and b/downloads/chords/Craig Morgan - Little Bit of Life.pdf differ diff --git a/downloads/chords/Creedence Clearwater Revival - Down on the Corner in G.pdf b/downloads/chords/Creedence Clearwater Revival - Down on the Corner in G.pdf new file mode 100644 index 0000000000000..f6fe952c9804b Binary files /dev/null and b/downloads/chords/Creedence Clearwater Revival - Down on the Corner in G.pdf differ diff --git a/downloads/chords/Dwight Yoakam - The Heart That You Own.pdf b/downloads/chords/Dwight Yoakam - The Heart That You Own.pdf new file mode 100644 index 0000000000000..a6997413f966f Binary files /dev/null and b/downloads/chords/Dwight Yoakam - The Heart That You Own.pdf differ diff --git a/downloads/chords/Eddie Rabbit - I Love A Rainy Night.pdf b/downloads/chords/Eddie Rabbit - I Love A Rainy Night.pdf new file mode 100644 index 0000000000000..4d802dbcbe363 Binary files /dev/null and b/downloads/chords/Eddie Rabbit - I Love A Rainy Night.pdf differ diff --git a/downloads/chords/Elton John - Daniel.pdf b/downloads/chords/Elton John - Daniel.pdf new file mode 100644 index 0000000000000..94dd71c4e3b7c Binary files /dev/null and b/downloads/chords/Elton John - Daniel.pdf differ diff --git a/downloads/chords/Elton John - Your Song in C.pdf b/downloads/chords/Elton John - Your Song in C.pdf new file mode 100644 index 0000000000000..d61ad17ace402 Binary files /dev/null and b/downloads/chords/Elton John - Your Song in C.pdf differ diff --git a/downloads/chords/Gordon Lightfoot - CarefreeHighway.pdf b/downloads/chords/Gordon Lightfoot - CarefreeHighway.pdf new file mode 100644 index 0000000000000..8c22c9e3acaee Binary files /dev/null and b/downloads/chords/Gordon Lightfoot - CarefreeHighway.pdf differ diff --git a/downloads/chords/Gordon Lightfoot - Sundown.pdf b/downloads/chords/Gordon Lightfoot - Sundown.pdf new file mode 100644 index 0000000000000..09d23421ef9dc Binary files /dev/null and b/downloads/chords/Gordon Lightfoot - Sundown.pdf differ diff --git a/downloads/chords/James Taylor - Country Road.pdf b/downloads/chords/James Taylor - Country Road.pdf new file mode 100644 index 0000000000000..371d82c6a45f5 Binary files /dev/null and b/downloads/chords/James Taylor - Country Road.pdf differ diff --git a/downloads/chords/James Taylor - Sweet Baby James.pdf b/downloads/chords/James Taylor - Sweet Baby James.pdf new file mode 100644 index 0000000000000..dd12436e8bd8c Binary files /dev/null and b/downloads/chords/James Taylor - Sweet Baby James.pdf differ diff --git a/downloads/chords/Janis Joplin - Bobby McGee .pdf b/downloads/chords/Janis Joplin - Bobby McGee .pdf new file mode 100644 index 0000000000000..950fa6e54ba4a Binary files /dev/null and b/downloads/chords/Janis Joplin - Bobby McGee .pdf differ diff --git a/downloads/chords/Jim Croce - Bad, Bad Leroy Brown.pdf b/downloads/chords/Jim Croce - Bad, Bad Leroy Brown.pdf new file mode 100644 index 0000000000000..8d23be5b87a90 Binary files /dev/null and b/downloads/chords/Jim Croce - Bad, Bad Leroy Brown.pdf differ diff --git a/downloads/chords/Jim Croce - You Don't Mess Around With Jim.pdf b/downloads/chords/Jim Croce - You Don't Mess Around With Jim.pdf new file mode 100644 index 0000000000000..ec48e41ad1a87 Binary files /dev/null and b/downloads/chords/Jim Croce - You Don't Mess Around With Jim.pdf differ diff --git a/downloads/chords/Jimmy Buffett - Cheeseburger In Paradise.pdf b/downloads/chords/Jimmy Buffett - Cheeseburger In Paradise.pdf new file mode 100644 index 0000000000000..1ce6c38ba19de Binary files /dev/null and b/downloads/chords/Jimmy Buffett - Cheeseburger In Paradise.pdf differ diff --git a/downloads/chords/Jimmy Buffett - Come Monday.pdf b/downloads/chords/Jimmy Buffett - Come Monday.pdf new file mode 100644 index 0000000000000..e55f4443472db Binary files /dev/null and b/downloads/chords/Jimmy Buffett - Come Monday.pdf differ diff --git a/downloads/chords/Jimmy Buffett - Margaritaville.pdf b/downloads/chords/Jimmy Buffett - Margaritaville.pdf new file mode 100644 index 0000000000000..78635620f0037 Binary files /dev/null and b/downloads/chords/Jimmy Buffett - Margaritaville.pdf differ diff --git a/downloads/chords/Jimmy Buffett-Jamaica Farewell.pdf b/downloads/chords/Jimmy Buffett-Jamaica Farewell.pdf new file mode 100644 index 0000000000000..b8164db94bda8 Binary files /dev/null and b/downloads/chords/Jimmy Buffett-Jamaica Farewell.pdf differ diff --git a/downloads/chords/John Denver - Country Roads.pdf b/downloads/chords/John Denver - Country Roads.pdf new file mode 100644 index 0000000000000..eab442f6e16e3 Binary files /dev/null and b/downloads/chords/John Denver - Country Roads.pdf differ diff --git a/downloads/chords/John Denver - Leavin' On A Jet Plane.pdf b/downloads/chords/John Denver - Leavin' On A Jet Plane.pdf new file mode 100644 index 0000000000000..2103bc90b3864 Binary files /dev/null and b/downloads/chords/John Denver - Leavin' On A Jet Plane.pdf differ diff --git a/downloads/chords/Johnny Cash - A Boy Named Sue.pdf b/downloads/chords/Johnny Cash - A Boy Named Sue.pdf new file mode 100644 index 0000000000000..7ddfe981cc965 Binary files /dev/null and b/downloads/chords/Johnny Cash - A Boy Named Sue.pdf differ diff --git a/downloads/chords/Jonathan Edwards - Sunshine.pdf b/downloads/chords/Jonathan Edwards - Sunshine.pdf new file mode 100644 index 0000000000000..6116c4d268bf5 Binary files /dev/null and b/downloads/chords/Jonathan Edwards - Sunshine.pdf differ diff --git a/downloads/chords/Kenny Loggins & Jim Messina - Danny's Song.pdf b/downloads/chords/Kenny Loggins & Jim Messina - Danny's Song.pdf new file mode 100644 index 0000000000000..343931417dc16 Binary files /dev/null and b/downloads/chords/Kenny Loggins & Jim Messina - Danny's Song.pdf differ diff --git a/downloads/chords/Monkeys - I'm a Believer.pdf b/downloads/chords/Monkeys - I'm a Believer.pdf new file mode 100644 index 0000000000000..6dbcdfebbe950 Binary files /dev/null and b/downloads/chords/Monkeys - I'm a Believer.pdf differ diff --git a/downloads/chords/Neil Diamond - Cherry Cherry.pdf b/downloads/chords/Neil Diamond - Cherry Cherry.pdf new file mode 100644 index 0000000000000..74fc192e884f3 Binary files /dev/null and b/downloads/chords/Neil Diamond - Cherry Cherry.pdf differ diff --git a/downloads/chords/Neil Diamond - Cracklin Rosie.pdf b/downloads/chords/Neil Diamond - Cracklin Rosie.pdf new file mode 100644 index 0000000000000..59511dbf32615 Binary files /dev/null and b/downloads/chords/Neil Diamond - Cracklin Rosie.pdf differ diff --git a/downloads/chords/Neil Diamond - Song Sung Blue.pdf b/downloads/chords/Neil Diamond - Song Sung Blue.pdf new file mode 100644 index 0000000000000..d8d9e68b9d258 Binary files /dev/null and b/downloads/chords/Neil Diamond - Song Sung Blue.pdf differ diff --git a/downloads/chords/Orleans - Still the One.pdf b/downloads/chords/Orleans - Still the One.pdf new file mode 100644 index 0000000000000..7cd11e754f885 Binary files /dev/null and b/downloads/chords/Orleans - Still the One.pdf differ diff --git a/downloads/chords/Paul Simon & Art Garfunkel - Cecilia.pdf b/downloads/chords/Paul Simon & Art Garfunkel - Cecilia.pdf new file mode 100644 index 0000000000000..c9f1fa0478f81 Binary files /dev/null and b/downloads/chords/Paul Simon & Art Garfunkel - Cecilia.pdf differ diff --git a/downloads/chords/Paul Simon - Kodachrome.pdf b/downloads/chords/Paul Simon - Kodachrome.pdf new file mode 100644 index 0000000000000..0cd45502d1622 Binary files /dev/null and b/downloads/chords/Paul Simon - Kodachrome.pdf differ diff --git a/downloads/chords/Paul Simon - Me and Julio.pdf b/downloads/chords/Paul Simon - Me and Julio.pdf new file mode 100644 index 0000000000000..b874a81970cfa Binary files /dev/null and b/downloads/chords/Paul Simon - Me and Julio.pdf differ diff --git a/downloads/chords/Paul Simon - Slip Sliding Away.pdf b/downloads/chords/Paul Simon - Slip Sliding Away.pdf new file mode 100644 index 0000000000000..511fa18a2b590 Binary files /dev/null and b/downloads/chords/Paul Simon - Slip Sliding Away.pdf differ diff --git a/downloads/chords/Pure Prarie League - Amie.pdf b/downloads/chords/Pure Prarie League - Amie.pdf new file mode 100644 index 0000000000000..2a7ac254a991d Binary files /dev/null and b/downloads/chords/Pure Prarie League - Amie.pdf differ diff --git a/downloads/chords/Randy Travis - Forever and ever, Amen.pdf b/downloads/chords/Randy Travis - Forever and ever, Amen.pdf new file mode 100644 index 0000000000000..6ec5173b7c7c3 Binary files /dev/null and b/downloads/chords/Randy Travis - Forever and ever, Amen.pdf differ diff --git a/downloads/chords/Rod Stewart - Maggie May in D.pdf b/downloads/chords/Rod Stewart - Maggie May in D.pdf new file mode 100644 index 0000000000000..767963eda6fe2 Binary files /dev/null and b/downloads/chords/Rod Stewart - Maggie May in D.pdf differ diff --git a/downloads/chords/Roger Miller - King Of The Road.pdf b/downloads/chords/Roger Miller - King Of The Road.pdf new file mode 100644 index 0000000000000..1ec52096605a6 Binary files /dev/null and b/downloads/chords/Roger Miller - King Of The Road.pdf differ diff --git a/downloads/chords/Soggy Bottom Boys - In The Jailhouse Now.pdf b/downloads/chords/Soggy Bottom Boys - In The Jailhouse Now.pdf new file mode 100644 index 0000000000000..56868e88a873d Binary files /dev/null and b/downloads/chords/Soggy Bottom Boys - In The Jailhouse Now.pdf differ diff --git a/downloads/chords/Soggy Bottom Boys - Man of Constant Sorrow.pdf b/downloads/chords/Soggy Bottom Boys - Man of Constant Sorrow.pdf new file mode 100644 index 0000000000000..6d53d22172d5b Binary files /dev/null and b/downloads/chords/Soggy Bottom Boys - Man of Constant Sorrow.pdf differ diff --git a/downloads/chords/The Band - The Weight.pdf b/downloads/chords/The Band - The Weight.pdf new file mode 100644 index 0000000000000..ca69163c22b92 Binary files /dev/null and b/downloads/chords/The Band - The Weight.pdf differ diff --git a/downloads/chords/The Band - Up on Cripple Creek.pdf b/downloads/chords/The Band - Up on Cripple Creek.pdf new file mode 100644 index 0000000000000..300be3320f10f Binary files /dev/null and b/downloads/chords/The Band - Up on Cripple Creek.pdf differ diff --git a/downloads/chords/The Beatles - You've got to hide your love away.pdf b/downloads/chords/The Beatles - You've got to hide your love away.pdf new file mode 100644 index 0000000000000..0f761fe62522e Binary files /dev/null and b/downloads/chords/The Beatles - You've got to hide your love away.pdf differ diff --git a/downloads/chords/The Drifters-Save The Last Dance For Me.pdf b/downloads/chords/The Drifters-Save The Last Dance For Me.pdf new file mode 100644 index 0000000000000..b6adc3c667ec9 Binary files /dev/null and b/downloads/chords/The Drifters-Save The Last Dance For Me.pdf differ diff --git a/downloads/chords/Van Morisson - Brown Eyed Girl.pdf b/downloads/chords/Van Morisson - Brown Eyed Girl.pdf new file mode 100644 index 0000000000000..bebd1e06dbd2d Binary files /dev/null and b/downloads/chords/Van Morisson - Brown Eyed Girl.pdf differ diff --git a/downloads/chords/Van Morrison - And It Stoned Me.pdf b/downloads/chords/Van Morrison - And It Stoned Me.pdf new file mode 100644 index 0000000000000..847435e3597fd Binary files /dev/null and b/downloads/chords/Van Morrison - And It Stoned Me.pdf differ diff --git a/downloads/chords/Van Morrison - Wild Night.pdf b/downloads/chords/Van Morrison - Wild Night.pdf new file mode 100644 index 0000000000000..fbd8931c8141a Binary files /dev/null and b/downloads/chords/Van Morrison - Wild Night.pdf differ diff --git a/downloads/chords/Zac Brown Band - Chicken Fried.pdf b/downloads/chords/Zac Brown Band - Chicken Fried.pdf new file mode 100644 index 0000000000000..5d28b56de91f8 Binary files /dev/null and b/downloads/chords/Zac Brown Band - Chicken Fried.pdf differ diff --git a/downloads/dataclearinghouse.pdf b/downloads/dataclearinghouse.pdf new file mode 100644 index 0000000000000..a410c2f1c16ce Binary files /dev/null and b/downloads/dataclearinghouse.pdf differ diff --git a/downloads/transportation_data_clearinghouse.pdf b/downloads/transportation_data_clearinghouse.pdf new file mode 100644 index 0000000000000..a410c2f1c16ce Binary files /dev/null and b/downloads/transportation_data_clearinghouse.pdf differ diff --git a/encryptedstorage/_posts/2015-10-21-luks_on_lvm.md b/encryptedstorage/_posts/2015-10-21-luks_on_lvm.md new file mode 100644 index 0000000000000..6580d82ccc7f1 --- /dev/null +++ b/encryptedstorage/_posts/2015-10-21-luks_on_lvm.md @@ -0,0 +1,89 @@ +--- +layout: post +category: "serverconfig" +subcategory: "Encrypted Storage" +title: "LUKS on LVM" +ordinal: 1 +date: 2015-10-21 16:25:06 -0700 +comments: true +website: "" +--- + + +## 1. Create a LUKS Encrypted Logical Volume + +### assuming you already have a volume group set up + +### Create Logical Volume + # lvcreate -L [new logical volume size] [volume group name] -n [new logical volume name] + example + # lvcreate -L 100G myVolGroup -n myLogVol1 + +### Format the new logical volume + # mkfs.ext4 /dev/mapper/[volume group name]-[new logical volume name] + example + # mkfs.ext4 /dev/mapper/myVolGroup-myLogVol1 + +### Fill formatted logical volume with random Data + # dd if=/dev/urandom of=/dev/[volume group name]/[new logical volume name] + example + # dd if=/dev/urandom of=/dev/myVolGroup/myLogVol1 + +### Create encrypted layer for the new logical volume + # cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/[volume group name]/[new logical volume name] + example + cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/myVolGroup/myLogVol1 + +### Create a combined logical volume + encrypted layer + # cryptsetup open --type luks /dev/[volume group name]/[new logical volume name] [new combined logical volume + encryption layer name] + example + # cryptsetup open --type luks /dev/myVolGroup/myLogVol1 myLogVol1_Encrypted + +### Format the combined logical volume + encryption layer + # mkfs.ext4 /dev/mapper/[new combined logical volume + encryption layer name] + example + # mkfs.ext4 /dev/mapper/myLogVol1_Encrypted + +### Mount the newly formatted combined logical volume + encryption layer + # mount /dev/mapper/[new combined logical volume + encryption layer name] /path/to/mount/folder + example + # mount /dev/mapper/myLogVol1_Encrypted /home/auser/myEncryptedVolume + +## 2. Automount the Encrypted Volume on Boot + +### Create a directory to store your keys and make it read-only to root + # mkdir -p /etc/luks-keys + # chmod 0400 /etc/luks-keys + +### Create a random keyfile for each volume to be encrypted and mounted at boot + # dd if=/dev/urandom of=/etc/luks-keys/ bs=1 count=256 + example + # dd if=/dev/urandom of=/etc/luks-keys/myLogVol1 bs=1 count=256 + +### Add the keyfile to each volume to be encrypted and mounted at boot + # cryptsetup luksAddKey /dev/[volume group name]/[new logical volume name] /etc/luks-keys/[new logical volume name] + example + # cryptsetup luksAddKey /dev/myVolGroup/myLogVol1 /etc/luks-keys/myLogVol1 + +You'll be prompted to enter the (existing) password to unlock the drive. + +### Open /etc/crypttab to create a mapper that can then be referenced in the fstab + # nano /etc/crypttab + add an entry like: + # [name of the mapper] /dev/[volume group name]/[new logical volume name] /etc/luks-keys/myLogVol1 luks + example + # myLogVol1_crypt /dev/myVolGroup/myLogVol1 /etc/luks-keys/myLogVol1 luks + +### Mount the device in fstab + # nano /etc/fstab + add an entry like: + # /dev/mapper/[name of the mapper] [mount point] [filesystem] defaults 0 2 + example + /dev/mapper/myLogVol1_crypt /home/myLogVol1 ext4 defaults 0 2 +Make sure you have the correct mapper name created in the previous step and that the mount point/folder exists. + +### Reboot or remount + to remount you'll have to reload the cryptab before issuing the mount command, like: + # systemctl daemon-reload + # systemctl restart cryptsetup.target + # mount -a diff --git a/encryptedstorage/_posts/2015-10-21-remove_luks_on_lvm.md b/encryptedstorage/_posts/2015-10-21-remove_luks_on_lvm.md new file mode 100644 index 0000000000000..25750e4c0601e --- /dev/null +++ b/encryptedstorage/_posts/2015-10-21-remove_luks_on_lvm.md @@ -0,0 +1,18 @@ +--- +layout: post +category: "serverconfig" +subcategory: "Encrypted Storage" +title: "Remove LUKS on LVM Partition" +ordinal: 2 +date: 2015-10-21 16:25:06 -0700 +comments: true +website: "" +--- + + +[root@temp4 ~]# lvremove /dev/mapper/luks01vg-luks01lv
+ Logical volume luks01vg/luks01lv is used by another device.
+[root@temp4 ~]# umount /luks
+[root@temp4 ~]# cryptsetup luksClose /dev/mapper/luks1
+[root@temp4 ~]# lvremove /dev/mapper/luks01vg-luks01lv
+Do you really want to remove active logical volume luks01lv? [y/n]: diff --git a/encryptedstorage/index.html b/encryptedstorage/index.html new file mode 100644 index 0000000000000..60d32888a57c8 --- /dev/null +++ b/encryptedstorage/index.html @@ -0,0 +1,32 @@ +--- +layout: default +title: Encrypted Storage +category: serverconfig +description: "" +--- + +
+ +
+ +
+ +{% assign categoryPosts = site.posts | where:'category','serverconfig' %} + +{% assign subcategoryPosts = categoryPosts | where:'subcategory', 'Encrypted Storage' | sort: 'ordinal' %} +

{{ page.title }}

+

{{ page.description }}

+ {% for post in subcategoryPosts %} +
+

{{ post.title }}

+
+ {{ post.content | split:'' | first }} + {% if post.content contains '' %} + + {% endif %} +
+
+ {% endfor %} +
diff --git a/feed.xml b/feed.xml index cd2321ba79f5d..c8651f0b9f9a8 100644 --- a/feed.xml +++ b/feed.xml @@ -1,21 +1,22 @@ --- -layout: null +layout: default --- + - - {{ site.name | xml_escape }} - {{ site.description | xml_escape }} - {{ site.url }} - - {% for post in site.posts limit:10 %} - - {{ post.title | xml_escape }} - {{ post.content | xml_escape }} - {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }} - {{ site.url }}{{ post.url }} - {{ site.url }}{{ post.url }} - - {% endfor %} - - \ No newline at end of file + + {{ site.name }} + {{ site.description }} + {{ site.baseurl}}{{ site.url }} + + {% for post in site.posts limit:10 %} + + {{ post.title }} + {{ post.content | xml_escape }} + {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }} + {{ site.url }}{{ site.baseurl}}{{ post.url }} + {{ site.url }}{{ site.baseurl}}{{ post.url }} + + {% endfor %} + + diff --git a/guitar/_posts/2015-05-05-a.md b/guitar/_posts/2015-05-05-a.md new file mode 100644 index 0000000000000..0d08a91f9a16f --- /dev/null +++ b/guitar/_posts/2015-05-05-a.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Margaritaville +artist: Jimmy Buffett +file: Jimmy Buffett - Margaritaville.pdf +--- diff --git a/guitar/_posts/2015-05-05-aa.md b/guitar/_posts/2015-05-05-aa.md new file mode 100644 index 0000000000000..7e6d81904280d --- /dev/null +++ b/guitar/_posts/2015-05-05-aa.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Cecilia +artist: Simon & Garfunkel +file: Paul Simon & Art Garfunkel - Cecilia.pdf +--- diff --git a/guitar/_posts/2015-05-05-ab.md b/guitar/_posts/2015-05-05-ab.md new file mode 100644 index 0000000000000..3025b425ef91e --- /dev/null +++ b/guitar/_posts/2015-05-05-ab.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Slip Sliding Away +artist: Paul Simon +file: Paul Simon - Slip Sliding Away.pdf +--- diff --git a/guitar/_posts/2015-05-05-ac.md b/guitar/_posts/2015-05-05-ac.md new file mode 100644 index 0000000000000..46c557ac5763b --- /dev/null +++ b/guitar/_posts/2015-05-05-ac.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: King of the Road +artist: Roger Miller +file: Roger Miller - King Of The Road.pdf +--- diff --git a/guitar/_posts/2015-05-05-ad.md b/guitar/_posts/2015-05-05-ad.md new file mode 100644 index 0000000000000..35c0db180238b --- /dev/null +++ b/guitar/_posts/2015-05-05-ad.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Daniel +artist: Elton John +file: Elton John - Daniel.pdf +--- diff --git a/guitar/_posts/2015-05-05-ae.md b/guitar/_posts/2015-05-05-ae.md new file mode 100644 index 0000000000000..23ba0841a643d --- /dev/null +++ b/guitar/_posts/2015-05-05-ae.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Your Song +artist: Elton John +file: "Elton John - Your Song in C.pdf" +--- diff --git a/guitar/_posts/2015-05-05-af.md b/guitar/_posts/2015-05-05-af.md new file mode 100644 index 0000000000000..c7fd106931773 --- /dev/null +++ b/guitar/_posts/2015-05-05-af.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Some Beach +artist: Blake Shelton +file: "Blake Shelton - Some Beach.pdf" +--- diff --git a/guitar/_posts/2015-05-05-ag.md b/guitar/_posts/2015-05-05-ag.md new file mode 100644 index 0000000000000..88f56ae2c2bec --- /dev/null +++ b/guitar/_posts/2015-05-05-ag.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Little Bit of Life +artist: Craig Morgan +file: Craig Morgan - Little Bit of Life.pdf +--- diff --git a/guitar/_posts/2015-05-05-ah.md b/guitar/_posts/2015-05-05-ah.md new file mode 100644 index 0000000000000..17f0d8ff0d05f --- /dev/null +++ b/guitar/_posts/2015-05-05-ah.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: I'm a Believer +artist: The Monkees +file: Monkeys - I'm a Believer.pdf +--- diff --git a/guitar/_posts/2015-05-05-ai.md b/guitar/_posts/2015-05-05-ai.md new file mode 100644 index 0000000000000..c66c0e1a084a8 --- /dev/null +++ b/guitar/_posts/2015-05-05-ai.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: It's Five O'Clock Somewhere +artist: Alan Jackson & Jimmy Buffett +file: "Alan Jackson & Jimmy Buffett - It's Five O'Clock Somewhere.pdf" +--- diff --git a/guitar/_posts/2015-05-05-aj.md b/guitar/_posts/2015-05-05-aj.md new file mode 100644 index 0000000000000..96a2774a039a0 --- /dev/null +++ b/guitar/_posts/2015-05-05-aj.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Maggie May +artist: Rod Stewart +file: "Rod Stewart - Maggie May in D.pdf" +--- diff --git a/guitar/_posts/2015-05-05-ak.md b/guitar/_posts/2015-05-05-ak.md new file mode 100644 index 0000000000000..d95551f4986b8 --- /dev/null +++ b/guitar/_posts/2015-05-05-ak.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Down on the Corner +artist: CCR +file: "Creedence Clearwater Revival - Down on the Corner in G.pdf" +--- diff --git a/guitar/_posts/2015-05-05-al.md b/guitar/_posts/2015-05-05-al.md new file mode 100644 index 0000000000000..88a71c5332ba6 --- /dev/null +++ b/guitar/_posts/2015-05-05-al.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Looking Out My Back Door +artist: CCR +file: "CCR - Looking Out My Back Door.pdf" +--- diff --git a/guitar/_posts/2015-05-05-am.md b/guitar/_posts/2015-05-05-am.md new file mode 100644 index 0000000000000..601b795645d4a --- /dev/null +++ b/guitar/_posts/2015-05-05-am.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Sundown +artist: Gordon Lightfoot +file: "Gordon Lightfoot - Sundown.pdf" +--- diff --git a/guitar/_posts/2015-05-05-an.md b/guitar/_posts/2015-05-05-an.md new file mode 100644 index 0000000000000..0d47fd961df92 --- /dev/null +++ b/guitar/_posts/2015-05-05-an.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Carefree Highway +artist: Gordon Lightfoot +file: "Gordon Lightfoot - CarefreeHighway.pdf" +--- diff --git a/guitar/_posts/2015-05-05-ao.md b/guitar/_posts/2015-05-05-ao.md new file mode 100644 index 0000000000000..b84ebca144550 --- /dev/null +++ b/guitar/_posts/2015-05-05-ao.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Song Sung Blue +artist: Neil Diamond +file: Neil Diamond - Song Sung Blue.pdf +--- diff --git a/guitar/_posts/2015-05-05-ap.md b/guitar/_posts/2015-05-05-ap.md new file mode 100644 index 0000000000000..3a37d75ea5b75 --- /dev/null +++ b/guitar/_posts/2015-05-05-ap.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Cracklin' Rosie +artist: Neil Diamond +file: "Neil Diamond - Cracklin Rosie.pdf" +--- diff --git a/guitar/_posts/2015-05-05-aq.md b/guitar/_posts/2015-05-05-aq.md new file mode 100644 index 0000000000000..d0be170074e82 --- /dev/null +++ b/guitar/_posts/2015-05-05-aq.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Cherry Cherry +artist: Neil Diamond +file: "Neil Diamond - Cherry Cherry.pdf" +--- diff --git a/guitar/_posts/2015-05-05-ar.md b/guitar/_posts/2015-05-05-ar.md new file mode 100644 index 0000000000000..2d354e94b6eb6 --- /dev/null +++ b/guitar/_posts/2015-05-05-ar.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: You've Got to Hide Your Love Away +artist: The Beatles +file: "The Beatles - You've got to hide your love away.pdf" +--- diff --git a/guitar/_posts/2015-05-05-as.md b/guitar/_posts/2015-05-05-as.md new file mode 100644 index 0000000000000..db786bd6773a1 --- /dev/null +++ b/guitar/_posts/2015-05-05-as.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: "Forever and Ever, Amen" +artist: Randy Travis +file: "Randy Travis - Forever and ever, Amen.pdf" +--- diff --git a/guitar/_posts/2015-05-05-at.md b/guitar/_posts/2015-05-05-at.md new file mode 100644 index 0000000000000..b2df898e5bc63 --- /dev/null +++ b/guitar/_posts/2015-05-05-at.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Bobby McGee +artist: Janis Joplin +file: Janis Joplin - Bobby McGee .pdf +--- diff --git a/guitar/_posts/2015-05-05-au.md b/guitar/_posts/2015-05-05-au.md new file mode 100644 index 0000000000000..babff423d8e6f --- /dev/null +++ b/guitar/_posts/2015-05-05-au.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Boy Named Sue +artist: Johnny Cash +file: "Johnny Cash - A Boy Named Sue.pdf" +--- diff --git a/guitar/_posts/2015-05-05-av.md b/guitar/_posts/2015-05-05-av.md new file mode 100644 index 0000000000000..7c17178d768cb --- /dev/null +++ b/guitar/_posts/2015-05-05-av.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: You Don't Mess Around With Jim +artist: Jim Croce +file: "Jim Croce - You Don't Mess Around With Jim.pdf" +--- diff --git a/guitar/_posts/2015-05-05-aw.md b/guitar/_posts/2015-05-05-aw.md new file mode 100644 index 0000000000000..fb1099ad0eafc --- /dev/null +++ b/guitar/_posts/2015-05-05-aw.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: The Heart That You Own +artist: Dwight Yoakam +file: "Dwight Yoakam - The Heart That You Own.pdf" +--- diff --git a/guitar/_posts/2015-05-05-b.md b/guitar/_posts/2015-05-05-b.md new file mode 100644 index 0000000000000..87b8c9ddd975a --- /dev/null +++ b/guitar/_posts/2015-05-05-b.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Come Monday +artist: Jimmy Buffett +file: Jimmy Buffett - Come Monday.pdf +--- diff --git a/guitar/_posts/2015-05-05-c.md b/guitar/_posts/2015-05-05-c.md new file mode 100644 index 0000000000000..13adeb2655355 --- /dev/null +++ b/guitar/_posts/2015-05-05-c.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Jamaica Farewell +artist: Jimmy Buffett +file: Jimmy Buffett-Jamaica Farewell.pdf +--- diff --git a/guitar/_posts/2015-05-05-d.md b/guitar/_posts/2015-05-05-d.md new file mode 100644 index 0000000000000..670d22b94ee82 --- /dev/null +++ b/guitar/_posts/2015-05-05-d.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Cheesburger in Paradise +artist: Jimmy Buffett +file: Jimmy Buffett - Cheeseburger In Paradise.pdf +--- diff --git a/guitar/_posts/2015-05-05-e.md b/guitar/_posts/2015-05-05-e.md new file mode 100644 index 0000000000000..9c8f931b1c499 --- /dev/null +++ b/guitar/_posts/2015-05-05-e.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Chicken Fried +artist: Zac Brown Band +file: Zac Brown Band - Chicken Fried.pdf +--- diff --git a/guitar/_posts/2015-05-05-f.md b/guitar/_posts/2015-05-05-f.md new file mode 100644 index 0000000000000..d85ea99bf87be --- /dev/null +++ b/guitar/_posts/2015-05-05-f.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Still the One +artist: Orleans +file: Orleans - Still the One.pdf +--- diff --git a/guitar/_posts/2015-05-05-g.md b/guitar/_posts/2015-05-05-g.md new file mode 100644 index 0000000000000..e4a7de948066f --- /dev/null +++ b/guitar/_posts/2015-05-05-g.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Save the Last Dance +artist: The Drifters +file: The Drifters-Save The Last Dance For Me.pdf +--- diff --git a/guitar/_posts/2015-05-05-h.md b/guitar/_posts/2015-05-05-h.md new file mode 100644 index 0000000000000..747b752cca067 --- /dev/null +++ b/guitar/_posts/2015-05-05-h.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Sunshine +artist: Jonathan Edwards +file: Jonathan Edwards - Sunshine.pdf +--- diff --git a/guitar/_posts/2015-05-05-i.md b/guitar/_posts/2015-05-05-i.md new file mode 100644 index 0000000000000..2afa675e3082d --- /dev/null +++ b/guitar/_posts/2015-05-05-i.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Danny's Song +artist: Loggins & Messin +file: Kenny Loggins & Jim Messina - Danny's Song.pdf +--- diff --git a/guitar/_posts/2015-05-05-j.md b/guitar/_posts/2015-05-05-j.md new file mode 100644 index 0000000000000..c4f41db33e24d --- /dev/null +++ b/guitar/_posts/2015-05-05-j.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Brown Eyed Girl +artist: Van Morisson +file: Van Morisson - Brown Eyed Girl.pdf +--- diff --git a/guitar/_posts/2015-05-05-k.md b/guitar/_posts/2015-05-05-k.md new file mode 100644 index 0000000000000..0c3f29d6a7254 --- /dev/null +++ b/guitar/_posts/2015-05-05-k.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: And It Stone Me +artist: Van Morisson +file: Van Morrison - And It Stoned Me.pdf +--- diff --git a/guitar/_posts/2015-05-05-l.md b/guitar/_posts/2015-05-05-l.md new file mode 100644 index 0000000000000..9accfac112c48 --- /dev/null +++ b/guitar/_posts/2015-05-05-l.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Wild Night +artist: Van Morisson +file: Van Morrison - Wild Night.pdf +--- diff --git a/guitar/_posts/2015-05-05-m.md b/guitar/_posts/2015-05-05-m.md new file mode 100644 index 0000000000000..4d97411501101 --- /dev/null +++ b/guitar/_posts/2015-05-05-m.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Amie +artist: Pure Prarie League +file: Pure Prarie League - Amie.pdf +--- diff --git a/guitar/_posts/2015-05-05-n.md b/guitar/_posts/2015-05-05-n.md new file mode 100644 index 0000000000000..1d35d946624c2 --- /dev/null +++ b/guitar/_posts/2015-05-05-n.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: I Love a Rainy Night +artist: Eddie Rabbitt +file: Eddie Rabbit - I Love A Rainy Night.pdf +--- diff --git a/guitar/_posts/2015-05-05-o.md b/guitar/_posts/2015-05-05-o.md new file mode 100644 index 0000000000000..62948f00fc01b --- /dev/null +++ b/guitar/_posts/2015-05-05-o.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: City of New Orleans +artist: Arlo Guthrie +file: Arlo Guthrie - City of New Orleans.pdf +--- diff --git a/guitar/_posts/2015-05-05-p.md b/guitar/_posts/2015-05-05-p.md new file mode 100644 index 0000000000000..42693365c228a --- /dev/null +++ b/guitar/_posts/2015-05-05-p.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Bad Bad Leroy Brown +artist: Jim Croce +file: Jim Croce - Bad, Bad Leroy Brown.pdf +--- diff --git a/guitar/_posts/2015-05-05-q.md b/guitar/_posts/2015-05-05-q.md new file mode 100644 index 0000000000000..3be49e43b35db --- /dev/null +++ b/guitar/_posts/2015-05-05-q.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Up on Cripple Creek +artist: The Band +file: The Band - Up on Cripple Creek.pdf +--- diff --git a/guitar/_posts/2015-05-05-r.md b/guitar/_posts/2015-05-05-r.md new file mode 100644 index 0000000000000..0b745427a34fa --- /dev/null +++ b/guitar/_posts/2015-05-05-r.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: The Weight +artist: The Band +file: The Band - The Weight.pdf +--- diff --git a/guitar/_posts/2015-05-05-s.md b/guitar/_posts/2015-05-05-s.md new file mode 100644 index 0000000000000..dd1f3ff2e4b8f --- /dev/null +++ b/guitar/_posts/2015-05-05-s.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Country Roads +artist: John Denver +file: John Denver - Country Roads.pdf +--- diff --git a/guitar/_posts/2015-05-05-t.md b/guitar/_posts/2015-05-05-t.md new file mode 100644 index 0000000000000..1a41fef9b89d6 --- /dev/null +++ b/guitar/_posts/2015-05-05-t.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Leavin' on a Jet Plane +artist: John Denver +file: John Denver - Leavin' On A Jet Plane.pdf +--- diff --git a/guitar/_posts/2015-05-05-u.md b/guitar/_posts/2015-05-05-u.md new file mode 100644 index 0000000000000..4291dd96130aa --- /dev/null +++ b/guitar/_posts/2015-05-05-u.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Country Road +artist: James Taylor +file: James Taylor - Country Road.pdf +--- diff --git a/guitar/_posts/2015-05-05-v.md b/guitar/_posts/2015-05-05-v.md new file mode 100644 index 0000000000000..1438eb791c061 --- /dev/null +++ b/guitar/_posts/2015-05-05-v.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Sweet Baby James +artist: James Taylor +file: James Taylor - Sweet Baby James.pdf +--- diff --git a/guitar/_posts/2015-05-05-w.md b/guitar/_posts/2015-05-05-w.md new file mode 100644 index 0000000000000..21a0f49b20188 --- /dev/null +++ b/guitar/_posts/2015-05-05-w.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Man of Constant Sorrow +artist: Soggy Bottom Boys +file: Soggy Bottom Boys - Man of Constant Sorrow.pdf +--- diff --git a/guitar/_posts/2015-05-05-x.md b/guitar/_posts/2015-05-05-x.md new file mode 100644 index 0000000000000..4a6dc5cad47fc --- /dev/null +++ b/guitar/_posts/2015-05-05-x.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: In the Jailhouse Now +artist: Soggy Bottom Boys +file: Soggy Bottom Boys - In The Jailhouse Now.pdf +--- diff --git a/guitar/_posts/2015-05-05-y.md b/guitar/_posts/2015-05-05-y.md new file mode 100644 index 0000000000000..291ae03786efb --- /dev/null +++ b/guitar/_posts/2015-05-05-y.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Me and Julio Down by the School Yard +artist: Paul Simon +file: Paul Simon - Me and Julio.pdf +--- diff --git a/guitar/_posts/2015-05-05-z.md b/guitar/_posts/2015-05-05-z.md new file mode 100644 index 0000000000000..4e2b6966e5abe --- /dev/null +++ b/guitar/_posts/2015-05-05-z.md @@ -0,0 +1,7 @@ +--- +layout: post +category: guitar +title: Kodachrome +artist: Paul Simon +file: Paul Simon - Kodachrome.pdf +--- diff --git a/guitar/index.html b/guitar/index.html new file mode 100644 index 0000000000000..c1d78dbede4a9 --- /dev/null +++ b/guitar/index.html @@ -0,0 +1,77 @@ +--- +layout: default +title: Guitar +category: guitar +--- + + +
+ + + + + + + + +
+ + + + + {% assign sorted_posts = (site.posts | sort: 'artist') %} + {% for post in sorted_posts %} + {% if post.categories contains 'guitar' %} + +
+
+
+ + + + {% endif %} + {% endfor %} +
Songs I Can Kinda Play-n-Sing
I'm Available For Any And All Tiki Hut Jam Sessions!
{% if post.file != '' %}{% endif %} + {{ post.title }}{% if post.file != '' %}{% endif %} {{ post.artist }}
+
+ +
diff --git a/images/404.jpg b/images/404.jpg deleted file mode 100644 index 3e893ff089a9e..0000000000000 Binary files a/images/404.jpg and /dev/null differ diff --git a/images/Aaron-Head-Shot-copy-2.png b/images/Aaron-Head-Shot-copy-2.png new file mode 100644 index 0000000000000..ae7099bd6a022 Binary files /dev/null and b/images/Aaron-Head-Shot-copy-2.png differ diff --git a/images/Aaron_headshot_2019.jpg b/images/Aaron_headshot_2019.jpg new file mode 100644 index 0000000000000..6a9b4799613c2 Binary files /dev/null and b/images/Aaron_headshot_2019.jpg differ diff --git a/images/BFSluggersSpring2005.jpg b/images/BFSluggersSpring2005.jpg new file mode 100644 index 0000000000000..434e3a9e2d122 Binary files /dev/null and b/images/BFSluggersSpring2005.jpg differ diff --git a/images/BirthYearFreqDist.png b/images/BirthYearFreqDist.png new file mode 100644 index 0000000000000..54a9d3133cc85 Binary files /dev/null and b/images/BirthYearFreqDist.png differ diff --git a/images/CLD3_iteration.png b/images/CLD3_iteration.png new file mode 100644 index 0000000000000..69009c3e1d4c5 Binary files /dev/null and b/images/CLD3_iteration.png differ diff --git a/images/CombinedObservationalUnitTypes.png b/images/CombinedObservationalUnitTypes.png new file mode 100644 index 0000000000000..71cd3a7d12252 Binary files /dev/null and b/images/CombinedObservationalUnitTypes.png differ diff --git a/images/CombinedVariables.png b/images/CombinedVariables.png new file mode 100644 index 0000000000000..c72bd3c81bdd7 Binary files /dev/null and b/images/CombinedVariables.png differ diff --git a/images/DataScienceFramework.png b/images/DataScienceFramework.png new file mode 100644 index 0000000000000..560a79ea1d8d5 Binary files /dev/null and b/images/DataScienceFramework.png differ diff --git a/images/DataSourceInventory.png b/images/DataSourceInventory.png new file mode 100644 index 0000000000000..6a19b7f3e05e5 Binary files /dev/null and b/images/DataSourceInventory.png differ diff --git a/images/DataSourceScreening.png b/images/DataSourceScreening.png new file mode 100644 index 0000000000000..d5c575f30d7f5 Binary files /dev/null and b/images/DataSourceScreening.png differ diff --git a/images/EmergencyServicesProcessingExample.png b/images/EmergencyServicesProcessingExample.png new file mode 100644 index 0000000000000..70f406c92cb6b Binary files /dev/null and b/images/EmergencyServicesProcessingExample.png differ diff --git a/images/IMG_3490.jpg b/images/IMG_3490.jpg new file mode 100644 index 0000000000000..0484ea71f899c Binary files /dev/null and b/images/IMG_3490.jpg differ diff --git a/images/IMG_3517.jpg b/images/IMG_3517.jpg new file mode 100644 index 0000000000000..4d2e2ae03d865 Binary files /dev/null and b/images/IMG_3517.jpg differ diff --git a/images/IMG_8701.jpg b/images/IMG_8701.jpg new file mode 100644 index 0000000000000..f74bb187c6b70 Binary files /dev/null and b/images/IMG_8701.jpg differ diff --git a/images/MissingVariables.png b/images/MissingVariables.png new file mode 100644 index 0000000000000..3c44756c4d57e Binary files /dev/null and b/images/MissingVariables.png differ diff --git a/images/P1020245.jpg b/images/P1020245.jpg new file mode 100644 index 0000000000000..529940557308c Binary files /dev/null and b/images/P1020245.jpg differ diff --git a/images/ProvenanceProblem.png b/images/ProvenanceProblem.png new file mode 100644 index 0000000000000..a5d0c34a712d9 Binary files /dev/null and b/images/ProvenanceProblem.png differ diff --git a/images/RestructuringData.png b/images/RestructuringData.png new file mode 100644 index 0000000000000..133f767b06684 Binary files /dev/null and b/images/RestructuringData.png differ diff --git a/images/Sat_Mar_25_2006_0001.jpg b/images/Sat_Mar_25_2006_0001.jpg new file mode 100644 index 0000000000000..57029a8ee742b Binary files /dev/null and b/images/Sat_Mar_25_2006_0001.jpg differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img001.png b/images/SchroederProbabilisticMatchingPrimer-img001.png new file mode 100644 index 0000000000000..039e5a83b0281 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img001.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img002.png b/images/SchroederProbabilisticMatchingPrimer-img002.png new file mode 100644 index 0000000000000..7519ff235ad3a Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img002.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img003.png b/images/SchroederProbabilisticMatchingPrimer-img003.png new file mode 100644 index 0000000000000..c5148cb8f2ef9 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img003.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img004.png b/images/SchroederProbabilisticMatchingPrimer-img004.png new file mode 100644 index 0000000000000..890a4194aa6b5 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img004.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img005.png b/images/SchroederProbabilisticMatchingPrimer-img005.png new file mode 100644 index 0000000000000..9860f63dfe075 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img005.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img006.png b/images/SchroederProbabilisticMatchingPrimer-img006.png new file mode 100644 index 0000000000000..1e37bbed0de36 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img006.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img007.png b/images/SchroederProbabilisticMatchingPrimer-img007.png new file mode 100644 index 0000000000000..97c122fd44e2b Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img007.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img008.png b/images/SchroederProbabilisticMatchingPrimer-img008.png new file mode 100644 index 0000000000000..2fc4d595056ae Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img008.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img009.png b/images/SchroederProbabilisticMatchingPrimer-img009.png new file mode 100644 index 0000000000000..d60818a989e37 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img009.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img010.png b/images/SchroederProbabilisticMatchingPrimer-img010.png new file mode 100644 index 0000000000000..ef6f1c3b585a0 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img010.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img011.png b/images/SchroederProbabilisticMatchingPrimer-img011.png new file mode 100644 index 0000000000000..d4b547fc0b122 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img011.png differ diff --git a/images/SchroederProbabilisticMatchingPrimer-img012.png b/images/SchroederProbabilisticMatchingPrimer-img012.png new file mode 100644 index 0000000000000..cf784b046d142 Binary files /dev/null and b/images/SchroederProbabilisticMatchingPrimer-img012.png differ diff --git a/images/TikiHutGuitar.jpg b/images/TikiHutGuitar.jpg new file mode 100644 index 0000000000000..7268aa39cd8cf Binary files /dev/null and b/images/TikiHutGuitar.jpg differ diff --git a/images/Tue_Jun_13_2006_0001.jpg b/images/Tue_Jun_13_2006_0001.jpg new file mode 100644 index 0000000000000..6c4b87fd4f71a Binary files /dev/null and b/images/Tue_Jun_13_2006_0001.jpg differ diff --git a/images/Tue_Jun_20_2006_0007.jpg b/images/Tue_Jun_20_2006_0007.jpg new file mode 100644 index 0000000000000..e5ec7a6be6e8d Binary files /dev/null and b/images/Tue_Jun_20_2006_0007.jpg differ diff --git a/images/ValueValidityExample.png b/images/ValueValidityExample.png new file mode 100644 index 0000000000000..cc08243b0159d Binary files /dev/null and b/images/ValueValidityExample.png differ diff --git a/images/VariablesInTwoDirections.png b/images/VariablesInTwoDirections.png new file mode 100644 index 0000000000000..522ec46939213 Binary files /dev/null and b/images/VariablesInTwoDirections.png differ diff --git a/images/button-closed.jpg b/images/button-closed.jpg new file mode 100644 index 0000000000000..fa2fe2b1bee7d Binary files /dev/null and b/images/button-closed.jpg differ diff --git a/images/button-open.jpg b/images/button-open.jpg new file mode 100644 index 0000000000000..72be71c6fb432 Binary files /dev/null and b/images/button-open.jpg differ diff --git a/images/cc_by_88x31.png b/images/cc_by_88x31.png new file mode 100644 index 0000000000000..822491edb993b Binary files /dev/null and b/images/cc_by_88x31.png differ diff --git a/images/comb_obs_type_1.png b/images/comb_obs_type_1.png new file mode 100644 index 0000000000000..d0e46effda123 Binary files /dev/null and b/images/comb_obs_type_1.png differ diff --git a/images/comb_obs_type_2.png b/images/comb_obs_type_2.png new file mode 100644 index 0000000000000..0e343aaec2144 Binary files /dev/null and b/images/comb_obs_type_2.png differ diff --git a/images/config.png b/images/config.png deleted file mode 100644 index 0010f915cd798..0000000000000 Binary files a/images/config.png and /dev/null differ diff --git a/images/data-science-framework-overview.png b/images/data-science-framework-overview.png new file mode 100644 index 0000000000000..1f06d32b2250c Binary files /dev/null and b/images/data-science-framework-overview.png differ diff --git a/images/data-science-processes-platforms.png b/images/data-science-processes-platforms.png new file mode 100644 index 0000000000000..0ff1abb3466ea Binary files /dev/null and b/images/data-science-processes-platforms.png differ diff --git a/images/data-scientist-web-image.png b/images/data-scientist-web-image.png new file mode 100644 index 0000000000000..a8e00b7eedb01 Binary files /dev/null and b/images/data-scientist-web-image.png differ diff --git a/images/data_quality_profile_report.png b/images/data_quality_profile_report.png new file mode 100644 index 0000000000000..379c1bf61312f Binary files /dev/null and b/images/data_quality_profile_report.png differ diff --git a/images/data_researcher.jpg b/images/data_researcher.jpg new file mode 100644 index 0000000000000..925c62eaeae43 Binary files /dev/null and b/images/data_researcher.jpg differ diff --git a/images/divided_observation_unit_type.png b/images/divided_observation_unit_type.png new file mode 100644 index 0000000000000..11b299ef18fb7 Binary files /dev/null and b/images/divided_observation_unit_type.png differ diff --git a/images/divided_observational_unit_type2.png b/images/divided_observational_unit_type2.png new file mode 100644 index 0000000000000..a9d18b530ade6 Binary files /dev/null and b/images/divided_observational_unit_type2.png differ diff --git a/images/divided_type.png b/images/divided_type.png new file mode 100644 index 0000000000000..c0c6c44e6f082 Binary files /dev/null and b/images/divided_type.png differ diff --git a/images/exit_date_files/figure-html/unnamed-chunk-11-1.png b/images/exit_date_files/figure-html/unnamed-chunk-11-1.png new file mode 100644 index 0000000000000..21df9c847e38e Binary files /dev/null and b/images/exit_date_files/figure-html/unnamed-chunk-11-1.png differ diff --git a/images/exit_date_files/figure-html/unnamed-chunk-19-1.png b/images/exit_date_files/figure-html/unnamed-chunk-19-1.png new file mode 100644 index 0000000000000..f9518a1f91149 Binary files /dev/null and b/images/exit_date_files/figure-html/unnamed-chunk-19-1.png differ diff --git a/images/exit_date_files/figure-html/unnamed-chunk-8-1.png b/images/exit_date_files/figure-html/unnamed-chunk-8-1.png new file mode 100644 index 0000000000000..4f6451b0eccb1 Binary files /dev/null and b/images/exit_date_files/figure-html/unnamed-chunk-8-1.png differ diff --git a/images/first-post.png b/images/first-post.png deleted file mode 100644 index 0207022e522bb..0000000000000 Binary files a/images/first-post.png and /dev/null differ diff --git a/images/gis_unnamed-chunk-10-1.png b/images/gis_unnamed-chunk-10-1.png new file mode 100644 index 0000000000000..4f9b1a9e461af Binary files /dev/null and b/images/gis_unnamed-chunk-10-1.png differ diff --git a/images/gis_unnamed-chunk-11-1.png b/images/gis_unnamed-chunk-11-1.png new file mode 100644 index 0000000000000..ba4e9e677fcb4 Binary files /dev/null and b/images/gis_unnamed-chunk-11-1.png differ diff --git a/images/gis_unnamed-chunk-11-2.png b/images/gis_unnamed-chunk-11-2.png new file mode 100644 index 0000000000000..311500a5e92b2 Binary files /dev/null and b/images/gis_unnamed-chunk-11-2.png differ diff --git a/images/gis_unnamed-chunk-11-3.png b/images/gis_unnamed-chunk-11-3.png new file mode 100644 index 0000000000000..f391b73ed03ee Binary files /dev/null and b/images/gis_unnamed-chunk-11-3.png differ diff --git a/images/gis_unnamed-chunk-12-1.png b/images/gis_unnamed-chunk-12-1.png new file mode 100644 index 0000000000000..ba4e9e677fcb4 Binary files /dev/null and b/images/gis_unnamed-chunk-12-1.png differ diff --git a/images/gis_unnamed-chunk-12-2.png b/images/gis_unnamed-chunk-12-2.png new file mode 100644 index 0000000000000..311500a5e92b2 Binary files /dev/null and b/images/gis_unnamed-chunk-12-2.png differ diff --git a/images/gis_unnamed-chunk-13-1.png b/images/gis_unnamed-chunk-13-1.png new file mode 100644 index 0000000000000..f391b73ed03ee Binary files /dev/null and b/images/gis_unnamed-chunk-13-1.png differ diff --git a/images/gis_unnamed-chunk-14-1.png b/images/gis_unnamed-chunk-14-1.png new file mode 100644 index 0000000000000..3e9907b889cf0 Binary files /dev/null and b/images/gis_unnamed-chunk-14-1.png differ diff --git a/images/gis_unnamed-chunk-14-2.png b/images/gis_unnamed-chunk-14-2.png new file mode 100644 index 0000000000000..7b49e080ad071 Binary files /dev/null and b/images/gis_unnamed-chunk-14-2.png differ diff --git a/images/gis_unnamed-chunk-14-3.png b/images/gis_unnamed-chunk-14-3.png new file mode 100644 index 0000000000000..40fd1a0b7832a Binary files /dev/null and b/images/gis_unnamed-chunk-14-3.png differ diff --git a/images/gis_unnamed-chunk-14-4.png b/images/gis_unnamed-chunk-14-4.png new file mode 100644 index 0000000000000..e3dc962103e25 Binary files /dev/null and b/images/gis_unnamed-chunk-14-4.png differ diff --git a/images/gis_unnamed-chunk-14-5.png b/images/gis_unnamed-chunk-14-5.png new file mode 100644 index 0000000000000..6f07e2fab5f57 Binary files /dev/null and b/images/gis_unnamed-chunk-14-5.png differ diff --git a/images/gis_unnamed-chunk-14-6.png b/images/gis_unnamed-chunk-14-6.png new file mode 100644 index 0000000000000..cc08b4184b32f Binary files /dev/null and b/images/gis_unnamed-chunk-14-6.png differ diff --git a/images/gis_unnamed-chunk-14-7.png b/images/gis_unnamed-chunk-14-7.png new file mode 100644 index 0000000000000..4d48b8cbfde55 Binary files /dev/null and b/images/gis_unnamed-chunk-14-7.png differ diff --git a/images/gis_unnamed-chunk-15-1.png b/images/gis_unnamed-chunk-15-1.png new file mode 100644 index 0000000000000..83038c45b44e9 Binary files /dev/null and b/images/gis_unnamed-chunk-15-1.png differ diff --git a/images/gis_unnamed-chunk-4-1.png b/images/gis_unnamed-chunk-4-1.png new file mode 100644 index 0000000000000..5642187b8297e Binary files /dev/null and b/images/gis_unnamed-chunk-4-1.png differ diff --git a/images/gis_unnamed-chunk-6-1.png b/images/gis_unnamed-chunk-6-1.png new file mode 100644 index 0000000000000..4151157f6bd11 Binary files /dev/null and b/images/gis_unnamed-chunk-6-1.png differ diff --git a/images/gis_unnamed-chunk-8-1.png b/images/gis_unnamed-chunk-8-1.png new file mode 100644 index 0000000000000..4151157f6bd11 Binary files /dev/null and b/images/gis_unnamed-chunk-8-1.png differ diff --git a/images/gis_unnamed-chunk-9-1.png b/images/gis_unnamed-chunk-9-1.png new file mode 100644 index 0000000000000..b5bc72c0610a7 Binary files /dev/null and b/images/gis_unnamed-chunk-9-1.png differ diff --git a/images/img046.jpg b/images/img046.jpg new file mode 100644 index 0000000000000..7b0a1b0764312 Binary files /dev/null and b/images/img046.jpg differ diff --git a/images/jekyll-logo.png b/images/jekyll-logo.png deleted file mode 100644 index c386bda8718d8..0000000000000 Binary files a/images/jekyll-logo.png and /dev/null differ diff --git a/images/jekyll-now-theme-screenshot.jpg b/images/jekyll-now-theme-screenshot.jpg deleted file mode 100644 index 81847a1b41043..0000000000000 Binary files a/images/jekyll-now-theme-screenshot.jpg and /dev/null differ diff --git a/images/lecture_icon.png b/images/lecture_icon.png new file mode 100644 index 0000000000000..338a4fd7d4728 Binary files /dev/null and b/images/lecture_icon.png differ diff --git a/images/screen_shot_2015-09-08_at_11.16.12_am (1).png b/images/screen_shot_2015-09-08_at_11.16.12_am (1).png new file mode 100644 index 0000000000000..cda15c9700348 Binary files /dev/null and b/images/screen_shot_2015-09-08_at_11.16.12_am (1).png differ diff --git a/images/step1.gif b/images/step1.gif deleted file mode 100644 index 6cfd490eb7831..0000000000000 Binary files a/images/step1.gif and /dev/null differ diff --git a/images/symantic_confusion.png b/images/symantic_confusion.png new file mode 100644 index 0000000000000..20e8d6dbf1352 Binary files /dev/null and b/images/symantic_confusion.png differ diff --git a/images/value_validity.png b/images/value_validity.png new file mode 100644 index 0000000000000..02ab8680b3499 Binary files /dev/null and b/images/value_validity.png differ diff --git a/index.html b/index.html index 0e3e137dded24..a3ec0efa113ef 100644 --- a/index.html +++ b/index.html @@ -1,18 +1,206 @@ --- layout: default +category: briefbio --- + + +
+ +
+ + + + + + + + + + + + + +
+ + + + +

Aaron D. Schroeder, Ph.D.

+ Research Associate Professor +
+ Social & Decision Analytics Division, University of Virginia Biocomplexity Institute & Initiative +
+ aaron.schroeder@virginia.edu

+
+

+ Dr. Schroeder's overarching research focus is the enablement of Evidence-Based Policy-Making and Program Evaluation through the Secure Liberation, Integration and Analysis of Administrative Data. +

+

+ Dr. Schroeder has extensive experience in the technologies and related policies of information/data integration and systems analysis, policy and program development and implementation, quantitative and qualitative methodologies of evaluation, and the general application of data and web technologies to the enhancement of public and private sector services. +

+

+ A particular focus of Dr. Schroeder's research has been on the integration and analysis of education, health, social service and non-profit administrative data streams for the purpose of conducting policy analyses and program evaluations impacting a wide range of constituents, including: pre-K child social and health service recipients; child care service operators; primary, secondary, post-secondary and adult education service recipients; state workforce training service recipients; and, U.S. veteran health and social service recipients. +

+

+ High-profile information integration projects in the Commonwealth of Virginia include + the USED-funded Statewide Longitudinal + Data System, the USHHS-funded Project Child HANDS, and the USDOT-funded design, development, deployment, and evaluation of the U.S.’s first statewide travel information + system, Virginia 511. + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EDUCATION 
Virginia Tech University 
Ph.D. in Public Policy & Administration2001
Areas of Concentration: Organization Theory, Data Management, Privacy Law, Implementation 
Dissertation: “Building Implementation Networks” - Building Multi-organizational, Multi-sector Structures for Policy Implementation 
James Madison University 
M.P.A. in Public Administration1993
Areas of Concentration: Geographic Information Systems, Administrative Law 
University of Delaware 
B.A. in Psychology1991
Areas of Concentration: Brain & Behavior (including graduate-level training in Neuropsychology) 
Minor: Statistics 
+
+ + + + + + + + + + + + + +
SPECIALIZATIONS
Policy & Evaluation +
    +
  • Methods of Data Collection
  • +
  • Research Design
  • +
  • Quantitative & Qualitative Data Analysis
  • +
  • Information Policy
  • +
  • Privacy Law
  • +
  • Policy & Implementation Network Analysis
  • +
+
Information Management +
    +
  • Information Integration
  • +
  • Data Management
  • +
  • Big Data
  • +
  • Web-Enabled Public Services
  • +
+
Additional Specialized Training & Technical Skills +
    +
  • Master R Developer
  • +
  • Linux Server Administration
  • +
  • Server Virtualization
  • +
  • PostgreSQL Database Programming (PL/pgSQL)
  • +
  • Oracle Database Programming (PL/SQL)
  • +
  • Microsoft SQL Server Programming (T-SQL)
  • +
  • JavaEE Multi-Tier Programming (Java, JPA, JSF, Facelets)
  • +
  • Microsoft Server Administration
  • +
  • ASP.NET Web Development (C#)
  • +
  • Python Development
  • +
  • Cisco Network Administration
  • +
  • SAS & SAS JMP
  • +
  • SPSS
  • +
  • Group Facilitation, Focus Groups, & Nominal Groups
  • +
  • Advanced Cold Fusion: Fusebox
  • +
  • Advanced Graphics with Photoshop and GIMP
  • +
+
+
+ + +

HONORS, AWARDS, RECOGNITION

+

Member, Arlington County Open Data Advisory Group, 2018-2019

+

COVITS 2013 Winner, Cross-Boundary Collaboration on IT Initiatives

+

(2013) Announced as the winner in the category of Cross-Boundary Collaboration on IT Initiatives, along with agency partners from the Virginia Department of Transportation, the Virginia State Council of Higher Education, and the Virginia Employment Commission, in the Governor's Technology Awards for the multi-agency data integration project, the Virginia Longitudinal Data System (VLDS). The Technology Awards are presented in conjunction with Government Technology's annual Commonwealth of Virginia’s Innovative Technology Symposium (COVITS 2012). The VLDS provides qualified researchers, agencies and policymakers the ability to formulate and submit cross-agency requests for de-identified data sets.

+

COVITS 2012 Finalist

+

(2012) Announced as a Finalist, along with agency partners from the Virginia Department of Transportation, the Virginia State Council of Higher Education, and the Virginia Employment Commission, in the Governor's Technology Awards for the multi-agency data integration project, the Virginia Longitudinal Data System (VLDS). The Technology Awards are presented in conjunction with Government Technology's annual Commonwealth of Virginia’s Innovative Technology Symposium (COVITS 2012). The VLDS provides qualified researchers, agencies and policymakers the ability to formulate and submit cross-agency requests for de-identified data sets.

+

Virginia Early Childhood Advisory Council

+

(2010) Invited to present to the Virginia Governor's Early Childhood Advisory Council (ECAC) on the status of and approach being employed in Project Child HANDS. The ECAC is chaired by the Secretary of Education, co-chaired by the President of the Virginia Early Childhood Foundation, and is comprised of the Secretary of Commerce, the Secretary of Health and Human Services, the Secretary of Finance, the Governor’s Director of Policy, and many other high-ranking state officials.

+

National Institute of Statistical Sciences Workshop

+

(2009) Invited to present on methods of public-sector data integration and issues created by federal and state privacy laws to a workshop on Research Use of State Longitudinal Data Systems sponsored by the National Institute of Statistical Sciences (NISS) , the National Center for Education Statistics (NCES), and the Institute of Education Sciences (IES).

+

National Press Club

+

(2008) Invited to present the findings from a recent study analyzing the relative costs associated with intergeneration day care facilities vs. traditional operations.

+

Intelligent Transportation Systems Conference

+

(2003) Invited speaker to the Florida Department of Transportation Intelligent Transportation Systems Conference. Lectured on potential benefits of an 802.11 wireless communications backbone to operate the nation’s freeway assets

+

Technology and Public Administration Conference

+

(2000) Invited by University of LaVerne to lead two day workshop on the concepts of stakeholder analysis and management, public-private partnerships, and political-economic analysis for the purpose of Information Technology development and implementation in the public sector.

+

Virginia Transportation Conference

+

(1999 & 2000) Invited to speak on topics of public-private partnerships and information technology deployment in rural areas.

+

Advanced Traveler Information Systems

+

(2000) Invited speaker on Advanced Traveler Information Systems in Rural Areas, sponsored by the Intelligent Transportation Society of Virginia.

+

Association of State Governments

+

(1999) Nominated by the Association of State Governments for Award in Innovation in State Government for the design, development and deployment of Travel Shenandoah, a public-private partnership for Advanced Traveler Information Systems in Virginia’s Shenandoah Valley.

+

Member, Congressional Commission

+

(1999) Appointed as a Member, Congressional Commission on I-81 Truck Safety.

+

Eno Transportation Fellow

+

(1997) Eno Transportation Fellow and graduate of Eno Transportation Foundation Leadership Development Program.

+

Guest Editor

+

(1997) Invited Guest Editor, Administration & Society.

+
+ +
+ +
diff --git a/index.html~ b/index.html~ new file mode 100644 index 0000000000000..780163906b490 --- /dev/null +++ b/index.html~ @@ -0,0 +1,216 @@ +--- +layout: default +category: briefbio +--- + + +
+ +
+ + + + + + + + + + + + + +
+ + + + +

Aaron D. Schroeder, Ph.D.

+ Information Architect & Senior Data Research Scientist +
+ Social & Decision Analytics Lab, Biocomplexity Institute of Virginia Tech +
+ aaron.schroeder@vt.edu

+
+

+ Dr. Schroeder has extensive experience enabling Evidence-Based Policy-Making and Program Evaluation through the Secure Liberation, Integration and Analysis of Administrative Data. +

+

+ Dr. Schroeder has extensive experience in the technologies and related policies of information/data integration and systems analysis, policy and program development and implementation, quantitative and qualitative methodologies of evaluation, and the general application of data and web technologies to the enhancement of public and private sector services. +

+

+ Dr. Schroeder currently serves as Information Architect and Data Scientist at the + Social & Decision Analytics Lab within the Biocomplexity Institute of Virginia Tech where he is responsible + for planning, securing and executing major research projects focused on the techniques, + methods, and theories related to the integration, storage, retrieval, sharing, and optimal use + of policy-relevant data, information, and knowledge for the purposes of policy analysis and + program evaluation. +

+

+ A particular focus in this role has been on the integration and analysis of education, health, + social service and non-profit administrative data streams for the purpose of conducting + policy analyses and program evaluations impacting a wide range of constituents, including: + pre-K child social and health service recipients; child care service operators; primary, + secondary, post-secondary and adult education service recipients; state workforce training + service recipients; and, U.S. veteran health and social service recipients. + +

+ High-profile information integration projects in the Commonwealth of Virginia include + the USED-funded Statewide Longitudinal + Data System, the USHHS-funded Project Child HANDS, and the USDOT-funded design, development, deployment, and evaluation of the U.S.’s first statewide travel information + system, Virginia 511. + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EDUCATION 
Virginia Tech University 
Ph.D. in Public Policy & Administration2001
Areas of Concentration: Organization Theory, Data Management, Privacy Law, Implementation 
Dissertation: “Building Implementation Networks” - Building Multi-organizational, Multi-sector Structures for Policy Implementation 
James Madison University 
M.P.A. in Public Administration1993
Areas of Concentration: Geographic Information Systems, Administrative Law 
University of Delaware 
B.A. in Psychology1991
Areas of Concentration: Brain & Behavior (including graduate-level training in Neuropsychology) 
Minor: Political Science 
+
+ + + + + + + + + + + + + +
SPECIALIZATIONS
Policy & Evaluation +
    +
  • Methods of Data Collection
  • +
  • Research Design
  • +
  • Quantitative & Qualitative Data Analysis
  • +
  • Information Policy
  • +
  • Privacy Law
  • +
  • Policy & Implementation Network Analysis
  • +
+
Information Management +
    +
  • Information Integration
  • +
  • Data Management
  • +
  • Big Data
  • +
  • Web-Enabled Public Services
  • +
+
Additional Specialized Training & Technical Skills +
    +
  • Master R Developer
  • +
  • Linux Server Administration
  • +
  • Server Virtualization
  • +
  • PostgreSQL Database Programming (PL/pgSQL)
  • +
  • Oracle Database Programming (PL/SQL)
  • +
  • Microsoft SQL Server Programming (T-SQL)
  • +
  • JavaEE Multi-Tier Programming (Java, JPA, JSF, Facelets)
  • +
  • Microsoft Server Administration
  • +
  • ASP.NET Web Development (C#)
  • +
  • Python Development
  • +
  • Cisco Network Administration
  • +
  • SAS & SAS JMP
  • +
  • SPSS
  • +
  • Group Facilitation, Focus Groups, & Nominal Groups
  • +
  • Advanced Cold Fusion: Fusebox
  • +
  • Advanced Graphics with Photoshop and GIMP
  • +
+
+
+

HONORS, AWARDS, RECOGNITION

+

COVITS 2013 Winner, Cross-Boundary Collaboration on IT Initiatives

+

(2013) Announced as the winner in the category of Cross-Boundary Collaboration on IT Initiatives, along with agency partners from the Virginia Department of Transportation, the Virginia State Council of Higher Education, and the Virginia Employment Commission, in the Governor's Technology Awards for the multi-agency data integration project, the Virginia Longitudinal Data System (VLDS). The Technology Awards are presented in conjunction with Government Technology's annual Commonwealth of Virginia’s Innovative Technology Symposium (COVITS 2012). The VLDS provides qualified researchers, agencies and policymakers the ability to formulate and submit cross-agency requests for de-identified data sets.

+

COVITS 2012 Finalist

+

(2012) Announced as a Finalist, along with agency partners from the Virginia Department of Transportation, the Virginia State Council of Higher Education, and the Virginia Employment Commission, in the Governor's Technology Awards for the multi-agency data integration project, the Virginia Longitudinal Data System (VLDS). The Technology Awards are presented in conjunction with Government Technology's annual Commonwealth of Virginia’s Innovative Technology Symposium (COVITS 2012). The VLDS provides qualified researchers, agencies and policymakers the ability to formulate and submit cross-agency requests for de-identified data sets.

+

Virginia Early Childhood Advisory Council

+

(2010) Invited to present to the Virginia Governor's Early Childhood Advisory Council (ECAC) on the status of and approach being employed in Project Child HANDS. The ECAC is chaired by the Secretary of Education, co-chaired by the President of the Virginia Early Childhood Foundation, and is comprised of the Secretary of Commerce, the Secretary of Health and Human Services, the Secretary of Finance, the Governor’s Director of Policy, and many other high-ranking state officials.

+

National Institute of Statistical Sciences Workshop

+

(2009) Invited to present on methods of public-sector data integration and issues created by federal and state privacy laws to a workshop on Research Use of State Longitudinal Data Systems sponsored by the National Institute of Statistical Sciences (NISS) , the National Center for Education Statistics (NCES), and the Institute of Education Sciences (IES).

+

National Press Club

+

(2008) Invited to present the findings from a recent study analyzing the relative costs associated with intergeneration day care facilities vs. traditional operations.

+

Intelligent Transportation Systems Conference

+

(2003) Invited speaker to the Florida Department of Transportation Intelligent Transportation Systems Conference. Lectured on potential benefits of an 802.11 wireless communications backbone to operate the nation’s freeway assets

+

Technology and Public Administration Conference

+

(2000) Invited by University of LaVerne to lead two day workshop on the concepts of stakeholder analysis and management, public-private partnerships, and political-economic analysis for the purpose of Information Technology development and implementation in the public sector.

+

Virginia Transportation Conference

+

(1999 & 2000) Invited to speak on topics of public-private partnerships and information technology deployment in rural areas.

+

Advanced Traveler Information Systems

+

(2000) Invited speaker on Advanced Traveler Information Systems in Rural Areas, sponsored by the Intelligent Transportation Society of Virginia.

+

Association of State Governments

+

(1999) Nominated by the Association of State Governments for Award in Innovation in State Government for the design, development and deployment of Travel Shenandoah, a public-private partnership for Advanced Traveler Information Systems in Virginia’s Shenandoah Valley.

+

Member, Congressional Commission

+

(1999) Appointed as a Member, Congressional Commission on I-81 Truck Safety.

+

Eno Transportation Fellow

+

(1997) Eno Transportation Fellow and graduate of Eno Transportation Foundation Leadership Development Program.

+

Guest Editor

+

(1997) Invited Guest Editor, Administration & Society.

+
+ +
+ +
diff --git a/js/CollapsibleLists.compressed.js b/js/CollapsibleLists.compressed.js new file mode 100644 index 0000000000000..7bad75800d891 --- /dev/null +++ b/js/CollapsibleLists.compressed.js @@ -0,0 +1,83 @@ +/* + +CollapsibleLists.js + +An object allowing lists to dynamically expand and collapse + +Created by Stephen Morley - http://code.stephenmorley.org/ - and released under +the terms of the CC0 1.0 Universal legal code: + +http://creativecommons.org/publicdomain/zero/1.0/legalcode + +*/ + +var CollapsibleLists=new function(){ +this.apply=function(_1){ +var _2=document.getElementsByTagName("ul"); +for(var _3=0;_3<_2.length;_3++){ +if(_2[_3].className.match(/(^| )collapsibleList( |$)/)){ +this.applyTo(_2[_3],true); +if(!_1){ +var _4=_2[_3].getElementsByTagName("ul"); +for(var _5=0;_5<_4.length;_5++){ +_4[_5].className+=" collapsibleList"; +} +} +} +} +}; +this.applyTo=function(_6,_7){ +var _8=_6.getElementsByTagName("li"); +for(var _9=0;_9<_8.length;_9++){ +if(!_7||_6==_8[_9].parentNode){ +if(_8[_9].addEventListener){ +_8[_9].addEventListener("mousedown",function(e){ +e.preventDefault(); +},false); +}else{ +_8[_9].attachEvent("onselectstart",function(){ +event.returnValue=false; +}); +} +if(_8[_9].addEventListener){ +_8[_9].addEventListener("click",_a(_8[_9]),false); +}else{ +_8[_9].attachEvent("onclick",_a(_8[_9])); +} +_b(_8[_9]); +} +} +}; +function _a(_c){ +return function(e){ +if(!e){ +e=window.event; +} +var _d=(e.target?e.target:e.srcElement); +while(_d.nodeName!="LI"){ +_d=_d.parentNode; +} +if(_d==_c){ +_b(_c); +} +}; +}; +function _b(_e){ +var _f=_e.className.match(/(^| )collapsibleListClosed( |$)/); +var uls=_e.getElementsByTagName("ul"); +for(var _10=0;_100){ +_e.className+=" collapsibleList"+(_f?"Open":"Closed"); +} +}; +}(); + diff --git a/js/bootstrap.min.js b/js/bootstrap.min.js new file mode 100644 index 0000000000000..7c1561a8b96d7 --- /dev/null +++ b/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('